From 5ae1f650746a14789421ba82e64e4e3e867f76c4 Mon Sep 17 00:00:00 2001 From: Muz Date: Mon, 19 Jan 2026 12:53:16 -0600 Subject: [PATCH] [TMT] Implement Weather Maker (#14289) --- Mage.Sets/src/mage/cards/w/WeatherMaker.java | 48 ++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/w/WeatherMaker.java diff --git a/Mage.Sets/src/mage/cards/w/WeatherMaker.java b/Mage.Sets/src/mage/cards/w/WeatherMaker.java new file mode 100644 index 00000000000..8fc97bce11c --- /dev/null +++ b/Mage.Sets/src/mage/cards/w/WeatherMaker.java @@ -0,0 +1,48 @@ +package mage.cards.w; + +import java.util.UUID; + +import mage.abilities.common.LandfallAbility; +import mage.abilities.effects.common.counter.AddCountersSourceEffect; +import mage.abilities.mana.AnyColorManaAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.counters.CounterType; + +/** + * + * @author muz + */ +public final class WeatherMaker extends CardImpl { + + public WeatherMaker(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{3}"); + + // Landfall - Whenever a land you control enters, put a charge counter on this artifact. + this.addAbility(new LandfallAbility(new AddCountersSourceEffect(CounterType.CHARGE.createInstance()))); + + // {T}: Add one mana of any color. + this.addAbility(new AnyColorManaAbility()); + + // {T}, Remove two charge counters from this artifact: Add {C}{C}. + Ability manaAbility = new SimpleManaAbility(Zone.BATTLEFIELD, Mana.ColorlessMana(2), new TapSourceCost()); + manaAbility.addCost(new RemoveCountersSourceCost(CounterType.CHARGE.createInstance(2))); + this.addAbility(manaAbility); + + // {T}, Remove three charge counters from this artifact: It deals 3 damage to any target. + Ability damageAbility = new SimpleActivatedAbility(new DamageTargetEffect(3), new TapSourceCost()); + damageAbility.addCost(new RemoveCountersSourceCost(CounterType.CHARGE.createInstance(3))); + damageAbility.addTarget(new TargetAnyTarget()); + this.addAbility(damageAbility); + } + + private WeatherMaker(final WeatherMaker card) { + super(card); + } + + @Override + public WeatherMaker copy() { + return new WeatherMaker(this); + } +}