From 5ac67c27f71a7b53fbce92ffdab3adb62b6baf0c Mon Sep 17 00:00:00 2001 From: megamage Date: Mon, 27 Apr 2009 18:36:10 -0500 Subject: [7715] Provided way for scripts set alternative gameobject state for client show. Author: VladimirMangos Also use enum for gsmeobject states. --HG-- branch : trunk --- src/game/ObjectMgr.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'src/game/ObjectMgr.cpp') 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(); -- cgit v1.2.3