diff options
author | notoraptor <notoraptor@users.noreply.github.com> | 2019-07-16 17:27:56 -0400 |
---|---|---|
committer | Philip Paquette <pcpaquette@gmail.com> | 2019-07-16 17:27:56 -0400 |
commit | 9df83e126e73779491915d2681ab76eada958ce1 (patch) | |
tree | b389f540140ed8b0195d97a49830ecd7565c0c52 /diplomacy/engine/game.py | |
parent | fbc808296da2682fe7495f8e0b3174da517ed5ef (diff) |
Web - User should auto-pass when no orders are possible. (#43)
- Set default empty orders set for unorderable powers after a processing.
- Set wait to False for unorderable powers.
- Notify powers wait flags when sending game processed notifications.
- Do not send empty orders set for unorderable powers in network test.
Diffstat (limited to 'diplomacy/engine/game.py')
-rw-r--r-- | diplomacy/engine/game.py | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/diplomacy/engine/game.py b/diplomacy/engine/game.py index c2a93b5..06d2fe6 100644 --- a/diplomacy/engine/game.py +++ b/diplomacy/engine/game.py @@ -1272,6 +1272,14 @@ class Game(Jsonable): self.message_history.put(previous_phase, previous_messages) self.state_history.put(previous_phase, previous_state) + # Set empty orders for unorderable powers. + if not self.is_game_done: + orderable_locations = self.get_orderable_locations() + for power_name, power_orderable_locs in orderable_locations.items(): + if not power_orderable_locs and not self.get_power(power_name).is_eliminated(): + self.set_orders(power_name, []) + self.set_wait(power_name, False) + return GamePhaseData(name=str(previous_phase), state=previous_state, orders=previous_orders, |