aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Server/Packets
diff options
context:
space:
mode:
authorWarpten <vertozor@gmail.com>2016-06-03 09:27:27 +0200
committerWarpten <vertozor@gmail.com>2016-06-03 09:27:27 +0200
commit12f029d442ecc2c89c4e4c37120db786f74b2e4f (patch)
tree6d6bdc5842b21bebc65eb9bf807d451ac66a79cc /src/server/game/Server/Packets
parentc631656fb8c751e65cce6b880bee8f213e07ac98 (diff)
Core/PacketIO: Implemented new Cast HighGuid type and fix some mistakes with SMSG_MOVE_UPDATE_APPLY_MOVEMENT_FORCE
Core/Updatefields: Health is now stored as an unsigned long int.
Diffstat (limited to 'src/server/game/Server/Packets')
-rw-r--r--src/server/game/Server/Packets/CombatPackets.h2
-rw-r--r--src/server/game/Server/Packets/MovementPackets.cpp13
-rw-r--r--src/server/game/Server/Packets/SpellPackets.cpp11
-rw-r--r--src/server/game/Server/Packets/SpellPackets.h25
4 files changed, 32 insertions, 19 deletions
diff --git a/src/server/game/Server/Packets/CombatPackets.h b/src/server/game/Server/Packets/CombatPackets.h
index 5554ac9b0b5..4a8eddc2562 100644
--- a/src/server/game/Server/Packets/CombatPackets.h
+++ b/src/server/game/Server/Packets/CombatPackets.h
@@ -186,7 +186,7 @@ namespace WorldPackets
WorldPacket const* Write() override;
ObjectGuid Guid;
- int32 Health = 0;
+ int64 Health = 0;
};
class ThreatClear final : public ServerPacket
diff --git a/src/server/game/Server/Packets/MovementPackets.cpp b/src/server/game/Server/Packets/MovementPackets.cpp
index 8795042bf86..209aab0af00 100644
--- a/src/server/game/Server/Packets/MovementPackets.cpp
+++ b/src/server/game/Server/Packets/MovementPackets.cpp
@@ -516,6 +516,10 @@ WorldPacket const* WorldPackets::Movement::NewWorld::Write()
_worldPacket << MapID;
_worldPacket << Pos.PositionXYZOStream();
_worldPacket << Reason;
+ // New in 7.x - Does something movement-related (velocities ???)
+ _worldPacket << float(0.0f);
+ _worldPacket << float(0.0f);
+ _worldPacket << float(0.0f);
return &_worldPacket;
}
@@ -692,7 +696,14 @@ WorldPacket const* WorldPackets::Movement::MoveUpdateRemoveMovementForce::Write(
WorldPacket const* WorldPackets::Movement::MoveUpdateApplyMovementForce::Write()
{
_worldPacket << *movementInfo;
- _worldPacket << Force;
+ _worldPacket << Force.ID;
+ _worldPacket << Force.Origin;
+ _worldPacket << Force.Direction;
+ _worldPacket << Force.TransportPosition;
+ _worldPacket << Force.TransportID;
+ _worldPacket << Force.Magnitude;
+ _worldPacket.WriteBits(Force.Type, 2);
+ _worldPacket.FlushBits();
return &_worldPacket;
}
diff --git a/src/server/game/Server/Packets/SpellPackets.cpp b/src/server/game/Server/Packets/SpellPackets.cpp
index 53800dbb726..72a38fa42b5 100644
--- a/src/server/game/Server/Packets/SpellPackets.cpp
+++ b/src/server/game/Server/Packets/SpellPackets.cpp
@@ -354,7 +354,7 @@ ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Spells::SpellCastData con
{
data << spellCastData.CasterGUID;
data << spellCastData.CasterUnit;
- data << uint8(spellCastData.CastID);
+ data << spellCastData.CastID;
data << int32(spellCastData.SpellID);
data << uint32(spellCastData.SpellXSpellVisualID);
data << uint32(spellCastData.CastFlags);
@@ -431,7 +431,7 @@ WorldPacket const* WorldPackets::Spells::LearnedSpells::Write()
WorldPacket const* WorldPackets::Spells::SpellFailure::Write()
{
_worldPacket << CasterUnit;
- _worldPacket << uint8(CastID);
+ _worldPacket << CastID;
_worldPacket << int32(SpellID);
_worldPacket << uint32(SpelXSpellVisualID);
_worldPacket << uint16(Reason);
@@ -442,7 +442,7 @@ WorldPacket const* WorldPackets::Spells::SpellFailure::Write()
WorldPacket const* WorldPackets::Spells::SpellFailedOther::Write()
{
_worldPacket << CasterUnit;
- _worldPacket << uint8(CastID);
+ _worldPacket << CastID;
_worldPacket << uint32(SpellID);
_worldPacket << uint8(Reason);
@@ -451,11 +451,12 @@ WorldPacket const* WorldPackets::Spells::SpellFailedOther::Write()
WorldPacket const* WorldPackets::Spells::CastFailed::Write()
{
+ _worldPacket << CastID;
_worldPacket << int32(SpellID);
+ _worldPacket << int32(SpellXSpellVisualID);
_worldPacket << int32(Reason);
_worldPacket << int32(FailedArg1);
_worldPacket << int32(FailedArg2);
- _worldPacket << uint8(CastID);
return &_worldPacket;
}
@@ -800,7 +801,7 @@ void WorldPackets::Spells::MissileTrajectoryCollision::Read()
WorldPacket const* WorldPackets::Spells::NotifyMissileTrajectoryCollision::Write()
{
_worldPacket << Caster;
- _worldPacket << uint8(CastID);
+ _worldPacket << CastID;
_worldPacket << CollisionPos;
return &_worldPacket;
diff --git a/src/server/game/Server/Packets/SpellPackets.h b/src/server/game/Server/Packets/SpellPackets.h
index 0680405eeb2..45e586353fe 100644
--- a/src/server/game/Server/Packets/SpellPackets.h
+++ b/src/server/game/Server/Packets/SpellPackets.h
@@ -246,7 +246,7 @@ namespace WorldPackets
struct SpellCastRequest
{
- uint8 CastID = 0;
+ ObjectGuid CastID;
int32 SpellID = 0;
uint32 SpellXSpellVisualID = 0;
uint8 SendCastFlags = 0;
@@ -340,7 +340,7 @@ namespace WorldPackets
{
ObjectGuid CasterGUID;
ObjectGuid CasterUnit;
- uint8 CastID = 0;
+ ObjectGuid CastID;
int32 SpellID = 0;
uint32 SpellXSpellVisualID = 0;
uint32 CastFlags = 0;
@@ -403,7 +403,7 @@ namespace WorldPackets
uint32 SpellID = 0;
uint32 SpelXSpellVisualID = 0;
uint16 Reason = 0;
- uint8 CastID = 0;
+ ObjectGuid CastID;
};
class SpellFailedOther final : public ServerPacket
@@ -416,7 +416,7 @@ namespace WorldPackets
ObjectGuid CasterUnit;
uint32 SpellID = 0;
uint8 Reason = 0;
- uint8 CastID = 0;
+ ObjectGuid CastID;
};
class TC_GAME_API CastFailed final : public ServerPacket
@@ -426,11 +426,12 @@ namespace WorldPackets
WorldPacket const* Write() override;
- int32 Reason = 0;
- int32 FailedArg1 = -1;
- int32 FailedArg2 = -1;
- int32 SpellID = 0;
- uint8 CastID = 0;
+ ObjectGuid CastID;
+ int32 Reason = 0;
+ int32 SpellXSpellVisualID = 0;
+ int32 FailedArg1 = -1;
+ int32 FailedArg2 = -1;
+ int32 SpellID = 0;
};
struct SpellModifierData
@@ -659,7 +660,7 @@ namespace WorldPackets
void Read() override;
uint32 SpellID = 0;
- uint8 CastID = 0;
+ ObjectGuid CastID;
};
class OpenItem final : public ClientPacket
@@ -818,7 +819,7 @@ namespace WorldPackets
ObjectGuid Target;
int32 SpellID = 0;
- uint8 CastID = 0;
+ ObjectGuid CastID;
G3D::Vector3 CollisionPos;
};
@@ -830,7 +831,7 @@ namespace WorldPackets
WorldPacket const* Write() override;
ObjectGuid Caster;
- uint8 CastID = 0;
+ ObjectGuid CastID;
G3D::Vector3 CollisionPos;
};