From cc3a3f660eff09baa56936c109fed0f79bc64fc0 Mon Sep 17 00:00:00 2001 From: Evan Kranzler Date: Wed, 17 Jun 2020 08:38:38 -0400 Subject: [PATCH] Implemented Canopy Stalker --- Mage.Sets/src/mage/cards/c/CanopyStalker.java | 47 +++++++++++++++++++ Mage.Sets/src/mage/sets/CoreSet2021.java | 1 + 2 files changed, 48 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/c/CanopyStalker.java diff --git a/Mage.Sets/src/mage/cards/c/CanopyStalker.java b/Mage.Sets/src/mage/cards/c/CanopyStalker.java new file mode 100644 index 00000000000..3383889e4b3 --- /dev/null +++ b/Mage.Sets/src/mage/cards/c/CanopyStalker.java @@ -0,0 +1,47 @@ +package mage.cards.c; + +import mage.MageInt; +import mage.abilities.common.DiesTriggeredAbility; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.dynamicvalue.common.CreaturesDiedThisTurnCount; +import mage.abilities.effects.common.GainLifeEffect; +import mage.abilities.effects.common.combat.MustBeBlockedByAtLeastOneSourceEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.watchers.common.CreaturesDiedWatcher; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class CanopyStalker extends CardImpl { + + public CanopyStalker(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{G}"); + + this.subtype.add(SubType.CAT); + this.power = new MageInt(4); + this.toughness = new MageInt(2); + + // Canopy Stalker must be blocked if able. + this.addAbility(new SimpleStaticAbility(new MustBeBlockedByAtLeastOneSourceEffect())); + + // When Canopy Stalker dies, you gain 1 life for each creature that died this turn. + this.addAbility(new DiesTriggeredAbility( + new GainLifeEffect(CreaturesDiedThisTurnCount.instance) + .setText("you gain 1 life for each creature that died this turn") + ), new CreaturesDiedWatcher()); + } + + private CanopyStalker(final CanopyStalker card) { + super(card); + } + + @Override + public CanopyStalker copy() { + return new CanopyStalker(this); + } +} diff --git a/Mage.Sets/src/mage/sets/CoreSet2021.java b/Mage.Sets/src/mage/sets/CoreSet2021.java index 2c5ba140395..1127226d4b1 100644 --- a/Mage.Sets/src/mage/sets/CoreSet2021.java +++ b/Mage.Sets/src/mage/sets/CoreSet2021.java @@ -61,6 +61,7 @@ public final class CoreSet2021 extends ExpansionSet { cards.add(new SetCardInfo("Burn Bright", 134, Rarity.COMMON, mage.cards.b.BurnBright.class)); cards.add(new SetCardInfo("Caged Zombie", 91, Rarity.COMMON, mage.cards.c.CagedZombie.class)); cards.add(new SetCardInfo("Cancel", 46, Rarity.COMMON, mage.cards.c.Cancel.class)); + cards.add(new SetCardInfo("Canopy Stalker", 175, Rarity.UNCOMMON, mage.cards.c.CanopyStalker.class)); cards.add(new SetCardInfo("Capture Sphere", 47, Rarity.COMMON, mage.cards.c.CaptureSphere.class)); cards.add(new SetCardInfo("Carrion Grub", 92, Rarity.UNCOMMON, mage.cards.c.CarrionGrub.class)); cards.add(new SetCardInfo("Celestial Enforcer", 11, Rarity.COMMON, mage.cards.c.CelestialEnforcer.class));