diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Server/Packets/MiscPackets.cpp | 1 | ||||
-rw-r--r-- | src/server/game/Server/Packets/MiscPackets.h | 3 | ||||
-rw-r--r-- | src/server/game/Server/Packets/SpellPackets.cpp | 19 | ||||
-rw-r--r-- | src/server/game/Server/Packets/SpellPackets.h | 12 | ||||
-rw-r--r-- | src/server/game/Spells/Spell.cpp | 1 |
5 files changed, 13 insertions, 23 deletions
diff --git a/src/server/game/Server/Packets/MiscPackets.cpp b/src/server/game/Server/Packets/MiscPackets.cpp index 45d86576ed3..2240f4ae250 100644 --- a/src/server/game/Server/Packets/MiscPackets.cpp +++ b/src/server/game/Server/Packets/MiscPackets.cpp @@ -396,6 +396,7 @@ WorldPacket const* WorldPackets::Misc::LevelUpInfo::Write() _worldPacket << stat; _worldPacket << int32(NumNewTalents); + _worldPacket << int32(NumNewPvpTalentSlots); return &_worldPacket; } diff --git a/src/server/game/Server/Packets/MiscPackets.h b/src/server/game/Server/Packets/MiscPackets.h index f2294949ea4..1b5561ea4d8 100644 --- a/src/server/game/Server/Packets/MiscPackets.h +++ b/src/server/game/Server/Packets/MiscPackets.h @@ -499,7 +499,7 @@ namespace WorldPackets class LevelUpInfo final : public ServerPacket { public: - LevelUpInfo() : ServerPacket(SMSG_LEVEL_UP_INFO, 60) { } + LevelUpInfo() : ServerPacket(SMSG_LEVEL_UP_INFO, 76) { } WorldPacket const* Write() override; @@ -508,6 +508,7 @@ namespace WorldPackets std::array<int32, MAX_POWERS_PER_CLASS> PowerDelta = { }; std::array<int32, MAX_STATS> StatDelta = { }; int32 NumNewTalents = 0; + int32 NumNewPvpTalentSlots = 0; }; class PlayMusic final : public ServerPacket diff --git a/src/server/game/Server/Packets/SpellPackets.cpp b/src/server/game/Server/Packets/SpellPackets.cpp index 83ff89ef569..75ce810982d 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,17 +383,17 @@ 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(); data << spellCastData.Target; @@ -410,9 +404,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; @@ -425,6 +416,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 f344eb53899..4d874db30cf 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 = 0; + 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 21fba7b9e86..66f710eda7c 100644 --- a/src/server/game/Spells/Spell.cpp +++ b/src/server/game/Spells/Spell.cpp @@ -4874,7 +4874,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; } |