mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-16 07:30:42 +01:00
Core/PacketIO: Use Vector3 instead of Position since orientation isn't included (MissileTrajectoryCollision and UpdateMissileTrajectory)
This commit is contained in:
@@ -20,6 +20,8 @@
|
||||
|
||||
#include "Common.h"
|
||||
|
||||
#include <G3D/Vector3.h>
|
||||
|
||||
class ByteBuffer;
|
||||
|
||||
struct Position
|
||||
@@ -87,6 +89,11 @@ public:
|
||||
m_positionX = pos->m_positionX; m_positionY = pos->m_positionY; m_positionZ = pos->m_positionZ; SetOrientation(pos->m_orientation);
|
||||
}
|
||||
|
||||
void Relocate(G3D::Vector3 const& pos)
|
||||
{
|
||||
m_positionX = pos.x; m_positionY = pos.y; m_positionZ = pos.z;
|
||||
}
|
||||
|
||||
void RelocateOffset(Position const &offset);
|
||||
|
||||
void SetOrientation(float orientation)
|
||||
|
||||
@@ -579,9 +579,9 @@ void WorldSession::HandleMissileTrajectoryCollision(WorldPackets::Spells::Missil
|
||||
WorldPacket data(SMSG_NOTIFY_MISSILE_TRAJECTORY_COLLISION, 21);
|
||||
data << packet.Target;
|
||||
data << uint8(packet.CastID);
|
||||
data << float(packet.CollisionPos.m_positionX);
|
||||
data << float(packet.CollisionPos.m_positionY);
|
||||
data << float(packet.CollisionPos.m_positionZ);
|
||||
data << float(packet.CollisionPos.x);
|
||||
data << float(packet.CollisionPos.y);
|
||||
data << float(packet.CollisionPos.z);
|
||||
caster->SendMessageToSet(&data, true);
|
||||
}
|
||||
|
||||
|
||||
@@ -805,7 +805,7 @@ void WorldPackets::Spells::MissileTrajectoryCollision::Read()
|
||||
_worldPacket >> Target;
|
||||
_worldPacket >> SpellID;
|
||||
_worldPacket >> CastID;
|
||||
_worldPacket >> CollisionPos.PositionXYZStream();
|
||||
_worldPacket >> CollisionPos;
|
||||
}
|
||||
|
||||
void WorldPackets::Spells::UpdateMissileTrajectory::Read()
|
||||
@@ -815,8 +815,8 @@ void WorldPackets::Spells::UpdateMissileTrajectory::Read()
|
||||
_worldPacket >> SpellID;
|
||||
_worldPacket >> Pitch;
|
||||
_worldPacket >> Speed;
|
||||
_worldPacket >> FirePos.PositionXYZStream();
|
||||
_worldPacket >> ImpactPos.PositionXYZStream();
|
||||
_worldPacket >> FirePos;
|
||||
_worldPacket >> ImpactPos;
|
||||
bool hasStatus = _worldPacket.ReadBit();
|
||||
|
||||
_worldPacket.ResetBitPos();
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
#define SpellPackets_h__
|
||||
|
||||
#include "Packet.h"
|
||||
#include "PacketUtilities.h"
|
||||
#include "Player.h"
|
||||
#include "SpellAuras.h"
|
||||
#include "Spell.h"
|
||||
@@ -835,7 +836,7 @@ namespace WorldPackets
|
||||
ObjectGuid Target;
|
||||
int32 SpellID = 0;
|
||||
uint8 CastID = 0;
|
||||
Position CollisionPos;
|
||||
G3D::Vector3 CollisionPos;
|
||||
};
|
||||
|
||||
class UpdateMissileTrajectory final : public ClientPacket
|
||||
@@ -850,8 +851,8 @@ namespace WorldPackets
|
||||
int32 SpellID = 0;
|
||||
float Pitch = 0.0;
|
||||
float Speed = 0.0;
|
||||
Position FirePos;
|
||||
Position ImpactPos;
|
||||
G3D::Vector3 FirePos;
|
||||
G3D::Vector3 ImpactPos;
|
||||
Optional<MovementInfo> Status;
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user