✅ 1x ability resets each turn
| Category | Regression |
| Status | Passing |
| Test | tests/test_abilities_complex.py::TestOneXReset::test_1x_ability_resets_each_turn |
Regression: Confusion #20 — 1x means once per TURN, NOT once per game. Uses reset at start of each main phase.
Preconditions
-
P1's Focalor has Focus (Start of Turn, 0 AP, ready, 1x, ability_idx=1)
-
After using Focus once, abilities_used_this_turn["1"] = 1
-
At start of next turn, reset_ability_uses() is called
Action
- reset_ability_uses(state) simulates start of next main phase
result = reset_ability_uses(state)
focalor_after = next(d for d in result.demons if d.unit_id == "069")
used = focalor_after.abilities_used_this_turn.get("1", 0)
Expected Postconditions
-
Focalor.abilities_used_this_turn["1"] == 0 (reset for new turn)
-
Focus can be used again (1x refreshes)
Assertions
assert used == 0, (
f"1x must reset each turn (confusion #20). Got {used} uses. "
f"Focus should be usable again next main phase."
)