aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Instances/InstanceScript.h
diff options
context:
space:
mode:
authorTreeston <treeston.mmoc@gmail.com>2017-09-15 03:53:02 +0200
committerShauren <shauren.trinity@gmail.com>2020-08-29 00:41:22 +0200
commitfe938b99f843df3f6c120695db38f327bd55ea94 (patch)
treeb6e47409a22c4262ac6657272842c1205f986f0c /src/server/game/Instances/InstanceScript.h
parent77d13a7b97d4b9d243ce753ca02ae94d9e10b17e (diff)
Core/Scripts: Implemented OnlyOnceAreaTriggerScript (#20288)
(cherry picked from commit 971ed856a49dc56ea33d9a0779b1386eea5cd3ca)
Diffstat (limited to 'src/server/game/Instances/InstanceScript.h')
-rw-r--r--src/server/game/Instances/InstanceScript.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/server/game/Instances/InstanceScript.h b/src/server/game/Instances/InstanceScript.h
index 06324f553a9..823996f2481 100644
--- a/src/server/game/Instances/InstanceScript.h
+++ b/src/server/game/Instances/InstanceScript.h
@@ -266,6 +266,11 @@ class TC_GAME_API InstanceScript : public ZoneScript
// Get's the current entrance id
uint32 GetEntranceLocation() const { return _temporaryEntranceId ? _temporaryEntranceId : _entranceId; }
+ // Only used by areatriggers that inherit from OnlyOnceAreaTriggerScript
+ void MarkAreaTriggerDone(uint32 id) { _activatedAreaTriggers.insert(id); }
+ void ResetAreaTriggerDone(uint32 id) { _activatedAreaTriggers.erase(id); }
+ bool IsAreaTriggerDone(uint32 id) const { return _activatedAreaTriggers.find(id) != _activatedAreaTriggers.end(); }
+
void SendEncounterUnit(uint32 type, Unit* unit = nullptr, uint8 priority = 0);
void SendEncounterStart(uint32 inCombatResCount = 0, uint32 maxInCombatResCount = 0, uint32 inCombatResChargeRecovery = 0, uint32 nextCombatResChargeTime = 0);
void SendEncounterEnd();
@@ -333,6 +338,7 @@ class TC_GAME_API InstanceScript : public ZoneScript
ObjectGuidMap _objectGuids;
uint32 completedEncounters; // completed encounter mask, bit indexes are DungeonEncounter.dbc boss numbers, used for packets
std::vector<InstanceSpawnGroupInfo> const* const _instanceSpawnGroups;
+ std::unordered_set<uint32> _activatedAreaTriggers;
uint32 _entranceId;
uint32 _temporaryEntranceId;
uint32 _combatResurrectionTimer;