diff --git a/dGame/dMission/Mission.cpp b/dGame/dMission/Mission.cpp index 7523dffe..2719a6cf 100644 --- a/dGame/dMission/Mission.cpp +++ b/dGame/dMission/Mission.cpp @@ -109,7 +109,7 @@ void Mission::LoadFromXml(tinyxml2::XMLElement* element) { } else { const auto value = std::stoul(task->Attribute("v")); - m_Tasks[index]->SetProgress(value, m_Tasks[index]->GetType() == MissionTaskType::MISSION_TASK_TYPE_MINIGAME); + m_Tasks[index]->SetProgress(value, false); task = task->NextSiblingElement(); } diff --git a/dGame/dMission/MissionTask.cpp b/dGame/dMission/MissionTask.cpp index 8503e8bc..cb0371e5 100644 --- a/dGame/dMission/MissionTask.cpp +++ b/dGame/dMission/MissionTask.cpp @@ -343,7 +343,14 @@ void MissionTask::Progress(int32_t value, LWOOBJID associate, const std::string& if (info->target != gameID) { break; } - + // Lego Universe is a great game with very easy to understand mission progression. + // If we are progressing a mission for shooting gallery we need to set its + // completion to 1 and not the targetValue beacuse that makes sense + // compared to all other missions and tasks :) + if(info->targetGroup == targets && value >= info->targetValue && GetMission()->IsMission() && info->target == 1864 && info->targetGroup == "performact_score") { + SetProgress(1); + break; + } if(info->targetGroup == targets && value >= info->targetValue) { SetProgress(info->targetValue); break;