From 3b2b8406a8a5695e922653f85e07c312308c9a6b Mon Sep 17 00:00:00 2001 From: Benjamin Jackson <38561765+heyitsbench@users.noreply.github.com> Date: Mon, 12 Aug 2024 07:46:20 -0400 Subject: [PATCH] fix(Core/Entities): Only add use to spell caster objects if cast succeeds. (#19601) Init. --- src/server/game/Entities/GameObject/GameObject.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/server/game/Entities/GameObject/GameObject.cpp b/src/server/game/Entities/GameObject/GameObject.cpp index f293788b9..d0fa1bb31 100644 --- a/src/server/game/Entities/GameObject/GameObject.cpp +++ b/src/server/game/Entities/GameObject/GameObject.cpp @@ -1891,7 +1891,6 @@ void GameObject::Use(Unit* user) user->RemoveAurasByType(SPELL_AURA_MOUNTED); spellId = info->spellcaster.spellId; - AddUse(); break; } case GAMEOBJECT_TYPE_MEETINGSTONE: //23 @@ -2067,7 +2066,10 @@ void GameObject::Use(Unit* user) sOutdoorPvPMgr->HandleCustomSpell(player, spellId, this); if (spellCaster) - spellCaster->CastSpell(user, spellInfo, triggered); + { + if ((spellCaster->CastSpell(user, spellInfo, triggered) == SPELL_CAST_OK) && GetGoType() == GAMEOBJECT_TYPE_SPELLCASTER) + AddUse(); + } else CastSpell(user, spellId); }