From fce9fd6c02c1b49ade9de23f1f165d8fa94c7b6f Mon Sep 17 00:00:00 2001 From: Alberto Xamin Date: Wed, 2 Dec 2020 23:28:43 +0100 Subject: [PATCH] fix disconnect bug --- backend/bang/game.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/backend/bang/game.py b/backend/bang/game.py index 9114f56..292e1cc 100644 --- a/backend/bang/game.py +++ b/backend/bang/game.py @@ -206,14 +206,13 @@ class Game: def handle_disconnect(self, player: players.Player): print(f'player {player.name} left the game {self.name}') - self.player_death(player=player) - self.dead_players.remove(player) + self.player_death(player=player, disconnected=True) if len(self.players) == 0: print(f'no players left in game {self.name}') return True else: return False - def player_death(self, player: players.Player): + def player_death(self, player: players.Player, disconnected=False): import bang.expansions.dodge_city.characters as chd print(player.attacker) if player.attacker and isinstance(player.attacker, roles.Sheriff) and isinstance(player.role, roles.Vice): @@ -234,7 +233,10 @@ class Game: died_in_his_turn = self.started and index == self.turn if self.started and index <= self.turn: self.turn -= 1 - self.dead_players.append(self.players.pop(index)) + + corpse = self.players.pop(index) + if not disconnected: + self.dead_players.append() self.notify_room() self.sio.emit('chat_message', room=self.name, data=f'{player.name} รจ morto.') if self.started: