diff options
author | notoraptor <notoraptor@users.noreply.github.com> | 2019-07-18 14:48:29 -0400 |
---|---|---|
committer | Philip Paquette <pcpaquette@gmail.com> | 2019-07-18 14:48:29 -0400 |
commit | 33105a895a0b3c2b266c66058f5a8ec930c88504 (patch) | |
tree | 76910adfc65c30e199e48785b5721291339dbd29 /diplomacy/server | |
parent | f8ee5f84abc5c9d0d56402f2943abad1dc74d3dd (diff) |
Reset local orders for a power if we receive a power orders update.
- Does not allow to join a power which is eliminated.
- When clicking on "reset", reset local orders only for current selected power.
Diffstat (limited to 'diplomacy/server')
-rw-r--r-- | diplomacy/server/request_managers.py | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/diplomacy/server/request_managers.py b/diplomacy/server/request_managers.py index 5fa434e..59c0e88 100644 --- a/diplomacy/server/request_managers.py +++ b/diplomacy/server/request_managers.py @@ -393,6 +393,10 @@ def on_join_game(server, request, connection_handler): if not server_game.has_power(power_name): raise exceptions.MapPowerException(power_name) + # Forbid to play a power that is already eliminated. + if server_game.get_power(power_name).is_eliminated(): + raise exceptions.ResponseException('%s is eliminated.' % power_name) + if username == constants.PRIVATE_BOT_USERNAME: # Private bot is allowed to control any dummy power after game started # (ie. after reached expected number of real players). |