From a7dd119c016b927e0e6822fe2a6b491972a5f4c1 Mon Sep 17 00:00:00 2001 From: MusicManiac <14209235+MusicManiac@users.noreply.github.com> Date: Fri, 26 May 2023 21:58:52 +0200 Subject: [PATCH] Added Gear Degradation Option --- ASS.csproj | 32 +++++++++++++++++++------------- Plugin.cs | 10 +++++++++- Properties/AssemblyInfo.cs | 4 ++-- 3 files changed, 30 insertions(+), 16 deletions(-) diff --git a/ASS.csproj b/ASS.csproj index 5787288..b396a9a 100644 --- a/ASS.csproj +++ b/ASS.csproj @@ -33,42 +33,42 @@ False - F:\SPT-AKI\BepInEx\core\0Harmony.dll + ..\..\..\..\..\SPT\BepInEx\core\0Harmony.dll - F:\SPT-AKI\EscapeFromTarkov_Data\Managed\Aki.Build.dll + ..\..\..\..\..\SPT\EscapeFromTarkov_Data\Managed\Aki.Build.dll False - F:\SPT-AKI\EscapeFromTarkov_Data\Managed\Aki.Common.dll + ..\..\..\..\..\SPT\EscapeFromTarkov_Data\Managed\Aki.Common.dll False - F:\SPT-AKI\EscapeFromTarkov_Data\Managed\Aki.Reflection.dll + ..\..\..\..\..\SPT\EscapeFromTarkov_Data\Managed\Aki.Reflection.dll False - F:\SPT-AKI\EscapeFromTarkov_Data\Managed\Assembly-CSharp.dll + ..\..\..\..\..\SPT\EscapeFromTarkov_Data\Managed\Assembly-CSharp.dll False - F:\SPT-AKI\BepInEx\core\BepInEx.dll + ..\..\..\..\..\SPT\BepInEx\core\BepInEx.dll False - F:\SPT-AKI\EscapeFromTarkov_Data\Managed\Comfort.dll + ..\..\..\..\..\SPT\EscapeFromTarkov_Data\Managed\Comfort.dll False - F:\SPT-AKI\EscapeFromTarkov_Data\Managed\Comfort.Unity.dll + ..\..\..\..\..\SPT\EscapeFromTarkov_Data\Managed\Comfort.Unity.dll False - F:\SPT-AKI\EscapeFromTarkov_Data\Managed\ItemComponent.Types.dll + ..\..\..\..\..\SPT\EscapeFromTarkov_Data\Managed\ItemComponent.Types.dll False - F:\SPT-AKI\EscapeFromTarkov_Data\Managed\ItemTemplate.Types.dll + ..\..\..\..\..\SPT\EscapeFromTarkov_Data\Managed\ItemTemplate.Types.dll @@ -80,11 +80,17 @@ False - F:\SPT-AKI\EscapeFromTarkov_Data\Managed\UnityEngine.dll + ..\..\..\..\..\SPT\EscapeFromTarkov_Data\Managed\UnityEngine.dll False - F:\SPT-AKI\EscapeFromTarkov_Data\Managed\UnityEngine.CoreModule.dll + ..\..\..\..\..\SPT\EscapeFromTarkov_Data\Managed\UnityEngine.CoreModule.dll + + + ..\..\..\..\..\SPT\EscapeFromTarkov_Data\Managed\UnityEngine.IMGUIModule.dll + + + ..\..\..\..\..\SPT\EscapeFromTarkov_Data\Managed\UnityEngine.TextRenderingModule.dll @@ -93,6 +99,6 @@ - copy "$(TargetPath)" "F:\SPT-AKI\BepInEx\plugins\dvize.ASS.dll" + copy "$(TargetPath)" "C:\SPT\BepInEx\plugins\dvize.ASS.dll" \ No newline at end of file diff --git a/Plugin.cs b/Plugin.cs index 16b6460..86e7b55 100644 --- a/Plugin.cs +++ b/Plugin.cs @@ -29,11 +29,16 @@ namespace armorMod { get; set; } + private static ConfigEntry MaxDurabilityDegradationRateOverTime + { + get; set; + } private AbstractGame game; private bool runOnceAlready = false; private bool newGame = true; private float newRepairRate; + private float newMaxDurabilityDrainRate; private ArmorComponent armor; private static float timeSinceLastHit = 0f; @@ -51,6 +56,7 @@ namespace armorMod ArmorServiceMode = Config.Bind("Armor Repair Settings", "Enable/Disable Mod", true, "Enables the Armor Repairing Options Below"); TimeDelayRepairInSec = Config.Bind("Armor Repair Settings", "Time Delay Repair in Sec", 60f, "How Long Before you were last hit that it repairs armor"); ArmorRepairRateOverTime = Config.Bind("Armor Repair Settings", "Armor Repair Rate", 0.5f, "How much durability per second is repaired"); + MaxDurabilityDegradationRateOverTime = Config.Bind("Armor Repair Settings", "Max Durability Drain Rate", 0.025f, "How much max durability per second of repairs is drained"); } private void Update() { @@ -85,6 +91,7 @@ namespace armorMod //Logger.LogInfo($"Repairing Armor Block Reached Because TimeSinceLastHitReached: " + timeSinceLastHit); //repair the armor divided by the time.unfixed rate newRepairRate = ArmorRepairRateOverTime.Value * Time.deltaTime; + newMaxDurabilityDrainRate = MaxDurabilityDegradationRateOverTime.Value * Time.deltaTime; foreach (EquipmentSlot slot in equipmentSlotDictionary.Keys.ToArray()) { @@ -113,7 +120,8 @@ namespace armorMod else { armor.Repairable.Durability += newRepairRate; - //Logger.LogInfo("ASS: Repairing " + item.LocalizedName() + " : " + armor.Repairable.Durability + "/" + armor.Repairable.MaxDurability); + armor.Repairable.MaxDurability -= newMaxDurabilityDrainRate; + Logger.LogInfo("ASS: Repairing " + item.LocalizedName() + " : " + armor.Repairable.Durability + "/" + armor.Repairable.MaxDurability); } } diff --git a/Properties/AssemblyInfo.cs b/Properties/AssemblyInfo.cs index 92e355a..57cbf9f 100644 --- a/Properties/AssemblyInfo.cs +++ b/Properties/AssemblyInfo.cs @@ -31,5 +31,5 @@ using System.Runtime.InteropServices; // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.0.0.0")] -[assembly: AssemblyFileVersion("1.0.0.0")] +[assembly: AssemblyVersion("1.1.0.0")] +[assembly: AssemblyFileVersion("1.1.0.0")]