From a0a4307cb62f21700e58374c8eb48a72bf9263bf Mon Sep 17 00:00:00 2001 From: Archangel Date: Sat, 23 Aug 2025 13:25:48 +0200 Subject: [PATCH] Update TheVoices migration --- .../Migration/Migrations/4.0/TheVoices.cs | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/Libraries/SPTarkov.Server.Core/Migration/Migrations/4.0/TheVoices.cs b/Libraries/SPTarkov.Server.Core/Migration/Migrations/4.0/TheVoices.cs index 5154e613..4797afc0 100644 --- a/Libraries/SPTarkov.Server.Core/Migration/Migrations/4.0/TheVoices.cs +++ b/Libraries/SPTarkov.Server.Core/Migration/Migrations/4.0/TheVoices.cs @@ -12,6 +12,7 @@ public class TheVoices(DatabaseService databaseService) : AbstractProfileMigrati { private bool _pmcVoiceIsMissing = false; private bool _scavVoiceIsMissing = false; + private bool _hasScavVoiceFromPreviousSPTVer = false; public override string FromVersion { @@ -40,7 +41,9 @@ public class TheVoices(DatabaseService databaseService) : AbstractProfileMigrati _scavVoiceIsMissing = profile["characters"]?["scav"]?["Customization"]?["Voice"] == null; - return _pmcVoiceIsMissing || _scavVoiceIsMissing; + _hasScavVoiceFromPreviousSPTVer = profile["characters"]?["scav"]?["Info"]?["Voice"] is not null; + + return _pmcVoiceIsMissing || _scavVoiceIsMissing || _hasScavVoiceFromPreviousSPTVer; } public override JsonObject? Migrate(JsonObject profile) @@ -55,6 +58,14 @@ public class TheVoices(DatabaseService databaseService) : AbstractProfileMigrati HandleScavVoice(profile); } + // Handle this only if _scavVoiceIsMissing hasn't already processed, there was a time the SPT server still saved this + // Old var to profiles + if (_hasScavVoiceFromPreviousSPTVer && !_scavVoiceIsMissing) + { + var scavInfo = profile["characters"]!["scav"]!["Info"] as JsonObject; + scavInfo?.Remove("Voice"); + } + return base.Migrate(profile); }