replace class MagicSacrificeAtEnd with a constant in MagicAtEndOfTurnTrigger
parent
792adaaf32
commit
98d50200b3
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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<MagicPlayer> {
|
||||
|
@ -20,18 +21,12 @@ public abstract class MagicAtEndOfTurnTrigger extends MagicTrigger<MagicPlayer>
|
|||
|
||||
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<MagicPlayer>
|
|||
));
|
||||
}
|
||||
};
|
||||
|
||||
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()));
|
||||
}
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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()));
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue