diff options
author | funjoker <funjoker109@gmail.com> | 2025-05-13 12:20:20 +0200 |
---|---|---|
committer | funjoker <funjoker109@gmail.com> | 2025-05-13 12:20:20 +0200 |
commit | 58485e6d7a7b831578e29c6a236e4dde4a3b9807 (patch) | |
tree | a564202b568dcb927eef29d90e6df899d8b53d8a /src | |
parent | 3b5a47ac3d2e84c1f14bf219dd6d0f4d2fffd07e (diff) |
Core/GameTables: Drop unneeded gametables for dmg and health and port 335 data
Health has been updated to leaked datas from gametables
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/DataStores/GameTables.cpp | 10 | ||||
-rw-r--r-- | src/server/game/DataStores/GameTables.h | 32 | ||||
-rw-r--r-- | src/server/game/Globals/ObjectMgr.cpp | 23 | ||||
-rw-r--r-- | src/server/game/Miscellaneous/SharedDefines.h | 2 | ||||
-rw-r--r-- | src/tools/map_extractor/System.cpp | 17 |
5 files changed, 25 insertions, 59 deletions
diff --git a/src/server/game/DataStores/GameTables.cpp b/src/server/game/DataStores/GameTables.cpp index 3c7e1a71f63..e47033e3655 100644 --- a/src/server/game/DataStores/GameTables.cpp +++ b/src/server/game/DataStores/GameTables.cpp @@ -31,8 +31,6 @@ GameTable<GtChanceToSpellCritEntry> sChanceToSpellCritGameTable; GameTable<GtChanceToSpellCritBaseEntry> sChanceToSpellCritBaseGameTable; GameTable<GtCombatRatingsEntry> sCombatRatingsGameTable; GameTable<GtNpcManaCostScalerEntry> sNpcManaCostScalerGameTable; -GameTable<GtNpcDamageByClassEntry> sNpcDamageByClassGameTable[MAX_CLASSIC_EXPANSIONS]; -GameTable<GtNpcTotalHpEntry> sNpcTotalHpGameTable[MAX_CLASSIC_EXPANSIONS]; GameTable<GtOctBaseHpByClassEntry> sOctBaseHpByClassGameTable; GameTable<GtOctBaseMpByClassEntry> sOctBaseMpByClassGameTable; GameTable<GtOctClassCombatRatingScalarEntry> sOctClassCombatRatingScalarGameTable; @@ -129,14 +127,6 @@ void LoadGameTables(std::string const& dataPath) LOAD_GT(sChanceToSpellCritBaseGameTable, "ChanceToSpellCritBase.txt"); LOAD_GT(sCombatRatingsGameTable, "CombatRatings.txt"); LOAD_GT(sNpcManaCostScalerGameTable, "NPCManaCostScaler.txt"); - LOAD_GT(sNpcDamageByClassGameTable[0], "NpcDamageByClass.txt"); - LOAD_GT(sNpcDamageByClassGameTable[1], "NpcDamageByClassExp1.txt"); - LOAD_GT(sNpcDamageByClassGameTable[2], "NpcDamageByClassExp2.txt"); - LOAD_GT(sNpcDamageByClassGameTable[3], "NpcDamageByClassExp3.txt"); - LOAD_GT(sNpcTotalHpGameTable[0], "NpcTotalHp.txt"); - LOAD_GT(sNpcTotalHpGameTable[1], "NpcTotalHpExp1.txt"); - LOAD_GT(sNpcTotalHpGameTable[2], "NpcTotalHpExp2.txt"); - LOAD_GT(sNpcTotalHpGameTable[3], "NpcTotalHpExp3.txt"); LOAD_GT(sOctBaseHpByClassGameTable, "OCTBaseHPByClass.txt"); LOAD_GT(sOctBaseMpByClassGameTable, "OCTBaseMPByClass.txt"); LOAD_GT(sOctClassCombatRatingScalarGameTable, "OCTClassCombatRatingScalar.txt"); diff --git a/src/server/game/DataStores/GameTables.h b/src/server/game/DataStores/GameTables.h index 38a870dd318..02292e50876 100644 --- a/src/server/game/DataStores/GameTables.h +++ b/src/server/game/DataStores/GameTables.h @@ -130,36 +130,6 @@ struct GtNpcManaCostScalerEntry float Scaler = 0.0f; }; -struct GtNpcTotalHpEntry -{ - float Warrior = 0.0f; - float Paladin = 0.0f; - float Hunter = 0.0f; - float Rogue = 0.0f; - float Priest = 0.0f; - float DeathKnight = 0.0f; - float Shaman = 0.0f; - float Mage = 0.0f; - float Warlock = 0.0f; - float Monk = 0.0f; - float Druid = 0.0f; -}; - -struct GtNpcDamageByClassEntry -{ - float Warrior = 0.0f; - float Paladin = 0.0f; - float Hunter = 0.0f; - float Rogue = 0.0f; - float Priest = 0.0f; - float DeathKnight = 0.0f; - float Shaman = 0.0f; - float Mage = 0.0f; - float Warlock = 0.0f; - float Monk = 0.0f; - float Druid = 0.0f; -}; - struct GtOctBaseHpByClassEntry { float Warrior = 0.0f; @@ -331,8 +301,6 @@ TC_GAME_API extern GameTable<GtChanceToSpellCritEntry> sChanceToSpe TC_GAME_API extern GameTable<GtChanceToSpellCritBaseEntry> sChanceToSpellCritBaseGameTable; TC_GAME_API extern GameTable<GtCombatRatingsEntry> sCombatRatingsGameTable; TC_GAME_API extern GameTable<GtNpcManaCostScalerEntry> sNpcManaCostScalerGameTable; -TC_GAME_API extern GameTable<GtNpcDamageByClassEntry> sNpcDamageByClassGameTable[MAX_CLASSIC_EXPANSIONS]; -TC_GAME_API extern GameTable<GtNpcTotalHpEntry> sNpcTotalHpGameTable[MAX_CLASSIC_EXPANSIONS]; TC_GAME_API extern GameTable<GtOctBaseHpByClassEntry> sOctBaseHpByClassGameTable; TC_GAME_API extern GameTable<GtOctBaseMpByClassEntry> sOctBaseMpByClassGameTable; TC_GAME_API extern GameTable<GtOctClassCombatRatingScalarEntry> sOctClassCombatRatingScalarGameTable; diff --git a/src/server/game/Globals/ObjectMgr.cpp b/src/server/game/Globals/ObjectMgr.cpp index 0e0535f0aab..b1db5850e65 100644 --- a/src/server/game/Globals/ObjectMgr.cpp +++ b/src/server/game/Globals/ObjectMgr.cpp @@ -9867,8 +9867,8 @@ CreatureBaseStats const* ObjectMgr::GetCreatureBaseStats(uint8 level, uint8 unit void ObjectMgr::LoadCreatureClassLevelStats() { uint32 oldMSTime = getMSTime(); - // 0 1 2 3 4 5 - QueryResult result = WorldDatabase.Query("SELECT level, class, basemana, basearmor, attackpower, rangedattackpower FROM creature_classlevelstats"); + // 0 1 2 3 4 5 6 7 8 9 10 11 + QueryResult result = WorldDatabase.Query("SELECT level, class, basehp0, basehp1, basehp2, basemana, basearmor, attackpower, rangedattackpower, damage_base, damage_exp1, damage_exp2 FROM creature_classlevelstats"); if (!result) { @@ -9891,8 +9891,15 @@ void ObjectMgr::LoadCreatureClassLevelStats() for (uint8 i = 0; i < MAX_CLASSIC_EXPANSIONS; ++i) { - stats.BaseHealth[i] = GetGameTableColumnForClass(sNpcTotalHpGameTable[i].GetRow(Level), Class); - stats.BaseDamage[i] = GetGameTableColumnForClass(sNpcDamageByClassGameTable[i].GetRow(Level), Class); + stats.BaseHealth[i] = fields[2 + i].GetUInt32(); + + if (stats.BaseHealth[i] == 0) + { + TC_LOG_ERROR("sql.sql", "Creature base stats for class {}, level {} has invalid zero base HP[{}] - set to 1", Class, Level, i); + stats.BaseHealth[i] = 1; + } + + stats.BaseDamage[i] = fields[9 + i].GetFloat(); if (stats.BaseDamage[i] < 0.0f) { TC_LOG_ERROR("sql.sql", "Creature base stats for class {}, level {} has invalid negative base damage[{}] - set to 0.0", Class, Level, i); @@ -9900,11 +9907,11 @@ void ObjectMgr::LoadCreatureClassLevelStats() } } - stats.BaseMana = fields[2].GetUInt32(); - stats.BaseArmor = fields[3].GetUInt32(); + stats.BaseMana = fields[5].GetUInt32(); + stats.BaseArmor = fields[6].GetUInt32(); - stats.AttackPower = fields[4].GetUInt16(); - stats.RangedAttackPower = fields[5].GetUInt16(); + stats.AttackPower = fields[7].GetUInt16(); + stats.RangedAttackPower = fields[8].GetUInt16(); _creatureBaseStatsStore[MAKE_PAIR16(Level, Class)] = stats; diff --git a/src/server/game/Miscellaneous/SharedDefines.h b/src/server/game/Miscellaneous/SharedDefines.h index 26eeb1320ef..44336e0aae5 100644 --- a/src/server/game/Miscellaneous/SharedDefines.h +++ b/src/server/game/Miscellaneous/SharedDefines.h @@ -90,9 +90,9 @@ enum Expansions EXPANSION_CLASSIC = 0, EXPANSION_THE_BURNING_CRUSADE = 1, EXPANSION_WRATH_OF_THE_LICH_KING = 2, - EXPANSION_CATACLYSM = 3, MAX_CLASSIC_EXPANSIONS, + EXPANSION_CATACLYSM = 3, EXPANSION_MISTS_OF_PANDARIA = 4, EXPANSION_WARLORDS_OF_DRAENOR = 5, EXPANSION_LEGION = 6, diff --git a/src/tools/map_extractor/System.cpp b/src/tools/map_extractor/System.cpp index 27ec0ddd40d..04f916dc43b 100644 --- a/src/tools/map_extractor/System.cpp +++ b/src/tools/map_extractor/System.cpp @@ -1342,14 +1342,15 @@ void ExtractGameTables() { 3999264, "ChanceToSpellCritBase.txt" }, { 1391669, "CombatRatings.txt" }, { 1391651, "NPCManaCostScaler.txt" }, - { 1391644, "NpcDamageByClass.txt" }, - { 1391645, "NpcDamageByClassExp1.txt" }, - { 1391646, "NpcDamageByClassExp2.txt" }, - { 1391647, "NpcDamageByClassExp3.txt" }, - { 1391652, "NpcTotalHp.txt" }, - { 1391653, "NpcTotalHpExp1.txt" }, - { 1391654, "NpcTotalHpExp2.txt" }, - { 1391655, "NpcTotalHpExp3.txt" }, + // These are not complete and missing data + // { 1391644, "NpcDamageByClass.txt" }, + // { 1391645, "NpcDamageByClassExp1.txt" }, + // { 1391646, "NpcDamageByClassExp2.txt" }, + // { 1391647, "NpcDamageByClassExp3.txt" }, + // { 1391652, "NpcTotalHp.txt" }, + // { 1391653, "NpcTotalHpExp1.txt" }, + // { 1391654, "NpcTotalHpExp2.txt" }, + // { 1391655, "NpcTotalHpExp3.txt" }, { 5464960, "OCTBaseHPByClass.txt" }, { 4049853, "OCTBaseMPByClass.txt" }, { 4526467, "OCTClassCombatRatingScalar.txt" }, |