mantimon-tcg/backend
Cal Corum 9432499018 Add forced action queue for double knockouts (Issue #10)
Changed forced_action from single item to FIFO queue to support
scenarios where multiple forced actions are needed simultaneously:

- forced_actions: list[ForcedAction] replaces forced_action: ForcedAction | None
- Added queue management methods:
  - has_forced_action() - check if queue has pending actions
  - get_current_forced_action() - get first action without removing
  - add_forced_action(action) - add to end of queue
  - pop_forced_action() - remove and return first action
  - clear_forced_actions() - clear all pending actions
- Updated engine, turn_manager, rules_validator, and visibility filter
- Added 8 new tests for forced action queue including double knockout scenario

This fixes the bug where simultaneous knockouts (e.g., mutual poison damage)
would lose one player's select_active action due to overwriting.

795 tests passing.
2026-01-26 11:33:47 -06:00
..
app Add forced action queue for double knockouts (Issue #10) 2026-01-26 11:33:47 -06:00
references Adding manual test file for reference 2026-01-25 14:11:42 -06:00
tests Add forced action queue for double knockouts (Issue #10) 2026-01-26 11:33:47 -06:00
.gitignore Add backend foundation with uv, Black, and pre-commit hooks 2026-01-24 00:12:33 -06:00
.python-version Add backend foundation with uv, Black, and pre-commit hooks 2026-01-24 00:12:33 -06:00
PROJECT_PLAN_ENERGY_EVOLUTION.md Implement energy/tools as CardInstance + evolution stack + devolve effect 2026-01-25 23:09:40 -06:00
PROJECT_PLAN.json Add GameEngine orchestrator with full game lifecycle support 2026-01-25 13:21:41 -06:00
pyproject.toml Add backend foundation with uv, Black, and pre-commit hooks 2026-01-24 00:12:33 -06:00
SYSTEM_REVIEW.md Add forced action queue for double knockouts (Issue #10) 2026-01-26 11:33:47 -06:00
uv.lock Add backend foundation with uv, Black, and pre-commit hooks 2026-01-24 00:12:33 -06:00