From 3e18305890783f951744351b34f650a89ba93afa Mon Sep 17 00:00:00 2001 From: Evan Kranzler Date: Mon, 1 Apr 2019 22:44:38 -0400 Subject: [PATCH] Implemented Angrath's Wrath --- Mage.Sets/src/mage/cards/a/AngrathsWrath.java | 54 +++++++++++++++++++ Mage.Sets/src/mage/sets/WarOfTheSpark.java | 1 + .../main/java/mage/filter/StaticFilters.java | 6 +++ 3 files changed, 61 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/a/AngrathsWrath.java diff --git a/Mage.Sets/src/mage/cards/a/AngrathsWrath.java b/Mage.Sets/src/mage/cards/a/AngrathsWrath.java new file mode 100644 index 00000000000..4076b408cac --- /dev/null +++ b/Mage.Sets/src/mage/cards/a/AngrathsWrath.java @@ -0,0 +1,54 @@ +package mage.cards.a; + +import mage.abilities.Mode; +import mage.abilities.effects.common.SacrificeEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.filter.StaticFilters; +import mage.target.TargetPlayer; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class AngrathsWrath extends CardImpl { + + public AngrathsWrath(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{B}{R}"); + + // Choose one: + // • Target player sacrifices an artifact. + this.getSpellAbility().addEffect(new SacrificeEffect( + StaticFilters.FILTER_PERMANENT_ARTIFACT, + 1, "Target player" + )); + this.getSpellAbility().addTarget(new TargetPlayer()); + + // • Target player sacrifices a creature. + Mode mode = new Mode(new SacrificeEffect( + StaticFilters.FILTER_PERMANENT_CREATURE, + 1, "Target player" + )); + mode.addTarget(new TargetPlayer()); + this.getSpellAbility().addMode(mode); + + // • Target player sacrifices a planeswalker. + mode = new Mode(new SacrificeEffect( + StaticFilters.FILTER_PERMANENT_PLANESWALKER, + 1, "Target player" + )); + mode.addTarget(new TargetPlayer()); + this.getSpellAbility().addMode(mode); + } + + private AngrathsWrath(final AngrathsWrath card) { + super(card); + } + + @Override + public AngrathsWrath copy() { + return new AngrathsWrath(this); + } +} diff --git a/Mage.Sets/src/mage/sets/WarOfTheSpark.java b/Mage.Sets/src/mage/sets/WarOfTheSpark.java index 340c7e4ea6a..fd4490b0bb8 100644 --- a/Mage.Sets/src/mage/sets/WarOfTheSpark.java +++ b/Mage.Sets/src/mage/sets/WarOfTheSpark.java @@ -25,6 +25,7 @@ public final class WarOfTheSpark extends ExpansionSet { cards.add(new SetCardInfo("Ajani's Pridemate", 4, Rarity.UNCOMMON, mage.cards.a.AjanisPridemate.class)); cards.add(new SetCardInfo("Ajani, the Greathearted", 184, Rarity.RARE, mage.cards.a.AjaniTheGreathearted.class)); + cards.add(new SetCardInfo("Angrath's Wrath", 185, Rarity.UNCOMMON, mage.cards.a.AngrathsWrath.class)); cards.add(new SetCardInfo("Arlinn's Wolf", 151, Rarity.COMMON, mage.cards.a.ArlinnsWolf.class)); cards.add(new SetCardInfo("Arlinn, Voice of the Pack", 150, Rarity.UNCOMMON, mage.cards.a.ArlinnVoiceOfThePack.class)); cards.add(new SetCardInfo("Augur of Bolas", 41, Rarity.UNCOMMON, mage.cards.a.AugurOfBolas.class)); diff --git a/Mage/src/main/java/mage/filter/StaticFilters.java b/Mage/src/main/java/mage/filter/StaticFilters.java index fef00127f69..b40ed887021 100644 --- a/Mage/src/main/java/mage/filter/StaticFilters.java +++ b/Mage/src/main/java/mage/filter/StaticFilters.java @@ -151,6 +151,12 @@ public final class StaticFilters { FILTER_PERMANENTS.setLockedFilter(true); } + public static final FilterPermanent FILTER_PERMANENT_ARTIFACT = new FilterArtifactPermanent("artifact"); + + static { + FILTER_PERMANENT_ARTIFACT.setLockedFilter(true); + } + public static final FilterPermanent FILTER_PERMANENT_ARTIFACT_AN = new FilterArtifactPermanent("an artifact"); static {