From f0ea399ac6605d7fe051ddedd97a98d648affb30 Mon Sep 17 00:00:00 2001 From: theelk801 Date: Sat, 14 Jan 2023 13:47:44 -0500 Subject: [PATCH] [ONE] Implement Norn's Wellspring --- .../src/mage/cards/n/NornsWellspring.java | 51 +++++++++++++++++++ .../src/mage/sets/PhyrexiaAllWillBeOne.java | 1 + 2 files changed, 52 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/n/NornsWellspring.java diff --git a/Mage.Sets/src/mage/cards/n/NornsWellspring.java b/Mage.Sets/src/mage/cards/n/NornsWellspring.java new file mode 100644 index 00000000000..d6a7341837e --- /dev/null +++ b/Mage.Sets/src/mage/cards/n/NornsWellspring.java @@ -0,0 +1,51 @@ +package mage.cards.n; + +import java.util.UUID; + +import mage.abilities.Ability; +import mage.abilities.common.DiesCreatureTriggeredAbility; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.costs.common.RemoveCountersSourceCost; +import mage.abilities.costs.common.TapSourceCost; +import mage.abilities.costs.mana.GenericManaCost; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; +import mage.abilities.effects.common.counter.AddCountersSourceEffect; +import mage.abilities.effects.keyword.ScryEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.counters.CounterType; +import mage.filter.StaticFilters; + +/** + * @author TheElk801 + */ +public final class NornsWellspring extends CardImpl { + + public NornsWellspring(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{1}{W}"); + + // Whenever a creature you control dies, scry 1 and put an oil counter on Norn's Wellspring. + Ability ability = new DiesCreatureTriggeredAbility( + new ScryEffect(1, false), + false, StaticFilters.FILTER_CONTROLLED_A_CREATURE + ); + ability.addEffect(new AddCountersSourceEffect(CounterType.OIL.createInstance()).concatBy("and")); + this.addAbility(ability); + + // {1}, {T}, Remove two oil counters from Norn's Wellspring: Draw a card. + ability = new SimpleActivatedAbility(new DrawCardSourceControllerEffect(1), new GenericManaCost(1)); + ability.addCost(new TapSourceCost()); + ability.addCost(new RemoveCountersSourceCost(CounterType.OIL.createInstance(2))); + this.addAbility(ability); + } + + private NornsWellspring(final NornsWellspring card) { + super(card); + } + + @Override + public NornsWellspring copy() { + return new NornsWellspring(this); + } +} diff --git a/Mage.Sets/src/mage/sets/PhyrexiaAllWillBeOne.java b/Mage.Sets/src/mage/sets/PhyrexiaAllWillBeOne.java index 8b52911e44a..105e61f2773 100644 --- a/Mage.Sets/src/mage/sets/PhyrexiaAllWillBeOne.java +++ b/Mage.Sets/src/mage/sets/PhyrexiaAllWillBeOne.java @@ -30,6 +30,7 @@ public final class PhyrexiaAllWillBeOne extends ExpansionSet { cards.add(new SetCardInfo("Island", 273, Rarity.LAND, mage.cards.basiclands.Island.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Mirrex", 254, Rarity.RARE, mage.cards.m.Mirrex.class)); cards.add(new SetCardInfo("Mountain", 275, Rarity.LAND, mage.cards.basiclands.Mountain.class, NON_FULL_USE_VARIOUS)); + cards.add(new SetCardInfo("Norn's Wellspring", 24, Rarity.RARE, mage.cards.n.NornsWellspring.class)); cards.add(new SetCardInfo("Phyrexian Arena", 104, Rarity.RARE, mage.cards.p.PhyrexianArena.class)); cards.add(new SetCardInfo("Phyrexian Obliterator", 105, Rarity.MYTHIC, mage.cards.p.PhyrexianObliterator.class)); cards.add(new SetCardInfo("Plains", 272, Rarity.LAND, mage.cards.basiclands.Plains.class, NON_FULL_USE_VARIOUS));