fixed? the patch breaking when changing scopes.
This commit is contained in:
parent
666f4fd5f2
commit
1aca3df01c
@ -31,6 +31,10 @@
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="0Harmony, Version=2.9.0.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\MyFirstPlugin\MyFirstPlugin\lib\0Harmony.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Aki.Reflection">
|
||||
<HintPath>E:\SPT-AKI\SPT-AKI 2.3.1 UniformAimTest\EscapeFromTarkov_Data\Managed\Aki.Reflection.dll</HintPath>
|
||||
</Reference>
|
||||
|
@ -1,8 +1,7 @@
|
||||
using System.Reflection;
|
||||
using Aki.Reflection.Patching;
|
||||
using EFT;
|
||||
using UniformAim;
|
||||
|
||||
using HarmonyLib;
|
||||
|
||||
namespace UniformAim
|
||||
{
|
||||
@ -19,4 +18,19 @@ namespace UniformAim
|
||||
____aimingSens = Plugin.mySens;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
public class get_AimingSensitivityPatch : ModulePatch
|
||||
{
|
||||
protected override MethodBase GetTargetMethod()
|
||||
{
|
||||
return typeof(Player.FirearmController).GetMethod("get_AimingSensitivity");
|
||||
}
|
||||
[PatchPostfix]
|
||||
public static void PatchPostfix(ref float ____aimingSens)
|
||||
{
|
||||
____aimingSens = Plugin.mySens;
|
||||
}
|
||||
}
|
||||
}
|
@ -1,19 +1,18 @@
|
||||
using BepInEx;
|
||||
using BepInEx.Configuration;
|
||||
using UniformAim;
|
||||
using System;
|
||||
using UnityEngine;
|
||||
|
||||
namespace UniformAim
|
||||
{
|
||||
[BepInPlugin("com.greg.tarkovuniformaim", "Uniform Aim for Tarkov", "0.1.1")]
|
||||
[BepInPlugin("com.greg.tarkovuniformaim", "Uniform Aim for Tarkov", "1.0.0-rc")]
|
||||
[BepInProcess("EscapeFromTarkov.exe")]
|
||||
|
||||
public class Plugin : BaseUnityPlugin
|
||||
{
|
||||
//Bepinex.Configurator fields
|
||||
public static ConfigEntry<int> configFOV;
|
||||
public static ConfigEntry<float> configCoeff;
|
||||
public static ConfigEntry<int> configCoeff;
|
||||
public static ConfigEntry<int> configSens;
|
||||
|
||||
public static float mySens = 2f;
|
||||
@ -22,7 +21,7 @@ namespace UniformAim
|
||||
float lastFOV = -1f;
|
||||
float lastFOV2 = -1f;
|
||||
|
||||
//human-friendly names
|
||||
//human-friendly names for variables used later
|
||||
float FPSCameraFOV = -1f;
|
||||
float ScopeFOV = -1f;
|
||||
float currentFOV = -1f;
|
||||
@ -38,7 +37,6 @@ namespace UniformAim
|
||||
//Logger.LogInfo("GetAspectRatio(): resX: " + resX + " resY: " + resY);
|
||||
return (resX / resY);
|
||||
}
|
||||
//convert degrees to radians
|
||||
//calculate horizontal FOV based on vertical FOV
|
||||
float CalculateHFOV(float FOV)
|
||||
{
|
||||
@ -57,25 +55,31 @@ namespace UniformAim
|
||||
aimedFOV = aimedFOV / 2 * Mathf.Deg2Rad;
|
||||
hipFOV = hipFOV / 2 * Mathf.Deg2Rad;
|
||||
|
||||
//ratio of tangents as sensitivity
|
||||
float sensitivity = (float)((Math.Tan(aimedFOV) / Math.Tan(hipFOV)) * (mySens / 100));
|
||||
float exponent = (float)(100f / configCoeff.Value);
|
||||
|
||||
return sensitivity;
|
||||
float tanRatio = (float)(Math.Tan(aimedFOV) / Math.Tan(hipFOV));
|
||||
|
||||
float sensitivity = (float)(configSens.Value/100f);
|
||||
|
||||
float result = (float)Math.Pow(tanRatio, exponent) * sensitivity;
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
void Awake()
|
||||
{
|
||||
//Enable uniform aim patch
|
||||
new UpdateSensitivityPatch().Enable();
|
||||
new get_AimingSensitivityPatch().Enable();
|
||||
|
||||
//add configuration slider for field of view
|
||||
configFOV = Config.Bind("General", "FOV", 75, new ConfigDescription("In-game Field of View value", new AcceptableValueRange<int>(50, 75)));
|
||||
|
||||
//add coefficient slider
|
||||
configCoeff = Config.Bind("General", "Coefficient", 1.33f, new ConfigDescription("Coefficient - increases sensitivity at higher zoom levels, default 4/3", new AcceptableValueRange<float>(0.001f, 5.0f)));
|
||||
configCoeff = Config.Bind("General", "Coefficient", 133, new ConfigDescription("Coefficient - increases sensitivity at higher zoom levels", new AcceptableValueRange<int>(1, 300)));
|
||||
|
||||
//add secondary sensitivity slider for greater control
|
||||
configSens = Config.Bind("General", "Sensitivity", 25, new ConfigDescription("Secondary sensitivity multiplier in case Tarkov's default isn't enough", new AcceptableValueRange<int>(1, 200)));
|
||||
configSens = Config.Bind("General", "Sensitivity", 25, new ConfigDescription("Sensitivity while aiming", new AcceptableValueRange<int>(1, 200)));
|
||||
|
||||
}
|
||||
|
||||
@ -109,7 +113,6 @@ namespace UniformAim
|
||||
}
|
||||
|
||||
mySens = CalculateSensitivity(currentFOV, configFOV.Value, configSens.Value);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user