From f864dc03bfd222a3ac2987f2cc5e5c250be562f0 Mon Sep 17 00:00:00 2001 From: Alberto Xamin Date: Fri, 18 Dec 2020 20:48:40 +0100 Subject: [PATCH] fix volcanic and dead man bug --- backend/bang/cards.py | 3 ++- backend/bang/expansions/dodge_city/characters.py | 8 ++++++++ backend/bang/game.py | 1 + 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/backend/bang/cards.py b/backend/bang/cards.py index 4a664bc..91faeac 100644 --- a/backend/bang/cards.py +++ b/backend/bang/cards.py @@ -180,7 +180,8 @@ class Bang(Card): self.need_target = True def play_card(self, player, against, _with=None): - if player.has_played_bang and not any([isinstance(c, Volcanic) for c in player.equipment]) and against != None: + import bang.expansions.fistful_of_cards.card_events as ce + if player.has_played_bang and (not any([isinstance(c, Volcanic) for c in player.equipment]) or player.game.check_event(ce.Lazo)) and against != None: return False elif against != None: import bang.characters as chars diff --git a/backend/bang/expansions/dodge_city/characters.py b/backend/bang/expansions/dodge_city/characters.py index 4c2ac74..fcc26f2 100644 --- a/backend/bang/expansions/dodge_city/characters.py +++ b/backend/bang/expansions/dodge_city/characters.py @@ -99,6 +99,13 @@ class JoseDelgrado(Character): self.desc_eng = "He can discard a blue card to draw 2 cards." self.icon = '🎒' +class DocHolyday(Character): + def __init__(self): + super().__init__("Doc Holyday", max_lives=4) + self.desc = "Nel suo turno può scartare 2 carte per fare un bang." + self.desc_eng = "He can discard 2 cards to play a bang." + self.icon = '✌🏻' + def all_characters() -> List[Character]: return [ PixiePete(), @@ -115,6 +122,7 @@ def all_characters() -> List[Character]: ChuckWengam(), PatBrennan(), JoseDelgrado(), + # DocHolyday(), ] #Apache Kid: il suo effetto non conta nei duelli diff --git a/backend/bang/game.py b/backend/bang/game.py index dbe8308..6057456 100644 --- a/backend/bang/game.py +++ b/backend/bang/game.py @@ -225,6 +225,7 @@ class Game: self.players[-1].lives = 2 self.players[-1].hand.append(self.deck.draw()) self.players[-1].hand.append(self.deck.draw()) + self.players_map = {c.name: i for i, c in enumerate(self.players)} self.players[-1].notify_self() self.players[self.turn].play_turn()