Fixed profile creation failing when player alt+f4s partially through profile creation process

Added nullguard to `userbuilds` code inside `checkForOrphanedModdedItems()`
This commit is contained in:
Dev 2024-05-07 09:02:44 +01:00
parent f991382d66
commit eb0fb09a37

View File

@ -897,24 +897,27 @@ export class ProfileFixerService
} }
} }
// Remove invalid builds from weapon, equipment and magazine build lists if (fullProfile.userbuilds)
const weaponBuilds = fullProfile.userbuilds?.weaponBuilds || [];
fullProfile.userbuilds.weaponBuilds = weaponBuilds.filter((weaponBuild) =>
{ {
return !this.shouldRemoveWeaponEquipmentBuild("weapon", weaponBuild, itemsDb); // Remove invalid builds from weapon, equipment and magazine build lists
}); const weaponBuilds = fullProfile.userbuilds?.weaponBuilds || [];
fullProfile.userbuilds.weaponBuilds = weaponBuilds.filter((weaponBuild) =>
{
return !this.shouldRemoveWeaponEquipmentBuild("weapon", weaponBuild, itemsDb);
});
const equipmentBuilds = fullProfile.userbuilds?.equipmentBuilds || []; const equipmentBuilds = fullProfile.userbuilds?.equipmentBuilds || [];
fullProfile.userbuilds.equipmentBuilds = equipmentBuilds.filter((equipmentBuild) => fullProfile.userbuilds.equipmentBuilds = equipmentBuilds.filter((equipmentBuild) =>
{ {
return !this.shouldRemoveWeaponEquipmentBuild("equipment", equipmentBuild, itemsDb); return !this.shouldRemoveWeaponEquipmentBuild("equipment", equipmentBuild, itemsDb);
}); });
const magazineBuilds = fullProfile.userbuilds?.magazineBuilds || []; const magazineBuilds = fullProfile.userbuilds?.magazineBuilds || [];
fullProfile.userbuilds.magazineBuilds = magazineBuilds.filter((magazineBuild) => fullProfile.userbuilds.magazineBuilds = magazineBuilds.filter((magazineBuild) =>
{ {
return !this.shouldRemoveMagazineBuild(magazineBuild, itemsDb); return !this.shouldRemoveMagazineBuild(magazineBuild, itemsDb);
}); });
}
// Iterate over dialogs, looking for messages with items not found in item db, remove message if item found // Iterate over dialogs, looking for messages with items not found in item db, remove message if item found
for (const dialogId in fullProfile.dialogues) for (const dialogId in fullProfile.dialogues)