@Override public boolean apply(Game game, Ability source) { PlayerLostLifeWatcher watcher = (PlayerLostLifeWatcher) game.getState().getWatchers().get("PlayerLostLifeWatcher"); if (watcher != null) { return (watcher.getLiveLost(source.getControllerId()) == 0); } return false; }
@Override protected int getInputValue(Game game, Ability source) { int maxLostLive = 0; PlayerLostLifeWatcher watcher = (PlayerLostLifeWatcher) game.getState().getWatchers().get("PlayerLostLifeWatcher"); if (watcher != null) { for (UUID opponentId : game.getOpponents(source.getControllerId())) { int lostLive = watcher.getLiveLost(opponentId); if (lostLive > maxLostLive) { maxLostLive = lostLive; } } } return maxLostLive; }