diff --git a/backend/bang/cards.py b/backend/bang/cards.py index 6667f89..e351ca5 100644 --- a/backend/bang/cards.py +++ b/backend/bang/cards.py @@ -160,7 +160,7 @@ class Bang(Card): def __init__(self, suit, number): super().__init__(suit, 'Bang!', number) self.icon = '💥' - self.desc = "Spara a un giocatore a distanta raggiungibile. Se non hai armi la distanza di default è 1" + self.desc = "Spara a un giocatore a distanza raggiungibile. Se non hai armi la distanza di default è 1" self.need_target = True def play_card(self, player, against, _with=None): diff --git a/backend/bang/expansions/dodge_city/cards.py b/backend/bang/expansions/dodge_city/cards.py index ac35e8e..661613c 100644 --- a/backend/bang/expansions/dodge_city/cards.py +++ b/backend/bang/expansions/dodge_city/cards.py @@ -16,7 +16,7 @@ class Pugno(Card): def __init__(self, suit, number): super().__init__(suit, 'Pugno!', number, range=1) self.icon = '👊' - self.desc = "Spara a un giocatore a distanta 1" + self.desc = "Spara a un giocatore a distanza 1" self.need_target = True def play_card(self, player, against, _with=None): @@ -71,7 +71,7 @@ class Rissa(CatBalou): if _with != None: player.game.deck.scrap(_with) player.event_type = 'rissa' - super().play_card(player, against=[p.name for p in player.game.players if p != player][0]) + super().play_card(player, against=[p.name for p in player.game.players if p != player and (len(p.hand)+len(p.equipment)) > 0][0]) return True return False diff --git a/backend/bang/players.py b/backend/bang/players.py index 15337db..fd9162d 100644 --- a/backend/bang/players.py +++ b/backend/bang/players.py @@ -283,15 +283,16 @@ class Player: self.hand.append(card) else: self.game.deck.scrap(card) - if self.event_type != 'rissa' or (self.event_type == 'rissa' and self.target_p == [p.name for p in self.game.players if p != self][-1]): + if self.event_type != 'rissa' or (self.event_type == 'rissa' and self.target_p == [p.name for p in self.game.players if p != self and (len(p.hand)+len(p.equipment)) > 0][-1]): self.event_type = '' self.target_p = '' self.choose_action = '' self.pending_action = PendingAction.PLAY else: - self.target_p = self.game.players[self.game.players_map[self.target_p]+1].name - if self.target_p == self.name: + while len(self.game.players[self.game.players_map[self.target_p]+1].hand) + len(self.game.players[self.game.players_map[self.target_p]+1].equipment) == 0: self.target_p = self.game.players[self.game.players_map[self.target_p]+1].name + if self.target_p == self.name: + self.target_p = self.game.players[self.game.players_map[self.target_p]+1].name self.notify_self() # specifico per personaggio elif self.is_drawing and isinstance(self.character, chars.KitCarlson):