[FIC] Implement Helitrooper

This commit is contained in:
theelk801 2025-05-13 21:05:30 -04:00
parent b31d939db7
commit 4a9d369652
2 changed files with 62 additions and 0 deletions

View file

@ -0,0 +1,60 @@
package mage.cards.h;
import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.AttacksTriggeredAbility;
import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.effects.common.continuous.GainAbilityTargetEffect;
import mage.abilities.effects.common.cost.ReduceCostEquipTargetSourceEffect;
import mage.abilities.keyword.FlyingAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.filter.FilterPermanent;
import mage.filter.common.FilterAttackingCreature;
import mage.filter.predicate.mageobject.AnotherPredicate;
import mage.target.TargetPermanent;
import java.util.UUID;
/**
* @author TheElk801
*/
public final class Helitrooper extends CardImpl {
private static final FilterPermanent filter = new FilterAttackingCreature("another target attacking creature");
static {
filter.add(AnotherPredicate.instance);
}
public Helitrooper(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{W}");
this.subtype.add(SubType.HUMAN);
this.subtype.add(SubType.SOLDIER);
this.power = new MageInt(1);
this.toughness = new MageInt(2);
// Flying
this.addAbility(FlyingAbility.getInstance());
// Whenever this creature attacks, another target attacking creature gains flying until end of turn.
Ability ability = new AttacksTriggeredAbility(new GainAbilityTargetEffect(FlyingAbility.getInstance()));
ability.addTarget(new TargetPermanent(filter));
this.addAbility(ability);
// Equip abilities you activate that target this creature cost {2} less to activate.
this.addAbility(new SimpleStaticAbility(new ReduceCostEquipTargetSourceEffect(2)));
}
private Helitrooper(final Helitrooper card) {
super(card);
}
@Override
public Helitrooper copy() {
return new Helitrooper(this);
}
}

View file

@ -161,6 +161,8 @@ public final class FinalFantasyCommander extends ExpansionSet {
cards.add(new SetCardInfo("Harmonize", 308, Rarity.UNCOMMON, mage.cards.h.Harmonize.class));
cards.add(new SetCardInfo("Heidegger, Shinra Executive", 136, Rarity.RARE, mage.cards.h.HeideggerShinraExecutive.class, NON_FULL_USE_VARIOUS));
cards.add(new SetCardInfo("Heidegger, Shinra Executive", 21, Rarity.RARE, mage.cards.h.HeideggerShinraExecutive.class, NON_FULL_USE_VARIOUS));
cards.add(new SetCardInfo("Helitrooper", 106, Rarity.RARE, mage.cards.h.Helitrooper.class, NON_FULL_USE_VARIOUS));
cards.add(new SetCardInfo("Helitrooper", 22, Rarity.RARE, mage.cards.h.Helitrooper.class, NON_FULL_USE_VARIOUS));
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", 141, Rarity.RARE, mage.cards.h.HermesOverseerOfElpis.class, NON_FULL_USE_VARIOUS));