Monarch abilities - added card hint with monarch info to all related cards (#11424);

This commit is contained in:
Oleg Agafonov 2023-11-19 22:31:27 +04:00
parent 073d9dcbc6
commit 225da087f9
50 changed files with 164 additions and 58 deletions

View file

@ -0,0 +1,37 @@
package mage.abilities.hint.common;
import mage.abilities.Ability;
import mage.abilities.condition.common.MonarchIsSourceControllerCondition;
import mage.abilities.hint.ConditionHint;
import mage.abilities.hint.Hint;
import mage.game.Game;
import java.util.Optional;
/**
* @author JayDi85
*/
public enum MonarchHint implements Hint {
instance;
private static final ConditionHint hint = new ConditionHint(MonarchIsSourceControllerCondition.instance, "You are The Monarch");
@Override
public String getText(Game game, Ability ability) {
String res = hint.getText(game, ability);
if (game.getMonarchId() == null) {
// no monarch
return res + " (no monarch in the game)";
} else {
// player
return res + Optional.ofNullable(game.getPlayer(game.getMonarchId()))
.map(p -> " (current monarch: " + p.getName() + ")")
.orElse("");
}
}
@Override
public Hint copy() {
return instance;
}
}