aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Instances/InstanceScript.h
diff options
context:
space:
mode:
authorOvalord <1Don7H4v3@m41L.com>2016-04-14 22:43:21 +0200
committerShauren <shauren.trinity@gmail.com>2016-04-24 12:46:26 +0200
commit948146f3ee890b85af50944176877c7d44c0c120 (patch)
treee1d6c39d49d595de1420901db5e02319f78aa2ac /src/server/game/Instances/InstanceScript.h
parentbc106abb07dc0afc69c2a9238267081464c05254 (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.h15
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