From 86295b68fbe9a0f51b776bdbe0caad37c551c3e0 Mon Sep 17 00:00:00 2001 From: Chomp Date: Wed, 2 Jul 2025 19:07:58 +0100 Subject: [PATCH] Added MongoId type to various places --- .../Controllers/GameController.cs | 9 +++++---- .../Controllers/HideoutController.cs | 2 +- .../Generators/PlayerScavGenerator.cs | 6 +++--- .../Generators/RagfairAssortGenerator.cs | 9 ++++----- .../Generators/RagfairOfferGenerator.cs | 3 ++- .../CompletionQuestGenerator.cs | 8 ++------ .../EliminationQuestGenerator.cs | 9 ++++----- .../ExplorationQuestGenerator.cs | 17 ++++++----------- .../RepeatableQuestRewardGenerator.cs | 15 +++++++-------- .../Helpers/RepeatableQuestHelper.cs | 6 ++---- .../Models/Eft/Common/Tables/BotBase.cs | 14 +++++++------- .../Eft/Common/Tables/LocationServices.cs | 3 ++- .../Models/Eft/Common/Tables/Quest.cs | 3 ++- .../Models/Eft/Common/Tables/Trader.cs | 4 ++-- ...deoutCustomizationSetMannequinPoseRequest.cs | 3 ++- .../Eft/Profile/GetOtherProfileResponse.cs | 4 ++-- .../Services/CreateProfileService.cs | 5 +++-- .../Services/LocationLifecycleService.cs | 2 +- .../Services/PaymentService.cs | 3 ++- 19 files changed, 59 insertions(+), 66 deletions(-) diff --git a/Libraries/SPTarkov.Server.Core/Controllers/GameController.cs b/Libraries/SPTarkov.Server.Core/Controllers/GameController.cs index c20a239d..8c147df2 100644 --- a/Libraries/SPTarkov.Server.Core/Controllers/GameController.cs +++ b/Libraries/SPTarkov.Server.Core/Controllers/GameController.cs @@ -1,6 +1,7 @@ using SPTarkov.DI.Annotations; using SPTarkov.Server.Core.Extensions; using SPTarkov.Server.Core.Helpers; +using SPTarkov.Server.Core.Models.Common; using SPTarkov.Server.Core.Models.Eft.Common; using SPTarkov.Server.Core.Models.Eft.Game; using SPTarkov.Server.Core.Models.Eft.Profile; @@ -82,12 +83,12 @@ public class GameController( return; } - fullProfile.CharacterData!.PmcData!.WishList ??= new DictionaryOrList( - new Dictionary(), + fullProfile.CharacterData!.PmcData!.WishList ??= new DictionaryOrList( + new Dictionary(), [] ); - fullProfile.CharacterData.ScavData!.WishList ??= new DictionaryOrList( - new Dictionary(), + fullProfile.CharacterData.ScavData!.WishList ??= new DictionaryOrList( + new Dictionary(), [] ); diff --git a/Libraries/SPTarkov.Server.Core/Controllers/HideoutController.cs b/Libraries/SPTarkov.Server.Core/Controllers/HideoutController.cs index a8aadaae..45882e1b 100644 --- a/Libraries/SPTarkov.Server.Core/Controllers/HideoutController.cs +++ b/Libraries/SPTarkov.Server.Core/Controllers/HideoutController.cs @@ -1771,7 +1771,7 @@ public class HideoutController( foreach (var poseKvP in request.Poses) { // Nullguard - pmcData.Hideout.MannequinPoses ??= new Dictionary(); + pmcData.Hideout.MannequinPoses ??= new Dictionary(); pmcData.Hideout.MannequinPoses[poseKvP.Key] = poseKvP.Value; } diff --git a/Libraries/SPTarkov.Server.Core/Generators/PlayerScavGenerator.cs b/Libraries/SPTarkov.Server.Core/Generators/PlayerScavGenerator.cs index 0183727d..1874f7c0 100644 --- a/Libraries/SPTarkov.Server.Core/Generators/PlayerScavGenerator.cs +++ b/Libraries/SPTarkov.Server.Core/Generators/PlayerScavGenerator.cs @@ -113,12 +113,12 @@ public class PlayerScavGenerator( scavData.Quests = existingScavDataClone.Quests ?? []; scavData.TaskConditionCounters = existingScavDataClone.TaskConditionCounters - ?? new Dictionary(); + ?? new Dictionary(); scavData.Notes = existingScavDataClone.Notes ?? new Notes { DataNotes = new List() }; scavData.WishList = existingScavDataClone.WishList - ?? new DictionaryOrList(new Dictionary(), new List()); - scavData.Encyclopedia = pmcDataClone.Encyclopedia ?? new Dictionary(); + ?? new DictionaryOrList(new Dictionary(), []); + scavData.Encyclopedia = pmcDataClone.Encyclopedia ?? new Dictionary(); // Add additional items to player scav as loot AddAdditionalLootToPlayerScavContainers( diff --git a/Libraries/SPTarkov.Server.Core/Generators/RagfairAssortGenerator.cs b/Libraries/SPTarkov.Server.Core/Generators/RagfairAssortGenerator.cs index e7a179ce..05215169 100644 --- a/Libraries/SPTarkov.Server.Core/Generators/RagfairAssortGenerator.cs +++ b/Libraries/SPTarkov.Server.Core/Generators/RagfairAssortGenerator.cs @@ -1,19 +1,18 @@ using SPTarkov.DI.Annotations; using SPTarkov.Server.Core.Helpers; +using SPTarkov.Server.Core.Models.Common; using SPTarkov.Server.Core.Models.Eft.Common; using SPTarkov.Server.Core.Models.Eft.Common.Tables; using SPTarkov.Server.Core.Models.Enums; using SPTarkov.Server.Core.Models.Spt.Config; using SPTarkov.Server.Core.Servers; using SPTarkov.Server.Core.Services; -using SPTarkov.Server.Core.Utils; using SPTarkov.Server.Core.Utils.Cloners; namespace SPTarkov.Server.Core.Generators; [Injectable] public class RagfairAssortGenerator( - HashUtil hashUtil, ItemHelper itemHelper, PresetHelper presetHelper, SeasonalEventService seasonalEventService, @@ -133,16 +132,16 @@ public class RagfairAssortGenerator( /// tplid to add to item /// id to add to item /// Hydrated Item object - protected Item CreateRagfairAssortRootItem(string tplId, string? id = null) + protected Item CreateRagfairAssortRootItem(string tplId, MongoId? id = null) { if (string.IsNullOrEmpty(id)) { - id = hashUtil.Generate(); + id = new MongoId(); } return new Item { - Id = id, + Id = id.Value, Template = tplId, ParentId = "hideout", SlotId = "hideout", diff --git a/Libraries/SPTarkov.Server.Core/Generators/RagfairOfferGenerator.cs b/Libraries/SPTarkov.Server.Core/Generators/RagfairOfferGenerator.cs index 1ba5167d..2dbb1749 100644 --- a/Libraries/SPTarkov.Server.Core/Generators/RagfairOfferGenerator.cs +++ b/Libraries/SPTarkov.Server.Core/Generators/RagfairOfferGenerator.cs @@ -2,6 +2,7 @@ using System.Diagnostics; using SPTarkov.Common.Extensions; using SPTarkov.DI.Annotations; using SPTarkov.Server.Core.Helpers; +using SPTarkov.Server.Core.Models.Common; using SPTarkov.Server.Core.Models.Eft.Common.Tables; using SPTarkov.Server.Core.Models.Eft.Ragfair; using SPTarkov.Server.Core.Models.Enums; @@ -467,7 +468,7 @@ public class RagfairOfferGenerator( clonedAssort[0].SlotId = null; CreateSingleOfferForItem( - hashUtil.Generate(), + new MongoId(), clonedAssort, isPreset, itemToSellDetails.Value, diff --git a/Libraries/SPTarkov.Server.Core/Generators/RepeatableQuestGeneration/CompletionQuestGenerator.cs b/Libraries/SPTarkov.Server.Core/Generators/RepeatableQuestGeneration/CompletionQuestGenerator.cs index f4b75f96..fbfdb2dd 100644 --- a/Libraries/SPTarkov.Server.Core/Generators/RepeatableQuestGeneration/CompletionQuestGenerator.cs +++ b/Libraries/SPTarkov.Server.Core/Generators/RepeatableQuestGeneration/CompletionQuestGenerator.cs @@ -6,7 +6,6 @@ using SPTarkov.Server.Core.Models.Enums; using SPTarkov.Server.Core.Models.Spt.Config; using SPTarkov.Server.Core.Models.Spt.Repeatable; using SPTarkov.Server.Core.Models.Utils; -using SPTarkov.Server.Core.Servers; using SPTarkov.Server.Core.Services; using SPTarkov.Server.Core.Utils; using SPTarkov.Server.Core.Utils.Json; @@ -21,23 +20,20 @@ public class CompletionQuestGenerator( DatabaseService databaseService, SeasonalEventService seasonalEventService, ServerLocalisationService localisationService, - ConfigServer configServer, RandomUtil randomUtil, MathUtil mathUtil, - HashUtil hashUtil, ItemHelper itemHelper ) : IRepeatableQuestGenerator { protected const int MaxRandomNumberAttempts = 6; - protected QuestConfig QuestConfig = configServer.GetConfig(); - /// /// Generates a valid Completion quest /// /// session Id to generate the quest for /// player's level for requested items and reward generation /// trader from which the quest will be provided + /// /// /// The configuration for the repeatably kind (daily, weekly) as configured in QuestConfig /// for the requested quest @@ -424,7 +420,7 @@ public class CompletionQuestGenerator( return new QuestCondition { - Id = hashUtil.Generate(), + Id = new MongoId(), Index = 0, ParentId = "", DynamicLocale = true, diff --git a/Libraries/SPTarkov.Server.Core/Generators/RepeatableQuestGeneration/EliminationQuestGenerator.cs b/Libraries/SPTarkov.Server.Core/Generators/RepeatableQuestGeneration/EliminationQuestGenerator.cs index 18ccf319..a98462da 100644 --- a/Libraries/SPTarkov.Server.Core/Generators/RepeatableQuestGeneration/EliminationQuestGenerator.cs +++ b/Libraries/SPTarkov.Server.Core/Generators/RepeatableQuestGeneration/EliminationQuestGenerator.cs @@ -21,7 +21,6 @@ namespace SPTarkov.Server.Core.Generators.RepeatableQuestGeneration; public class EliminationQuestGenerator( ISptLogger logger, RandomUtil randomUtil, - HashUtil hashUtil, MathUtil mathUtil, RepeatableQuestHelper repeatableQuestHelper, ItemHelper itemHelper, @@ -277,7 +276,7 @@ public class EliminationQuestGenerator( } var availableForFinishCondition = quest.Conditions.AvailableForFinish![0]; - availableForFinishCondition.Counter!.Id = hashUtil.Generate(); + availableForFinishCondition.Counter!.Id = new MongoId(); availableForFinishCondition.Counter.Conditions = []; // Only add specific location condition if specific map selected @@ -299,7 +298,7 @@ public class EliminationQuestGenerator( ) ); availableForFinishCondition.Value = desiredKillCount; - availableForFinishCondition.Id = hashUtil.Generate(); + availableForFinishCondition.Id = new MongoId(); // Get the quest location, default to any if none exist quest.Location = repeatableQuestHelper.GetQuestLocationByMapId(locationKey) ?? "any"; @@ -744,7 +743,7 @@ public class EliminationQuestGenerator( { return new QuestConditionCounterCondition { - Id = hashUtil.Generate(), + Id = new MongoId(), DynamicLocale = true, Target = new ListOrT(location, null), ConditionType = "Location", @@ -770,7 +769,7 @@ public class EliminationQuestGenerator( { var killConditionProps = new QuestConditionCounterCondition { - Id = hashUtil.Generate(), + Id = new MongoId(), DynamicLocale = true, Target = new ListOrT(null, target), // e,g, "AnyPmc" Value = 1, diff --git a/Libraries/SPTarkov.Server.Core/Generators/RepeatableQuestGeneration/ExplorationQuestGenerator.cs b/Libraries/SPTarkov.Server.Core/Generators/RepeatableQuestGeneration/ExplorationQuestGenerator.cs index dbe026e6..9bd28dd1 100644 --- a/Libraries/SPTarkov.Server.Core/Generators/RepeatableQuestGeneration/ExplorationQuestGenerator.cs +++ b/Libraries/SPTarkov.Server.Core/Generators/RepeatableQuestGeneration/ExplorationQuestGenerator.cs @@ -7,7 +7,6 @@ using SPTarkov.Server.Core.Models.Enums; using SPTarkov.Server.Core.Models.Spt.Config; using SPTarkov.Server.Core.Models.Spt.Repeatable; using SPTarkov.Server.Core.Models.Utils; -using SPTarkov.Server.Core.Servers; using SPTarkov.Server.Core.Services; using SPTarkov.Server.Core.Utils; using SPTarkov.Server.Core.Utils.Json; @@ -21,10 +20,8 @@ public class ExplorationQuestGenerator( RepeatableQuestRewardGenerator repeatableQuestRewardGenerator, DatabaseService databaseService, ServerLocalisationService localisationService, - ConfigServer configServer, RandomUtil randomUtil, - MathUtil mathUtil, - HashUtil hashUtil + MathUtil mathUtil ) : IRepeatableQuestGenerator { protected record LocationInfo( @@ -34,8 +31,6 @@ public class ExplorationQuestGenerator( int NumOfExtractsRequired ); - protected QuestConfig QuestConfig = configServer.GetConfig(); - /// /// Generates a valid Exploration quest /// @@ -254,7 +249,7 @@ public class ExplorationQuestGenerator( var exitStatusCondition = new QuestConditionCounterCondition { - Id = hashUtil.Generate(), + Id = new MongoId(), DynamicLocale = true, Status = ["Survived"], ConditionType = "ExitStatus", @@ -262,20 +257,20 @@ public class ExplorationQuestGenerator( var locationCondition = new QuestConditionCounterCondition { - Id = hashUtil.Generate(), + Id = new MongoId(), DynamicLocale = true, Target = new ListOrT(locationInfo.LocationTarget, null), ConditionType = "Location", }; - quest.Conditions.AvailableForFinish![0].Counter!.Id = hashUtil.Generate(); + quest.Conditions.AvailableForFinish![0].Counter!.Id = new MongoId(); quest.Conditions.AvailableForFinish![0].Counter!.Conditions = [ exitStatusCondition, locationCondition, ]; quest.Conditions.AvailableForFinish[0].Value = locationInfo.NumOfExtractsRequired; - quest.Conditions.AvailableForFinish[0].Id = hashUtil.Generate(); + quest.Conditions.AvailableForFinish[0].Id = new MongoId(); quest.Location = location; @@ -357,7 +352,7 @@ public class ExplorationQuestGenerator( { return new QuestConditionCounterCondition { - Id = hashUtil.Generate(), + Id = new MongoId(), DynamicLocale = true, ExitName = exit.Name, ConditionType = "ExitName", diff --git a/Libraries/SPTarkov.Server.Core/Generators/RepeatableQuestGeneration/RepeatableQuestRewardGenerator.cs b/Libraries/SPTarkov.Server.Core/Generators/RepeatableQuestGeneration/RepeatableQuestRewardGenerator.cs index 294ae605..4cf4765b 100644 --- a/Libraries/SPTarkov.Server.Core/Generators/RepeatableQuestGeneration/RepeatableQuestRewardGenerator.cs +++ b/Libraries/SPTarkov.Server.Core/Generators/RepeatableQuestGeneration/RepeatableQuestRewardGenerator.cs @@ -20,7 +20,6 @@ namespace SPTarkov.Server.Core.Generators.RepeatableQuestGeneration; public class RepeatableQuestRewardGenerator( ISptLogger logger, RandomUtil randomUtil, - HashUtil hashUtil, MathUtil mathUtil, DatabaseService databaseService, ItemHelper itemHelper, @@ -95,7 +94,7 @@ public class RepeatableQuestRewardGenerator( rewards.Success.Add( new Reward { - Id = hashUtil.Generate(), + Id = new MongoId(), Unknown = false, GameMode = [], AvailableInGameEditions = [], @@ -193,7 +192,7 @@ public class RepeatableQuestRewardGenerator( { Reward reward = new() { - Id = hashUtil.Generate(), + Id = new MongoId(), Unknown = false, GameMode = [], AvailableInGameEditions = [], @@ -219,7 +218,7 @@ public class RepeatableQuestRewardGenerator( var targetSkill = randomUtil.GetArrayValue(eliminationConfig.PossibleSkillRewards); Reward reward = new() { - Id = hashUtil.Generate(), + Id = new MongoId(), Unknown = false, GameMode = [], AvailableInGameEditions = [], @@ -664,10 +663,10 @@ public class RepeatableQuestRewardGenerator( bool foundInRaid = true ) { - var id = hashUtil.Generate(); + var id = new MongoId(); var questRewardItem = new Reward { - Id = hashUtil.Generate(), + Id = new MongoId(), Unknown = false, GameMode = [], AvailableInGameEditions = [], @@ -713,10 +712,10 @@ public class RepeatableQuestRewardGenerator( bool foundInRaid = true ) { - var id = hashUtil.Generate(); + var id = new MongoId(); var questRewardItem = new Reward { - Id = hashUtil.Generate(), + Id = new MongoId(), Unknown = false, GameMode = [], AvailableInGameEditions = [], diff --git a/Libraries/SPTarkov.Server.Core/Helpers/RepeatableQuestHelper.cs b/Libraries/SPTarkov.Server.Core/Helpers/RepeatableQuestHelper.cs index 9eb9aa87..2ead73fa 100644 --- a/Libraries/SPTarkov.Server.Core/Helpers/RepeatableQuestHelper.cs +++ b/Libraries/SPTarkov.Server.Core/Helpers/RepeatableQuestHelper.cs @@ -6,7 +6,6 @@ using SPTarkov.Server.Core.Models.Spt.Config; using SPTarkov.Server.Core.Models.Utils; using SPTarkov.Server.Core.Servers; using SPTarkov.Server.Core.Services; -using SPTarkov.Server.Core.Utils; using SPTarkov.Server.Core.Utils.Cloners; namespace SPTarkov.Server.Core.Helpers; @@ -16,7 +15,6 @@ public class RepeatableQuestHelper( ISptLogger logger, DatabaseService databaseService, ServerLocalisationService serverLocalisationService, - HashUtil hashUtil, ICloner cloner, ConfigServer configServer ) @@ -88,7 +86,7 @@ public class RepeatableQuestHelper( return null; } - quest.Id = hashUtil.Generate(); + quest.Id = new MongoId(); quest.TraderId = traderId; return quest; @@ -202,7 +200,7 @@ public class RepeatableQuestHelper( return null; } - questData.QuestStatus.Id = hashUtil.Generate(); + questData.QuestStatus.Id = new MongoId(); questData.QuestStatus.Uid = sessionId; // Needs to match user id questData.QuestStatus.QId = questData.Id; // Needs to match quest id 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 d0748463..62e3802e 100644 --- a/Libraries/SPTarkov.Server.Core/Models/Eft/Common/Tables/BotBase.cs +++ b/Libraries/SPTarkov.Server.Core/Models/Eft/Common/Tables/BotBase.cs @@ -14,7 +14,7 @@ public record BotBase public Dictionary? ExtensionData { get; set; } [JsonPropertyName("_id")] - public string? Id { get; set; } + public MongoId? Id { get; set; } [JsonPropertyName("aid")] [JsonConverter(typeof(StringToNumberFactoryConverter))] @@ -28,7 +28,7 @@ public record BotBase [JsonIgnore(Condition = JsonIgnoreCondition.Never)] [JsonPropertyName("savage")] - public string? Savage { get; set; } + public MongoId? Savage { get; set; } [JsonPropertyName("karmaValue")] public double? KarmaValue { get; set; } @@ -53,10 +53,10 @@ public record BotBase [JsonIgnore(Condition = JsonIgnoreCondition.Never)] [JsonPropertyName("Encyclopedia")] - public Dictionary? Encyclopedia { get; set; } + public Dictionary? Encyclopedia { get; set; } [JsonPropertyName("TaskConditionCounters")] - public Dictionary? TaskConditionCounters { get; set; } + public Dictionary? TaskConditionCounters { get; set; } [JsonPropertyName("InsuredItems")] public List? InsuredItems { get; set; } @@ -82,7 +82,7 @@ public record BotBase /// [JsonPropertyName("Achievements")] [JsonConverter(typeof(ArrayToObjectFactoryConverter))] - public Dictionary? Achievements { get; set; } + public Dictionary? Achievements { get; set; } [JsonPropertyName("RepeatableQuests")] public List? RepeatableQuests { get; set; } @@ -105,7 +105,7 @@ public record BotBase [JsonIgnore(Condition = JsonIgnoreCondition.Never)] [JsonPropertyName("WishList")] [JsonConverter(typeof(ArrayToObjectFactoryConverter))] - public DictionaryOrList? WishList { get; set; } + public DictionaryOrList? WishList { get; set; } [JsonPropertyName("moneyTransferLimitData")] public MoneyTransferLimits? MoneyTransferLimitData { get; set; } @@ -826,7 +826,7 @@ public record Hideout /// public string? Seed { get; set; } - public Dictionary? MannequinPoses { get; set; } + public Dictionary? MannequinPoses { get; set; } [JsonPropertyName("sptUpdateLastRunTimestamp")] public long? SptUpdateLastRunTimestamp { get; set; } diff --git a/Libraries/SPTarkov.Server.Core/Models/Eft/Common/Tables/LocationServices.cs b/Libraries/SPTarkov.Server.Core/Models/Eft/Common/Tables/LocationServices.cs index f267fb1c..7d77c549 100644 --- a/Libraries/SPTarkov.Server.Core/Models/Eft/Common/Tables/LocationServices.cs +++ b/Libraries/SPTarkov.Server.Core/Models/Eft/Common/Tables/LocationServices.cs @@ -1,4 +1,5 @@ using System.Text.Json.Serialization; +using SPTarkov.Server.Core.Models.Common; using SPTarkov.Server.Core.Models.Enums; using SPTarkov.Server.Core.Utils.Json.Converters; @@ -72,7 +73,7 @@ public record TraderService public Dictionary? ServiceItemCost { get; set; } [JsonPropertyName("UniqueItems")] - public List? UniqueItems { get; set; } + public List? UniqueItems { get; set; } } public record ServiceRequirements diff --git a/Libraries/SPTarkov.Server.Core/Models/Eft/Common/Tables/Quest.cs b/Libraries/SPTarkov.Server.Core/Models/Eft/Common/Tables/Quest.cs index 4ffa24ab..6ee0244b 100644 --- a/Libraries/SPTarkov.Server.Core/Models/Eft/Common/Tables/Quest.cs +++ b/Libraries/SPTarkov.Server.Core/Models/Eft/Common/Tables/Quest.cs @@ -1,4 +1,5 @@ using System.Text.Json.Serialization; +using SPTarkov.Server.Core.Models.Common; using SPTarkov.Server.Core.Models.Enums; using SPTarkov.Server.Core.Utils.Json; using SPTarkov.Server.Core.Utils.Json.Converters; @@ -189,7 +190,7 @@ public record QuestCondition public Dictionary? ExtensionData { get; set; } [JsonPropertyName("id")] - public required string Id { get; set; } + public required MongoId Id { get; set; } [JsonPropertyName("index")] public int? Index { get; set; } diff --git a/Libraries/SPTarkov.Server.Core/Models/Eft/Common/Tables/Trader.cs b/Libraries/SPTarkov.Server.Core/Models/Eft/Common/Tables/Trader.cs index fc3b9090..0131c897 100644 --- a/Libraries/SPTarkov.Server.Core/Models/Eft/Common/Tables/Trader.cs +++ b/Libraries/SPTarkov.Server.Core/Models/Eft/Common/Tables/Trader.cs @@ -226,13 +226,13 @@ public record TraderRepair public bool? Availability { get; set; } [JsonPropertyName("currency")] - public MongoId Currency { get; set; } + public string Currency { get; set; } [JsonPropertyName("currency_coefficient")] public double? CurrencyCoefficient { get; set; } [JsonPropertyName("excluded_category")] - public List? ExcludedCategory { get; set; } + public List? ExcludedCategory { get; set; } /// /// Doesn't exist in client object diff --git a/Libraries/SPTarkov.Server.Core/Models/Eft/Hideout/HideoutCustomizationSetMannequinPoseRequest.cs b/Libraries/SPTarkov.Server.Core/Models/Eft/Hideout/HideoutCustomizationSetMannequinPoseRequest.cs index f309fe52..ab6d1152 100644 --- a/Libraries/SPTarkov.Server.Core/Models/Eft/Hideout/HideoutCustomizationSetMannequinPoseRequest.cs +++ b/Libraries/SPTarkov.Server.Core/Models/Eft/Hideout/HideoutCustomizationSetMannequinPoseRequest.cs @@ -1,4 +1,5 @@ using System.Text.Json.Serialization; +using SPTarkov.Server.Core.Models.Common; using SPTarkov.Server.Core.Models.Eft.Inventory; namespace SPTarkov.Server.Core.Models.Eft.Hideout; @@ -9,7 +10,7 @@ public record HideoutCustomizationSetMannequinPoseRequest : InventoryBaseActionR public Dictionary? ExtensionData { get; set; } [JsonPropertyName("poses")] - public Dictionary? Poses { get; set; } + public Dictionary? Poses { get; set; } [JsonPropertyName("timestamp")] public double? Timestamp { get; set; } diff --git a/Libraries/SPTarkov.Server.Core/Models/Eft/Profile/GetOtherProfileResponse.cs b/Libraries/SPTarkov.Server.Core/Models/Eft/Profile/GetOtherProfileResponse.cs index f48e0600..22957876 100644 --- a/Libraries/SPTarkov.Server.Core/Models/Eft/Profile/GetOtherProfileResponse.cs +++ b/Libraries/SPTarkov.Server.Core/Models/Eft/Profile/GetOtherProfileResponse.cs @@ -10,7 +10,7 @@ public record GetOtherProfileResponse public Dictionary? ExtensionData { get; set; } [JsonPropertyName("id")] - public string? Id { get; set; } + public MongoId? Id { get; set; } [JsonPropertyName("aid")] public int? Aid { get; set; } @@ -28,7 +28,7 @@ public record GetOtherProfileResponse public OtherProfileEquipment? Equipment { get; set; } [JsonPropertyName("achievements")] - public Dictionary? Achievements { get; set; } + public Dictionary? Achievements { get; set; } [JsonPropertyName("favoriteItems")] public List? FavoriteItems { get; set; } diff --git a/Libraries/SPTarkov.Server.Core/Services/CreateProfileService.cs b/Libraries/SPTarkov.Server.Core/Services/CreateProfileService.cs index a3aef213..32d5bc53 100644 --- a/Libraries/SPTarkov.Server.Core/Services/CreateProfileService.cs +++ b/Libraries/SPTarkov.Server.Core/Services/CreateProfileService.cs @@ -3,6 +3,7 @@ using SPTarkov.DI.Annotations; using SPTarkov.Server.Core.Extensions; using SPTarkov.Server.Core.Generators; using SPTarkov.Server.Core.Helpers; +using SPTarkov.Server.Core.Models.Common; using SPTarkov.Server.Core.Models.Eft.Common; using SPTarkov.Server.Core.Models.Eft.Common.Tables; using SPTarkov.Server.Core.Models.Eft.ItemEvent; @@ -67,7 +68,7 @@ public class CreateProfileService( pmcData.RepeatableQuests = []; pmcData.CarExtractCounts = new Dictionary(); pmcData.CoopExtractCounts = new Dictionary(); - pmcData.Achievements = new Dictionary(); + pmcData.Achievements = 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 @@ -253,7 +254,7 @@ public class CreateProfileService( protected void UpdateInventoryEquipmentId(PmcData pmcData) { var oldEquipmentId = pmcData.Inventory.Equipment; - pmcData.Inventory.Equipment = _hashUtil.Generate(); + pmcData.Inventory.Equipment = new MongoId(); foreach (var item in pmcData.Inventory.Items) { diff --git a/Libraries/SPTarkov.Server.Core/Services/LocationLifecycleService.cs b/Libraries/SPTarkov.Server.Core/Services/LocationLifecycleService.cs index 7e7daaf5..7db9fa8f 100644 --- a/Libraries/SPTarkov.Server.Core/Services/LocationLifecycleService.cs +++ b/Libraries/SPTarkov.Server.Core/Services/LocationLifecycleService.cs @@ -1320,7 +1320,7 @@ public class LocationLifecycleService /// All profile achievements at the end of a raid protected void ProcessAchievementRewards( SptProfile fullProfile, - Dictionary? postRaidAchievements + Dictionary? postRaidAchievements ) { var sessionId = fullProfile.ProfileInfo.ProfileId; diff --git a/Libraries/SPTarkov.Server.Core/Services/PaymentService.cs b/Libraries/SPTarkov.Server.Core/Services/PaymentService.cs index 661f9892..0c4e6cdf 100644 --- a/Libraries/SPTarkov.Server.Core/Services/PaymentService.cs +++ b/Libraries/SPTarkov.Server.Core/Services/PaymentService.cs @@ -1,6 +1,7 @@ using SPTarkov.DI.Annotations; using SPTarkov.Server.Core.Extensions; using SPTarkov.Server.Core.Helpers; +using SPTarkov.Server.Core.Models.Common; using SPTarkov.Server.Core.Models.Eft.Common; using SPTarkov.Server.Core.Models.Eft.Common.Tables; using SPTarkov.Server.Core.Models.Eft.Inventory; @@ -272,7 +273,7 @@ public class PaymentService( // Create single currency item with all currency on it var rootCurrencyReward = new Item { - Id = _hashUtil.Generate(), + Id = new MongoId(), Template = currencyTpl, Upd = new Upd { StackObjectsCount = Math.Round(calcAmount) }, };