diff --git a/backend/bang/deck.py b/backend/bang/deck.py index f3a430e..6172177 100644 --- a/backend/bang/deck.py +++ b/backend/bang/deck.py @@ -113,7 +113,10 @@ class Deck: if self.game.check_event(ce.MinieraAbbandonata) and not ignore_event: self.put_on_top(card) else: + self.scrap_pile.append(card) if player is not None and self.game.replay_speed > 0: G.sio.emit('card_scrapped', room=self.game.name, data={'player': player.name, 'card':card.__dict__, 'pile': 'scrap'}) - self.scrap_pile.append(card) - self.game.notify_scrap_pile() + G.sio.sleep(0.6) + self.game.notify_scrap_pile() + else: + self.game.notify_scrap_pile() diff --git a/backend/bang/players.py b/backend/bang/players.py index f5d8fa0..51ca9bd 100644 --- a/backend/bang/players.py +++ b/backend/bang/players.py @@ -767,6 +767,7 @@ class Player: card = target.hand.pop(card_index) target.notify_self() if self.choose_action == 'steal': + G.sio.emit('card_drawn', room=self.game.name, data={'player': self.name, 'pile': target.name}) card.reset_card() if card.name != "Fantasma" or self.name != target.name: #se si uccide facendo panico su fantasma la carta non gli viene messa in mano self.hand.append(card) @@ -1038,6 +1039,7 @@ class Player: card.reset_card() self.hand.append(card) self.available_cards = [] + G.sio.emit('card_drawn', room=self.game.name, data={'player': self.name, 'pile': self.pat_target}) self.game.get_player_named(self.pat_target).notify_self() self.pending_action = PendingAction.PLAY self.manette() @@ -1232,6 +1234,7 @@ class Player: elif self.character.check(self.game, chars.ElGringo) and self.attacker and self.attacker in self.game.get_alive_players() and len(self.attacker.hand) > 0: self.hand.append(self.attacker.hand.pop(randrange(0, len(self.attacker.hand)))) self.hand[-1].reset_card() + G.sio.emit('card_drawn', room=self.game.name, data={'player': self.name, 'pile': self.attacker.name}) G.sio.emit('chat_message', room=self.game.name, data=f'_special_el_gringo|{self.name}|{self.attacker.name}') self.attacker.notify_self() diff --git a/frontend/src/components/Lobby.vue b/frontend/src/components/Lobby.vue index c72494e..d205834 100644 --- a/frontend/src/components/Lobby.vue +++ b/frontend/src/components/Lobby.vue @@ -222,7 +222,8 @@ export default { this.username = username }, card_drawn(data) { - let decel = document.getElementById('actual-deck') + let from = data.pile === 'deck' ? 'actual-deck' : `${data.pile}-hand`; + let decel = document.getElementById(from) if (!decel) return let decelOffset = cumulativeOffset(decel)