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
.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
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.
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_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.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.VALUE
Reads 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.
BuffSpell
instead.