From 8cf2062c1f253f71696deeda6d7e1e393d115009 Mon Sep 17 00:00:00 2001 From: megamage Date: Tue, 20 Dec 2011 17:05:08 -0500 Subject: Update grid system. Try to fix some crashes and transport passengers (now they are despawned after a while). --- src/server/game/Globals/ObjectMgr.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'src/server/game/Globals/ObjectMgr.cpp') diff --git a/src/server/game/Globals/ObjectMgr.cpp b/src/server/game/Globals/ObjectMgr.cpp index 020f7bd56a9..5353e048066 100755 --- a/src/server/game/Globals/ObjectMgr.cpp +++ b/src/server/game/Globals/ObjectMgr.cpp @@ -6721,9 +6721,15 @@ void ObjectMgr::LoadCorpses() { Field* fields = result->Fetch(); uint32 guid = fields[16].GetUInt32(); + CorpseType type = CorpseType(fields[13].GetUInt8()); + if (type >= MAX_CORPSE_TYPE) + { + sLog->outError("Corpse (guid: %u) have wrong corpse type (%u), not loading.", guid, type); + continue; + } - Corpse* corpse = new Corpse(); - if (!corpse->LoadFromDB(guid, fields)) + Corpse* corpse = new Corpse(type); + if (!corpse->LoadCorpseFromDB(guid, fields)) { delete corpse; continue; -- cgit v1.2.3