- Sound System: added a new sound event (exile a card), uses the sound file res/sound/exile.wav.

This commit is contained in:
Agetian
2013-06-16 19:44:51 +00:00
parent 8d5f633884
commit f6f80da995
6 changed files with 20 additions and 0 deletions

1
.gitattributes vendored
View File

@@ -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/GameEventCardDiscarded.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/GameEventCardSacrificed.java -text
src/main/java/forge/game/event/GameEventCardTapped.java -text

View File

@@ -59,6 +59,7 @@ import forge.card.trigger.TriggerType;
import forge.card.trigger.ZCTrigger;
import forge.game.ai.ComputerUtil;
import forge.game.event.GameEventCardDestroyed;
import forge.game.event.GameEventCardExiled;
import forge.game.event.GameEventCardRegenerated;
import forge.game.event.GameEventCardSacrificed;
import forge.game.event.GameEventGameFinished;
@@ -693,6 +694,9 @@ public class GameAction {
}
final PlayerZone removed = c.getOwner().getZone(ZoneType.Exile);
// play the Exile sound
game.fireEvent(new GameEventCardExiled());
return moveTo(removed, c);
}

View 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);
}
}

View File

@@ -12,6 +12,7 @@ public interface IGameEventVisitor<T> {
T visit(GameEventCardDestroyed event);
T visit(GameEventCardDiscarded event);
T visit(GameEventCardEquipped event);
T visit(GameEventCardExiled event);
T visit(GameEventCardRegenerated event);
T visit(GameEventCardSacrificed event);
T visit(GameEventAnteCardsSelected event);
@@ -51,6 +52,7 @@ public interface IGameEventVisitor<T> {
public T visit(GameEventCardDestroyed event) { return null; }
public T visit(GameEventCardDiscarded 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(GameEventCardSacrificed event) { return null; }
public T visit(GameEventAnteCardsSelected event) { return null; }

View File

@@ -16,6 +16,7 @@ import forge.game.event.GameEventDrawCard;
import forge.game.event.GameEventGameOutcome;
import forge.game.event.GameEventTurnEnded;
import forge.game.event.GameEvent;
import forge.game.event.GameEventCardExiled;
import forge.game.event.GameEventFlipCoin;
import forge.game.event.GameEventLandPlayed;
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(GameEventCardDiscarded event) { return SoundEffectType.Discard; }
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(GameEventCardSacrificed event) { return SoundEffectType.Sacrifice; }
public SoundEffectType visit(GameEventCounterAdded event) { return event.Amount > 0 ? SoundEffectType.AddCounter : null; }

View File

@@ -50,6 +50,7 @@ public enum SoundEffectType {
Enchantment("enchant.wav", false),
EndOfTurn("end_of_turn.wav", false),
Equip("equip.wav", false),
Exile("exile.wav", false),
FlipCoin("flip_coin.wav", false),
GreenLand("green_land.wav", false),
Instant("instant.wav", false),