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
targetAn 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.Gives the
target the SpellArg.SPELL as a deathrattle.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.
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.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.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.
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.
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.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.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.ValueEvent.getValue() damage has been dealt to the GameEvent.getTarget() by the GameEvent.getSource().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.
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.
Use
DiscoverSpell with a SpellArg.CARD_FILTER instead.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
SpellOverrideAuraWhen 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.
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.
by
EquipWeaponSpell.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.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.Causes the
source or each entity in SpellArg.SECONDARY_TARGET to GameLogic.fight(Player, Actor, Actor, PhysicalAttackAction) the target.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.Renders a
PluralDescription with a GatekeeperShaValueProvider.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.
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.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.The
EntityReference.EVENT_TARGET was healed for EventValueProvider healing.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.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.Signature of a spell's
Spell.cast(GameContext, Player, SpellDesc, Entity, List) method.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_FILTERReturns 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 targetThis 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.Indicates a common set of types for arguments to various
Desc objects that appear in the card JSON.Indicates an attack between
PhysicalAttackAction.getAttackerReference() and GameAction.getTargetReference().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.
Use
CastRandomSpellSpell instead.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 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.
Use
ReturnTargetToHandSpell instead.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 twiceDuring 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 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.VALUEReads the
SpellArg.ATTRIBUTE from the SpellArg.SECONDARY_TARGET, and puts the race (tribe)
specified in that attribute onto the target.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 enchantmentsGenerates 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.
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.
An object that contains results of a
SpellUtils.determineCastingPlayer(GameContext, Player, Entity, TargetPlayer)
call.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 a random secret belonging to the opponent of
SpellArg.TARGET_PLAYER.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.
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 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 argReturns 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 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.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.
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.
BuffSpellinstead.