From 548ac048d71ed759a455a3bcfb8221986cf7ae88 Mon Sep 17 00:00:00 2001 From: Evan Kranzler Date: Sat, 3 Apr 2021 07:32:12 -0400 Subject: [PATCH] [STX] Implemented Sedgemoor Witch --- .../src/mage/cards/s/SedgemoorWitch.java | 48 +++++++++++++++++++ .../mage/cards/v/ValentinDeanOfTheVein.java | 4 +- .../mage/sets/StrixhavenSchoolOfMages.java | 1 + ...{PestToken2.java => WitherbloomToken.java} | 10 ++-- Utils/mtg-cards-data.txt | 2 +- 5 files changed, 57 insertions(+), 8 deletions(-) create mode 100644 Mage.Sets/src/mage/cards/s/SedgemoorWitch.java rename Mage/src/main/java/mage/game/permanent/token/{PestToken2.java => WitherbloomToken.java} (75%) diff --git a/Mage.Sets/src/mage/cards/s/SedgemoorWitch.java b/Mage.Sets/src/mage/cards/s/SedgemoorWitch.java new file mode 100644 index 00000000000..7256fb5efc8 --- /dev/null +++ b/Mage.Sets/src/mage/cards/s/SedgemoorWitch.java @@ -0,0 +1,48 @@ +package mage.cards.s; + +import mage.MageInt; +import mage.abilities.common.MagecraftAbility; +import mage.abilities.costs.common.PayLifeCost; +import mage.abilities.effects.common.CreateTokenEffect; +import mage.abilities.keyword.MenaceAbility; +import mage.abilities.keyword.WardAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.game.permanent.token.WitherbloomToken; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class SedgemoorWitch extends CardImpl { + + public SedgemoorWitch(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{B}"); + + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARLOCK); + this.power = new MageInt(3); + this.toughness = new MageInt(2); + + // Menace + this.addAbility(new MenaceAbility()); + + // Ward—Pay 3 life. + this.addAbility(new WardAbility(new PayLifeCost(3))); + + // Magecraft — Whenever you cast or copy an instant or sorcery spell, create a 1/1 black and green Pest creature token with "Whenever this creature dies, you gain 1 life." + this.addAbility(new MagecraftAbility(new CreateTokenEffect(new WitherbloomToken()))); + } + + private SedgemoorWitch(final SedgemoorWitch card) { + super(card); + } + + @Override + public SedgemoorWitch copy() { + return new SedgemoorWitch(this); + } +} diff --git a/Mage.Sets/src/mage/cards/v/ValentinDeanOfTheVein.java b/Mage.Sets/src/mage/cards/v/ValentinDeanOfTheVein.java index 0bc829c40ab..1203c71a6af 100644 --- a/Mage.Sets/src/mage/cards/v/ValentinDeanOfTheVein.java +++ b/Mage.Sets/src/mage/cards/v/ValentinDeanOfTheVein.java @@ -21,7 +21,7 @@ import mage.filter.StaticFilters; import mage.game.Game; import mage.game.events.GameEvent; import mage.game.events.ZoneChangeEvent; -import mage.game.permanent.token.PestToken2; +import mage.game.permanent.token.WitherbloomToken; import java.util.UUID; @@ -101,7 +101,7 @@ class ValentinDeanOfTheVeinEffect extends ReplacementEffectImpl { ((ZoneChangeEvent) event).setToZone(Zone.EXILED); game.fireReflexiveTriggeredAbility(new ReflexiveTriggeredAbility( new DoIfCostPaid( - new CreateTokenEffect(new PestToken2()), new GenericManaCost(2) + new CreateTokenEffect(new WitherbloomToken()), new GenericManaCost(2) ), false, "you may pay {2}. If you do, create a 1/1 black and green " + "Pest creature token with \"When this creature dies, you gain 1 life.\"" ), source); diff --git a/Mage.Sets/src/mage/sets/StrixhavenSchoolOfMages.java b/Mage.Sets/src/mage/sets/StrixhavenSchoolOfMages.java index a2b1e8cf022..e7464576da3 100644 --- a/Mage.Sets/src/mage/sets/StrixhavenSchoolOfMages.java +++ b/Mage.Sets/src/mage/sets/StrixhavenSchoolOfMages.java @@ -143,6 +143,7 @@ public final class StrixhavenSchoolOfMages extends ExpansionSet { cards.add(new SetCardInfo("Rise of Extus", 226, Rarity.COMMON, mage.cards.r.RiseOfExtus.class)); cards.add(new SetCardInfo("Rootha, Mercurial Artist", 227, Rarity.UNCOMMON, mage.cards.r.RoothaMercurialArtist.class)); cards.add(new SetCardInfo("Secret Rendezvous", 26, Rarity.UNCOMMON, mage.cards.s.SecretRendezvous.class)); + cards.add(new SetCardInfo("Segemoor Witch", 66, Rarity.RARE, mage.cards.s.SedgemoorWitch.class)); cards.add(new SetCardInfo("Serpentine Curve", 52, Rarity.COMMON, mage.cards.s.SerpentineCurve.class)); cards.add(new SetCardInfo("Shadewing Laureate", 229, Rarity.UNCOMMON, mage.cards.s.ShadewingLaureate.class)); cards.add(new SetCardInfo("Shaile, Dean of Radiance", 158, Rarity.RARE, mage.cards.s.ShaileDeanOfRadiance.class)); diff --git a/Mage/src/main/java/mage/game/permanent/token/PestToken2.java b/Mage/src/main/java/mage/game/permanent/token/WitherbloomToken.java similarity index 75% rename from Mage/src/main/java/mage/game/permanent/token/PestToken2.java rename to Mage/src/main/java/mage/game/permanent/token/WitherbloomToken.java index ba434579755..55b88117d67 100644 --- a/Mage/src/main/java/mage/game/permanent/token/PestToken2.java +++ b/Mage/src/main/java/mage/game/permanent/token/WitherbloomToken.java @@ -9,9 +9,9 @@ import mage.constants.SubType; /** * @author TheElk801 */ -public final class PestToken2 extends TokenImpl { +public final class WitherbloomToken extends TokenImpl { - public PestToken2() { + public WitherbloomToken() { super("Pest", "1/1 black and green Pest creature token with \"When this creature dies, you gain 1 life.\""); cardType.add(CardType.CREATURE); color.setBlack(true); @@ -23,11 +23,11 @@ public final class PestToken2 extends TokenImpl { this.addAbility(new DiesSourceTriggeredAbility(new GainLifeEffect(1))); } - private PestToken2(final PestToken2 token) { + private WitherbloomToken(final WitherbloomToken token) { super(token); } - public PestToken2 copy() { - return new PestToken2(this); + public WitherbloomToken copy() { + return new WitherbloomToken(this); } } diff --git a/Utils/mtg-cards-data.txt b/Utils/mtg-cards-data.txt index e6c2c517e9f..5a4d9754a49 100644 --- a/Utils/mtg-cards-data.txt +++ b/Utils/mtg-cards-data.txt @@ -40632,7 +40632,7 @@ Tempted by the Oriq|Strixhaven: School of Mages|58|R|{1}{U}{U}{U}|Sorcery|||For Waterfall Aerialist|Strixhaven: School of Mages|61|C|{3}{U}|Creature - Djinn Wizard|3|1|Flying$Ward {2}| Baleful Mastery|Strixhaven: School of Mages|64|R|{3}{B}|Instant|||You may pay {1}{B} rather than pay this spell's mana cost.$If the {1}{B} cost was paid, an opponent draws a card.$Exile target creature or planeswalker.| Blrackish Trudge|Strixhaven: School of Mages|65|U|{2}{B}|Creature - Fungus Beast|4|2|Blrackish Trudge enters the battlefield tapped.${1}{B}: Return Blrackish Trudge from your graveyard to your hand. Activate only if you gained life this turn.| -Segemoor Witch|Strixhaven: School of Mages|66|R|{2}{B}|Creature - Human Warlock|3|2|Menance$Ward—Pay 3 life.$Magecraft — Whenever you cast or copy an instant or sorcery spell, create a 1/1 black and green Pest creature token with "Whenever this creature dies, you gain 1 life."| +Sedgemoor Witch|Strixhaven: School of Mages|66|R|{2}{B}|Creature - Human Warlock|3|2|Menance$Ward—Pay 3 life.$Magecraft — Whenever you cast or copy an instant or sorcery spell, create a 1/1 black and green Pest creature token with "Whenever this creature dies, you gain 1 life."| Confront the Past|Strixhaven: School of Mages|67|R|{X}{B}|Sorcery - Lesson|||Choose one —$• Return target planeswalker card with mana value X or less from your graveyard to the battlefield.$• Remove twice X loyalty counters from target planeswalker an opponent controls.| Essence Infusion|Strixhaven: School of Mages|69|C|{1}{B}|Sorcery|||Put two +1/+1 counters on target creature. It gains lifelink until end of turn.| Go Blank|Strixhaven: School of Mages|72|U|{2}{B}|Sorcery|||Target player discards two cards. Then exile all cards from that player's graveyard.|