forked from External/mage
* Last Night Together * Nanogene Conversion * Return the Past * Rose, Cutthroat Raider * Diamond City * Fix Apostrophe * Various fixes * Replace Diamond City and Celebration Watchers * LastNightTogether improvements, add hint to ReturnThePast * Add AttackedThisTurnOpponentsCount hint, ignore new failing Celebration test * Review fixes, also create ValueConditionHint for value hints with a conditional threshold * Comments improvements * Requested changes to make ValueConditionHint extend ConditionHint * single super call in ValueConditionHint constructor
48 lines
1.3 KiB
Java
48 lines
1.3 KiB
Java
|
|
package mage.abilities.dynamicvalue.common;
|
|
|
|
import mage.abilities.Ability;
|
|
import mage.abilities.dynamicvalue.DynamicValue;
|
|
import mage.abilities.effects.Effect;
|
|
import mage.abilities.hint.Hint;
|
|
import mage.abilities.hint.ValueHint;
|
|
import mage.game.Game;
|
|
import mage.watchers.common.PlayersAttackedThisTurnWatcher;
|
|
|
|
/**
|
|
* Remember to add PlayersAttackedThisTurnWatcher to card init
|
|
*
|
|
* @author JayDi85
|
|
*/
|
|
public enum AttackedThisTurnOpponentsCount implements DynamicValue {
|
|
instance;
|
|
private static final Hint hint = new ValueHint("the number of opponents you attacked this turn", instance);
|
|
|
|
@Override
|
|
public int calculate(Game game, Ability sourceAbility, Effect effect) {
|
|
PlayersAttackedThisTurnWatcher watcher = game.getState().getWatcher(PlayersAttackedThisTurnWatcher.class);
|
|
if (watcher != null) {
|
|
return watcher.getAttackedOpponentsCount(sourceAbility.getControllerId());
|
|
}
|
|
return 0;
|
|
}
|
|
|
|
@Override
|
|
public AttackedThisTurnOpponentsCount copy() {
|
|
return AttackedThisTurnOpponentsCount.instance;
|
|
}
|
|
|
|
@Override
|
|
public String toString() {
|
|
return "1";
|
|
}
|
|
|
|
@Override
|
|
public String getMessage() {
|
|
return "the number of opponents you attacked this turn";
|
|
}
|
|
|
|
public static Hint getHint() {
|
|
return hint;
|
|
}
|
|
}
|