feat: initial commit
This commit is contained in:
100
Hooks/Hooks.cs
Normal file
100
Hooks/Hooks.cs
Normal file
@@ -0,0 +1,100 @@
|
||||
using UnityEngine;
|
||||
using HarmonyLib;
|
||||
using SlimeRanger.Settings;
|
||||
using SlimeRanger.Helpers;
|
||||
using System.Runtime;
|
||||
using System;
|
||||
|
||||
namespace SlimeRanger.Hooks
|
||||
{
|
||||
internal class Hooks
|
||||
{
|
||||
|
||||
// Used for TPs to home
|
||||
[HarmonyPatch(typeof(DisplayOnMap))]
|
||||
[HarmonyPatch(nameof(DisplayOnMap.ShowOnMap))] //annotation boiler plate to tell Harmony what to patch. Refer to docs.
|
||||
static class DisplayOnMap_ShowOnMap
|
||||
{
|
||||
static void Postfix(ref bool __result)
|
||||
{
|
||||
if (Settings.Settings.map_reveal)
|
||||
{
|
||||
__result = true;
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// Used to delete the fog
|
||||
[HarmonyPatch(typeof(PlayerState))]
|
||||
[HarmonyPatch(nameof(PlayerState.HasUnlockedMap))] //annotation boiler plate to tell Harmony what to patch. Refer to docs.
|
||||
static class PlayerState_HasUnlockedMap
|
||||
{
|
||||
static void Postfix(ref bool __result)
|
||||
{
|
||||
if (Settings.Settings.map_reveal)
|
||||
{
|
||||
__result = true;
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// Used for the godmode
|
||||
[HarmonyPatch(typeof(PlayerState))]
|
||||
[HarmonyPatch(nameof(PlayerState.CanBeDamaged))] //annotation boiler plate to tell Harmony what to patch. Refer to docs.
|
||||
static class PlayerState_CanBeDamaged
|
||||
{
|
||||
static void Postfix(ref bool __result)
|
||||
{
|
||||
__result = !Settings.Settings.godmode;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
[HarmonyPatch(typeof(PlayerState))]
|
||||
[HarmonyPatch(nameof(PlayerState.AddRads))] //annotation boiler plate to tell Harmony what to patch. Refer to docs.
|
||||
static class PlayerState_AddRads
|
||||
{
|
||||
static void Prefix(ref float rads)
|
||||
{
|
||||
if (Settings.Settings.no_rad)
|
||||
{
|
||||
rads = 0f;
|
||||
}
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
[HarmonyPatch(typeof(PlayerState))]
|
||||
[HarmonyPatch(nameof(PlayerState.SpendEnergy))] //annotation boiler plate to tell Harmony what to patch. Refer to docs.
|
||||
static class PlayerState_SpendEnergy
|
||||
{
|
||||
static void Prefix(ref float energy)
|
||||
{
|
||||
if (Settings.Settings.infinite_energy)
|
||||
{
|
||||
energy = 0f;
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
[HarmonyPatch(typeof(EnergyJetpack))]
|
||||
[HarmonyPatch("CanStart_Jetpack")] //annotation boiler plate to tell Harmony what to patch. Refer to docs.
|
||||
static class PlayerState_CanStart_Jetpack
|
||||
{
|
||||
static void Postfix(ref bool __result)
|
||||
{
|
||||
if (Settings.Settings.fly)
|
||||
{
|
||||
__result = false;
|
||||
}
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user