From 18cbbeb594b94669a753df9d40dc11d7dad283ad Mon Sep 17 00:00:00 2001 From: theelk801 Date: Wed, 3 May 2023 07:55:21 -0400 Subject: [PATCH] [MAT] Implement Campus Renovation --- .../src/mage/cards/c/CampusRenovation.java | 40 +++++++++++++++++++ .../sets/MarchOfTheMachineTheAftermath.java | 1 + 2 files changed, 41 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/c/CampusRenovation.java diff --git a/Mage.Sets/src/mage/cards/c/CampusRenovation.java b/Mage.Sets/src/mage/cards/c/CampusRenovation.java new file mode 100644 index 0000000000..20b35e79eb --- /dev/null +++ b/Mage.Sets/src/mage/cards/c/CampusRenovation.java @@ -0,0 +1,40 @@ +package mage.cards.c; + +import mage.abilities.effects.common.ExileTopXMayPlayUntilEndOfTurnEffect; +import mage.abilities.effects.common.ReturnFromGraveyardToBattlefieldTargetEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.filter.FilterCard; +import mage.filter.common.FilterArtifactOrEnchantmentCard; +import mage.target.common.TargetCardInYourGraveyard; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class CampusRenovation extends CardImpl { + + private static final FilterCard filter + = new FilterArtifactOrEnchantmentCard("artifact or enchantment card from your graveyard"); + + public CampusRenovation(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{3}{R}{W}"); + + // Return up to one target artifact or enchantment card from your graveyard to the battlefield. Exile the top two cards of your library. Until the end of your next turn, you may play those cards. + this.getSpellAbility().addEffect(new ReturnFromGraveyardToBattlefieldTargetEffect()); + this.getSpellAbility().addTarget(new TargetCardInYourGraveyard(0, 1, filter)); + this.getSpellAbility().addEffect(new ExileTopXMayPlayUntilEndOfTurnEffect(2, false, Duration.UntilEndOfYourNextTurn)); + } + + private CampusRenovation(final CampusRenovation card) { + super(card); + } + + @Override + public CampusRenovation copy() { + return new CampusRenovation(this); + } +} diff --git a/Mage.Sets/src/mage/sets/MarchOfTheMachineTheAftermath.java b/Mage.Sets/src/mage/sets/MarchOfTheMachineTheAftermath.java index 8e1e6ea739..e0d786a616 100644 --- a/Mage.Sets/src/mage/sets/MarchOfTheMachineTheAftermath.java +++ b/Mage.Sets/src/mage/sets/MarchOfTheMachineTheAftermath.java @@ -21,6 +21,7 @@ public final class MarchOfTheMachineTheAftermath extends ExpansionSet { this.hasBasicLands = false; this.hasBoosters = false; // temporary + cards.add(new SetCardInfo("Campus Renovation", 27, Rarity.UNCOMMON, mage.cards.c.CampusRenovation.class)); cards.add(new SetCardInfo("Drannith Ruins", 50, Rarity.RARE, mage.cards.d.DrannithRuins.class)); cards.add(new SetCardInfo("Filter Out", 7, Rarity.UNCOMMON, mage.cards.f.FilterOut.class)); cards.add(new SetCardInfo("Gold-Forged Thopteryx", 31, Rarity.UNCOMMON, mage.cards.g.GoldForgedThopteryx.class));