[DMU] Karn's Sylex (#9507)

This commit is contained in:
Alex Vasile 2022-09-17 22:37:56 -04:00 committed by GitHub
parent adbebfdd3e
commit b14af42280
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
14 changed files with 285 additions and 30 deletions

View file

@ -47,6 +47,22 @@ import java.util.*;
*/
public interface Player extends MageItem, Copyable<Player> {
/**
* Enum used to indicate what each player is allowed to spend life on.
* By default it is set to `allAbilities`, but can be changed by effects.
* E.g. Angel of Jubilation sets it to `nonSpellnonActivatedAbilities`,
* and Karn's Sylex sets it to `onlyManaAbilities`.
*
*
* Default is PayLifeCostLevel.allAbilities.
*/
enum PayLifeCostLevel {
allAbilities,
nonSpellnonActivatedAbilities,
onlyManaAbilities,
none
}
/**
* Current player is real life player (human). Try to use in GUI and network engine only.
* <p>
@ -147,12 +163,12 @@ public interface Player extends MageItem, Copyable<Player> {
/**
* Is the player allowed to pay life for casting spells or activate activated abilities
*
* @param canPayLifeCost
* @param payLifeCostLevel
*/
void setCanPayLifeCost(boolean canPayLifeCost);
void setPayLifeCostLevel(PayLifeCostLevel payLifeCostLevel);
boolean getCanPayLifeCost();
PayLifeCostLevel getPayLifeCostLevel();
/**
* Can the player pay life to cast or activate the given ability