[ECL] Implement Champion of the Clachan

This commit is contained in:
theelk801 2026-01-06 09:48:01 -05:00
parent 5f65a7d08c
commit 13cb4f2111
3 changed files with 61 additions and 0 deletions

View file

@ -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);
}
}

View file

@ -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));

View file

@ -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;