diff --git a/Mage.Sets/src/mage/cards/a/ArrestersZeal.java b/Mage.Sets/src/mage/cards/a/ArrestersZeal.java new file mode 100644 index 00000000000..9d488e442a4 --- /dev/null +++ b/Mage.Sets/src/mage/cards/a/ArrestersZeal.java @@ -0,0 +1,70 @@ +package mage.cards.a; + +import mage.abilities.Ability; +import mage.abilities.condition.common.AddendumCondition; +import mage.abilities.effects.OneShotEffect; +import mage.abilities.effects.common.continuous.BoostTargetEffect; +import mage.abilities.effects.common.continuous.GainAbilityTargetEffect; +import mage.abilities.keyword.FlyingAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.Outcome; +import mage.game.Game; +import mage.target.common.TargetCreaturePermanent; + +import java.util.UUID; + +/** + * @author JayDi85 + */ +public final class ArrestersZeal extends CardImpl { + + public ArrestersZeal(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{W}"); + + + // Target creature gets +2/+2 until end of turn. + this.getSpellAbility().addEffect(new BoostTargetEffect(2, 2, Duration.EndOfTurn)); + this.getSpellAbility().addTarget(new TargetCreaturePermanent()); + + // Addendum — If you cast this spell during your main phase, that creature gains flying until end of turn. + this.getSpellAbility().addEffect(new ArrestersZealEffect()); + } + + public ArrestersZeal(final ArrestersZeal card) { + super(card); + } + + @Override + public ArrestersZeal copy() { + return new ArrestersZeal(this); + } +} + +class ArrestersZealEffect extends OneShotEffect { + + ArrestersZealEffect() { + super(Outcome.Benefit); + staticText = "
Addendum — If you cast this spell during your main phase, that creature gains flying until end of turn."; + } + + private ArrestersZealEffect(final ArrestersZealEffect effect) { + super(effect); + } + + @Override + public ArrestersZealEffect copy() { + return new ArrestersZealEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + if (!AddendumCondition.instance.apply(game, source)) { + return false; + } + game.addEffect(new GainAbilityTargetEffect(FlyingAbility.getInstance(), Duration.EndOfTurn), source); + return true; + } +} diff --git a/Mage.Sets/src/mage/sets/RavnicaAllegiance.java b/Mage.Sets/src/mage/sets/RavnicaAllegiance.java index f0948a9dc0c..fc6ce1b9215 100644 --- a/Mage.Sets/src/mage/sets/RavnicaAllegiance.java +++ b/Mage.Sets/src/mage/sets/RavnicaAllegiance.java @@ -37,6 +37,7 @@ public final class RavnicaAllegiance extends ExpansionSet { cards.add(new SetCardInfo("Amplifire", 92, Rarity.RARE, mage.cards.a.Amplifire.class)); cards.add(new SetCardInfo("Angel of Grace", 1, Rarity.MYTHIC, mage.cards.a.AngelOfGrace.class)); cards.add(new SetCardInfo("Angelic Exaltation", 2, Rarity.UNCOMMON, mage.cards.a.AngelicExaltation.class)); + cards.add(new SetCardInfo("Arrester's Zeal", 4, Rarity.COMMON, mage.cards.a.ArrestersZeal.class)); cards.add(new SetCardInfo("Archway Angel", 3, Rarity.UNCOMMON, mage.cards.a.ArchwayAngel.class)); cards.add(new SetCardInfo("Arrester's Admonition", 31, Rarity.COMMON, mage.cards.a.ArrestersAdmonition.class)); cards.add(new SetCardInfo("Awaken the Erstwhile", 61, Rarity.RARE, mage.cards.a.AwakenTheErstwhile.class));