From 915cc38e113c06669db41ffc4a319ef970a9d468 Mon Sep 17 00:00:00 2001 From: Evan Kranzler Date: Sun, 2 Sep 2018 23:34:33 -0400 Subject: [PATCH] Implemented Necrotic Wound --- Mage.Sets/src/mage/cards/n/NecroticWound.java | 48 +++++++++++++++++++ Mage.Sets/src/mage/sets/GuildsOfRavnica.java | 1 + .../main/java/mage/constants/AbilityWord.java | 1 + 3 files changed, 50 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/n/NecroticWound.java diff --git a/Mage.Sets/src/mage/cards/n/NecroticWound.java b/Mage.Sets/src/mage/cards/n/NecroticWound.java new file mode 100644 index 00000000000..a7369e2dcef --- /dev/null +++ b/Mage.Sets/src/mage/cards/n/NecroticWound.java @@ -0,0 +1,48 @@ +package mage.cards.n; + +import java.util.UUID; +import mage.abilities.dynamicvalue.DynamicValue; +import mage.abilities.dynamicvalue.common.CardsInControllerGraveyardCount; +import mage.abilities.effects.common.ExileTargetIfDiesEffect; +import mage.abilities.effects.common.continuous.BoostTargetEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.AbilityWord; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.filter.StaticFilters; +import mage.target.common.TargetCreaturePermanent; + +/** + * + * @author TheElk801 + */ +public final class NecroticWound extends CardImpl { + + public NecroticWound(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{B}"); + + // Undergrowth — Target creature gets -X/-X until end of turn, where X is the number of creature cards in your graveyard. If that creature would die this turn, exile it instead. + DynamicValue xValue = new CardsInControllerGraveyardCount( + StaticFilters.FILTER_CARD_CREATURE, -1 + ); + this.getSpellAbility().addEffect( + new BoostTargetEffect(xValue, xValue, Duration.EndOfTurn, true) + .setText("Target creature gets -X/-X until end of turn, " + + "where X is the number " + + "of creature cards in your graveyard.") + ); + this.getSpellAbility().addEffect(new ExileTargetIfDiesEffect()); + this.getSpellAbility().addTarget(new TargetCreaturePermanent()); + this.getSpellAbility().setAbilityWord(AbilityWord.UNDERGROWTH); + } + + public NecroticWound(final NecroticWound card) { + super(card); + } + + @Override + public NecroticWound copy() { + return new NecroticWound(this); + } +} diff --git a/Mage.Sets/src/mage/sets/GuildsOfRavnica.java b/Mage.Sets/src/mage/sets/GuildsOfRavnica.java index b922c051afb..3a259bb7a30 100644 --- a/Mage.Sets/src/mage/sets/GuildsOfRavnica.java +++ b/Mage.Sets/src/mage/sets/GuildsOfRavnica.java @@ -26,6 +26,7 @@ public final class GuildsOfRavnica extends ExpansionSet { cards.add(new SetCardInfo("Emmara, Soul of the Accord", 168, Rarity.RARE, mage.cards.e.EmmaraSoulOfTheAccord.class)); cards.add(new SetCardInfo("Impervious Greatwurm", 273, Rarity.MYTHIC, mage.cards.i.ImperviousGreatwurm.class)); cards.add(new SetCardInfo("Narcomoeba", 47, Rarity.RARE, mage.cards.n.Narcomoeba.class)); + cards.add(new SetCardInfo("Necrotic Wound", 79, Rarity.UNCOMMON, mage.cards.n.NecroticWound.class)); cards.add(new SetCardInfo("Overgrown Tomb", 253, Rarity.RARE, mage.cards.o.OvergrownTomb.class)); cards.add(new SetCardInfo("Sacred Foundry", 254, Rarity.RARE, mage.cards.s.SacredFoundry.class)); cards.add(new SetCardInfo("Sinister Sabotage", 54, Rarity.UNCOMMON, mage.cards.s.SinisterSabotage.class)); diff --git a/Mage/src/main/java/mage/constants/AbilityWord.java b/Mage/src/main/java/mage/constants/AbilityWord.java index 0d52e075600..408e590c662 100644 --- a/Mage/src/main/java/mage/constants/AbilityWord.java +++ b/Mage/src/main/java/mage/constants/AbilityWord.java @@ -43,6 +43,7 @@ public enum AbilityWord { SWEEP("Sweep"), TEMPTING_OFFER("Tempting offer"), THRESHOLD("Threshold"), + UNDERGROWTH("Undergrowth"), WILL_OF_THE_COUNCIL("Will of the council"); private final String text;