From 4edda934a88b978a0c7858d8d72cd4e4b2c67601 Mon Sep 17 00:00:00 2001 From: stfx Date: Thu, 26 Mar 2015 13:24:25 +0000 Subject: [PATCH] [Core] Clarify weather packet (c2649) Also clamp weather density for .wchange command instead of just return an error Thanks to @Laizerox for info and @cala for testing --- src/game/ChatCommands/Level3.cpp | 8 +++++--- src/game/Server/WorldSession.h | 3 +-- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/game/ChatCommands/Level3.cpp b/src/game/ChatCommands/Level3.cpp index 1c18a74f..1cfb87b4 100644 --- a/src/game/ChatCommands/Level3.cpp +++ b/src/game/ChatCommands/Level3.cpp @@ -4229,9 +4229,11 @@ bool ChatHandler::HandleChangeWeatherCommand(char* args) if (!ExtractFloat(&args, grade)) { return false; } - // 0 to 1, sending -1 is instand good weather - if (grade < 0.0f || grade > 1.0f) - { return false; } + // clamp grade from 0 to 1 + if (grade < 0.0f) + grade = 0.0f; + else if (grade > 1.0f) + grade = 1.0f; Player* player = m_session->GetPlayer(); uint32 zoneId = player->GetZoneId(); diff --git a/src/game/Server/WorldSession.h b/src/game/Server/WorldSession.h index bd8e4d04..3954105d 100644 --- a/src/game/Server/WorldSession.h +++ b/src/game/Server/WorldSession.h @@ -342,8 +342,7 @@ class WorldSession void SendPlaySpellVisual(ObjectGuid guid, uint32 spellArtKit); void SendItemPageInfo(ItemPrototype* itemProto); - public: // opcodes handlers - + // opcodes handlers void Handle_NULL(WorldPacket& recvPacket); // not used void Handle_EarlyProccess(WorldPacket& recvPacket); // just mark packets processed in WorldSocket::OnRead void Handle_ServerSide(WorldPacket& recvPacket); // sever side only, can't be accepted from client