From 8f8a24563a7727d000257e55ead435c0807566da Mon Sep 17 00:00:00 2001 From: theelk801 Date: Fri, 16 Jan 2026 08:55:58 -0500 Subject: [PATCH] [ECL] Implement Subterfuge --- Mage.Sets/src/mage/cards/s/Subterfuge.java | 57 +++++++++++++++++++ .../mage/sets/LorwynEclipsedCommander.java | 2 + 2 files changed, 59 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/s/Subterfuge.java diff --git a/Mage.Sets/src/mage/cards/s/Subterfuge.java b/Mage.Sets/src/mage/cards/s/Subterfuge.java new file mode 100644 index 00000000000..baee897d808 --- /dev/null +++ b/Mage.Sets/src/mage/cards/s/Subterfuge.java @@ -0,0 +1,57 @@ +package mage.cards.s; + +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.DealsCombatDamageToAPlayerTriggeredAbility; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.dynamicvalue.common.SavedDamageValue; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; +import mage.abilities.effects.common.continuous.GainAbilityTargetEffect; +import mage.abilities.keyword.EncoreAbility; +import mage.abilities.keyword.FlyingAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.target.common.TargetCreaturePermanent; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class Subterfuge extends CardImpl { + + public Subterfuge(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{U}"); + + this.subtype.add(SubType.ELEMENTAL); + this.subtype.add(SubType.INCARNATION); + this.power = new MageInt(3); + this.toughness = new MageInt(5); + + // When this creature enters, target creature gains flying and "Whenever this creature deals combat damage to a player, draw that many cards" until end of turn. + Ability ability = new EntersBattlefieldTriggeredAbility( + new GainAbilityTargetEffect(FlyingAbility.getInstance()) + .setText("target creature gains flying") + ); + ability.addEffect(new GainAbilityTargetEffect( + new DealsCombatDamageToAPlayerTriggeredAbility(new DrawCardSourceControllerEffect(SavedDamageValue.MANY)) + ).setText("and \"Whenever this creature deals combat damage to a player, draw that many cards\" until end of turn.")); + ability.addTarget(new TargetCreaturePermanent()); + this.addAbility(ability); + + // Encore {7}{U}{U} + this.addAbility(new EncoreAbility(new ManaCostsImpl<>("{7}{U}{U}"))); + } + + private Subterfuge(final Subterfuge card) { + super(card); + } + + @Override + public Subterfuge copy() { + return new Subterfuge(this); + } +} diff --git a/Mage.Sets/src/mage/sets/LorwynEclipsedCommander.java b/Mage.Sets/src/mage/sets/LorwynEclipsedCommander.java index 9634de358f3..aa8ab4adf0e 100644 --- a/Mage.Sets/src/mage/sets/LorwynEclipsedCommander.java +++ b/Mage.Sets/src/mage/sets/LorwynEclipsedCommander.java @@ -161,6 +161,8 @@ public final class LorwynEclipsedCommander extends ExpansionSet { cards.add(new SetCardInfo("Soul Snuffers", 87, Rarity.UNCOMMON, mage.cards.s.SoulSnuffers.class)); cards.add(new SetCardInfo("Springleaf Parade", 19, Rarity.RARE, mage.cards.s.SpringleafParade.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Springleaf Parade", 39, Rarity.RARE, mage.cards.s.SpringleafParade.class, NON_FULL_USE_VARIOUS)); + cards.add(new SetCardInfo("Subterfuge", 26, Rarity.RARE, mage.cards.s.Subterfuge.class, NON_FULL_USE_VARIOUS)); + cards.add(new SetCardInfo("Subterfuge", 6, Rarity.RARE, mage.cards.s.Subterfuge.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Terminate", 134, Rarity.COMMON, mage.cards.t.Terminate.class)); cards.add(new SetCardInfo("Terramorphic Expanse", 169, Rarity.COMMON, mage.cards.t.TerramorphicExpanse.class)); cards.add(new SetCardInfo("The Reaper, King No More", 4, Rarity.MYTHIC, mage.cards.t.TheReaperKingNoMore.class));