From 0ab6951b9e2c4194840cddbd8903af49acd7c0f1 Mon Sep 17 00:00:00 2001 From: Evan Kranzler Date: Mon, 6 Apr 2020 17:38:40 -0400 Subject: [PATCH] Implemented Barrier Breach --- Mage.Sets/src/mage/cards/b/BarrierBreach.java | 37 +++++++++++++++++++ .../src/mage/sets/IkoriaLairOfBehemoths.java | 1 + .../common/TargetEnchantmentPermanent.java | 14 ++++--- 3 files changed, 46 insertions(+), 6 deletions(-) create mode 100644 Mage.Sets/src/mage/cards/b/BarrierBreach.java diff --git a/Mage.Sets/src/mage/cards/b/BarrierBreach.java b/Mage.Sets/src/mage/cards/b/BarrierBreach.java new file mode 100644 index 00000000000..34bf3fe2159 --- /dev/null +++ b/Mage.Sets/src/mage/cards/b/BarrierBreach.java @@ -0,0 +1,37 @@ +package mage.cards.b; + +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.effects.common.ExileTargetEffect; +import mage.abilities.keyword.CyclingAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.target.common.TargetEnchantmentPermanent; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class BarrierBreach extends CardImpl { + + public BarrierBreach(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{2}{G}"); + + // Exile up to three target enchantments. + this.getSpellAbility().addEffect(new ExileTargetEffect()); + this.getSpellAbility().addTarget(new TargetEnchantmentPermanent(0, 3)); + + // Cycling {2} + this.addAbility(new CyclingAbility(new ManaCostsImpl("{2}"))); + } + + private BarrierBreach(final BarrierBreach card) { + super(card); + } + + @Override + public BarrierBreach copy() { + return new BarrierBreach(this); + } +} diff --git a/Mage.Sets/src/mage/sets/IkoriaLairOfBehemoths.java b/Mage.Sets/src/mage/sets/IkoriaLairOfBehemoths.java index 95cb56f3bd8..1551e086905 100644 --- a/Mage.Sets/src/mage/sets/IkoriaLairOfBehemoths.java +++ b/Mage.Sets/src/mage/sets/IkoriaLairOfBehemoths.java @@ -30,6 +30,7 @@ public final class IkoriaLairOfBehemoths extends ExpansionSet { this.maxCardNumberInBooster = 274; this.hasBasicLands = false; // remove when basics are available + cards.add(new SetCardInfo("Barrier Breach", 145, Rarity.UNCOMMON, mage.cards.b.BarrierBreach.class)); cards.add(new SetCardInfo("Bastion of Remembrance", 73, Rarity.UNCOMMON, mage.cards.b.BastionOfRemembrance.class)); cards.add(new SetCardInfo("Blood Curdle", 75, Rarity.COMMON, mage.cards.b.BloodCurdle.class)); cards.add(new SetCardInfo("Boon of the Wish-Giver", 43, Rarity.UNCOMMON, mage.cards.b.BoonOfTheWishGiver.class)); diff --git a/Mage/src/main/java/mage/target/common/TargetEnchantmentPermanent.java b/Mage/src/main/java/mage/target/common/TargetEnchantmentPermanent.java index c13d1b96977..2e555a149db 100644 --- a/Mage/src/main/java/mage/target/common/TargetEnchantmentPermanent.java +++ b/Mage/src/main/java/mage/target/common/TargetEnchantmentPermanent.java @@ -1,18 +1,16 @@ - - package mage.target.common; +import mage.filter.StaticFilters; import mage.filter.common.FilterEnchantmentPermanent; import mage.target.TargetPermanent; /** - * * @author LevelX2 */ public class TargetEnchantmentPermanent extends TargetPermanent { - + public TargetEnchantmentPermanent() { - this(1, 1, new FilterEnchantmentPermanent(), false); + this(1); } public TargetEnchantmentPermanent(FilterEnchantmentPermanent filter) { @@ -20,7 +18,11 @@ public class TargetEnchantmentPermanent extends TargetPermanent { } public TargetEnchantmentPermanent(int numTargets) { - this(numTargets, numTargets, new FilterEnchantmentPermanent(), false); + this(numTargets, numTargets); + } + + public TargetEnchantmentPermanent(int minNumTargets, int maxNumTargets) { + this(minNumTargets, maxNumTargets, StaticFilters.FILTER_ENCHANTMENT_PERMANENT, false); } public TargetEnchantmentPermanent(int minNumTargets, int maxNumTargets, FilterEnchantmentPermanent filter, boolean notTarget) {