replace 'return at end' with more general 'end step effect <effect>' ability
parent
46bd3fb86c
commit
d013c679e9
|
@ -7,5 +7,5 @@ type=Creature
|
|||
subtype=Dragon
|
||||
cost={2}{R}{R}
|
||||
pt=4/4
|
||||
ability=flying;haste;return at end
|
||||
ability=flying;haste;end step effect Return SN to its owner's hand.
|
||||
timing=fmain
|
||||
|
|
|
@ -7,5 +7,5 @@ type=Creature
|
|||
subtype=Spirit
|
||||
cost={R}
|
||||
pt=1/1
|
||||
ability=haste;return at end
|
||||
ability=haste;end step effect Return SN to its owner's hand.
|
||||
timing=fmain
|
||||
|
|
|
@ -7,6 +7,6 @@ type=Enchantment
|
|||
subtype=Aura
|
||||
cost={R}
|
||||
given_ability=haste
|
||||
ability=return at end
|
||||
ability=end step effect Return SN to its owner's hand.
|
||||
timing=fmain
|
||||
enchant=haste,pos creature
|
||||
|
|
|
@ -7,5 +7,5 @@ type=Creature
|
|||
subtype=Viashino
|
||||
cost={2}{R}{R}
|
||||
pt=5/3
|
||||
ability=haste;return at end
|
||||
ability=haste;end step effect Return SN to its owner's hand.
|
||||
timing=fmain
|
||||
|
|
|
@ -7,5 +7,5 @@ type=Creature
|
|||
subtype=Viashino,Scout
|
||||
cost={1}{R}
|
||||
pt=2/1
|
||||
ability=haste;return at end
|
||||
ability=haste;end step effect Return SN to its owner's hand.
|
||||
timing=fmain
|
||||
|
|
|
@ -7,5 +7,5 @@ type=Creature
|
|||
subtype=Viashino,Warrior
|
||||
cost={1}{R}{R}
|
||||
pt=4/2
|
||||
ability=haste;return at end
|
||||
ability=haste;end step effect Return SN to its owner's hand.
|
||||
timing=fmain
|
||||
|
|
|
@ -637,6 +637,13 @@ public enum MagicAbility {
|
|||
));
|
||||
}
|
||||
},
|
||||
EndStepEffect("end step effect", 0) {
|
||||
protected void addAbilityImpl(final MagicAbilityStore card, final String arg) {
|
||||
card.add(MagicAtEndOfTurnTrigger.create(
|
||||
MagicRuleEventAction.create(arg)
|
||||
));
|
||||
}
|
||||
},
|
||||
EntersKickedEffect("enters kicked effect", 10) {
|
||||
protected void addAbilityImpl(final MagicAbilityStore card, final String arg) {
|
||||
card.add(MagicWhenComesIntoPlayTrigger.createKicked(
|
||||
|
@ -664,12 +671,6 @@ public enum MagicAbility {
|
|||
card.add(MagicStatic.ControlEnchanted);
|
||||
}
|
||||
},
|
||||
ReturnAtEnd("return at end", -50) {
|
||||
protected void addAbilityImpl(final MagicAbilityStore card, final String arg) {
|
||||
assert arg.isEmpty() : this + " does not accept arg = " + arg;
|
||||
card.add(MagicAtEndOfTurnTrigger.ReturnAtEnd);
|
||||
}
|
||||
},
|
||||
SwitchPT("switch pt", 10) {
|
||||
protected void addAbilityImpl(final MagicAbilityStore card, final String arg) {
|
||||
final MagicManaCost manaCost = MagicManaCost.create(arg);
|
||||
|
|
|
@ -7,6 +7,7 @@ import magic.model.MagicPlayer;
|
|||
import magic.model.action.MagicRemoveFromPlayAction;
|
||||
import magic.model.action.MagicSacrificeAction;
|
||||
import magic.model.event.MagicEvent;
|
||||
import magic.model.event.MagicSourceEvent;
|
||||
|
||||
public abstract class MagicAtEndOfTurnTrigger extends MagicTrigger<MagicPlayer> {
|
||||
public MagicAtEndOfTurnTrigger(final int priority) {
|
||||
|
@ -19,23 +20,14 @@ public abstract class MagicAtEndOfTurnTrigger extends MagicTrigger<MagicPlayer>
|
|||
return MagicTriggerType.AtEndOfTurn;
|
||||
}
|
||||
|
||||
public static final MagicAtEndOfTurnTrigger ReturnAtEnd = new MagicAtEndOfTurnTrigger() {
|
||||
public static final MagicAtEndOfTurnTrigger create(final MagicSourceEvent sourceEvent) {
|
||||
return new MagicAtEndOfTurnTrigger() {
|
||||
@Override
|
||||
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) {
|
||||
game.doAction(new MagicRemoveFromPlayAction(
|
||||
event.getPermanent(),
|
||||
MagicLocationType.OwnersHand
|
||||
));
|
||||
public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent, final MagicPlayer player) {
|
||||
return sourceEvent.getEvent(permanent);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
public static final MagicAtEndOfTurnTrigger Sacrifice = new MagicAtEndOfTurnTrigger() {
|
||||
@Override
|
||||
|
|
Loading…
Reference in New Issue