diff --git a/backend/bang/expansions/dodge_city/characters.py b/backend/bang/expansions/dodge_city/characters.py index b33ee4d..57d4fb0 100644 --- a/backend/bang/expansions/dodge_city/characters.py +++ b/backend/bang/expansions/dodge_city/characters.py @@ -43,6 +43,12 @@ class MollyStark(Character): self.desc = "Quando usa una carta che ha in mano, fuori dal suo turno, ne ottiene un'altra dal mazzo" self.icon = '🙅‍♀️' +class ApacheKid(Character): + def __init__(self): + super().__init__("Molly Stark", max_lives=3) + self.desc = "Le carte di quadri ♦️ giocate contro di lui non hanno effetto (non vale durante i duelli)" + self.icon = '♦️' + def all_characters() -> List[Character]: return [ PixiePete(), @@ -52,6 +58,7 @@ def all_characters() -> List[Character]: ElenaFuente(), BillNoface(), MollyStark(), + ApacheKid(), ] #Apache Kid: il suo effetto non conta nei duelli diff --git a/backend/bang/players.py b/backend/bang/players.py index 080ab9b..cafc05c 100644 --- a/backend/bang/players.py +++ b/backend/bang/players.py @@ -266,6 +266,8 @@ class Player: withCard = self.hand.pop(_with) if hand_index > _with else self.hand.pop(_with - 1) print(self.name, 'is playing ', card, ' against:', against, ' with:', _with) did_play_card = card.play_card(self, against, withCard) + if against != None and isinstance(self.game.get_player_named(against).character, chd.ApacheKid) and card.suit == cs.Suit.DIAMONDS: + did_play_card = False if not card.is_equipment and not card.usable_next_turn: if did_play_card: self.game.deck.scrap(card)