From 95b6f016d28708194be7256a7a2cd43e722f51ac Mon Sep 17 00:00:00 2001 From: Alberto Xamin Date: Wed, 23 Dec 2020 14:41:13 +0100 Subject: [PATCH] add sete --- backend/bang/expansions/high_noon/card_events.py | 8 +++++++- backend/bang/players.py | 13 +++++++++---- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/backend/bang/expansions/high_noon/card_events.py b/backend/bang/expansions/high_noon/card_events.py index fb9bde3..6ecd001 100644 --- a/backend/bang/expansions/high_noon/card_events.py +++ b/backend/bang/expansions/high_noon/card_events.py @@ -19,6 +19,12 @@ class Sbornia(CardEvent): self.desc = "I personaggi perdono la loro abilità speciale" self.desc_eng = "" +class Sete(CardEvent): + def __init__(self): + super().__init__("Sete", "🥵") + self.desc = "I giocatori pescano solo 1 carta" + self.desc_eng = "" + class MezzogiornoDiFuoco(CardEvent): def __init__(self): super().__init__("Mezzogiorno di Fuoco", "🔥") @@ -37,7 +43,7 @@ def get_all_events(): # IlTreno(), Sbornia(), # Seromone(), - # Sete(), + Sete(), # Sparatoria(), ] random.shuffle(cards) diff --git a/backend/bang/players.py b/backend/bang/players.py index b9c0d65..04c03c5 100644 --- a/backend/bang/players.py +++ b/backend/bang/players.py @@ -382,7 +382,8 @@ class Player: self.pending_action = PendingAction.PLAY if pile == 'scrap' and self.character.check(self.game, chars.PedroRamirez): self.hand.append(self.game.deck.draw_from_scrap_pile()) - self.hand.append(self.game.deck.draw()) + if not self.game.check_event(ceh.Sete): + self.hand.append(self.game.deck.draw()) self.sio.emit('chat_message', room=self.game.name, data=f'_draw_from_scrap|{self.name}') elif type(pile) == str and pile != self.name and pile in self.game.players_map and self.character.check(self.game, chars.JesseJones) and len(self.game.get_player_named(pile).hand) > 0: @@ -391,11 +392,13 @@ class Player: self.game.get_player_named(pile).notify_self() self.sio.emit('chat_message', room=self.game.name, data=f'_draw_from_player|{self.name}|{pile}') - self.hand.append(self.game.deck.draw()) + if not self.game.check_event(ceh.Sete): + self.hand.append(self.game.deck.draw()) elif self.character.check(self.game, chd.BillNoface): self.hand.append(self.game.deck.draw()) - for i in range(self.max_lives-self.lives): - self.hand.append(self.game.deck.draw()) + if not self.game.check_event(ceh.Sete): + for i in range(self.max_lives-self.lives): + self.hand.append(self.game.deck.draw()) else: for i in range(2): card: cs.Card = self.game.deck.draw() @@ -406,6 +409,8 @@ class Player: p.notify_card(self, card, 'blackjack_special' if self.character.check(self.game, chars.BlackJack) else 'foc.leggedelwest') if card.check_suit(self.game, [cs.Suit.HEARTS, cs.Suit.DIAMONDS]) and self.character.check(self.game, chars.BlackJack): self.hand.append(self.game.deck.draw()) + if self.game.check_event(ceh.Sete): + return self.notify_self() if self.character.check(self.game, chd.PixiePete): self.hand.append(self.game.deck.draw()) self.notify_self()