From 86d21d26e7c92a8d5731441d4ca15739e37f13d5 Mon Sep 17 00:00:00 2001 From: funjoker Date: Tue, 13 May 2025 23:54:26 +0200 Subject: Core/Stats: Reimplement HP from stamina --- src/server/game/DataStores/GameTables.cpp | 2 -- src/server/game/DataStores/GameTables.h | 6 ------ src/server/game/Entities/Unit/StatSystem.cpp | 7 +------ src/tools/map_extractor/System.cpp | 2 +- 4 files changed, 2 insertions(+), 15 deletions(-) diff --git a/src/server/game/DataStores/GameTables.cpp b/src/server/game/DataStores/GameTables.cpp index 429bf0c1644..78983acde44 100644 --- a/src/server/game/DataStores/GameTables.cpp +++ b/src/server/game/DataStores/GameTables.cpp @@ -33,7 +33,6 @@ GameTable sCombatRatingsGameTable; GameTable sNpcManaCostScalerGameTable; GameTable sOctBaseMpByClassGameTable; GameTable sOctClassCombatRatingScalarGameTable; -GameTable sOctHpPerStaminaGameTable; GameTable sOctRegenHpGameTable; GameTable sOctRegenMpGameTable; GameTable sRegenHpPerSptTable; @@ -128,7 +127,6 @@ void LoadGameTables(std::string const& dataPath) LOAD_GT(sNpcManaCostScalerGameTable, "NPCManaCostScaler.txt"); LOAD_GT(sOctBaseMpByClassGameTable, "OCTBaseMPByClass.txt"); LOAD_GT(sOctClassCombatRatingScalarGameTable, "OCTClassCombatRatingScalar.txt"); - LOAD_GT(sOctHpPerStaminaGameTable, "OCTHPPerStamina.txt"); LOAD_GT(sOctRegenHpGameTable, "OCTRegenHP.txt"); LOAD_GT(sOctRegenMpGameTable, "OCTRegenMP.txt"); LOAD_GT(sRegenHpPerSptTable, "RegenHPPerSpt.txt"); diff --git a/src/server/game/DataStores/GameTables.h b/src/server/game/DataStores/GameTables.h index 43466237d81..53afc31ab0f 100644 --- a/src/server/game/DataStores/GameTables.h +++ b/src/server/game/DataStores/GameTables.h @@ -160,11 +160,6 @@ struct GtOctClassCombatRatingScalarEntry float Druid = 0.0f; }; -struct GtOctHpPerStaminaEntry -{ - float Scalar = 0.0f; -}; - struct GtOctRegenHpEntry { float Warrior = 0.0f; @@ -293,7 +288,6 @@ TC_GAME_API extern GameTable sCombatRatin TC_GAME_API extern GameTable sNpcManaCostScalerGameTable; TC_GAME_API extern GameTable sOctBaseMpByClassGameTable; TC_GAME_API extern GameTable sOctClassCombatRatingScalarGameTable; -TC_GAME_API extern GameTable sOctHpPerStaminaGameTable; TC_GAME_API extern GameTable sOctRegenHpGameTable; TC_GAME_API extern GameTable sOctRegenMpGameTable; TC_GAME_API extern GameTable sRegenHpPerSptTable; diff --git a/src/server/game/Entities/Unit/StatSystem.cpp b/src/server/game/Entities/Unit/StatSystem.cpp index bfcb4149d90..aa6b8832177 100644 --- a/src/server/game/Entities/Unit/StatSystem.cpp +++ b/src/server/game/Entities/Unit/StatSystem.cpp @@ -372,16 +372,11 @@ void Player::UpdateArmor() float Player::GetHealthBonusFromStamina() const { - // Taken from PaperDollFrame.lua - 4.3.4.15595 - float ratio = 10.0f; - if (GtOctHpPerStaminaEntry const* hpBase = sOctHpPerStaminaGameTable.GetRow(GetLevel())) - ratio = hpBase->Scalar; - float stamina = GetStat(STAT_STAMINA); float baseStam = std::min(20.0f, stamina); float moreStam = stamina - baseStam; - return baseStam + moreStam * ratio; + return baseStam + (moreStam * 10.0f); } float Player::GetManaBonusFromIntellect() const diff --git a/src/tools/map_extractor/System.cpp b/src/tools/map_extractor/System.cpp index aaf69832af7..6ca1b856508 100644 --- a/src/tools/map_extractor/System.cpp +++ b/src/tools/map_extractor/System.cpp @@ -1354,7 +1354,7 @@ void ExtractGameTables() // { 5464960, "OCTBaseHPByClass.txt" }, { 4049853, "OCTBaseMPByClass.txt" }, { 4526467, "OCTClassCombatRatingScalar.txt" }, - { 5464961, "OCTHPPerStamina.txt" }, + //{ 5464961, "OCTHPPerStamina.txt" }, { 3953485, "OCTRegenHP.txt" }, { 2238239, "OCTRegenMP.txt" }, { 3953486, "RegenHPPerSpt.txt" }, -- cgit v1.2.3