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 pluginVersion = "1.0.0";
public static ConfigEntry<float> xpPerLevelMultiplier;
public static ConfigEntry<float> xpMultiplier;
public static ConfigEntry<float> hitpointsPerLevelMultiplier;
public static ConfigEntry<float> skillPointsPerLevelMultiplier;
public static ConfigEntry<float> mutationPointsPerLevelMultiplier;
@@ -25,7 +25,7 @@ namespace CykaOfQud {
public static ConfigEntry<bool> debugMode;
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"));
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"));

View File

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