From 1ef3fc7ded5b69ddd633f15d972164bafe2372fb Mon Sep 17 00:00:00 2001 From: Evan Kranzler Date: Thu, 10 Jan 2019 16:04:23 -0500 Subject: [PATCH] Implemented Regenesis --- Mage.Sets/src/mage/cards/m/MacabreWaltz.java | 16 +++++---- Mage.Sets/src/mage/cards/r/Regenesis.java | 36 +++++++++++++++++++ .../src/mage/sets/RavnicaAllegiance.java | 1 + 3 files changed, 46 insertions(+), 7 deletions(-) create mode 100644 Mage.Sets/src/mage/cards/r/Regenesis.java diff --git a/Mage.Sets/src/mage/cards/m/MacabreWaltz.java b/Mage.Sets/src/mage/cards/m/MacabreWaltz.java index a37c9811ae1..c1623e6f2b1 100644 --- a/Mage.Sets/src/mage/cards/m/MacabreWaltz.java +++ b/Mage.Sets/src/mage/cards/m/MacabreWaltz.java @@ -2,29 +2,31 @@ package mage.cards.m; -import java.util.UUID; import mage.abilities.effects.common.ReturnFromGraveyardToHandTargetEffect; import mage.abilities.effects.common.discard.DiscardControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.filter.FilterCard; import mage.filter.common.FilterCreatureCard; import mage.target.common.TargetCardInYourGraveyard; -/** - * - * @author LoneFox +import java.util.UUID; +/** + * @author LoneFox */ public final class MacabreWaltz extends CardImpl { + private static final FilterCard filter = new FilterCreatureCard("creature cards from your graveyard"); + public MacabreWaltz(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{1}{B}"); + super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{1}{B}"); // Return up to two target creature cards from your graveyard to your hand, then discard a card. this.getSpellAbility().addEffect(new ReturnFromGraveyardToHandTargetEffect()); - this.getSpellAbility().addTarget(new TargetCardInYourGraveyard(0, 2, new FilterCreatureCard("creature cards from your graveyard"))); - this.getSpellAbility().addEffect(new DiscardControllerEffect(1)); + this.getSpellAbility().addTarget(new TargetCardInYourGraveyard(0, 2, filter)); + this.getSpellAbility().addEffect(new DiscardControllerEffect(1).setText(", then discard a card")); } public MacabreWaltz(final MacabreWaltz card) { diff --git a/Mage.Sets/src/mage/cards/r/Regenesis.java b/Mage.Sets/src/mage/cards/r/Regenesis.java new file mode 100644 index 00000000000..9743d9c073c --- /dev/null +++ b/Mage.Sets/src/mage/cards/r/Regenesis.java @@ -0,0 +1,36 @@ +package mage.cards.r; + +import mage.abilities.effects.common.ReturnFromGraveyardToHandTargetEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.filter.FilterCard; +import mage.filter.common.FilterPermanentCard; +import mage.target.common.TargetCardInYourGraveyard; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class Regenesis extends CardImpl { + + private static final FilterCard filter = new FilterPermanentCard("permanent cards from your graveyard"); + + public Regenesis(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{3}{G}{G}"); + + // Return up to two target permanent cards from your graveyard to your hand. + this.getSpellAbility().addEffect(new ReturnFromGraveyardToHandTargetEffect()); + this.getSpellAbility().addTarget(new TargetCardInYourGraveyard(0, 2, filter)); + } + + private Regenesis(final Regenesis card) { + super(card); + } + + @Override + public Regenesis copy() { + return new Regenesis(this); + } +} diff --git a/Mage.Sets/src/mage/sets/RavnicaAllegiance.java b/Mage.Sets/src/mage/sets/RavnicaAllegiance.java index bc9f028878f..25c3afa2d98 100644 --- a/Mage.Sets/src/mage/sets/RavnicaAllegiance.java +++ b/Mage.Sets/src/mage/sets/RavnicaAllegiance.java @@ -139,6 +139,7 @@ public final class RavnicaAllegiance extends ExpansionSet { cards.add(new SetCardInfo("Rakdos, the Showstopper", 199, Rarity.MYTHIC, mage.cards.r.RakdosTheShowstopper.class)); cards.add(new SetCardInfo("Rampage of the Clans", 134, Rarity.RARE, mage.cards.r.RampageOfTheClans.class)); cards.add(new SetCardInfo("Ravager Wurm", 200, Rarity.MYTHIC, mage.cards.r.RavagerWurm.class)); + cards.add(new SetCardInfo("Regenesis", 136, Rarity.UNCOMMON, mage.cards.r.Regenesis.class)); cards.add(new SetCardInfo("Revival // Revenge", 228, Rarity.RARE, mage.cards.r.RevivalRevenge.class)); cards.add(new SetCardInfo("Rhythm of the Wild", 201, Rarity.UNCOMMON, mage.cards.r.RhythmOfTheWild.class)); cards.add(new SetCardInfo("Rix Maadi Reveler", 109, Rarity.RARE, mage.cards.r.RixMaadiReveler.class));