Game freezes when Grand Melee forces blocks that are impossible due to flying
- Dominant language
- Java
- Stars
- 2.4k
- Forks
- 940
- Avg merge
- 2d 12h
- Merged PRs (30d)
- 160
Description
I encountered a game-locking situation involving Grand Melee.
Board state:
- I controlled Grand Melee (Enchantment: “All creatures attack each combat if able. All creatures block each combat if able.”).
- During an opponent’s turn, that opponent attacked with creatures that had flying.
- The defending opponent had creatures on the battlefield, but none of them had flying or reach.
- Due to Grand Melee, the defending player was forced by the game to declare blockers.
- However, it was impossible for them to block the attacking flying creatures.
At this point, the game became stuck in the declare blockers step. The defending player was required by the client to block, but had no legal blocks available. The game could not progress.
Expected behavior:
If no legal blocks are possible, the game should automatically allow the defending player to proceed without declaring blockers, even if Grand Melee is on the battlefield.
According to the rules, creatures block “if able”, and in this case, they are not able to block.
Actual behavior:
The game client forced the defending player to assign blockers and would not allow progression, resulting in a soft lock.
Reproduction steps:
1. Player A controls Grand Melee.
2. Player B attacks with at least one creature with flying.
3. Player C has creatures without flying or reach.
4. Player C is required to block but cannot legally do so.
5. Game gets stuck in declare blockers step.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reproducing the listed Grand Melee scenario with a flying attacker and non-flying defenders, then trace the declare blockers step where the game becomes stuck. Done means the defending player can proceed when no legal blocks exist, while the reproduction no longer soft-locks the game.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- game-dev
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100