* Gideon's Phalanx, Kytheon's Tactics and Send to Sleep - Fixed that the spell mastery condition is only checked once during resolution of the spell.

This commit is contained in:
LevelX2 2015-07-11 08:11:07 +02:00
parent 975afbd62b
commit 6877148c2f
3 changed files with 13 additions and 8 deletions

View file

@ -31,8 +31,9 @@ import java.util.UUID;
import mage.MageInt;
import mage.ObjectColor;
import mage.abilities.condition.common.SpellMasteryCondition;
import mage.abilities.decorator.ConditionalContinuousEffect;
import mage.abilities.decorator.ConditionalOneShotEffect;
import mage.abilities.effects.Effect;
import mage.abilities.effects.common.AddContinuousEffectToGame;
import mage.abilities.effects.common.CreateTokenEffect;
import mage.abilities.effects.common.continuous.GainAbilityAllEffect;
import mage.abilities.keyword.IndestructibleAbility;
@ -58,8 +59,8 @@ public class GideonsPhalanx extends CardImpl {
this.getSpellAbility().addEffect(new CreateTokenEffect(new GideonsPhalanxKnightToken(), 4));
// <i>Spell mastery</i> - If there are two or more instant and/or sorcery cards in your graveyard, creatures you control gain indestructible until end of turn.
Effect effect = new ConditionalContinuousEffect(
new GainAbilityAllEffect(IndestructibleAbility.getInstance(), Duration.EndOfTurn, new FilterControlledCreaturePermanent()),
Effect effect = new ConditionalOneShotEffect(
new AddContinuousEffectToGame(new GainAbilityAllEffect(IndestructibleAbility.getInstance(), Duration.EndOfTurn, new FilterControlledCreaturePermanent())),
SpellMasteryCondition.getInstance(),
"<br><i>Spell mastery</i> - If there are two or more instant and/or sorcery cards in your graveyard, creatures you control gain indestructible until end of turn");
this.getSpellAbility().addEffect(effect);

View file

@ -29,7 +29,8 @@ package mage.sets.magicorigins;
import java.util.UUID;
import mage.abilities.condition.common.SpellMasteryCondition;
import mage.abilities.decorator.ConditionalContinuousEffect;
import mage.abilities.decorator.ConditionalOneShotEffect;
import mage.abilities.effects.common.AddContinuousEffectToGame;
import mage.abilities.effects.common.continuous.BoostControlledEffect;
import mage.abilities.effects.common.continuous.GainAbilityControlledEffect;
import mage.abilities.keyword.VigilanceAbility;
@ -51,7 +52,8 @@ public class KytheonsTactics extends CardImpl {
// Creatures you control get +2/+1 until end of turn.
this.getSpellAbility().addEffect(new BoostControlledEffect(2, 1, Duration.EndOfTurn));
// <i>Spell mastery</i> &mdash; If there are two or more instant and/or sorcery cards in your graveyard, those creatures also gain vigilance until end of turn.
this.getSpellAbility().addEffect(new ConditionalContinuousEffect(new GainAbilityControlledEffect(VigilanceAbility.getInstance(), Duration.EndOfTurn),
this.getSpellAbility().addEffect(new ConditionalOneShotEffect(
new AddContinuousEffectToGame(new GainAbilityControlledEffect(VigilanceAbility.getInstance(), Duration.EndOfTurn)),
SpellMasteryCondition.getInstance(),
"<br><i>Spell mastery</i> &mdash; If there are two or more instant and/or sorcery cards in your graveyard, those creatures also gain vigilance until end of turn"));
}

View file

@ -29,8 +29,9 @@ package mage.sets.magicorigins;
import java.util.UUID;
import mage.abilities.condition.common.SpellMasteryCondition;
import mage.abilities.decorator.ConditionalContinuousRuleModifyingEffect;
import mage.abilities.decorator.ConditionalOneShotEffect;
import mage.abilities.effects.Effect;
import mage.abilities.effects.common.AddContinuousEffectToGame;
import mage.abilities.effects.common.DontUntapInControllersNextUntapStepTargetEffect;
import mage.abilities.effects.common.TapTargetEffect;
import mage.cards.CardImpl;
@ -53,7 +54,8 @@ public class SendToSleep extends CardImpl {
this.getSpellAbility().addTarget(new TargetCreaturePermanent(0, 2));
// <i>Spell mastery</i> If there are two or more instant and/or sorcery cards in your graveyard, those creatures don't untap during their controllers' next untap steps.
Effect effect = new ConditionalContinuousRuleModifyingEffect(new DontUntapInControllersNextUntapStepTargetEffect(),
Effect effect = new ConditionalOneShotEffect(
new AddContinuousEffectToGame(new DontUntapInControllersNextUntapStepTargetEffect()),
SpellMasteryCondition.getInstance());
effect.setText("<br><i>Spell mastery</i> — If there are two or more instant and/or sorcery cards in your graveyard, those creatures don't untap during their controllers' next untap steps");
this.getSpellAbility().addEffect(effect);