From 3b310751f7c8d8262e39d3a91b7392e0b095b023 Mon Sep 17 00:00:00 2001 From: Alberto Xamin Date: Fri, 1 Jan 2021 13:52:44 +0100 Subject: [PATCH 1/2] some fixes --- backend/bang/game.py | 4 +++- backend/bang/players.py | 6 ------ 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/backend/bang/game.py b/backend/bang/game.py index f137ced..c724150 100644 --- a/backend/bang/game.py +++ b/backend/bang/game.py @@ -408,7 +408,7 @@ class Game: player.attacker.hand.append(self.deck.draw(True)) player.attacker.notify_self() print(f'player {player.name} died') - if (self.waiting_for > 0): + if self.waiting_for > 0 and player.pending_action == pl.PendingAction.RESPOND: self.responders_did_respond_resume_turn() if player.is_dead: return @@ -486,6 +486,8 @@ class Game: herb[0].notify_self() self.is_handling_death = False if corpse.is_my_turn: + corpse.is_my_turn = False + corpse.notify_self() self.next_turn() def reset(self): diff --git a/backend/bang/players.py b/backend/bang/players.py index 4d3fa3c..7dad272 100644 --- a/backend/bang/players.py +++ b/backend/bang/players.py @@ -406,8 +406,6 @@ class Player: self.hand.append(self.game.deck.draw_from_scrap_pile()) if not self.game.check_event(ceh.Sete): self.hand.append(self.game.deck.draw()) - if self.game.check_event(ceh.IlTreno) or (self.is_ghost and self.game.ceck_event(ceh.CittaFantasma)): - self.hand.append(self.game.deck.draw()) self.sio.emit('chat_message', room=self.game.name, data=f'_draw_from_scrap|{self.name}') elif type(pile) == str and pile != self.name and pile in self.game.players_map and self.character.check(self.game, chars.JesseJones) and len(self.game.get_player_named(pile).hand) > 0: @@ -418,15 +416,11 @@ class Player: data=f'_draw_from_player|{self.name}|{pile}') if not self.game.check_event(ceh.Sete): self.hand.append(self.game.deck.draw()) - if self.game.check_event(ceh.IlTreno) or (self.is_ghost and self.game.ceck_event(ceh.CittaFantasma)): - self.hand.append(self.game.deck.draw()) elif self.character.check(self.game, chd.BillNoface): self.hand.append(self.game.deck.draw()) if not self.game.check_event(ceh.Sete): for i in range(self.max_lives-self.lives): self.hand.append(self.game.deck.draw()) - if self.game.check_event(ceh.IlTreno): - self.hand.append(self.game.deck.draw()) else: for i in range(2): card: cs.Card = self.game.deck.draw() From acbcb0b2b066f0f93f2bd590809d80344efa7589 Mon Sep 17 00:00:00 2001 From: Alberto Xamin Date: Fri, 1 Jan 2021 14:01:53 +0100 Subject: [PATCH 2/2] prigione in chat --- backend/bang/players.py | 2 ++ frontend/src/i18n/en.json | 4 +++- frontend/src/i18n/it.json | 4 +++- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/backend/bang/players.py b/backend/bang/players.py index 7dad272..9de34c6 100644 --- a/backend/bang/players.py +++ b/backend/bang/players.py @@ -480,10 +480,12 @@ class Player: data=f'_flipped|{self.name}|{picked}') if not picked.check_suit(self.game, [cs.Suit.HEARTS]) and pickable_cards == 0: self.game.deck.scrap(self.equipment.pop(i), True) + self.sio.emit('chat_message', room=self.game.name, data=f'_prison_turn|{self.name}') self.end_turn(forced=True) return elif pickable_cards == 0: self.game.deck.scrap(self.equipment.pop(i), True) + self.sio.emit('chat_message', room=self.game.name, data=f'_prison_free|{self.name}') break break if any([isinstance(c, cs.Prigione) for c in self.equipment]): diff --git a/frontend/src/i18n/en.json b/frontend/src/i18n/en.json index dfa8aa4..fae443b 100644 --- a/frontend/src/i18n/en.json +++ b/frontend/src/i18n/en.json @@ -96,7 +96,9 @@ "doctor_heal": "{0} was healed by the doctor.", "respond": "{0} responded with {1}.", "change_username": "{0} is now {1}.", - "lobby_reset": "Going back to lobby in {0} seconds..." + "lobby_reset": "Going back to lobby in {0} seconds...", + "prison_free": "{0} got out of prison", + "prison_turn": "{0} stayed in prison this turn" }, "foc": { "leggedelwest": "He must play this card on this turn if possible." diff --git a/frontend/src/i18n/it.json b/frontend/src/i18n/it.json index 669cb38..d6710b2 100644 --- a/frontend/src/i18n/it.json +++ b/frontend/src/i18n/it.json @@ -96,7 +96,9 @@ "doctor_heal": "{0} è stato curato dal dottore.", "respond": "{0} ha risposto con {1}.", "change_username": "{0} ha cambiato nome in {1}.", - "lobby_reset": "Si ritorna alla stanza in {0} secondi..." + "lobby_reset": "Si ritorna alla stanza in {0} secondi...", + "prison_free": "{0} è uscito di prigione", + "prison_turn": "{0} rimane in prigione questo turno" }, "foc": { "leggedelwest": "Ed è obbligato a usarla nel suo turno, se possibile"