fix(Core/Player): Apply SPELL_AURA_MOD_HEALTH_REGEN_PERCENT to in combat health regen (#15961)

This commit is contained in:
Tereneckla
2023-04-21 10:49:08 +00:00
committed by GitHub
parent 7eafd35190
commit d5c89657a1
+5 -2
View File
@@ -1985,12 +1985,15 @@ void Player::RegenerateHealth()
else if (!IsInCombat() || HasAuraType(SPELL_AURA_MOD_REGEN_DURING_COMBAT)) else if (!IsInCombat() || HasAuraType(SPELL_AURA_MOD_REGEN_DURING_COMBAT))
{ {
addvalue = OCTRegenHPPerSpirit() * HealthIncreaseRate; addvalue = OCTRegenHPPerSpirit() * HealthIncreaseRate;
if (!IsInCombat())
{
AuraEffectList const& mModHealthRegenPct = GetAuraEffectsByType(SPELL_AURA_MOD_HEALTH_REGEN_PERCENT); AuraEffectList const& mModHealthRegenPct = GetAuraEffectsByType(SPELL_AURA_MOD_HEALTH_REGEN_PERCENT);
for (AuraEffectList::const_iterator i = mModHealthRegenPct.begin(); i != mModHealthRegenPct.end(); ++i) for (AuraEffectList::const_iterator i = mModHealthRegenPct.begin(); i != mModHealthRegenPct.end(); ++i)
{
AddPct(addvalue, (*i)->GetAmount()); AddPct(addvalue, (*i)->GetAmount());
}
if (!IsInCombat())
{
addvalue += GetTotalAuraModifier(SPELL_AURA_MOD_REGEN) * 2 * IN_MILLISECONDS / (5 * IN_MILLISECONDS); addvalue += GetTotalAuraModifier(SPELL_AURA_MOD_REGEN) * 2 * IN_MILLISECONDS / (5 * IN_MILLISECONDS);
} }
else if (HasAuraType(SPELL_AURA_MOD_REGEN_DURING_COMBAT)) else if (HasAuraType(SPELL_AURA_MOD_REGEN_DURING_COMBAT))