48 lines
2.5 KiB
C#
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);
|
|
}
|
|
}
|
|
}
|
|
} |