From b0f896611e80a903d5dd717a08fdf9c359b65c81 Mon Sep 17 00:00:00 2001 From: Evan Kranzler Date: Wed, 23 Nov 2022 17:53:56 -0500 Subject: [PATCH] [J22] Implement Soul Read --- Mage.Sets/src/mage/cards/s/SoulRead.java | 39 ++++++++++++++++++++++ Mage.Sets/src/mage/sets/Jumpstart2022.java | 1 + 2 files changed, 40 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/s/SoulRead.java diff --git a/Mage.Sets/src/mage/cards/s/SoulRead.java b/Mage.Sets/src/mage/cards/s/SoulRead.java new file mode 100644 index 0000000000..af64ccda51 --- /dev/null +++ b/Mage.Sets/src/mage/cards/s/SoulRead.java @@ -0,0 +1,39 @@ +package mage.cards.s; + +import mage.abilities.Mode; +import mage.abilities.costs.mana.GenericManaCost; +import mage.abilities.effects.common.CounterUnlessPaysEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.target.TargetSpell; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class SoulRead extends CardImpl { + + public SoulRead(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{3}{U}"); + + // Choose one -- + // * Counter target spell unless its controller pays {4}. + this.getSpellAbility().addEffect(new CounterUnlessPaysEffect(new GenericManaCost(4))); + this.getSpellAbility().addTarget(new TargetSpell()); + + // * Draw two cards. + this.getSpellAbility().addMode(new Mode(new DrawCardSourceControllerEffect(2))); + } + + private SoulRead(final SoulRead card) { + super(card); + } + + @Override + public SoulRead copy() { + return new SoulRead(this); + } +} diff --git a/Mage.Sets/src/mage/sets/Jumpstart2022.java b/Mage.Sets/src/mage/sets/Jumpstart2022.java index 67478a1b3f..adfb40f04f 100644 --- a/Mage.Sets/src/mage/sets/Jumpstart2022.java +++ b/Mage.Sets/src/mage/sets/Jumpstart2022.java @@ -67,6 +67,7 @@ public final class Jumpstart2022 extends ExpansionSet { cards.add(new SetCardInfo("Rodolf Duskbringer", 25, Rarity.RARE, mage.cards.r.RodolfDuskbringer.class)); cards.add(new SetCardInfo("Seizan, Perverter of Truth", 463, Rarity.RARE, mage.cards.s.SeizanPerverterOfTruth.class)); cards.add(new SetCardInfo("Sinuous Vermin", 465, Rarity.COMMON, mage.cards.s.SinuousVermin.class)); + cards.add(new SetCardInfo("Soul Read", 17, Rarity.COMMON, mage.cards.s.SoulRead.class)); cards.add(new SetCardInfo("Spectral Hunt-Caller", 45, Rarity.COMMON, mage.cards.s.SpectralHuntCaller.class)); cards.add(new SetCardInfo("Spectral Sailor", 64, Rarity.UNCOMMON, mage.cards.s.SpectralSailor.class)); cards.add(new SetCardInfo("Spellstutter Sprite", 65, Rarity.COMMON, mage.cards.s.SpellstutterSprite.class));