public static void Postfix(PlayerComponent __instance) { Config.Options opts = Config.GetOptions(); if (opts.HealthRegen) { WorldGameObject player = MainGame.me.player; float curhp = player.hp; if (curhp > 0 && curhp < 100 && (opts.HealIfTired || player.energy > 10)) { curhp += opts.HealthRegenPerSecond * Time.deltaTime; player.hp = curhp < 100 ? curhp : 100; } } }
public static bool Prefix(WorldGameObject __instance, ref float value) { if (__instance.is_player) { float oldVal = __instance.energy; float delta = oldVal - value; if (delta < 0) { Config.Options opts = Config.GetOptions(); delta *= delta > 0 ? opts.EnergyDrainMult : opts.EnergyReplenMult; value = oldVal - delta; } } return(true); }
static void Postfix(WorldGameObject __instance, ref string param_name, ref float __result) { if (Time.timeScale == 10f && param_name == "sleep_k_add") { float sleepTimeMult = Config.GetOptions().SleepTimeMult; if (sleepTimeMult != 1) { __result = (__result + 1) * sleepTimeMult - 1; if (__result <= -1) { __result = -0.8f; } //float dt = Time.deltaTime; //Config.Log("\r\nresult: " + __result + " (" + (__result * dt * 0.75f) + ") for " + dt); } } }
public static void Postfix(PlayerComponent __instance) { Config.Options opts = Config.GetOptions(); if (opts.HealthRegen) { WorldGameObject player = MainGame.me.player; float curhp = player.hp; if (curhp > 0 && curhp < 100 && (opts.HealIfTired || player.energy > 10)) { curhp += opts.HealthRegenPerSecond * Time.deltaTime; player.hp = curhp < 100 ? curhp : 100; } /*if (player.energy != opts.SavedEnergy) { * float mult = player.energy > opts.SavedEnergy ? opts.EnergyReplenMult : opts.EnergyDrainMult; * float newenergy = opts.SavedEnergy - (opts.SavedEnergy - player.energy) * mult; * player.energy = newenergy; * opts.SavedEnergy = newenergy; * }*/ } }
static bool Prefix(HPActionComponent __instance, ref float value) { Config.Options opts = Config.GetOptions(); if (opts.GlobalDmgMult != 1) { value *= opts.GlobalDmgMult; } if (value > 0.0 && __instance.wgo.is_player && (opts.DmgMult != 1.0)) { if (opts.DmgMult <= 0) { value = 0; } else { WorldGameObject player = __instance.wgo; float armor = 0; Item equippedItem = player.GetEquippedItem(ItemDefinition.EquipmentType.HeadArmor); if (equippedItem != null) { armor += equippedItem.definition.armor; } equippedItem = player.GetEquippedItem(ItemDefinition.EquipmentType.BodyArmor); if (equippedItem != null) { armor += equippedItem.definition.armor; } armor += player.GetParam("add_armor", 0.0f); value = (value - armor) * opts.DmgMult + armor; } } return(true); }
static bool Prefix(HPActionComponent __instance, ref WorldGameObject player_wgo, ref float delta_time) { // quite a hack, but delta_time is used to calculate the energy required for action delta_time *= Config.GetOptions().EnergyDrainMult; return(true); }
static bool Prefix(ComponentsManager __instance, ref WorldGameObject other_obj, ref float delta_time) { delta_time *= Config.GetOptions().InteractionSpeed; return(true); }
static bool Prefix(CraftComponent __instance, ref WorldGameObject other_obj, ref float delta_time) { delta_time *= Config.GetOptions().CraftingSpeed; return(true); }