From f53a37e0286457a4640ec8a9604477d41fcaa589 Mon Sep 17 00:00:00 2001 From: Evan Kranzler Date: Thu, 2 Apr 2020 17:57:47 -0400 Subject: [PATCH] Implemented Snapdax, Apex of the Hunt --- .../mage/cards/s/SnapdaxApexOfTheHunt.java | 67 +++++++++++++++++++ .../src/mage/sets/IkoriaLairOfBehemoths.java | 1 + 2 files changed, 68 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/s/SnapdaxApexOfTheHunt.java diff --git a/Mage.Sets/src/mage/cards/s/SnapdaxApexOfTheHunt.java b/Mage.Sets/src/mage/cards/s/SnapdaxApexOfTheHunt.java new file mode 100644 index 0000000000..cdb4251418 --- /dev/null +++ b/Mage.Sets/src/mage/cards/s/SnapdaxApexOfTheHunt.java @@ -0,0 +1,67 @@ +package mage.cards.s; + +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.MutatesSourceTriggeredAbility; +import mage.abilities.effects.common.DamageTargetEffect; +import mage.abilities.effects.common.GainLifeEffect; +import mage.abilities.keyword.DoubleStrikeAbility; +import mage.abilities.keyword.MutateAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.SuperType; +import mage.constants.TargetController; +import mage.filter.FilterPermanent; +import mage.filter.common.FilterCreatureOrPlaneswalkerPermanent; +import mage.target.TargetPermanent; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class SnapdaxApexOfTheHunt extends CardImpl { + + private static final FilterPermanent filter + = new FilterCreatureOrPlaneswalkerPermanent("creature or planeswalker an opponent controls"); + + static { + filter.add(TargetController.OPPONENT.getControllerPredicate()); + } + + public SnapdaxApexOfTheHunt(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{R}{W}{B}"); + + this.addSuperType(SuperType.LEGENDARY); + this.subtype.add(SubType.DINOSAUR); + this.subtype.add(SubType.CAT); + this.subtype.add(SubType.NIGHTMARE); + this.power = new MageInt(3); + this.toughness = new MageInt(5); + + // Mutate {2}{B/R}{W}{W} + this.addAbility(new MutateAbility(this, "{2}{B/R}{W}{W}")); + + // Double Strike + this.addAbility(DoubleStrikeAbility.getInstance()); + + // Whenever this creature mutates, it deals 4 damage to target creature or planeswalker an opponent controls and you gain 4 life. + Ability ability = new MutatesSourceTriggeredAbility( + new DamageTargetEffect(4, "it") + ); + ability.addEffect(new GainLifeEffect(4).concatBy("and")); + ability.addTarget(new TargetPermanent(filter)); + this.addAbility(ability); + } + + private SnapdaxApexOfTheHunt(final SnapdaxApexOfTheHunt card) { + super(card); + } + + @Override + public SnapdaxApexOfTheHunt copy() { + return new SnapdaxApexOfTheHunt(this); + } +} diff --git a/Mage.Sets/src/mage/sets/IkoriaLairOfBehemoths.java b/Mage.Sets/src/mage/sets/IkoriaLairOfBehemoths.java index 41e4ca7672..095439454c 100644 --- a/Mage.Sets/src/mage/sets/IkoriaLairOfBehemoths.java +++ b/Mage.Sets/src/mage/sets/IkoriaLairOfBehemoths.java @@ -33,6 +33,7 @@ public final class IkoriaLairOfBehemoths extends ExpansionSet { cards.add(new SetCardInfo("Gloom Pangolin", 89, Rarity.COMMON, mage.cards.g.GloomPangolin.class)); cards.add(new SetCardInfo("Mosscoat Goriak", 167, Rarity.COMMON, mage.cards.m.MosscoatGoriak.class)); cards.add(new SetCardInfo("Pacifism", 25, Rarity.COMMON, mage.cards.p.Pacifism.class)); + cards.add(new SetCardInfo("Snapdax, Apex of the Hunt", 381, Rarity.MYTHIC, mage.cards.s.SnapdaxApexOfTheHunt.class)); cards.add(new SetCardInfo("Sprite Dragon", 382, Rarity.UNCOMMON, mage.cards.s.SpriteDragon.class)); cards.add(new SetCardInfo("Titanoth Rex", 377, Rarity.UNCOMMON, mage.cards.t.TitanothRex.class)); cards.add(new SetCardInfo("Void Beckoner", 373, Rarity.UNCOMMON, mage.cards.v.VoidBeckoner.class));