diff --git a/src/server/game/Entities/GameObject/GameObject.cpp b/src/server/game/Entities/GameObject/GameObject.cpp index 523144f2c..955bd32cb 100644 --- a/src/server/game/Entities/GameObject/GameObject.cpp +++ b/src/server/game/Entities/GameObject/GameObject.cpp @@ -1846,14 +1846,19 @@ void GameObject::Use(Unit* user) if (GetUniqueUseCount() == info->summoningRitual.reqParticipants) return; + SpellCastResult castResult; if (info->summoningRitual.animSpell) - player->CastSpell(player, info->summoningRitual.animSpell, true); + castResult = player->CastSpell(player, info->summoningRitual.animSpell, true); else - player->CastSpell(player, GetSpellId(), + castResult = player->CastSpell(player, GetSpellId(), TriggerCastFlags(TRIGGERED_IGNORE_EFFECTS + | TRIGGERED_IGNORE_SPELL_AND_CATEGORY_CD | TRIGGERED_IGNORE_POWER_AND_REAGENT_COST | TRIGGERED_CAST_DIRECTLY)); + if (castResult != SPELL_CAST_OK) + return; + AddUniqueUse(player); // full amount unique participants including original summoner