✅ Triggers fire in speed order
| Category | Ability |
| Status | Passing |
| Test | tests/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"