aboutsummaryrefslogtreecommitdiff
path: root/src/game/GameObject.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/game/GameObject.cpp')
-rw-r--r--src/game/GameObject.cpp10
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;