From 95bde24500f04636efb4f67e23effb13f900945d Mon Sep 17 00:00:00 2001 From: megamage Date: Fri, 5 Jun 2009 13:16:54 -0500 Subject: *Allow traps without a spell be triggered. This fixes the bug that Sapphiron cannot be summoned. --HG-- branch : trunk --- src/game/GameObject.cpp | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/game/GameObject.cpp b/src/game/GameObject.cpp index 7065a4d3513..c8021c8bb8b 100644 --- a/src/game/GameObject.cpp +++ b/src/game/GameObject.cpp @@ -303,9 +303,6 @@ void GameObject::Update(uint32 /*p_time*/) if(m_cooldownTime >= time(NULL)) return; - if(!goInfo->trap.spellId) - return; - bool IsBattleGroundTrap = false; //FIXME: this is activation radius (in different casting radius that must be selected from spell data) //TODO: move activated state code (cast itself) to GO_ACTIVATED, in this place only check activating and set state @@ -351,10 +348,12 @@ void GameObject::Update(uint32 /*p_time*/) if (ok) { + // some traps do not have spell but should be triggered + if(goInfo->trap.spellId) + CastSpell(ok, goInfo->trap.spellId); //Unit *caster = owner ? owner : ok; - - CastSpell(ok, goInfo->trap.spellId); //caster->CastSpell(ok, goInfo->trap.spellId, true, 0, 0, GetGUID()); + if(goInfo->trap.cooldown) m_cooldownTime = time(NULL) + goInfo->trap.cooldown; else -- cgit v1.2.3