fix: Don't only store properties visited as the cloneID

This commit is contained in:
Aaron Kimbre
2023-07-29 16:34:06 -05:00
parent 304af7922a
commit e167c2ac6c
6 changed files with 33 additions and 5 deletions

View File

@@ -332,12 +332,12 @@ void MissionTask::Progress(int32_t value, LWOOBJID associate, const std::string&
case eMissionTaskType::VISIT_PROPERTY:
{
if (!InAllTargets(value)) break;
if (std::find(unique.begin(), unique.end(), static_cast<uint32_t>(associate)) != unique.end()) break;
uint64_t key = (static_cast<uint64_t>(value) << 31U) | associate;
if (std::find(unique.begin(), unique.end(), static_cast<uint32_t>(key)) != unique.end()) break;
AddProgress(count);
unique.push_back(associate);
unique.push_back(key);
break;
}

View File

@@ -87,7 +87,7 @@ public:
* Sets the uniquely visited list of locations
* @param value the uniquely visited list of locations
*/
void SetUnique(const std::vector<uint32_t>& value);
void SetUnique(const std::vector<uint32_t>& value = {});
/**
* Returns the possibly target values for this mission task for progression