From fbbe87429c6908d9e32d87e2440a3e24d88753e5 Mon Sep 17 00:00:00 2001 From: theelk801 Date: Fri, 9 Jun 2023 18:48:07 -0400 Subject: [PATCH] [LTR] Implement Escape from Orthanc --- .../src/mage/cards/e/EscapeFromOrthanc.java | 41 +++++++++++++++++++ .../TheLordOfTheRingsTalesOfMiddleEarth.java | 1 + 2 files changed, 42 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/e/EscapeFromOrthanc.java diff --git a/Mage.Sets/src/mage/cards/e/EscapeFromOrthanc.java b/Mage.Sets/src/mage/cards/e/EscapeFromOrthanc.java new file mode 100644 index 00000000000..63af5d8bef8 --- /dev/null +++ b/Mage.Sets/src/mage/cards/e/EscapeFromOrthanc.java @@ -0,0 +1,41 @@ +package mage.cards.e; + +import mage.abilities.effects.common.UntapTargetEffect; +import mage.abilities.effects.common.continuous.BoostTargetEffect; +import mage.abilities.effects.common.continuous.GainAbilityTargetEffect; +import mage.abilities.keyword.FlyingAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.target.common.TargetCreaturePermanent; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class EscapeFromOrthanc extends CardImpl { + + public EscapeFromOrthanc(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{W}"); + + // Target creature gets +1/+3 and gains flying until end of turn. Untap it. + this.getSpellAbility().addEffect(new BoostTargetEffect(1, 3) + .setText("target creature gets +1/+3")); + this.getSpellAbility().addEffect(new GainAbilityTargetEffect( + FlyingAbility.getInstance(), Duration.EndOfTurn + ).setText("and gains flying until end of turn")); + this.getSpellAbility().addEffect(new UntapTargetEffect().setText("Untap it")); + this.getSpellAbility().addTarget(new TargetCreaturePermanent()); + } + + private EscapeFromOrthanc(final EscapeFromOrthanc card) { + super(card); + } + + @Override + public EscapeFromOrthanc copy() { + return new EscapeFromOrthanc(this); + } +} diff --git a/Mage.Sets/src/mage/sets/TheLordOfTheRingsTalesOfMiddleEarth.java b/Mage.Sets/src/mage/sets/TheLordOfTheRingsTalesOfMiddleEarth.java index 054b5152bbb..2d748f7c0ae 100644 --- a/Mage.Sets/src/mage/sets/TheLordOfTheRingsTalesOfMiddleEarth.java +++ b/Mage.Sets/src/mage/sets/TheLordOfTheRingsTalesOfMiddleEarth.java @@ -52,6 +52,7 @@ public final class TheLordOfTheRingsTalesOfMiddleEarth extends ExpansionSet { cards.add(new SetCardInfo("Ent-Draught Basin", 238, Rarity.UNCOMMON, mage.cards.e.EntDraughtBasin.class)); cards.add(new SetCardInfo("Eowyn, Fearless Knight", 201, Rarity.RARE, mage.cards.e.EowynFearlessKnight.class)); cards.add(new SetCardInfo("Erkenbrand, Lord of Westfold", 123, Rarity.UNCOMMON, mage.cards.e.ErkenbrandLordOfWestfold.class)); + cards.add(new SetCardInfo("Escape from Orthanc", 12, Rarity.COMMON, mage.cards.e.EscapeFromOrthanc.class)); cards.add(new SetCardInfo("Fall of Cair Andros", 124, Rarity.RARE, mage.cards.f.FallOfCairAndros.class)); cards.add(new SetCardInfo("Fall of Gil-galad", 165, Rarity.RARE, mage.cards.f.FallOfGilGalad.class)); cards.add(new SetCardInfo("Fangorn, Tree Shepherd", 166, Rarity.RARE, mage.cards.f.FangornTreeShepherd.class));