From 358dc78e47a6276e9f511e6510e04865d2d87fd2 Mon Sep 17 00:00:00 2001 From: Treeston Date: Mon, 7 Sep 2020 18:25:39 +0200 Subject: Scripts/AreaTrigger: Rename OnlyOnceAreaTriggerScript::_OnTrigger to TryHandleOnce, and make its return value useful. (cherry picked from commit 0c7f6ac89fcc5fdc7f4435a6c1b673c752eb1e41) --- src/server/game/Scripting/ScriptMgr.cpp | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'src/server/game/Scripting/ScriptMgr.cpp') diff --git a/src/server/game/Scripting/ScriptMgr.cpp b/src/server/game/Scripting/ScriptMgr.cpp index 709018a98ed..0943147095d 100644 --- a/src/server/game/Scripting/ScriptMgr.cpp +++ b/src/server/game/Scripting/ScriptMgr.cpp @@ -2439,14 +2439,14 @@ AreaTriggerScript::AreaTriggerScript(char const* name) bool OnlyOnceAreaTriggerScript::OnTrigger(Player* player, AreaTriggerEntry const* trigger) { uint32 const triggerId = trigger->ID; - if (InstanceScript* instance = player->GetInstanceScript()) - { - if (instance->IsAreaTriggerDone(triggerId)) - return true; - else - instance->MarkAreaTriggerDone(triggerId); - } - return _OnTrigger(player, trigger); + InstanceScript* instance = player->GetInstanceScript(); + if (instance && instance->IsAreaTriggerDone(triggerId)) + return true; + + if (TryHandleOnce(player, trigger) && instance) + instance->MarkAreaTriggerDone(triggerId); + + return true; } void OnlyOnceAreaTriggerScript::ResetAreaTriggerDone(InstanceScript* script, uint32 triggerId) { script->ResetAreaTriggerDone(triggerId); } void OnlyOnceAreaTriggerScript::ResetAreaTriggerDone(Player const* player, AreaTriggerEntry const* trigger) { if (InstanceScript* instance = player->GetInstanceScript()) ResetAreaTriggerDone(instance, trigger->ID); } -- cgit v1.2.3