diff --git a/backend/bang/game.py b/backend/bang/game.py index 8d00c57..f137ced 100644 --- a/backend/bang/game.py +++ b/backend/bang/game.py @@ -415,9 +415,6 @@ class Game: if not self.started: self.players.remove(player) elif disconnected: - index = self.players.index(player) - if self.started and index <= self.turn: - self.turn -= 1 self.players.remove(player) self.players_map = {c.name: i for i, c in enumerate(self.players)} player.lives = 0 diff --git a/backend/bang/players.py b/backend/bang/players.py index 665eb41..4d3fa3c 100644 --- a/backend/bang/players.py +++ b/backend/bang/players.py @@ -406,6 +406,8 @@ 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: @@ -416,11 +418,15 @@ 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() @@ -435,7 +441,7 @@ class Player: return self.notify_self() if self.character.check(self.game, chd.PixiePete): self.hand.append(self.game.deck.draw()) - if self.game.check_event(ceh.IlTreno): + 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.notify_self() diff --git a/frontend/src/components/Player.vue b/frontend/src/components/Player.vue index f8c973f..f8d55fd 100644 --- a/frontend/src/components/Player.vue +++ b/frontend/src/components/Player.vue @@ -14,7 +14,7 @@ + @click.native="play_card(card, true)" :class="{'cant-play':((eventCard && eventCard.name == 'Lazo') || !card.can_be_used_now)}"/>