From 13cb4f2111eba0c86bd76f6a71a915fac795326f Mon Sep 17 00:00:00 2001 From: theelk801 Date: Tue, 6 Jan 2026 09:48:01 -0500 Subject: [PATCH] [ECL] Implement Champion of the Clachan --- .../mage/cards/c/ChampionOfTheClachan.java | 58 +++++++++++++++++++ Mage.Sets/src/mage/sets/LorwynEclipsed.java | 2 + .../main/java/mage/constants/BeholdType.java | 1 + 3 files changed, 61 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/c/ChampionOfTheClachan.java diff --git a/Mage.Sets/src/mage/cards/c/ChampionOfTheClachan.java b/Mage.Sets/src/mage/cards/c/ChampionOfTheClachan.java new file mode 100644 index 00000000000..f89c1578fb5 --- /dev/null +++ b/Mage.Sets/src/mage/cards/c/ChampionOfTheClachan.java @@ -0,0 +1,58 @@ +package mage.cards.c; + +import mage.MageInt; +import mage.abilities.common.LeavesBattlefieldTriggeredAbility; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.costs.common.BeholdAndExileCost; +import mage.abilities.effects.common.ReturnExiledCardToHandEffect; +import mage.abilities.effects.common.continuous.BoostControlledEffect; +import mage.abilities.keyword.FlashAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.BeholdType; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.SubType; +import mage.filter.FilterPermanent; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class ChampionOfTheClachan extends CardImpl { + + private static final FilterPermanent filter = new FilterPermanent(SubType.KITHKIN, "Kithkin"); + + public ChampionOfTheClachan(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{W}"); + + this.subtype.add(SubType.KITHKIN); + this.subtype.add(SubType.KNIGHT); + this.power = new MageInt(4); + this.toughness = new MageInt(5); + + // Flash + this.addAbility(FlashAbility.getInstance()); + + // As an additional cost to cast this spell, behold a Kithkin and exile it. + this.getSpellAbility().addCost(new BeholdAndExileCost(BeholdType.KITHKIN)); + + // Other Kithkin you control get +1/+1. + this.addAbility(new SimpleStaticAbility(new BoostControlledEffect( + 1, 1, Duration.WhileOnBattlefield, filter, true + ))); + + // When this creature leaves the battlefield, return the exiled card to its owner's hand. + this.addAbility(new LeavesBattlefieldTriggeredAbility(new ReturnExiledCardToHandEffect())); + } + + private ChampionOfTheClachan(final ChampionOfTheClachan card) { + super(card); + } + + @Override + public ChampionOfTheClachan copy() { + return new ChampionOfTheClachan(this); + } +} diff --git a/Mage.Sets/src/mage/sets/LorwynEclipsed.java b/Mage.Sets/src/mage/sets/LorwynEclipsed.java index b9e2cb28166..3c2f06cba14 100644 --- a/Mage.Sets/src/mage/sets/LorwynEclipsed.java +++ b/Mage.Sets/src/mage/sets/LorwynEclipsed.java @@ -39,6 +39,8 @@ public final class LorwynEclipsed extends ExpansionSet { cards.add(new SetCardInfo("Bloom Tender", 400, Rarity.MYTHIC, mage.cards.b.BloomTender.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Blossoming Defense", 167, Rarity.UNCOMMON, mage.cards.b.BlossomingDefense.class)); cards.add(new SetCardInfo("Boggart Mischief", 92, Rarity.UNCOMMON, mage.cards.b.BoggartMischief.class)); + cards.add(new SetCardInfo("Champion of the Clachan", 353, Rarity.RARE, mage.cards.c.ChampionOfTheClachan.class, NON_FULL_USE_VARIOUS)); + cards.add(new SetCardInfo("Champion of the Clachan", 9, Rarity.RARE, mage.cards.c.ChampionOfTheClachan.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Champions of the Perfect", 171, Rarity.RARE, mage.cards.c.ChampionsOfThePerfect.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Champions of the Perfect", 365, Rarity.RARE, mage.cards.c.ChampionsOfThePerfect.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Chomping Changeling", 172, Rarity.UNCOMMON, mage.cards.c.ChompingChangeling.class)); diff --git a/Mage/src/main/java/mage/constants/BeholdType.java b/Mage/src/main/java/mage/constants/BeholdType.java index 24b97a09aad..d7ce8aa1506 100644 --- a/Mage/src/main/java/mage/constants/BeholdType.java +++ b/Mage/src/main/java/mage/constants/BeholdType.java @@ -22,6 +22,7 @@ import java.util.UUID; public enum BeholdType { DRAGON(SubType.DRAGON), ELF(SubType.ELF), + KITHKIN(SubType.KITHKIN), MERFOLK(SubType.MERFOLK); private final FilterPermanent filterPermanent;