From b90c5553e39dfc6611a3388c67842895d3a787c2 Mon Sep 17 00:00:00 2001 From: Giulio Date: Wed, 30 Mar 2022 12:45:47 +0200 Subject: [PATCH] fix rissa 2 --- backend/bang/expansions/dodge_city/cards.py | 13 +++++++------ backend/bang/players.py | 2 ++ 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/backend/bang/expansions/dodge_city/cards.py b/backend/bang/expansions/dodge_city/cards.py index 56a1e40..b62c0d2 100644 --- a/backend/bang/expansions/dodge_city/cards.py +++ b/backend/bang/expansions/dodge_city/cards.py @@ -75,18 +75,19 @@ class Rissa(CatBalou): def play_card(self, player, against, _with): if _with != None: - if len([p.name for p in player.game.players if p != player and (len(p.hand)+len(p.equipment)) > 0]) == 0: + if len([p for p in player.game.players if p != player and (len(p.hand)+len(p.equipment)) > 0]) == 0: return False #se sono qui vuol dire che ci sono giocatori con carte in mano oltre a me - self.rissa_targets = [] - target = player.game.get_player(player.name, next=True) + player.rissa_targets = [] + target = player.game.get_player_named(player.name, next=True) while target != player: if len(target.hand) + len(target.equipment) > 0: - self.rissa_target.append(target) - target = player.game.get_player(target.name, next=True) + player.rissa_targets.append(target) + target = player.game.get_player_named(target.name, next=True) player.game.deck.scrap(_with) player.event_type = 'rissa' - super().play_card(player, against=self.rissa_targets.pop(0)) + print(f'rissa targets: {player.rissa_targets}') + super().play_card(player, against=player.rissa_targets.pop(0).name) player.sio.emit('chat_message', room=player.game.name, data=f'_play_card|{player.name}|{self.name}') return True return False diff --git a/backend/bang/players.py b/backend/bang/players.py index 7887cd1..fe45fa9 100644 --- a/backend/bang/players.py +++ b/backend/bang/players.py @@ -208,6 +208,7 @@ class Player: ser.pop('on_pick_cb') ser.pop('on_failed_response_cb') ser.pop('attacker') + ser.pop('rissa_targets') if self.attacker: ser['attacker'] = self.attacker.name ser['sight'] = self.get_sight() @@ -680,6 +681,7 @@ class Player: self.pending_action = PendingAction.PLAY else: self.target_p = self.rissa_targets.pop(0).name + print(f'rissa targets: {self.rissa_targets}') self.notify_self() elif self.choose_text == 'choose_ricercato': player = self.game.get_player_named(self.available_cards[card_index]['name'])