aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Scripting/ScriptMgr.h
diff options
context:
space:
mode:
authorTreeston <treeston.mmoc@gmail.com>2017-09-15 03:53:02 +0200
committerKeader <keader.android@gmail.com>2017-09-14 22:53:02 -0300
commit971ed856a49dc56ea33d9a0779b1386eea5cd3ca (patch)
treeb2b8a1f724ff44504151715df5cd530dedc132a7 /src/server/game/Scripting/ScriptMgr.h
parent49daef4b77baca7266e9a0ea7c916318ba6af6b0 (diff)
Core/Scripts: Implemented OnlyOnceAreaTriggerScript (#20288)
Diffstat (limited to 'src/server/game/Scripting/ScriptMgr.h')
-rw-r--r--src/server/game/Scripting/ScriptMgr.h13
1 files changed, 13 insertions, 0 deletions
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: