diff options
author | Carbenium <carbenium@outlook.com> | 2016-02-03 01:25:01 +0100 |
---|---|---|
committer | Carbenium <carbenium@outlook.com> | 2016-02-03 01:25:25 +0100 |
commit | 305b99e06584e7d319c496aedd1dbbf25f30b81e (patch) | |
tree | 6edff828dfd14630767f6b2bdb091de704dc1d31 /src/server/game/Handlers/SpellHandler.cpp | |
parent | 6434fff067b538265d4b55cfef2f20192fdbcdae (diff) |
Core/PacketIO: Updated and enabled CMSG_MISSILE_TRAJECTORY_COLLISION
Diffstat (limited to 'src/server/game/Handlers/SpellHandler.cpp')
-rw-r--r-- | src/server/game/Handlers/SpellHandler.cpp | 30 |
1 files changed, 9 insertions, 21 deletions
diff --git a/src/server/game/Handlers/SpellHandler.cpp b/src/server/game/Handlers/SpellHandler.cpp index cbbb468938e..6599364a9c4 100644 --- a/src/server/game/Handlers/SpellHandler.cpp +++ b/src/server/game/Handlers/SpellHandler.cpp @@ -562,38 +562,26 @@ void WorldSession::HandleMirrorImageDataRequest(WorldPackets::Spells::GetMirrorI } } -void WorldSession::HandleUpdateProjectilePosition(WorldPacket& recvPacket) +void WorldSession::HandleMissileTrajectoryCollision(WorldPackets::Spells::MissileTrajectoryCollision& packet) { - ObjectGuid casterGuid; - uint32 spellId; - uint8 castCount; - float x, y, z; // Position of missile hit - - recvPacket >> casterGuid; - recvPacket >> spellId; - recvPacket >> castCount; - recvPacket >> x; - recvPacket >> y; - recvPacket >> z; - - Unit* caster = ObjectAccessor::GetUnit(*_player, casterGuid); + Unit* caster = ObjectAccessor::GetUnit(*_player, packet.Target); if (!caster) return; - Spell* spell = caster->FindCurrentSpellBySpellId(spellId); + Spell* spell = caster->FindCurrentSpellBySpellId(packet.SpellID); if (!spell || !spell->m_targets.HasDst()) return; Position pos = *spell->m_targets.GetDstPos(); - pos.Relocate(x, y, z); + pos.Relocate(packet.CollisionPos.x, packet.CollisionPos.y, packet.CollisionPos.z); spell->m_targets.ModDst(pos); WorldPacket data(SMSG_NOTIFY_MISSILE_TRAJECTORY_COLLISION, 21); - data << casterGuid; - data << uint8(castCount); - data << float(x); - data << float(y); - data << float(z); + data << packet.Target; + data << uint8(packet.CastID); + data << float(packet.CollisionPos.x); + data << float(packet.CollisionPos.y); + data << float(packet.CollisionPos.z); caster->SendMessageToSet(&data, true); } |