[Quest API] Add AreTasksCompleted() to Perl/Lua. (#4456)

* [Quest API] Add AreTasksCompleted() to Perl/Lua.

* Bool
This commit is contained in:
Alex King
2024-08-22 20:21:14 -04:00
committed by GitHub
parent b7f8d0f179
commit e2b545991a
10 changed files with 144 additions and 24 deletions
+23 -13
View File
@@ -1578,25 +1578,35 @@ int ClientTaskState::TaskTimeLeft(int task_id)
return -1;
}
int ClientTaskState::IsTaskCompleted(int task_id)
bool ClientTaskState::IsTaskCompleted(int task_id)
{
// Returns: -1 if RecordCompletedTasks is not true
// +1 if the task has been completed
// 0 if the task has not been completed
if (!(RuleB(TaskSystem, RecordCompletedTasks))) {
return -1;
if (!RuleB(TaskSystem, RecordCompletedTasks)) {
return false;
}
for (auto &completed_task : m_completed_tasks) {
LogTasks("Comparing completed task [{}] with [{}]", completed_task.task_id, task_id);
if (completed_task.task_id == task_id) {
return 1;
for (const auto& e : m_completed_tasks) {
LogTasks("Comparing completed task [{}] with [{}]", e.task_id, task_id);
if (e.task_id == task_id) {
return true;
}
}
return 0;
return false;
}
bool ClientTaskState::AreTasksCompleted(const std::vector<int>& task_ids)
{
if (!RuleB(TaskSystem, RecordCompletedTasks)) {
return false;
}
for (const auto& e : task_ids) {
if (!IsTaskCompleted(e)) {
return false;
}
}
return true;
}
bool ClientTaskState::TaskOutOfTime(TaskType task_type, int index)