aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Server/Packets/MiscPackets.cpp1
-rw-r--r--src/server/game/Server/Packets/MiscPackets.h3
-rw-r--r--src/server/game/Server/Packets/SpellPackets.cpp19
-rw-r--r--src/server/game/Server/Packets/SpellPackets.h12
-rw-r--r--src/server/game/Spells/Spell.cpp1
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;
}