From a9b651e0dcf4b3280a1a156c93c665e7de1fd83b Mon Sep 17 00:00:00 2001 From: theelk801 Date: Wed, 9 Jul 2025 11:22:13 -0400 Subject: [PATCH] [EOE] Implement The Eternity Elevator --- .../src/mage/cards/t/TheEternityElevator.java | 56 +++++++++++++++++++ Mage.Sets/src/mage/sets/EdgeOfEternities.java | 2 + 2 files changed, 58 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/t/TheEternityElevator.java diff --git a/Mage.Sets/src/mage/cards/t/TheEternityElevator.java b/Mage.Sets/src/mage/cards/t/TheEternityElevator.java new file mode 100644 index 00000000000..f47b0486666 --- /dev/null +++ b/Mage.Sets/src/mage/cards/t/TheEternityElevator.java @@ -0,0 +1,56 @@ +package mage.cards.t; + +import mage.Mana; +import mage.abilities.costs.common.TapSourceCost; +import mage.abilities.dynamicvalue.DynamicValue; +import mage.abilities.dynamicvalue.common.CountersSourceCount; +import mage.abilities.keyword.StationAbility; +import mage.abilities.keyword.StationLevelAbility; +import mage.abilities.mana.DynamicManaAbility; +import mage.abilities.mana.SimpleManaAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.SuperType; +import mage.constants.Zone; +import mage.counters.CounterType; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class TheEternityElevator extends CardImpl { + + private static final DynamicValue xValue = new CountersSourceCount(CounterType.CHARGE); + + public TheEternityElevator(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{5}"); + + this.supertype.add(SuperType.LEGENDARY); + this.subtype.add(SubType.SPACECRAFT); + + // {T}: Add {C}{C}{C} + this.addAbility(new SimpleManaAbility(Zone.BATTLEFIELD, Mana.ColorlessMana(3), new TapSourceCost())); + + // Station + this.addAbility(new StationAbility()); + + // STATION 20+ + // {T}: Add X mana of any one color, where X is the number of charge counters on The Eternity Elevator. + this.addAbility(new StationLevelAbility(20).withLevelAbility(new DynamicManaAbility( + Mana.AnyMana(1), xValue, new TapSourceCost(), "add X mana of any one color, " + + "where X is the number of charge counters on {this}", true + ))); + } + + private TheEternityElevator(final TheEternityElevator card) { + super(card); + } + + @Override + public TheEternityElevator copy() { + return new TheEternityElevator(this); + } +} diff --git a/Mage.Sets/src/mage/sets/EdgeOfEternities.java b/Mage.Sets/src/mage/sets/EdgeOfEternities.java index accc142c3a9..05780fdc21f 100644 --- a/Mage.Sets/src/mage/sets/EdgeOfEternities.java +++ b/Mage.Sets/src/mage/sets/EdgeOfEternities.java @@ -132,6 +132,8 @@ public final class EdgeOfEternities extends ExpansionSet { cards.add(new SetCardInfo("Terrasymbiosis", 312, Rarity.RARE, mage.cards.t.Terrasymbiosis.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Tezzeret, Cruel Captain", 2, Rarity.MYTHIC, mage.cards.t.TezzeretCruelCaptain.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Tezzeret, Cruel Captain", 287, Rarity.MYTHIC, mage.cards.t.TezzeretCruelCaptain.class, NON_FULL_USE_VARIOUS)); + cards.add(new SetCardInfo("The Eternity Elevator", 241, Rarity.RARE, mage.cards.t.TheEternityElevator.class, NON_FULL_USE_VARIOUS)); + cards.add(new SetCardInfo("The Eternity Elevator", 354, Rarity.RARE, mage.cards.t.TheEternityElevator.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("The Seriema", 323, Rarity.RARE, mage.cards.t.TheSeriema.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("The Seriema", 35, Rarity.RARE, mage.cards.t.TheSeriema.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Thrumming Hivepool", 247, Rarity.RARE, mage.cards.t.ThrummingHivepool.class, NON_FULL_USE_VARIOUS));