diff --git a/backend/bang/expansions/dodge_city/cards.py b/backend/bang/expansions/dodge_city/cards.py index c624826..49007af 100644 --- a/backend/bang/expansions/dodge_city/cards.py +++ b/backend/bang/expansions/dodge_city/cards.py @@ -56,18 +56,20 @@ class RagTime(Panico): return True return False -class Rissa(Gatling): +class Rissa(CatBalou): def __init__(self, suit, number): super().__init__(suit, number) self.name = 'Rissa' self.icon = '🥊' self.need_with = True + self.need_target = False self.alt_text = '‼️' def play_card(self, player, against, _with): if _with != None: player.game.deck.scrap(_with) - super().play_card(player, against=against) + player.event_type = 'rissa' + super().play_card(player, against=[p.name for p in player.game.players if p != player][0]) return True return False diff --git a/backend/bang/players.py b/backend/bang/players.py index 98ad2bf..1de8216 100644 --- a/backend/bang/players.py +++ b/backend/bang/players.py @@ -282,9 +282,14 @@ class Player: self.hand.append(card) else: self.game.deck.scrap(card) - self.target_p = '' - self.choose_action = '' - self.pending_action = PendingAction.PLAY + if self.event_type != 'rissa' or self.target_p == [p.name for p in self.game.players if p != self][-1]: + 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: + 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):