From 971ed856a49dc56ea33d9a0779b1386eea5cd3ca Mon Sep 17 00:00:00 2001 From: Treeston Date: Fri, 15 Sep 2017 03:53:02 +0200 Subject: Core/Scripts: Implemented OnlyOnceAreaTriggerScript (#20288) --- src/server/game/Scripting/ScriptMgr.h | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'src/server/game/Scripting/ScriptMgr.h') diff --git a/src/server/game/Scripting/ScriptMgr.h b/src/server/game/Scripting/ScriptMgr.h index 65c5be6be37..d801aba496d 100644 --- a/src/server/game/Scripting/ScriptMgr.h +++ b/src/server/game/Scripting/ScriptMgr.h @@ -448,6 +448,19 @@ class TC_GAME_API AreaTriggerScript : public ScriptObject virtual bool OnTrigger(Player* /*player*/, AreaTriggerEntry const* /*trigger*/) { return false; } }; +class TC_GAME_API OnlyOnceAreaTriggerScript : public AreaTriggerScript +{ + using AreaTriggerScript::AreaTriggerScript; + + public: + bool OnTrigger(Player* /*player*/, AreaTriggerEntry const* /*trigger*/) override; + + protected: + virtual bool _OnTrigger(Player* /*player*/, AreaTriggerEntry const* /*trigger*/) = 0; + void ResetAreaTriggerDone(InstanceScript* /*instance*/, uint32 /*triggerId*/); + void ResetAreaTriggerDone(Player const* /*player*/, AreaTriggerEntry const* /*trigger*/); +}; + class TC_GAME_API BattlegroundScript : public ScriptObject { protected: -- cgit v1.2.3