diff options
author | Shauren <shauren.trinity@gmail.com> | 2012-12-10 11:50:17 +0100 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2012-12-10 11:50:17 +0100 |
commit | bd51d033f66d8dc5c0ee60dc256ff36e6a448b06 (patch) | |
tree | 4afdee80deb4d50a6bb3d5f30043c945dcec36ae | |
parent | b28d1ec5319335b9582aa5263e279d9768122d5a (diff) |
Core/StatSystem: Fixed possible crash when calculating health bonus from stamina
Closes #8595
Closes #8620
-rw-r--r-- | src/server/game/Entities/Unit/StatSystem.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/server/game/Entities/Unit/StatSystem.cpp b/src/server/game/Entities/Unit/StatSystem.cpp index eac2b531805..ebb8d69382e 100644 --- a/src/server/game/Entities/Unit/StatSystem.cpp +++ b/src/server/game/Entities/Unit/StatSystem.cpp @@ -215,13 +215,15 @@ void Player::UpdateArmor() float Player::GetHealthBonusFromStamina() { // Taken from PaperDollFrame.lua - 4.3.4.15595 - gtOCTHpPerStaminaEntry const* hpBase = sGtOCTHpPerStaminaStore.LookupEntry((getClass() - 1) * GT_MAX_LEVEL + getLevel() - 1); + float ratio = 10.0f; + if (gtOCTHpPerStaminaEntry const* hpBase = sGtOCTHpPerStaminaStore.LookupEntry((getClass() - 1) * GT_MAX_LEVEL + getLevel() - 1)) + ratio = hpBase->ratio; float stamina = GetStat(STAT_STAMINA); float baseStam = std::min(20.0f, stamina); float moreStam = stamina - baseStam; - return baseStam + moreStam * hpBase->ratio; + return baseStam + moreStam * ratio; } float Player::GetManaBonusFromIntellect() |