From 25f5f5062e97679f94a8c71597368f7efd371dda Mon Sep 17 00:00:00 2001 From: Alberto Xamin Date: Sun, 9 Apr 2023 21:08:14 +0100 Subject: [PATCH] add some effects on some actions --- frontend/src/components/Chat.vue | 2 +- frontend/src/components/Lobby.vue | 33 +++++++++++++++++++++++++++++++ 2 files changed, 34 insertions(+), 1 deletion(-) diff --git a/frontend/src/components/Chat.vue b/frontend/src/components/Chat.vue index 2c0f5a4..969b13c 100644 --- a/frontend/src/components/Chat.vue +++ b/frontend/src/components/Chat.vue @@ -80,7 +80,7 @@ export default { let desc_pos = -1 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", "won", "choose_emporio", "died_role"].indexOf(type) !== -1) { + if (["flipped", "respond", "play_card", "purchase_card", "play_card_against", "play_card_for", "spilled_beer", "diligenza", "wellsfargo", "saloon", "special_calamity", "won", "choose_emporio", "died_role"].indexOf(type) !== -1) { desc = this.$t(`cards.${params[1]}.desc`) desc_pos = 3 params[1] = this.$t(`cards.${params[1]}.name`) diff --git a/frontend/src/components/Lobby.vue b/frontend/src/components/Lobby.vue index 64ed9cc..988e878 100644 --- a/frontend/src/components/Lobby.vue +++ b/frontend/src/components/Lobby.vue @@ -65,6 +65,7 @@
@@ -570,6 +571,38 @@ export default { this.cardsToAnimate = this.cardsToAnimate.filter((x) => x.key !== key); }, 1800); }, + chat_message(msg) { + let params = msg.split('|') + let type = params.shift().substring(1) + let messageMap = { + prison_turn: '⛓️', + explode: 'πŸ’₯', + purchase_card: 'πŸ›’', + prison_free: 'πŸ†“', + snake_bit: '🐍', + beer_save: 'πŸΊπŸ˜‡', + sheriff: '⭐', + spilled_beer: '🍺😭', + use_special: 'πŸ”', + } + if (messageMap[type]) { + let key = Math.random(); + for (let i = 0; i < 5; i++) { + setTimeout(() => { + this.fullScreenEffects.push({ + key, + text: messageMap[type], + startPosition: cumulativeOffset(document.getElementById(params[0])), + }); + }, 50 * i); + } + setTimeout(() => { + this.fullScreenEffects = this.fullScreenEffects.filter( + (x) => x.key !== key + ); + }, 3000); + } + }, suggest_expansion(expansionName) { if (this.expansions.includes(expansionName)) return; let key = Math.random();