diff --git a/release/Magarena/scripts/Skizzik.groovy b/release/Magarena/scripts/Skizzik.groovy index a4d1dda72e..ea366cbe27 100644 --- a/release/Magarena/scripts/Skizzik.groovy +++ b/release/Magarena/scripts/Skizzik.groovy @@ -3,7 +3,7 @@ @Override public MagicEvent executeTrigger(final MagicGame game, final MagicPermanent permanent, final MagicPayedCost payedCost) { if (payedCost.isKicked() == false) { - game.doAction(new MagicAddTriggerAction(permanent, MagicSacrificeAtEnd.create())); + game.doAction(new MagicAddTriggerAction(permanent, MagicAtEndOfTurnTrigger.SacrificeAtEnd)); } return MagicEvent.NONE; } diff --git a/src/magic/model/MagicAbility.java b/src/magic/model/MagicAbility.java index 8f5c635905..b36ddbf151 100644 --- a/src/magic/model/MagicAbility.java +++ b/src/magic/model/MagicAbility.java @@ -64,7 +64,6 @@ import magic.model.trigger.MagicThiefTrigger.Choice; import magic.model.trigger.MagicThiefTrigger.Player; import magic.model.trigger.MagicWhenBlocksPumpTrigger; import magic.model.trigger.MagicWhenComesIntoPlayTrigger; -import magic.model.trigger.MagicSacrificeAtEnd; import magic.model.trigger.MagicWhenDiesTrigger; import magic.model.trigger.MagicAtEndOfTurnTrigger; import magic.model.trigger.MagicAtUpkeepTrigger; @@ -372,7 +371,7 @@ public enum MagicAbility { SacAtEnd("sac at end",-100) { public void addAbilityImpl(final MagicCardDefinition card, final String arg) { assert arg.isEmpty() : this + " does not accept arg = " + arg; - card.add(MagicSacrificeAtEnd.create()); + card.add(MagicAtEndOfTurnTrigger.SacrificeAtEnd); } }, ChargeAtUpkeep("charge at upkeep",10) { diff --git a/src/magic/model/trigger/MagicAtEndOfTurnTrigger.java b/src/magic/model/trigger/MagicAtEndOfTurnTrigger.java index a5c44b7792..a0082c985c 100644 --- a/src/magic/model/trigger/MagicAtEndOfTurnTrigger.java +++ b/src/magic/model/trigger/MagicAtEndOfTurnTrigger.java @@ -5,6 +5,7 @@ import magic.model.MagicLocationType; import magic.model.MagicPermanent; import magic.model.MagicPlayer; import magic.model.action.MagicRemoveFromPlayAction; +import magic.model.action.MagicSacrificeAction; import magic.model.event.MagicEvent; public abstract class MagicAtEndOfTurnTrigger extends MagicTrigger { @@ -20,18 +21,12 @@ public abstract class MagicAtEndOfTurnTrigger extends MagicTrigger public static final MagicAtEndOfTurnTrigger ReturnAtEnd = new MagicAtEndOfTurnTrigger() { @Override - public MagicEvent executeTrigger( - final MagicGame game, - final MagicPermanent permanent, - final MagicPlayer eotPlayer) { - final MagicPlayer player = permanent.getController(); - return (player == eotPlayer) ? - new MagicEvent( - permanent, - player, - this, - "Return SN to its owner's hand."): - MagicEvent.NONE; + public MagicEvent executeTrigger(final MagicGame game, final MagicPermanent permanent, final MagicPlayer eotPlayer) { + return new MagicEvent( + permanent, + this, + "Return SN to its owner's hand." + ); } @Override public void executeEvent(final MagicGame game, final MagicEvent event) { @@ -41,4 +36,19 @@ public abstract class MagicAtEndOfTurnTrigger extends MagicTrigger )); } }; + + public static final MagicAtEndOfTurnTrigger SacrificeAtEnd = new MagicAtEndOfTurnTrigger() { + @Override + public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent,final MagicPlayer eotPlayer) { + return new MagicEvent( + permanent, + this, + "Sacrifice SN." + ); + } + @Override + public void executeEvent(final MagicGame game, final MagicEvent event) { + game.doAction(new MagicSacrificeAction(event.getPermanent())); + } + }; } diff --git a/src/magic/model/trigger/MagicSacrificeAtEnd.java b/src/magic/model/trigger/MagicSacrificeAtEnd.java deleted file mode 100644 index 7dec0fa894..0000000000 --- a/src/magic/model/trigger/MagicSacrificeAtEnd.java +++ /dev/null @@ -1,34 +0,0 @@ -package magic.model.trigger; - -import magic.model.MagicGame; -import magic.model.MagicPermanent; -import magic.model.MagicPlayer; -import magic.model.action.MagicSacrificeAction; -import magic.model.event.MagicEvent; - -public class MagicSacrificeAtEnd extends MagicAtEndOfTurnTrigger { - - private static final MagicSacrificeAtEnd INSTANCE = new MagicSacrificeAtEnd(); - - private MagicSacrificeAtEnd() {} - - public static MagicSacrificeAtEnd create() { - return INSTANCE; - } - - @Override - public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent,final MagicPlayer eotPlayer) { - final MagicPlayer player = permanent.getController(); - return (player == eotPlayer) ? - new MagicEvent( - permanent, - player, - this, - "Sacrifice SN."): - MagicEvent.NONE; - } - @Override - public void executeEvent(final MagicGame game, final MagicEvent event) { - game.doAction(new MagicSacrificeAction(event.getPermanent())); - } -}