Skip to main content

✅ Triggers fire in speed order

CategoryAbility
StatusPassing
Testtests/test_events.py::test_triggers_fire_in_speed_order

Fast demon's trigger fires before Slow demon's trigger on same event.

Preconditions

  • Trigger for DAMAGE_DEALT registered on unit "001" (Duban, speed_value=1, Fast)

  • Handler appends "fast" to state.action_history.

  • Trigger for DAMAGE_DEALT registered on unit "004" (Thanatos, speed_value=3, Slow)

  • Handler appends "slow" to state.action_history.

  • Slow trigger is registered BEFORE fast trigger (wrong order — speed must override)

Action

  • fire_event(state, GameEvent(DAMAGE_DEALT, side=PLAYER_1))

Expected Postconditions

  • action_history[0] == "fast" (Duban's trigger fired first)

  • action_history[1] == "slow" (Thanatos's trigger fired second)

Assertions

assert result.action_history[0] == "fast"
assert result.action_history[1] == "slow"