diff --git a/website/common/locales/en/character.json b/website/common/locales/en/character.json index 18029b6b20..e105f61a69 100644 --- a/website/common/locales/en/character.json +++ b/website/common/locales/en/character.json @@ -150,6 +150,8 @@ "youCastParty": "You cast <%= spell %> for the party.", "chatCastSpellParty": "<%= username %> casts <%= spell %> for the party.", "chatCastSpellUser": "<%= username %> casts <%= spell %> on <%= target %>.", + "chatCastSpellPartyTimes": "<%= username %> casts <%= spell %> for the party <%= times =%> times.", + "chatCastSpellUserTimes": "<%= username %> casts <%= spell %> on <%= target %> <%= times =%> times.", "critBonus": "Critical Hit! Bonus: ", "gainedGold": "You gained some Gold", "gainedMana": "You gained some Mana", diff --git a/website/server/libs/spells.js b/website/server/libs/spells.js index 6ab4d655a1..8192a9952f 100644 --- a/website/server/libs/spells.js +++ b/website/server/libs/spells.js @@ -250,6 +250,19 @@ async function castSpell (req, res, { isV3 = false }) { const lastMessage = lastMessages[0]; if (lastMessage.info.spell === spellId && lastMessage.info.user === user.profile.name) { lastMessage.info.times += 1; + lastMessage.timestamp = Number(new Date()); + if (targetType === 'user') { + lastMessage.message = `\`${common.i18n.t('chatCastSpellUserTimes', { + username: user.profile.name, + spell: spell.text(), + target: partyMembers.profile.name, + times: lastMessage.info.times, + }, 'en')}\``; + } else { + lastMessage.message = `\`${common.i18n.t('chatCastSpellPartyTimes', { + username: user.profile.name, spell: spell.text(), times: lastMessage.info.times, + }, 'en')}\``; + } await lastMessage.save(); return; }