diff options
| author | Ovalord <1Don7H4v3@m41L.com> | 2016-04-14 22:43:21 +0200 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2016-04-24 12:46:26 +0200 |
| commit | 948146f3ee890b85af50944176877c7d44c0c120 (patch) | |
| tree | e1d6c39d49d595de1420901db5e02319f78aa2ac /src/server/game/Instances/InstanceScript.h | |
| parent | bc106abb07dc0afc69c2a9238267081464c05254 (diff) | |
Core/Instances: Updated and enabled encounter packets and implemented combat resurrection limit
Closes #16966
Diffstat (limited to 'src/server/game/Instances/InstanceScript.h')
| -rw-r--r-- | src/server/game/Instances/InstanceScript.h | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/src/server/game/Instances/InstanceScript.h b/src/server/game/Instances/InstanceScript.h index 1611f3c290f..7a2daaaecf8 100644 --- a/src/server/game/Instances/InstanceScript.h +++ b/src/server/game/Instances/InstanceScript.h @@ -162,6 +162,7 @@ class TC_GAME_API InstanceScript : public ZoneScript void SaveToDB(); virtual void Update(uint32 /*diff*/) { } + void UpdateCombatResurrection(uint32 /*diff*/); // Used by the map's CannotEnter function. // This is to prevent players from entering during boss encounters. @@ -245,7 +246,9 @@ class TC_GAME_API InstanceScript : public ZoneScript // Returns completed encounters mask for packets uint32 GetCompletedEncounterMask() const { return completedEncounters; } - void SendEncounterUnit(uint32 type, Unit* unit = NULL, uint8 param1 = 0, uint8 param2 = 0); + void SendEncounterUnit(uint32 type, Unit* unit = NULL, uint8 priority = 0); + void SendEncounterStart(uint32 inCombatResCount = 0, uint32 maxInCombatResCount = 0, uint32 inCombatResChargeRecovery = 0, uint32 nextCombatResChargeTime = 0); + void SendEncounterEnd(); virtual void FillInitialWorldStates(WorldPackets::WorldState::InitWorldStates& /*packet*/) { } @@ -254,6 +257,13 @@ class TC_GAME_API InstanceScript : public ZoneScript uint32 GetEncounterCount() const { return uint32(bosses.size()); } + void InitializeCombatResurrections(uint8 charges = 1, uint32 interval = 0); + void AddCombatResurrectionCharge(); + void UseCombatResurrection(); + void ResetCombatResurrections(); + uint8 GetCombatResurrectionCharges() const { return _combatResurrectionCharges; } + uint32 GetCombatResurrectionChargeInterval() const; + protected: void SetHeaders(std::string const& dataHeaders); void SetBossNumber(uint32 number) { bosses.resize(number); } @@ -297,6 +307,9 @@ 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 + uint32 _combatResurrectionTimer; + uint8 _combatResurrectionCharges; // the counter for available battle resurrections + bool _combatResurrectionTimerStarted; #ifdef TRINITY_API_USE_DYNAMIC_LINKING // Strong reference to the associated script module |
