✅ Sirens call ability applies marker status
| Category | Ability |
| Status | Passing |
| Test | tests/test_abilities_complex.py::TestSitriSirensCall::test_sirens_call_ability_applies_marker_status |
Siren's Call ability applies a "siren_lane" status marker on Sitri.
Preconditions
-
P1 Main Phase, P1 has 3 AP
-
Lane 1: P1's Sitri (#092), READIED
Action
- Sitri uses Siren's Call (1 AP, exhaust) at lane 1
from engine.abilities import execute_ability
result = execute_ability(state, sitri_p, ability_idx=1)
sitri_after = next(d for d in result.demons if d.unit_id == "092")
Expected Postconditions
-
Sitri: "siren_lane" status applied (value = Sitri's lane = 1)
-
Sitri: EXHAUSTED
Assertions
assert sitri_after.state == DemonState.EXHAUSTED, "Sitri exhausts itself (tap_required)"
effects = get_active_effects_on(result, sitri_after)
siren_effects = [e for e in effects if e.stat == "siren_lane"]
assert len(siren_effects) >= 1, "Sitri must have siren_lane marker status applied"
assert siren_effects[0].value == 1, (
f"siren_lane value must be Sitri's lane (1). Got {siren_effects[0].value}."
)