Core/PacketIO: Use Vector3 instead of Position since orientation isn't included (MissileTrajectoryCollision and UpdateMissileTrajectory)

This commit is contained in:
Carbenium
2016-02-03 17:14:15 +01:00
parent ca967f4374
commit ff9ac9f9b0
4 changed files with 17 additions and 9 deletions

View File

@@ -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)

View File

@@ -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);
}

View File

@@ -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();

View File

@@ -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;
};
}