Refactor draw functionality #6928
Draft
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description of the proposed changes
The current code has a flaw and a bug in it:
OkayToMessWithArmy
to validate the army. This does not work in union mode. In union mode you can technically forfeit for other, allied armies.We try to fix both issues with these changes. I took the route to refactor it into a separate component. The implementation is quite simple. It's not a huge refactor.
Testing done on the proposed changes
Start a game of 4 players with 2 teams and validate whether the game draws.
Additional context
A few things that we may want to add:
Checklist