aboutsummaryrefslogtreecommitdiff
path: root/src/game/ObjectMgr.cpp
diff options
context:
space:
mode:
authormegamage <none@none>2008-11-01 16:53:16 -0500
committermegamage <none@none>2008-11-01 16:53:16 -0500
commit37d0fdd0cd4f6012c4a0c1f536a726fed9d4994e (patch)
tree96a7067d4e7fd21a1b26766f43f8bb122f00d7d3 /src/game/ObjectMgr.cpp
parentd292b85d3849cf45028ee98220311af9b0ccafa0 (diff)
[svn] Check creature combat reach when loading db. This should fix the bug that finding random contact point causes crash.
--HG-- branch : trunk
Diffstat (limited to 'src/game/ObjectMgr.cpp')
-rw-r--r--src/game/ObjectMgr.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/game/ObjectMgr.cpp b/src/game/ObjectMgr.cpp
index 8a49d4dac0c..7513e8e3fa9 100644
--- a/src/game/ObjectMgr.cpp
+++ b/src/game/ObjectMgr.cpp
@@ -958,6 +958,20 @@ void ObjectMgr::LoadCreatureModelInfo()
sLog.outString( ">> Loaded %u creature model based info", sCreatureModelStorage.RecordCount );
sLog.outString();
+
+ // check if combat_reach is valid
+ for(uint32 i = 1; i < sCreatureModelStorage.MaxEntry; ++i)
+ {
+ CreatureModelInfo const* mInfo = sCreatureModelStorage.LookupEntry<CreatureModelInfo>(i);
+ if(!mInfo)
+ continue;
+
+ if(mInfo->combat_reach < 0.5f)
+ {
+ sLog.outErrorDb("Creature model (Entry: %u) has invalid combat reach (%f), setting it to 0.5", mInfo->modelid, mInfo->combat_reach);
+ const_cast<CreatureModelInfo*>(mInfo)->combat_reach = 0.5f;
+ }
+ }
}
void ObjectMgr::LoadCreatures()