forked from External/mage
45 lines
1.1 KiB
Java
45 lines
1.1 KiB
Java
package mage.abilities.dynamicvalue.common;
|
|
|
|
import mage.abilities.Ability;
|
|
import mage.abilities.dynamicvalue.DynamicValue;
|
|
import mage.abilities.effects.Effect;
|
|
import mage.game.Game;
|
|
import mage.watchers.common.PlayerLostLifeWatcher;
|
|
|
|
import java.util.UUID;
|
|
|
|
/**
|
|
* @author LevelX2
|
|
*/
|
|
public enum OpponentsLostLifeCount implements DynamicValue {
|
|
|
|
instance;
|
|
|
|
@Override
|
|
public int calculate(Game game, Ability sourceAbility, Effect effect) {
|
|
return this.calculate(game, sourceAbility.getControllerId());
|
|
}
|
|
|
|
public int calculate(Game game, UUID controllerId) {
|
|
PlayerLostLifeWatcher watcher = game.getState().getWatcher(PlayerLostLifeWatcher.class);
|
|
if (watcher != null) {
|
|
return watcher.getAllOppLifeLost(controllerId, game);
|
|
}
|
|
return 0;
|
|
}
|
|
|
|
@Override
|
|
public OpponentsLostLifeCount copy() {
|
|
return instance;
|
|
}
|
|
|
|
@Override
|
|
public String toString() {
|
|
return "X";
|
|
}
|
|
|
|
@Override
|
|
public String getMessage() {
|
|
return "the total life lost by your opponents this turn";
|
|
}
|
|
}
|