From 955b2afb1805588fe9823b274034b3800a40899b Mon Sep 17 00:00:00 2001 From: "Michael Cook (mackal)" Date: Fri, 6 Jul 2018 00:59:19 -0400 Subject: [PATCH] Update GetTaskActivityDoneCountFromTaskID and GetTaskStartTime --- zone/client.h | 2 +- zone/tasks.cpp | 25 +++++++++++++++++++------ zone/tasks.h | 2 +- 3 files changed, 21 insertions(+), 8 deletions(-) diff --git a/zone/client.h b/zone/client.h index 50282b5c3..660f7e24c 100644 --- a/zone/client.h +++ b/zone/client.h @@ -1036,7 +1036,7 @@ public: inline void CancelAllTasks() { if(taskstate) taskstate->CancelAllTasks(this); } inline int GetActiveTaskCount() { return (taskstate ? taskstate->GetActiveTaskCount() : 0); } inline int GetActiveTaskID(int index) { return (taskstate ? taskstate->GetActiveTaskID(index) : -1); } - inline int GetTaskStartTime(int index) { return (taskstate ? taskstate->GetTaskStartTime(index) : -1); } + inline int GetTaskStartTime(TaskType type, int index) { return (taskstate ? taskstate->GetTaskStartTime(type, index) : -1); } inline bool IsTaskActivityCompleted(TaskType type, int index, int ActivityID) { return (taskstate ? taskstate->IsTaskActivityCompleted(type, index, ActivityID) : false); } inline int GetTaskActivityDoneCount(TaskType type, int ClientTaskIndex, int ActivityID) { return (taskstate ? taskstate->GetTaskActivityDoneCount(type, ClientTaskIndex, ActivityID) :0); } inline int GetTaskActivityDoneCountFromTaskID(int TaskID, int ActivityID) { return (taskstate ? taskstate->GetTaskActivityDoneCountFromTaskID(TaskID, ActivityID) :0); } diff --git a/zone/tasks.cpp b/zone/tasks.cpp index 6dca0c7e9..5c3c245e0 100644 --- a/zone/tasks.cpp +++ b/zone/tasks.cpp @@ -2731,7 +2731,7 @@ void TaskManager::SendActiveTasksToClient(Client *c, bool TaskComplete) for (int TaskIndex=0; TaskIndexGetActiveTaskID(TaskIndex); if((TaskID==0) || (Tasks[TaskID] ==0)) continue; - int StartTime = c->GetTaskStartTime(TaskIndex); + int StartTime = c->GetTaskStartTime(Tasks[TaskID]->type, TaskIndex); SendActiveTaskDescription(c, TaskID, state->ActiveQuests[TaskIndex], StartTime, Tasks[TaskID]->Duration, false); Log(Logs::General, Logs::Tasks, "[UPDATE] SendActiveTasksToClient: Task %i, Activities: %i", TaskID, GetActivityCount(TaskID)); @@ -2939,7 +2939,13 @@ int ClientTaskState::GetTaskActivityDoneCount(TaskType type, int index, int Acti } } -int ClientTaskState::GetTaskActivityDoneCountFromTaskID(int TaskID, int ActivityID){ +int ClientTaskState::GetTaskActivityDoneCountFromTaskID(int TaskID, int ActivityID) +{ + if (ActiveTask.TaskID == TaskID) + return ActiveTask.Activity[ActivityID].DoneCount; + + // TODO: shared tasks + int ActiveTaskIndex = -1; for(int i=0; i