aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Entities/Player
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2017-09-14 22:33:40 +0200
committerShauren <shauren.trinity@gmail.com>2019-07-09 21:17:59 +0200
commit6eecb685ce0f3d3bf4cb7cd387b83ccf384b0c48 (patch)
tree1371c51fa67715c8afce5e05110750be534e9ebe /src/server/game/Entities/Player
parent9a9af3cc5f7433a4de653b2cf28f3d8c757db8f9 (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.cpp11
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