From d620c94f44cf5df6b345fef1192c7364513798b6 Mon Sep 17 00:00:00 2001 From: Daniel Bomar Date: Thu, 4 Nov 2021 11:24:39 -0500 Subject: [PATCH] [VOW] Implemented Courier Bat --- Mage.Sets/src/mage/cards/c/CourierBat.java | 54 +++++++++++++++++++ .../src/mage/sets/InnistradCrimsonVow.java | 1 + 2 files changed, 55 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/c/CourierBat.java diff --git a/Mage.Sets/src/mage/cards/c/CourierBat.java b/Mage.Sets/src/mage/cards/c/CourierBat.java new file mode 100644 index 00000000000..d74d2ddaddb --- /dev/null +++ b/Mage.Sets/src/mage/cards/c/CourierBat.java @@ -0,0 +1,54 @@ +package mage.cards.c; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.condition.common.YouGainedLifeCondition; +import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility; +import mage.abilities.effects.common.ReturnFromGraveyardToHandTargetEffect; +import mage.constants.ComparisonType; +import mage.constants.SubType; +import mage.abilities.keyword.FlyingAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.filter.StaticFilters; +import mage.target.common.TargetCardInYourGraveyard; +import mage.watchers.common.PlayerGainedLifeWatcher; + +/** + * + * @author weirddan455 + */ +public final class CourierBat extends CardImpl { + + public CourierBat(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{B}"); + + this.subtype.add(SubType.BAT); + this.power = new MageInt(2); + this.toughness = new MageInt(2); + + // Flying + this.addAbility(FlyingAbility.getInstance()); + + // When Courier Bat enters the battlefield, if you gained life this turn, return up to one target creature card from your graveyard to your hand. + Ability ability = new ConditionalInterveningIfTriggeredAbility( + new EntersBattlefieldTriggeredAbility(new ReturnFromGraveyardToHandTargetEffect()), + new YouGainedLifeCondition(ComparisonType.MORE_THAN, 0), + "When {this} enters the battlefield, if you gained life this turn, return up to one target creature card from your graveyard to your hand." + ); + ability.addTarget(new TargetCardInYourGraveyard(0, 1, StaticFilters.FILTER_CARD_CREATURE_YOUR_GRAVEYARD)); + this.addAbility(ability, new PlayerGainedLifeWatcher()); + } + + private CourierBat(final CourierBat card) { + super(card); + } + + @Override + public CourierBat copy() { + return new CourierBat(this); + } +} diff --git a/Mage.Sets/src/mage/sets/InnistradCrimsonVow.java b/Mage.Sets/src/mage/sets/InnistradCrimsonVow.java index 9c158ef7cba..bdfd4d40c63 100644 --- a/Mage.Sets/src/mage/sets/InnistradCrimsonVow.java +++ b/Mage.Sets/src/mage/sets/InnistradCrimsonVow.java @@ -57,6 +57,7 @@ public final class InnistradCrimsonVow extends ExpansionSet { cards.add(new SetCardInfo("Cloaked Cadet", 192, Rarity.UNCOMMON, mage.cards.c.CloakedCadet.class)); cards.add(new SetCardInfo("Cobbled Lancer", 52, Rarity.UNCOMMON, mage.cards.c.CobbledLancer.class)); cards.add(new SetCardInfo("Consuming Tide", 53, Rarity.RARE, mage.cards.c.ConsumingTide.class)); + cards.add(new SetCardInfo("Courier Bat", 102, Rarity.COMMON, mage.cards.c.CourierBat.class)); cards.add(new SetCardInfo("Dawnhart Disciple", 196, Rarity.COMMON, mage.cards.d.DawnhartDisciple.class)); cards.add(new SetCardInfo("Dawnhart Geist", 8, Rarity.UNCOMMON, mage.cards.d.DawnhartGeist.class)); cards.add(new SetCardInfo("Daybreak Combatants", 153, Rarity.COMMON, mage.cards.d.DaybreakCombatants.class));