Files
BepInEx/Projects/CykaOfQud/Class1.cs
2024-12-09 12:51:23 +01:00

48 lines
2.5 KiB
C#

using System.Linq;
using BepInEx;
using BepInEx.Configuration;
using HarmonyLib;
using HarmonyLib.Tools;
// To make harmony work I had to hack t he game apart a little
// The game by default does not like harmony mods and unpatches all methods when running
// So to stop it from doing this remove calls to:
// System.Void XRL.ModInfo::UnapplyHarmonyPatches()
namespace CykaOfQud {
[BepInPlugin(pluginGuid, pluginName, pluginVersion)]
public class Main : BaseUnityPlugin {
private const string pluginGuid = "CykaOfQud";
private const string pluginName = "CykaOfQud";
private const string pluginVersion = "1.0.0";
public static ConfigEntry<float> xpMultiplier;
public static ConfigEntry<float> hitpointsPerLevelMultiplier;
public static ConfigEntry<float> skillPointsPerLevelMultiplier;
public static ConfigEntry<float> mutationPointsPerLevelMultiplier;
public static ConfigEntry<float> attributePointsPerLevelMultiplier;
public static ConfigEntry<float> attributeBonusPerLevelMultiplier;
public static ConfigEntry<bool> debugMode;
public void Awake() {
xpMultiplier = Config.Bind("General", "XP Multiplier", 4f, new ConfigDescription("XP Multiplier"));
hitpointsPerLevelMultiplier = Config.Bind("General", "Hitpoints Per Level Multiplier", 1f, new ConfigDescription("Hitpoints Per Level Multiplier"));
skillPointsPerLevelMultiplier = Config.Bind("General", "Skill Points Per Level Multiplier", 1f, new ConfigDescription("Skill Points Per Level Multiplier"));
mutationPointsPerLevelMultiplier = Config.Bind("General", "Mutation Points Per Level Multiplier", 1f, new ConfigDescription("Mutation Points Per Level Multiplier"));
attributePointsPerLevelMultiplier = Config.Bind("General", "Attribute Points Per Level Multiplier", 1f, new ConfigDescription("Attribute Points Per Level Multiplier"));
attributeBonusPerLevelMultiplier = Config.Bind("General", "Attribute Bonus Per Level Multiplier", 1f, new ConfigDescription("Attribute Bonus Per Level Multiplier"));
debugMode = Config.Bind("General", "Debug Mode", false, new ConfigDescription("Debug Mode"));
Logger.LogInfo("Cyka mod loaded");
HarmonyFileLog.Enabled = true;
Harmony harmony = new Harmony(pluginGuid);
harmony.PatchAll();
var originalMethods = harmony.GetPatchedMethods();
Logger.LogInfo("Patched " + originalMethods.Count() + " methods");
foreach (var method in originalMethods) {
Logger.LogInfo("Patched " + method.Name);
}
}
}
}