From aff4d53d7effcb709bb62dffca97d5b44c392b85 Mon Sep 17 00:00:00 2001 From: KimLS Date: Sun, 24 Feb 2013 22:08:10 -0800 Subject: [PATCH] Fix for sdrawkcab index in skill_caps --- common/shareddb.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/common/shareddb.cpp b/common/shareddb.cpp index 6820b6d02..fe3c01eb1 100644 --- a/common/shareddb.cpp +++ b/common/shareddb.cpp @@ -1450,6 +1450,7 @@ void SharedDatabase::LoadSkillCaps(void *data) { uint32 class_count = PLAYER_CLASS_COUNT; uint32 skill_count = HIGHEST_SKILL + 1; uint32 level_count = HARD_LEVEL_CAP + 1; + uint16 *skill_caps_table = reinterpret_cast(data); char errbuf[MYSQL_ERRMSG_SIZE]; char *query = 0; @@ -1468,8 +1469,7 @@ void SharedDatabase::LoadSkillCaps(void *data) { if(skillID >= skill_count || class_ >= class_count || level >= level_count) continue; - uint32 index = (((class_ * class_count) + skillID) * level_count) + level; - uint16 *skill_caps_table = reinterpret_cast(data); + uint32 index = (((class_ * skill_count) + skillID) * level_count) + level; skill_caps_table[index] = cap; } mysql_free_result(result); @@ -1503,7 +1503,7 @@ uint16 SharedDatabase::GetSkillCap(uint8 Class_, SkillType Skill, uint8 Level) { Level = static_cast(SkillMaxLevel); } - uint32 index = ((((Class_ - 1) * class_count) + Skill) * level_count) + Level; + uint32 index = ((((Class_ - 1) * skill_count) + Skill) * level_count) + Level; uint16 *skill_caps_table = reinterpret_cast(skill_caps_mmf->Get()); return skill_caps_table[index]; }