aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Maps/Map.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/game/Maps/Map.h')
-rw-r--r--src/server/game/Maps/Map.h22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/server/game/Maps/Map.h b/src/server/game/Maps/Map.h
index 3d376d16c3d..4daeebe43d1 100644
--- a/src/server/game/Maps/Map.h
+++ b/src/server/game/Maps/Map.h
@@ -229,6 +229,18 @@ enum LevelRequirementVsMode
LEVELREQUIREMENT_HEROIC = 70
};
+struct ZoneDynamicInfo
+{
+ ZoneDynamicInfo() : MusicId(0), WeatherId(0), WeatherGrade(0.0f),
+ OverrideLightId(0), LightFadeInTime(0) { }
+
+ uint32 MusicId;
+ uint32 WeatherId;
+ float WeatherGrade;
+ uint32 OverrideLightId;
+ uint32 LightFadeInTime;
+};
+
#if defined(__GNUC__)
#pragma pack()
#else
@@ -243,6 +255,8 @@ enum LevelRequirementVsMode
typedef std::map<uint32/*leaderDBGUID*/, CreatureGroup*> CreatureGroupHolderType;
+typedef UNORDERED_MAP<uint32 /*zoneId*/, ZoneDynamicInfo> ZoneDynamicInfoMap;
+
class Map : public GridRefManager<NGridType>
{
friend class MapReference;
@@ -490,6 +504,11 @@ class Map : public GridRefManager<NGridType>
void SendInitTransports(Player* player);
void SendRemoveTransports(Player* player);
+ void SendZoneDynamicInfo(Player* player);
+
+ void SetZoneMusic(uint32 zoneId, uint32 musicId);
+ void SetZoneWeather(uint32 zoneId, uint32 weatherId, float weatherGrade);
+ void SetZoneOverrideLight(uint32 zoneId, uint32 lightId, uint32 fadeInTime);
private:
void LoadMapAndVMap(int gx, int gy);
@@ -634,6 +653,9 @@ class Map : public GridRefManager<NGridType>
UNORDERED_MAP<uint32 /*dbGUID*/, time_t> _creatureRespawnTimes;
UNORDERED_MAP<uint32 /*dbGUID*/, time_t> _goRespawnTimes;
+
+ ZoneDynamicInfoMap _zoneDynamicInfo;
+ uint32 _defaultLight;
};
enum InstanceResetMethod