diff options
author | Ovahlord <dreadkiller@gmx.de> | 2023-11-18 21:14:33 +0100 |
---|---|---|
committer | Ovahlord <dreadkiller@gmx.de> | 2023-11-18 21:14:33 +0100 |
commit | 3fbdbe7b9502821e82e4a018ef782d92c4297c00 (patch) | |
tree | e11d533d232458274983ba850adfe17d2cfa2255 | |
parent | cf0ba9f4351053d2d1c82ea769a1a2c1d3c0cb50 (diff) |
Core/Players: corrected MP5 rule implementation for players
-rw-r--r-- | src/server/game/Entities/Player/Player.cpp | 13 |
1 files 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] = { |