From d99eb68b34c3e6431e197159168b59c2091c99be Mon Sep 17 00:00:00 2001 From: Muz Date: Fri, 9 Jan 2026 19:53:19 -0600 Subject: [PATCH] [ECC] Implement Elemental Spectacle (#14205) * [ECC] Implement Elemental Spectacle * Add Ability Word and Hint --- .../src/mage/cards/e/ElementalSpectacle.java | 44 +++++++++++++++++++ .../mage/sets/LorwynEclipsedCommander.java | 2 + 2 files changed, 46 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/e/ElementalSpectacle.java diff --git a/Mage.Sets/src/mage/cards/e/ElementalSpectacle.java b/Mage.Sets/src/mage/cards/e/ElementalSpectacle.java new file mode 100644 index 00000000000..8672f19367e --- /dev/null +++ b/Mage.Sets/src/mage/cards/e/ElementalSpectacle.java @@ -0,0 +1,44 @@ +package mage.cards.e; + +import java.util.UUID; + +import mage.abilities.dynamicvalue.common.ColorsAmongControlledPermanentsCount; +import mage.abilities.dynamicvalue.common.CreaturesYouControlCount; +import mage.abilities.effects.common.CreateTokenEffect; +import mage.abilities.effects.common.GainLifeEffect; +import mage.abilities.hint.common.DomainHint; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.AbilityWord; +import mage.constants.CardType; +import mage.game.permanent.token.OmnathElementalToken; + +/** + * + * @author muz + */ +public final class ElementalSpectacle extends CardImpl { + + public ElementalSpectacle(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{5}{G}"); + + // Vivid -- Create a number of 5/5 red and green Elemental creature tokens equal to the number of colors among permanents you control. Then you gain life equal to the number of creatures you control. + this.getSpellAbility().addEffect(new CreateTokenEffect( + new OmnathElementalToken(), + ColorsAmongControlledPermanentsCount.ALL_PERMANENTS + )); + this.getSpellAbility().addEffect(new GainLifeEffect(CreaturesYouControlCount.PLURAL) + .setText(", then you gain life equal to the number of creatures you control")); + this.getSpellAbility().setAbilityWord(AbilityWord.VIVID); + this.getSpellAbility().addHint(ColorsAmongControlledPermanentsCount.ALL_PERMANENTS.getHint()); + } + + private ElementalSpectacle(final ElementalSpectacle card) { + super(card); + } + + @Override + public ElementalSpectacle copy() { + return new ElementalSpectacle(this); + } +} diff --git a/Mage.Sets/src/mage/sets/LorwynEclipsedCommander.java b/Mage.Sets/src/mage/sets/LorwynEclipsedCommander.java index 3ac7aeb2e66..9634de358f3 100644 --- a/Mage.Sets/src/mage/sets/LorwynEclipsedCommander.java +++ b/Mage.Sets/src/mage/sets/LorwynEclipsedCommander.java @@ -59,6 +59,8 @@ public final class LorwynEclipsedCommander extends ExpansionSet { cards.add(new SetCardInfo("Dread Tiller", 20, Rarity.RARE, mage.cards.d.DreadTiller.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Dread Tiller", 40, Rarity.RARE, mage.cards.d.DreadTiller.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Dusk Urchins", 73, Rarity.RARE, mage.cards.d.DuskUrchins.class)); + cards.add(new SetCardInfo("Elemental Spectacle", 15, Rarity.RARE, mage.cards.e.ElementalSpectacle.class, NON_FULL_USE_VARIOUS)); + cards.add(new SetCardInfo("Elemental Spectacle", 35, Rarity.RARE, mage.cards.e.ElementalSpectacle.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Endurance", 51, Rarity.MYTHIC, mage.cards.e.Endurance.class)); cards.add(new SetCardInfo("Everlasting Torment", 121, Rarity.RARE, mage.cards.e.EverlastingTorment.class)); cards.add(new SetCardInfo("Evolution Sage", 105, Rarity.UNCOMMON, mage.cards.e.EvolutionSage.class));