diff --git a/backend/bang/expansions/high_noon/card_events.py b/backend/bang/expansions/high_noon/card_events.py index 6ecd001..acf0e7f 100644 --- a/backend/bang/expansions/high_noon/card_events.py +++ b/backend/bang/expansions/high_noon/card_events.py @@ -25,6 +25,12 @@ class Sete(CardEvent): self.desc = "I giocatori pescano solo 1 carta" self.desc_eng = "" +class IlTreno(CardEvent): + def __init__(self): + super().__init__("Il Treno", "🚂") + self.desc = "I giocatori pescano 1 carta extra" + self.desc_eng = "" + class MezzogiornoDiFuoco(CardEvent): def __init__(self): super().__init__("Mezzogiorno di Fuoco", "🔥") @@ -40,7 +46,7 @@ def get_all_events(): # IDalton(), # IlDottore(), # IlReverendo(), - # IlTreno(), + IlTreno(), Sbornia(), # Seromone(), Sete(), diff --git a/backend/bang/players.py b/backend/bang/players.py index 04c03c5..0d2d8f5 100644 --- a/backend/bang/players.py +++ b/backend/bang/players.py @@ -413,6 +413,8 @@ class Player: return self.notify_self() if self.character.check(self.game, chd.PixiePete): self.hand.append(self.game.deck.draw()) + if self.game.check_event(ceh.IlTreno): + self.hand.append(self.game.deck.draw()) self.notify_self() def pick(self): @@ -627,7 +629,10 @@ class Player: # specifico per personaggio elif self.is_drawing and self.character.check(self.game, chars.KitCarlson): self.hand.append(self.available_cards.pop(card_index)) - if len(self.available_cards) == 1: + pickable_stop = 1 + if self.game.check_event(ceh.Sete): pickable_stop = 2 + if self.game.check_event(ceh.IlTreno): pickable_stop = 0 + if len(self.available_cards) == pickable_stop: self.game.deck.put_on_top(self.available_cards.pop()) self.is_drawing = False self.pending_action = PendingAction.PLAY