Add xp multiplier

This commit is contained in:
2024-12-09 12:51:23 +01:00
parent f6bc2eff3f
commit 6d468300a2
2 changed files with 9 additions and 8 deletions

View File

@@ -15,7 +15,7 @@ namespace CykaOfQud {
private const string pluginName = "CykaOfQud"; private const string pluginName = "CykaOfQud";
private const string pluginVersion = "1.0.0"; private const string pluginVersion = "1.0.0";
public static ConfigEntry<float> xpPerLevelMultiplier; public static ConfigEntry<float> xpMultiplier;
public static ConfigEntry<float> hitpointsPerLevelMultiplier; public static ConfigEntry<float> hitpointsPerLevelMultiplier;
public static ConfigEntry<float> skillPointsPerLevelMultiplier; public static ConfigEntry<float> skillPointsPerLevelMultiplier;
public static ConfigEntry<float> mutationPointsPerLevelMultiplier; public static ConfigEntry<float> mutationPointsPerLevelMultiplier;
@@ -25,7 +25,7 @@ namespace CykaOfQud {
public static ConfigEntry<bool> debugMode; public static ConfigEntry<bool> debugMode;
public void Awake() { public void Awake() {
xpPerLevelMultiplier = Config.Bind("General", "XP Per Level Multiplier", 0.25f, new ConfigDescription("XP Per Level Multiplier")); 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")); 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")); 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")); mutationPointsPerLevelMultiplier = Config.Bind("General", "Mutation Points Per Level Multiplier", 1f, new ConfigDescription("Mutation Points Per Level Multiplier"));

View File

@@ -2,18 +2,19 @@
using System.Text; using System.Text;
using CykaOfQud; using CykaOfQud;
using HarmonyLib; using HarmonyLib;
using XRL.World;
namespace CykaOfIndustry { namespace CykaOfIndustry {
[HarmonyPatch] [HarmonyPatch]
public class Patches { public class Patches {
[HarmonyPostfix] [HarmonyPrefix]
[HarmonyPatch(typeof(XRL.World.Parts.Leveler), "GetXPForLevel")] [HarmonyPatch(typeof(XRL.World.Parts.Experience), "HandleEvent")]
static void xpPerLevelMultiplier(ref int __result) { static void xpMultiplier(ref AwardedXPEvent E) {
if (Main.debugMode.Value) if (Main.debugMode.Value)
Console.WriteLine("CykaOfQud: Old XP for level {0}", __result); Console.WriteLine("CykaOfQud: Old XP {0}", E.Amount);
__result = (int)(__result * Main.xpPerLevelMultiplier.Value); E.Amount = (int)(E.Amount * Main.xpMultiplier.Value);
if (Main.debugMode.Value) if (Main.debugMode.Value)
Console.WriteLine("CykaOfQud: New XP for level {0}", __result); Console.WriteLine("CykaOfQud: New XP {0}", E.Amount);
} }
[HarmonyPrefix] [HarmonyPrefix]