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); }