From 1df80171eb27bdf0c53bc74a7e4a4ccc068110f7 Mon Sep 17 00:00:00 2001 From: Chomp Date: Sat, 23 Aug 2025 14:34:53 +0100 Subject: [PATCH] Added new property to profiles --- .../SPTarkov.Server.Assets/SPT_Data/database/bots/base.json | 3 ++- .../SPTarkov.Server.Core/Generators/PlayerScavGenerator.cs | 1 + .../SPTarkov.Server.Core/Models/Eft/Common/Tables/BotBase.cs | 2 ++ .../SPTarkov.Server.Core/Services/CreateProfileService.cs | 1 + .../SPTarkov.Server.Core/Services/LocationLifecycleService.cs | 2 ++ 5 files changed, 8 insertions(+), 1 deletion(-) diff --git a/Libraries/SPTarkov.Server.Assets/SPT_Data/database/bots/base.json b/Libraries/SPTarkov.Server.Assets/SPT_Data/database/bots/base.json index 7d92784b..2f57baf8 100644 --- a/Libraries/SPTarkov.Server.Assets/SPT_Data/database/bots/base.json +++ b/Libraries/SPTarkov.Server.Assets/SPT_Data/database/bots/base.json @@ -91,5 +91,6 @@ "InsuredItems": [], "Hideout": null, "Bonuses": [], - "WishList": [] + "WishList": [], + "Variables": {} } diff --git a/Libraries/SPTarkov.Server.Core/Generators/PlayerScavGenerator.cs b/Libraries/SPTarkov.Server.Core/Generators/PlayerScavGenerator.cs index 1bc9b465..31fa9332 100644 --- a/Libraries/SPTarkov.Server.Core/Generators/PlayerScavGenerator.cs +++ b/Libraries/SPTarkov.Server.Core/Generators/PlayerScavGenerator.cs @@ -122,6 +122,7 @@ public class PlayerScavGenerator( scavData.Notes = existingScavDataClone.Notes ?? new Notes { DataNotes = [] }; scavData.WishList = existingScavDataClone.WishList ?? new(); scavData.Encyclopedia = pmcDataClone.Encyclopedia ?? new(); + scavData.Variables = existingScavDataClone.Variables ?? new(); // Player scavs don't have a secure scavData = profileHelper.RemoveSecureContainer(scavData); diff --git a/Libraries/SPTarkov.Server.Core/Models/Eft/Common/Tables/BotBase.cs b/Libraries/SPTarkov.Server.Core/Models/Eft/Common/Tables/BotBase.cs index 52d6c978..3b36304e 100644 --- a/Libraries/SPTarkov.Server.Core/Models/Eft/Common/Tables/BotBase.cs +++ b/Libraries/SPTarkov.Server.Core/Models/Eft/Common/Tables/BotBase.cs @@ -103,6 +103,8 @@ public record BotBase [JsonConverter(typeof(ArrayToObjectFactoryConverter))] public Dictionary? WishList { get; set; } + public Dictionary? Variables { get; set; } + [JsonPropertyName("moneyTransferLimitData")] public MoneyTransferLimits MoneyTransferLimitData { get; set; } diff --git a/Libraries/SPTarkov.Server.Core/Services/CreateProfileService.cs b/Libraries/SPTarkov.Server.Core/Services/CreateProfileService.cs index 67c28b7f..57ca1b5c 100644 --- a/Libraries/SPTarkov.Server.Core/Services/CreateProfileService.cs +++ b/Libraries/SPTarkov.Server.Core/Services/CreateProfileService.cs @@ -68,6 +68,7 @@ public class CreateProfileService( pmcData.Achievements = []; pmcData.WishList = new(); + pmcData.Variables = new(); // 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 diff --git a/Libraries/SPTarkov.Server.Core/Services/LocationLifecycleService.cs b/Libraries/SPTarkov.Server.Core/Services/LocationLifecycleService.cs index 7e08464d..3f28178d 100644 --- a/Libraries/SPTarkov.Server.Core/Services/LocationLifecycleService.cs +++ b/Libraries/SPTarkov.Server.Core/Services/LocationLifecycleService.cs @@ -750,6 +750,8 @@ public class LocationLifecycleService( serverPmcProfile.WishList = postRaidProfile.WishList; + serverPmcProfile.Variables = postRaidProfile.Variables; + serverPmcProfile.Info.Experience = postRaidProfile.Info.Experience; ApplyTraderStandingAdjustments(serverPmcProfile.TradersInfo, postRaidProfile.TradersInfo);