Skip to main content

✅ Regression 1x resets each turn

CategoryRegression
StatusPassing
Testtests/test_abilities_actions.py::test_regression_1x_resets_each_turn

1x abilities reset every turn — not per game.

Preconditions

  • P1's Geb uses Regeneration (1x) successfully this turn

  • abilities_used_this_turn is reset (simulating new turn)

Action

  • Attempt Regeneration again after reset
state_after = execute_ability(state, geb_on_field, ability_idx=1, targets=None)
geb_after = next(d for d in state_after.demons if d.unit_id == "044")

Expected Postconditions

  • Regeneration succeeds after reset (no "1x ability already used" error)

  • (Regression: confusion #20 — 1x resets every turn)

Assertions

assert geb_after.abilities_used_this_turn.get("1", 0) == 1
# Second use in same turn fails
ok, reason = can_use_ability(state_after, geb_after, ability_idx=1)
assert not ok
# After reset (new turn) succeeds
geb_after.abilities_used_this_turn = {}
ok_new_turn, _ = can_use_ability(state_after, geb_after, ability_idx=1)
assert ok_new_turn