diff --git a/backend/bang/deck.py b/backend/bang/deck.py index 991d43c..c8a5b1b 100644 --- a/backend/bang/deck.py +++ b/backend/bang/deck.py @@ -21,13 +21,17 @@ class Deck: self.all_cards_str.append(c.name) self.game = game self.event_cards: List[ce.CardEvent] = [] + endgame_cards = [] if 'fistful_of_cards' in game.expansions: self.event_cards.extend(ce.get_all_events()) + endgame_cards.append(ce.get_endgame_card()) if 'high_noon' in game.expansions: self.event_cards.extend(ceh.get_all_events()) + endgame_cards.append(ceh.get_endgame_card()) if len(self.event_cards) > 0: self.event_cards.insert(0, None) self.event_cards.insert(0, None) # 2 perchè iniziale, e primo flip dallo sceriffo + self.event_cards.append(random.choice(endgame_cards)) random.shuffle(self.cards) self.scrap_pile: List[cs.Card] = [] print(f'Deck initialized with {len(self.cards)} cards') diff --git a/backend/bang/expansions/fistful_of_cards/card_events.py b/backend/bang/expansions/fistful_of_cards/card_events.py index ed14be4..4511937 100644 --- a/backend/bang/expansions/fistful_of_cards/card_events.py +++ b/backend/bang/expansions/fistful_of_cards/card_events.py @@ -97,6 +97,11 @@ class Vendetta(CardEvent): self.desc = "Alla fine del proprio turno il giocatore estrae dal mazzo, se esce ♥️ gioca un altro turno (ma non estrae di nuovo)" self.desc_eng = "When ending the turn, the player flips a card from the deck, if it's ♥️ he plays another turn (but he does not flip another card)" +def get_endgame_card(): + end_game = PerUnPugnoDiCarte() + end_game.expansion = 'fistful-of-cards' + return end_game + def get_all_events(): cards = [ Agguato(), @@ -115,7 +120,6 @@ def get_all_events(): Vendetta(), ] random.shuffle(cards) - cards.append(PerUnPugnoDiCarte()) for c in cards: c.expansion = 'fistful-of-cards' return cards \ No newline at end of file diff --git a/backend/bang/expansions/high_noon/card_events.py b/backend/bang/expansions/high_noon/card_events.py index 61e1629..a8d2cc5 100644 --- a/backend/bang/expansions/high_noon/card_events.py +++ b/backend/bang/expansions/high_noon/card_events.py @@ -91,6 +91,11 @@ class MezzogiornoDiFuoco(CardEvent): self.desc = "Ogni giocatore perde 1 punto vita all'inizio del turno" self.desc_eng = "Every player loses 1 HP when their turn starts" +def get_endgame_card(): + end_game = MezzogiornoDiFuoco() + end_game.expansion = 'high-noon' + return end_game + def get_all_events(): cards = [ Benedizione(), @@ -109,7 +114,6 @@ def get_all_events(): # NuovaIdentita(), ] random.shuffle(cards) - cards.append(MezzogiornoDiFuoco()) for c in cards: c.expansion = 'high-noon' return cards \ No newline at end of file