aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOvahlord <dreadkiller@gmx.de>2025-02-09 21:11:37 +0100
committerOvahlord <dreadkiller@gmx.de>2025-02-09 21:11:37 +0100
commit0edb752fea003902044865a445b5a1458369b8d3 (patch)
tree20f5075876ed6f49202953c277bf1cc9ffc2a715
parentf7be217c941140609c412bc67d2f54854fd1d615 (diff)
Core/Packets: updated SpellModifierData struct for 4.4.1
-rw-r--r--src/server/game/Entities/Player/Player.cpp10
-rw-r--r--src/server/game/Server/Packets/SpellPackets.cpp2
-rw-r--r--src/server/game/Server/Packets/SpellPackets.h2
3 files changed, 7 insertions, 7 deletions
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp
index 1bd13aa748b..eb7d5054ab9 100644
--- a/src/server/game/Entities/Player/Player.cpp
+++ b/src/server/game/Entities/Player/Player.cpp
@@ -21245,7 +21245,7 @@ void Player::AddSpellMod(SpellModifier* mod, bool apply)
WorldPackets::Spells::SpellModifierData& modData = spellModifier.ModifierData.emplace_back();
if (mod->type == SPELLMOD_FLAT)
{
- modData.ModifierValue = 0;
+ modData.ModifierValue = 0.0f;
auto itr = std::ranges::lower_bound(m_spellMods, std::make_pair(mod->op, SPELLMOD_FLAT), std::ranges::less(), [](SpellModifier const* sm) { return std::make_pair(sm->op, sm->type); });
while (itr != m_spellMods.end() && (*itr)->op == mod->op && (*itr)->type == SPELLMOD_FLAT)
{
@@ -21256,7 +21256,7 @@ void Player::AddSpellMod(SpellModifier* mod, bool apply)
}
else
{
- modData.ModifierValue = 0;
+ modData.ModifierValue = 0.0f;
auto itr = std::ranges::lower_bound(m_spellMods, std::make_pair(mod->op, SPELLMOD_PCT), std::ranges::less(), [](SpellModifier const* sm) { return std::make_pair(sm->op, sm->type); });
while (itr != m_spellMods.end() && (*itr)->op == mod->op && (*itr)->type == SPELLMOD_PCT)
{
@@ -21331,7 +21331,7 @@ void Player::SetSpellModTakingSpell(Spell* spell, bool apply)
void Player::SendSpellModifiers() const
{
- auto getOrCreateModifierData = [](std::vector<WorldPackets::Spells::SpellModifierData>& datas, uint8 classIndex, int32 defaultValue) -> int32&
+ auto getOrCreateModifierData = [](std::vector<WorldPackets::Spells::SpellModifierData>& datas, uint8 classIndex, float defaultValue) -> float&
{
auto itr = std::ranges::find(datas, classIndex, &WorldPackets::Spells::SpellModifierData::ClassIndex);
if (itr != datas.end())
@@ -21368,7 +21368,7 @@ void Player::SendSpellModifiers() const
boost::from_block_range(&static_cast<SpellModifierByClassMask const*>(mod)->mask[0], &static_cast<SpellModifierByClassMask const*>(mod)->mask[0] + 4, mask);
for (std::size_t classIndex = mask.find_first(); classIndex != decltype(mask)::npos; classIndex = mask.find_next(classIndex))
{
- int32& modifierValue = getOrCreateModifierData(flatModifier->ModifierData, classIndex, 0);
+ float& modifierValue = getOrCreateModifierData(flatModifier->ModifierData, classIndex, 0.f);
modifierValue += static_cast<SpellModifierByClassMask const*>(mod)->value;
}
break;
@@ -21381,7 +21381,7 @@ void Player::SendSpellModifiers() const
boost::from_block_range(&static_cast<SpellModifierByClassMask const*>(mod)->mask[0], &static_cast<SpellModifierByClassMask const*>(mod)->mask[0] + 4, mask);
for (std::size_t classIndex = mask.find_first(); classIndex != decltype(mask)::npos; classIndex = mask.find_next(classIndex))
{
- int32& modifierValue = getOrCreateModifierData(pctModifier->ModifierData, classIndex, 0);
+ float& modifierValue = getOrCreateModifierData(pctModifier->ModifierData, classIndex, 0.f);
modifierValue += static_cast<SpellModifierByClassMask const*>(mod)->value;
}
break;
diff --git a/src/server/game/Server/Packets/SpellPackets.cpp b/src/server/game/Server/Packets/SpellPackets.cpp
index 3f142ed0671..7d388aa20da 100644
--- a/src/server/game/Server/Packets/SpellPackets.cpp
+++ b/src/server/game/Server/Packets/SpellPackets.cpp
@@ -531,7 +531,7 @@ WorldPacket const* PetCastFailed::Write()
ByteBuffer& operator<<(ByteBuffer& data, SpellModifierData const& spellModifierData)
{
- data << int32(spellModifierData.ModifierValue);
+ data << float(spellModifierData.ModifierValue);
data << uint8(spellModifierData.ClassIndex);
return data;
diff --git a/src/server/game/Server/Packets/SpellPackets.h b/src/server/game/Server/Packets/SpellPackets.h
index cd8523c34df..f537bdc14a8 100644
--- a/src/server/game/Server/Packets/SpellPackets.h
+++ b/src/server/game/Server/Packets/SpellPackets.h
@@ -468,7 +468,7 @@ namespace WorldPackets
struct SpellModifierData
{
- int32 ModifierValue = 0;
+ float ModifierValue = 0.f;
uint8 ClassIndex = 0;
};