From 5e38e64ffd99aecde3e5fd49e4ca89f6c6160377 Mon Sep 17 00:00:00 2001 From: Evan Kranzler Date: Tue, 19 Jun 2018 16:32:53 -0400 Subject: [PATCH] Implemented Surge Mare --- Mage.Sets/src/mage/cards/s/SurgeMare.java | 73 +++++++++++++++++++++++ Mage.Sets/src/mage/sets/CoreSet2019.java | 1 + 2 files changed, 74 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/s/SurgeMare.java diff --git a/Mage.Sets/src/mage/cards/s/SurgeMare.java b/Mage.Sets/src/mage/cards/s/SurgeMare.java new file mode 100644 index 00000000000..e8930320847 --- /dev/null +++ b/Mage.Sets/src/mage/cards/s/SurgeMare.java @@ -0,0 +1,73 @@ +package mage.cards.s; + +import java.util.UUID; +import mage.MageInt; +import mage.ObjectColor; +import mage.abilities.common.DealsDamageToOpponentTriggeredAbility; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.effects.common.DrawDiscardControllerEffect; +import mage.abilities.effects.common.combat.CantBeBlockedByCreaturesSourceEffect; +import mage.abilities.effects.common.continuous.BoostSourceEffect; +import mage.constants.SubType; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.Zone; +import mage.filter.common.FilterCreaturePermanent; +import mage.filter.predicate.mageobject.ColorPredicate; + +/** + * + * @author TheElk801 + */ +public final class SurgeMare extends CardImpl { + + private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("green creatures"); + + static { + filter.add(new ColorPredicate(ObjectColor.GREEN)); + } + + public SurgeMare(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{U}{U}"); + + this.subtype.add(SubType.HORSE); + this.subtype.add(SubType.FISH); + this.power = new MageInt(0); + this.toughness = new MageInt(5); + + // Surge Mare can't be blocked by green creatures. + this.addAbility(new SimpleStaticAbility( + Zone.BATTLEFIELD, + new CantBeBlockedByCreaturesSourceEffect( + filter, Duration.WhileOnBattlefield + ) + )); + + // Whenever Surge Mare deals damage to an opponent, you may draw a card. If you do, discard a card. + this.addAbility(new DealsDamageToOpponentTriggeredAbility( + new DrawDiscardControllerEffect(1, 1) + .setText("you may draw a card. If you do, discard a card"), + true + )); + + // {1}{U}: Surge Mare gets +2/-2 until end of turn. + this.addAbility(new SimpleActivatedAbility( + Zone.BATTLEFIELD, + new BoostSourceEffect(2, -2, Duration.EndOfTurn), + new ManaCostsImpl("{1}{U}") + )); + } + + public SurgeMare(final SurgeMare card) { + super(card); + } + + @Override + public SurgeMare copy() { + return new SurgeMare(this); + } +} diff --git a/Mage.Sets/src/mage/sets/CoreSet2019.java b/Mage.Sets/src/mage/sets/CoreSet2019.java index 3d453f270c8..45d37463a7e 100644 --- a/Mage.Sets/src/mage/sets/CoreSet2019.java +++ b/Mage.Sets/src/mage/sets/CoreSet2019.java @@ -173,6 +173,7 @@ public final class CoreSet2019 extends ExpansionSet { cards.add(new SetCardInfo("Strangling Spores", 122, Rarity.COMMON, mage.cards.s.StranglingSpores.class)); cards.add(new SetCardInfo("Sun Sentinel", 307, Rarity.COMMON, mage.cards.s.SunSentinel.class)); cards.add(new SetCardInfo("Sure Strike", 161, Rarity.COMMON, mage.cards.s.SureStrike.class)); + cards.add(new SetCardInfo("Surge Mare", 77, Rarity.UNCOMMON, mage.cards.s.SurgeMare.class)); cards.add(new SetCardInfo("Take Vengeance", 40, Rarity.COMMON, mage.cards.t.TakeVengeance.class)); cards.add(new SetCardInfo("Tattered Mummy", 295, Rarity.COMMON, mage.cards.t.TatteredMummy.class)); cards.add(new SetCardInfo("Tezzeret's Strider", 290, Rarity.UNCOMMON, mage.cards.t.TezzeretsStrider.class));