aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2011-04-18 22:29:17 +0200
committerShauren <shauren.trinity@gmail.com>2011-04-18 22:29:17 +0200
commit890b1f6cc731719e633655c7347e25ce812f3710 (patch)
tree1066829dd9fb7405ac9f5f2e2eb042e7e828aa89 /src
parentd3cb2f48737f2443c8996b7195c971f0e03ee201 (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-xsrc/server/game/Entities/GameObject/GameObject.cpp12
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)