diff options
Diffstat (limited to 'src/server/game/Instances/InstanceScript.h')
-rw-r--r-- | src/server/game/Instances/InstanceScript.h | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/server/game/Instances/InstanceScript.h b/src/server/game/Instances/InstanceScript.h index c382c8aad83..d9ceabb6189 100644 --- a/src/server/game/Instances/InstanceScript.h +++ b/src/server/game/Instances/InstanceScript.h @@ -38,6 +38,7 @@ class InstanceMap; class ModuleReference; class Player; class Unit; +struct InstanceSpawnGroupInfo; enum CriteriaTypes : uint8; enum CriteriaTimedTypes : uint8; enum EncounterCreditType : uint8; @@ -165,7 +166,10 @@ class TC_GAME_API InstanceScript : public ZoneScript // KEEPING THIS METHOD ONLY FOR BACKWARD COMPATIBILITY !!! virtual void Initialize() { } - // On load + // On instance load, exactly ONE of these methods will ALWAYS be called: + // if we're starting without any saved instance data + virtual void Create(); + // if we're loading existing instance save data virtual void Load(char const* data); // When save is needed, this function generates the data @@ -300,6 +304,8 @@ class TC_GAME_API InstanceScript : public ZoneScript virtual void UpdateDoorState(GameObject* door); void UpdateMinionState(Creature* minion, EncounterState state); + void UpdateSpawnGroups(); + // Exposes private data that should never be modified unless exceptional cases. // Pay very much attention at how the returned BossInfo data is modified to avoid issues. BossInfo* GetBossInfo(uint32 id); @@ -326,6 +332,7 @@ class TC_GAME_API InstanceScript : public ZoneScript ObjectInfoMap _gameObjectInfo; ObjectGuidMap _objectGuids; uint32 completedEncounters; // completed encounter mask, bit indexes are DungeonEncounter.dbc boss numbers, used for packets + std::vector<InstanceSpawnGroupInfo> const* const _instanceSpawnGroups; uint32 _entranceId; uint32 _temporaryEntranceId; uint32 _combatResurrectionTimer; |