From 33105a895a0b3c2b266c66058f5a8ec930c88504 Mon Sep 17 00:00:00 2001 From: notoraptor Date: Thu, 18 Jul 2019 14:48:29 -0400 Subject: 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. --- diplomacy/server/request_managers.py | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'diplomacy/server') 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). -- cgit v1.2.3