From 6155f2d403c95db00d8a266bfb63818c6b60e144 Mon Sep 17 00:00:00 2001 From: xenohedron Date: Thu, 30 Nov 2023 00:36:31 -0500 Subject: [PATCH] remove DamageDoneWatcher from default watchers --- Mage.Sets/src/mage/cards/c/ChandraFireOfKaladesh.java | 3 ++- Mage.Sets/src/mage/cards/n/NeedleDrop.java | 2 ++ Mage.Sets/src/mage/cards/w/WaveOfRats.java | 5 +++-- .../condition/common/SourceDealtDamageCondition.java | 6 ++++-- Mage/src/main/java/mage/game/GameImpl.java | 1 - 5 files changed, 11 insertions(+), 6 deletions(-) diff --git a/Mage.Sets/src/mage/cards/c/ChandraFireOfKaladesh.java b/Mage.Sets/src/mage/cards/c/ChandraFireOfKaladesh.java index bcb21310eb4..237c6fd8df3 100644 --- a/Mage.Sets/src/mage/cards/c/ChandraFireOfKaladesh.java +++ b/Mage.Sets/src/mage/cards/c/ChandraFireOfKaladesh.java @@ -21,6 +21,7 @@ import mage.constants.*; import mage.filter.FilterSpell; import mage.filter.predicate.mageobject.ColorPredicate; import mage.target.common.TargetPlayerOrPlaneswalker; +import mage.watchers.common.DamageDoneWatcher; /** * @@ -52,7 +53,7 @@ public final class ChandraFireOfKaladesh extends CardImpl { Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(1), new TapSourceCost()); ability.addEffect(new ConditionalOneShotEffect(new ExileAndReturnSourceEffect(PutCards.BATTLEFIELD_TRANSFORMED,Pronoun.SHE), new SourceDealtDamageCondition(3))); ability.addTarget(new TargetPlayerOrPlaneswalker()); - this.addAbility(ability); + this.addAbility(ability, new DamageDoneWatcher()); } diff --git a/Mage.Sets/src/mage/cards/n/NeedleDrop.java b/Mage.Sets/src/mage/cards/n/NeedleDrop.java index 1bc8bb02d48..a9aa925262d 100644 --- a/Mage.Sets/src/mage/cards/n/NeedleDrop.java +++ b/Mage.Sets/src/mage/cards/n/NeedleDrop.java @@ -38,6 +38,8 @@ public final class NeedleDrop extends CardImpl { // Draw a card. this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1).concatBy("
")); + + this.getSpellAbility().addWatcher(new DamageDoneWatcher()); } private NeedleDrop(final NeedleDrop card) { diff --git a/Mage.Sets/src/mage/cards/w/WaveOfRats.java b/Mage.Sets/src/mage/cards/w/WaveOfRats.java index 345cc03baf7..76977bd1c24 100644 --- a/Mage.Sets/src/mage/cards/w/WaveOfRats.java +++ b/Mage.Sets/src/mage/cards/w/WaveOfRats.java @@ -37,7 +37,8 @@ public class WaveOfRats extends CardImpl { this.addAbility(new ConditionalInterveningIfTriggeredAbility( new DiesSourceTriggeredAbility(new ReturnToBattlefieldUnderOwnerControlSourceEffect()), WaveOfRatsDealtDamageToPlayerCondition.instance, - "When Wave of Rats dies, if it dealt combat damage to a player this turn, return it to the battlefield under its owner's control.") + "When Wave of Rats dies, if it dealt combat damage to a player this turn, return it to the battlefield under its owner's control."), + new DamageDoneWatcher() ); // Blitz {4}{B} (If you cast this spell for its blitz cost, it gains haste and “When this creature dies, draw a card.” Sacrifice it at the beginning of the next end step.) @@ -69,4 +70,4 @@ enum WaveOfRatsDealtDamageToPlayerCondition implements Condition { } return watcher.damagedAPlayer(waveOfRats.getId(), waveOfRats.getZoneChangeCounter(game), game); } -} \ No newline at end of file +} diff --git a/Mage/src/main/java/mage/abilities/condition/common/SourceDealtDamageCondition.java b/Mage/src/main/java/mage/abilities/condition/common/SourceDealtDamageCondition.java index 2f4e4423e24..5512e058588 100644 --- a/Mage/src/main/java/mage/abilities/condition/common/SourceDealtDamageCondition.java +++ b/Mage/src/main/java/mage/abilities/condition/common/SourceDealtDamageCondition.java @@ -9,10 +9,12 @@ import mage.watchers.common.DamageDoneWatcher; * * @author LevelX2 */ - public class SourceDealtDamageCondition implements Condition { private final int value; + /** + * Must add DamageDoneWatcher on card init + */ public SourceDealtDamageCondition(int value) { this.value = value; } @@ -29,4 +31,4 @@ public class SourceDealtDamageCondition implements Condition { } -} \ No newline at end of file +} diff --git a/Mage/src/main/java/mage/game/GameImpl.java b/Mage/src/main/java/mage/game/GameImpl.java index 7d3aad0b462..3b813bd1d8d 100644 --- a/Mage/src/main/java/mage/game/GameImpl.java +++ b/Mage/src/main/java/mage/game/GameImpl.java @@ -1339,7 +1339,6 @@ public abstract class GameImpl implements Game { newWatchers.add(new CastSpellLastTurnWatcher()); newWatchers.add(new PlayerLostLifeWatcher()); newWatchers.add(new BlockedAttackerWatcher()); - newWatchers.add(new DamageDoneWatcher()); // TODO: no need to be default watcher newWatchers.add(new PlanarRollWatcher()); // TODO: no need to be default watcher newWatchers.add(new AttackedThisTurnWatcher()); newWatchers.add(new CardsDrawnThisTurnWatcher());