[FIC] Implement Hermes, Overseer of Elpis

This commit is contained in:
theelk801 2025-05-13 10:37:31 -04:00
parent 03aed4b610
commit 0100ba31f2
3 changed files with 88 additions and 0 deletions

View file

@ -0,0 +1,53 @@
package mage.cards.h;
import mage.MageInt;
import mage.abilities.common.AttacksWithCreaturesTriggeredAbility;
import mage.abilities.common.SpellCastControllerTriggeredAbility;
import mage.abilities.effects.common.CreateTokenEffect;
import mage.abilities.effects.keyword.ScryEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.constants.SuperType;
import mage.filter.FilterPermanent;
import mage.filter.StaticFilters;
import mage.game.permanent.token.BirdVigilanceToken;
import java.util.UUID;
/**
* @author TheElk801
*/
public final class HermesOverseerOfElpis extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent(SubType.BIRD, "Birds");
public HermesOverseerOfElpis(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{U}");
this.supertype.add(SuperType.LEGENDARY);
this.subtype.add(SubType.ELDER);
this.subtype.add(SubType.WIZARD);
this.power = new MageInt(2);
this.toughness = new MageInt(4);
// Whenever you cast a noncreature spell, create a 1/1 blue Bird creature token with flying and vigilance.
this.addAbility(new SpellCastControllerTriggeredAbility(
new CreateTokenEffect(new BirdVigilanceToken()),
StaticFilters.FILTER_SPELL_A_NON_CREATURE, false
));
// Whenever you attack with one or more Birds, scry 2.
this.addAbility(new AttacksWithCreaturesTriggeredAbility(new ScryEffect(2), 1, filter));
}
private HermesOverseerOfElpis(final HermesOverseerOfElpis card) {
super(card);
}
@Override
public HermesOverseerOfElpis copy() {
return new HermesOverseerOfElpis(this);
}
}

View file

@ -134,6 +134,7 @@ public final class FinalFantasyCommander extends ExpansionSet {
cards.add(new SetCardInfo("Harmonize", 308, Rarity.UNCOMMON, mage.cards.h.Harmonize.class));
cards.add(new SetCardInfo("Hellkite Tyrant", 295, Rarity.RARE, mage.cards.h.HellkiteTyrant.class));
cards.add(new SetCardInfo("Herald's Horn", 228, Rarity.RARE, mage.cards.h.HeraldsHorn.class));
cards.add(new SetCardInfo("Hermes, Overseer of Elpis", 36, Rarity.RARE, mage.cards.h.HermesOverseerOfElpis.class));
cards.add(new SetCardInfo("Hero's Blade", 345, Rarity.UNCOMMON, mage.cards.h.HerosBlade.class));
cards.add(new SetCardInfo("Hero's Heirloom", 346, Rarity.UNCOMMON, mage.cards.h.HerosHeirloom.class));
cards.add(new SetCardInfo("High Market", 402, Rarity.RARE, mage.cards.h.HighMarket.class));

View file

@ -0,0 +1,34 @@
package mage.game.permanent.token;
import mage.MageInt;
import mage.abilities.keyword.FlyingAbility;
import mage.abilities.keyword.VigilanceAbility;
import mage.constants.CardType;
import mage.constants.SubType;
/**
* @author TheElk801
*/
public final class BirdVigilanceToken extends TokenImpl {
public BirdVigilanceToken() {
super("Bird Token", "1/1 blue Bird creature token with flying and vigilance");
cardType.add(CardType.CREATURE);
color.setBlue(true);
subtype.add(SubType.BIRD);
power = new MageInt(1);
toughness = new MageInt(1);
addAbility(FlyingAbility.getInstance());
addAbility(VigilanceAbility.getInstance());
}
private BirdVigilanceToken(final BirdVigilanceToken token) {
super(token);
}
@Override
public BirdVigilanceToken copy() {
return new BirdVigilanceToken(this);
}
}