diff options
| -rw-r--r-- | src/server/game/Server/Packets/CombatLogPacketsCommon.cpp | 4 | ||||
| -rw-r--r-- | src/server/game/Server/Packets/SpellPackets.cpp | 26 | ||||
| -rw-r--r-- | src/server/game/Server/Packets/SpellPackets.h | 12 | ||||
| -rw-r--r-- | src/server/game/Spells/Spell.cpp | 1 |
4 files changed, 16 insertions, 27 deletions
diff --git a/src/server/game/Server/Packets/CombatLogPacketsCommon.cpp b/src/server/game/Server/Packets/CombatLogPacketsCommon.cpp index f351c61f622..ea221bb43b3 100644 --- a/src/server/game/Server/Packets/CombatLogPacketsCommon.cpp +++ b/src/server/game/Server/Packets/CombatLogPacketsCommon.cpp @@ -187,7 +187,7 @@ ByteBuffer& operator<<(ByteBuffer& data, ContentTuningParams const& contentTunin ByteBuffer& operator>>(ByteBuffer& data, SpellCastVisual& visual) { data >> visual.SpellXSpellVisualID; - data >> visual.ScriptVisualID; + //data >> visual.ScriptVisualID; return data; } @@ -195,7 +195,7 @@ ByteBuffer& operator>>(ByteBuffer& data, SpellCastVisual& visual) ByteBuffer& operator<<(ByteBuffer& data, SpellCastVisual const& visual) { data << int32(visual.SpellXSpellVisualID); - data << int32(visual.ScriptVisualID); + //data << int32(visual.ScriptVisualID); return data; } diff --git a/src/server/game/Server/Packets/SpellPackets.cpp b/src/server/game/Server/Packets/SpellPackets.cpp index 83ff89ef569..1482b2df0df 100644 --- a/src/server/game/Server/Packets/SpellPackets.cpp +++ b/src/server/game/Server/Packets/SpellPackets.cpp @@ -331,12 +331,6 @@ ByteBuffer& operator<<(ByteBuffer& data, SpellMissStatus const& spellMissStatus) return data; } -ByteBuffer& operator<<(ByteBuffer& data, SpellHitStatus const& spellHitStatus) -{ - data << uint8(spellHitStatus.Reason); - return data; -} - ByteBuffer& operator<<(ByteBuffer& data, SpellPowerData const& spellPowerData) { data << int32(spellPowerData.Cost); @@ -389,19 +383,23 @@ ByteBuffer& operator<<(ByteBuffer& data, SpellCastData const& spellCastData) data << uint32(spellCastData.CastFlagsEx); data << uint32(spellCastData.CastTime); data << spellCastData.MissileTrajectory; - data << int32(spellCastData.AmmoDisplayID); data << uint8(spellCastData.DestLocSpellCastIndex); data << spellCastData.Immunities; data << spellCastData.Predict; + data.WriteBits(spellCastData.HitTargets.size(), 16); data.WriteBits(spellCastData.MissTargets.size(), 16); - data.WriteBits(spellCastData.HitStatus.size(), 16); data.WriteBits(spellCastData.MissStatus.size(), 16); data.WriteBits(spellCastData.RemainingPower.size(), 9); data.WriteBit(spellCastData.RemainingRunes.has_value()); data.WriteBits(spellCastData.TargetPoints.size(), 16); + data.WriteBit(spellCastData.AmmoDisplayID.has_value()); + data.WriteBit(spellCastData.AmmoInventoryType.has_value()); data.FlushBits(); + for (SpellMissStatus const& missStatus : spellCastData.MissStatus) + data << missStatus; + data << spellCastData.Target; for (ObjectGuid const& hitTarget : spellCastData.HitTargets) @@ -410,12 +408,6 @@ ByteBuffer& operator<<(ByteBuffer& data, SpellCastData const& spellCastData) for (ObjectGuid const& missTarget : spellCastData.MissTargets) data << missTarget; - for (SpellHitStatus const& hitStatus : spellCastData.HitStatus) - data << hitStatus; - - for (SpellMissStatus const& missStatus : spellCastData.MissStatus) - data << missStatus; - for (SpellPowerData const& power : spellCastData.RemainingPower) data << power; @@ -425,6 +417,12 @@ ByteBuffer& operator<<(ByteBuffer& data, SpellCastData const& spellCastData) for (TargetLocation const& targetLoc : spellCastData.TargetPoints) data << targetLoc; + if (spellCastData.AmmoDisplayID.has_value()) + data << int32(*spellCastData.AmmoDisplayID); + + if (spellCastData.AmmoInventoryType.has_value()) + data << int32(*spellCastData.AmmoInventoryType); + return data; } diff --git a/src/server/game/Server/Packets/SpellPackets.h b/src/server/game/Server/Packets/SpellPackets.h index 8b882666a91..84d00a08f36 100644 --- a/src/server/game/Server/Packets/SpellPackets.h +++ b/src/server/game/Server/Packets/SpellPackets.h @@ -300,14 +300,6 @@ namespace WorldPackets ObjectGuid ServerCastID; }; - struct SpellHitStatus - { - SpellHitStatus() { } - SpellHitStatus(uint8 reason) : Reason(reason) { } - - uint8 Reason = 0; - }; - struct SpellMissStatus { SpellMissStatus() { } @@ -362,13 +354,13 @@ namespace WorldPackets uint32 CastTime = 0; std::vector<ObjectGuid> HitTargets; std::vector<ObjectGuid> MissTargets; - std::vector<SpellHitStatus> HitStatus; std::vector<SpellMissStatus> MissStatus; SpellTargetData Target; std::vector<SpellPowerData> RemainingPower; Optional<RuneData> RemainingRunes; MissileTrajectoryResult MissileTrajectory; - int32 AmmoDisplayID; + Optional<int32> AmmoDisplayID; + Optional<int32> AmmoInventoryType; uint8 DestLocSpellCastIndex = 0; std::vector<TargetLocation> TargetPoints; CreatureImmunities Immunities; diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp index 0c36396b0a7..2524846f31e 100644 --- a/src/server/game/Spells/Spell.cpp +++ b/src/server/game/Spells/Spell.cpp @@ -4871,7 +4871,6 @@ void Spell::UpdateSpellCastDataTargets(WorldPackets::Spells::SpellCastData& data if (targetInfo.MissCondition == SPELL_MISS_NONE || (targetInfo.MissCondition == SPELL_MISS_BLOCK && !m_spellInfo->HasAttribute(SPELL_ATTR3_COMPLETELY_BLOCKED))) // Add only hits and partial blocked { data.HitTargets.push_back(targetInfo.TargetGUID); - data.HitStatus.emplace_back(SPELL_MISS_NONE); m_channelTargetEffectMask |= targetInfo.EffectMask; } |
