diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index e89fa205ac660..34471ab8fb6c9 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -22332,14 +22332,14 @@ void Player::AddSpellMod(SpellModifier* mod, bool apply) if (mod->type == SPELLMOD_FLAT) { modData.ModifierValue = 0.0f; - for (SpellModifier* spellMod : std::ranges::equal_range(m_spellMods, std::make_pair(mod->op, SPELLMOD_FLAT), std::ranges::less(), [](SpellModifier const* sm) { return std::make_pair(sm->op, sm->type); })) + for (SpellModifier* spellMod : std::ranges::equal_range(std::ranges::begin(m_spellMods), std::ranges::end(m_spellMods), std::make_pair(mod->op, SPELLMOD_FLAT), std::ranges::less(), [](SpellModifier const* sm) { return std::make_pair(sm->op, sm->type); })) if (static_cast(spellMod)->mask[classIndex / 32] & (1u << (classIndex % 32))) modData.ModifierValue += static_cast(spellMod)->value; } else { modData.ModifierValue = 1.0f; - for (SpellModifier* spellMod : std::ranges::equal_range(m_spellMods, std::make_pair(mod->op, SPELLMOD_PCT), std::ranges::less(), [](SpellModifier const* sm) { return std::make_pair(sm->op, sm->type); })) + for (SpellModifier* spellMod : std::ranges::equal_range(std::ranges::begin(m_spellMods), std::ranges::end(m_spellMods), std::make_pair(mod->op, SPELLMOD_PCT), std::ranges::less(), [](SpellModifier const* sm) { return std::make_pair(sm->op, sm->type); })) if (static_cast(spellMod)->mask[classIndex / 32] & (1u << (classIndex % 32))) modData.ModifierValue *= 1.0f + CalculatePct(1.0f, static_cast(spellMod)->value); }