[refactor] removed Watcher interface and renamed WatcherImpl to Watcher

This commit is contained in:
North 2014-05-31 19:35:21 +03:00
parent 9a9567c359
commit 0cc5308100
80 changed files with 207 additions and 273 deletions

View file

@ -44,7 +44,7 @@ import mage.game.events.GameEvent;
import mage.game.stack.Spell;
import mage.players.Player;
import mage.target.targetpointer.FixedTarget;
import mage.watchers.WatcherImpl;
import mage.watchers.Watcher;
/**
*
@ -114,7 +114,7 @@ class MaelstromNexusTriggeredAbility extends TriggeredAbilityImpl<MaelstromNexus
}
}
class FirstSpellCastThisTurnWatcher extends WatcherImpl<FirstSpellCastThisTurnWatcher> {
class FirstSpellCastThisTurnWatcher extends Watcher<FirstSpellCastThisTurnWatcher> {
int spellCount = 0;

View file

@ -46,7 +46,6 @@ import mage.game.permanent.Permanent;
import mage.game.permanent.token.Token;
import mage.game.stack.Spell;
import mage.watchers.Watcher;
import mage.watchers.WatcherImpl;
/**
*
@ -97,7 +96,7 @@ class DidNotCastCreatureCondition implements Condition {
}
}
class CastCreatureWatcher extends WatcherImpl<CastCreatureWatcher> {
class CastCreatureWatcher extends Watcher<CastCreatureWatcher> {
public CastCreatureWatcher() {
super("CastCreature", WatcherScope.CARD);

View file

@ -56,7 +56,7 @@ import mage.game.permanent.Permanent;
import mage.game.permanent.token.ZombieToken;
import mage.target.common.TargetControlledCreaturePermanent;
import mage.target.targetpointer.FixedTarget;
import mage.watchers.WatcherImpl;
import mage.watchers.Watcher;
/**
*
@ -167,7 +167,7 @@ class UnscytheEffect extends OneShotEffect<UnscytheEffect> {
}
}
class EquippedDidDamageWatcher extends WatcherImpl<EquippedDidDamageWatcher> {
class EquippedDidDamageWatcher extends Watcher<EquippedDidDamageWatcher> {
public List<UUID> equippedDamagedTargets = new ArrayList<UUID>();

View file

@ -57,7 +57,7 @@ import mage.game.events.GameEvent;
import mage.game.permanent.Permanent;
import mage.game.stack.Spell;
import mage.players.Player;
import mage.watchers.WatcherImpl;
import mage.watchers.Watcher;
/**
*
@ -172,7 +172,7 @@ class CavernOfSoulsManaCondition extends CreatureCastManaCondition {
}
}
class CavernOfSoulsWatcher extends WatcherImpl<CavernOfSoulsWatcher> {
class CavernOfSoulsWatcher extends Watcher<CavernOfSoulsWatcher> {
public List<UUID> spells = new ArrayList<>();

View file

@ -47,7 +47,7 @@ import mage.game.Game;
import mage.game.events.GameEvent;
import mage.game.permanent.Permanent;
import mage.game.stack.Spell;
import mage.watchers.WatcherImpl;
import mage.watchers.Watcher;
/**
*
@ -121,7 +121,7 @@ class GoblinCohortEffect extends RestrictionEffect<GoblinCohortEffect> {
}
}
class PlayerCastCreatureWatcher extends WatcherImpl<PlayerCastCreatureWatcher> {
class PlayerCastCreatureWatcher extends Watcher<PlayerCastCreatureWatcher> {
Set<UUID> playerIds = new HashSet<>();

View file

@ -51,7 +51,7 @@ import mage.game.permanent.Permanent;
import mage.players.Player;
import mage.target.TargetPermanent;
import mage.target.common.TargetCreaturePermanent;
import mage.watchers.WatcherImpl;
import mage.watchers.Watcher;
/**
*
@ -134,7 +134,7 @@ class KumanosBlessingEffect extends ReplacementEffectImpl<KumanosBlessingEffect>
}
class DamagedByEnchantedWatcher extends WatcherImpl<DamagedByEnchantedWatcher> {
class DamagedByEnchantedWatcher extends Watcher<DamagedByEnchantedWatcher> {
public List<UUID> damagedCreatures = new ArrayList<>();

View file

@ -50,7 +50,6 @@ import mage.game.Game;
import mage.game.events.GameEvent;
import mage.game.permanent.Permanent;
import mage.watchers.Watcher;
import mage.watchers.WatcherImpl;
/**
*
@ -109,7 +108,7 @@ class HadAnotherCreatureEnterTheBattlefieldCondition implements Condition {
}
}
class CreatureEnteredBattlefieldLastTurnWatcher extends WatcherImpl<CreatureEnteredBattlefieldLastTurnWatcher> {
class CreatureEnteredBattlefieldLastTurnWatcher extends Watcher<CreatureEnteredBattlefieldLastTurnWatcher> {
private boolean anotherCreatureEntered = false;

View file

@ -42,7 +42,6 @@ import mage.constants.Zone;
import mage.game.Game;
import mage.game.events.GameEvent;
import mage.watchers.Watcher;
import mage.watchers.WatcherImpl;
/**
*
@ -75,7 +74,7 @@ public class SpiritOfTheLabyrinth extends CardImpl<SpiritOfTheLabyrinth> {
}
}
class SpiritOfTheLabyrinthWatcher extends WatcherImpl<SpiritOfTheLabyrinthWatcher> {
class SpiritOfTheLabyrinthWatcher extends Watcher<SpiritOfTheLabyrinthWatcher> {
public SpiritOfTheLabyrinthWatcher() {
super("DrewCard", WatcherScope.PLAYER);

View file

@ -52,7 +52,7 @@ import mage.game.Game;
import mage.game.events.GameEvent;
import mage.game.stack.Spell;
import mage.players.Player;
import mage.watchers.WatcherImpl;
import mage.watchers.Watcher;
/**
*
@ -90,7 +90,7 @@ public class BoseijuWhoSheltersAll extends CardImpl<BoseijuWhoSheltersAll> {
}
}
class BoseijuWhoSheltersAllWatcher extends WatcherImpl<BoseijuWhoSheltersAllWatcher> {
class BoseijuWhoSheltersAllWatcher extends Watcher<BoseijuWhoSheltersAllWatcher> {
public List<UUID> spells = new ArrayList<>();

View file

@ -44,7 +44,7 @@ import mage.constants.Zone;
import mage.game.Game;
import mage.game.events.GameEvent;
import mage.game.events.ZoneChangeEvent;
import mage.watchers.WatcherImpl;
import mage.watchers.Watcher;
/**
* @author Loki
@ -75,7 +75,7 @@ public class FloatingDreamZubera extends CardImpl<FloatingDreamZubera> {
}
class ZuberasDiedWatcher extends WatcherImpl<ZuberasDiedWatcher> {
class ZuberasDiedWatcher extends Watcher<ZuberasDiedWatcher> {
public int zuberasDiedThisTurn = 0;

View file

@ -46,7 +46,7 @@ import mage.game.events.GameEvent;
import mage.game.events.GameEvent.EventType;
import mage.game.stack.Spell;
import mage.target.common.TargetCardInLibrary;
import mage.watchers.WatcherImpl;
import mage.watchers.Watcher;
/**
*
@ -99,7 +99,7 @@ class SiftThroughSandsCondition implements Condition {
}
}
class SiftThroughSandsWatcher extends WatcherImpl<SiftThroughSandsWatcher> {
class SiftThroughSandsWatcher extends Watcher<SiftThroughSandsWatcher> {
boolean castPeerThroughDepths = false;
boolean castReachThroughMists = false;

View file

@ -55,7 +55,7 @@ import mage.game.events.GameEvent.EventType;
import mage.game.events.ZoneChangeEvent;
import mage.target.common.TargetControlledCreaturePermanent;
import mage.target.common.TargetCreaturePermanent;
import mage.watchers.WatcherImpl;
import mage.watchers.Watcher;
/**
*
@ -99,7 +99,7 @@ public class FellShepherd extends CardImpl<FellShepherd> {
}
}
class FellShepherdWatcher extends WatcherImpl<FellShepherdWatcher> {
class FellShepherdWatcher extends Watcher<FellShepherdWatcher> {
private Set<UUID> creatureIds = new HashSet<UUID>();

View file

@ -45,13 +45,12 @@ import mage.constants.WatcherScope;
import mage.filter.common.FilterInstantOrSorceryCard;
import mage.game.Game;
import mage.game.events.GameEvent;
import mage.game.permanent.Permanent;
import mage.game.stack.Spell;
import mage.game.stack.StackObject;
import mage.players.Player;
import mage.target.common.TargetCardInExile;
import mage.util.CardUtil;
import mage.watchers.WatcherImpl;
import mage.watchers.Watcher;
/**
*
@ -173,7 +172,7 @@ class JelevaNephaliasCastEffect extends OneShotEffect<JelevaNephaliasCastEffect>
}
}
class JelevaNephaliasWatcher extends WatcherImpl<JelevaNephaliasWatcher> {
class JelevaNephaliasWatcher extends Watcher<JelevaNephaliasWatcher> {
private Map<Integer, Integer> manaSpendToCast = new HashMap<Integer, Integer>(); // cast

View file

@ -56,7 +56,7 @@ import mage.game.events.GameEvent.EventType;
import mage.game.permanent.Permanent;
import mage.game.stack.Spell;
import mage.players.Player;
import mage.watchers.WatcherImpl;
import mage.watchers.Watcher;
/**
*
@ -162,7 +162,7 @@ class OpalPalaceManaEffect extends ManaEffect<OpalPalaceManaEffect> {
}
}
class OpalPalaceWatcher extends WatcherImpl<OpalPalaceWatcher> {
class OpalPalaceWatcher extends Watcher<OpalPalaceWatcher> {
public List<UUID> commanderId = new ArrayList<UUID>();

View file

@ -42,7 +42,6 @@ import mage.game.permanent.Permanent;
import mage.players.Player;
import mage.target.TargetPlayer;
import mage.watchers.Watcher;
import mage.watchers.WatcherImpl;
/**
*
@ -79,7 +78,7 @@ public class CurseOfExhaustion extends CardImpl<CurseOfExhaustion> {
}
}
class CurseOfExhaustionWatcher extends WatcherImpl<CurseOfExhaustionWatcher> {
class CurseOfExhaustionWatcher extends Watcher<CurseOfExhaustionWatcher> {
public CurseOfExhaustionWatcher() {
super("SpellCast", WatcherScope.PLAYER);

View file

@ -45,7 +45,7 @@ import mage.game.events.GameEvent;
import mage.game.events.ZoneChangeEvent;
import mage.target.Target;
import mage.target.common.TargetCreaturePermanent;
import mage.watchers.WatcherImpl;
import mage.watchers.Watcher;
import java.util.UUID;
import mage.game.permanent.Permanent;
@ -155,7 +155,7 @@ class DungeonGeistsEffect extends ReplacementEffectImpl<DungeonGeistsEffect> {
}
}
class DungeonGeistsWatcher extends WatcherImpl<DungeonGeistsWatcher> {
class DungeonGeistsWatcher extends Watcher<DungeonGeistsWatcher> {
DungeonGeistsWatcher () {
super("ControlLost", WatcherScope.CARD);

View file

@ -46,7 +46,7 @@ import mage.game.Game;
import mage.game.events.GameEvent;
import mage.game.events.GameEvent.EventType;
import mage.game.stack.Spell;
import mage.watchers.WatcherImpl;
import mage.watchers.Watcher;
/**
*
@ -97,7 +97,7 @@ class CastBlueSpellThisTurnCondition implements Condition {
}
}
class DreamThiefWatcher extends WatcherImpl<DreamThiefWatcher> {
class DreamThiefWatcher extends Watcher<DreamThiefWatcher> {
private static final FilterSpell filter = new FilterSpell();
static {

View file

@ -52,7 +52,7 @@ import mage.game.Game;
import mage.game.events.GameEvent;
import mage.game.stack.StackAbility;
import mage.game.stack.StackObject;
import mage.watchers.WatcherImpl;
import mage.watchers.Watcher;
/**
*
@ -119,7 +119,7 @@ class GroundingPouncerCondition implements Condition {
}
}
class ActivatedAbilityUsedThisTurnWatcher extends WatcherImpl<ActivatedAbilityUsedThisTurnWatcher> {
class ActivatedAbilityUsedThisTurnWatcher extends Watcher<ActivatedAbilityUsedThisTurnWatcher> {
public Set<UUID> activatedThisTurn = new HashSet<UUID>();

View file

@ -48,7 +48,7 @@ import mage.game.Game;
import mage.game.events.GameEvent;
import mage.game.events.GameEvent.EventType;
import mage.game.stack.Spell;
import mage.watchers.WatcherImpl;
import mage.watchers.Watcher;
/**
*
@ -98,7 +98,7 @@ class CastRedSpellThisTurnCondition implements Condition {
}
}
class HotHeadedGiantWatcher extends WatcherImpl<HotHeadedGiantWatcher> {
class HotHeadedGiantWatcher extends Watcher<HotHeadedGiantWatcher> {
private static final FilterSpell filter = new FilterSpell();
static {

View file

@ -52,7 +52,7 @@ import mage.game.permanent.Permanent;
import mage.game.stack.Spell;
import mage.players.Player;
import mage.target.common.TargetCreaturePermanent;
import mage.watchers.WatcherImpl;
import mage.watchers.Watcher;
/**
*
@ -104,7 +104,7 @@ class CastBlackSpellThisTurnCondition implements Condition {
}
}
class SoulReapWatcher extends WatcherImpl<SoulReapWatcher> {
class SoulReapWatcher extends Watcher<SoulReapWatcher> {
private static final FilterSpell filter = new FilterSpell();

View file

@ -48,7 +48,7 @@ import mage.game.Game;
import mage.game.events.GameEvent;
import mage.game.events.GameEvent.EventType;
import mage.game.stack.Spell;
import mage.watchers.WatcherImpl;
import mage.watchers.Watcher;
/**
*
@ -135,7 +135,7 @@ class CastGreenSpellThisTurnCondition implements Condition {
}
}
class TalarasBattalionWatcher extends WatcherImpl<TalarasBattalionWatcher> {
class TalarasBattalionWatcher extends Watcher<TalarasBattalionWatcher> {
private static final FilterSpell filter = new FilterSpell();

View file

@ -49,7 +49,7 @@ import mage.game.Game;
import mage.game.events.GameEvent;
import mage.players.Player;
import mage.target.TargetCard;
import mage.watchers.WatcherImpl;
import mage.watchers.Watcher;
/**
*
@ -161,7 +161,7 @@ class SylvanLibraryEffect extends OneShotEffect<SylvanLibraryEffect> {
}
}
class CardsDrawnThisTurnWatcher extends WatcherImpl<CardsDrawnThisTurnWatcher> {
class CardsDrawnThisTurnWatcher extends Watcher<CardsDrawnThisTurnWatcher> {
private final Set<UUID> cardsDrawnThisTurn = new HashSet<UUID>();

View file

@ -44,7 +44,7 @@ import mage.game.Game;
import mage.game.events.GameEvent;
import mage.game.events.GameEvent.EventType;
import mage.game.stack.Spell;
import mage.watchers.WatcherImpl;
import mage.watchers.Watcher;
/**
*
@ -93,7 +93,7 @@ class CastWhiteSpellThisTurnCondition implements Condition {
}
}
class PatriciansScornWatcher extends WatcherImpl<PatriciansScornWatcher> {
class PatriciansScornWatcher extends Watcher<PatriciansScornWatcher> {
private static final FilterSpell filter = new FilterSpell();
static {

View file

@ -50,7 +50,7 @@ import mage.game.stack.Spell;
import mage.players.Player;
import mage.target.common.TargetCreatureOrPlayerAmount;
import mage.target.targetpointer.FixedTarget;
import mage.watchers.WatcherImpl;
import mage.watchers.Watcher;
import java.util.ArrayList;
import java.util.List;
@ -188,7 +188,7 @@ class AureliasFuryCantCastEffect extends ReplacementEffectImpl<AureliasFuryCantC
}
}
class AureliasFuryDamagedByWatcher extends WatcherImpl<AureliasFuryDamagedByWatcher> {
class AureliasFuryDamagedByWatcher extends Watcher<AureliasFuryDamagedByWatcher> {
public List<UUID> damagedCreatures = new ArrayList<UUID>();
public List<UUID> damagedPlayers = new ArrayList<UUID>();

View file

@ -39,7 +39,6 @@ import mage.game.Game;
import mage.game.events.GameEvent;
import mage.game.stack.Spell;
import mage.watchers.Watcher;
import mage.watchers.WatcherImpl;
/**
*
@ -105,7 +104,7 @@ class IncursionTriggeredAbility extends TriggeredAbilityImpl<IncursionTriggeredA
}
}
class IncursionWatcher extends WatcherImpl<IncursionWatcher> {
class IncursionWatcher extends Watcher<IncursionWatcher> {
int spellCount = 0;

View file

@ -44,7 +44,7 @@ import mage.cards.CardImpl;
import mage.game.Game;
import mage.game.events.GameEvent;
import mage.game.stack.Spell;
import mage.watchers.WatcherImpl;
import mage.watchers.Watcher;
/**
*
@ -126,7 +126,7 @@ class QuickenAsThoughEffect extends AsThoughEffectImpl<QuickenAsThoughEffect> {
}
class QuickenWatcher extends WatcherImpl<QuickenWatcher> {
class QuickenWatcher extends Watcher<QuickenWatcher> {
public List<String> activeQuickenSpells = new ArrayList<String>();

View file

@ -48,7 +48,7 @@ import mage.game.Game;
import mage.game.events.GameEvent;
import mage.game.permanent.Permanent;
import mage.target.common.TargetCreaturePermanent;
import mage.watchers.WatcherImpl;
import mage.watchers.Watcher;
import java.util.ArrayList;
import java.util.List;
@ -97,7 +97,7 @@ public class TinderWall extends CardImpl<TinderWall> {
}
class BlockedByWatcher extends WatcherImpl<BlockedByWatcher> {
class BlockedByWatcher extends Watcher<BlockedByWatcher> {
public List<UUID> blockedByWatcher = new ArrayList<UUID>();

View file

@ -43,7 +43,7 @@ import mage.target.common.TargetDiscard;
import java.util.UUID;
import mage.game.events.GameEvent;
import mage.watchers.WatcherImpl;
import mage.watchers.Watcher;
/**
* @author nantuko
@ -80,7 +80,7 @@ public class CivilizedScholar extends CardImpl<CivilizedScholar> {
}
}
class HomicidalBruteWatcher extends WatcherImpl<HomicidalBruteWatcher> {
class HomicidalBruteWatcher extends Watcher<HomicidalBruteWatcher> {
public HomicidalBruteWatcher() {
super("HomicidalBruteAttacked", WatcherScope.CARD);

View file

@ -44,7 +44,6 @@ import mage.constants.Zone;
import mage.game.Game;
import mage.game.events.GameEvent;
import mage.watchers.Watcher;
import mage.watchers.WatcherImpl;
/**
*
@ -80,7 +79,7 @@ public class WindbriskHeights extends CardImpl<WindbriskHeights> {
}
}
class WindbriskHeightsWatcher extends WatcherImpl<WindbriskHeightsWatcher> {
class WindbriskHeightsWatcher extends Watcher<WindbriskHeightsWatcher> {
private int numberOfattackers;

View file

@ -45,7 +45,6 @@ import mage.game.Game;
import mage.game.events.GameEvent;
import mage.game.events.GameEvent.EventType;
import mage.watchers.Watcher;
import mage.watchers.WatcherImpl;
/**
*
@ -79,7 +78,7 @@ public class AngelicArbiter extends CardImpl<AngelicArbiter> {
}
class AngelicArbiterWatcher1 extends WatcherImpl<AngelicArbiterWatcher1> {
class AngelicArbiterWatcher1 extends Watcher<AngelicArbiterWatcher1> {
public AngelicArbiterWatcher1() {
super("OpponentCastSpell", WatcherScope.PLAYER);
@ -104,7 +103,7 @@ class AngelicArbiterWatcher1 extends WatcherImpl<AngelicArbiterWatcher1> {
}
class AngelicArbiterWatcher2 extends WatcherImpl<AngelicArbiterWatcher2> {
class AngelicArbiterWatcher2 extends Watcher<AngelicArbiterWatcher2> {
public AngelicArbiterWatcher2() {
super("OpponentAttacked", WatcherScope.PLAYER);

View file

@ -35,7 +35,7 @@ import mage.cards.CardImpl;
import mage.game.Game;
import mage.game.events.GameEvent;
import mage.game.events.ZoneChangeEvent;
import mage.watchers.WatcherImpl;
import mage.watchers.Watcher;
import java.util.ArrayList;
import java.util.UUID;
@ -99,7 +99,7 @@ class FaithsRewardEffect extends OneShotEffect<FaithsRewardEffect> {
}
}
class FaithsRewardWatcher extends WatcherImpl<FaithsRewardWatcher> {
class FaithsRewardWatcher extends Watcher<FaithsRewardWatcher> {
ArrayList<UUID> cards = new ArrayList<UUID>();
public FaithsRewardWatcher() {

View file

@ -50,7 +50,7 @@ import mage.game.Game;
import mage.game.events.GameEvent;
import mage.game.permanent.Permanent;
import mage.game.stack.Spell;
import mage.watchers.WatcherImpl;
import mage.watchers.Watcher;
/**
*
@ -139,7 +139,7 @@ class SavageSummoningAsThoughEffect extends AsThoughEffectImpl<SavageSummoningAs
}
class SavageSummoningWatcher extends WatcherImpl<SavageSummoningWatcher> {
class SavageSummoningWatcher extends Watcher<SavageSummoningWatcher> {
private Set<String> savageSummoningSpells = new HashSet<String>();;
private Map<UUID, Set<String>> spellsCastWithSavageSummoning = new LinkedHashMap<UUID, Set<String>>();

View file

@ -53,7 +53,7 @@ import mage.game.events.ZoneChangeEvent;
import mage.game.permanent.Permanent;
import mage.target.Target;
import mage.target.common.TargetCreaturePermanent;
import mage.watchers.WatcherImpl;
import mage.watchers.Watcher;
/**
*
@ -159,7 +159,7 @@ class TidebinderMageEffect extends ReplacementEffectImpl<TidebinderMageEffect> {
}
}
class TidebinderMageWatcher extends WatcherImpl<TidebinderMageWatcher> {
class TidebinderMageWatcher extends Watcher<TidebinderMageWatcher> {
TidebinderMageWatcher () {
super("ControlLost", WatcherScope.CARD);

View file

@ -38,7 +38,7 @@ import mage.cards.CardImpl;
import mage.game.Game;
import mage.game.events.GameEvent;
import mage.game.events.ZoneChangeEvent;
import mage.watchers.WatcherImpl;
import mage.watchers.Watcher;
/**
*
@ -101,7 +101,7 @@ class SecondSunriseEffect extends OneShotEffect<SecondSunriseEffect> {
}
}
class SecondSunriseWatcher extends WatcherImpl<SecondSunriseWatcher> {
class SecondSunriseWatcher extends Watcher<SecondSunriseWatcher> {
ArrayList<UUID> cards = new ArrayList<UUID>();
public SecondSunriseWatcher() {

View file

@ -37,7 +37,7 @@ import mage.constants.*;
import mage.game.Game;
import mage.game.events.GameEvent;
import mage.game.permanent.Permanent;
import mage.watchers.WatcherImpl;
import mage.watchers.Watcher;
import java.util.ArrayList;
import java.util.List;
@ -135,7 +135,7 @@ class CathedralMembraneEffect extends OneShotEffect<CathedralMembraneEffect> {
}
}
class CathedralMembraneWatcher extends WatcherImpl<CathedralMembraneWatcher> {
class CathedralMembraneWatcher extends Watcher<CathedralMembraneWatcher> {
public List<UUID> blockedCreatures = new ArrayList<UUID>();

View file

@ -43,7 +43,7 @@ import mage.game.events.GameEvent;
import mage.game.events.GameEvent.EventType;
import mage.game.events.ZoneChangeEvent;
import mage.game.permanent.token.BeastToken;
import mage.watchers.WatcherImpl;
import mage.watchers.Watcher;
/**
*
@ -71,7 +71,7 @@ public class FreshMeat extends CardImpl<FreshMeat> {
}
}
class FreshMeatWatcher extends WatcherImpl<FreshMeatWatcher> {
class FreshMeatWatcher extends Watcher<FreshMeatWatcher> {
private int creaturesCount = 0;

View file

@ -44,7 +44,7 @@ import mage.game.events.GameEvent;
import mage.game.events.ZoneChangeEvent;
import mage.game.permanent.Permanent;
import mage.players.Player;
import mage.watchers.WatcherImpl;
import mage.watchers.Watcher;
import java.util.Iterator;
import java.util.UUID;
@ -129,7 +129,7 @@ class GainReboundEffect extends ContinuousEffectImpl<GainReboundEffect> {
class AttachedReboundAbility extends ReboundAbility {}
class LeavesBattlefieldWatcher extends WatcherImpl<LeavesBattlefieldWatcher> {
class LeavesBattlefieldWatcher extends Watcher<LeavesBattlefieldWatcher> {
public LeavesBattlefieldWatcher() {
super("LeavesBattlefieldWatcher", WatcherScope.CARD);

View file

@ -43,7 +43,6 @@ import mage.game.events.GameEvent;
import mage.game.events.GameEvent.EventType;
import mage.game.stack.Spell;
import mage.watchers.Watcher;
import mage.watchers.WatcherImpl;
/**
*
@ -109,7 +108,7 @@ class VengevineAbility extends TriggeredAbilityImpl<VengevineAbility> {
}
class VengevineWatcher extends WatcherImpl<VengevineWatcher> {
class VengevineWatcher extends Watcher<VengevineWatcher> {
int creatureSpellCount = 0;

View file

@ -49,7 +49,7 @@ import mage.game.permanent.Permanent;
import mage.players.Player;
import mage.target.common.TargetControlledCreaturePermanent;
import mage.target.common.TargetCreaturePermanent;
import mage.watchers.WatcherImpl;
import mage.watchers.Watcher;
/**
*
@ -78,7 +78,7 @@ public class FleshAllergy extends CardImpl<FleshAllergy> {
}
}
class FleshAllergyWatcher extends WatcherImpl<FleshAllergyWatcher> {
class FleshAllergyWatcher extends Watcher<FleshAllergyWatcher> {
public int creaturesDiedThisTurn = 0;

View file

@ -44,7 +44,7 @@ import mage.constants.Zone;
import mage.game.Game;
import mage.game.events.GameEvent;
import mage.players.Player;
import mage.watchers.WatcherImpl;
import mage.watchers.Watcher;
/**
*
@ -116,7 +116,7 @@ class MoltenPsycheEffect extends OneShotEffect<MoltenPsycheEffect> {
}
class MoltenPsycheWatcher extends WatcherImpl<MoltenPsycheWatcher> {
class MoltenPsycheWatcher extends Watcher<MoltenPsycheWatcher> {
private final Map<UUID, Integer> draws = new HashMap<>();

View file

@ -43,7 +43,7 @@ import mage.game.Game;
import mage.game.events.DamagedPlayerEvent;
import mage.game.events.GameEvent;
import mage.game.permanent.Permanent;
import mage.watchers.WatcherImpl;
import mage.watchers.Watcher;
import java.util.ArrayList;
import java.util.List;
@ -114,7 +114,7 @@ class SteelHellkiteDestroyEffect extends OneShotEffect {
}
}
class SteelHellkiteWatcher extends WatcherImpl<SteelHellkiteWatcher> {
class SteelHellkiteWatcher extends Watcher<SteelHellkiteWatcher> {
public List<UUID> damagedPlayers = new ArrayList<UUID>();

View file

@ -44,7 +44,7 @@ import mage.game.Game;
import mage.game.events.GameEvent;
import mage.game.permanent.Permanent;
import mage.target.targetpointer.FixedTarget;
import mage.watchers.WatcherImpl;
import mage.watchers.Watcher;
import java.util.UUID;
import mage.constants.WatcherScope;
@ -76,7 +76,7 @@ public class TunnelIgnus extends CardImpl<TunnelIgnus> {
}
class TunnelIgnusWatcher extends WatcherImpl {
class TunnelIgnusWatcher extends Watcher {
protected Map<UUID, Integer> counts = new HashMap<UUID, Integer>();
public TunnelIgnusWatcher() {

View file

@ -40,7 +40,7 @@ import mage.cards.Card;
import mage.cards.CardImpl;
import mage.game.Game;
import mage.game.events.GameEvent;
import mage.watchers.WatcherImpl;
import mage.watchers.Watcher;
/**
*
@ -73,7 +73,7 @@ public class EtherswornCanonist extends CardImpl<EtherswornCanonist> {
}
}
class EtherswornCanonistWatcher extends WatcherImpl<EtherswornCanonistWatcher> {
class EtherswornCanonistWatcher extends Watcher<EtherswornCanonistWatcher> {
private Map<UUID, Boolean> castNonartifactSpell = new HashMap<UUID, Boolean>();

View file

@ -47,7 +47,7 @@ import mage.game.events.GameEvent;
import mage.game.events.ZoneChangeEvent;
import mage.game.permanent.Permanent;
import mage.target.common.TargetCreaturePermanent;
import mage.watchers.WatcherImpl;
import mage.watchers.Watcher;
/**
*
@ -144,7 +144,7 @@ class ShipbreakerKrakenReplacementEffect extends ReplacementEffectImpl<Shipbreak
}
}
class ShipbreakerKrakenWatcher extends WatcherImpl<ShipbreakerKrakenWatcher> {
class ShipbreakerKrakenWatcher extends Watcher<ShipbreakerKrakenWatcher> {
ShipbreakerKrakenWatcher () {
super("ControlLost", WatcherScope.CARD);

View file

@ -53,7 +53,7 @@ import mage.game.permanent.Permanent;
import mage.target.common.TargetCreaturePermanent;
import mage.target.targetpointer.FixedTarget;
import mage.util.CardUtil;
import mage.watchers.WatcherImpl;
import mage.watchers.Watcher;
/**
*
@ -206,7 +206,7 @@ class TritonTacticsEndOfCombatEffect extends OneShotEffect<TritonTacticsEndOfCom
}
}
class BlockedCreaturesWatcher extends WatcherImpl<BlockedCreaturesWatcher> {
class BlockedCreaturesWatcher extends Watcher<BlockedCreaturesWatcher> {
public BlockedCreaturesWatcher() {
super("BlockedCreatures", WatcherScope.CARD);

View file

@ -43,7 +43,7 @@ import mage.game.Game;
import mage.game.events.GameEvent;
import mage.game.permanent.Permanent;
import mage.target.common.TargetCreaturePermanent;
import mage.watchers.WatcherImpl;
import mage.watchers.Watcher;
/**
*
@ -79,7 +79,7 @@ public class PermafrostTrap extends CardImpl<PermafrostTrap> {
}
}
class PermafrostTrapWatcher extends WatcherImpl<PermafrostTrapWatcher> {
class PermafrostTrapWatcher extends Watcher<PermafrostTrapWatcher> {
public PermafrostTrapWatcher() {
super("PermafrostTrapWatcher", WatcherScope.GAME);

View file

@ -47,7 +47,7 @@ import mage.game.stack.Spell;
import mage.players.Player;
import mage.target.TargetSource;
import mage.target.common.TargetCreatureOrPlayer;
import mage.watchers.WatcherImpl;
import mage.watchers.Watcher;
/**
*
@ -83,7 +83,7 @@ public class RefractionTrap extends CardImpl<RefractionTrap> {
}
}
class RefractionTrapWatcher extends WatcherImpl<RefractionTrapWatcher> {
class RefractionTrapWatcher extends Watcher<RefractionTrapWatcher> {
public RefractionTrapWatcher() {
super("RefractionTrapWatcher", WatcherScope.GAME);

View file

@ -45,7 +45,7 @@ import mage.game.events.GameEvent;
import mage.game.events.GameEvent.EventType;
import mage.game.stack.Spell;
import mage.target.TargetSpell;
import mage.watchers.WatcherImpl;
import mage.watchers.Watcher;
/**
*
@ -86,7 +86,7 @@ public class RicochetTrap extends CardImpl<RicochetTrap> {
}
}
class RicochetTrapWatcher extends WatcherImpl<RicochetTrapWatcher> {
class RicochetTrapWatcher extends Watcher<RicochetTrapWatcher> {
public RicochetTrapWatcher() {
super("RicochetTrapWatcher", WatcherScope.GAME);

View file

@ -31,6 +31,7 @@ package mage.sets.zendikar;
import mage.constants.CardType;
import mage.constants.Rarity;
import mage.abilities.Ability;
import mage.constants.WatcherScope;
import mage.abilities.costs.AlternativeCostImpl;
import mage.abilities.costs.mana.GenericManaCost;
import mage.abilities.effects.common.PutLibraryIntoGraveTargetEffect;
@ -40,10 +41,8 @@ import mage.game.events.GameEvent;
import mage.game.events.GameEvent.EventType;
import mage.target.common.TargetOpponent;
import mage.watchers.Watcher;
import mage.watchers.WatcherImpl;
import java.util.UUID;
import mage.constants.WatcherScope;
/**
* @author BetaSteward_at_googlemail.com
@ -74,7 +73,7 @@ public class ArchiveTrap extends CardImpl<ArchiveTrap> {
}
class ArchiveTrapWatcher extends WatcherImpl<ArchiveTrapWatcher> {
class ArchiveTrapWatcher extends Watcher<ArchiveTrapWatcher> {
public ArchiveTrapWatcher() {
super("LibrarySearched", WatcherScope.PLAYER);

View file

@ -42,7 +42,7 @@ import mage.game.events.GameEvent.EventType;
import mage.game.permanent.Permanent;
import mage.players.Player;
import mage.target.common.TargetCardInLibrary;
import mage.watchers.WatcherImpl;
import mage.watchers.Watcher;
import java.util.UUID;
@ -108,7 +108,7 @@ class ArchmageAscensionTriggeredAbility extends TriggeredAbilityImpl<ArchmageAsc
}
}
class CardsDrawnControllerWatcher extends WatcherImpl<CardsDrawnControllerWatcher> {
class CardsDrawnControllerWatcher extends Watcher<CardsDrawnControllerWatcher> {
int cardsDrawn;

View file

@ -43,7 +43,7 @@ import mage.game.Game;
import mage.game.events.GameEvent;
import mage.game.permanent.Permanent;
import mage.game.permanent.token.Token;
import mage.watchers.WatcherImpl;
import mage.watchers.Watcher;
/**
*
@ -76,7 +76,7 @@ public class BalothCageTrap extends CardImpl<BalothCageTrap> {
}
}
class BalothCageTrapWatcher extends WatcherImpl<BalothCageTrapWatcher> {
class BalothCageTrapWatcher extends Watcher<BalothCageTrapWatcher> {
public BalothCageTrapWatcher() {
super("BalothCageTrapWatcher", WatcherScope.GAME);

View file

@ -46,7 +46,6 @@ import mage.game.permanent.token.SnakeToken;
import mage.game.stack.StackObject;
import mage.players.Player;
import mage.watchers.Watcher;
import mage.watchers.WatcherImpl;
/**
*
@ -79,7 +78,7 @@ public class CobraTrap extends CardImpl<CobraTrap> {
}
}
class CobraTrapWatcher extends WatcherImpl<CobraTrapWatcher> {
class CobraTrapWatcher extends Watcher<CobraTrapWatcher> {
public CobraTrapWatcher() {
super("noncreature permanent destroyed", WatcherScope.PLAYER);

View file

@ -47,7 +47,7 @@ import mage.game.Game;
import mage.game.events.GameEvent;
import mage.game.permanent.Permanent;
import mage.players.Player;
import mage.watchers.WatcherImpl;
import mage.watchers.Watcher;
/**
*
@ -140,7 +140,7 @@ class GomazoaEffect extends OneShotEffect<GomazoaEffect> {
}
}
class BlockedByWatcher extends WatcherImpl<BlockedByWatcher> {
class BlockedByWatcher extends Watcher<BlockedByWatcher> {
public List<UUID> blockedByWatcher = new ArrayList<>();

View file

@ -41,7 +41,7 @@ import mage.constants.WatcherScope;
import mage.game.Game;
import mage.game.events.GameEvent;
import mage.target.common.TargetCreaturePermanent;
import mage.watchers.WatcherImpl;
import mage.watchers.Watcher;
/**
*
@ -75,7 +75,7 @@ public class InfernoTrap extends CardImpl<InfernoTrap> {
}
}
class ControllerDamagedByCreatureWatcher extends WatcherImpl<ControllerDamagedByCreatureWatcher> {
class ControllerDamagedByCreatureWatcher extends Watcher<ControllerDamagedByCreatureWatcher> {
int numCreaturesDamagedController;

View file

@ -45,7 +45,7 @@ import mage.game.Game;
import mage.game.events.GameEvent;
import mage.game.permanent.Permanent;
import mage.target.common.TargetLandPermanent;
import mage.watchers.WatcherImpl;
import mage.watchers.Watcher;
/**
*
@ -81,7 +81,7 @@ public class LavaballTrap extends CardImpl<LavaballTrap> {
}
}
class LavaballTrapWatcher extends WatcherImpl<LavaballTrapWatcher> {
class LavaballTrapWatcher extends Watcher<LavaballTrapWatcher> {
private Map<UUID, Integer> amountOfLandsPlayedThisTurn = new HashMap<UUID, Integer>();

View file

@ -55,7 +55,7 @@ import mage.game.stack.StackObject;
import mage.target.Target;
import mage.target.TargetSpell;
import mage.target.common.TargetControlledCreaturePermanent;
import mage.watchers.WatcherImpl;
import mage.watchers.Watcher;
/**
*
@ -143,7 +143,7 @@ class MerfolkToken extends Token {
}
}
class CastedSpellsWithSpellTarget extends WatcherImpl<CastedSpellsWithSpellTarget> {
class CastedSpellsWithSpellTarget extends Watcher<CastedSpellsWithSpellTarget> {
// <SourceId_TargetSpellId, controllerId>
private Map<String, UUID> casted = new HashMap<String, UUID>();

View file

@ -47,7 +47,6 @@ import mage.game.events.GameEvent.EventType;
import mage.game.stack.Spell;
import mage.target.TargetSpell;
import mage.watchers.Watcher;
import mage.watchers.WatcherImpl;
/**
*
@ -83,7 +82,7 @@ public class MindbreakTrap extends CardImpl<MindbreakTrap> {
}
}
class MindbreakTrapWatcher extends WatcherImpl<MindbreakTrapWatcher> {
class MindbreakTrapWatcher extends Watcher<MindbreakTrapWatcher> {
private Map<UUID, Integer> counts = new HashMap<UUID, Integer>();

View file

@ -40,7 +40,7 @@ import mage.game.Game;
import mage.game.events.GameEvent;
import mage.players.Player;
import mage.target.TargetPlayer;
import mage.watchers.WatcherImpl;
import mage.watchers.Watcher;
import java.util.UUID;
@ -105,7 +105,7 @@ class TargetPlayerCardsInHandCount implements DynamicValue {
}
}
class CardsDrawnOpponentWatcher extends WatcherImpl<CardsDrawnOpponentWatcher> {
class CardsDrawnOpponentWatcher extends Watcher<CardsDrawnOpponentWatcher> {
int cardsDrawn;

View file

@ -51,7 +51,6 @@ import mage.game.stack.StackObject;
import mage.players.Player;
import mage.target.TargetCard;
import mage.watchers.Watcher;
import mage.watchers.WatcherImpl;
/**
*
@ -89,7 +88,7 @@ public class SummoningTrap extends CardImpl<SummoningTrap> {
}
}
class SummoningTrapWatcher extends WatcherImpl<SummoningTrapWatcher> {
class SummoningTrapWatcher extends Watcher<SummoningTrapWatcher> {
public SummoningTrapWatcher() {
super("CreatureSpellCountered", WatcherScope.PLAYER);

View file

@ -43,7 +43,7 @@ import mage.game.Game;
import mage.game.events.GameEvent;
import mage.game.permanent.Permanent;
import mage.target.common.TargetCreaturePermanent;
import mage.watchers.WatcherImpl;
import mage.watchers.Watcher;
/**
*
@ -78,7 +78,7 @@ public class WhiplashTrap extends CardImpl<WhiplashTrap> {
}
}
class WhiplashTrapWatcher extends WatcherImpl<WhiplashTrapWatcher> {
class WhiplashTrapWatcher extends Watcher<WhiplashTrapWatcher> {
private Map<UUID, Integer> amountOfCreaturesPlayedThisTurn = new HashMap<UUID, Integer>();