diff options
author | DDuarte <dnpd.dd@gmail.com> | 2014-11-10 05:14:35 +0000 |
---|---|---|
committer | DDuarte <dnpd.dd@gmail.com> | 2014-11-10 05:14:35 +0000 |
commit | ab6cde7fde3cff21c61ecc1e4c4ad05c0dbee3c4 (patch) | |
tree | 73e048f368eaa499b6aceef61e2de19b5946b912 | |
parent | 4552e6a67249f3c6791723ad1ef6d4921abb2d17 (diff) |
Core/Packets: CMSG_VIOLENCE_LEVEL handler
-rw-r--r-- | src/server/game/Handlers/MiscHandler.cpp | 6 | ||||
-rw-r--r-- | src/server/game/Server/Packets/MiscPackets.cpp | 23 | ||||
-rw-r--r-- | src/server/game/Server/Packets/MiscPackets.h | 39 | ||||
-rw-r--r-- | src/server/game/Server/Protocol/Opcodes.cpp | 3 | ||||
-rw-r--r-- | src/server/game/Server/WorldSession.h | 7 |
5 files changed, 72 insertions, 6 deletions
diff --git a/src/server/game/Handlers/MiscHandler.cpp b/src/server/game/Handlers/MiscHandler.cpp index de72e024e5e..6a5a1267154 100644 --- a/src/server/game/Handlers/MiscHandler.cpp +++ b/src/server/game/Handlers/MiscHandler.cpp @@ -57,6 +57,7 @@ #include "BattlefieldMgr.h" #include "DB2Stores.h" #include "CharacterPackets.h" +#include "MiscPackets.h" void WorldSession::HandleRepopRequestOpcode(WorldPacket& recvData) { @@ -2005,11 +2006,8 @@ void WorldSession::HandleUpdateMissileTrajectory(WorldPacket& recvPacket) } } -void WorldSession::HandleViolenceLevel(WorldPacket& recvPacket) +void WorldSession::HandleViolenceLevel(WorldPackets::Misc::ViolenceLevel& /*violenceLevel*/) { - uint8 violenceLevel; - recvPacket >> violenceLevel; - // do something? } diff --git a/src/server/game/Server/Packets/MiscPackets.cpp b/src/server/game/Server/Packets/MiscPackets.cpp new file mode 100644 index 00000000000..625cd08e71f --- /dev/null +++ b/src/server/game/Server/Packets/MiscPackets.cpp @@ -0,0 +1,23 @@ +/* + * Copyright (C) 2008-2014 TrinityCore <http://www.trinitycore.org/> + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation; either version 2 of the License, or (at your + * option) any later version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along + * with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +#include "MiscPackets.h" + +void WorldPackets::Misc::ViolenceLevel::Read() +{ + _worldPacket >> ViolenceLevel; +} diff --git a/src/server/game/Server/Packets/MiscPackets.h b/src/server/game/Server/Packets/MiscPackets.h new file mode 100644 index 00000000000..74408652c5e --- /dev/null +++ b/src/server/game/Server/Packets/MiscPackets.h @@ -0,0 +1,39 @@ +/* +* Copyright (C) 2008-2014 TrinityCore <http://www.trinitycore.org/> +* +* This program is free software; you can redistribute it and/or modify it +* under the terms of the GNU General Public License as published by the +* Free Software Foundation; either version 2 of the License, or (at your +* option) any later version. +* +* This program is distributed in the hope that it will be useful, but WITHOUT +* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for +* more details. +* +* You should have received a copy of the GNU General Public License along +* with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +#ifndef MiscPackets_h__ +#define MiscPackets_h__ + +#include "Packet.h" + +namespace WorldPackets +{ + namespace Misc + { + class ViolenceLevel final : public ClientPacket + { + public: + ViolenceLevel(WorldPacket&& packet) : ClientPacket(CMSG_VIOLENCE_LEVEL, std::move(packet) { } + + void Read() override; + + int8 ViolenceLevel; + }; + } +} + +#endif // MiscPackets_h__ diff --git a/src/server/game/Server/Protocol/Opcodes.cpp b/src/server/game/Server/Protocol/Opcodes.cpp index 3177177bf3d..21bec7db0ab 100644 --- a/src/server/game/Server/Protocol/Opcodes.cpp +++ b/src/server/game/Server/Protocol/Opcodes.cpp @@ -21,6 +21,7 @@ #include "Packets/CharacterPackets.h" #include "Packets/GuildPackets.h" #include "Packets/TradePackets.h" +#include "Packets/MiscPackets.h" template<class PacketClass, void(WorldSession::*HandlerFunction)(PacketClass&)> class PacketHandler : public OpcodeHandler @@ -614,7 +615,7 @@ void OpcodeTable::Initialize() DEFINE_OPCODE_HANDLER_OLD(CMSG_UPDATE_PROJECTILE_POSITION, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleUpdateProjectilePosition ); DEFINE_OPCODE_HANDLER_OLD(CMSG_USED_FOLLOW, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL ); DEFINE_OPCODE_HANDLER_OLD(CMSG_USE_ITEM, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleUseItemOpcode ); - DEFINE_OPCODE_HANDLER_OLD(CMSG_VIOLENCE_LEVEL, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::HandleViolenceLevel ); + DEFINE_HANDLER(CMSG_VIOLENCE_LEVEL, STATUS_AUTHED, PROCESS_INPLACE, WorldPackets::&WorldSession::HandleViolenceLevel); DEFINE_OPCODE_HANDLER_OLD(CMSG_VOICE_SESSION_ENABLE, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::HandleVoiceSessionEnableOpcode ); DEFINE_OPCODE_HANDLER_OLD(CMSG_VOID_STORAGE_QUERY, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::HandleVoidStorageQuery ); DEFINE_OPCODE_HANDLER_OLD(CMSG_VOID_STORAGE_TRANSFER, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::HandleVoidStorageTransfer ); diff --git a/src/server/game/Server/WorldSession.h b/src/server/game/Server/WorldSession.h index d672ff29db1..dc2c5005e75 100644 --- a/src/server/game/Server/WorldSession.h +++ b/src/server/game/Server/WorldSession.h @@ -100,6 +100,11 @@ namespace WorldPackets { class CancelTrade; } + + namespace Misc + { + class ViolenceLevel; + } } enum AccountDataType @@ -1017,7 +1022,7 @@ class WorldSession void HandleUpdateProjectilePosition(WorldPacket& recvPacket); void HandleRequestHotfix(WorldPacket& recvPacket); void HandleUpdateMissileTrajectory(WorldPacket& recvPacket); - void HandleViolenceLevel(WorldPacket& recvPacket); + void HandleViolenceLevel(WorldPackets::Misc::ViolenceLevel& violenceLevel); void HandleObjectUpdateFailedOpcode(WorldPacket& recvPacket); void HandleRequestCategoryCooldowns(WorldPacket& recvPacket); int32 HandleEnableNagleAlgorithm(); |