From 5e8534767c66ca492bab929d91f2d86d18dd9aba Mon Sep 17 00:00:00 2001 From: Aqua Deus <95978183+aquadeus@users.noreply.github.com> Date: Wed, 8 Jun 2022 20:40:35 +0200 Subject: Core/PacketIO: Implement CMSG_CANCEL_MOD_SPEED_NO_CONTROL_AURAS (#27975) Co-authored-by: Shauren --- src/server/game/Server/Packets/SpellPackets.cpp | 17 +++++++++++------ src/server/game/Server/Packets/SpellPackets.h | 10 ++++++++++ src/server/game/Server/Protocol/Opcodes.cpp | 2 +- src/server/game/Server/WorldSession.h | 2 ++ 4 files changed, 24 insertions(+), 7 deletions(-) (limited to 'src/server/game/Server') diff --git a/src/server/game/Server/Packets/SpellPackets.cpp b/src/server/game/Server/Packets/SpellPackets.cpp index 1a839ccdb1b..ebf38bba3ad 100644 --- a/src/server/game/Server/Packets/SpellPackets.cpp +++ b/src/server/game/Server/Packets/SpellPackets.cpp @@ -25,18 +25,23 @@ void WorldPackets::Spells::CancelAura::Read() _worldPacket >> CasterGUID; } -void WorldPackets::Spells::PetCancelAura::Read() -{ - _worldPacket >> PetGUID; - _worldPacket >> SpellID; -} - void WorldPackets::Spells::CancelChannelling::Read() { _worldPacket >> ChannelSpell; _worldPacket >> Reason; } +void WorldPackets::Spells::CancelModSpeedNoControlAuras::Read() +{ + _worldPacket >> TargetGUID; +} + +void WorldPackets::Spells::PetCancelAura::Read() +{ + _worldPacket >> PetGUID; + _worldPacket >> SpellID; +} + WorldPacket const* WorldPackets::Spells::CategoryCooldown::Write() { _worldPacket.reserve(4 + 8 * CategoryCooldowns.size()); diff --git a/src/server/game/Server/Packets/SpellPackets.h b/src/server/game/Server/Packets/SpellPackets.h index 41ba0489bba..86db415928d 100644 --- a/src/server/game/Server/Packets/SpellPackets.h +++ b/src/server/game/Server/Packets/SpellPackets.h @@ -82,6 +82,16 @@ namespace WorldPackets void Read() override { } }; + class CancelModSpeedNoControlAuras final : public ClientPacket + { + public: + CancelModSpeedNoControlAuras(WorldPacket&& packet) : ClientPacket(CMSG_CANCEL_MOD_SPEED_NO_CONTROL_AURAS, std::move(packet)) { } + + void Read() override; + + ObjectGuid TargetGUID; + }; + class PetCancelAura final : public ClientPacket { public: diff --git a/src/server/game/Server/Protocol/Opcodes.cpp b/src/server/game/Server/Protocol/Opcodes.cpp index b48dbda21be..2765803348a 100644 --- a/src/server/game/Server/Protocol/Opcodes.cpp +++ b/src/server/game/Server/Protocol/Opcodes.cpp @@ -257,7 +257,7 @@ void OpcodeTable::Initialize() DEFINE_HANDLER(CMSG_CANCEL_CHANNELLING, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleCancelChanneling); DEFINE_HANDLER(CMSG_CANCEL_GROWTH_AURA, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleCancelGrowthAuraOpcode); DEFINE_HANDLER(CMSG_CANCEL_MASTER_LOOT_ROLL, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL); - DEFINE_HANDLER(CMSG_CANCEL_MOD_SPEED_NO_CONTROL_AURAS, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL); + DEFINE_HANDLER(CMSG_CANCEL_MOD_SPEED_NO_CONTROL_AURAS, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleCancelModSpeedNoControlAuras); DEFINE_HANDLER(CMSG_CANCEL_MOUNT_AURA, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleCancelMountAuraOpcode); DEFINE_HANDLER(CMSG_CANCEL_QUEUED_SPELL, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_CANCEL_TEMP_ENCHANTMENT, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleCancelTempEnchantmentOpcode); diff --git a/src/server/game/Server/WorldSession.h b/src/server/game/Server/WorldSession.h index 886be10727b..b440ec68c42 100644 --- a/src/server/game/Server/WorldSession.h +++ b/src/server/game/Server/WorldSession.h @@ -708,6 +708,7 @@ namespace WorldPackets class CancelChannelling; class CancelGrowthAura; class CancelMountAura; + class CancelModSpeedNoControlAuras; class PetCancelAura; class RequestCategoryCooldowns; class CancelCast; @@ -1503,6 +1504,7 @@ class TC_GAME_API WorldSession void HandleCancelAuraOpcode(WorldPackets::Spells::CancelAura& cancelAura); void HandleCancelGrowthAuraOpcode(WorldPackets::Spells::CancelGrowthAura& cancelGrowthAura); void HandleCancelMountAuraOpcode(WorldPackets::Spells::CancelMountAura& cancelMountAura); + void HandleCancelModSpeedNoControlAuras(WorldPackets::Spells::CancelModSpeedNoControlAuras& cancelModSpeedNoControlAuras); void HandleCancelAutoRepeatSpellOpcode(WorldPackets::Spells::CancelAutoRepeatSpell& cancelAutoRepeatSpell); void HandleMissileTrajectoryCollision(WorldPackets::Spells::MissileTrajectoryCollision& packet); void HandleUpdateMissileTrajectory(WorldPackets::Spells::UpdateMissileTrajectory& packet); -- cgit v1.2.3