From 2da3142d61dfaccae991af23ff141803d8828435 Mon Sep 17 00:00:00 2001 From: Archangel Date: Sat, 12 Jul 2025 14:48:20 +0200 Subject: [PATCH] Improve character voice migration --- .../Migration/Migrations/TheVoices.cs | 21 +++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/Libraries/SPTarkov.Server.Core/Migration/Migrations/TheVoices.cs b/Libraries/SPTarkov.Server.Core/Migration/Migrations/TheVoices.cs index 01e9d15c..103b639c 100644 --- a/Libraries/SPTarkov.Server.Core/Migration/Migrations/TheVoices.cs +++ b/Libraries/SPTarkov.Server.Core/Migration/Migrations/TheVoices.cs @@ -11,6 +11,9 @@ namespace SPTarkov.Server.Core.Migration.Migrations [Injectable] public class TheVoices(DatabaseService databaseService) : AbstractProfileMigration { + private bool _pmcVoiceIsMissing = false; + private bool _scavVoiceIsMissing = false; + public override string FromVersion { get { return "~4.0"; } @@ -37,15 +40,25 @@ namespace SPTarkov.Server.Core.Migration.Migrations IEnumerable previouslyRanMigrations ) { - bool voiceIsMissing = profile["characters"]?["pmc"]?["Customization"]?["Voice"] == null; + _pmcVoiceIsMissing = profile["characters"]?["pmc"]?["Customization"]?["Voice"] == null; - return voiceIsMissing; + _scavVoiceIsMissing = + profile["characters"]?["scav"]?["Customization"]?["Voice"] == null; + + return _pmcVoiceIsMissing || _scavVoiceIsMissing; } public override JsonObject? Migrate(JsonObject profile) { - HandlePmcVoice(profile); - HandleScavVoice(profile); + if (_pmcVoiceIsMissing) + { + HandlePmcVoice(profile); + } + + if (_scavVoiceIsMissing) + { + HandleScavVoice(profile); + } return profile; }