[Commands] Add #task complete Command (#3711)

# Notes
- `#task complete [Task ID]` allows operators to complete an entire task without updating individual activities.
This commit is contained in:
Alex King
2023-11-26 00:27:08 -05:00
committed by GitHub
parent 692a90f3f0
commit f8c3c03185
4 changed files with 141 additions and 64 deletions
+23 -1
View File
@@ -1396,6 +1396,28 @@ void ClientTaskState::ResetTaskActivity(Client *client, int task_id, int activit
);
}
bool ClientTaskState::CompleteTask(Client *c, uint32 task_id)
{
const auto task_data = task_manager->GetTaskData(task_id);
if (!task_data) {
return false;
}
for (
int activity_id = 0;
activity_id < task_manager->GetActivityCount(task_id);
activity_id++
) {
c->UpdateTaskActivity(
task_id,
activity_id,
task_data->activity_information[activity_id].goal_count
);
}
return true;
}
void ClientTaskState::ShowClientTaskInfoMessage(ClientTaskInformation *task, Client *c)
{
const auto task_data = task_manager->GetTaskData(task->task_id);
@@ -1565,7 +1587,7 @@ int ClientTaskState::IsTaskCompleted(int task_id)
}
for (auto &completed_task : m_completed_tasks) {
LogTasks("Comparing compelted task [{}] with [{}]", completed_task.task_id, task_id);
LogTasks("Comparing completed task [{}] with [{}]", completed_task.task_id, task_id);
if (completed_task.task_id == task_id) {
return 1;
}