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(ZuberasDiedWatcher.class.getSimpleName(), 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;
}
}