From 6586e0e1ea85f78a58c2f746ff5c81b035fd1bb4 Mon Sep 17 00:00:00 2001 From: Evan Kranzler Date: Thu, 3 Sep 2020 14:35:20 -0400 Subject: [PATCH] [ZNR] Implemented Pelakka Predation / Pelakka Caverns --- .../src/mage/cards/p/PelakkaCaverns.java | 37 +++++++++++++++ .../src/mage/cards/p/PelakkaPredation.java | 45 +++++++++++++++++++ Mage.Sets/src/mage/sets/ZendikarRising.java | 2 + 3 files changed, 84 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/p/PelakkaCaverns.java create mode 100644 Mage.Sets/src/mage/cards/p/PelakkaPredation.java diff --git a/Mage.Sets/src/mage/cards/p/PelakkaCaverns.java b/Mage.Sets/src/mage/cards/p/PelakkaCaverns.java new file mode 100644 index 0000000000..eab63cde1e --- /dev/null +++ b/Mage.Sets/src/mage/cards/p/PelakkaCaverns.java @@ -0,0 +1,37 @@ +package mage.cards.p; + +import mage.abilities.common.EntersBattlefieldTappedAbility; +import mage.abilities.mana.BlackManaAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class PelakkaCaverns extends CardImpl { + + public PelakkaCaverns(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.LAND}, ""); + + this.modalDFC = true; + this.nightCard = true; + + // Pelakka Caverns enters the battlefield tapped. + this.addAbility(new EntersBattlefieldTappedAbility()); + + // {T}: Add {B}. + this.addAbility(new BlackManaAbility()); + } + + private PelakkaCaverns(final PelakkaCaverns card) { + super(card); + } + + @Override + public PelakkaCaverns copy() { + return new PelakkaCaverns(this); + } +} diff --git a/Mage.Sets/src/mage/cards/p/PelakkaPredation.java b/Mage.Sets/src/mage/cards/p/PelakkaPredation.java new file mode 100644 index 0000000000..a3558d2b69 --- /dev/null +++ b/Mage.Sets/src/mage/cards/p/PelakkaPredation.java @@ -0,0 +1,45 @@ +package mage.cards.p; + +import mage.abilities.effects.common.discard.DiscardCardYouChooseTargetEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.ComparisonType; +import mage.constants.TargetController; +import mage.filter.FilterCard; +import mage.filter.predicate.mageobject.ConvertedManaCostPredicate; +import mage.target.common.TargetOpponent; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class PelakkaPredation extends CardImpl { + + private static final FilterCard filter = new FilterCard("a card from it with converted mana cost 3 or greater"); + + static { + filter.add(new ConvertedManaCostPredicate(ComparisonType.MORE_THAN, 2)); + } + + public PelakkaPredation(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{2}{B}"); + + this.modalDFC = true; + this.secondSideCardClazz = mage.cards.p.PelakkaCaverns.class; + + // Target opponent reveals their hand. You may choose a card from it with converted mana cost 3 or greater. That player discards that card. + this.getSpellAbility().addEffect(new DiscardCardYouChooseTargetEffect(filter, TargetController.ANY)); + this.getSpellAbility().addTarget(new TargetOpponent()); + } + + private PelakkaPredation(final PelakkaPredation card) { + super(card); + } + + @Override + public PelakkaPredation copy() { + return new PelakkaPredation(this); + } +} diff --git a/Mage.Sets/src/mage/sets/ZendikarRising.java b/Mage.Sets/src/mage/sets/ZendikarRising.java index efad5c90ef..86b1420bcf 100644 --- a/Mage.Sets/src/mage/sets/ZendikarRising.java +++ b/Mage.Sets/src/mage/sets/ZendikarRising.java @@ -137,6 +137,8 @@ public final class ZendikarRising extends ExpansionSet { cards.add(new SetCardInfo("Needleverge Pathway", 263, Rarity.RARE, mage.cards.n.NeedlevergePathway.class)); cards.add(new SetCardInfo("Omnath, Locus of Creation", 232, Rarity.MYTHIC, mage.cards.o.OmnathLocusOfCreation.class)); cards.add(new SetCardInfo("Orah, Skyclave Hierophant", 233, Rarity.RARE, mage.cards.o.OrahSkyclaveHierophant.class)); + cards.add(new SetCardInfo("Pelakka Caverns", 120, Rarity.UNCOMMON, mage.cards.p.PelakkaCaverns.class)); + cards.add(new SetCardInfo("Pelakka Predation", 120, Rarity.UNCOMMON, mage.cards.p.PelakkaPredation.class)); cards.add(new SetCardInfo("Pillarverge Pathway", 263, Rarity.RARE, mage.cards.p.PillarvergePathway.class)); cards.add(new SetCardInfo("Plains", 266, Rarity.LAND, mage.cards.basiclands.Plains.class, FULL_ART_BFZ_VARIOUS)); cards.add(new SetCardInfo("Prowling Felidar", 34, Rarity.COMMON, mage.cards.p.ProwlingFelidar.class));