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);
         }
     }
 }
Esempio n. 4
0
        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);
 }