From 1c61d8f1eb1a28a70acdd4e61e0de44eb779c79e Mon Sep 17 00:00:00 2001 From: Alberto Xamin Date: Sun, 24 Jan 2021 15:06:49 +0100 Subject: [PATCH] fix chat for new localization --- backend/bang/cards.py | 5 ++++- backend/bang/players.py | 12 ++++++------ frontend/src/components/Chat.vue | 3 +++ frontend/src/i18n/en.json | 4 ++-- frontend/src/i18n/it.json | 6 +++--- 5 files changed, 18 insertions(+), 12 deletions(-) diff --git a/backend/bang/cards.py b/backend/bang/cards.py index aed5766..95f3a4e 100644 --- a/backend/bang/cards.py +++ b/backend/bang/cards.py @@ -45,6 +45,9 @@ class Card(ABC): return f'{self.name} {char}{self.number}' return super().__str__() + def num_suit(self): + return f"{['♦️', '♣️', '♥️', '♠️'][int(self.suit)]}{self.number}" + def play_card(self, player, against=None, _with=None):#self --> carta if self.is_equipment: if self.is_weapon: @@ -150,7 +153,7 @@ class Remington(Card): class RevCarabine(Card): def __init__(self, suit, number): - super().__init__(suit, 'Rev. Carabine', number, + super().__init__(suit, 'Rev Carabine', number, is_equipment=True, is_weapon=True, range=4) self.icon = '🔫' # self.desc = "Puoi sparare a un giocatore che sia distante 4 o meno" diff --git a/backend/bang/players.py b/backend/bang/players.py index 9648160..c411d86 100644 --- a/backend/bang/players.py +++ b/backend/bang/players.py @@ -451,7 +451,7 @@ class Player: picked: cs.Card = self.game.deck.pick_and_scrap() print(f'Did pick {picked}') self.sio.emit('chat_message', room=self.game.name, - data=f'_flipped|{self.name}|{picked}') + data=f'_flipped|{self.name}|{picked.name}|{picked.num_suit()}') if picked.check_suit(self.game, [cs.Suit.SPADES]) and 2 <= picked.number <= 9 and pickable_cards == 0: self.lives -= 3 self.game.deck.scrap(self.equipment.pop(i), True) @@ -477,7 +477,7 @@ class Player: picked: cs.Card = self.game.deck.pick_and_scrap() print(f'Did pick {picked}') self.sio.emit('chat_message', room=self.game.name, - data=f'_flipped|{self.name}|{picked}') + data=f'_flipped|{self.name}|{picked.name}|{picked.num_suit()}') 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}') @@ -691,7 +691,7 @@ class Player: picked: cs.Card = self.game.deck.pick_and_scrap() print(f'Did pick {picked}') self.sio.emit('chat_message', room=self.game.name, - data=f'_flipped|{self.name}|{picked}') + data=f'_flipped|{self.name}|{picked.name}|{picked.num_suit()}') if picked.check_suit(self.game, [cs.Suit.HEARTS]): self.mancato_needed -= 1 self.notify_self() @@ -721,7 +721,7 @@ class Player: picked: cs.Card = self.game.deck.pick_and_scrap() print(f'Did pick {picked}') self.sio.emit('chat_message', room=self.game.name, - data=f'_flipped|{self.name}|{picked}') + data=f'_flipped|{self.name}|{picked.name}|{picked.num_suit()}') if picked.check_suit(self.game, [cs.Suit.HEARTS]): self.mancato_needed -= 1 self.notify_self() @@ -880,7 +880,7 @@ class Player: if self.character.check(self.game, chd.MollyStark) and hand_index < len(self.hand)+1 and not self.is_my_turn and self.event_type != 'duel': self.hand.append(self.game.deck.draw(True)) card.use_card(self) - self.sio.emit('chat_message', room=self.game.name, data=f'_respond|{self.name}|{card}') + self.sio.emit('chat_message', room=self.game.name, data=f'_respond|{self.name}|{card.name}') self.game.deck.scrap(card, True) self.notify_self() self.mancato_needed -= 1 @@ -976,7 +976,7 @@ class Player: elif self.pending_action == PendingAction.PLAY or forced: if not forced and self.game.check_event(ce.Vendetta) and self.can_play_vendetta: picked: cs.Card = self.game.deck.pick_and_scrap() - self.sio.emit('chat_message', room=self.game.name, data=f'_flipped|{self.name}|{picked}') + self.sio.emit('chat_message', room=self.game.name, data=f'_flipped|{self.name}|{picked.name}|{picked.num_suit()}') if picked.check_suit(self.game, [cs.Suit.HEARTS]): self.play_turn(can_play_vendetta=False) return diff --git a/frontend/src/components/Chat.vue b/frontend/src/components/Chat.vue index 596ae79..e0a4002 100644 --- a/frontend/src/components/Chat.vue +++ b/frontend/src/components/Chat.vue @@ -36,6 +36,9 @@ export default { if ((typeof msg === "string") && msg.indexOf('_') === 0) { let params = msg.split('|') let type = params.shift().substring(1) + if (["flipped", "respond", "play_card", "play_card_against", "play_card_for", "spilled_beer", "diligenza", "wellsfargo", "saloon", "special_calamity"].indexOf(type) !== -1){ + params[1] = this.$t(`cards.${params[1]}.name`) + } this.messages.push({text:this.$t(`chat.${type}`, params)}); if (type == 'turn' && params[0] == this.username) { (new Audio(turn_sfx)).play(); diff --git a/frontend/src/i18n/en.json b/frontend/src/i18n/en.json index caf78fd..078e2cf 100644 --- a/frontend/src/i18n/en.json +++ b/frontend/src/i18n/en.json @@ -77,7 +77,7 @@ "turn": "It is the turn of {0}.", "draw_from_scrap": "{0} did draw the first card from the scrap pile.", "draw_from_player": "{0} did draw the first card from the hand of {1}.", - "flipped": "{0} flipped a {1}.", + "flipped": "{0} flipped a {1} {2}.", "explode": "{0} blew up the dynamite.", "beer_save": "{0} used a beer to save his life.", "play_card": "{0} played {1}.", @@ -140,7 +140,7 @@ "name": "Remington", "desc": "You can shoot another player at distance 3 or less" }, - "Rev. Carabine": { + "Rev Carabine": { "name": "Rev. Carabine", "desc": "You can shoot another player at distance 4 or less" }, diff --git a/frontend/src/i18n/it.json b/frontend/src/i18n/it.json index c45809e..7a78b6a 100644 --- a/frontend/src/i18n/it.json +++ b/frontend/src/i18n/it.json @@ -77,7 +77,7 @@ "turn": "È il turno di {0}.", "draw_from_scrap": "{0} ha pescato la prima carta dalla pila delle carte scartate.", "draw_from_player": "{0} ha pescato la prima carta dalla mano di {1}.", - "flipped": "{0} ha estratto {1}.", + "flipped": "{0} ha estratto {1} {2}.", "explode": "{0} ha fatto esplodere la dinamite.", "beer_save": "{0} ha usato una birra per recuperare una vita.", "play_card": "{0} ha giocato {1}.", @@ -89,7 +89,7 @@ "saloon": "{0} ha giocato {1} e ha curato 1 punto vita a tutti.", "special_bart_cassidy": "{0} ha ricevuto un risarcimento perchè è stato ferito.", "special_el_gringo": "{0} rubato una carta a {1} mentre veniva colpito.", - "special_calamity": "{0} ha giovato {1} come un Bang! contro {2}.", + "special_calamity": "{0} ha giocato {1} come un Bang! contro {2}.", "allroles": "Nella partita ci sono: {0}.", "guess": "{0} pensa sia {1}.", "guess_right": "{0} ha indovinato.", @@ -140,7 +140,7 @@ "name": "Remington", "desc": "Puoi sparare a un giocatore che sia distante 3 o meno" }, - "Rev. Carabine": { + "Rev Carabine": { "name": "Rev. Carabine", "desc": "Puoi sparare a un giocatore che sia distante 4 o meno" },