From ba13b085f15ab6589c025e2de7cc46967416a820 Mon Sep 17 00:00:00 2001 From: Alberto Xamin Date: Fri, 25 Dec 2020 16:45:21 +0100 Subject: [PATCH] fix russian roulette --- backend/bang/game.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/backend/bang/game.py b/backend/bang/game.py index f71e499..b5c344c 100644 --- a/backend/bang/game.py +++ b/backend/bang/game.py @@ -242,17 +242,20 @@ class Game: self.player_bangs = 0 self.players[self.turn].play_turn() elif self.is_russian_roulette_on and self.check_event(ce.RouletteRussa): + pls = self.get_alive_players() if did_lose: + pl = pls[(pls.index(self.players[self.turn]) + self.player_bangs) % len(pls)] print('stop roulette') - self.players[(self.turn+self.player_bangs) % len(self.players)].lives -= 1 - self.players[(self.turn+self.player_bangs) % len(self.players)].notify_self() + pl.lives -= 1 + pl.notify_self() self.is_russian_roulette_on = False self.players[self.turn].play_turn() else: self.player_bangs += 1 - print(f'next in line {self.players[(self.turn+self.player_bangs) % len(self.players)].name}') - if self.players[(self.turn+self.player_bangs) % len(self.players)].get_banged(self.deck.event_cards[0]): - self.players[(self.turn+self.player_bangs) % len(self.players)].notify_self() + pl = pls[(pls.index(self.players[self.turn]) + self.player_bangs) % len(pls)] + print(f'next in line {pl.name}') + if pl.get_banged(self.deck.event_cards[0]): + pl.notify_self() else: self.responders_did_respond_resume_turn(did_lose=True) else: