diff options
Diffstat (limited to 'src/game/GameObject.cpp')
-rw-r--r-- | src/game/GameObject.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/game/GameObject.cpp b/src/game/GameObject.cpp index abbc3c4bf1c..9f1c938ddd3 100644 --- a/src/game/GameObject.cpp +++ b/src/game/GameObject.cpp @@ -931,6 +931,7 @@ void GameObject::Use(Unit* user) // by default spell caster is user Unit* spellCaster = user; uint32 spellId = 0; + bool triggered = false; switch(GetGoType()) { @@ -1174,6 +1175,13 @@ void GameObject::Use(Unit* user) return; spellId = info->summoningRitual.spellId; + if(spellId==62330) // GO store not existed spell, replace by expected + { + // spell have reagent and mana cost but it not expected use its + // it triggered spell in fact casted at currently channeled GO + spellId = 61993; + triggered = true; + } // finish spell caster->m_currentSpells[CURRENT_CHANNELED_SPELL]->SendChannelUpdate(0); @@ -1347,7 +1355,7 @@ void GameObject::Use(Unit* user) return; } - Spell *spell = new Spell(spellCaster, spellInfo, false); + Spell *spell = new Spell(spellCaster, spellInfo, triggered); // spell target is user of GO SpellCastTargets targets; |