From fed9f3dd461db91d9b1cd72ff60d2edb7d0345fd Mon Sep 17 00:00:00 2001 From: Chomp Date: Sat, 28 Jun 2025 11:53:05 +0100 Subject: [PATCH] Made `GetScavSkills` an extension method and made more generic --- .../Extensions/ProfileExtensions.cs | 15 +++++++++++++ .../Generators/PlayerScavGenerator.cs | 22 +------------------ 2 files changed, 16 insertions(+), 21 deletions(-) diff --git a/Libraries/SPTarkov.Server.Core/Extensions/ProfileExtensions.cs b/Libraries/SPTarkov.Server.Core/Extensions/ProfileExtensions.cs index 9ec99bfe..ca469ba7 100644 --- a/Libraries/SPTarkov.Server.Core/Extensions/ProfileExtensions.cs +++ b/Libraries/SPTarkov.Server.Core/Extensions/ProfileExtensions.cs @@ -95,5 +95,20 @@ namespace SPTarkov.Server.Core.Extensions return Math.Floor(fenceInfo.Standing ?? 0); } + + public static Skills GetSkillsOrDefault(this PmcData profile) + { + return profile?.Skills ?? GetDefaultSkills(); + } + + private static Skills GetDefaultSkills() + { + return new Skills + { + Common = [], + Mastering = [], + Points = 0, + }; + } } } diff --git a/Libraries/SPTarkov.Server.Core/Generators/PlayerScavGenerator.cs b/Libraries/SPTarkov.Server.Core/Generators/PlayerScavGenerator.cs index d35b420b..4d971446 100644 --- a/Libraries/SPTarkov.Server.Core/Generators/PlayerScavGenerator.cs +++ b/Libraries/SPTarkov.Server.Core/Generators/PlayerScavGenerator.cs @@ -105,7 +105,7 @@ public class PlayerScavGenerator( // Persist previous scav data into new scav scavData.Id = existingScavDataClone.Id ?? pmcDataClone.Savage; scavData.SessionId = existingScavDataClone.SessionId ?? pmcDataClone.SessionId; - scavData.Skills = GetScavSkills(existingScavDataClone); + scavData.Skills = existingScavDataClone.GetSkillsOrDefault(); scavData.Stats = GetScavStats(existingScavDataClone); scavData.Info.Level = GetScavLevel(existingScavDataClone); scavData.Info.Experience = GetScavExperience(existingScavDataClone); @@ -376,26 +376,6 @@ public class PlayerScavGenerator( } } - protected Skills GetScavSkills(PmcData scavProfile) - { - if (scavProfile?.Skills != null) - { - return scavProfile.Skills; - } - - return GetDefaultScavSkills(); - } - - protected Skills GetDefaultScavSkills() - { - return new Skills - { - Common = [], - Mastering = [], - Points = 0, - }; - } - protected Stats GetScavStats(PmcData scavProfile) { if (scavProfile?.Stats != null)