From 89382d5e4a2e49c4ab4a13219380677092d18ac1 Mon Sep 17 00:00:00 2001 From: hg <4683435+hgtw@users.noreply.github.com> Date: Sat, 3 Sep 2022 17:25:18 -0400 Subject: [PATCH] [Tasks] Only allow shared task completion once (#2422) This prevents re-triggering completion when a shared task contains optional elements --- world/shared_task_manager.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/world/shared_task_manager.cpp b/world/shared_task_manager.cpp index 3f9bdd215..afe3582d7 100644 --- a/world/shared_task_manager.cpp +++ b/world/shared_task_manager.cpp @@ -1724,6 +1724,12 @@ bool SharedTaskManager::HandleCompletedActivities(SharedTask* s) void SharedTaskManager::HandleCompletedTask(SharedTask* s) { auto db_task = s->GetDbSharedTask(); + if (db_task.completion_time > 0) + { + LogTasksDetail("[HandleCompletedTask] shared task [{}] already completed", db_task.id); + return; + } + LogTasksDetail("[HandleCompletedTask] Marking shared task [{}] completed", db_task.id); db_task.completion_time = std::time(nullptr); db_task.is_locked = true;