mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-18 03:38:01 +00:00
- Sound System: added a new sound event (exile a card), uses the sound file res/sound/exile.wav.
This commit is contained in:
1
.gitattributes
vendored
1
.gitattributes
vendored
@@ -14450,6 +14450,7 @@ src/main/java/forge/game/event/GameEventCardDamaged.java -text
|
|||||||
src/main/java/forge/game/event/GameEventCardDestroyed.java -text
|
src/main/java/forge/game/event/GameEventCardDestroyed.java -text
|
||||||
src/main/java/forge/game/event/GameEventCardDiscarded.java -text
|
src/main/java/forge/game/event/GameEventCardDiscarded.java -text
|
||||||
src/main/java/forge/game/event/GameEventCardEquipped.java -text
|
src/main/java/forge/game/event/GameEventCardEquipped.java -text
|
||||||
|
src/main/java/forge/game/event/GameEventCardExiled.java -text
|
||||||
src/main/java/forge/game/event/GameEventCardRegenerated.java -text
|
src/main/java/forge/game/event/GameEventCardRegenerated.java -text
|
||||||
src/main/java/forge/game/event/GameEventCardSacrificed.java -text
|
src/main/java/forge/game/event/GameEventCardSacrificed.java -text
|
||||||
src/main/java/forge/game/event/GameEventCardTapped.java -text
|
src/main/java/forge/game/event/GameEventCardTapped.java -text
|
||||||
|
|||||||
@@ -59,6 +59,7 @@ import forge.card.trigger.TriggerType;
|
|||||||
import forge.card.trigger.ZCTrigger;
|
import forge.card.trigger.ZCTrigger;
|
||||||
import forge.game.ai.ComputerUtil;
|
import forge.game.ai.ComputerUtil;
|
||||||
import forge.game.event.GameEventCardDestroyed;
|
import forge.game.event.GameEventCardDestroyed;
|
||||||
|
import forge.game.event.GameEventCardExiled;
|
||||||
import forge.game.event.GameEventCardRegenerated;
|
import forge.game.event.GameEventCardRegenerated;
|
||||||
import forge.game.event.GameEventCardSacrificed;
|
import forge.game.event.GameEventCardSacrificed;
|
||||||
import forge.game.event.GameEventGameFinished;
|
import forge.game.event.GameEventGameFinished;
|
||||||
@@ -693,6 +694,9 @@ public class GameAction {
|
|||||||
}
|
}
|
||||||
final PlayerZone removed = c.getOwner().getZone(ZoneType.Exile);
|
final PlayerZone removed = c.getOwner().getZone(ZoneType.Exile);
|
||||||
|
|
||||||
|
// play the Exile sound
|
||||||
|
game.fireEvent(new GameEventCardExiled());
|
||||||
|
|
||||||
return moveTo(removed, c);
|
return moveTo(removed, c);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
10
src/main/java/forge/game/event/GameEventCardExiled.java
Normal file
10
src/main/java/forge/game/event/GameEventCardExiled.java
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
package forge.game.event;
|
||||||
|
|
||||||
|
public class GameEventCardExiled extends GameEvent {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public <T> T visit(IGameEventVisitor<T> visitor) {
|
||||||
|
return visitor.visit(this);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@@ -12,6 +12,7 @@ public interface IGameEventVisitor<T> {
|
|||||||
T visit(GameEventCardDestroyed event);
|
T visit(GameEventCardDestroyed event);
|
||||||
T visit(GameEventCardDiscarded event);
|
T visit(GameEventCardDiscarded event);
|
||||||
T visit(GameEventCardEquipped event);
|
T visit(GameEventCardEquipped event);
|
||||||
|
T visit(GameEventCardExiled event);
|
||||||
T visit(GameEventCardRegenerated event);
|
T visit(GameEventCardRegenerated event);
|
||||||
T visit(GameEventCardSacrificed event);
|
T visit(GameEventCardSacrificed event);
|
||||||
T visit(GameEventAnteCardsSelected event);
|
T visit(GameEventAnteCardsSelected event);
|
||||||
@@ -51,6 +52,7 @@ public interface IGameEventVisitor<T> {
|
|||||||
public T visit(GameEventCardDestroyed event) { return null; }
|
public T visit(GameEventCardDestroyed event) { return null; }
|
||||||
public T visit(GameEventCardDiscarded event) { return null; }
|
public T visit(GameEventCardDiscarded event) { return null; }
|
||||||
public T visit(GameEventCardEquipped event) { return null; }
|
public T visit(GameEventCardEquipped event) { return null; }
|
||||||
|
public T visit(GameEventCardExiled event) { return null; }
|
||||||
public T visit(GameEventCardRegenerated event) { return null; }
|
public T visit(GameEventCardRegenerated event) { return null; }
|
||||||
public T visit(GameEventCardSacrificed event) { return null; }
|
public T visit(GameEventCardSacrificed event) { return null; }
|
||||||
public T visit(GameEventAnteCardsSelected event) { return null; }
|
public T visit(GameEventAnteCardsSelected event) { return null; }
|
||||||
|
|||||||
@@ -16,6 +16,7 @@ import forge.game.event.GameEventDrawCard;
|
|||||||
import forge.game.event.GameEventGameOutcome;
|
import forge.game.event.GameEventGameOutcome;
|
||||||
import forge.game.event.GameEventTurnEnded;
|
import forge.game.event.GameEventTurnEnded;
|
||||||
import forge.game.event.GameEvent;
|
import forge.game.event.GameEvent;
|
||||||
|
import forge.game.event.GameEventCardExiled;
|
||||||
import forge.game.event.GameEventFlipCoin;
|
import forge.game.event.GameEventFlipCoin;
|
||||||
import forge.game.event.GameEventLandPlayed;
|
import forge.game.event.GameEventLandPlayed;
|
||||||
import forge.game.event.GameEventLifeLoss;
|
import forge.game.event.GameEventLifeLoss;
|
||||||
@@ -38,6 +39,7 @@ public class EventVisualizer extends IGameEventVisitor.Base<SoundEffectType> {
|
|||||||
public SoundEffectType visit(GameEventCardDestroyed event) { return SoundEffectType.Destroy; }
|
public SoundEffectType visit(GameEventCardDestroyed event) { return SoundEffectType.Destroy; }
|
||||||
public SoundEffectType visit(GameEventCardDiscarded event) { return SoundEffectType.Discard; }
|
public SoundEffectType visit(GameEventCardDiscarded event) { return SoundEffectType.Discard; }
|
||||||
public SoundEffectType visit(GameEventCardEquipped event) { return SoundEffectType.Equip; }
|
public SoundEffectType visit(GameEventCardEquipped event) { return SoundEffectType.Equip; }
|
||||||
|
public SoundEffectType visit(GameEventCardExiled event) { return SoundEffectType.Exile; }
|
||||||
public SoundEffectType visit(GameEventCardRegenerated event) { return SoundEffectType.Regen; }
|
public SoundEffectType visit(GameEventCardRegenerated event) { return SoundEffectType.Regen; }
|
||||||
public SoundEffectType visit(GameEventCardSacrificed event) { return SoundEffectType.Sacrifice; }
|
public SoundEffectType visit(GameEventCardSacrificed event) { return SoundEffectType.Sacrifice; }
|
||||||
public SoundEffectType visit(GameEventCounterAdded event) { return event.Amount > 0 ? SoundEffectType.AddCounter : null; }
|
public SoundEffectType visit(GameEventCounterAdded event) { return event.Amount > 0 ? SoundEffectType.AddCounter : null; }
|
||||||
|
|||||||
@@ -50,6 +50,7 @@ public enum SoundEffectType {
|
|||||||
Enchantment("enchant.wav", false),
|
Enchantment("enchant.wav", false),
|
||||||
EndOfTurn("end_of_turn.wav", false),
|
EndOfTurn("end_of_turn.wav", false),
|
||||||
Equip("equip.wav", false),
|
Equip("equip.wav", false),
|
||||||
|
Exile("exile.wav", false),
|
||||||
FlipCoin("flip_coin.wav", false),
|
FlipCoin("flip_coin.wav", false),
|
||||||
GreenLand("green_land.wav", false),
|
GreenLand("green_land.wav", false),
|
||||||
Instant("instant.wav", false),
|
Instant("instant.wav", false),
|
||||||
|
|||||||
Reference in New Issue
Block a user