diff options
| author | Shauren <shauren.trinity@gmail.com> | 2017-09-14 22:33:40 +0200 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2019-07-09 21:17:59 +0200 |
| commit | 6eecb685ce0f3d3bf4cb7cd387b83ccf384b0c48 (patch) | |
| tree | 1371c51fa67715c8afce5e05110750be534e9ebe /src/server/game/Entities/Player | |
| parent | 9a9af3cc5f7433a4de653b2cf28f3d8c757db8f9 (diff) | |
Core/Weather: Fixed weather updates to be thread safe
(cherry picked from commit 6eb997394722fcd4b5248646b5abfa185a7ec58f)
Diffstat (limited to 'src/server/game/Entities/Player')
| -rw-r--r-- | src/server/game/Entities/Player/Player.cpp | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index 242318372bc..f50918a2b44 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -7056,13 +7056,10 @@ void Player::UpdateZone(uint32 newZone, uint32 newArea) return; if (sWorld->getBoolConfig(CONFIG_WEATHER)) - { - if (Weather* weather = WeatherMgr::FindWeather(zone->ID)) - weather->SendWeatherUpdateToPlayer(this); - else if (!WeatherMgr::AddWeather(zone->ID)) - // send fine weather packet to remove old zone's weather - WeatherMgr::SendFineWeatherUpdateToPlayer(this); - } + GetMap()->GetOrGenerateZoneDefaultWeather(newZone); + + GetMap()->SendZoneDynamicInfo(newZone, this); + // in PvP, any not controlled zone (except zone->team == 6, default case) // in PvE, only opposition team capital |
