diff options
author | megamage <none@none> | 2009-04-27 18:36:10 -0500 |
---|---|---|
committer | megamage <none@none> | 2009-04-27 18:36:10 -0500 |
commit | 5ac67c27f71a7b53fbce92ffdab3adb62b6baf0c (patch) | |
tree | 3ca1dc67f90b8522f64b894c5000ac8facc3cf9c /src/game/ObjectMgr.cpp | |
parent | f9c40474410c5d54e408f5074b2dee1ff329c0d5 (diff) |
[7715] Provided way for scripts set alternative gameobject state for client show. Author: VladimirMangos
Also use enum for gsmeobject states.
--HG--
branch : trunk
Diffstat (limited to 'src/game/ObjectMgr.cpp')
-rw-r--r-- | src/game/ObjectMgr.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/game/ObjectMgr.cpp b/src/game/ObjectMgr.cpp index e378edc7f55..fb351bf91a2 100644 --- a/src/game/ObjectMgr.cpp +++ b/src/game/ObjectMgr.cpp @@ -1257,8 +1257,16 @@ void ObjectMgr::LoadGameobjects() data.rotation3 = fields[10].GetFloat(); data.spawntimesecs = fields[11].GetInt32(); data.animprogress = fields[12].GetUInt32(); - data.go_state = fields[13].GetUInt32(); data.ArtKit = 0; + + uint32 go_state = fields[13].GetUInt32(); + if (go_state >= MAX_GO_STATE) + { + sLog.outErrorDb("Table `gameobject` have gameobject (GUID: %u Entry: %u) with invalid `state` (%u) value, skip",guid,data.id,go_state); + continue; + } + data.go_state = GOState(go_state); + data.spawnMask = fields[14].GetUInt8(); data.phaseMask = fields[15].GetUInt16(); int16 gameEvent = fields[16].GetInt16(); |