aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Handlers/MiscHandler.cpp6
-rw-r--r--src/server/game/Server/Packets/MiscPackets.cpp23
-rw-r--r--src/server/game/Server/Packets/MiscPackets.h39
-rw-r--r--src/server/game/Server/Protocol/Opcodes.cpp3
-rw-r--r--src/server/game/Server/WorldSession.h7
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();