From 70d16bdc0e7d400dc643cff8fe5eef5f18cfd844 Mon Sep 17 00:00:00 2001 From: Alberto Xamin Date: Sun, 13 Dec 2020 16:47:44 +0100 Subject: [PATCH] add belle star --- backend/bang/deck.py | 3 +++ backend/bang/expansions/dodge_city/characters.py | 8 ++++++++ backend/bang/players.py | 2 ++ 3 files changed, 13 insertions(+) diff --git a/backend/bang/deck.py b/backend/bang/deck.py index f3924f6..b15806b 100644 --- a/backend/bang/deck.py +++ b/backend/bang/deck.py @@ -7,9 +7,12 @@ class Deck: super().__init__() self.cards: List[cs.Card] = cs.get_starting_deck(game.expansions) self.mancato_cards: List[str] = [] + self.mancato_cards_not_green: List[str] = [] for c in self.cards: if isinstance(c, cs.Mancato) and c.name not in self.mancato_cards: self.mancato_cards.append(c.name) + if not c.usable_next_turn: + self.mancato_cards_not_green.append(c.name) self.all_cards_str: List[str] = [] for c in self.cards: if c.name not in self.all_cards_str: diff --git a/backend/bang/expansions/dodge_city/characters.py b/backend/bang/expansions/dodge_city/characters.py index 53111d9..9a23a03 100644 --- a/backend/bang/expansions/dodge_city/characters.py +++ b/backend/bang/expansions/dodge_city/characters.py @@ -64,6 +64,13 @@ class SeanMallory(Character): self.desc_eng = "He can keep up to 10 cards in his hand when ending the turn." self.icon = '🍟' +class BelleStar(Character): + def __init__(self): + super().__init__("Belle Star", max_lives=3) + self.desc = "Nel suo turno le carte verdi degli altri giocatori non hanno effetto." + self.desc_eng = "During her turn the green cards of the other players do not work." + self.icon = '❎' + def all_characters() -> List[Character]: return [ PixiePete(), @@ -75,6 +82,7 @@ def all_characters() -> List[Character]: MollyStark(), ApacheKid(), SeanMallory(), + BelleStar(), ] #Apache Kid: il suo effetto non conta nei duelli diff --git a/backend/bang/players.py b/backend/bang/players.py index b243a5d..e90f2e9 100644 --- a/backend/bang/players.py +++ b/backend/bang/players.py @@ -508,6 +508,8 @@ class Player: print('has mancato') self.pending_action = PendingAction.RESPOND self.expected_response = self.game.deck.mancato_cards + if self.attacker and isinstance(self.attacker.character, chd.BelleStar): + self.expected_response = self.game.deck.mancato_cards_not_green if isinstance(self.character, chd.ElenaFuente): self.expected_response = self.game.deck.all_cards_str self.on_failed_response_cb = self.take_damage_response