aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Entities/GameObject
diff options
context:
space:
mode:
authorShauren <none@none>2010-09-02 10:40:32 +0200
committerShauren <none@none>2010-09-02 10:40:32 +0200
commit0f9fe8dbeb3990175cfac07a3b7349c9d8e668b7 (patch)
treed18a6f125f64682fb0623f3dbae2e4ac38948f11 /src/server/game/Entities/GameObject
parent320cd16f209c95480c3dacf8d2a17466d551019f (diff)
Core/Players: Don't set instanceId to 0 when player is on transport during loading, there CAN be transports inside instances
Core/Scripts: Added waypoint id to OnRelocate transport hook Core/Scripts: Make use of ZoneScript::GetGameObjectEntry at gameobject creation (makes it possible to override gameobject entries in instances) Core/Transports: Call InstanceScript::EventInform for transport events Core/Transports: Use guid from db for transports, not just its entry - adds partial support for instancing them (still cannot use transports table for it, but can spawn manually now) Scripts/Icecrown Citadel: Fixed crash in Deathbringer Saurfang when event is started by more than one person (can't do this anymore) Closes isssue #3749. --HG-- branch : trunk
Diffstat (limited to 'src/server/game/Entities/GameObject')
-rw-r--r--src/server/game/Entities/GameObject/GameObject.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/server/game/Entities/GameObject/GameObject.cpp b/src/server/game/Entities/GameObject/GameObject.cpp
index a9404046175..52205572ac9 100644
--- a/src/server/game/Entities/GameObject/GameObject.cpp
+++ b/src/server/game/Entities/GameObject/GameObject.cpp
@@ -153,6 +153,14 @@ bool GameObject::Create(uint32 guidlow, uint32 name_id, Map *map, uint32 phaseMa
SetPhaseMask(phaseMask,false);
+ SetZoneScript();
+ if (m_zoneScript)
+ {
+ name_id = m_zoneScript->GetGameObjectEntry(guidlow, name_id);
+ if (!name_id)
+ return false;
+ }
+
GameObjectInfo const* goinfo = sObjectMgr.GetGameObjectInfo(name_id);
if (!goinfo)
{
@@ -211,8 +219,6 @@ bool GameObject::Create(uint32 guidlow, uint32 name_id, Map *map, uint32 phaseMa
break;
}
- SetZoneScript();
-
LastUsedScriptID = GetGOInfo()->ScriptId;
return true;