aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2012-12-10 11:50:17 +0100
committerShauren <shauren.trinity@gmail.com>2012-12-10 11:50:17 +0100
commitbd51d033f66d8dc5c0ee60dc256ff36e6a448b06 (patch)
tree4afdee80deb4d50a6bb3d5f30043c945dcec36ae
parentb28d1ec5319335b9582aa5263e279d9768122d5a (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.cpp6
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()