diff options
Diffstat (limited to 'src/server/game/Weather/Weather.cpp')
-rw-r--r-- | src/server/game/Weather/Weather.cpp | 15 |
1 files changed, 5 insertions, 10 deletions
diff --git a/src/server/game/Weather/Weather.cpp b/src/server/game/Weather/Weather.cpp index dc4223eb084..ffdbf6eeab8 100644 --- a/src/server/game/Weather/Weather.cpp +++ b/src/server/game/Weather/Weather.cpp @@ -23,6 +23,7 @@ #include "Weather.h" #include "GameTime.h" #include "Log.h" +#include "MiscPackets.h" #include "Player.h" #include "Random.h" #include "ScriptMgr.h" @@ -194,11 +195,8 @@ bool Weather::ReGenerate() void Weather::SendWeatherUpdateToPlayer(Player* player) { - WorldPacket data(SMSG_WEATHER, (4 + 4 + 1)); - data << uint32(GetWeatherState()); - data << (float)m_grade; - data << uint8(0); - player->SendDirectMessage(&data); + WorldPackets::Misc::Weather weather(GetWeatherState(), m_grade); + player->SendDirectMessage(weather.Write()); } /// Send the new weather to all players in the zone @@ -212,13 +210,10 @@ bool Weather::UpdateWeather() WeatherState state = GetWeatherState(); - WorldPacket data(SMSG_WEATHER, (4 + 4 + 1)); - data << uint32(state); - data << (float)m_grade; - data << uint8(0); + WorldPackets::Misc::Weather weather(state, m_grade); //- Returns false if there were no players found to update - if (!sWorld->SendZoneMessage(m_zone, &data)) + if (!sWorld->SendZoneMessage(m_zone, weather.Write())) return false; ///- Log the event |