more watcher cleanup

This commit is contained in:
xenohedron 2023-11-29 20:32:36 -05:00
parent f7d70a7b11
commit 37722a58c2
10 changed files with 15 additions and 10 deletions

View file

@ -34,7 +34,7 @@ public final class DampingSphere extends CardImpl {
this.addAbility(new SimpleStaticAbility(new DampingSphereReplacementEffect()));
// Each spell a player casts costs {1} more to cast for each other spell that player has cast this turn.
this.addAbility(new SimpleStaticAbility(new DampingSphereIncreasementAllEffect()), new CastSpellLastTurnWatcher());
this.addAbility(new SimpleStaticAbility(new DampingSphereIncreasementAllEffect()));
}
private DampingSphere(final DampingSphere card) {

View file

@ -32,7 +32,7 @@ public final class ErtaisScorn extends CardImpl {
new ManaCostsImpl<>("{U}"),
ErtaisScornCondition.instance
)
).setRuleAtTheTop(true), new CastSpellLastTurnWatcher());
).setRuleAtTheTop(true));
// Counter target spell.
this.getSpellAbility().addTarget(new TargetSpell());

View file

@ -37,7 +37,7 @@ public final class MagusOfTheMind extends CardImpl {
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new MagusOfTheMindEffect(), new ManaCostsImpl<>("{U}"));
ability.addCost(new TapSourceCost());
ability.addCost(new SacrificeSourceCost());
this.addAbility(ability, new CastSpellLastTurnWatcher());
this.addAbility(ability);
}
private MagusOfTheMind(final MagusOfTheMind card) {

View file

@ -40,8 +40,6 @@ public final class RevengeStarWars extends CardImpl {
this.getSpellAbility().addTarget(new TargetControlledCreaturePermanent());
this.getSpellAbility().addTarget(new TargetOpponentsCreaturePermanent());
this.getSpellAbility().addWatcher(new PlayerLostLifeWatcher());
}
private RevengeStarWars(final RevengeStarWars card) {

View file

@ -40,8 +40,7 @@ public final class RowanScionOfWar extends CardImpl {
new ActivateAsSorceryActivatedAbility(
new RowanScionOfWarEffect(),
new TapSourceCost()
).addHint(ControllerLostLifeCount.getHint()),
new PlayerLostLifeWatcher()
).addHint(ControllerLostLifeCount.getHint())
);
}

View file

@ -44,7 +44,7 @@ public final class VancesBlastingCannons extends CardImpl {
// Whenever you cast your third spell in a turn, transform Vance's Blasting Cannons.
this.addAbility(new TransformAbility());
this.addAbility(new VancesBlastingCannonsFlipTrigger(), new CastSpellLastTurnWatcher());
this.addAbility(new VancesBlastingCannonsFlipTrigger());
}
private VancesBlastingCannons(final VancesBlastingCannons card) {

View file

@ -46,7 +46,6 @@ public class CastSecondSpellTriggeredAbility extends TriggeredAbilityImpl {
public CastSecondSpellTriggeredAbility(Zone zone, Effect effect, TargetController targetController,
boolean optional, SetTargetPointer setTargetPointer) {
super(zone, effect, optional);
this.addWatcher(new CastSpellLastTurnWatcher());
if (targetController == TargetController.YOU) {
this.addHint(hint);
}
@ -147,4 +146,4 @@ enum SpellCastValue implements DynamicValue {
public String getMessage() {
return "";
}
}
}

View file

@ -19,6 +19,9 @@ public class CastSpellLastTurnWatcher extends Watcher {
private int activePlayerPrevTurnCount = 0;
private int activePlayerThisTurnCount = 0;
/**
* Game default watcher
*/
public CastSpellLastTurnWatcher() {
super(WatcherScope.GAME);
}

View file

@ -13,6 +13,9 @@ import mage.watchers.Watcher;
*/
public class MorbidWatcher extends Watcher {
/**
* Game default watcher
*/
public MorbidWatcher() {
super(WatcherScope.GAME);
}

View file

@ -21,6 +21,9 @@ public class PlayerLostLifeWatcher extends Watcher {
private final Map<UUID, Integer> amountOfLifeLostThisTurn = new HashMap<>();
private final Map<UUID, Integer> amountOfLifeLostLastTurn = new HashMap<>();
/**
* Game default watcher
*/
public PlayerLostLifeWatcher() {
super(WatcherScope.GAME);
}