diff --git a/Mage.Sets/src/mage/cards/r/RejectImperfection.java b/Mage.Sets/src/mage/cards/r/RejectImperfection.java new file mode 100644 index 00000000000..eda31513983 --- /dev/null +++ b/Mage.Sets/src/mage/cards/r/RejectImperfection.java @@ -0,0 +1,66 @@ +package mage.cards.r; + +import mage.MageObject; +import mage.abilities.Ability; +import mage.abilities.effects.OneShotEffect; +import mage.abilities.effects.common.CounterTargetEffect; +import mage.abilities.effects.common.counter.ProliferateEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Outcome; +import mage.game.Game; +import mage.target.TargetSpell; + +import java.util.UUID; + +public class RejectImperfection extends CardImpl { + public RejectImperfection(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{1}{U}{U}"); + + //Counter target spell. If that spell’s mana value was 3 or less, proliferate. + this.getSpellAbility().addEffect(new RejectImperfectionEffect()); + this.getSpellAbility().addTarget(new TargetSpell()); + } + + private RejectImperfection(final RejectImperfection card) { + super(card); + } + + @Override + public RejectImperfection copy() { + return new RejectImperfection(this); + } +} + +class RejectImperfectionEffect extends OneShotEffect { + + public RejectImperfectionEffect() { + super(Outcome.Benefit); + this.staticText = "Counter target spell. If that spell's mana value was 3 or less, proliferate. " + + "(Choose any number of permanents and/or players, then give each another counter of each kind already there.)"; + } + + private RejectImperfectionEffect(final RejectImperfectionEffect effect) { + super(effect); + } + + @Override + public RejectImperfectionEffect copy() { + return new RejectImperfectionEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + MageObject object = game.getObject(source.getFirstTarget()); + if (object == null) { + return false; + } + new CounterTargetEffect().apply(game, source); + int manaValue = object.getManaValue(); + if (manaValue <= 3) { + new ProliferateEffect().apply(game, source); + } + return true; + } +} diff --git a/Mage.Sets/src/mage/sets/PhyrexiaAllWillBeOne.java b/Mage.Sets/src/mage/sets/PhyrexiaAllWillBeOne.java index 6fb0c7a62c1..34874f82fb1 100644 --- a/Mage.Sets/src/mage/sets/PhyrexiaAllWillBeOne.java +++ b/Mage.Sets/src/mage/sets/PhyrexiaAllWillBeOne.java @@ -180,6 +180,7 @@ public final class PhyrexiaAllWillBeOne extends ExpansionSet { cards.add(new SetCardInfo("Ravenous Necrotitan", 106, Rarity.UNCOMMON, mage.cards.r.RavenousNecrotitan.class)); cards.add(new SetCardInfo("Razorverge Thicket", 257, Rarity.RARE, mage.cards.r.RazorvergeThicket.class)); cards.add(new SetCardInfo("Rebel Salvo", 144, Rarity.UNCOMMON, mage.cards.r.RebelSalvo.class)); + cards.add(new SetCardInfo("Reject Imperfection", 67, Rarity.UNCOMMON, mage.cards.r.RejectImperfection.class)); cards.add(new SetCardInfo("Resistance Reunited", 31, Rarity.UNCOMMON, mage.cards.r.ResistanceReunited.class)); cards.add(new SetCardInfo("Resistance Skywarden", 146, Rarity.UNCOMMON, mage.cards.r.ResistanceSkywarden.class)); cards.add(new SetCardInfo("Ribskiff", 240, Rarity.UNCOMMON, mage.cards.r.Ribskiff.class));