From 943c67fbca16d0545d429da566ad740b742b350b Mon Sep 17 00:00:00 2001 From: Evan Kranzler Date: Mon, 21 Jun 2021 09:48:55 -0400 Subject: [PATCH] moved ManaSpentToCastWatcher to default watcher list --- Mage.Sets/src/mage/cards/a/ArdenvalePaladin.java | 3 +-- Mage.Sets/src/mage/cards/a/AzoriusHerald.java | 3 +-- Mage.Sets/src/mage/cards/b/BatwingBrume.java | 2 -- Mage.Sets/src/mage/cards/b/BergStrider.java | 2 +- Mage.Sets/src/mage/cards/c/CankerousThirst.java | 2 -- Mage.Sets/src/mage/cards/c/ClockworkServant.java | 3 +-- Mage.Sets/src/mage/cards/c/CourtHussar.java | 3 +-- Mage.Sets/src/mage/cards/c/CryptChampion.java | 3 +-- Mage.Sets/src/mage/cards/d/DawnglowInfusion.java | 2 -- Mage.Sets/src/mage/cards/e/EmberethPaladin.java | 3 +-- Mage.Sets/src/mage/cards/f/Firespout.java | 2 -- Mage.Sets/src/mage/cards/f/ForebodingFruit.java | 2 -- Mage.Sets/src/mage/cards/f/FractalHarness.java | 3 +-- Mage.Sets/src/mage/cards/g/GadwickTheWizened.java | 3 +-- Mage.Sets/src/mage/cards/g/GarenbrigPaladin.java | 3 +-- Mage.Sets/src/mage/cards/g/GruulScrapper.java | 3 +-- Mage.Sets/src/mage/cards/h/HengeWalker.java | 3 +-- Mage.Sets/src/mage/cards/i/InvertTheSkies.java | 2 -- Mage.Sets/src/mage/cards/l/LocthwainPaladin.java | 3 +-- Mage.Sets/src/mage/cards/m/Moonhold.java | 2 -- Mage.Sets/src/mage/cards/m/MythosOfBrokkos.java | 2 -- Mage.Sets/src/mage/cards/m/MythosOfIlluna.java | 2 -- Mage.Sets/src/mage/cards/m/MythosOfNethroi.java | 2 -- Mage.Sets/src/mage/cards/m/MythosOfSnapdax.java | 2 -- Mage.Sets/src/mage/cards/m/MythosOfVadrok.java | 2 -- Mage.Sets/src/mage/cards/n/NikoAris.java | 3 +-- Mage.Sets/src/mage/cards/o/OgreSavant.java | 4 +--- Mage.Sets/src/mage/cards/o/OnceAndFuture.java | 2 -- Mage.Sets/src/mage/cards/o/Outmuscle.java | 2 -- Mage.Sets/src/mage/cards/p/PatagiaViper.java | 3 +-- Mage.Sets/src/mage/cards/p/Plaxmanta.java | 3 +-- Mage.Sets/src/mage/cards/r/RadiantEpicure.java | 2 +- Mage.Sets/src/mage/cards/r/RallyForTheThrone.java | 2 -- Mage.Sets/src/mage/cards/r/RepelIntruders.java | 2 -- Mage.Sets/src/mage/cards/r/RevenantPatriarch.java | 3 +-- Mage.Sets/src/mage/cards/r/RiversGrasp.java | 2 -- Mage.Sets/src/mage/cards/s/SearingBarrage.java | 2 -- Mage.Sets/src/mage/cards/s/ShriekingGrotesque.java | 3 +-- Mage.Sets/src/mage/cards/s/SilverflameRitual.java | 2 -- Mage.Sets/src/mage/cards/s/SlayingFire.java | 2 -- Mage.Sets/src/mage/cards/s/SquealingDevil.java | 3 +-- Mage.Sets/src/mage/cards/s/SteamcoreWeird.java | 4 +--- Mage.Sets/src/mage/cards/s/StumpsquallHydra.java | 3 +-- Mage.Sets/src/mage/cards/t/TinStreetHooligan.java | 3 +-- Mage.Sets/src/mage/cards/t/TorrentOfSouls.java | 2 -- Mage.Sets/src/mage/cards/t/TurnIntoAPumpkin.java | 2 -- Mage.Sets/src/mage/cards/u/UnexplainedVision.java | 2 -- Mage.Sets/src/mage/cards/u/UnnervingAssault.java | 2 -- Mage.Sets/src/mage/cards/v/VantressPaladin.java | 3 +-- Mage/src/main/java/mage/game/GameImpl.java | 1 + .../java/mage/watchers/common/ManaSpentToCastWatcher.java | 1 + 51 files changed, 27 insertions(+), 98 deletions(-) diff --git a/Mage.Sets/src/mage/cards/a/ArdenvalePaladin.java b/Mage.Sets/src/mage/cards/a/ArdenvalePaladin.java index 4c93d789588..7dc40f0f7ca 100644 --- a/Mage.Sets/src/mage/cards/a/ArdenvalePaladin.java +++ b/Mage.Sets/src/mage/cards/a/ArdenvalePaladin.java @@ -9,7 +9,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; import mage.counters.CounterType; -import mage.watchers.common.ManaSpentToCastWatcher; import java.util.UUID; @@ -32,7 +31,7 @@ public final class ArdenvalePaladin extends CardImpl { AdamantCondition.WHITE, "
Adamant — " + "If at least three white mana was spent to cast this spell, " + "{this} enters the battlefield with a +1/+1 counter on it.", "" - ), new ManaSpentToCastWatcher()); + )); } private ArdenvalePaladin(final ArdenvalePaladin card) { diff --git a/Mage.Sets/src/mage/cards/a/AzoriusHerald.java b/Mage.Sets/src/mage/cards/a/AzoriusHerald.java index 9c1c0cae8eb..72008c39607 100644 --- a/Mage.Sets/src/mage/cards/a/AzoriusHerald.java +++ b/Mage.Sets/src/mage/cards/a/AzoriusHerald.java @@ -13,7 +13,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.ColoredManaSymbol; import mage.constants.SubType; -import mage.watchers.common.ManaSpentToCastWatcher; /** * @@ -33,7 +32,7 @@ public final class AzoriusHerald extends CardImpl { // When Azorius Herald enters the battlefield, you gain 4 life. this.addAbility(new EntersBattlefieldTriggeredAbility(new GainLifeEffect(4))); // When Azorius Herald enters the battlefield, sacrifice it unless {U} was spent to cast it. - this.addAbility(new EntersBattlefieldTriggeredAbility(new SacrificeSourceUnlessConditionEffect(new ManaWasSpentCondition(ColoredManaSymbol.U)), false), new ManaSpentToCastWatcher()); + this.addAbility(new EntersBattlefieldTriggeredAbility(new SacrificeSourceUnlessConditionEffect(new ManaWasSpentCondition(ColoredManaSymbol.U)), false)); } private AzoriusHerald(final AzoriusHerald card) { diff --git a/Mage.Sets/src/mage/cards/b/BatwingBrume.java b/Mage.Sets/src/mage/cards/b/BatwingBrume.java index 2fb21707307..2f70da83942 100644 --- a/Mage.Sets/src/mage/cards/b/BatwingBrume.java +++ b/Mage.Sets/src/mage/cards/b/BatwingBrume.java @@ -20,7 +20,6 @@ import mage.constants.Outcome; import mage.filter.common.FilterAttackingCreature; import mage.game.Game; import mage.players.Player; -import mage.watchers.common.ManaSpentToCastWatcher; /** * @@ -42,7 +41,6 @@ public final class BatwingBrume extends CardImpl { new BatwingBrumeEffect(), new ManaWasSpentCondition(ColoredManaSymbol.B), "Each player loses 1 life for each attacking creature they control if {B} was spent to cast this spell")); this.getSpellAbility().addEffect(new InfoEffect("(Do both if {W}{B} was spent.)")); - this.getSpellAbility().addWatcher(new ManaSpentToCastWatcher()); } diff --git a/Mage.Sets/src/mage/cards/b/BergStrider.java b/Mage.Sets/src/mage/cards/b/BergStrider.java index 85c3538f488..80dbf49013a 100644 --- a/Mage.Sets/src/mage/cards/b/BergStrider.java +++ b/Mage.Sets/src/mage/cards/b/BergStrider.java @@ -47,7 +47,7 @@ public final class BergStrider extends CardImpl { Ability ability = new EntersBattlefieldTriggeredAbility(new TapTargetEffect()); ability.addEffect(new BergStriderEffect()); ability.addTarget(new TargetPermanent(filter)); - this.addAbility(ability, new ManaSpentToCastWatcher()); + this.addAbility(ability); } private BergStrider(final BergStrider card) { diff --git a/Mage.Sets/src/mage/cards/c/CankerousThirst.java b/Mage.Sets/src/mage/cards/c/CankerousThirst.java index d1906aa9b46..ea3a3e04aa1 100644 --- a/Mage.Sets/src/mage/cards/c/CankerousThirst.java +++ b/Mage.Sets/src/mage/cards/c/CankerousThirst.java @@ -19,7 +19,6 @@ import mage.game.permanent.Permanent; import mage.players.Player; import mage.target.common.TargetCreaturePermanent; import mage.target.targetpointer.FixedTarget; -import mage.watchers.common.ManaSpentToCastWatcher; /** * @@ -36,7 +35,6 @@ public final class CankerousThirst extends CardImpl { this.getSpellAbility().addTarget(new TargetCreaturePermanent(new FilterCreaturePermanent("creature (1th effect -3/-3)"))); this.getSpellAbility().addTarget(new TargetCreaturePermanent(new FilterCreaturePermanent("creature (2nd effect +3/+3)"))); this.getSpellAbility().addEffect(new InfoEffect("(Do both if {B}{G} was spent.)")); - this.getSpellAbility().addWatcher(new ManaSpentToCastWatcher()); } private CankerousThirst(final CankerousThirst card) { diff --git a/Mage.Sets/src/mage/cards/c/ClockworkServant.java b/Mage.Sets/src/mage/cards/c/ClockworkServant.java index 0e38967ad99..cbabb5ecbbe 100644 --- a/Mage.Sets/src/mage/cards/c/ClockworkServant.java +++ b/Mage.Sets/src/mage/cards/c/ClockworkServant.java @@ -9,7 +9,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; -import mage.watchers.common.ManaSpentToCastWatcher; import java.util.UUID; @@ -30,7 +29,7 @@ public final class ClockworkServant extends CardImpl { new EntersBattlefieldTriggeredAbility(new DrawCardSourceControllerEffect(1)), AdamantCondition.ANY, "
Adamant — When {this} enters the battlefield, " + "if at least three mana of the same color was spent to cast it, draw a card." - ), new ManaSpentToCastWatcher()); + )); } private ClockworkServant(final ClockworkServant card) { diff --git a/Mage.Sets/src/mage/cards/c/CourtHussar.java b/Mage.Sets/src/mage/cards/c/CourtHussar.java index afb23b35fb6..4808edfac53 100644 --- a/Mage.Sets/src/mage/cards/c/CourtHussar.java +++ b/Mage.Sets/src/mage/cards/c/CourtHussar.java @@ -16,7 +16,6 @@ import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.constants.Zone; import mage.filter.FilterCard; -import mage.watchers.common.ManaSpentToCastWatcher; /** * @@ -39,7 +38,7 @@ public final class CourtHussar extends CardImpl { new LookLibraryAndPickControllerEffect(StaticValue.get(3), false, StaticValue.get(1), new FilterCard(), Zone.LIBRARY, false, false), false)); // When Court Hussar enters the battlefield, sacrifice it unless {W} was spent to cast it. - this.addAbility(new EntersBattlefieldTriggeredAbility(new SacrificeSourceUnlessConditionEffect(new ManaWasSpentCondition(ColoredManaSymbol.W)), false), new ManaSpentToCastWatcher()); + this.addAbility(new EntersBattlefieldTriggeredAbility(new SacrificeSourceUnlessConditionEffect(new ManaWasSpentCondition(ColoredManaSymbol.W)), false)); } private CourtHussar(final CourtHussar card) { diff --git a/Mage.Sets/src/mage/cards/c/CryptChampion.java b/Mage.Sets/src/mage/cards/c/CryptChampion.java index c3cb29d99ef..fbf59417c09 100644 --- a/Mage.Sets/src/mage/cards/c/CryptChampion.java +++ b/Mage.Sets/src/mage/cards/c/CryptChampion.java @@ -27,7 +27,6 @@ import mage.game.Game; import mage.players.Player; import mage.target.Target; import mage.target.common.TargetCardInGraveyard; -import mage.watchers.common.ManaSpentToCastWatcher; /** * @@ -49,7 +48,7 @@ public final class CryptChampion extends CardImpl { this.addAbility(new EntersBattlefieldTriggeredAbility(new CryptChampionEffect())); // When Crypt Champion enters the battlefield, sacrifice it unless {R} was spent to cast it. - this.addAbility(new EntersBattlefieldTriggeredAbility(new SacrificeSourceUnlessConditionEffect(new ManaWasSpentCondition(ColoredManaSymbol.R)), false), new ManaSpentToCastWatcher()); + this.addAbility(new EntersBattlefieldTriggeredAbility(new SacrificeSourceUnlessConditionEffect(new ManaWasSpentCondition(ColoredManaSymbol.R)), false)); } private CryptChampion(final CryptChampion card) { diff --git a/Mage.Sets/src/mage/cards/d/DawnglowInfusion.java b/Mage.Sets/src/mage/cards/d/DawnglowInfusion.java index 5af3c9d805d..c48878fea3b 100644 --- a/Mage.Sets/src/mage/cards/d/DawnglowInfusion.java +++ b/Mage.Sets/src/mage/cards/d/DawnglowInfusion.java @@ -12,7 +12,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.ColoredManaSymbol; -import mage.watchers.common.ManaSpentToCastWatcher; /** * @@ -33,7 +32,6 @@ public final class DawnglowInfusion extends CardImpl { new GainLifeEffect(xValue), new ManaWasSpentCondition(ColoredManaSymbol.W), " And X life if {W} was spent to cast it")); this.getSpellAbility().addEffect(new InfoEffect("(Do both if {G}{W} was spent.)")); - this.getSpellAbility().addWatcher(new ManaSpentToCastWatcher()); } diff --git a/Mage.Sets/src/mage/cards/e/EmberethPaladin.java b/Mage.Sets/src/mage/cards/e/EmberethPaladin.java index 001ca3a7b69..a744ea5d94d 100644 --- a/Mage.Sets/src/mage/cards/e/EmberethPaladin.java +++ b/Mage.Sets/src/mage/cards/e/EmberethPaladin.java @@ -10,7 +10,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; import mage.counters.CounterType; -import mage.watchers.common.ManaSpentToCastWatcher; import java.util.UUID; @@ -35,7 +34,7 @@ public final class EmberethPaladin extends CardImpl { new AddCountersSourceEffect(CounterType.P1P1.createInstance()), false, AdamantCondition.RED, "
Adamant — If at least three red mana was spent to cast this spell, " + "{this} enters the battlefield with a +1/+1 counter on it.", "" - ), new ManaSpentToCastWatcher()); + )); } private EmberethPaladin(final EmberethPaladin card) { diff --git a/Mage.Sets/src/mage/cards/f/Firespout.java b/Mage.Sets/src/mage/cards/f/Firespout.java index 92889cf53dd..395f2b72141 100644 --- a/Mage.Sets/src/mage/cards/f/Firespout.java +++ b/Mage.Sets/src/mage/cards/f/Firespout.java @@ -12,7 +12,6 @@ import mage.constants.ColoredManaSymbol; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.Predicates; import mage.filter.predicate.mageobject.AbilityPredicate; -import mage.watchers.common.ManaSpentToCastWatcher; import java.util.UUID; @@ -40,7 +39,6 @@ public final class Firespout extends CardImpl { this.getSpellAbility().addEffect(new ConditionalOneShotEffect( new DamageAllEffect(3, filter2), new ManaWasSpentCondition(ColoredManaSymbol.G), "and 3 damage to each creature with flying if {G} was spent to cast it. (Do both if {R}{G} was spent.)")); - this.getSpellAbility().addWatcher(new ManaSpentToCastWatcher()); } private Firespout(final Firespout card) { diff --git a/Mage.Sets/src/mage/cards/f/ForebodingFruit.java b/Mage.Sets/src/mage/cards/f/ForebodingFruit.java index 14cf2f44166..506fa270887 100644 --- a/Mage.Sets/src/mage/cards/f/ForebodingFruit.java +++ b/Mage.Sets/src/mage/cards/f/ForebodingFruit.java @@ -10,7 +10,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.game.permanent.token.FoodToken; import mage.target.TargetPlayer; -import mage.watchers.common.ManaSpentToCastWatcher; import java.util.UUID; @@ -32,7 +31,6 @@ public final class ForebodingFruit extends CardImpl { new CreateTokenEffect(new FoodToken()), AdamantCondition.BLACK, "
Adamant — " + "If at least three black mana was spent to cast this spell, create a Food token." )); - this.getSpellAbility().addWatcher(new ManaSpentToCastWatcher()); } private ForebodingFruit(final ForebodingFruit card) { diff --git a/Mage.Sets/src/mage/cards/f/FractalHarness.java b/Mage.Sets/src/mage/cards/f/FractalHarness.java index 775144b8211..71785fe42bb 100644 --- a/Mage.Sets/src/mage/cards/f/FractalHarness.java +++ b/Mage.Sets/src/mage/cards/f/FractalHarness.java @@ -17,7 +17,6 @@ import mage.game.Game; import mage.game.permanent.Permanent; import mage.game.permanent.token.QuandrixToken; import mage.game.permanent.token.Token; -import mage.watchers.common.ManaSpentToCastWatcher; import java.util.UUID; @@ -32,7 +31,7 @@ public final class FractalHarness extends CardImpl { this.subtype.add(SubType.EQUIPMENT); // When Fractal Harness enters the battlefield, create a 0/0 green and blue Fractal creature token. Put X +1/+1 counters on it and attach Fractal Harness to it. - this.addAbility(new EntersBattlefieldTriggeredAbility(new FractalHarnessTokenEffect()), new ManaSpentToCastWatcher()); + this.addAbility(new EntersBattlefieldTriggeredAbility(new FractalHarnessTokenEffect())); // Whenever equipped creature attacks, double the number of +1/+1 counters on it. this.addAbility(new AttacksAttachedTriggeredAbility( diff --git a/Mage.Sets/src/mage/cards/g/GadwickTheWizened.java b/Mage.Sets/src/mage/cards/g/GadwickTheWizened.java index 518703bb0c7..15aa8dad65b 100644 --- a/Mage.Sets/src/mage/cards/g/GadwickTheWizened.java +++ b/Mage.Sets/src/mage/cards/g/GadwickTheWizened.java @@ -19,7 +19,6 @@ import mage.filter.FilterSpell; import mage.filter.common.FilterNonlandPermanent; import mage.filter.predicate.mageobject.ColorPredicate; import mage.target.TargetPermanent; -import mage.watchers.common.ManaSpentToCastWatcher; import java.util.UUID; @@ -50,7 +49,7 @@ public final class GadwickTheWizened extends CardImpl { // When Gadwick, the Wizened enters the battlefield, draw X cards. this.addAbility(new EntersBattlefieldTriggeredAbility( new DrawCardSourceControllerEffect(ManacostVariableValue.instance) - ), new ManaSpentToCastWatcher()); + )); // Whenever you cast a blue spell, tap target nonland permanent an opponent controls. Ability ability = new SpellCastControllerTriggeredAbility(new TapTargetEffect(), filter, false); diff --git a/Mage.Sets/src/mage/cards/g/GarenbrigPaladin.java b/Mage.Sets/src/mage/cards/g/GarenbrigPaladin.java index a065fc257aa..4aadaabda2c 100644 --- a/Mage.Sets/src/mage/cards/g/GarenbrigPaladin.java +++ b/Mage.Sets/src/mage/cards/g/GarenbrigPaladin.java @@ -10,7 +10,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; import mage.counters.CounterType; -import mage.watchers.common.ManaSpentToCastWatcher; import java.util.UUID; @@ -32,7 +31,7 @@ public final class GarenbrigPaladin extends CardImpl { CounterType.P1P1.createInstance()), AdamantCondition.GREEN, "
Adamant — If at least three green mana was spent to cast this spell, " + "{this} enters the battlefield with a +1/+1 counter on it.", "" - ), new ManaSpentToCastWatcher()); + )); // Garenbrig Paladin can't be blocked by creatures with power 2 or less. this.addAbility(new DauntAbility()); diff --git a/Mage.Sets/src/mage/cards/g/GruulScrapper.java b/Mage.Sets/src/mage/cards/g/GruulScrapper.java index 859ae27abf8..c2ba1a253e2 100644 --- a/Mage.Sets/src/mage/cards/g/GruulScrapper.java +++ b/Mage.Sets/src/mage/cards/g/GruulScrapper.java @@ -14,7 +14,6 @@ import mage.constants.CardType; import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.constants.Duration; -import mage.watchers.common.ManaSpentToCastWatcher; /** * @@ -31,7 +30,7 @@ public final class GruulScrapper extends CardImpl { this.toughness = new MageInt(2); //When Gruul Scrapper enters the battlefield, if Red was spent to cast Gruul Scrapper, it gains haste until end of turn. - this.addAbility(new EntersBattlefieldTriggeredAbility(new ConditionalContinuousEffect(new GainAbilitySourceEffect(HasteAbility.getInstance(), Duration.EndOfTurn), new ManaWasSpentCondition(ColoredManaSymbol.R), " if {R} was spent to cast this spell, it gains haste until end of turn")), new ManaSpentToCastWatcher()); + this.addAbility(new EntersBattlefieldTriggeredAbility(new ConditionalContinuousEffect(new GainAbilitySourceEffect(HasteAbility.getInstance(), Duration.EndOfTurn), new ManaWasSpentCondition(ColoredManaSymbol.R), " if {R} was spent to cast this spell, it gains haste until end of turn"))); } diff --git a/Mage.Sets/src/mage/cards/h/HengeWalker.java b/Mage.Sets/src/mage/cards/h/HengeWalker.java index 1550201d9ce..767e62c7b50 100644 --- a/Mage.Sets/src/mage/cards/h/HengeWalker.java +++ b/Mage.Sets/src/mage/cards/h/HengeWalker.java @@ -9,7 +9,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; import mage.counters.CounterType; -import mage.watchers.common.ManaSpentToCastWatcher; import java.util.UUID; @@ -31,7 +30,7 @@ public final class HengeWalker extends CardImpl { AdamantCondition.ANY, "
Adamant — " + "If at least three mana of the same color was spent to cast this spell, " + "{this} enters the battlefield with a +1/+1 counter on it.", "" - ), new ManaSpentToCastWatcher()); + )); } private HengeWalker(final HengeWalker card) { diff --git a/Mage.Sets/src/mage/cards/i/InvertTheSkies.java b/Mage.Sets/src/mage/cards/i/InvertTheSkies.java index a19693bea88..a738dce64fe 100644 --- a/Mage.Sets/src/mage/cards/i/InvertTheSkies.java +++ b/Mage.Sets/src/mage/cards/i/InvertTheSkies.java @@ -17,7 +17,6 @@ import mage.constants.Duration; import mage.constants.TargetController; import mage.filter.FilterPermanent; import mage.filter.predicate.mageobject.AbilityPredicate; -import mage.watchers.common.ManaSpentToCastWatcher; /** * @@ -49,7 +48,6 @@ public final class InvertTheSkies extends CardImpl { "and creatures you control gain flying until end of turn if {U} was spent to cast it")); this.getSpellAbility().addEffect(new InfoEffect("(Do both if {G}{U} was spent.)")); - this.getSpellAbility().addWatcher(new ManaSpentToCastWatcher()); } diff --git a/Mage.Sets/src/mage/cards/l/LocthwainPaladin.java b/Mage.Sets/src/mage/cards/l/LocthwainPaladin.java index ab4ffa5d211..93b314d8d4e 100644 --- a/Mage.Sets/src/mage/cards/l/LocthwainPaladin.java +++ b/Mage.Sets/src/mage/cards/l/LocthwainPaladin.java @@ -10,7 +10,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; import mage.counters.CounterType; -import mage.watchers.common.ManaSpentToCastWatcher; import java.util.UUID; @@ -36,7 +35,7 @@ public final class LocthwainPaladin extends CardImpl { AdamantCondition.BLACK, "
Adamant — " + "If at least three black mana was spent to cast this spell, " + "{this} enters the battlefield with a +1/+1 counter on it.", "" - ), new ManaSpentToCastWatcher()); + )); } private LocthwainPaladin(final LocthwainPaladin card) { diff --git a/Mage.Sets/src/mage/cards/m/Moonhold.java b/Mage.Sets/src/mage/cards/m/Moonhold.java index 816dfa154ef..752e63a3bc0 100644 --- a/Mage.Sets/src/mage/cards/m/Moonhold.java +++ b/Mage.Sets/src/mage/cards/m/Moonhold.java @@ -20,7 +20,6 @@ import mage.constants.Outcome; import mage.game.Game; import mage.game.events.GameEvent; import mage.target.TargetPlayer; -import mage.watchers.common.ManaSpentToCastWatcher; /** * @@ -44,7 +43,6 @@ public final class Moonhold extends CardImpl { new LockedInCondition(new ManaWasSpentCondition(ColoredManaSymbol.W)))); this.getSpellAbility().addTarget(new TargetPlayer()); this.getSpellAbility().addEffect(new InfoEffect(" (Do both if {R}{W} was spent.)")); - this.getSpellAbility().addWatcher(new ManaSpentToCastWatcher()); } private Moonhold(final Moonhold card) { diff --git a/Mage.Sets/src/mage/cards/m/MythosOfBrokkos.java b/Mage.Sets/src/mage/cards/m/MythosOfBrokkos.java index 21a313547c5..430751fadfe 100644 --- a/Mage.Sets/src/mage/cards/m/MythosOfBrokkos.java +++ b/Mage.Sets/src/mage/cards/m/MythosOfBrokkos.java @@ -17,7 +17,6 @@ import mage.players.Player; import mage.target.TargetCard; import mage.target.common.TargetCardInLibrary; import mage.target.common.TargetCardInYourGraveyard; -import mage.watchers.common.ManaSpentToCastWatcher; import java.util.UUID; @@ -32,7 +31,6 @@ public final class MythosOfBrokkos extends CardImpl { // If {U}{B} was spent to cast Mythos of Brokkos, search your library for a card, put that card into your graveyard, then shuffle your library. // Return up to two permanent cards from your graveyard to your hand. this.getSpellAbility().addEffect(new MythosOfBrokkosEffect()); - this.getSpellAbility().addWatcher(new ManaSpentToCastWatcher()); } private MythosOfBrokkos(final MythosOfBrokkos card) { diff --git a/Mage.Sets/src/mage/cards/m/MythosOfIlluna.java b/Mage.Sets/src/mage/cards/m/MythosOfIlluna.java index 317324f6b0e..34ed73ced4f 100644 --- a/Mage.Sets/src/mage/cards/m/MythosOfIlluna.java +++ b/Mage.Sets/src/mage/cards/m/MythosOfIlluna.java @@ -18,7 +18,6 @@ import mage.filter.StaticFilters; import mage.game.Game; import mage.game.permanent.Permanent; import mage.target.TargetPermanent; -import mage.watchers.common.ManaSpentToCastWatcher; import java.util.UUID; @@ -33,7 +32,6 @@ public final class MythosOfIlluna extends CardImpl { // Create a token that's a copy of target permanent. If {R}{G} was spent to cast this spell, instead create a token that's a copy of that permanent, except the token has "When this permanent enters the battlefield, if it's a creature, it fights up to one target creature you don't control." this.getSpellAbility().addEffect(new MythosOfIllunaEffect()); this.getSpellAbility().addTarget(new TargetPermanent()); - this.getSpellAbility().addWatcher(new ManaSpentToCastWatcher()); } private MythosOfIlluna(final MythosOfIlluna card) { diff --git a/Mage.Sets/src/mage/cards/m/MythosOfNethroi.java b/Mage.Sets/src/mage/cards/m/MythosOfNethroi.java index 1492c08fd99..9d7ef4e85e9 100644 --- a/Mage.Sets/src/mage/cards/m/MythosOfNethroi.java +++ b/Mage.Sets/src/mage/cards/m/MythosOfNethroi.java @@ -13,7 +13,6 @@ import mage.constants.Outcome; import mage.game.Game; import mage.game.permanent.Permanent; import mage.target.common.TargetNonlandPermanent; -import mage.watchers.common.ManaSpentToCastWatcher; import java.util.UUID; @@ -28,7 +27,6 @@ public final class MythosOfNethroi extends CardImpl { // Destroy target nonland permanent if it's a creature or if {G}{W} was spent to cast this spell. this.getSpellAbility().addEffect(new MythosOfNethroiEffect()); this.getSpellAbility().addTarget(new TargetNonlandPermanent()); - this.getSpellAbility().addWatcher(new ManaSpentToCastWatcher()); } private MythosOfNethroi(final MythosOfNethroi card) { diff --git a/Mage.Sets/src/mage/cards/m/MythosOfSnapdax.java b/Mage.Sets/src/mage/cards/m/MythosOfSnapdax.java index 30c859a3799..c45bcb4a917 100644 --- a/Mage.Sets/src/mage/cards/m/MythosOfSnapdax.java +++ b/Mage.Sets/src/mage/cards/m/MythosOfSnapdax.java @@ -18,7 +18,6 @@ import mage.game.Game; import mage.game.permanent.Permanent; import mage.players.Player; import mage.target.TargetPermanent; -import mage.watchers.common.ManaSpentToCastWatcher; import java.util.*; import java.util.stream.Collectors; @@ -33,7 +32,6 @@ public class MythosOfSnapdax extends CardImpl { // Each player chooses an artifact, a creature, an enchantment, and a planeswalker from among the nonland permanents they control, then sacrifices the rest. If {B}{R} was spent to cast this spell, you choose the permanents for each player instead. this.getSpellAbility().addEffect(new MythosOfSnapdaxEffect()); - this.getSpellAbility().addWatcher(new ManaSpentToCastWatcher()); } private MythosOfSnapdax(final MythosOfSnapdax card) { diff --git a/Mage.Sets/src/mage/cards/m/MythosOfVadrok.java b/Mage.Sets/src/mage/cards/m/MythosOfVadrok.java index 5249c21263d..d93dc7196cc 100644 --- a/Mage.Sets/src/mage/cards/m/MythosOfVadrok.java +++ b/Mage.Sets/src/mage/cards/m/MythosOfVadrok.java @@ -17,7 +17,6 @@ import mage.constants.Outcome; import mage.game.Game; import mage.game.permanent.Permanent; import mage.target.common.TargetCreatureOrPlaneswalkerAmount; -import mage.watchers.common.ManaSpentToCastWatcher; import java.util.UUID; @@ -44,7 +43,6 @@ public final class MythosOfVadrok extends CardImpl { "until your next turn, those permanents can't attack or block " + "and their activated abilities can't be activated." )); - this.getSpellAbility().addWatcher(new ManaSpentToCastWatcher()); } private MythosOfVadrok(final MythosOfVadrok card) { diff --git a/Mage.Sets/src/mage/cards/n/NikoAris.java b/Mage.Sets/src/mage/cards/n/NikoAris.java index e8947090cf7..c43af1c8281 100644 --- a/Mage.Sets/src/mage/cards/n/NikoAris.java +++ b/Mage.Sets/src/mage/cards/n/NikoAris.java @@ -30,7 +30,6 @@ import mage.game.permanent.token.ShardToken; import mage.target.TargetPermanent; import mage.target.common.TargetControlledCreaturePermanent; import mage.watchers.common.CardsDrawnThisTurnWatcher; -import mage.watchers.common.ManaSpentToCastWatcher; import java.util.Objects; import java.util.UUID; @@ -58,7 +57,7 @@ public final class NikoAris extends CardImpl { // When Niko Aris enters the battlefield, create X Shard tokens. this.addAbility(new EntersBattlefieldTriggeredAbility( new CreateTokenEffect(new ShardToken(), ManacostVariableValue.instance) - ), new ManaSpentToCastWatcher()); + )); // +1: Up to one target creature you control can't be blocked this turn. Whenever that creature deals damage this turn, return it to its owner's hand. Ability ability = new LoyaltyAbility(new CantBeBlockedTargetEffect(Duration.EndOfTurn), 1); diff --git a/Mage.Sets/src/mage/cards/o/OgreSavant.java b/Mage.Sets/src/mage/cards/o/OgreSavant.java index 980b5f1a81d..278af44e902 100644 --- a/Mage.Sets/src/mage/cards/o/OgreSavant.java +++ b/Mage.Sets/src/mage/cards/o/OgreSavant.java @@ -14,7 +14,6 @@ import mage.constants.CardType; import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.target.common.TargetCreaturePermanent; -import mage.watchers.common.ManaSpentToCastWatcher; /** * @@ -33,8 +32,7 @@ public final class OgreSavant extends CardImpl { TriggeredAbility ability = new EntersBattlefieldTriggeredAbility(new ReturnToHandTargetEffect(),false); ability.addTarget(new TargetCreaturePermanent()); this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, new ManaWasSpentCondition(ColoredManaSymbol.U), - "if {U} was spent to cast this spell, return target creature to its owner's hand."), - new ManaSpentToCastWatcher()); + "if {U} was spent to cast this spell, return target creature to its owner's hand.")); } private OgreSavant(final OgreSavant card) { diff --git a/Mage.Sets/src/mage/cards/o/OnceAndFuture.java b/Mage.Sets/src/mage/cards/o/OnceAndFuture.java index 792d329a4aa..346e34f2f52 100644 --- a/Mage.Sets/src/mage/cards/o/OnceAndFuture.java +++ b/Mage.Sets/src/mage/cards/o/OnceAndFuture.java @@ -12,7 +12,6 @@ import mage.game.Game; import mage.players.Player; import mage.target.Target; import mage.target.common.TargetCardInYourGraveyard; -import mage.watchers.common.ManaSpentToCastWatcher; import java.util.UUID; @@ -36,7 +35,6 @@ public final class OnceAndFuture extends CardImpl { target.setTargetTag(2); this.getSpellAbility().addTarget(target); - this.getSpellAbility().addWatcher(new ManaSpentToCastWatcher()); } private OnceAndFuture(final OnceAndFuture card) { diff --git a/Mage.Sets/src/mage/cards/o/Outmuscle.java b/Mage.Sets/src/mage/cards/o/Outmuscle.java index 41ba760ce07..ee2dfabe1b5 100644 --- a/Mage.Sets/src/mage/cards/o/Outmuscle.java +++ b/Mage.Sets/src/mage/cards/o/Outmuscle.java @@ -18,7 +18,6 @@ import mage.game.permanent.Permanent; import mage.target.TargetPermanent; import mage.target.common.TargetControlledCreaturePermanent; import mage.target.targetpointer.FixedTarget; -import mage.watchers.common.ManaSpentToCastWatcher; import java.util.UUID; @@ -35,7 +34,6 @@ public final class Outmuscle extends CardImpl { this.getSpellAbility().addEffect(new OutmuscleEffect()); this.getSpellAbility().addTarget(new TargetControlledCreaturePermanent()); this.getSpellAbility().addTarget(new TargetPermanent(StaticFilters.FILTER_CREATURE_YOU_DONT_CONTROL)); - this.getSpellAbility().addWatcher(new ManaSpentToCastWatcher()); } private Outmuscle(final Outmuscle card) { diff --git a/Mage.Sets/src/mage/cards/p/PatagiaViper.java b/Mage.Sets/src/mage/cards/p/PatagiaViper.java index 36e1efc3413..a1bc8f971f8 100644 --- a/Mage.Sets/src/mage/cards/p/PatagiaViper.java +++ b/Mage.Sets/src/mage/cards/p/PatagiaViper.java @@ -14,7 +14,6 @@ import mage.constants.CardType; import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.game.permanent.token.PatagiaViperSnakeToken; -import mage.watchers.common.ManaSpentToCastWatcher; /** * @@ -36,7 +35,7 @@ public final class PatagiaViper extends CardImpl { this.addAbility(new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new PatagiaViperSnakeToken(), 2), false)); // When Patagia Viper enters the battlefield, sacrifice it unless {U} was spent to cast it. - this.addAbility(new EntersBattlefieldTriggeredAbility(new SacrificeSourceUnlessConditionEffect(new ManaWasSpentCondition(ColoredManaSymbol.U)), false), new ManaSpentToCastWatcher()); + this.addAbility(new EntersBattlefieldTriggeredAbility(new SacrificeSourceUnlessConditionEffect(new ManaWasSpentCondition(ColoredManaSymbol.U)), false)); } private PatagiaViper(final PatagiaViper card) { diff --git a/Mage.Sets/src/mage/cards/p/Plaxmanta.java b/Mage.Sets/src/mage/cards/p/Plaxmanta.java index 0de998cae3f..8e84e2573ff 100644 --- a/Mage.Sets/src/mage/cards/p/Plaxmanta.java +++ b/Mage.Sets/src/mage/cards/p/Plaxmanta.java @@ -16,7 +16,6 @@ import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.constants.Duration; import static mage.filter.StaticFilters.FILTER_PERMANENT_CREATURES; -import mage.watchers.common.ManaSpentToCastWatcher; /** * @@ -38,7 +37,7 @@ public final class Plaxmanta extends CardImpl { new GainAbilityControlledEffect(ShroudAbility.getInstance(), Duration.EndOfTurn, FILTER_PERMANENT_CREATURES))); // When Plaxmanta enters the battlefield, sacrifice it unless {G} was spent to cast it. - this.addAbility(new EntersBattlefieldTriggeredAbility(new SacrificeSourceUnlessConditionEffect(new ManaWasSpentCondition(ColoredManaSymbol.G)), false), new ManaSpentToCastWatcher()); + this.addAbility(new EntersBattlefieldTriggeredAbility(new SacrificeSourceUnlessConditionEffect(new ManaWasSpentCondition(ColoredManaSymbol.G)), false)); } private Plaxmanta(final Plaxmanta card) { diff --git a/Mage.Sets/src/mage/cards/r/RadiantEpicure.java b/Mage.Sets/src/mage/cards/r/RadiantEpicure.java index 479a818cbe3..5da5d1862cd 100644 --- a/Mage.Sets/src/mage/cards/r/RadiantEpicure.java +++ b/Mage.Sets/src/mage/cards/r/RadiantEpicure.java @@ -34,7 +34,7 @@ public final class RadiantEpicure extends CardImpl { // Converge — When Radiant Epicure enters the battlefield, each opponent loses X life and you gain X life, where X is the number of colors of mana spent to cast this spell. this.addAbility(new EntersBattlefieldTriggeredAbility( new RadiantEpicureEffect(), false, "Converge — " - ), new ManaSpentToCastWatcher()); + )); } private RadiantEpicure(final RadiantEpicure card) { diff --git a/Mage.Sets/src/mage/cards/r/RallyForTheThrone.java b/Mage.Sets/src/mage/cards/r/RallyForTheThrone.java index 86e39e86e97..9df7fc87320 100644 --- a/Mage.Sets/src/mage/cards/r/RallyForTheThrone.java +++ b/Mage.Sets/src/mage/cards/r/RallyForTheThrone.java @@ -11,7 +11,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.filter.StaticFilters; import mage.game.permanent.token.HumanToken; -import mage.watchers.common.ManaSpentToCastWatcher; import java.util.UUID; @@ -35,7 +34,6 @@ public final class RallyForTheThrone extends CardImpl { "If at least three white mana was spent to cast this spell, " + "you gain 1 life for each creature you control." )); - this.getSpellAbility().addWatcher(new ManaSpentToCastWatcher()); } private RallyForTheThrone(final RallyForTheThrone card) { diff --git a/Mage.Sets/src/mage/cards/r/RepelIntruders.java b/Mage.Sets/src/mage/cards/r/RepelIntruders.java index caea78ac98e..14ddd8b7dfc 100644 --- a/Mage.Sets/src/mage/cards/r/RepelIntruders.java +++ b/Mage.Sets/src/mage/cards/r/RepelIntruders.java @@ -12,7 +12,6 @@ import mage.constants.ColoredManaSymbol; import mage.filter.common.FilterCreatureSpell; import mage.game.permanent.token.KithkinSoldierToken; import mage.target.TargetSpell; -import mage.watchers.common.ManaSpentToCastWatcher; import java.util.UUID; @@ -36,7 +35,6 @@ public final class RepelIntruders extends CardImpl { new ManaWasSpentCondition(ColoredManaSymbol.U), " Counter up to one target creature spell if {U} was spent to cast this spell")); this.getSpellAbility().addTarget(target); this.getSpellAbility().addEffect(new InfoEffect("(Do both if {W}{U} was spent.)")); - this.getSpellAbility().addWatcher(new ManaSpentToCastWatcher()); } diff --git a/Mage.Sets/src/mage/cards/r/RevenantPatriarch.java b/Mage.Sets/src/mage/cards/r/RevenantPatriarch.java index e8ae19d5c59..c0afb01cd23 100644 --- a/Mage.Sets/src/mage/cards/r/RevenantPatriarch.java +++ b/Mage.Sets/src/mage/cards/r/RevenantPatriarch.java @@ -15,7 +15,6 @@ import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.constants.Duration; import mage.target.TargetPlayer; -import mage.watchers.common.ManaSpentToCastWatcher; /** * @@ -33,7 +32,7 @@ public final class RevenantPatriarch extends CardImpl { TriggeredAbility ability = new EntersBattlefieldTriggeredAbility(new SkipCombatStepEffect(Duration.OneUse).setText("target player skips their next combat phase."), false); ability.addTarget(new TargetPlayer()); this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, new ManaWasSpentCondition(ColoredManaSymbol.W), - "if {W} was spent to cast it, target player skips their next combat phase."), new ManaSpentToCastWatcher()); + "if {W} was spent to cast it, target player skips their next combat phase.")); // Revenant Patriarch can't block. this.addAbility(new CantBlockAbility()); } diff --git a/Mage.Sets/src/mage/cards/r/RiversGrasp.java b/Mage.Sets/src/mage/cards/r/RiversGrasp.java index f3d8d9ae6cb..d6bdf5b16cb 100644 --- a/Mage.Sets/src/mage/cards/r/RiversGrasp.java +++ b/Mage.Sets/src/mage/cards/r/RiversGrasp.java @@ -21,7 +21,6 @@ import mage.target.Target; import mage.target.TargetCard; import mage.target.TargetPlayer; import mage.target.common.TargetCreaturePermanent; -import mage.watchers.common.ManaSpentToCastWatcher; import java.util.UUID; @@ -47,7 +46,6 @@ public final class RiversGrasp extends CardImpl { this.getSpellAbility().addTarget(targetPlayer); this.getSpellAbility().addEffect(new InfoEffect("(Do both if {U}{B} was spent.)")); - this.getSpellAbility().addWatcher(new ManaSpentToCastWatcher()); } private RiversGrasp(final RiversGrasp card) { diff --git a/Mage.Sets/src/mage/cards/s/SearingBarrage.java b/Mage.Sets/src/mage/cards/s/SearingBarrage.java index 3032de92a33..c8ae4f7caf8 100644 --- a/Mage.Sets/src/mage/cards/s/SearingBarrage.java +++ b/Mage.Sets/src/mage/cards/s/SearingBarrage.java @@ -8,7 +8,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.target.common.TargetCreaturePermanent; -import mage.watchers.common.ManaSpentToCastWatcher; import java.util.UUID; @@ -30,7 +29,6 @@ public final class SearingBarrage extends CardImpl { "
Adamant — If at least three red mana was spent to cast this spell, " + "{this} deals 3 damage to that creature's controller." )); - this.getSpellAbility().addWatcher(new ManaSpentToCastWatcher()); } private SearingBarrage(final SearingBarrage card) { diff --git a/Mage.Sets/src/mage/cards/s/ShriekingGrotesque.java b/Mage.Sets/src/mage/cards/s/ShriekingGrotesque.java index d59cd1f9e26..638d1f20492 100644 --- a/Mage.Sets/src/mage/cards/s/ShriekingGrotesque.java +++ b/Mage.Sets/src/mage/cards/s/ShriekingGrotesque.java @@ -15,7 +15,6 @@ import mage.constants.CardType; import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.target.TargetPlayer; -import mage.watchers.common.ManaSpentToCastWatcher; /** * @@ -36,7 +35,7 @@ public final class ShriekingGrotesque extends CardImpl { TriggeredAbility ability = new EntersBattlefieldTriggeredAbility(new DiscardTargetEffect(1), false); ability.addTarget(new TargetPlayer()); this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, new ManaWasSpentCondition(ColoredManaSymbol.B), - "if {B} was spent to cast this spell, target player discards a card."), new ManaSpentToCastWatcher()); + "if {B} was spent to cast this spell, target player discards a card.")); } private ShriekingGrotesque(final ShriekingGrotesque card) { diff --git a/Mage.Sets/src/mage/cards/s/SilverflameRitual.java b/Mage.Sets/src/mage/cards/s/SilverflameRitual.java index c49488678fc..2095301a806 100644 --- a/Mage.Sets/src/mage/cards/s/SilverflameRitual.java +++ b/Mage.Sets/src/mage/cards/s/SilverflameRitual.java @@ -15,7 +15,6 @@ import mage.constants.Outcome; import mage.counters.CounterType; import mage.filter.StaticFilters; import mage.game.Game; -import mage.watchers.common.ManaSpentToCastWatcher; import java.util.UUID; @@ -38,7 +37,6 @@ public final class SilverflameRitual extends CardImpl { "
Adamant — If at least three white mana was spent to cast this spell, " + "creatures you control gain vigilance until end of turn." )); - this.getSpellAbility().addWatcher(new ManaSpentToCastWatcher()); } private SilverflameRitual(final SilverflameRitual card) { diff --git a/Mage.Sets/src/mage/cards/s/SlayingFire.java b/Mage.Sets/src/mage/cards/s/SlayingFire.java index 45b715cb314..1e9d762c0fa 100644 --- a/Mage.Sets/src/mage/cards/s/SlayingFire.java +++ b/Mage.Sets/src/mage/cards/s/SlayingFire.java @@ -7,7 +7,6 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.target.common.TargetAnyTarget; -import mage.watchers.common.ManaSpentToCastWatcher; import java.util.UUID; @@ -28,7 +27,6 @@ public final class SlayingFire extends CardImpl { "it deals 4 damage instead." )); this.getSpellAbility().addTarget(new TargetAnyTarget()); - this.getSpellAbility().addWatcher(new ManaSpentToCastWatcher()); } private SlayingFire(final SlayingFire card) { diff --git a/Mage.Sets/src/mage/cards/s/SquealingDevil.java b/Mage.Sets/src/mage/cards/s/SquealingDevil.java index 3366cc9c6ba..b96ec07eed5 100644 --- a/Mage.Sets/src/mage/cards/s/SquealingDevil.java +++ b/Mage.Sets/src/mage/cards/s/SquealingDevil.java @@ -26,7 +26,6 @@ import mage.game.permanent.Permanent; import mage.players.Player; import mage.target.common.TargetCreaturePermanent; import mage.target.targetpointer.FixedTarget; -import mage.watchers.common.ManaSpentToCastWatcher; /** * @@ -50,7 +49,7 @@ public final class SquealingDevil extends CardImpl { this.addAbility(ability); // When Squealing Devil enters the battlefield, sacrifice it unless {B} was spent to cast it. - this.addAbility(new EntersBattlefieldTriggeredAbility(new SacrificeSourceUnlessConditionEffect(new ManaWasSpentCondition(ColoredManaSymbol.B)), false), new ManaSpentToCastWatcher()); + this.addAbility(new EntersBattlefieldTriggeredAbility(new SacrificeSourceUnlessConditionEffect(new ManaWasSpentCondition(ColoredManaSymbol.B)), false)); } diff --git a/Mage.Sets/src/mage/cards/s/SteamcoreWeird.java b/Mage.Sets/src/mage/cards/s/SteamcoreWeird.java index 9d5c194f2bd..7333d208fa1 100644 --- a/Mage.Sets/src/mage/cards/s/SteamcoreWeird.java +++ b/Mage.Sets/src/mage/cards/s/SteamcoreWeird.java @@ -14,7 +14,6 @@ import mage.constants.CardType; import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.target.common.TargetAnyTarget; -import mage.watchers.common.ManaSpentToCastWatcher; /** * @@ -32,8 +31,7 @@ public final class SteamcoreWeird extends CardImpl { TriggeredAbility ability = new EntersBattlefieldTriggeredAbility(new DamageTargetEffect(2, "it")); ability.addTarget(new TargetAnyTarget()); this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, new ManaWasSpentCondition(ColoredManaSymbol.R), - "if {R} was spent to cast this spell, it deals 2 damage to any target."), - new ManaSpentToCastWatcher()); + "if {R} was spent to cast this spell, it deals 2 damage to any target.")); } private SteamcoreWeird(final SteamcoreWeird card) { diff --git a/Mage.Sets/src/mage/cards/s/StumpsquallHydra.java b/Mage.Sets/src/mage/cards/s/StumpsquallHydra.java index 2434e8580d8..7bde96ae959 100644 --- a/Mage.Sets/src/mage/cards/s/StumpsquallHydra.java +++ b/Mage.Sets/src/mage/cards/s/StumpsquallHydra.java @@ -21,7 +21,6 @@ import mage.game.permanent.Permanent; import mage.players.Player; import mage.target.TargetAmount; import mage.target.common.TargetCreatureOrPlaneswalkerAmount; -import mage.watchers.common.ManaSpentToCastWatcher; import java.util.UUID; @@ -38,7 +37,7 @@ public final class StumpsquallHydra extends CardImpl { this.toughness = new MageInt(1); // When Stumpsquall Hydra enters the battlefield, distribute X +1/+1 counters among it and any number of commanders. - this.addAbility(new EntersBattlefieldTriggeredAbility(new StumpsquallHydraEffect()), new ManaSpentToCastWatcher()); + this.addAbility(new EntersBattlefieldTriggeredAbility(new StumpsquallHydraEffect())); } private StumpsquallHydra(final StumpsquallHydra card) { diff --git a/Mage.Sets/src/mage/cards/t/TinStreetHooligan.java b/Mage.Sets/src/mage/cards/t/TinStreetHooligan.java index 001bed698d8..00d1d4cc7d2 100644 --- a/Mage.Sets/src/mage/cards/t/TinStreetHooligan.java +++ b/Mage.Sets/src/mage/cards/t/TinStreetHooligan.java @@ -14,7 +14,6 @@ import mage.constants.CardType; import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.target.common.TargetArtifactPermanent; -import mage.watchers.common.ManaSpentToCastWatcher; /** * @@ -36,7 +35,7 @@ public final class TinStreetHooligan extends CardImpl { new ManaWasSpentCondition(ColoredManaSymbol.G), "When {this} enters the battlefield, if {G} was spent to cast Tin Street Hooligan, destroy target artifact."); ability.addTarget(new TargetArtifactPermanent()); - this.addAbility(ability, new ManaSpentToCastWatcher()); + this.addAbility(ability); } private TinStreetHooligan(final TinStreetHooligan card) { diff --git a/Mage.Sets/src/mage/cards/t/TorrentOfSouls.java b/Mage.Sets/src/mage/cards/t/TorrentOfSouls.java index 5560ffe37db..066a935d58b 100644 --- a/Mage.Sets/src/mage/cards/t/TorrentOfSouls.java +++ b/Mage.Sets/src/mage/cards/t/TorrentOfSouls.java @@ -26,7 +26,6 @@ import mage.players.Player; import mage.target.Target; import mage.target.TargetPlayer; import mage.target.common.TargetCardInYourGraveyard; -import mage.watchers.common.ManaSpentToCastWatcher; /** * @@ -51,7 +50,6 @@ public final class TorrentOfSouls extends CardImpl { this.getSpellAbility().addTarget(targetPlayer); this.getSpellAbility().addEffect(new InfoEffect("(Do both if {B}{R} was spent.)")); - this.getSpellAbility().addWatcher(new ManaSpentToCastWatcher()); } diff --git a/Mage.Sets/src/mage/cards/t/TurnIntoAPumpkin.java b/Mage.Sets/src/mage/cards/t/TurnIntoAPumpkin.java index 93246265811..749040bb976 100644 --- a/Mage.Sets/src/mage/cards/t/TurnIntoAPumpkin.java +++ b/Mage.Sets/src/mage/cards/t/TurnIntoAPumpkin.java @@ -10,7 +10,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.game.permanent.token.FoodToken; import mage.target.common.TargetNonlandPermanent; -import mage.watchers.common.ManaSpentToCastWatcher; import java.util.UUID; @@ -33,7 +32,6 @@ public final class TurnIntoAPumpkin extends CardImpl { "
Adamant — If at least three blue mana " + "was spent to cast this spell, create a Food token." )); - this.getSpellAbility().addWatcher(new ManaSpentToCastWatcher()); } private TurnIntoAPumpkin(final TurnIntoAPumpkin card) { diff --git a/Mage.Sets/src/mage/cards/u/UnexplainedVision.java b/Mage.Sets/src/mage/cards/u/UnexplainedVision.java index 3fb0d06e51c..bfca6cf922f 100644 --- a/Mage.Sets/src/mage/cards/u/UnexplainedVision.java +++ b/Mage.Sets/src/mage/cards/u/UnexplainedVision.java @@ -7,7 +7,6 @@ import mage.abilities.effects.keyword.ScryEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; -import mage.watchers.common.ManaSpentToCastWatcher; import java.util.UUID; @@ -27,7 +26,6 @@ public final class UnexplainedVision extends CardImpl { new ScryEffect(3), AdamantCondition.BLUE, "
Adamant — " + "If at least three blue mana was spent to cast this spell, scry 3." )); - this.getSpellAbility().addWatcher(new ManaSpentToCastWatcher()); } private UnexplainedVision(final UnexplainedVision card) { diff --git a/Mage.Sets/src/mage/cards/u/UnnervingAssault.java b/Mage.Sets/src/mage/cards/u/UnnervingAssault.java index ec90efb3b7c..4234257366b 100644 --- a/Mage.Sets/src/mage/cards/u/UnnervingAssault.java +++ b/Mage.Sets/src/mage/cards/u/UnnervingAssault.java @@ -13,7 +13,6 @@ import mage.constants.ColoredManaSymbol; import mage.constants.Duration; import mage.constants.TargetController; import mage.filter.common.FilterCreaturePermanent; -import mage.watchers.common.ManaSpentToCastWatcher; /** * @@ -41,7 +40,6 @@ public final class UnnervingAssault extends CardImpl { new BoostAllEffect(1, 0, Duration.EndOfTurn, filter2, false), new ManaWasSpentCondition(ColoredManaSymbol.R), " and creatures you control get +1/+0 until end of turn if {R} was spent to cast it")); this.getSpellAbility().addEffect(new InfoEffect("(Do both if {U}{R} was spent.)")); - this.getSpellAbility().addWatcher(new ManaSpentToCastWatcher()); } diff --git a/Mage.Sets/src/mage/cards/v/VantressPaladin.java b/Mage.Sets/src/mage/cards/v/VantressPaladin.java index 2c1ef9dfef1..72935dc03de 100644 --- a/Mage.Sets/src/mage/cards/v/VantressPaladin.java +++ b/Mage.Sets/src/mage/cards/v/VantressPaladin.java @@ -10,7 +10,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; import mage.counters.CounterType; -import mage.watchers.common.ManaSpentToCastWatcher; import java.util.UUID; @@ -36,7 +35,7 @@ public final class VantressPaladin extends CardImpl { AdamantCondition.BLUE, "
Adamant — " + "If at least three blue mana was spent to cast this spell, " + "{this} enters the battlefield with a +1/+1 counter on it.", "" - ), new ManaSpentToCastWatcher()); + )); } private VantressPaladin(final VantressPaladin card) { diff --git a/Mage/src/main/java/mage/game/GameImpl.java b/Mage/src/main/java/mage/game/GameImpl.java index 53eda2a74ae..81939b25d42 100644 --- a/Mage/src/main/java/mage/game/GameImpl.java +++ b/Mage/src/main/java/mage/game/GameImpl.java @@ -1142,6 +1142,7 @@ public abstract class GameImpl implements Game, Serializable { getState().addWatcher(new AttackedThisTurnWatcher()); getState().addWatcher(new PlayersAttackedThisTurnWatcher()); getState().addWatcher(new CardsDrawnThisTurnWatcher()); + getState().addWatcher(new ManaSpentToCastWatcher()); } public void initPlayerDefaultWatchers(UUID playerId) { diff --git a/Mage/src/main/java/mage/watchers/common/ManaSpentToCastWatcher.java b/Mage/src/main/java/mage/watchers/common/ManaSpentToCastWatcher.java index 79b9ffdd036..99d132f7239 100644 --- a/Mage/src/main/java/mage/watchers/common/ManaSpentToCastWatcher.java +++ b/Mage/src/main/java/mage/watchers/common/ManaSpentToCastWatcher.java @@ -11,6 +11,7 @@ import mage.watchers.Watcher; /** * Watcher saves the mana that was spent to cast a spell + * automatically added in each game * * @author LevelX2 */