Enum Class Attribute

java.lang.Object
java.lang.Enum<Attribute>
net.demilich.metastone.game.cards.Attribute
All Implemented Interfaces:
Serializable, Comparable<Attribute>, Constable

public enum Attribute extends Enum<Attribute>
A list of attributes on entities.

This represents the "columns" of the proverbial data that is stored in an entity. Many keywords, like stealth, have a corresponding attribute. But it really depends on how the implementation works.

The attributes here interact with many mechanics. They are also the keys to an AttributeMap and CardAttributeMap.

  • Enum Constant Details

    • BASE_MANA_COST

      public static final Attribute BASE_MANA_COST
      The base mana cost of the Card.
      See Also:
    • COSTS_HEALTH_INSTEAD_OF_MANA

      public static final Attribute COSTS_HEALTH_INSTEAD_OF_MANA
      Indicates that this Card costs health instead of mana when played from the hand.
    • AURA_COSTS_HEALTH_INSTEAD_OF_MANA

      public static final Attribute AURA_COSTS_HEALTH_INSTEAD_OF_MANA
      An Aura version of COSTS_HEALTH_INSTEAD_OF_MANA.
    • HP

      public static final Attribute HP
      The number of hit points the Actor currently has.
    • INDEX

      public static final Attribute INDEX
      Returns the index of the entity in its current zone.
    • INDEX_FROM_END

      public static final Attribute INDEX_FROM_END
      Returns the index of the entity from the end of its current zone.

      For example, if it's the last element (i.e., index -1), its index from the end will be 1.

    • STARTING_INDEX

      public static final Attribute STARTING_INDEX
      Returns the index of the entity in its current zone at the start of the game.
    • ATTACK

      public static final Attribute ATTACK
      The attack value written on the Card. This is distinct from BASE_ATTACK, which is the base attack value of the Minion this card would summon.
    • ATTACK_BONUS

      public static final Attribute ATTACK_BONUS
      An attack bonus that should be applied to the Minion attack.
    • MAX_HP

      public static final Attribute MAX_HP
      The maximum number of hitpoints the Actor can have.
    • ARMOR

      public static final Attribute ARMOR
      The current armor belonging to the Actor, or the additional armor gained by playing the specified Card.
    • TEMPORARY_ATTACK_BONUS

      public static final Attribute TEMPORARY_ATTACK_BONUS
      A one-turn long attack bonus given to the Actor.
    • HP_BONUS

      public static final Attribute HP_BONUS
      The amount of hitpoints added by all the BuffSpell effects on the entity.
    • AURA_ATTACK_BONUS

      public static final Attribute AURA_ATTACK_BONUS
      The amount of attack added by all the Aura effects that target the entity.
    • AURA_HP_BONUS

      public static final Attribute AURA_HP_BONUS
      The amount of hitpoints added by all the Aura effects that target the entity.
    • AURA_IMMUNE

      public static final Attribute AURA_IMMUNE
      Grants an immunity aura when present on an entity.
      See Also:
    • AURA_CARD_ID

      public static final Attribute AURA_CARD_ID
      When set, the card behaves as though it were actually a copy of the card of the specified ID.

      This is distinct from transformation effects.

    • BASE_HP

      public static final Attribute BASE_HP
      The base number of hitpoints for the Actor.
    • BASE_ATTACK

      public static final Attribute BASE_ATTACK
      The base amount of attack for the Actor.
    • CONDITIONAL_ATTACK_BONUS

      public static final Attribute CONDITIONAL_ATTACK_BONUS
      A conditional attack bonus for the Actor that corresponds to bonuses from an EnrageSpell, ConditionalAttackBonusSpell or SetAttributeSpell. This bonus is typically controlled by a Condition.
    • RACE

      public static final Attribute RACE
      The race of the entity.
      See Also:
    • DESTROYED

      public static final Attribute DESTROYED
      When the entity has this attribute, it is destroyed. However, entities are also considered destroyed if their Actor.getHp() is below zero or if they are in the Spellsource.ZonesMessage.Zones.GRAVEYARD or Spellsource.ZonesMessage.Zones.REMOVED_FROM_PLAY zones.

      At the end of GameLogic.performGameAction(int, GameAction) in GameLogic.endOfSequence(), all entities with DESTROYED will be sent to the Spellsource.ZonesMessage.Zones.GRAVEYARD.

      See Also:
    • FATIGUE

      public static final Attribute FATIGUE
      Fatigue is a game mechanic that deals increasing damage to players who have already drawn all of the cards in their deck, whenever they attempt to draw another card.

      This attribute tracks how much damage a Hero should take when the player draws a card.

      See Also:
    • FROZEN

      public static final Attribute FROZEN
      A frozen Actor cannot attack. Freezing is cleared by a SilenceSpell (when the minion is SILENCED) or the owning player ends his turn on a different turn than when the minion was FROZEN.
    • ENRAGABLE

      public static final Attribute ENRAGABLE
      This Minion will typically gain an attack bonus after it is dealt damage the first time.
      See Also:
    • SILENCED

      public static final Attribute SILENCED
      Records that an Entity was silenced. Silencing clears all attributes and effects.
      See Also:
    • WINDFURY

      public static final Attribute WINDFURY
      An Actor with WINDFURY has two attacks per turn.
    • AURA_WINDFURY

      public static final Attribute AURA_WINDFURY
      An aura version of WINDFURY
    • MEGA_WINDFURY

      public static final Attribute MEGA_WINDFURY
      An Actor with MEGA_WINDFURY has four attacks per turn.
      See Also:
    • UNLIMITED_ATTACKS

      public static final Attribute UNLIMITED_ATTACKS
      An Actor with UNLIMITED_ATTACKS has unlimited attacks per turn.
      See Also:
    • TAUNT

      public static final Attribute TAUNT
      An Actor with TAUNT must be targeted by opposing PhysicalAttackAction actions first. This means the Minion with TAUNT acts like a shield for its other non-taunt minions and its owning player's hero, because the opposing minions and hero must attack the taunt minion first.
      See Also:
    • AURA_TAUNT

      public static final Attribute AURA_TAUNT
      Like taunt, but created as a result of an Aura.
      See Also:
    • CARD_TAUNT

      public static final Attribute CARD_TAUNT
      Like taunt, but only applies while in hand or in the deck. Affects the summoned minion and goes away when this card is moved to the graveyard.
    • SPELL_DAMAGE

      public static final Attribute SPELL_DAMAGE
      The total amount of spell damage that an Entity contributes.
    • AURA_SPELL_DAMAGE

      public static final Attribute AURA_SPELL_DAMAGE
      The aura version of spell damage.
    • HEALING_BONUS

      public static final Attribute HEALING_BONUS
      The additional amount of healing an Entity contributes.
    • ENEMY_HEALING_BONUS

      public static final Attribute ENEMY_HEALING_BONUS
      The additional amount of healing an Entity contributes to this owner's enemy.
    • AURA_HEALING_BONUS

      public static final Attribute AURA_HEALING_BONUS
      The aura version of HEALING_BONUS.
    • AURA_ENEMY_HEALING_BONUS

      public static final Attribute AURA_ENEMY_HEALING_BONUS
      The aura version of ENEMY_HEALING_BONUS.
    • OPPONENT_SPELL_DAMAGE

      public static final Attribute OPPONENT_SPELL_DAMAGE
      Some cards give the opponent spell damage. This attribute stores how much.
    • CHARGE

      public static final Attribute CHARGE
      A Minion with CHARGE can attack the same turn it enters play.
      See Also:
    • AURA_CHARGE

      public static final Attribute AURA_CHARGE
      An Aura version of CHARGE.
    • NUMBER_OF_ATTACKS

      public static final Attribute NUMBER_OF_ATTACKS
      An attribute that tracks the number of attacks the Actor has this turn. Typically, actors start with 1 attack every turn.
      See Also:
    • EXTRA_ATTACKS

      public static final Attribute EXTRA_ATTACKS
      An attribute used by Giant Sand Worm that refreshes the number of attacks it has.
      See Also:
    • MAX_ATTACKS

      public static final Attribute MAX_ATTACKS
      A virtual attribute that will call Entity.getMaxNumberOfAttacks() and return it.
    • ENRAGED

      public static final Attribute ENRAGED
      When an Actor is ENRAGED, its CONDITIONAL_ATTACK_BONUS is set to the amount of damage gained by an EnrageSpell.
      See Also:
    • BATTLECRY

      public static final Attribute BATTLECRY
      An Entity with BATTLECRY performs an action when it goes from the Spellsource.ZonesMessage.Zones.HAND to the Spellsource.ZonesMessage.Zones.BATTLEFIELD. This attribute is used to look up / keep track of entities that have battlecries. It does not define the battlecry itself.
    • DOUBLE_BATTLECRIES

      @Deprecated public static final Attribute DOUBLE_BATTLECRIES
      Deprecated.
      since the introduction of DoubleBattlecriesAura.
      An Entity with DOUBLE_BATTLECRIES causes other friendly battlecries to occur twice.

      This implements Brann Bronzebeard's text.

    • DEATHRATTLES

      public static final Attribute DEATHRATTLES
      An Entity with DEATHRATTLES casts a spell when it is destroyed.

      This attribute does not store the spell itself. It marks an entity that has a deathrattle.

    • DOUBLE_DEATHRATTLES

      @Deprecated public static final Attribute DOUBLE_DEATHRATTLES
      Deprecated.
      An Entity with DOUBLE_DEATHRATTLES causes other friendly deathrattles to occur twice.

      This implements Baron Rivendare's text.

      See Also:
    • IMMUNE

      public static final Attribute IMMUNE
      An immune Actor does not take any damage.
    • IMMUNE_WHILE_ATTACKING

      public static final Attribute IMMUNE_WHILE_ATTACKING
      An Actor with this attribute does not take damage from the targets of its physical attacks.
    • AURA_IMMUNE_WHILE_ATTACKING

      public static final Attribute AURA_IMMUNE_WHILE_ATTACKING
      An Aura version of IMMUNE_WHILE_ATTACKING.
    • DIVINE_SHIELD

      public static final Attribute DIVINE_SHIELD
      Marks that the Actor has a divine shield.

      Divine shield causes the actor to take zero damage instead of the full damage it should receive the first time it receives damage.

      See Also:
    • STEALTH

      public static final Attribute STEALTH
      A Minion with stealth cannot be targeted by spells, hero powers or physical attacks until it attacks.

      If a Stealthed minion attacks or deals any kind of damage, it will lose Stealth. This includes passive effects such as that of Knife Juggler, and dealing combat damage in exchange, such as when being struck by a clumsy minion such as Ogre Brute, or by a Misdirection-redirected minion.

      See Also:
    • AURA_STEALTH

      public static final Attribute AURA_STEALTH
      The aura version of STEALTH
    • SECRET

      public static final Attribute SECRET
      A Card has this attribute to help spells find secrets in the deck.

      Cards marked secret should not be revealed to the opponent.

    • COMBO

      public static final Attribute COMBO
      When a combo Card is played after another card, an effect is triggered.
      See Also:
    • OVERLOAD

      public static final Attribute OVERLOAD
      Overload is an Integer amount of mana that will be locked (unavailable for use) the next turn by playing this Card.
    • OVERLOADED_THIS_GAME

      public static final Attribute OVERLOADED_THIS_GAME
      The Integer amount of mana overloaded overloaded by the player over the course of the game.
    • CHOOSE_ONE

      public static final Attribute CHOOSE_ONE
      A Card with this attribute signals that it has two options that a player chooses from when the card is played.
    • CHOICE

      public static final Attribute CHOICE
      An integer attribute indicating which choice was taken on a choose one card.

      -1 indicates that the choose-both option occurred.

    • CHOICES

      public static final Attribute CHOICES
      An array of integer choices, for CastFromGroupSpell, to allow adaptation choices to replay correctly.
    • BOTH_CHOOSE_ONE_OPTIONS

      @Deprecated public static final Attribute BOTH_CHOOSE_ONE_OPTIONS
      Deprecated.
      A Minion with this attribute causes both choose one options of a Card with CHOOSE_ONE to be played.

      This implements the Fandral Staghelm card text.

    • SUMMONING_SICKNESS

      public static final Attribute SUMMONING_SICKNESS
      Summoning sickness prevents a Minion from attacking the same turn it is played or summoned. Minions with CHARGE do not have summoning sickness.

      Summoning sickness occurs however the minion entered the battlefield, whether through a play from the hand, a Summon effect, a put into battlefield effect, or a transform effect.

      See Also:
    • UNTARGETABLE_BY_SPELLS

      public static final Attribute UNTARGETABLE_BY_SPELLS
      Marks an Actor to be untargetable by spells or hero powers. This includes the owner's spells and hero powers.
      See Also:
      • for the complete target selection logic.
    • UNTARGETABLE_BY_OPPONENT_SPELLS

      public static final Attribute UNTARGETABLE_BY_OPPONENT_SPELLS
      Marks an Actor to be untargetable by an opponent's spells or hero powers.
      See Also:
      • for the complete target selection logic.
    • AURA_UNTARGETABLE_BY_SPELLS

      public static final Attribute AURA_UNTARGETABLE_BY_SPELLS
      An Actor with this attribute is untargetable by spells or hero powers due to an aura.
      See Also:
    • SPELL_DAMAGE_MULTIPLIER

      public static final Attribute SPELL_DAMAGE_MULTIPLIER
      When a Card that casts a DamageSpell has this attribute, its bonus from spell damage is doubled.
      See Also:
    • SPELL_DAMAGE_AMPLIFY_MULTIPLIER

      public static final Attribute SPELL_DAMAGE_AMPLIFY_MULTIPLIER
      When any friendly Entity has this attribute, all friendly spell damage effects (typically cast by DamageSpell deal damage multiplied by this attribute's value.

      This implements Prophet Velen.

      See Also:
    • HERO_POWER_DAMAGE_AMPLIFY_MULTIPLIER

      public static final Attribute HERO_POWER_DAMAGE_AMPLIFY_MULTIPLIER
      Applies a multiplier to the amount of hero damage the owning player's skill deals.
    • HEAL_AMPLIFY_MULTIPLIER

      public static final Attribute HEAL_AMPLIFY_MULTIPLIER
      When any friendly Entity has this attribute, all friendly healing effects that use GameLogic.heal(Player, Actor, int, Entity) are multiplied by this attribute's value.

      This implements Prophet Velen.

    • SPELL_HEAL_AMPLIFY_MULTIPLIER

      public static final Attribute SPELL_HEAL_AMPLIFY_MULTIPLIER
    • HERO_POWER_HEAL_AMPLIFY_MULTIPLIER

      public static final Attribute HERO_POWER_HEAL_AMPLIFY_MULTIPLIER
    • ATTACK_EQUALS_HP

      public static final Attribute ATTACK_EQUALS_HP
      An attribute that specifies that the attack of this Minion is equal to its hitpoints.
    • AURA_ATTACK_EQUALS_HP

      public static final Attribute AURA_ATTACK_EQUALS_HP
      The aura version of ATTACK_EQUALS_HP.
    • CANNOT_ATTACK

      public static final Attribute CANNOT_ATTACK
      When set, this Minion cannot attack.
    • AURA_CANNOT_ATTACK

      public static final Attribute AURA_CANNOT_ATTACK
      An Aura version of CANNOT_ATTACK.
    • CANNOT_ATTACK_HEROES

      public static final Attribute CANNOT_ATTACK_HEROES
      When set, this Minion cannot target heroes with physical attacks.

      Unusually, this attribute affects the .PhysicalAttackAction#canBeExecutedOn(GameContext, Player, Entity) method instead of (GameContext, Player, GameAction, List).

    • AURA_CANNOT_ATTACK_HEROES

      public static final Attribute AURA_CANNOT_ATTACK_HEROES
      An Aura version of CANNOT_ATTACK_HEROES
    • INVERT_HEALING

      public static final Attribute INVERT_HEALING
      Whens set on any entity, friendly healing effects deal damage instead.
    • CANNOT_REDUCE_HP_BELOW_1

      public static final Attribute CANNOT_REDUCE_HP_BELOW_1
      When set, the hitpoints of the Actor cannot be reduced below 1, typically just for the current turn.
    • COUNTERED

      public static final Attribute COUNTERED
      When a Card is played and countered (by e.g. Counterspell), it is marked with this attribute and its text is not executed.
      See Also:
    • DIED_ON_TURN

      public static final Attribute DIED_ON_TURN
      This attribute records which turn a Minion was marked as DESTROYED.
    • HERO_POWER_FREEZES_TARGET

      @Deprecated public static final Attribute HERO_POWER_FREEZES_TARGET
      Deprecated.
      When any Entity alive has this attribute, the owning player's hero power freezes its target.

      Implements Ice Walker

    • HERO_POWERS_DISABLED

      public static final Attribute HERO_POWERS_DISABLED
      When any Entity alive has this attribute, BOTH player's hero powers are disabled.

      Implements Mindbreaker.

    • LAST_HIT

      public static final Attribute LAST_HIT
      Records the amount of damage last sustained by an Actor. Typically used by an AttributeValueProvider to feed a value into a spell (e.g., a healing spell may heal the owning player by the amount of damage last dealt to an entity).
    • LAST_HEAL

      public static final Attribute LAST_HEAL
      Records the amount of healing last applied to this Actor.
    • PASSIVE_TRIGGERS

      public static final Attribute PASSIVE_TRIGGERS
      Marks that this Entity has a passive trigger that activates to a GameEvent.
      See Also:
    • DECK_TRIGGERS

      public static final Attribute DECK_TRIGGERS
      Marks that this Card has a trigger that should be active while it is in the deck.
      See Also:
    • GAME_TRIGGERS

      public static final Attribute GAME_TRIGGERS
      Marks that this Card has a trigger (this attribute) that should be active throughout the game.
    • HERO_POWER_USAGES

      public static final Attribute HERO_POWER_USAGES
      This attribute indicates the maximum number of times a hero power can be used in a turn. It is an aura effect. The number of times a hero power can be used will be the max value found among in-play entities owned by the player.
      See Also:
    • HERO_POWER_DAMAGE

      public static final Attribute HERO_POWER_DAMAGE
      An Entity with hero power damage contributes to the total hero power damage the player gets as a bonus to their base hero power damage. Applies to DamageSpell based hero powers.
    • SHADOWFORM

      public static final Attribute SHADOWFORM
      Shadowform implements a hero power upgrading mechanic.

      Implements the Shadowform card.

      See Also:
    • CTHUN_ATTACK_BUFF

      public static final Attribute CTHUN_ATTACK_BUFF
      This attribute keeps track of how much attack should be added to C'Thun.

      Implements the C'Thun mechanic.

      See Also:
    • CTHUN_HEALTH_BUFF

      public static final Attribute CTHUN_HEALTH_BUFF
      This attribute keeps track of how many hitpoints should be added to C'Thun.

      Implements the C'Thun mechanic.

      See Also:
    • CTHUN_TAUNT

      public static final Attribute CTHUN_TAUNT
      This attribute marks that C'Thun will have Taunt when it is summoned.

      Implements the C'Thun mechanic.

    • SPELLS_COST_HEALTH

      public static final Attribute SPELLS_COST_HEALTH
      When any Entity has this attribute in play, spells cost health instead of mana.

      This attribute implements Chogall.

    • MINIONS_COST_HEALTH

      public static final Attribute MINIONS_COST_HEALTH
      When any Entity has this attribute in play, minions cost health instead of mana.
    • MURLOCS_COST_HEALTH

      public static final Attribute MURLOCS_COST_HEALTH
      When any Entity has this attribute in play, a Card costs health instead of mana.

      This attribute implements Seadevil Stinger.

    • TAKE_DOUBLE_DAMAGE

      public static final Attribute TAKE_DOUBLE_DAMAGE
      An Entity with this attribute takes twice the damage whenever it is dealt damage.
      See Also:
    • AURA_TAKE_DOUBLE_DAMAGE

      public static final Attribute AURA_TAKE_DOUBLE_DAMAGE
      The Aura version of TAKE_DOUBLE_DAMAGE
    • RUSH

      public static final Attribute RUSH
      A Minion with this attribute cannot target a Hero the same turn it is summoned. This is typically given to a CHARGE minion that would be too powerful it it could target a hero.
      See Also:
    • AURA_RUSH

      public static final Attribute AURA_RUSH
      Aura version of RUSH
    • JADE_BUFF

      public static final Attribute JADE_BUFF
      An attribute that keeps track of how much attack and hitpoints to add to the next Jade Golem that gets summoned.
    • RANDOM_CHOICES

      public static final Attribute RANDOM_CHOICES
      When any Entity has a non-zero value for this attribute, spells are cast with random targets, random discover choices are made, physical attacks target randomly, and battlecries target randomly.

      Implements Yogg-Saron, Hope's End; Servant of Yogg-Saron; Mayor Noggenfogger

    • QUEST

      public static final Attribute QUEST
      A QUEST Entity is an untargetable permanent that lives in the Spellsource.ZonesMessage.Zones.QUEST zone but is visible to the opponent.

      Implements quest cards.

    • PACT

      public static final Attribute PACT
      A PACT Entity is an untargetable permanent that lives in the Spellsource.ZonesMessage.Zones.QUEST zone, is visible to the opponent, and can be triggered by actions that either the opponent or player performs (activated during both turns).
    • STARTED_IN_DECK

      public static final Attribute STARTED_IN_DECK
      An attribute given to Card entities that started in the player's deck, as opposed to being generated by other cards.

      Implements Open the Waygate quest.

    • STARTED_IN_HAND

      public static final Attribute STARTED_IN_HAND
      An attribute given to Card entities that started in the player's opening hand

      Implements Hex Lord Malacrass.

    • PERMANENT

      public static final Attribute PERMANENT
      This attribute describes a Minion that can never be targeted by spells, abilities, auras or physical attacks but does occupy a position on the Spellsource.ZonesMessage.Zones.BATTLEFIELD.

      Implements permanents.

    • USER_ID

      public static final Attribute USER_ID
      This attribute is a String that describes the inventory owner (as opposed to in-match owner) of the card.
    • ENTITY_INSTANCE_ID

      public static final Attribute ENTITY_INSTANCE_ID
      This String describes the instance of this specific entity inside the particular match.
    • CARD_INVENTORY_ID

      public static final Attribute CARD_INVENTORY_ID
      This String is the inventory record ID of this card.
    • DECK_ID

      public static final Attribute DECK_ID
      This String is the ID of the deck this card is currently put into.
    • DONOR_ID

      public static final Attribute DONOR_ID
      This String is the user ID of the player who opened the card pack that contained this card.
    • CHAMPION_ID

      public static final Attribute CHAMPION_ID
      This String is the user ID of the player who is currently using a card that belongs to someone else.
    • COLLECTION_IDS

      public static final Attribute COLLECTION_IDS
      This String array is the collections this card belongs to, like the deck, user and alliances.
    • ALLIANCE_ID

      public static final Attribute ALLIANCE_ID
      This String is the ID of the alliance this card belongs to, if any.
    • UNIQUE_CHAMPION_IDS_SIZE

      public static final Attribute UNIQUE_CHAMPION_IDS_SIZE
      Every time a player summons this Minion for the first time in their lifetime of the game, the Card is incremented. This attribute persists between matches.
    • UNIQUE_CHAMPION_IDS

      public static final Attribute UNIQUE_CHAMPION_IDS
      Every unique user ID that has summoned this minion is stored in this attribute's array of String.
    • LAST_MINION_DESTROYED_CARD_ID

      public static final Attribute LAST_MINION_DESTROYED_CARD_ID
      Every time an Actor destroys a Minion, the String card ID is stored in this attribute. This attribute persists between matches.
    • LAST_MINION_DESTROYED_INVENTORY_ID

      public static final Attribute LAST_MINION_DESTROYED_INVENTORY_ID
      Every time an Actor destroys a Minion, the String card inventory ID is stored in this attribute. This attribute persists between matches.
    • TOTAL_DAMAGE_DEALT

      public static final Attribute TOTAL_DAMAGE_DEALT
      Every time an Actor damages a target, increment this attribute with the total amount of damage dealt across all games.

      This is a legacy mechanic. In a networked multiplayer environment, this value will persist between matches.

    • TOTAL_KILLS

      public static final Attribute TOTAL_KILLS
      Every time an Actor kills a target, increment this attribute.
    • TOTAL_DAMAGE_RECEIVED

      public static final Attribute TOTAL_DAMAGE_RECEIVED
      Every time an Actor receives damage, increment this attribute with the total amount of damage dealt.
    • HEALING_THIS_TURN

      public static final Attribute HEALING_THIS_TURN
      Every time an Actor is healed, increment this attribute with the amount of healing and set to zero at the end of the turn.
    • EXCESS_HEALING_THIS_TURN

      public static final Attribute EXCESS_HEALING_THIS_TURN
      Every time an Actor is healed, increment this attribute with the amount of healing and set to zero at the end of the turn.
    • TOTAL_HP_INCREASES

      public static final Attribute TOTAL_HP_INCREASES
      Every time an Actor has its max HP increased, this value increases.
    • DAMAGE_THIS_TURN

      public static final Attribute DAMAGE_THIS_TURN
      Every time an Actor is damaged, increment this attribute with the amount of damage and set it to zero at the end of the turn.
    • MINIONS_SUMMONED_THIS_TURN

      public static final Attribute MINIONS_SUMMONED_THIS_TURN
      Every time a Player successfully summons a minion, this counter is incremented on the summoning player.
    • TOTAL_MINIONS_SUMMONED_THIS_TURN

      public static final Attribute TOTAL_MINIONS_SUMMONED_THIS_TURN
      Every time a Player successfully summons a minion, this counter is incremented on both players
    • WEAKEST_ON_BATTLEFIELD_WHEN_DESTROYED_COUNT

      public static final Attribute WEAKEST_ON_BATTLEFIELD_WHEN_DESTROYED_COUNT
      Whenever an Actor dies, increment this attribute by 1 if the actor had the lowest attack on the battlefield.
    • POISONOUS

      public static final Attribute POISONOUS
      A shorthand implementation of the Poisonous keyword. Indicates that whenever the source minion deals more than 0 damage to the target minion, the target minion is destroyed.
    • AURA_POISONOUS

      public static final Attribute AURA_POISONOUS
      An aura version of POISONOUS
    • LIFESTEAL

      public static final Attribute LIFESTEAL
      A shorthand implementation of the Lifesteal keyword. Indicates that the Hero of the owner of the Minion, or Card should be healed by the amount of damage dealt by that minion.
    • AURA_LIFESTEAL

      public static final Attribute AURA_LIFESTEAL
      An aura version of LIFESTEAL
    • DOUBLE_END_TURN_TRIGGERS

      public static final Attribute DOUBLE_END_TURN_TRIGGERS
      Indicates that the Player's end turn triggers should trigger twice.

      Implements Drakkari Enchanter.

    • PLAYED_FROM_HAND_OR_DECK

      public static final Attribute PLAYED_FROM_HAND_OR_DECK
      Indicates the Integer turn that the specified card was played from the hand or the deck.
    • MANA_SPENT

      public static final Attribute MANA_SPENT
      Indicates how much Mana the player spent to play the card
    • COPIED_FROM

      public static final Attribute COPIED_FROM
      An EntityReference that, when set, indicates which entity this copied, if the entity copied with Entity.getCopy().
    • NAME

      public static final Attribute NAME
      Overrides the name of the Entity
    • DESCRIPTION

      public static final Attribute DESCRIPTION
      Overrides the description of the Entity
    • SPELLSOURCE_NAME

      public static final Attribute SPELLSOURCE_NAME
      Indicates the name in Spellsource for the specified card.
    • MANA_COST_MODIFIER

      public static final Attribute MANA_COST_MODIFIER
      Returns the Card's CardDesc.manaCostModifier field.
    • USED_THIS_TURN

      public static final Attribute USED_THIS_TURN
      Indicates the number of uses of a hero power.
    • MANA_SPENT_THIS_TURN

      public static final Attribute MANA_SPENT_THIS_TURN
      On the player entity, specifies how much mana has been spent this turn.
    • HERO_CLASS

      public static final Attribute HERO_CLASS
      Returns the Card's CardDesc.heroClass field.
    • TARGET_SELECTION

      public static final Attribute TARGET_SELECTION
      Returns the Card's CardDesc.targetSelection field.
    • CARD_ID

      public static final Attribute CARD_ID
      When set, overrides the card's identity and makes it behave like a different card in all its base effects.
    • EXTRA_TURN

      public static final Attribute EXTRA_TURN
      Indicates how many extra turns the player has.

      Implements Open the Waygate.

    • TURN_TIME

      public static final Attribute TURN_TIME
      Indicates the amount of time, in seconds, a player has to perform their turn.
    • TURN_START_TIME_MILLIS

      public static final Attribute TURN_START_TIME_MILLIS
      Indicates the time, in millis since the beginning of the match, that a player's turn was started.
    • GAME_START_TIME_MILLIS

      public static final Attribute GAME_START_TIME_MILLIS
      Indicates the time, in millis, that a game was started
    • DISCARDED

      public static final Attribute DISCARDED
      Indicates how many cards the player has discarded during the game.
    • GAME_STARTED

      public static final Attribute GAME_STARTED
      Indicates that the game has started for the specified player.
    • TRANSFORM_REFERENCE

      public static final Attribute TRANSFORM_REFERENCE
      For entities that are in the Spellsource.ZonesMessage.Zones.REMOVED_FROM_PLAY zone due to a transform effect, this attribute points to the entity that replaced this one.
    • RECEIVED_ON_TURN

      public static final Attribute RECEIVED_ON_TURN
      Whenever a Card is received into the hand, this attribute indicates on which turn (typically GameContext.getTurn() the card was received.
    • KEEPS_ENCHANTMENTS

      public static final Attribute KEEPS_ENCHANTMENTS
      Remembers the ATTACK_BONUS, HP_BONUS, LIFESTEAL, WINDFURY, POISONOUS that was applied to the Actor that gets subjected to a ShuffleToDeckSpell.

      Implements Kingsbane.

    • NEVER_MULLIGANS

      public static final Attribute NEVER_MULLIGANS
      When true, indicates this card never appears in a mulligan. Typically used to implement passives.
    • ECHO

      public static final Attribute ECHO
      Indicates the card will put a copy of itself into the player's hand after it is played.
    • AURA_ECHO

      public static final Attribute AURA_ECHO
      The aura version of ECHO.
    • DEFLECT

      public static final Attribute DEFLECT
      Whenever a Minion with this attribute is first attacked, it loses this attribute and the damage dealt to it is dealt to its owner's hero instead.
    • INVOKE

      public static final Attribute INVOKE
      Whenever a Card with this attribute is in your hand, and you have at least the invoke amount of mana, you may gain an extra card with a bonus effect on it to cast with that extra mana.
    • AURA_INVOKE

      public static final Attribute AURA_INVOKE
      The aura version of INVOKE
    • INVOKED

      public static final Attribute INVOKED
      Indicates a card's invoke for the specified amount of mana.

      On a Player entity, indicates the number of cards that were invoked.

    • REMOVES_SELF_AT_END_OF_TURN

      public static final Attribute REMOVES_SELF_AT_END_OF_TURN
      Indicates that this Entity should remove itself from play peacefully at the end of the current turn.
    • LAST_TURN

      public static final Attribute LAST_TURN
      This value indicates the turn number of the Player's last turn.
    • AI_OPPONENT

      public static final Attribute AI_OPPONENT
      When true, indicates this Player entity is an AI opponent.

      Implements AI-specific game logic like eliminating turn timers.

    • UNCENSORED

      public static final Attribute UNCENSORED
      When set on a card in the Spellsource.ZonesMessage.Zones.DISCOVER, indicates the card should be turned over and visible to the discovering player's opponent.
    • MAGNETIC

      public static final Attribute MAGNETIC
      Indicates the minion should magnetize when being played left of a mech instead of summoning normally
    • MAGNETS

      public static final Attribute MAGNETS
      An array of card ID strings that correspond to which cards this card was magnetized from.
    • HAND_INDEX

      public static final Attribute HAND_INDEX
    • ROASTED

      public static final Attribute ROASTED
      Indicates this card was roasted (removed from the top of the deck) by a RoastSpell on the specified Integer turn.

      Implements Warchef Gordo / Chef's Roast effect.

    • SUPREMACY

      public static final Attribute SUPREMACY
      Indicates an Actor will do something when it attacks and kills a minion.

      Implements Alder Ravenwald / Dragoon's Supremacy effect.

    • SPELLS_CAST_TWICE

      public static final Attribute SPELLS_CAST_TWICE
      Implements Electra Stormsurge.
    • SPELLS_CAST_THRICE

      public static final Attribute SPELLS_CAST_THRICE
      Self explanatory.
    • ATTACK_MULTIPLIER

      public static final Attribute ATTACK_MULTIPLIER
      Applies a multiplier to the base attack plus bonus attack on an Actor.
    • AURA_ATTACK_MULTIPLIER

      public static final Attribute AURA_ATTACK_MULTIPLIER
      The aura version of ATTACK_MULTIPLIER.
    • ATTACK_BONUS_MULTIPLIER

      public static final Attribute ATTACK_BONUS_MULTIPLIER
      When non-zero, multiplies the ATTACK_BONUS, TEMPORARY_ATTACK_BONUS, AURA_ATTACK_BONUS and CONDITIONAL_ATTACK_BONUS by this amount. In other words, a multiplier that only affects bonuses.
    • AURA_ATTACK_BONUS_MULTIPLIER

      public static final Attribute AURA_ATTACK_BONUS_MULTIPLIER
      The aura version of ATTACK_BONUS_MULTIPLIER.
    • CANT_GAIN_ENCHANTMENTS

      public static final Attribute CANT_GAIN_ENCHANTMENTS
      Will block an entity from receiving game event triggers
    • FREEZES_PERMANENTLY

      public static final Attribute FREEZES_PERMANENTLY
      Indicates a character shouldn't naturally lose the FROZEN attribute
    • STEALTH_FOR_TURNS

      public static final Attribute STEALTH_FOR_TURNS
      Indicates how many turns an actor should have STEALTH for
    • CASTED_ON_FRIENDLY_MINION

      public static final Attribute CASTED_ON_FRIENDLY_MINION
      Indicates that the spell was played targeting a friendly minion Implements Lynessa Sunsorrow
    • ATTACKS_THIS_GAME

      public static final Attribute ATTACKS_THIS_GAME
      Tracks the amount of times an actor has attacked over the course of a game
    • BEING_PLAYED

      public static final Attribute BEING_PLAYED
      Tracks a card being in the progress of playing
    • QUICK_DRAW

      public static final Attribute QUICK_DRAW
      Marks a card as using a "Quick Draw" effect for the Outlaw class
    • RESERVED_INTEGER_1

      public static final Attribute RESERVED_INTEGER_1
      Allows spell effects to count and keep track of values without a dedicate enchantment.
    • RESERVED_INTEGER_2

      public static final Attribute RESERVED_INTEGER_2
      Allows spell effects to count and keep track of values without a dedicated enchantment.
    • RESERVED_INTEGER_3

      public static final Attribute RESERVED_INTEGER_3
      Allows spell effects to count and keep track of values without a dedicated enchantment.
    • RESERVED_INTEGER_4

      public static final Attribute RESERVED_INTEGER_4
      Allows spell effects to count and keep track of values without a dedicated enchantment.
    • RESERVED_INTEGER_5

      public static final Attribute RESERVED_INTEGER_5
      Allows spell effects to count and keep track of values without a dedicated enchantment.
    • RESERVED_BOOLEAN_1

      public static final Attribute RESERVED_BOOLEAN_1
      Allows spell effects to mark things without a dedicated enchantment.
    • RESERVED_BOOLEAN_2

      public static final Attribute RESERVED_BOOLEAN_2
      Allows spell effects to mark things without a dedicated enchantment.
    • RESERVED_BOOLEAN_3

      public static final Attribute RESERVED_BOOLEAN_3
      Allows spell effects to mark things without a dedicated enchantment.
    • RESERVED_BOOLEAN_4

      public static final Attribute RESERVED_BOOLEAN_4
      Allows spell effects to mark things without a dedicated enchantment.
    • RESERVED_BOOLEAN_5

      public static final Attribute RESERVED_BOOLEAN_5
      Allows spell effects to mark things without a dedicated enchantment.
    • SUPREMACIES_THIS_GAME

      public static final Attribute SUPREMACIES_THIS_GAME
      Counts the number of supremacies (kills, but not overkills) that the Actor has achieved.
    • CHOICE_SOURCE

      public static final Attribute CHOICE_SOURCE
      Records the EntityReference of this choose one spell card's source card.
    • DISABLE_FATIGUE

      public static final Attribute DISABLE_FATIGUE
      When set on the Player entity, that player no longer takes fatigue damage.
    • TIMES_HEALED

      public static final Attribute TIMES_HEALED
      Indicates how many times the target Actor has been healed.

      When set on the Player entity, indicates how many friendly characters have been healed total.

    • SUMMONED_ON_TURN

      public static final Attribute SUMMONED_ON_TURN
      Indicates which turn a minion was summoned.
    • SUMMONED_BY_PLAYER

      public static final Attribute SUMMONED_BY_PLAYER
      The player ID of the owner of the source entity that summoned this minion.
    • ATTACKS_THIS_TURN

      public static final Attribute ATTACKS_THIS_TURN
      Indicates the number of attacks this Actor has made this turn.
    • DEMONIC_FORM

      public static final Attribute DEMONIC_FORM
      The number of turns a player has for Demonic Form
    • WITHER

      public static final Attribute WITHER
      Indicates this actor has a wither effect active on it. Does not actually implement the wither.
    • WITHERED

      public static final Attribute WITHERED
      Indicates this actor has been withered.
    • SCHEME

      public static final Attribute SCHEME
      Counter for each time a "XXXXX's Scheme" card has upgraded
    • LACKEY

      public static final Attribute LACKEY
      Indicates a minion is part of the "___ Lackey" subset of cards for the Year of the Dragon
    • DECAY

      public static final Attribute DECAY
      Indicates the decay keyword, which causes the entity to lose one health/armor/durability at the end of every owner's turn

      Requires an appropriate trigger to actually implement the effect.

    • AURA_DECAY

      public static final Attribute AURA_DECAY
      The Aura version of the DECAY keyword.

      Requires an appropriate trigger to actually implement the effect.

    • TREANT

      public static final Attribute TREANT
      Indicates a minion is an official Treant, considered for Treant-related synergies
    • DRAINED_THIS_TURN

      public static final Attribute DRAINED_THIS_TURN
      Indicates how much an entity has DrainSpell drained this turn.
    • TOTAL_DRAINED

      public static final Attribute TOTAL_DRAINED
      Indicates how much an entity has DrainSpell drained over its lifetime.
    • DRAINED_LAST_TURN

      public static final Attribute DRAINED_LAST_TURN
      Indicates how much an entity has DrainSpell drained last turn.
    • SURGE

      public static final Attribute SURGE
      The keyword for cards with Surge (a bonus gained when the card is drawn that turn).
    • DYNAMIC_DESCRIPTION

      public static final Attribute DYNAMIC_DESCRIPTION
      An override for the entity's description that indicates it has an DynamicDescription.

      Contains an array of DynamicDescriptionDesc

    • PASSIVE_AURAS

      public static final Attribute PASSIVE_AURAS
      Stores passive auras, i.e., auras that are active while the entity is in the hand.
    • CURSE

      public static final Attribute CURSE
    • DRAIN

      public static final Attribute DRAIN
      Drain indicates the card will deal damage to the specified target and buffs the source's HP by that amount.
      See Also:
    • TOTAL_MINION_DAMAGE_DEALT_THIS_GAME

      public static final Attribute TOTAL_MINION_DAMAGE_DEALT_THIS_GAME
      Records how much damage was dealt to minions by this player or entity this game.
    • ATTACKS_LAST_TURN

      public static final Attribute ATTACKS_LAST_TURN
      Records how many attacks last turn an actor made.
    • DISCOVER

      public static final Attribute DISCOVER
      An attribute that indicates a card can be used to Discover something, offering a choice of 3 options to the player with a 4x increase in frequency of class cards.

      This is only really used for one Trader card right now, but it seemed like a useful one to add for future cards and their effects.

    • ARTIFACT

      public static final Attribute ARTIFACT
      Signifies that this card is an Artifact, a type of token card added by What Lies Beneath. Used to easily identify them for synergy purposes.
    • TOTAL_DAMAGE_DEALT_THIS_GAME

      public static final Attribute TOTAL_DAMAGE_DEALT_THIS_GAME
      Keeps track of damage dealt by this source minion this game.
    • SIGNATURE

      public static final Attribute SIGNATURE
      Attribute determining which card is the "Signature" for Ringmaster cards.
    • STARTING_TURN

      public static final Attribute STARTING_TURN
      When set on a player entity, indicates the player is currently in the starting turn phase.
    • CASTS_WHEN_DRAWN

      public static final Attribute CASTS_WHEN_DRAWN
      Attribute to track if a spell should cast itself automatically when drawn, also drawing another card in the process.
    • EIDOLON_RACE

      public static final Attribute EIDOLON_RACE
      Stores the Eidolon effect tribe.
    • AURA_MIN_ATTACK

      public static final Attribute AURA_MIN_ATTACK
      Represents the minimum attack that auras can reduce an actor's attack to
    • AFTERMATH_COUNT

      public static final Attribute AFTERMATH_COUNT
      The number of aftermaths active on this entity.
    • IMBUE

      public static final Attribute IMBUE
      Indicates that a card makes use of the Imbue keyword, specifically using up a charge

      Also used to store the number of Imbue charges on the player

    • STARTING_HAND_DRAWN

      public static final Attribute STARTING_HAND_DRAWN
      Indicates the player has drawn their starting hand. Essentially the end of the start-of-game phase.
    • DESTROYED_BY

      public static final Attribute DESTROYED_BY
      The EntityReference of the entity that destroyed this one.
  • Method Details

    • values

      public static Attribute[] values()
      Returns an array containing the constants of this enum class, in the order they are declared.
      Returns:
      an array containing the constants of this enum class, in the order they are declared
    • valueOf

      public static Attribute valueOf(String name)
      Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)
      Parameters:
      name - the name of the enum constant to be returned.
      Returns:
      the enum constant with the specified name
      Throws:
      IllegalArgumentException - if this enum class has no constant with the specified name
      NullPointerException - if the argument is null
    • toKeyCase

      public String toKeyCase()
    • getCardEnchantmentAttributes

      public static List<Attribute> getCardEnchantmentAttributes()
      Contains the list of attributes that enchant cards as opposed to actors.
      Returns:
      A list of attributes.
    • getAuraAttributes

      public static Set<Attribute> getAuraAttributes()
      Contains attributes that are the Aura version of a corresponding attribute.
      Returns:
      A list of attributes.
    • getStoresTurnNumberAttributes

      public static Set<Attribute> getStoresTurnNumberAttributes()
      Contains the set of attributes that store turn numbers.

      This affects whether or not the entity is considered having an integer attribute in the Entity.hasAttribute(Attribute) call.

      Returns:
      A set of attributes.
    • getEnchantmentLikeAttributes

      public static Set<Attribute> getEnchantmentLikeAttributes()