From 3fbdbe7b9502821e82e4a018ef782d92c4297c00 Mon Sep 17 00:00:00 2001 From: Ovahlord Date: Sat, 18 Nov 2023 21:14:33 +0100 Subject: [PATCH] Core/Players: corrected MP5 rule implementation for players --- src/server/game/Entities/Player/Player.cpp | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index 8bbb5fceb4d..df97ec36c11 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -1763,15 +1763,14 @@ void Player::Regenerate(Powers power) return; float addvalue = 0.0f; - if (!IsInCombat()) - { - if (powerType->GetFlags().HasFlag(PowerTypeFlags::UseRegenInterrupt) && m_regenInterruptTimestamp + Milliseconds(powerType->RegenInterruptTimeMS) < GameTime::Now()) - return; - addvalue = (powerType->RegenPeace + m_unitData->PowerRegenFlatModifier[powerIndex]) * 0.001f * m_regenTimer; - } - else if (power != POWER_MANA || !IsPowerRegenInterruptedByMP5Rule()) + if (power == POWER_MANA && IsPowerRegenInterruptedByMP5Rule()) addvalue = (powerType->RegenCombat + m_unitData->PowerRegenInterruptedFlatModifier[powerIndex]) * 0.001f * m_regenTimer; + else + addvalue = (powerType->RegenPeace + m_unitData->PowerRegenFlatModifier[powerIndex]) * 0.001f * m_regenTimer; + + if (powerType->GetFlags().HasFlag(PowerTypeFlags::UseRegenInterrupt) && m_regenInterruptTimestamp + Milliseconds(powerType->RegenInterruptTimeMS) < GameTime::Now()) + return; static Rates const RatesForPower[MAX_POWERS] = {