All Classes and Interfaces

Class
Description
Destroys friendly minions.
A base class for behaviours that implement no action or a default action when its methods are called.
The base class for triggers that fire off card-adjacent effects.
Base class for damage events.
 
Configures an aura with the appropriate trigger to include friendly cards, including cards that are currently being played, in its affected entities list.
A base class for spells that modify the enchantments hosted by target or the target itself if it is an enchantment.
 
Indicates this effect will remove a card somehow.
A base class for spells that have to repeat recasts based on whether or not minions have been destroyed.
 
This class turns game actions into a list of possible actions for the player.
Activates the enchantments hosted by the target or the enchantment targeted in target
 
An actor hosts common functionality between minions, weapons and heroes.
Simply performs SpellArg.SPELL1 if the target entity is an Actor, or SpellArg.SPELL2 if they are a Card.
Copies the text written on the actor card pointed to by SpellArg.SECONDARY_TARGET to the target.
Adds the specified SpellArg.ATTRIBUTE (Attribute) to the target.
Gives the target card a OpenerDesc specified in SpellArg.BATTLECRY.
Gives the target the SpellArg.SPELL as a deathrattle.
Adds the deathrattle specified by the SpellArg.SPELL to the SpellArg.TARGET or target.
 
Adds the SpellArg.SECONDARY_TARGET card's text to the target's description, concatenating with a space.
Adds an SpellArg.AURA (Aura) or a Enchantment (in the SpellArg.TRIGGER) to the specified target and immediately puts that aura/enchantment into play (i.e., activates it).
Puts the enchantment written in this spell into play as soon as the minion is summoned from the target minion card.
Adds the specified SpellArg.PACT for the specified SpellArg.TARGET_PLAYER.
Adds the specified SpellArg.QUEST for the specified SpellArg.TARGET_PLAYER.
Puts the specified SpellArg.SECRET (an EnchantmentDesc) into play.
Casts SpellArg.SPELL2 on the minions adjacent to the minion whose deathrattle is currently being processed.
Casts SpellArg.SPELL1 on the target minion, and SpellArg.SPELL2 on the minions adjacent to the target.
true if the source (or the enchantment host) is adjacent to a Attribute.PERMANENT, which is ordinarily untargetable.
The card's effects have occurred and it has been moved to the graveyard.
 
Fires when a spell that deals any kind of damage is cast.
 
Returns the base cards of the aftermaths triggered by the CardSourceArg.TARGET_PLAYER.
Returns the number of aftermaths triggered by the ValueProviderArg.TARGET_PLAYER.
 
 
The damage has been dealt, all effects due to damage have been resolved, and now the physical attack has complete.
 
A spell has been casted with source card and, if the user selected the target, the target.
Fires after the EventTriggerArg.TARGET_PLAYER casts a spell.
The minion is on the board and its enchantments are in play.
 
 
true if all the ConditionArg.TARGET entities pass the ConditionArg.FILTER.
A condition that is fulfilled if all the entities in ConditionArg.TARGET, when evaluated as the target to ConditionArg.VALUE1 modulo ConditionArg.VALUE2 equals zero.
Evaluates to true if the target is specifically the Race.ALL.
Matches entities whose Entity.getRace() is specifically Race.ALL.
 
Evaluates to true for every target if all of the filters in EntityFilterArg.FILTERS also evaluate to true for the target.
Transforms the target into the SpellArg.CARD.
true if any of the entities returned by resolving ConditionArg.TARGET is passed by the filter supplied in ConditionArg.FILTER.
A deck validator that only cares that the deck contain no more than GameLogic.MAX_DECK_SIZE many cards.
The amount of armor on the hero has changed.
 
A list of attributes on entities.
An attribute was applied to the target.
 
Grants an AuraArg.ATTRIBUTE to the specified targets.
true when the target or ConditionArg.TARGET has an attribute ConditionArg.ATTRIBUTE that evaluates to true with the ConditionArg.OPERATION.
 
true if the player has the specified ConditionArg.ATTRIBUTE anywhere.
Filters entities according to their Attribute set on EntityFilterArg.ATTRIBUTE.
An attribute map is a Map that contains Attribute as keys and Object (typically integers and booleans) as values.
Modifies the AuraArg.ATTRIBUTE an amount specified in AuraArg.VALUE, which must be an integer.
Reduces the sum of all values of attribute ValueProviderArg.ATTRIBUTE on target entities for ValueProviderArg.TARGET.
Auras represent ongoing effects applied to certain entities and is updated whenever (1) the board changes, (2) a sequence ends, (3) a special secondary trigger is fired, or (4) a condition is changed during these earlier events.
 
An internal spell used to implement BuffAura.
 
 
Changes your current hero to the first card in the SpellArg.CARDS array.
Represents card resources with some base cards that are useful for testing and ensuring there is always at least one champion / class, format and set available for the runtime.
BaseMap<K extends Enum<K>,V>
A base map wrapping extending a HashMap or EnumMap depending on the memory needs of this server instance.
Construct and fire this event from an Spellsource.GameEventTypeMessage.GameEventType and the desired source and target.
 
 
 
Puts the last three cards the player Attribute.ROASTED into the player's Spellsource.ZonesMessage.Zones.HAND).
 
 
Before the attack happens and damage dealt is calculated.
 
Fires right after the minion has hit the board.
Behaviours specify a delegate for player action and mulligan requests.
Swaps the source summoning minion's health with the targets, splitting the health of the source among all the targets and gaining the sum of the targets' health.
Fires whenever the board may have changed.
 
Returns the number of minions, including permanents, on the board, unfiltered.
 
Indicates that the effects should occur for both players, without using the TargetPlayer.BOTH value in SpellArg.TARGET_PLAYER.
Gives the source (or the player entity, when the source is a spell or not in play) the enchantment, "Whenever a minion whose card is the same as the chosen minion is summoned, double the newly summoned minion's stats."
A buff aura applies the specified AuraArg.ATTACK_BONUS and AuraArg.HP_BONUS to the target entities as long as the AuraArg.CONDITION is satisfied.
Deprecated.
Use BuffSpell instead.
Buffs the leftmost minion in the player's hand.
Gives the target a stats boost of either *+ SpellArg.VALUE / + SpellArg.VALUE) or (+ SpellArg.ATTACK_BONUS / + SpellArg.HP_BONUS ).
Summons all the minions from the player's deck.
true if the source card's pact, based on card ID, can be played.
true if the player can summon more minions.
The Capt'n Cookish aura changes to random the player selected targets of spells cast by the owner of the aura.
The Card class is an entity that contains card information.
A card was inserted or shuffled into the deck, including "extra copies."
Fires whenever a card is added to the deck via a GameLogic.shuffleToDeck(Player, Card) or GameLogic.insertIntoDeck(Player, Card, int) effect.
An implementation of CardList for easy shuffling, choosing and uniqueness testing of lists of cards.
A hashmap that can contain "overrides" to a CardDesc.
Changes the targeted card's card ID to match the specified AuraArg.CARD, allowing its behaviour to change.
A filter that matches an entity if the base card ID is matched by the EntityFilterArg.CARD property.
A place that stores CardCatalogueRecord records that were generated from the "cards" Java package.
A record that stores a card's ID, JSON representation and CardDesc.
When this is in play, the player can only afford to play a card if AuraArg.CAN_AFFORD_CONDITION is met.
A card cost modifier.
 
 
 
Creates a CardCostModifier specified by SpellArg.CARD_COST_MODIFIER that is hosted by the specified SpellArg.TARGET.
Counts the number of cards in the player's hand, and evalutes to true if the count equals the ConditionArg.VALUE.
Returns the number of cards in the ValueProviderArg.CARD_SOURCE and ValueProviderArg.CARD_FILTER when specified, or Spellsource.ZonesMessage.Zones.HAND when not specified.
The class that card JSON files deserialize (get decoded) into.
 
Specifies a type of the object in the card desc.
 
A base class for events that have cards associated with them.
Filters entities based on various properties of their source cards.
An interface describing common actions for a collection of cards.
Indicates the card was not able to be parsed.
A class responsible for deserializing JSON representations of cards.
The card is played from the hand.
 
Returns true if the ConditionArg.TARGET or target is not null and meets the requirements specified by ConditionArg.CARD_TYPE, ConditionArg.HERO_CLASS, ConditionArg.RACE and the card ID in ConditionArg.CARD.
 
A card was revealed.
 
An enumeration of card sets from various games.
 
 
 
 
Returns the count of the number of cards played that by the ValueProviderArg.TARGET_PLAYER that satisfies the specified ValueProviderArg.FILTER.
This class is a CardList that represents the Spellsource.ZonesMessage.Zones.HAND and Spellsource.ZonesMessage.Zones.DECK.
Casts the subspell after the sequence has ended.
Casts the specified SpellArg.CARD or the card targeted by SpellArg.SECONDARY_TARGET onto the target.
Use a DiscoverSpell instead, since groups were never well thought-out anyway.
Casts the SpellArg.SPELL subspell with EntityReference.OUTPUT as a reference to SpellArg.VALUE random cards (or source cards of actors) stored on the source.
Casts the SpellArg.SPELL subspell with EntityReference.OUTPUT as a reference to SpellArg.VALUE random entities (exact cards or e.g.
Casts a random spell from the SpellArg.CARD_SOURCE, SpellArg.CARD_FILTER and SpellArg.CARDS provided.
Casts the specified SpellArg.SPELL for SpellArg.HOW_MANY times.
Casts a copy of the card played during the firing of a SpellCastedTrigger.
 
Tries to cast the spell card (given either by SpellArg.CARD or SpellArg.SECONDARY_TARGET) onto the specified target.
Returns a list of collectible cards from the DeckFormat for this game (from GameContext.getDeckFormat()) where class cards of the casting player's class appear 4x more than neutrals, and no other class cards appear.
 
Discovers cards from SpellUtils.getCards(GameContext, Player, Entity, Entity, SpellDesc) until their total cost is greater or equal to SpellArg.SECONDARY_VALUE.
Changes the SpellArg.TARGET_PLAYER hero power to a random hero power retrieved from SpellUtils.getCards(GameContext, Player, Entity, Entity, SpellDesc).
Changes the hero of SpellArg.TARGET_PLAYER to the specified hero card ID in SpellArg.CARD.
 
Prompts the player to choose among cards in their hand.
A behaviour which instructs the player to always perform the last available action.
The definition of a ChooseOneSpell's sub spells.
When specified on a ChooseOneOverrideAura, specifies which choose one option is taken by the targeted card.
Indicates that a choose one card's choices should be overridden by the AuraArg.CHOOSE_ONE_OVERRIDE ChooseOneOverride value whenever the target card is affected by this aura or if this aura's target is the Player entity (EntityReference.FRIENDLY_PLAYER or EntityReference.ENEMY_PLAYER) that owns the card being override.
Provides a choice between SpellArg.SPELL1 and SpellArg.SPELL2, using the SpellArg.NAME and SpellArg.DESCRIPTION in those spells to generate the choice cards.
 
Deprecated. 
Clears all entities stored by StoreEntitySpell on the target.
Deprecated.
Use SummonSpell instead.
Filter entities based on whether their source card is collectible or not
Indicates a deck from the player's online collection.
Combines multiple card sources together and includes cards from all of them.
true if the player has played a card prior to this one this turn (i.e.
Shorthand for a ConditionalEffectSpell that only plays the spell if the player has activated a combo (i.e., previously played a card earlier this turn).
Compares the values using the expression ConditionArg.VALUE1 ConditionArg.OPERATION ConditionArg.VALUE2.
 
A condition is used for true or false comparisons in the CardDesc card JSON.
Deprecated.
Use a BuffAura instead.
A conditional description will use DynamicDescriptionArg.DESCRIPTION1 when the condition is true, or DynamicDescriptionArg.DESCRIPTION2 when it is false.
Casts SpellArg.SPELL1 and evaluates the SpellArg.CONDITION: if it is fulfilled, casts SpellArg.SPELL2.
Casts the SpellArg.SPELL if the Condition in SpellArg.CONDITION is met; or, when a SpellArg.SPELLS array is specified, casts the spell in the array if its corresponding SpellArg.CONDITIONS array member is met.
When the ValueProviderArg.CONDITION evalutes to true, return the value from ValueProviderArg.IF_TRUE.
 
 
 
true if the player or ConditionArg.TARGET_PLAYER has a Secret.
Returns entities that have been played by EntityFilterArg.TARGET_PLAYER.
Copies enchantments written on the SpellUtils.getCards(GameContext, Player, Entity, Entity, SpellDesc, int) cards and the target (when specified) to the target specified in SpellArg.SECONDARY_TARGET.
Copies a target's source card.
Copies the target actor's deathrattles onto the source (i.e., result of EntityReference.SELF) of this spell.
Copies enchantments from the SpellArg.SECONDARY_TARGET to the target.
Calls ChangeHeroPowerSpell with SpellArg.CARD equal to the casting player's opponent's hero power card ID.
Puts a copy of the last card the player Attribute.ROASTED into the player's Spellsource.ZonesMessage.Zones.HAND.
Copies the lowest cost Card of type Spellsource.CardTypeMessage.CardType.MINION in the player's hand.
Transforms the source (casting entity) of this spell into the target Minion.
true if the ConditionArg.TARGET_PLAYER has en entity-count [ ConditionArg.OPERATION ] ConditionArg.VALUE cards.
Gibes a minion SpellArg.HOW_MANY battlecries that perform the selected spells from CardFilter.
Creates a card from a sequence of discovers.
Deprecated.
This spell is fairly brittle and you will be better off implementing the intended effects directly.
Deprecated.
Creates a sideboard of SpellArg.VALUE cards.
 
 
Deals a target actor's damage to minions adjacent to the target.
 
 
Deals damage to the specified actor, bypassing its armor.
Forces a minion to deal its damage to the minions opposite of it.
 
Deals SpellArg.VALUE damage to the specified target.
Deactivates the enchantments hosted by the target or deactivates the target enchantment.
Deals Spellsource.DamageTypeMessage.DamageType.DECAY damage to the source.
A deck has, at minimum, a deck ID.
Returns the list of cards from the deck in the user's collection named CardSourceArg.COLLECTION_NAME.
true if the deck contains any cards that match the given ConditionArg.CARD_FILTER or ConditionArg.CARD.
 
Represents a request to create a game with the specified deck list.
 
 
The sets that are available to build decks from and generate cards from.
Thrown when the deck list sent in a DeckCreateRequest has errors.
Returns cards from the player's deck.
Contains data about a player's deck required to reproduce, exactly, the player's match.
A function that determines whether the given card can be added to the given deck.
A deck validator of standard deck rules.
Desc<T extends Enum<T>,V extends HasDesc<?>>
A map representing a complex type in Spellsource, like a Spell or Condition.
DescDeserializer<T extends Desc<K,V>,K extends Enum<K>,V extends HasDesc<T>>
A base class for deserializers of the "component" or object types in the Spellsource card JSON.
 
Destroys all minions except one.
Destroys all minions except one.
For each target, destroy it.
Returns the number of Actor entities that were destroyed during the evaluation of this sequence.
Destroys all the secrets belonging to SpellArg.TARGET_PLAYER.
Destroys the target Actor.
Actors will be destroyed.
 
The GameEvent.getTargetPlayerId() ended their sequence.
 
Indicates how many of the ValueProviderArg.FILTER filtered actors were destroyed this turn.
Discards a card.
Discards or removes all cards from SpellArg.TARGET_PLAYER's deck, up to SpellArg.VALUE random cards.
A card was discarded.
Discards cards from the Spellsource.ZonesMessage.Zones.HAND or from a CardSource like DeckSource which does not generate new cards (does not implement HasCardCreationSideEffects), like DeckSource.
 
A DiscoverAction is a card and spell tuple that corresponds to a particular card selected by the player and the spell that will take that card as an argument.
Deprecated.
Use DiscoverSpell with a "spell": {"class": "ReceiveCardSpell"} instead.
Discovers a class card.
A spell that has the same interpretation of arguments as DiscardSpell, except the player chooses which cards to discard.
Deprecated.
Use DiscoverSpell instead.
A card was discovered (sourced).
This class is currently only used for tri-class card discoveries.
Performs the effect in the AuraArg.APPLY_EFFECT on cards that were not selected in a SpellUtils.discoverCard(GameContext, Player, Entity, SpellDesc, CardList) effect.
Deprecated.
The discover option spell is fairly brittle.
Deprecated.
Prompts the user to make an irreversible choice of some number of cards, and casts a spell for the chosen (and optionally, unchosen) cards.
 
Calculates the number of distinct tribes among the EntityReference.TARGET entities.
Doubles the target Actor's total attack.
When this aura is in play, battlecries trigger twice.
When this is in play, Attribute.COMBO cards with ComboSpell decorated spells cast twice.
When in play, aftermaths fire twice.
A dummy spell used for a simpler implementation of Khadgar's effect with a SpellOverrideAura
When this aura is in play, abilities triggered by the turn ending trigger twice.
Describes a behaviour during a draft.
Stores data and logic relating to drafting cards.
Indicates the user made an error, typically an invalid or out-of-order choice, during drafting.
Implements a basic draft where the user is given a selection of champions from all DeckFormat.spellsource() champions, and 30 rounds of 3-card choices pulled from a weighted selection of DeckFormat.spellsource() catalogue cards.
Indicates different states of a draft.
A target was DrainSpell drained.
Deals SpellArg.VALUE damage to the target.
Fires whenever a target is drained using DrainSpell.
Deprecated.
Use a DrawCardSpell with a sub spell like {"class": "DrawCardSpell", "spell": {"class": ..., "target": "OUTPUT"}} instead.
A card was put into the hand.
Draws a card from the graveyard.
Draws SpellArg.VALUE cards from the top of the player's deck.
Draws cards until a condition is met.
Like DuelSpell, except a random attacker that is not a defender is chosen from the SpellArg.SECONDARY_TARGET.
Makes each actor in SpellArg.SECONDARY_TARGET attack another random actor in SpellArg.TARGET.
The base class for dynamic descriptions.
Arguments for dynamic descriptions.
The serialized version of a dynamic description.
A deserializer of dynamic descriptions.
 
Casts SpellArg.SPELL1 if SpellArg.CONDITION is fulfilled, otherwise, casts SpellArg.SPELL2.
Gives a minion or card, "Deathrattle: Resummon this minion." Uses the card ID to do the resummoning.
An enchantment is a type of entity that reacts to certain events using a trigger by casting a spell.
Data specifying a trigger, including what event it reacts to, what spell it casts, and various options.
Keys for enumerating an EnchantmentDesc.
 
This action ends the player's current turn.
Deprecated.
Use a conventional aura with a IsDamagedCondition whose ConditionArg.TARGET is the EntityReference.TRIGGER_HOST (i.e.
An Actor with an Attribute.ENRAGABLE attribute was wounded or is now fully healed.
 
Implements the attack bonus portion of a complete Enrage effect.
An in-game entity.
Counts the number of entities specified in the ValueProviderArg.TARGET filtered by ValueProviderArg.FILTER.
The base condition for entity equality comparison conditions.
Evaluates to true when the target or ConditionArg.TARGET and ConditionArg.SECONDARY_TARGET are the same.
Matches an entity if the entity is in the list of entities returned by resolving the EntityFilterArg.SECONDARY_TARGET.
Filters Entity objects using its EntityFilter.test(GameContext, Player, Entity, Entity) implementation.
 
 
 
The location of an entity inside a GameContext.
An entity reference identifies a specific game entity, like a card or minion; or, it is interpreted as a group of entities, possibly always of length 1 (like EntityReference.FRIENDLY_HERO) or 0 or more (EntityReference.FRIENDLY_MINIONS).
 
Returns true if the Spellsource.EntityTypeMessage.EntityType from Entity.getEntityType() of the target is equal to the EntityFilterArg.ENTITY_TYPE argument.
EntityZone is an abstract list that enforces that (1) supports gameplay-safe cloning and (2) enforces that an Entity object is only in one zone at any time.
 
A collection of environment variables.
Keeps tracks of which aftermaths were triggered this game.
Describes a particular triggering of an aftermath
A stack in the environment.
Stores a list of entities in the environment, instead of on an attribute on an entity.
A key value store held in the environment.
A copyable, single value in the environment.
Deprecated.
Equips the specified weapon in SpellArg.CARD or chooses a random one based on the SpellArg.CARD_FILTER and SpellArg.CARD_SOURCE for the specified SpellArg.TARGET_PLAYER.
Only returns entities that have an even base cost.
Evaluates to true when the ConditionArg.TARGET from the perspective of the EntityReference.TRIGGER_HOST and the EntityReference.EVENT_TARGET are the same.
This is the base class of all effects that react to events in the game.
 
 
 
Retrieves the HasValue.getValue() of the event being processed.
Deals SpellArg.VALUE damage to the target and any excess to the SpellArg.SECONDARY_TARGET.
A target was healed with excess healing (i.e.
Returns the amount of excess healing the ValueProviderArg.TARGET_PLAYER has given to its entities.
 
Performs a HealSpell effect.
Source 3 cards from other classes (i.e., Source 3 times, each time, select from cards from other classes.
Creates a trigger that copies the target entity's text to Race.TOTEM minions for the rest of the game.
 
An attempt to draw from an empty deck occurred and the drawing player took damage.
Increments and deals fatigue damage to the player (SpellArg.TARGET_PLAYER).
Fires when the player gets dealt damage from Attribute.FATIGUE.
Values recorded for the default and Cuckoo-optimized values for GameStateValueBehaviour's best heuristic weights.
Sets the target minion's attack and health to the highest values for attack and health found among SpellArg.CARD_FILTER-filtered cards in CardSource.
Causes the EntityReference.TRIGGER_HOST to fight a random minion adjacent to it.
Drains SpellArg.VALUE health for each target resolved from the perspective of each SpellArg.SECONDARY_TARGET.
Returns the number of fires left in the first enchantment attached to the target.
Like ConditionalSpell, except executes the first matching condition.
 
A behaviour which randomly samples the game tree seeking sequences of actions that terminate in wins.
At the moment this spell is invoked, the sequence is ended and dead entities are cleaned up from the board, triggering deathrattles.
Returns a list of cards in the specified CardSourceArg.FORMAT.
Fires SpellArg.HOW_MANY missiles at the SpellArg.TARGET entities.
Moves a card from the deck to the hand.
Implements "50% chance to target the wrong entity" when coupled with an appropriate trigger.
Gives the hero of the target's owner SpellArg.VALUE armor.
Gives the player a temporary amount of SpellArg.VALUE mana.
Buffs the target with the stats of the highest cost minion in the player's hand.
An action a player can take in the game.
A game context helps execute a match of Spellsource, providing a place to store state, deliver requests for actions to players, apply those player actions through a GameLogic, and then save the updated state as a result of those actions.
A deck that contains cards, a name, a hero card, etc.
 
The base class for game events, or things that happen during the execution of a GameAction that other game rules may react to.
The game logic class implements the basic primitives of gameplay.
Keeps track of data regarding a queued trigger firing (the tuple of event and trigger that needs to be processed)
Stores the result of a targeting resolution.
The game has started.
Fires at the start of the game.
The fields that correspond to a complete state of the game.
Fires for all events.
GameStateValueBehaviour is an implementation of a decent AI with the best-in-class performance among bots in the community.
This helper class stores a list of choices from an intermediate node expansion.
This class collects a player's actions in a game.
 
Used in MetaSpell and GameValueProvider to refer to specific values calculated at the time MetaSpell is evaluated.
Used to retrieve a variable calculated in a MetaSpell.
Gives GatekeeperShaValueProvider the amount to increase the numbers written on spells by.
Returns the count of Gatekeeper Sha auras (unexpired) that are in play on your side of the battlefield.
 
Returns the source cards of the actors in the graveyard, including the minions, weapons and heroes.
Returns a list of cards in the player's graveyard, including minion's cards.
Returns a list of cards that are in the player's graveyard.
true if the graveyard contains an Actor that Entity.diedOnBattlefield() with the card ID from ConditionArg.CARD or the target's source card.
Counts entities matching the ConditionArg.FILTER using the evaluation rules of the CountCondition.
Returns a copy of the source cards of minions that Entity.diedOnBattlefield() belonging to the casting player.
Returns the number of minions (non permanent, not removed peacefully) that are in the casting player's Spellsource.ZonesMessage.Zones.GRAVEYARD.
 
Prompts the player to guess which card started in the opponent's deck in order to receive it.
 
Returns a list of cards in the hand.
true if any of the ConditionArg.TARGET or target has attacked this turn according to Attribute.ATTACKS_THIS_TURN.
Filters for actors that have attacked this turn.
 
 
Indicates that this object creates cards as a side effect of its methods.
Indicates this action specifies one of possibly many cards as the choice that the player made to play.
An interface that specifies that the object has choose one behaviour.
Indicates this entity or object contains deathrattles.
HasDesc<T extends Desc<?,?>>
 
 
Matches an entity if it has an aura, battlecry, card cost modifier, deathrattle, any kind of trigger or is a spell.
 
true if all the ConditionArg.CARDS are on the board.
HasEntrySet<T extends Enum<T>,V>
Indicates the implementing class can be iterated through using its HasEntrySet.entrySet() method.
 
 
 
Filters minions based on whether they have Start-of-turn/End-of-turn effects or not.
Indicates an event has a value, typically the damage dealt or mana changed, etc.
true when the player has a weapon that is not broken.
 
Gets the Attribute.LAST_HIT last amount of damage dealt to the target, and restores health in that amount to the SpellArg.SECONDARY_TARGET.
 
Casts healing missiles.
Records the result of a heal.
Fires whenever a target is healed.
Heals the specified target for SpellArg.VALUE amount.
 
All the hero classes, including special hero class specifiers, in Spellsource.
true if the player's champion is ConditionArg.HERO_CLASS.
Indicates an action that is a hero power card.
Gives spells decorated with HeroPowerSpell the given bonus affect in AuraArg.APPLY_EFFECT.
 
Signifies that the subspells SpellArg.SPELL, SpellArg.SPELLS, etc.) represent the "hero power effect" for cards that interact with the hero power.
Turns a hero power into a spell card.
A skill was used.
 
A heuristic is a function that takes a game state and returns a score from the given player's point of view.
Computes the highest value of the attribute in the specified list of target entities and returns all with that highest value.
Evaluates to true when there is exactly one copy of each card in the EntityReference.FRIENDLY_DECK.
true if every card in the player's hand is distinct or if the hand is empty.
"Both players" now only affects the friendly player.
true if the player is holding a card matching the ConditionArg.CARD_FILTER and their hand is not empty.
 
 
Entities affected by this aura are targetable by spells and skills but the effects of those spells and skills are neutralized.
Returns the index of the first entity that matches the ValueProviderArg.CARD_FILTER in the specified ValueProviderArg.CARD_SOURCE.
 
 
Indicates the end user made an invalid card selection (the index was out of bounds).
Indicates the current state of the draft is invalid for the requested changes.
 
Returns true if the card's Attribute.INVOKE effect's cost was met.
A card was invoked for EventValueProvider / InvokedEvent.getValue() mana.
 
Casts an Invoke effect specified in SpellArg.SPELL for SpellArg.MANA mana cost.
When the player has at least Attribute.INVOKE additional unspent mana, source an extra bonus effect for that cost.
true if the source is adjacent to the target or, when specified, the ConditionArg.TARGET.
true if the target or the single entity resolved by ConditionArg.TARGET is damaged.
true if the target Entity.isDestroyed().
 
Destroys the target minion, and gives the source the aftermath, "Resummon that minion."
A joust event describes which cards were drawn and who won a joust from a point of view of a particular player.
A joust causes both players to show a random card satisfying the SpellArg.CARD_FILTER and performs an action if the mana cost of the caster's card is higher than the opponent's card's cost.
Puts a random secret into play.
A minion was killed.
Represents a SpellDesc created from a LambdaSpellDesc.LambdaSpell lambda function.
 
Casts a SpellArg.SPELL on the last Card in the Spellsource.ZonesMessage.Zones.DECK of the SpellArg.TARGET_PLAYER.
Returns the turn index of the ValueProviderArg.TARGET_PLAYER's previous turn.
When in play, source cards affected by this aura will grant armor instead of lifedrain.
When in play, cards affected by this aura will also give the lifedrain healing bonus to AuraArg.SECONDARY_TARGET entities (excluding the entity that normally receives the healing).
 
 
Fires when a target loses stealth.
true if all the targets' modified mana costs (as per GameLogic.getModifiedManaCost(Player, Card) satisfies the ConditionArg.OPERATION with the ConditionArg.VALUE.
Gets the target's in-hand mana cost or its base mana cost, and compares it using EntityFilterArg.OPERATION to the value EntityFilterArg.VALUE.
 
 
Summon minions based on player's mana crystal count; deduct one mana crystal per minion summoned.
true if the player has GameLogic.MAX_MANA mana.
 
Returns the maximum board size in this rule set.
Attribute.MAX_HP was increased.
Fires whenever the matching entity's Attribute.MAX_HP is increased via the GameLogic.setHpAndMaxHp(Actor, int) effect.
The maximum amount of Lun the player has increased.
 
Modifies Race.hasRace(GameContext, Entity, String) calls to behave as though the entity being compared (typically the left hand side of the comparison) is also every race specified in AuraArg.RACES.
 
Concatenates the strings and DynamicDescription objects specified in its DynamicDescriptionArg.DESCRIPTIONS array.
 
A class that defines a collection of spells that should be executed one after another in the SpellArg.SPELLS argument.
 
Takes control of a target, changing its owner to the caster.
 
true if the minion count with the specified ConditionArg.FILTER or ConditionArg.CARD_FILTER evaluates to true with the specified ConditionArg.OPERATION and ConditionArg.VALUE.
A trigger that fires whenever a minion dies.
true if there are at least ConditionArg.VALUE of the player's minions that satisfy the ConditionArg.CARD_FILTER
 
Returns the list of source cards for the minions on the battlefield of the CardSourceArg.TARGET_PLAYER.
Fires whenever a minion is summoned.
 
Misdirection overrides the EntityReference.ATTACKER's current target to another random target within SpellArg.SECONDARY_TARGET.
An effect causes a missile to be fired.
This spell casts SpellArg.HOW_MANY missiles, each dealing SpellArg.VALUE damage (with spell damage) to random targets.
Increments (or decrements, if negative) by SpellArg.VALUE the SpellArg.ATTRIBUTE on the given target.
Modifies the target card's BuffSpell bonuses with the specified AuraArg.ATTACK_BONUS and AuraArg.HP_BONUS effects.
Lun has been gained or lost.
 
Modifies the amount of damage that is currently about to be dealt.
Modifies the durability of a weapon regardless of which weapon is equipped.
Adds or destroys SpellArg.VALUE mana crystals.
Whenever a card affected by this aura has a TemporaryAttackSpell effect, the value of temporary attack is increased by the AuraArg.VALUE.
Gives a minion Attribute.WITHER and the appropriate trigger if it does not already have it.
An experimental implementation of a Monte Carlo Tree Search behaviour.
Contains data about the player's mulligan required to reproduce their mulligan exactly.
Casts SpellArg.SPELL on a random target from the list of targets in SpellArg.TARGET at most SpellArg.VALUE times or until random targets are exhausted, whichever comes first.
A node in the Monte Carlo Tree Search tree.
Noggenfogger auras override the target acquisitions of both players whenever NoggenfoggerAura.getValidTargets(GameContext, TargetAcquisitionEvent) returns a non-empty list of entities.
 
Triggers as damage caused only if the damage is not fatigue damage.
Represents a general notification from inside the GameLogic that the GameContext or players might be interested in.
A behaviour which makes no choices, so its reply handlers are never called.
 
A spell that has no effects.
 
Evaluates to true when the number of distinct card IDs in the ConditionArg.TARGET when filtered by ConditionArg.FILTER passes the ConditionArg.OPERATION with ConditionArg.VALUE.
Only returns entities that have a base odd-cost.
A card cost modifier that lasts only one turn.
 
Battlecry actions occur when Actor entities are played from cards and have battlecries.
Allows an opener to be encapsulated as a spell card.
The object describing a battlecry.
Indicates this action could later create prompt the user for a battlecry targeting option.
Acts like an AdjacentEffectSpell except on minions opposite of the target
This condition passes if any of the conditions in ConditionArg.CONDITIONS also pass.
 
When used in a SpellOverrideAura, this value provider returns the original value specified in this key.
This spell implements the new Overkill mechanic introduced in Rastakhan's Rumble.
true if the player has overloaded and not yet locked Lun this turn.
true if the player has overloaded (locked) any Lun.
Lun was overloaded (i.e.
 
Overrides the target of the next GameLogic.targetAcquisition(Player, Entity, GameAction) call.
true if the target is owned by the ConditionArg.TARGET_PLAYER.
 
 
 
Indicates a common set of types for arguments to various Desc objects that appear in the card JSON.
 
An attacker (the EntityReference.EVENT_SOURCE) attacked the defender and dealt EventValueProvider damage.
When an Actor has this aura, its physical attack targets are the entities that are affected by this aura.
 
A play card action stores a card and an optional target.
Retrieves all the cards generated by SpellUtils.getCards(GameContext, Player, Entity, Entity, SpellDesc, int) and plays them randomly.
Indicates the choice of a choose one card.
true if cards filtered by ConditionArg.FILTER were played by the ConditionArg.TARGET_PLAYER last turn.
 
Returns the number of cards matching ValueProviderArg.FILTER or ValueProviderArg.CARD_FILTER that were played this turn by the ValueProviderArg.TARGET_PLAYER.
The Player class stores almost the state that corresponds to a particular player, like a collection of EntityZone objects and select Attribute and PlayerAttribute attributes as an Entity that exists in the game.
Indicates a measurement about a player to use with PlayerAttributeValueProvider.
 
 
Indicates playing a hero card from the hand.
Since choose one hero cards are implemented as different battlecry choices, a card reference to a choose one card is not stored here.
Replays randomly the last SpellArg.VALUE cards the caster played.
An action representing the playing of a minion card.
This behaviour chooses actions randomly.
An action indicating a spell is being cast.
An action that corresponds to playing a weapon card from the hand.
Appends the DynamicDescriptionArg.VALUE with DynamicDescriptionArg.DESCRIPTION1 if the value is singular, otherwise appends DynamicDescriptionArg.DESCRIPTION2.
Just before damage is dealt.
 
Triggers as damage caused only if the damage is not fatigue damage.
Just before the game starts.
Fires before the game starts but after mulligans.
Private information about the player's draft.
Shuffles 5/5 copies of all minions in the casting player's deck.
Public information about the player's draft.
Makes SpellArg.HOW_MANY copies of the base card of the target.
Puts the specified cards (target or otherwise from SpellUtils.getCards(GameContext, Player, Entity, Entity, SpellDesc, int)) on the top of the deck.
Gives the SpellArg.SECONDARY_TARGET the deathrattle, "Summon target", and removes target from wherever it is.
Deprecated.
Puts the target minion card into the Spellsource.ZonesMessage.Zones.BATTLEFIELD from the Spellsource.ZonesMessage.Zones.DECK.
Summons a minion from the target card onto the board in a way that counts it as being played from the hand or deck.
Puts the cards from SpellUtils.getCards(GameContext, Player, Entity, Entity, SpellDesc, int) on the bottom of the player's deck.
Deprecated.
Takes SpellArg.HOW_MANY secret cards from the SpellArg.CARD_SOURCE (defaulting to a DeckSource) and puts those secrets directly into play without triggering a SecretPlayedTrigger.
Interprets the spell arguments as a query of targets and casts SpellArg.SPELL on each resulting target in order.
A quest is an enchantment and entity that goes into the Spellsource.ZonesMessage.Zones.QUEST zone.
A quest was played.
Fires after a quest is played.
A quest has processed.
 
Indicates that the SpellArg.SPELL and SpellArg.SPELLS on this spell are Quick Draw effects.
Fires when a card is drawn for any reason besides the turn start.
The race / tribe of a card.
Evaluates to true if the target or single entity resolved by ConditionArg.TARGET has the specified ConditionArg.RACE.
 
 
Gives the target minion, "Deathrattle: Shuffle this minion into the caster's deck."
Casts a spell card with random targets.
This condition is fulfilled if the GameLogic.randomBool() method returns true.
Givem a list of effects in SpellArg.SPELLS, randomly choose one to cast the target.
Deprecated.
 
Recasts the SpellArg.SPELL if any minions were destroyed.
Deprecated.
Recasts until at least one minion is destroyed.
Recasts the SpellArg.SPELL SpellArg.HOW_MANY times or up to 60 (14 if this is Grim Patron) by default.
Deprecated.
by ReceiveCardSpell, which supports sub spells in SpellArg.SPELL.
Puts SpellArg.CARD into the caster's hand at the start of the caster's next turn.
Receives a copy of all the cards stored on source by StoreEntitySpell.
Puts a card in your hand.
Retrieves the last card from the filtered list of cards specified by SpellArg.CARD_SOURCE and SpellArg.CARD_FILTER.
Receives the spells the opponent cast from their hand their previous turn.
Recruits (summons and removes the source card of) SpellArg.VALUE minions from SpellArg.CARD_LOCATION location.
Performs ValueProviderArg.OPERATION on the values returned by ValueProviderArg.VALUE1 applied to each entity resolved by ValueProviderArg.TARGET.
Refreshes the target Actor's attacks, accounting for Attribute.WINDFURY.
Refreshes the caster's hero power so it can be used again.
Refreshes the player's mana by gaining an amount of mana equal to the difference in their max mana and current mana.
This abstract class provides a way to cast spell effects on targets.
Removes a target actor peacefully (without triggering its deathrattles) from its current zone.
Removes the SpellArg.ATTRIBUTE from the specified target.
Removes "bonus" attributes, or attributes that didn't start on the text of the minion.
Deprecated.
Use a RemoveCardSpell with a sub spell like {"class": "RemoveCardSpell", "spell": {"class": ..., "target": "OUTPUT"}} instead.
Removes the target Card by putting it directly from the zone it's currently in into the Spellsource.ZonesMessage.Zones.GRAVEYARD.
Expires and removes SpellArg.HOW_MANY copies (default Integer.MAX_VALUE) of the enchantments whose Entity.getSourceCard() has the card ID of SpellArg.CARD from the target.
Removes cards from the top of the caster's deck until a minion is found.
Deprecated.
Has no implementation.
Repeats all other aftermaths the casting player has triggered as long as the source is in play.
Retrieves a list of cards using SpellUtils.getCards(GameContext, Player, Entity, Entity, SpellDesc, int) and plays their openers with this source actor as the source.
Repeats the last SpellArg.VALUE aftermaths triggered by owner of the source.
Deprecated.
Use ReplaceCardsSpell instead.
Replaces the target with one of the cards from SpellUtils.getCards(GameContext, Player, Entity, Entity, SpellDesc, int).
Delegates the behaviour to a function passed in the constructor of this class.
 
true when the number of cards in the player's deck is greater or equal to the ConditionArg.VALUE.
When this aura is in play, the ReservoirCondition always evaluates to true and ReservoirSpell always include their bonus effects.
When this aura is in play, ReservoirSpell effects are never activated and ReservoirCondition always evalutes to false.
Shorthand for a ConditionalEffectSpell that only plays the conditional (second) spell if the caster's deck has a number of cards greater than or equal to the SpellArg.VALUE.
Sets the deck to its initial state at the start of the game.
Resurrects minions from both player's graveyards.
Resurrects and clears the entities stored on the source.
Resurrects minions from the caster's graveyard.
Deprecated.
Returns the target to the player's hand as a card.
Encapsulates the information related to returning a target to the hand.
 
Returns the target to the hand, keeping its enchantments.
Reveals a card from a filter, SpellArg.CARD or the target if neither is specified.
This spell is the base class for spells that can be undone by a SpellArg.REVERT_TRIGGER or SpellArg.SECOND_REVERT_TRIGGER.
Reviving a minion, unlike resurrecting it, puts a minion back into the position on the board where it died.
A card was roasted (discarded from the deck).
Roasting a card removes the card from the top of the deck and adds the Attribute.ROASTED to it.
 
 
 
A secret was played.
Fires when a secret is played from the hand.
A secret was revealed.
 
 
Returns a list of Secret cards from the controller's hero class or the CardSourceArg.HERO_CLASS if this controller ordinarily does not have secrets.
When this aura is active, spells from Secret will be performed twice
During a TargetAcquisitionEvent or a PhysicalAttackEvent firing, changes the EntityReference.ATTACKER to the specified target.
Sets the target's attack-related attributes such that the result of Actor.getAttack() or Card.getAttack() is equal to the SpellArg.VALUE.
Sets the target's SpellArg.ATTRIBUTE to the specified SpellArg.VALUE.
Sets the target Card's Attribute.CARD_ID or Attribute.AURA_CARD_ID to the card ID specified in SpellArg.CARD.
Sets the target entity's Attribute.DESCRIPTION to the string specified in SpellArg.DESCRIPTION, or clears it if no description is specified.
Deprecated. 
Sets the Actor or Card's hitpoints to the specified SpellArg.VALUE, overriding any existing bonuses stored in Attribute.HP_BONUS.
Sets a player's max mana to the given SpellArg.VALUE
Reads the SpellArg.ATTRIBUTE from the SpellArg.SECONDARY_TARGET, and puts the race (tribe) specified in that attribute onto the target.
Sets the target's Race to the SpellArg.RACE value.
Returns a snapshot of all the cards that the specified CardSourceArg.TARGET_PLAYER has shuffled into their deck.
A card was shuffled.
 
 
Peacefully removes the target minion and shuffles it into the caster's deck.
Shuffles a card directly into the deck, not its copy.
Shuffles copies of the specified target or SpellArg.CARD_SOURCE & SpellArg.CARD_FILTER cards into the deck.
Shuffles the target Spellsource.EntityTypeMessage.EntityType.MINION into the player's deck with the enchantments
Generates the cards retrieved by SpellUtils.getCards(GameContext, Player, Entity, Entity, SpellDesc) rules, moves each card to the Spellsource.ZonesMessage.Zones.SET_ASIDE_ZONE, casts the SpellArg.SPELL sub-spell on each as the target, and then moves the card to the Spellsource.ZonesMessage.Zones.REMOVED_FROM_PLAY zone if they have not been moved out of set aside.
An Actor was silenced using SilenceSpell.
Silences the specified Actor.
Fires whenever an Actor is Attribute.SILENCED.
 
Summarizing the results of one or more games.
Records the target minion's deathrattles.
Sorts a deck by mana costs, putting the lowest cost cards on top.
Discover a minion in your graveyard.
Forces the leftmost and rightmost enemy minions to attack their neighbors.
A card or actor will pass this filter if its Entity.getSourceCard() Card.getCardId() matches the EntityFilterArg.CARD argument.
This aura tricks SpecificCardFilter into thinking the affected entities are actually AuraArg.CARD.
The base class for "spells," or collections of effects in the engine.
This enum describes the keys to the SpellDesc / the keys of the dictionaries in the CardDesc card JSON files for spells.}
 
A spell was casted on the specified target.
 
 
A definition for a spell.
The serializer that interprets JSON representations of a spell.
Causes effects (rather than spells specifically) to occur twice.
 
As long as the Player entity that matches the playerId of an effect is in this aura's Aura.getAffectedEntities(), spells whose key/value pairs are a superset of the Aura.removeAuraEffect(net.demilich.metastone.game.GameContext, net.demilich.metastone.game.entities.Entity) have their key/values overwritten by the spells in Aura.applyAuraEffect(net.demilich.metastone.game.GameContext, net.demilich.metastone.game.entities.Entity).
Actors affected by this aura will get spells cast on them thrice if the AuraArg.SPELL_CONDITION is met on the spell's target.
Actors affected by this aura will get spells cast on them twice if the AuraArg.SPELL_CONDITION is met on the spell's target.
 
When this aura is in play, spells with minion targets also target adjacent minions.
Creates a skill from the specified spell.
A set of utilities to help write spells.
Like a DamageSpell, except the source of the damage is changed to the EntityReference.EVENT_SOURCE.
This class maintains a stateful aura for an Attribute, increasing or decreasing its value by the appropriate amount whenever the main aura triggers (WillEndSequenceTrigger and BoardChangedTrigger) fire and any additional triggers in AuraArg.TRIGGERS fire.
 
Steals the target card and moves it to the caster's zone from SpellArg.CARD_LOCATION.
Steals SpellArg.HP_BONUS health from the target actor and gives it to the source.
Steals a random secret belonging to the opponent of SpellArg.TARGET_PLAYER.
true if the EnvironmentEntityList stored on the source contains any of the target entities.
 
Retrieves a snapshot of the cards stored in the source Entity or CardSourceArg.SOURCE EntityReference by a StoreEntitySpell.
Stores the specified SpellArg.TARGET into a list keyed by the source of the casting spell.
Stores the race of the target onto the source or SpellArg.SECONDARY_TARGET in the SpellArg.ATTRIBUTE.
Represents a simple string description.
Reads a card ID from the specified attribute SpellArg.ATTRIBUTE.
Matches a minion if it was summoned by a entity whose owner was EntityFilterArg.TARGET_PLAYER.
A minion was summoned and its openers were resolved if SummonEvent.isResolvedOpener() is true.
Summons all the friendly minions that died this turn.
Summons a minion from the player's deck with the most copies in the deck.
Summons minions specified by cards; summons random minions from card filters; or copies minions according to targets.
Returns the list of source cards for the minions on the battlefield of the CardSourceArg.TARGET_PLAYER.
When this aura is active, subspells of SupremacySpell will be cast twice.
Gives a bonus effect to the player's supremacies specified in this aura's AuraArg.APPLY_EFFECT.
Indicates that the subspells should be cast as the "Supremacy" effect.
 
true if the Entity.getSourceCard() of this source was drawn the same turn it was played.
Swaps the target's attack and hitpoints, making the target's hitpoints its attack value and vice versa.
Swaps the target's attack with the source actor's attack.
Swaps a card from the hand filtered using the first item in the SpellArg.CARD_FILTERS with a card in the deck filtered with the second filter in the card filters array.
Swaps the card pointed to by SpellArg.SECONDARY_TARGET with the target Card.
Swaps the HP and the cost of the target.
Swaps the target's hitpoints with the source actor's hitpoints.
Swaps the minion specified by SpellArg.SECONDARY_TARGET with the target.
 
Swaps a target minion with a random one in your hand.
Deals SpellArg.VALUE damage to the target and SpellArg.SECONDARY_VALUE damage to the SpellArg.SECONDARY_TARGET actors.
A target will be acquired for the specified game action.
 
 
This exception is thrown when a given target is not found and the game requires one to be found.
Indicates a player reference.
 
 
Entities affected by this aura, like minions with battlecries and spells, have their TargetSelection set to this aura's AuraArg.TARGET_SELECTION.
Puts the target that's passed into this spell as the sub spell's source.
The possible values for an enchantment's "hostTargetType".
Gives the target actor SpellArg.VALUE bonus attack until the end of the current turn.
Puts text from a random SpellDesc.getFilteredCards(GameContext, Player, Entity) card onto the target Card.
Implements Thelia Silentdreamer's effect, which is a SpellsCastTwiceAura as long as the target is itself.
A heuristic that considers a linear combination of game state entities to determine the strength of a game state.
A card cost modifier that toggles on and off as CardCostModifierArg.TOGGLE_ON_TRIGGER and CardCostModifierArg.TOGGLE_OFF_TRIGGER triggers fire.
Returns the top N cards of the deck, where N is defined by the CardSourceArg.VALUE arg
Returns the top three cards of the deck.
An entity is being "touched" by the client.
Stores information about a game context that allows you to reproduce exactly what happened in the match.
Transforms a target card to the specified SpellArg.CARD by removing the old card and receiving a new one.
Indicates that an infinite loop occurred trying to follow the link from an entity that was removed from play due to being transformed towards the entity it was eventually transformed into.
Transforms the target card into a card retrieved from SpellUtils.getCards(GameContext, Player, Entity, Entity, SpellDesc), keeping important attributes like Attribute.STARTED_IN_DECK, Attribute.STARTED_IN_HAND and Attribute.REMOVES_SELF_AT_END_OF_TURN (ghostly) consistent.
Transforms the target minion into the SpellArg.CARD or the source card of the entity pointed to by SpellArg.SECONDARY_TARGET.
 
Transforms the target into a random base minion from SpellUtils.getCards(GameContext, Player, Entity, Entity, SpellDesc, int).
 
Triggers respond to GameEvent objects that are raised by various GameLogic methods, implementing cards that do something when something else happens.
Triggers the target entity's aftermaths.
Triggers SpellArg.VALUE distinct aftermaths in the player's graveyard whose entities match the SpellArg.FILTER specified.
A trigger was fired from the specified enchantment.
Triggers the opener written on each target entity with random targets (except itself).
Triggers the Quick Draw effect wrapped by the QuickDrawSpell written on the target.
 
Triggers a specific secret, either from the SpellArg.CARD if specified or the target card.
The player ended their turn.
 
Returns the number of turns the specified player did not player a card.
The player started their turn.
 
 
 
A selection criteria that implements upper confidence bound for selecting children given information about the parent node.
Returns all cards, including uncollectible ones, in the game context's DeckFormat.
This weighted card source returns legendaries and epics more frequently than normal and only cards from the CardSet.JOURNEY_TO_UNGORO set.
Returns a list of collectible cards from the DeckFormat for this game (from GameContext.getDeckFormat()) of equal probability for all classes and neutrals.
Upgrades the player's hero power as specified in its CardDesc.heroPower.
Uses the SpellArg.TARGET_PLAYER's hero power, choosing a target randomly.
Utility behaviours help server and test code mock users or glue code together.
Converts the ValueProvider in DynamicDescriptionArg.VALUE to a string.
An event that contains a value.
Value providers compute an integer value given ValueProviderArg, an underlying implementation, and the player, host and target from whose point of view the value should be calculated.
 
This instance stores the definition of a ValueProvider.
 
Decorates a SpellArg.SPELL, turning a SpellArg.VALUE into a SpellArg.HOW_MANY on the sub-spell.
Encodes signed and unsigned values using a common variable-length scheme, found for example in Google's Protocol Buffers.
Buffs all minions in your hand and deck that have a copy in the graveyard.
Replaces the SpellArg.TARGET_PLAYER's deck with 30 random cards.
Both players swap their leftmost and rightmost cards with their opponent.
 
Deals magical damage from the weapon equipped by the player (SpellArg.TARGET_PLAYER), correctly accounting for effects like Attribute.LIFESTEAL and Attribute.POISONOUS.
The player destroyed their weapon.
 
The player equipped a weapon.
 
 
 
 
The coefficients in a linear combination of features used by ThreatBasedHeuristic to calculate a score for a game state.
Represents an enchantment that affects a minion with the given cardId at construction time with whatever desc spell was provided, "wherever it is."
Casts a spell on a target and its copies "wherever they are" in the player (casting player's) zones.
The sequence is about to end.
 
Reduces the attack of the target by the source entity's Attribute.WITHER value.
A non-thread-safe random number generator that uses the "XOR Shift" pattern to produce numbers.
 
 
Drains damage from the target and randomly buffs among the SpellArg.SECONDARY_TARGET entities.