From 52d1514f820933f5303b0e2b012fef5a30e2bed1 Mon Sep 17 00:00:00 2001 From: CWX Date: Thu, 10 Apr 2025 17:44:27 +0100 Subject: [PATCH] Fix repairing Buffs and botgen buffs --- .../SPTarkov.Server.Core/Models/Enums/BuffType.cs | 11 +++++++++++ .../Services/RagfairTaxService.cs | 6 +++--- .../SPTarkov.Server.Core/Services/RepairService.cs | 2 +- Libraries/SPTarkov.Server.Core/Utils/JsonUtil.cs | 1 + 4 files changed, 16 insertions(+), 4 deletions(-) create mode 100644 Libraries/SPTarkov.Server.Core/Models/Enums/BuffType.cs diff --git a/Libraries/SPTarkov.Server.Core/Models/Enums/BuffType.cs b/Libraries/SPTarkov.Server.Core/Models/Enums/BuffType.cs new file mode 100644 index 00000000..63df367d --- /dev/null +++ b/Libraries/SPTarkov.Server.Core/Models/Enums/BuffType.cs @@ -0,0 +1,11 @@ +namespace SPTarkov.Server.Core.Models.Enums; + +public enum BuffType +{ + WeaponSpread, + DamageReduction, + MalfunctionProtections, + WeaponDamage, + ArmorEfficiency, + DurabilityImprovement +} diff --git a/Libraries/SPTarkov.Server.Core/Services/RagfairTaxService.cs b/Libraries/SPTarkov.Server.Core/Services/RagfairTaxService.cs index f75fa5af..bb5adb04 100644 --- a/Libraries/SPTarkov.Server.Core/Services/RagfairTaxService.cs +++ b/Libraries/SPTarkov.Server.Core/Services/RagfairTaxService.cs @@ -109,9 +109,9 @@ public class RagfairTaxService( _databaseService.GetGlobals().Configuration.RepairSettings.ItemEnhancementSettings; var priceModiferValue = buffType switch { - "DamageReduction" => itemEnhancementSettings.DamageReduction.PriceModifierValue.Value, - "MalfunctionProtections" => itemEnhancementSettings.MalfunctionProtections.PriceModifierValue.Value, - "WeaponSpread" => itemEnhancementSettings.WeaponSpread.PriceModifierValue.Value, + BuffType.DamageReduction => itemEnhancementSettings.DamageReduction.PriceModifierValue.Value, + BuffType.MalfunctionProtections => itemEnhancementSettings.MalfunctionProtections.PriceModifierValue.Value, + BuffType.WeaponSpread => itemEnhancementSettings.WeaponSpread.PriceModifierValue.Value, _ => 1d }; discountedTax *= 1.0 + Math.Abs(item.Upd.Buff.Value.Value - 1.0) * priceModiferValue; diff --git a/Libraries/SPTarkov.Server.Core/Services/RepairService.cs b/Libraries/SPTarkov.Server.Core/Services/RepairService.cs index 81e5bf31..a67adafa 100644 --- a/Libraries/SPTarkov.Server.Core/Services/RepairService.cs +++ b/Libraries/SPTarkov.Server.Core/Services/RepairService.cs @@ -551,7 +551,7 @@ public class RepairService( item.Upd.Buff = new UpdBuff { Rarity = bonusRarityName, - BuffType = bonusTypeName, + BuffType = Enum.Parse(bonusTypeName), Value = bonusValue, ThresholdDurability = _randomUtil.GetPercentOfValue(bonusThresholdPercent, item.Upd.Repairable.Durability.Value, 0) }; diff --git a/Libraries/SPTarkov.Server.Core/Utils/JsonUtil.cs b/Libraries/SPTarkov.Server.Core/Utils/JsonUtil.cs index 2bf9ab0f..57b27841 100644 --- a/Libraries/SPTarkov.Server.Core/Utils/JsonUtil.cs +++ b/Libraries/SPTarkov.Server.Core/Utils/JsonUtil.cs @@ -50,6 +50,7 @@ public class JsonUtil new EftEnumConverter(), new EftEnumConverter(), new EftEnumConverter(), + new EftEnumConverter(), new EftListEnumConverter(), new EftListEnumConverter(), new EftListEnumConverter(),