Skip to content

Base Game Character Triggers

Brandon edited this page Jun 3, 2026 · 2 revisions

This page documents the available triggers within the game engine, categorized by their in-game presence.


Section A: Triggers with In-Game Names

Enchant (AfterSpawnEnchant)

  • JSON Name: after_spawn_enchant
  • Notes: Need to use CardEffectEnchant as its effect.

Inspire (CardCorruptPlayed)

  • JSON Name: card_corrupt_played
  • Notes: N/A

Etch (CardExhausted)

  • JSON Name: card_exhausted
  • Notes: N/A

Rally (CardMonsterPlayed)

  • JSON Name: card_monster_played
  • Notes: N/A

Incant (CardSpellPlayed)

  • JSON Name: card_spell_played
  • Notes: N/A

Inspire (CorruptionAdded)

  • JSON Name: corruption_added
  • Notes: N/A

End of Turn (EndTurnPreHandDiscard)

  • JSON Name: end_turn_pre_hand_discard
  • Notes: Do not use for anything that would modify a combat preview. As this trigger is not taken into account for combat previews.

Siphon (OnAnyHeroDeathOnFloor)

  • JSON Name: on_any_hero_death_on_floor
  • Notes: N/A

Hellborne Harvest (OnAnyMonsterDeathOnFloor)

  • JSON Name: on_any_monster_death_on_floor
  • Notes: N/A

Harvest (OnAnyUnitDeathOnFloor)

  • JSON Name: on_any_unit_death_on_floor
  • Notes: N/A

Armored (OnArmorAdded)

  • JSON Name: on_armor_added
  • Notes: N/A

Strike (OnAttacking)

  • JSON Name: on_attacking
  • overrideTargetCharacter: Character Attacked.
  • Notes: N/A

Strike (Alternative) (OnAttackingBeforeDamage)

  • JSON Name: on_attacking_before_damage
  • overrideTargetCharacter: Character Attacked.
  • Notes: Alternate version of Strike used by Plague Doctor, Frostpiercer, Combustible Suit, Arkion Pushback.

Extinguish (OnDeath)

  • JSON Name: on_death
  • param_int (threshold param): 1 if revived from reanimate, 0 otherwise.
  • Notes: N/A

Vangaurd (OnDeathwish)

  • JSON Name: on_deathwish
  • Notes: This is a conditional trigger. It triggers once the unit is in front of the room. Required to have an on_deathwish_lost trigger to undo the changes made in this trigger. OnDeathwishLost is triggered when the unit is no longer in front of the room.

Eaten (OnEaten)

  • JSON Name: on_eaten
  • Notes: N/A

Celebrate (OnEncounterComplete)

  • JSON Name: on_encounter_complete
  • Notes: N/A

Equipped (OnEquipmentAdded)

  • JSON Name: on_equipment_added
  • Notes: N/A

Artificer (OnEquipmentAddedToAlly)

  • JSON Name: on_equipment_added_to_ally
  • Notes: N/A

Unequipped (OnEquipmentRemoved)

  • JSON Name: on_equipment_removed
  • Notes: N/A

Gorge (OnFeed)

  • JSON Name: on_feed
  • Notes: N/A

Hunger (OnFoodSpawn)

  • JSON Name: on_food_spawn
  • Notes: N/A

Graft Equipped (OnGraftEquipmentAdded)

  • JSON Name: on_graft_equipment_added
  • Notes: N/A

Rejuvenate (OnHeal)

  • JSON Name: on_heal
  • param_int (threshold param): Amount healed.
  • Notes: N/A

Revenge (OnHit)

  • JSON Name: on_hit
  • param_int (threshold param): Damage taken.
  • param_int2 (relic param): Damage type.
  • Notes: N/A

Slay (OnKill)

  • JSON Name: on_kill
  • Notes: N/A

Full Moon (OnMoonLit)

  • JSON Name: on_moon_lit
  • Notes: This is a conditional trigger. Triggers once it is Full Moon. If used then on_moon_lit_lost should be specified to undo the changes made by this trigger.

Mooncycle (OnMoonPhaseShift)

  • JSON Name: on_moon_phase_shift
  • Notes: N/A

New Moon (OnMoonShade)

  • JSON Name: on_moon_shade
  • Notes: This is a conditional trigger. Triggers once it is New Moon. If used then on_moon_shade_lost should be specified to undo the changes made by this trigger.

Conjure (OnOwnAbilityActivated)

  • JSON Name: on_own_ability_activated
  • Notes: (Fires as a result of playing a card, or if CardEffectSacrifice was played from a unit ability and the character with the ability was sacrificed from the ability)

Conjure (Alternative) (OnPreOwnAbilityActivated)

  • JSON Name: on_pre_own_ability_activated
  • Notes: Alternate version of Conjure used by Fenix Egg path

Gelfuel (OnPyregelAdded)

  • JSON Name: on_pyregel_added
  • Notes: Unused but should work.

Reanimated (OnReanimated)

  • JSON Name: on_reanimated
  • Notes: N/A

Shift (OnShift)

  • JSON Name: on_shift
  • Notes: N/A

Summon (OnSpawn)

  • JSON Name: on_spawn
  • Notes: N/A

Summon (Alternative) (OnSpawnNotFromCard)

  • JSON Name: on_spawn_not_from_card
  • Notes: Used by Korin the Judge

On Team Turn (OnTeamTurnBegin)

  • JSON Name: on_team_turn_begin
  • Notes: Triggers at the end of deployment phase. Triggers before battling starts

Loop (OnTrainRoomLoop)

  • JSON Name: on_train_room_loop
  • Notes: N/A

Action (OnTurnBegin)

  • JSON Name: on_turn_begin
  • Notes: N/A

Valiant (OnValiant)

  • JSON Name: on_valiant
  • param_int (threshold param): Total amount of Valor on character.
  • Notes: Triggers when the unit gains valor. Can be parameterized to trigger when the unit has X valor. Used by Fel Unchained III (Permanent Valor) as a Hidden Trigger.

Ascension (PostAscension)

  • JSON Name: post_ascension
  • Notes: N/A

Resolve (PostCombat)

  • JSON Name: post_combat
  • Notes: N/A

Descension (PostDescension)

  • JSON Name: post_descension
  • Notes: N/A

Start of Turn (PreCombat)

  • JSON Name: pre_combat
  • Notes: Triggers before you draw your hand. Literally start of turn.

Section B: Triggers without In-Game Names (Hidden/Internal)

Since these triggers do not have an in game name you generally do not want to give a description to triggers of these types.

OnBurnout

  • JSON Name: on_burnout
  • Notes: Triggers when the user dies from burnout and is not revived from reanimate

OnDeathwishLost

  • JSON Name: on_deathwish_lost
  • Notes: This is the other half of conditional trigger for Vanguard (OnDeathwish). You generally want to undo the changes made to the other trigger with this one.

OnHatched

  • JSON Name: on_hatched
  • Notes: Used by Wurmkin Egg Units to Kill egg and spawn hatched unit

OnMoonlitLost

  • JSON Name: on_moonlit_lost
  • Notes: This is the other half of conditional trigger for Full Moon (OnMoonLit). You generally want to undo the changes made to the other trigger with this one.

OnMoonshadeLost

  • JSON Name: on_moonshade_lost
  • Notes: This is the other half of conditional trigger for New Moon (OnMoonshade). You generally want to undo the changes made to the other trigger with this one.

OnNewStatusEffectAdded

  • JSON Name: on_new_status_effect_added
  • param_int (threshold param): Total Number of Unique Buffs / Debuffs on character.
  • Notes: This is used by certain artifacts.

OnQueuedStatusEffectToAdd

  • JSON Name: on_queued_status_effect_to_add
  • param_int (threshold param): Bonus stack count for Status ID.
  • param_int2 (relic param): Tracking ID of Room Modifier (see notes).
  • param_string (relic param): Status ID.
  • Notes: Used Exclusively By RoomStateAddStatusEffectOnStatusApplied

OnRemoveHatch

  • JSON Name: on_remove_hatch
  • Notes: Used by Wurmkin Egg Units to remove Shell per Charged Echo

OnSilence

  • JSON Name: on_silence
  • Notes: Unused

OnSilenceLost

  • JSON Name: on_silence_lost
  • Notes: Unused, this may be a passive trigger so required to undo OnSilence's effects

OnStatusEffectChanged

  • JSON Name: on_status_effect_changed
  • param_int (threshold param): Amount of Status ID stacks.
  • param_int2 (relic param): Change in amount of Status ID.
  • param_string (relic param): Status ID.
  • Notes: N/A

OnTimebomb

  • JSON Name: on_timebomb
  • Notes: Unused, questionable if implemented. Used by the Timebomb status effect

OnTroopAdded

  • JSON Name: on_troop_added
  • param_int (threshold param): Total amount of Troop.
  • param_int2 (relic param): Number of Troop stacks added.
  • Notes: N/A

OnTroopRemoved

  • JSON Name: on_troop_removed
  • param_int (threshold param): Total amount of Troop.
  • param_int2 (relic param): Number of Troop stacks removed.
  • Notes: N/A

OnUnitAbilityAvailable

  • JSON Name: on_unit_ability_available
  • Notes: Drives abilities

OnUnitAbilityUnavailable

  • JSON Name: on_unit_ability_unavailable
  • Notes: Drives abilities

OnUnscaledSpawn

  • JSON Name: on_unscaled_spawn
  • Notes: Invisible Summon Trigger that was used by Kinhost Carapace in MT1. This is a Summon trigger whose effects aren't copied by Transcendimp.

PostAttemptedAscension

  • JSON Name: post_attempted_ascension
  • Notes: N/A

PostAttemptedDescension

  • JSON Name: post_attempted_descension
  • Notes: N/A

PostCombatHealing

  • JSON Name: post_combat_healing
  • Notes: Used by Healer enemy units. Do not use for friendly units.

RegalCountAdded

  • JSON Name: regal_count_added
  • Notes: Completely unused

Clone this wiki locally