diff --git a/Mage.Sets/src/mage/sets/championsofkamigawa/AshenSkinZubera.java b/Mage.Sets/src/mage/sets/championsofkamigawa/AshenSkinZubera.java index 6703ef0dbb5..f76be45ee46 100644 --- a/Mage.Sets/src/mage/sets/championsofkamigawa/AshenSkinZubera.java +++ b/Mage.Sets/src/mage/sets/championsofkamigawa/AshenSkinZubera.java @@ -38,6 +38,7 @@ import mage.abilities.common.DiesTriggeredAbility; import mage.abilities.effects.common.discard.DiscardTargetEffect; import mage.cards.CardImpl; import mage.target.common.TargetOpponent; +import mage.watchers.common.ZuberasDiedWatcher; /** * @author Loki diff --git a/Mage.Sets/src/mage/sets/championsofkamigawa/DrippingTongueZubera.java b/Mage.Sets/src/mage/sets/championsofkamigawa/DrippingTongueZubera.java index 688a724d073..c6338bc0fd4 100644 --- a/Mage.Sets/src/mage/sets/championsofkamigawa/DrippingTongueZubera.java +++ b/Mage.Sets/src/mage/sets/championsofkamigawa/DrippingTongueZubera.java @@ -36,6 +36,7 @@ import mage.abilities.common.DiesTriggeredAbility; import mage.abilities.effects.common.CreateTokenEffect; import mage.cards.CardImpl; import mage.game.permanent.token.SpiritToken; +import mage.watchers.common.ZuberasDiedWatcher; /** * diff --git a/Mage.Sets/src/mage/sets/championsofkamigawa/EmberFistZubera.java b/Mage.Sets/src/mage/sets/championsofkamigawa/EmberFistZubera.java index 1775ed36ae1..99e7494a2a3 100644 --- a/Mage.Sets/src/mage/sets/championsofkamigawa/EmberFistZubera.java +++ b/Mage.Sets/src/mage/sets/championsofkamigawa/EmberFistZubera.java @@ -38,6 +38,7 @@ import mage.abilities.common.DiesTriggeredAbility; import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.target.common.TargetCreatureOrPlayer; +import mage.watchers.common.ZuberasDiedWatcher; /** * diff --git a/Mage.Sets/src/mage/sets/championsofkamigawa/FloatingDreamZubera.java b/Mage.Sets/src/mage/sets/championsofkamigawa/FloatingDreamZubera.java index 7eba0295632..3d76977d76b 100644 --- a/Mage.Sets/src/mage/sets/championsofkamigawa/FloatingDreamZubera.java +++ b/Mage.Sets/src/mage/sets/championsofkamigawa/FloatingDreamZubera.java @@ -29,7 +29,6 @@ package mage.sets.championsofkamigawa; import mage.MageInt; -import mage.MageObject; import mage.abilities.Ability; import mage.abilities.common.DiesTriggeredAbility; import mage.abilities.dynamicvalue.DynamicValue; @@ -38,12 +37,8 @@ import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.constants.CardType; import mage.constants.Rarity; -import mage.constants.WatcherScope; -import mage.constants.Zone; import mage.game.Game; -import mage.game.events.GameEvent; -import mage.game.events.ZoneChangeEvent; -import mage.watchers.Watcher; +import mage.watchers.common.ZuberasDiedWatcher; import java.util.UUID; @@ -75,42 +70,6 @@ public class FloatingDreamZubera extends CardImpl { } -class ZuberasDiedWatcher extends Watcher { - - public int zuberasDiedThisTurn = 0; - - public ZuberasDiedWatcher() { - super("ZuberasDied", WatcherScope.GAME); - } - - public ZuberasDiedWatcher(final ZuberasDiedWatcher watcher) { - super(watcher); - this.zuberasDiedThisTurn = watcher.zuberasDiedThisTurn; - } - - @Override - public ZuberasDiedWatcher copy() { - return new ZuberasDiedWatcher(this); - } - - @Override - public void watch(GameEvent event, Game game) { - if (event.getType() == GameEvent.EventType.ZONE_CHANGE && ((ZoneChangeEvent) event).isDiesEvent()) { - MageObject card = game.getLastKnownInformation(event.getTargetId(), Zone.BATTLEFIELD); - if (card != null && card.hasSubtype("Zubera", game)) { - zuberasDiedThisTurn++; - } - } - } - - @Override - public void reset() { - super.reset(); - zuberasDiedThisTurn = 0; - } - -} - class ZuberasDiedDynamicValue implements DynamicValue { @Override diff --git a/Mage.Sets/src/mage/sets/championsofkamigawa/SilentChantZubera.java b/Mage.Sets/src/mage/sets/championsofkamigawa/SilentChantZubera.java index 7df0f8b9a1a..265ffeaced4 100644 --- a/Mage.Sets/src/mage/sets/championsofkamigawa/SilentChantZubera.java +++ b/Mage.Sets/src/mage/sets/championsofkamigawa/SilentChantZubera.java @@ -38,6 +38,7 @@ import mage.cards.CardImpl; import mage.constants.CardType; import mage.constants.Rarity; import mage.game.Game; +import mage.watchers.common.ZuberasDiedWatcher; import java.util.UUID; diff --git a/Mage/src/main/java/mage/watchers/common/ZuberasDiedWatcher.java b/Mage/src/main/java/mage/watchers/common/ZuberasDiedWatcher.java new file mode 100644 index 00000000000..b82811661c5 --- /dev/null +++ b/Mage/src/main/java/mage/watchers/common/ZuberasDiedWatcher.java @@ -0,0 +1,48 @@ +package mage.watchers.common; + +import mage.MageObject; +import mage.constants.WatcherScope; +import mage.constants.Zone; +import mage.game.Game; +import mage.game.events.GameEvent; +import mage.game.events.ZoneChangeEvent; +import mage.watchers.Watcher; + +/** + * Created by Eric on 9/24/2016. + */ +public class ZuberasDiedWatcher extends Watcher { + + public int zuberasDiedThisTurn = 0; + + public ZuberasDiedWatcher() { + super("ZuberasDied", WatcherScope.GAME); + } + + public ZuberasDiedWatcher(final ZuberasDiedWatcher watcher) { + super(watcher); + this.zuberasDiedThisTurn = watcher.zuberasDiedThisTurn; + } + + @Override + public ZuberasDiedWatcher copy() { + return new ZuberasDiedWatcher(this); + } + + @Override + public void watch(GameEvent event, Game game) { + if (event.getType() == GameEvent.EventType.ZONE_CHANGE && ((ZoneChangeEvent) event).isDiesEvent()) { + MageObject card = game.getLastKnownInformation(event.getTargetId(), Zone.BATTLEFIELD); + if (card != null && card.hasSubtype("Zubera", game)) { + zuberasDiedThisTurn++; + } + } + } + + @Override + public void reset() { + super.reset(); + zuberasDiedThisTurn = 0; + } + +}