This commit is contained in:
Dev 2024-01-19 19:23:11 +00:00
commit 134d789a0e

View File

@ -1374,18 +1374,24 @@ export class ProfileFixerService
* After removing mods that add quests, the quest panel will break without removing these * After removing mods that add quests, the quest panel will break without removing these
* @param pmcProfile Profile to remove dead quests from * @param pmcProfile Profile to remove dead quests from
*/ */
protected removeOrphanedQuests(pmcProfile: IPmcData): void protected removeOrphanedQuests(pmcProfile: IPmcData): void
{ {
const quests = this.databaseServer.getTables().templates.quests; const quests = this.databaseServer.getTables().templates.quests;
const profileQuests = pmcProfile.Quests; const profileQuests = pmcProfile.Quests;
for (let i = 0; i < profileQuests.length; i++) let repeatableQuests: IRepeatableQuest[] = [];
{ for (const repeatableQuestType of pmcProfile.RepeatableQuests)
if (!quests[profileQuests[i].qid]) {
{ repeatableQuests.push(...repeatableQuestType.activeQuests);
profileQuests.splice(i, 1); }
this.logger.success("Successfully removed orphaned quest that doesnt exist in our quest data");
} for (let i = 0; i < profileQuests.length; i++)
} {
} if (!quests[profileQuests[i].qid] && !repeatableQuests.find(x => x._id == profileQuests[i].qid))
{
profileQuests.splice(i, 1);
this.logger.success("Successfully removed orphaned quest that doesnt exist in our quest data");
}
}
}
} }