diff options
author | Shauren <shauren.trinity@gmail.com> | 2011-04-18 22:29:17 +0200 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2011-04-18 22:29:17 +0200 |
commit | 890b1f6cc731719e633655c7347e25ce812f3710 (patch) | |
tree | 1066829dd9fb7405ac9f5f2e2eb042e7e828aa89 /src | |
parent | d3cb2f48737f2443c8996b7195c971f0e03ee201 (diff) |
Core/GameObjects: Summon trigger for spellcast with at least spell cast time duration, also removed unneeded visibility hack
Diffstat (limited to 'src')
-rwxr-xr-x | src/server/game/Entities/GameObject/GameObject.cpp | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/src/server/game/Entities/GameObject/GameObject.cpp b/src/server/game/Entities/GameObject/GameObject.cpp index eb6004ef0bb..ab6adf0fd53 100755 --- a/src/server/game/Entities/GameObject/GameObject.cpp +++ b/src/server/game/Entities/GameObject/GameObject.cpp @@ -1606,7 +1606,7 @@ void GameObject::Use(Unit* user) void GameObject::CastSpell(Unit* target, uint32 spellId) { - SpellEntry const *spellInfo = sSpellStore.LookupEntry(spellId); + SpellEntry const* spellInfo = sSpellStore.LookupEntry(spellId); if (!spellInfo) return; @@ -1628,11 +1628,11 @@ void GameObject::CastSpell(Unit* target, uint32 spellId) } //summon world trigger - Creature *trigger = SummonTrigger(GetPositionX(), GetPositionY(), GetPositionZ(), 0, 1); - if (!trigger) return; + Creature* trigger = SummonTrigger(GetPositionX(), GetPositionY(), GetPositionZ(), 0, GetSpellCastTime(spellInfo) + 100); + if (!trigger) + return; - trigger->SetVisible(false); //should this be true? - if (Unit *owner = GetOwner()) + if (Unit* owner = GetOwner()) { trigger->setFaction(owner->getFaction()); trigger->CastSpell(target ? target : trigger, spellInfo, true, 0, 0, owner->GetGUID()); @@ -1644,8 +1644,6 @@ void GameObject::CastSpell(Unit* target, uint32 spellId) // - trigger gets despawned and there's no caster avalible (see AuraEffect::TriggerSpell()) trigger->CastSpell(target ? target : trigger, spellInfo, true, 0, 0, target ? target->GetGUID() : 0); } - //trigger->setDeathState(JUST_DIED); - //trigger->RemoveCorpse(); } void GameObject::SendCustomAnim(uint32 anim) |