package magic.model.mstatic;
import java.util.EnumSet;
import java.util.Set;
public enum MagicLayer {
Card, //0. properties from the card, not formally defined in rules
Copy, //1. copy
Control, //2. control changing
Text, //3. text changing
CDASubtype, //4a. CDA subtype
Type, //4b. type-changing (include sub and super types)
CDAColor, //5a. CDA color
Color, //5b. color changing
Ability, //6. ability adding/removing
AbilityCond, //6b. ability adding/removing that depends on condition
CDAPT, //7a. CDA p/t
SetPT, //7b. set p/t to specific value
ModPT, //7c. modify p/t
CountersPT, //7d. p/t changes due to counters
SwitchPT, //7e. switch p/t
Player, //8. affect player, e.g. you have hexproof
Game, //9. affect game rules, e.g. modify maximum hand size, creature is Indestructible
CostIncrease,
CostReduction,
;
public static final Set<MagicLayer> PERMANENT = EnumSet.range(Card, SwitchPT);
}