From 32298bc182dcddcb7aa1094d184510b65b4859b7 Mon Sep 17 00:00:00 2001 From: theelk801 Date: Tue, 6 Jan 2026 21:34:03 -0500 Subject: [PATCH] [ECL] Implement Eclipsed Flamekin --- .../src/mage/cards/e/EclipsedFlamekin.java | 53 +++++++++++++++++++ Mage.Sets/src/mage/sets/LorwynEclipsed.java | 2 + 2 files changed, 55 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/e/EclipsedFlamekin.java diff --git a/Mage.Sets/src/mage/cards/e/EclipsedFlamekin.java b/Mage.Sets/src/mage/cards/e/EclipsedFlamekin.java new file mode 100644 index 00000000000..7627d0b3380 --- /dev/null +++ b/Mage.Sets/src/mage/cards/e/EclipsedFlamekin.java @@ -0,0 +1,53 @@ +package mage.cards.e; + +import mage.MageInt; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.effects.common.LookLibraryAndPickControllerEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.PutCards; +import mage.constants.SubType; +import mage.filter.FilterCard; +import mage.filter.predicate.Predicates; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class EclipsedFlamekin extends CardImpl { + + private static final FilterCard filter = new FilterCard("Elemental, Island, or Mountain card"); + + static { + filter.add(Predicates.or( + SubType.ELEMENTAL.getPredicate(), + SubType.ISLAND.getPredicate(), + SubType.MOUNTAIN.getPredicate() + )); + } + + public EclipsedFlamekin(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{U/R}{U/R}"); + + this.subtype.add(SubType.ELEMENTAL); + this.subtype.add(SubType.SCOUT); + this.power = new MageInt(1); + this.toughness = new MageInt(4); + + // When this creature enters, look at the top four cards of your library. You may reveal an Elemental, Island, or Mountain card from among them and put it into your hand. Put the rest on the bottom of your library in a random order. + this.addAbility(new EntersBattlefieldTriggeredAbility(new LookLibraryAndPickControllerEffect( + 4, 1, filter, PutCards.HAND, PutCards.BOTTOM_RANDOM + ))); + } + + private EclipsedFlamekin(final EclipsedFlamekin card) { + super(card); + } + + @Override + public EclipsedFlamekin copy() { + return new EclipsedFlamekin(this); + } +} diff --git a/Mage.Sets/src/mage/sets/LorwynEclipsed.java b/Mage.Sets/src/mage/sets/LorwynEclipsed.java index 4a58cc36eef..12cd930debf 100644 --- a/Mage.Sets/src/mage/sets/LorwynEclipsed.java +++ b/Mage.Sets/src/mage/sets/LorwynEclipsed.java @@ -53,6 +53,8 @@ public final class LorwynEclipsed extends ExpansionSet { cards.add(new SetCardInfo("Deceit", 293, Rarity.MYTHIC, mage.cards.d.Deceit.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Dose of Dawnglow", 100, Rarity.UNCOMMON, mage.cards.d.DoseOfDawnglow.class)); cards.add(new SetCardInfo("Dream Seizer", 101, Rarity.COMMON, mage.cards.d.DreamSeizer.class)); + cards.add(new SetCardInfo("Eclipsed Flamekin", 219, Rarity.UNCOMMON, mage.cards.e.EclipsedFlamekin.class, NON_FULL_USE_VARIOUS)); + cards.add(new SetCardInfo("Eclipsed Flamekin", 337, Rarity.UNCOMMON, mage.cards.e.EclipsedFlamekin.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Eirdu, Carrier of Dawn", 13, Rarity.MYTHIC, mage.cards.e.EirduCarrierOfDawn.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Eirdu, Carrier of Dawn", 286, Rarity.MYTHIC, mage.cards.e.EirduCarrierOfDawn.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Elder Auntie", 133, Rarity.COMMON, mage.cards.e.ElderAuntie.class));