Add xp multiplier
This commit is contained in:
@@ -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"));
|
||||
|
@@ -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]
|
||||
|
Reference in New Issue
Block a user