diff options
author | Ovahlord <dreadkiller@gmx.de> | 2023-11-27 10:22:19 +0100 |
---|---|---|
committer | Ovahlord <dreadkiller@gmx.de> | 2023-11-27 10:22:19 +0100 |
commit | cb5f57a8b39c3c6250b487990a414b55f2a44eab (patch) | |
tree | b0ce7ed51db8b78ed855f715ec90b861c5e6e62b /src | |
parent | 50a4f6ec36a176cef5cd956b04bddddd6079e737 (diff) |
Core/Packets: corrected data sent in SMSG_SET_PCT_SPELL_MODIFIER
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Entities/Player/Player.cpp | 19 |
1 files changed, 4 insertions, 15 deletions
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index 591c8468399..3d5ba089e49 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -21471,21 +21471,10 @@ void Player::AddSpellMod(SpellModifier* mod, bool apply) if (static_cast<SpellModifierByClassMask const*>(mod)->mask & mask) { WorldPackets::Spells::SpellModifierData modData; - - if (mod->type == SPELLMOD_FLAT) - { - modData.ModifierValue = 0.0f; - for (SpellModifier* spellMod : m_spellMods[AsUnderlyingType(mod->op)][SPELLMOD_FLAT]) - if (static_cast<SpellModifierByClassMask const*>(spellMod)->mask & mask) - modData.ModifierValue += static_cast<SpellModifierByClassMask const*>(spellMod)->value; - } - else - { - modData.ModifierValue = 1.0f; - for (SpellModifier* spellMod : m_spellMods[AsUnderlyingType(mod->op)][SPELLMOD_PCT]) - if (static_cast<SpellModifierByClassMask const*>(spellMod)->mask & mask) - modData.ModifierValue *= 1.0f + CalculatePct(1.0f, static_cast<SpellModifierByClassMask const*>(spellMod)->value); - } + modData.ModifierValue = 0.0f; + for (SpellModifier* spellMod : m_spellMods[AsUnderlyingType(mod->op)][AsUnderlyingType(mod->type)]) + if (static_cast<SpellModifierByClassMask const*>(spellMod)->mask & mask) + modData.ModifierValue += static_cast<SpellModifierByClassMask const*>(spellMod)->value; modData.ClassIndex = eff; |