From 2d71a902f188b5526f2acecb45ac153191f94d9b Mon Sep 17 00:00:00 2001 From: Phillip Thelen Date: Mon, 10 Jul 2023 16:27:31 +0200 Subject: [PATCH] Merge skill casting messages together --- website/server/libs/spells.js | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/website/server/libs/spells.js b/website/server/libs/spells.js index 4a132f290b..1a14be9919 100644 --- a/website/server/libs/spells.js +++ b/website/server/libs/spells.js @@ -222,6 +222,18 @@ async function castSpell (req, res, { isV3 = false }) { }); if (party && !spell.silent) { + const lastMessages = await Chat.find({ groupId: group._id }) + .limit(1) + .sort('-timestamp') + .exec(); + if (lastMessages.size == 1) { + const lastMessage = lastMessages[0]; + if (lastMessage.info.spell == spellId && lastMessage.info.user == user.profile.name) { + lastMessage.info.times += 1; + await lastMessage.save(); + return; + } + } if (targetType === 'user') { const newChatMessage = party.sendChat({ message: `\`${common.i18n.t('chatCastSpellUser', { username: user.profile.name, spell: spell.text(), target: partyMembers.profile.name }, 'en')}\``, @@ -231,6 +243,7 @@ async function castSpell (req, res, { isV3 = false }) { class: klass, spell: spellId, target: partyMembers.profile.name, + times: 1 }, }); await newChatMessage.save(); @@ -242,6 +255,7 @@ async function castSpell (req, res, { isV3 = false }) { user: user.profile.name, class: klass, spell: spellId, + times: 1 }, }); await newChatMessage.save();