diff --git a/Libraries/SPTarkov.Server.Core/Generators/RepeatableQuestGenerator.cs b/Libraries/SPTarkov.Server.Core/Generators/RepeatableQuestGenerator.cs index c83015b9..7727cef6 100644 --- a/Libraries/SPTarkov.Server.Core/Generators/RepeatableQuestGenerator.cs +++ b/Libraries/SPTarkov.Server.Core/Generators/RepeatableQuestGenerator.cs @@ -30,6 +30,36 @@ public class RepeatableQuestGenerator( ICloner _cloner ) { + /// + /// Body parts to present to the client as opposed to the body part information in quest data. + /// + private static readonly Dictionary> _bodyPartsToClient = new() + { + { + "Arms", [ + "LeftArm", + "RightArm" + ] + }, + { + "Legs", [ + "LeftLeg", + "RightLeg" + ] + }, + { + "Head", [ + "Head" + ] + }, + { + "Chest", [ + "Chest", + "Stomach" + ] + }, + }; + protected int _maxRandomNumberAttempts = 6; protected QuestConfig _questConfig = _configServer.GetConfig(); @@ -218,7 +248,15 @@ public class RepeatableQuestGenerator( { // more than one part lead to an "OR" condition hence more parts reduce the difficulty probability += bodyPartsConfig.Probability(bodyPart).Value; - bodyPartsToClient.Add(bodyPart); + + if (_bodyPartsToClient.TryGetValue(bodyPart, out var bodyPartListToClient)) + { + bodyPartsToClient.AddRange(bodyPartListToClient); + } + else + { + bodyPartsToClient.Add(bodyPart); + } } bodyPartDifficulty = 1 / probability;