diff options
Diffstat (limited to 'src/server/game/Weather/Weather.cpp')
-rw-r--r-- | src/server/game/Weather/Weather.cpp | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/src/server/game/Weather/Weather.cpp b/src/server/game/Weather/Weather.cpp index 9ad77761123..ecceb0b102f 100644 --- a/src/server/game/Weather/Weather.cpp +++ b/src/server/game/Weather/Weather.cpp @@ -30,6 +30,7 @@ #include "ScriptMgr.h" #include "Opcodes.h" #include "WorldSession.h" +#include "MiscPackets.h" /// Create the Weather object Weather::Weather(uint32 zone, WeatherData const* weatherChances) @@ -194,9 +195,8 @@ bool Weather::ReGenerate() void Weather::SendWeatherUpdateToPlayer(Player* player) { - WorldPacket data(SMSG_WEATHER, (4+4+4)); - data << uint32(GetWeatherState()) << (float)m_grade << uint8(0); - player->GetSession()->SendPacket(&data); + WorldPackets::Misc::Weather weather(GetWeatherState(), m_grade); + player->GetSession()->SendPacket(weather.Write()); } /// Send the new weather to all players in the zone @@ -210,13 +210,10 @@ bool Weather::UpdateWeather() WeatherState state = GetWeatherState(); - WorldPacket data(SMSG_WEATHER, (4+4+4)); - 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 |