Add "when you become targeted" ability
parent
54fb042aae
commit
1d7bdc0cbb
|
@ -1416,6 +1416,15 @@ public enum MagicAbility {
|
|||
));
|
||||
}
|
||||
},
|
||||
WhenYouTargeted("When(ever)? you become the target of (?<wordrun>[^\\,]*), " + ARG.EFFECT, 0) {
|
||||
@Override
|
||||
protected void addAbilityImpl(final MagicAbilityStore card, final Matcher arg) {
|
||||
card.add(BecomesTargetTrigger.createYou(
|
||||
MagicTargetFilterFactory.ItemOnStack(ARG.wordrun(arg)),
|
||||
MagicRuleEventAction.create(ARG.effect(arg))
|
||||
));
|
||||
}
|
||||
},
|
||||
WhenTargeted("When(ever)? " + ARG.WORDRUN2 + " becomes the target of (?<wordrun>[^\\,]*), " + ARG.EFFECT, 0) {
|
||||
@Override
|
||||
protected void addAbilityImpl(final MagicAbilityStore card, final Matcher arg) {
|
||||
|
|
|
@ -34,6 +34,20 @@ public abstract class BecomesTargetTrigger extends MagicTrigger<MagicItemOnStack
|
|||
};
|
||||
}
|
||||
|
||||
public static BecomesTargetTrigger createYou(final MagicTargetFilter<MagicItemOnStack> ifilter, final MagicSourceEvent sourceEvent) {
|
||||
return new BecomesTargetTrigger() {
|
||||
@Override
|
||||
public boolean accept(final MagicPermanent permanent, final MagicItemOnStack itemOnStack) {
|
||||
return itemOnStack.getTarget() == permanent.getController() &&
|
||||
ifilter.accept(permanent, permanent.getController(), itemOnStack);
|
||||
}
|
||||
@Override
|
||||
public MagicEvent executeTrigger(final MagicGame game,final MagicPermanent permanent, final MagicItemOnStack itemOnStack) {
|
||||
return sourceEvent.getTriggerEvent(permanent, itemOnStack);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
public static BecomesTargetTrigger create(final MagicTargetFilter<MagicPermanent> pfilter, final MagicTargetFilter<MagicItemOnStack> ifilter, final MagicSourceEvent sourceEvent) {
|
||||
return new BecomesTargetTrigger() {
|
||||
@Override
|
||||
|
|
Loading…
Reference in New Issue