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. |
||
|---|---|---|
| .. | ||
| core | ||
| __init__.py | ||
| test_health.py | ||