From 890b1f6cc731719e633655c7347e25ce812f3710 Mon Sep 17 00:00:00 2001 From: Shauren Date: Mon, 18 Apr 2011 22:29:17 +0200 Subject: Core/GameObjects: Summon trigger for spellcast with at least spell cast time duration, also removed unneeded visibility hack --- src/server/game/Entities/GameObject/GameObject.cpp | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) (limited to 'src') 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) -- cgit v1.2.3