diff --git a/Libraries/SPTarkov.Server.Core/Controllers/WishlistController.cs b/Libraries/SPTarkov.Server.Core/Controllers/WishlistController.cs index 8e7a662a..dacdc16c 100644 --- a/Libraries/SPTarkov.Server.Core/Controllers/WishlistController.cs +++ b/Libraries/SPTarkov.Server.Core/Controllers/WishlistController.cs @@ -1,8 +1,10 @@ using SPTarkov.DI.Annotations; +using SPTarkov.Server.Core.Models.Common; using SPTarkov.Server.Core.Models.Eft.Common; using SPTarkov.Server.Core.Models.Eft.ItemEvent; using SPTarkov.Server.Core.Models.Eft.Wishlist; using SPTarkov.Server.Core.Routers; +using SPTarkov.Server.Core.Utils.Json; namespace SPTarkov.Server.Core.Controllers; @@ -19,9 +21,10 @@ public class WishlistController(EventOutputHolder _eventOutputHolder) public ItemEventRouterResponse AddToWishList( PmcData pmcData, AddToWishlistRequest request, - string sessionId + MongoId sessionId ) { + pmcData.WishList ??= new DictionaryOrList(new Dictionary(), []); foreach (var item in request.Items) { pmcData.WishList.Dictionary.Add(item.Key, item.Value); diff --git a/Libraries/SPTarkov.Server.Core/Services/CreateProfileService.cs b/Libraries/SPTarkov.Server.Core/Services/CreateProfileService.cs index 7af9e43d..780ad248 100644 --- a/Libraries/SPTarkov.Server.Core/Services/CreateProfileService.cs +++ b/Libraries/SPTarkov.Server.Core/Services/CreateProfileService.cs @@ -14,6 +14,7 @@ using SPTarkov.Server.Core.Routers; using SPTarkov.Server.Core.Servers; using SPTarkov.Server.Core.Utils; using SPTarkov.Server.Core.Utils.Cloners; +using SPTarkov.Server.Core.Utils.Json; namespace SPTarkov.Server.Core.Services; @@ -72,6 +73,8 @@ public class CreateProfileService( pmcData.CoopExtractCounts = new Dictionary(); pmcData.Achievements = new Dictionary(); + pmcData.WishList = new DictionaryOrList(new Dictionary(), []); + // Process handling if the account has been forced to wipe // BSG keeps both the achievements, prestige level and the total in-game time in a wipe if (account.CharacterData.PmcData.Achievements is not null)