[ECL] Implement Morcant's Eyes

This commit is contained in:
theelk801 2026-01-09 21:15:24 -05:00
parent 67f86b21d9
commit 08967f688d
2 changed files with 56 additions and 0 deletions

View file

@ -0,0 +1,55 @@
package mage.cards.m;
import mage.abilities.Ability;
import mage.abilities.common.ActivateAsSorceryActivatedAbility;
import mage.abilities.costs.common.SacrificeSourceCost;
import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.dynamicvalue.DynamicValue;
import mage.abilities.dynamicvalue.common.CardsInControllerGraveyardCount;
import mage.abilities.effects.common.CreateTokenEffect;
import mage.abilities.effects.keyword.SurveilEffect;
import mage.abilities.hint.Hint;
import mage.abilities.hint.ValueHint;
import mage.abilities.triggers.BeginningOfUpkeepTriggeredAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.filter.FilterCard;
import mage.game.permanent.token.BlackGreenElfToken;
import java.util.UUID;
/**
* @author TheElk801
*/
public final class MorcantsEyes extends CardImpl {
private static final DynamicValue xValue = new CardsInControllerGraveyardCount(new FilterCard(SubType.ELF), null);
private static final Hint hint = new ValueHint("Elf cards in your graveyard", xValue);
public MorcantsEyes(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.KINDRED, CardType.ENCHANTMENT}, "{1}{G}");
this.subtype.add(SubType.ELF);
// At the beginning of your upkeep, surveil 1.
this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SurveilEffect(1)));
// {4}{G}{G}, Sacrifice this enchantment: Create X 2/2 black and green Elf creature tokens, where X is the number of Elf cards in your graveyard. Activate only as a sorcery.
Ability ability = new ActivateAsSorceryActivatedAbility(
new CreateTokenEffect(new BlackGreenElfToken(), xValue), new ManaCostsImpl<>("{4}{G}{G}")
);
ability.addCost(new SacrificeSourceCost());
this.addAbility(ability.addHint(hint));
}
private MorcantsEyes(final MorcantsEyes card) {
super(card);
}
@Override
public MorcantsEyes copy() {
return new MorcantsEyes(this);
}
}

View file

@ -205,6 +205,7 @@ public final class LorwynEclipsed extends ExpansionSet {
cards.add(new SetCardInfo("Moon-Vigil Adherents", 184, Rarity.UNCOMMON, mage.cards.m.MoonVigilAdherents.class));
cards.add(new SetCardInfo("Moonglove Extractor", 109, Rarity.COMMON, mage.cards.m.MoongloveExtractor.class));
cards.add(new SetCardInfo("Moonlit Lamenter", 26, Rarity.UNCOMMON, mage.cards.m.MoonlitLamenter.class));
cards.add(new SetCardInfo("Morcant's Eyes", 185, Rarity.UNCOMMON, mage.cards.m.MorcantsEyes.class));
cards.add(new SetCardInfo("Morningtide's Light", 27, Rarity.MYTHIC, mage.cards.m.MorningtidesLight.class, NON_FULL_USE_VARIOUS));
cards.add(new SetCardInfo("Morningtide's Light", 301, Rarity.MYTHIC, mage.cards.m.MorningtidesLight.class, NON_FULL_USE_VARIOUS));
cards.add(new SetCardInfo("Mountain", 272, Rarity.LAND, mage.cards.basiclands.Mountain.class, NON_FULL_USE_VARIOUS));