diff options
author | Shauren <shauren.trinity@gmail.com> | 2021-06-04 21:47:43 +0200 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2021-06-04 21:47:43 +0200 |
commit | 8aaf750be1ee16a299016cf038bd84bd9b387544 (patch) | |
tree | 593d1044e318ec5d904ffcad4caee8a2a5a2f8d4 /src/server/game/Maps/Map.cpp | |
parent | 9542d221cb359f6dfd67aa1432877e19b942b619 (diff) |
Core/Conditions: Implemented missing PlayerCondition columns - time and weather
Diffstat (limited to 'src/server/game/Maps/Map.cpp')
-rw-r--r-- | src/server/game/Maps/Map.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/server/game/Maps/Map.cpp b/src/server/game/Maps/Map.cpp index 671292fe479..2fda273c57f 100644 --- a/src/server/game/Maps/Map.cpp +++ b/src/server/game/Maps/Map.cpp @@ -4847,6 +4847,21 @@ Weather* Map::GetOrGenerateZoneDefaultWeather(uint32 zoneId) return info.DefaultWeather.get(); } +WeatherState Map::GetZoneWeather(uint32 zoneId) const +{ + ZoneDynamicInfo const* zoneDynamicInfo = Trinity::Containers::MapGetValuePtr(_zoneDynamicInfo, zoneId); + if (zoneDynamicInfo) + { + if (WeatherState weatherId = zoneDynamicInfo->WeatherId) + return weatherId; + + if (zoneDynamicInfo->DefaultWeather) + return zoneDynamicInfo->DefaultWeather->GetWeatherState(); + } + + return WEATHER_STATE_FINE; +} + void Map::SetZoneWeather(uint32 zoneId, WeatherState weatherId, float weatherGrade) { ZoneDynamicInfo& info = _zoneDynamicInfo[zoneId]; |