diff options
Diffstat (limited to 'src/server/game/Maps/Map.cpp')
-rw-r--r-- | src/server/game/Maps/Map.cpp | 23 |
1 files changed, 12 insertions, 11 deletions
diff --git a/src/server/game/Maps/Map.cpp b/src/server/game/Maps/Map.cpp index 9335539bc6e..5f476d296b3 100644 --- a/src/server/game/Maps/Map.cpp +++ b/src/server/game/Maps/Map.cpp @@ -3894,13 +3894,13 @@ void Map::SendZoneDynamicInfo(Player* player) player->SendDirectMessage(weather.Write()); } - if (uint32 overrideLight = itr->second.OverrideLightId) + if (uint32 overrideLightId = itr->second.OverrideLightId) { - WorldPacket data(SMSG_OVERRIDE_LIGHT, 4 + 4 + 1); - data << uint32(_defaultLight); - data << uint32(overrideLight); - data << uint32(itr->second.LightFadeInTime); - player->SendDirectMessage(&data); + WorldPackets::Misc::OverrideLight overrideLight; + overrideLight.AreaLightID = _defaultLight; + overrideLight.OverrideLightID = overrideLightId; + overrideLight.TransitionMilliseconds = itr->second.LightFadeInTime; + player->SendDirectMessage(overrideLight.Write()); } } @@ -3954,15 +3954,16 @@ void Map::SetZoneOverrideLight(uint32 zoneId, uint32 lightId, uint32 fadeInTime) if (!players.isEmpty()) { - WorldPacket data(SMSG_OVERRIDE_LIGHT, 4 + 4 + 1); - data << uint32(_defaultLight); - data << uint32(lightId); - data << uint32(fadeInTime); + WorldPackets::Misc::OverrideLight overrideLight; + overrideLight.AreaLightID = _defaultLight; + overrideLight.OverrideLightID = lightId; + overrideLight.TransitionMilliseconds = fadeInTime; + overrideLight.Write(); for (Map::PlayerList::const_iterator itr = players.begin(); itr != players.end(); ++itr) if (Player* player = itr->GetSource()) if (player->GetZoneId() == zoneId) - player->SendDirectMessage(&data); + player->SendDirectMessage(overrideLight.GetRawPacket()); } } |