From ff9fa9efbdd0a2cb4f09fbceb78f5bb58bac7448 Mon Sep 17 00:00:00 2001
From: MusicManiac <14209235+MusicManiac@users.noreply.github.com>
Date: Wed, 21 Jun 2023 21:21:56 +0200
Subject: [PATCH 1/2] Added cap for maximum armor durability
---
ASS.csproj | 30 +++++++++++++++---------------
Plugin.cs | 12 ++++++++++--
Properties/AssemblyInfo.cs | 4 ++--
3 files changed, 27 insertions(+), 19 deletions(-)
diff --git a/ASS.csproj b/ASS.csproj
index 7cbb8b3..7fb3419 100644
--- a/ASS.csproj
+++ b/ASS.csproj
@@ -33,42 +33,42 @@
False
- BepInEx\core\0Harmony.dll
+ ..\..\..\..\..\..\SPT-3.5.7\BepInEx\core\0Harmony.dll
- F:\SPT-AKI\EscapeFromTarkov_Data\Managed\Aki.Build.dll
+ ..\..\..\..\..\..\SPT-3.5.7\EscapeFromTarkov_Data\Managed\Aki.Build.dll
False
- F:\SPT-AKI\EscapeFromTarkov_Data\Managed\Aki.Common.dll
+ ..\..\..\..\..\..\SPT-3.5.7\EscapeFromTarkov_Data\Managed\Aki.Common.dll
False
- F:\SPT-AKI\EscapeFromTarkov_Data\Managed\Aki.Reflection.dll
+ ..\..\..\..\..\..\SPT-3.5.7\EscapeFromTarkov_Data\Managed\Aki.Reflection.dll
False
- F:\SPT-AKI\EscapeFromTarkov_Data\Managed\Assembly-CSharp.dll
+ ..\..\..\..\..\..\SPT-3.5.7\EscapeFromTarkov_Data\Managed\Assembly-CSharp.dll
False
- F:\SPT-AKI\BepInEx\core\BepInEx.dll
+ ..\..\..\..\..\..\SPT-3.5.7\BepInEx\core\BepInEx.dll
False
- F:\SPT-AKI\EscapeFromTarkov_Data\Managed\Comfort.dll
+ ..\..\..\..\..\..\SPT-3.5.7\EscapeFromTarkov_Data\Managed\Comfort.dll
False
- F:\SPT-AKI\EscapeFromTarkov_Data\Managed\Comfort.Unity.dll
+ ..\..\..\..\..\..\SPT-3.5.7\EscapeFromTarkov_Data\Managed\Comfort.Unity.dll
False
- F:\SPT-AKI\EscapeFromTarkov_Data\Managed\ItemComponent.Types.dll
+ ..\..\..\..\..\..\SPT-3.5.7\EscapeFromTarkov_Data\Managed\ItemComponent.Types.dll
False
- F:\SPT-AKI\EscapeFromTarkov_Data\Managed\ItemTemplate.Types.dll
+ ..\..\..\..\..\..\SPT-3.5.7\EscapeFromTarkov_Data\Managed\ItemTemplate.Types.dll
@@ -80,17 +80,17 @@
False
- F:\SPT-AKI\EscapeFromTarkov_Data\Managed\UnityEngine.dll
+ ..\..\..\..\..\..\SPT-3.5.7\EscapeFromTarkov_Data\Managed\UnityEngine.dll
False
- F:\SPT-AKI\EscapeFromTarkov_Data\Managed\UnityEngine.CoreModule.dll
+ ..\..\..\..\..\..\SPT-3.5.7\EscapeFromTarkov_Data\Managed\UnityEngine.CoreModule.dll
- F:\SPT-AKI\EscapeFromTarkov_Data\Managed\UnityEngine.IMGUIModule.dll
+ ..\..\..\..\..\..\SPT-3.5.7\EscapeFromTarkov_Data\Managed\UnityEngine.IMGUIModule.dll
- F:\SPT-AKI\EscapeFromTarkov_Data\Managed\UnityEngine.TextRenderingModule.dll
+ ..\..\..\..\..\..\SPT-3.5.7\EscapeFromTarkov_Data\Managed\UnityEngine.TextRenderingModule.dll
@@ -99,6 +99,6 @@
- copy "$(TargetPath)" "F:\SPT-AKI\BepInEx\plugins\dvize.ASS.dll"
+ copy "$(TargetPath)" "C:\SPT-3.5.7\BepInEx\plugins\dvize.ASS.dll"
\ No newline at end of file
diff --git a/Plugin.cs b/Plugin.cs
index 441cda3..d658c0b 100644
--- a/Plugin.cs
+++ b/Plugin.cs
@@ -12,7 +12,7 @@ using UnityEngine;
namespace armorMod
{
- [BepInPlugin("com.armorMod.ASS", "armorMod.ASS", "1.1.0")]
+ [BepInPlugin("com.armorMod.ASS", "armorMod.ASS", "1.2.0")]
public class ASS : BaseUnityPlugin
{
@@ -36,6 +36,10 @@ namespace armorMod
{
get; set;
}
+ private static ConfigEntry MaxDurabilityCap
+ {
+ get; set;
+ }
private AbstractGame game;
private bool runOnceAlready = false;
@@ -43,6 +47,7 @@ namespace armorMod
private float newRepairRate;
private float newMaxDurabilityDrainRate;
private ArmorComponent armor;
+ private float currentArmorDurabilityPercentage;
private static float timeSinceLastHit = 0f;
/*private static InsuranceCompanyClass insurance;
private static List insuranceList;*/
@@ -63,6 +68,7 @@ namespace armorMod
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");
+ MaxDurabilityCap = Config.Bind("Armor Repair Settings", "Max Durability Cap", 100f, "Maximum durability percentage to which armor will be able to repair to. For example, setting to 80 would repair your armor to maximum of 80% of it's max durability");
}
private void Update()
{
@@ -117,8 +123,10 @@ namespace armorMod
//get the armorcomponent of each item in items and check to see if all item componenets (even helmet side ears) are max durability
armor = item.GetItemComponent();
+ currentArmorDurabilityPercentage = armor.Repairable.Durability / armor.Repairable.MaxDurability * 100;
+
//check if it needs repair for the current item in loop of all items for the slot
- if (armor != null && (armor.Repairable.Durability < armor.Repairable.MaxDurability))
+ if (armor != null && (currentArmorDurabilityPercentage < MaxDurabilityCap.Value) && (armor.Repairable.Durability < armor.Repairable.MaxDurability))
{
//increase armor durability by newRepairRate until maximum then set as maximum durability
if (armor.Repairable.Durability + newRepairRate >= armor.Repairable.MaxDurability)
diff --git a/Properties/AssemblyInfo.cs b/Properties/AssemblyInfo.cs
index 57cbf9f..ff89820 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.1.0.0")]
-[assembly: AssemblyFileVersion("1.1.0.0")]
+[assembly: AssemblyVersion("1.2.0.0")]
+[assembly: AssemblyFileVersion("1.2.0.0")]
From ecb05e7a37aad2c6fd94a42f6bd9da6a2641fd20 Mon Sep 17 00:00:00 2001
From: MusicManiac <14209235+MusicManiac@users.noreply.github.com>
Date: Wed, 21 Jun 2023 21:29:05 +0200
Subject: [PATCH 2/2] Reverted csproj file changes so you don't have to
---
ASS.csproj | 30 +++++++++++++++---------------
1 file changed, 15 insertions(+), 15 deletions(-)
diff --git a/ASS.csproj b/ASS.csproj
index 7fb3419..7cbb8b3 100644
--- a/ASS.csproj
+++ b/ASS.csproj
@@ -33,42 +33,42 @@
False
- ..\..\..\..\..\..\SPT-3.5.7\BepInEx\core\0Harmony.dll
+ BepInEx\core\0Harmony.dll
- ..\..\..\..\..\..\SPT-3.5.7\EscapeFromTarkov_Data\Managed\Aki.Build.dll
+ F:\SPT-AKI\EscapeFromTarkov_Data\Managed\Aki.Build.dll
False
- ..\..\..\..\..\..\SPT-3.5.7\EscapeFromTarkov_Data\Managed\Aki.Common.dll
+ F:\SPT-AKI\EscapeFromTarkov_Data\Managed\Aki.Common.dll
False
- ..\..\..\..\..\..\SPT-3.5.7\EscapeFromTarkov_Data\Managed\Aki.Reflection.dll
+ F:\SPT-AKI\EscapeFromTarkov_Data\Managed\Aki.Reflection.dll
False
- ..\..\..\..\..\..\SPT-3.5.7\EscapeFromTarkov_Data\Managed\Assembly-CSharp.dll
+ F:\SPT-AKI\EscapeFromTarkov_Data\Managed\Assembly-CSharp.dll
False
- ..\..\..\..\..\..\SPT-3.5.7\BepInEx\core\BepInEx.dll
+ F:\SPT-AKI\BepInEx\core\BepInEx.dll
False
- ..\..\..\..\..\..\SPT-3.5.7\EscapeFromTarkov_Data\Managed\Comfort.dll
+ F:\SPT-AKI\EscapeFromTarkov_Data\Managed\Comfort.dll
False
- ..\..\..\..\..\..\SPT-3.5.7\EscapeFromTarkov_Data\Managed\Comfort.Unity.dll
+ F:\SPT-AKI\EscapeFromTarkov_Data\Managed\Comfort.Unity.dll
False
- ..\..\..\..\..\..\SPT-3.5.7\EscapeFromTarkov_Data\Managed\ItemComponent.Types.dll
+ F:\SPT-AKI\EscapeFromTarkov_Data\Managed\ItemComponent.Types.dll
False
- ..\..\..\..\..\..\SPT-3.5.7\EscapeFromTarkov_Data\Managed\ItemTemplate.Types.dll
+ F:\SPT-AKI\EscapeFromTarkov_Data\Managed\ItemTemplate.Types.dll
@@ -80,17 +80,17 @@
False
- ..\..\..\..\..\..\SPT-3.5.7\EscapeFromTarkov_Data\Managed\UnityEngine.dll
+ F:\SPT-AKI\EscapeFromTarkov_Data\Managed\UnityEngine.dll
False
- ..\..\..\..\..\..\SPT-3.5.7\EscapeFromTarkov_Data\Managed\UnityEngine.CoreModule.dll
+ F:\SPT-AKI\EscapeFromTarkov_Data\Managed\UnityEngine.CoreModule.dll
- ..\..\..\..\..\..\SPT-3.5.7\EscapeFromTarkov_Data\Managed\UnityEngine.IMGUIModule.dll
+ F:\SPT-AKI\EscapeFromTarkov_Data\Managed\UnityEngine.IMGUIModule.dll
- ..\..\..\..\..\..\SPT-3.5.7\EscapeFromTarkov_Data\Managed\UnityEngine.TextRenderingModule.dll
+ F:\SPT-AKI\EscapeFromTarkov_Data\Managed\UnityEngine.TextRenderingModule.dll
@@ -99,6 +99,6 @@
- copy "$(TargetPath)" "C:\SPT-3.5.7\BepInEx\plugins\dvize.ASS.dll"
+ copy "$(TargetPath)" "F:\SPT-AKI\BepInEx\plugins\dvize.ASS.dll"
\ No newline at end of file