✅ Allocer does not trigger on other source
| Category | Ability |
| Status | Passing |
| Test | tests/test_abilities_complex.py::TestAllocerPassives::test_allocer_does_not_trigger_on_other_source |
DEMON_EXHAUSTED fires for Murmur (not Allocer) — no self-march.
Preconditions
-
Lane 0: P1's Allocer (#074) — lane 0
-
Lane 1: P1's Murmur (#002) — exhausted
Action
- Fire DEMON_EXHAUSTED with source=Murmur
result = fire_event(state, event)
allocer_after = next(d for d in result.demons if d.unit_id == "074")
Expected Postconditions
- Allocer: stays in lane 0 (not its own exhaust event)
Assertions
assert allocer_after.lane == 0, (
f"Allocer must not move when Murmur exhausts. Got lane {allocer_after.lane}."
)