From d6a84bbb8832875a126d271dbcb87c41a7ffe6a3 Mon Sep 17 00:00:00 2001 From: Alberto Xamin Date: Wed, 23 Dec 2020 15:50:22 +0100 Subject: [PATCH] mezzogiorno di fuoco --- backend/bang/deck.py | 2 +- backend/bang/expansions/high_noon/card_events.py | 2 +- backend/bang/players.py | 7 +++++++ 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/backend/bang/deck.py b/backend/bang/deck.py index 0205e45..991d43c 100644 --- a/backend/bang/deck.py +++ b/backend/bang/deck.py @@ -33,7 +33,7 @@ class Deck: print(f'Deck initialized with {len(self.cards)} cards') def flip_event(self): - if len(self.event_cards) > 0 and not isinstance(self.event_cards[0], ce.PerUnPugnoDiCarte): + if len(self.event_cards) > 0 and not (isinstance(self.event_cards[0], ce.PerUnPugnoDiCarte) or isinstance(self.event_cards[0], ceh.MezzogiornoDiFuoco)): self.event_cards.append(self.event_cards.pop(0)) self.game.notify_event_card() diff --git a/backend/bang/expansions/high_noon/card_events.py b/backend/bang/expansions/high_noon/card_events.py index 47897d4..762c468 100644 --- a/backend/bang/expansions/high_noon/card_events.py +++ b/backend/bang/expansions/high_noon/card_events.py @@ -78,7 +78,7 @@ def get_all_events(): Sparatoria(), ] random.shuffle(cards) - # cards.append(MezzogiornoDiFuoco()) + cards.append(MezzogiornoDiFuoco()) for c in cards: c.expansion = 'high-noon' return cards \ No newline at end of file diff --git a/backend/bang/players.py b/backend/bang/players.py index b519b0b..3642c1a 100644 --- a/backend/bang/players.py +++ b/backend/bang/players.py @@ -321,6 +321,13 @@ class Player: self.has_played_bang = False self.special_use_count = 0 self.bang_used = 0 + if self.game.check_event(ceh.MezzogiornoDiFuoco): + self.lives -= 1 + if self.character.check(self.game, chars.BartCassidy) and self.lives > 0: + self.hand.append(self.game.deck.draw(True)) + self.sio.emit('chat_message', room=self.game.name, data=f'_special_bart_cassidy|{self.name}') + if self.lives <= 0: + return self.notify_self() if self.game.check_event(ce.FratelliDiSangue) and self.lives > 1 and not self.is_giving_life and len([p for p in self.game.players if p != self and p.lives < p.max_lives]): self.available_cards = [{ 'name': p.name,