From 06069462aef8b3b34136fe83c156d9a8721e0a76 Mon Sep 17 00:00:00 2001 From: Alberto Xamin Date: Tue, 18 Apr 2023 19:52:18 +0100 Subject: [PATCH] fix gary looter and big spencer --- backend/bang/game.py | 8 +++++++- backend/bang/players.py | 2 +- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/backend/bang/game.py b/backend/bang/game.py index f3a70f4..9e505e6 100644 --- a/backend/bang/game.py +++ b/backend/bang/game.py @@ -8,6 +8,7 @@ import bang.players as pl import bang.cards as cs import bang.characters as characters import bang.expansions.dodge_city.characters as chd +import bang.expansions.wild_west_show.characters as chwws from bang.deck import Deck import bang.roles as roles import bang.expansions.fistful_of_cards.card_events as ce @@ -336,7 +337,12 @@ class Game: data=f"_choose_character|{player.name}|{player.character.name}", ) player.prepare() - for _ in range(player.max_lives): + cards_to_draw = ( + player.max_lives + if not player.character.check(self, chwws.BigSpencer) + else 5 + ) + for _ in range(cards_to_draw): self.deck.draw(player=player) player.notify_self() self.players_map = {c.name: i for i, c in enumerate(self.players)} diff --git a/backend/bang/players.py b/backend/bang/players.py index 9105fbe..4a4710a 100644 --- a/backend/bang/players.py +++ b/backend/bang/players.py @@ -2465,7 +2465,7 @@ class Player: self.special_use_count += 1 gary_looter = None for p in self.game.players: - if p.character.check(self.game, chw.GaryLooter): + if p != self and p.character.check(self.game, chw.GaryLooter): gary_looter = p break if gary_looter is not None: