diff --git a/Mage.Sets/src/mage/cards/f/FlayerOfLoyalties.java b/Mage.Sets/src/mage/cards/f/FlayerOfLoyalties.java new file mode 100644 index 00000000000..dd78b883384 --- /dev/null +++ b/Mage.Sets/src/mage/cards/f/FlayerOfLoyalties.java @@ -0,0 +1,73 @@ +package mage.cards.f; + +import mage.MageInt; +import mage.abilities.TriggeredAbility; +import mage.abilities.effects.common.CastSourceTriggeredAbility; +import mage.abilities.effects.common.UntapTargetEffect; +import mage.abilities.effects.common.continuous.GainAbilityTargetEffect; +import mage.abilities.effects.common.continuous.GainControlTargetEffect; +import mage.abilities.effects.common.continuous.SetBasePowerToughnessTargetEffect; +import mage.abilities.keyword.AnnihilatorAbility; +import mage.abilities.keyword.HasteAbility; +import mage.abilities.keyword.TrampleAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.SubType; +import mage.target.common.TargetCreaturePermanent; + +import java.util.UUID; + +/** + * @author Susucr + */ +public final class FlayerOfLoyalties extends CardImpl { + + public FlayerOfLoyalties(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{8}{C}{C}"); + + this.subtype.add(SubType.ELDRAZI); + this.power = new MageInt(10); + this.toughness = new MageInt(10); + + // When you cast this spell, gain control of target creature until end of turn. Untap that creature. Until end of turn, it has base power and toughness 10/10, and gains trample, annihilator 2, and haste. + TriggeredAbility trigger = new CastSourceTriggeredAbility( + new GainControlTargetEffect(Duration.EndOfTurn) + ); + trigger.addEffect(new UntapTargetEffect().setText("Untap that creature.")); + trigger.addEffect(new SetBasePowerToughnessTargetEffect( + 10, 10, Duration.EndOfTurn + ).setText("Until end of turn, it has base power and toughness 10/10")); + trigger.addEffect(new GainAbilityTargetEffect( + TrampleAbility.getInstance(), Duration.EndOfTurn, "gains trample" + ).concatBy(", and")); + + TriggeredAbility annihilator = new AnnihilatorAbility(2); + trigger.addEffect(new GainAbilityTargetEffect( + annihilator, Duration.EndOfTurn, "annihilator 2" + ).concatBy(",")); + trigger.addEffect(new GainAbilityTargetEffect( + HasteAbility.getInstance(), Duration.EndOfTurn, "haste" + ).concatBy(", and")); + + trigger.addTarget(new TargetCreaturePermanent()); + this.addAbility(trigger); + + // Annihilator 2 + this.addAbility(new AnnihilatorAbility(2)); + + // Trample + this.addAbility(TrampleAbility.getInstance()); + + } + + private FlayerOfLoyalties(final FlayerOfLoyalties card) { + super(card); + } + + @Override + public FlayerOfLoyalties copy() { + return new FlayerOfLoyalties(this); + } +} diff --git a/Mage.Sets/src/mage/sets/CommanderMasters.java b/Mage.Sets/src/mage/sets/CommanderMasters.java index c4bddd1cda6..6585fb3adb3 100644 --- a/Mage.Sets/src/mage/sets/CommanderMasters.java +++ b/Mage.Sets/src/mage/sets/CommanderMasters.java @@ -225,6 +225,7 @@ public final class CommanderMasters extends ExpansionSet { cards.add(new SetCardInfo("Firewake Sliver", 923, Rarity.UNCOMMON, mage.cards.f.FirewakeSliver.class)); cards.add(new SetCardInfo("Fists of Flame", 223, Rarity.COMMON, mage.cards.f.FistsOfFlame.class)); cards.add(new SetCardInfo("Flawless Maneuver", 24, Rarity.RARE, mage.cards.f.FlawlessManeuver.class)); + cards.add(new SetCardInfo("Flayer of Loyalties", 715, Rarity.RARE, mage.cards.f.FlayerOfLoyalties.class)); cards.add(new SetCardInfo("Flood Plain", 994, Rarity.UNCOMMON, mage.cards.f.FloodPlain.class)); cards.add(new SetCardInfo("Flux Channeler", 847, Rarity.UNCOMMON, mage.cards.f.FluxChanneler.class)); cards.add(new SetCardInfo("Fog Bank", 848, Rarity.UNCOMMON, mage.cards.f.FogBank.class));