diff options
-rw-r--r-- | src/server/game/Entities/Player/Player.cpp | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index c24ba16475e..180f43109f2 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -2692,10 +2692,6 @@ void Player::RegenerateHealth() return; float HealthIncreaseRate = sWorld->getRate(RATE_HEALTH); - - if (getLevel() < 15) - HealthIncreaseRate = sWorld->getRate(RATE_HEALTH) * (2.066f - (getLevel() * 0.066f)); - float addvalue = 0.0f; // polymorphed case @@ -2707,6 +2703,11 @@ void Player::RegenerateHealth() addvalue = HealthIncreaseRate; if (!isInCombat()) { + if (getLevel() < 15) + addvalue = (0.20f*((float)GetMaxHealth())/getLevel()*HealthIncreaseRate); + else + addvalue = 0.015f*((float)GetMaxHealth())*HealthIncreaseRate; + AuraEffectList const& mModHealthRegenPct = GetAuraEffectsByType(SPELL_AURA_MOD_HEALTH_REGEN_PERCENT); for (AuraEffectList::const_iterator i = mModHealthRegenPct.begin(); i != mModHealthRegenPct.end(); ++i) AddPctN(addvalue, (*i)->GetAmount()); |