using System.Diagnostics;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Runtime.Versioning;
using BepInEx;
using HarmonyLib;
using UnityEngine;
[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)]
[assembly: AssemblyTitle("UltraBossMod")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("UltraBossMod")]
[assembly: AssemblyCopyright("Copyright © 2026")]
[assembly: AssemblyTrademark("")]
[assembly: ComVisible(false)]
[assembly: Guid("45c90431-7314-4e4c-b155-b485f2150164")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: TargetFramework(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")]
[assembly: AssemblyVersion("1.0.0.0")]
namespace UltraBossMod;
[BepInPlugin("com.timedevs.ultraboss", "Ultra Boss Mode", "1.1.1")]
public class Plugin : BaseUnityPlugin
{
private void Awake()
{
//IL_0005: Unknown result type (might be due to invalid IL or missing references)
new Harmony("com.timedevs.ultraboss").PatchAll();
((BaseUnityPlugin)this).Logger.LogInfo((object)"TimeDevs: Ultra Boss Mode v1.1.1 (Harder Version) carregado!");
}
}
[HarmonyPatch(typeof(NewMovement), "Update")]
public class BossStatus_Patch
{
private static float regenTimer;
[HarmonyPostfix]
private static void Postfix(NewMovement __instance)
{
if (__instance.hp > 500)
{
__instance.hp = 500;
}
if (__instance.hp < 500)
{
regenTimer += Time.deltaTime;
if (regenTimer >= 0.3f)
{
__instance.hp++;
regenTimer = 0f;
}
}
if (__instance.hp <= 150)
{
Time.timeScale = 1.2f;
}
else
{
Time.timeScale = 1f;
}
}
}
[HarmonyPatch(typeof(Statue), "GetHurt")]
public class BossDamageNerf_Patch
{
[HarmonyPrefix]
private static void Prefix(ref float __0)
{
__0 *= 0.4f;
}
}
[HarmonyPatch(typeof(NewMovement), "GetHurt")]
public class BossResistance_Patch
{
[HarmonyPrefix]
private static void Prefix(ref int __0)
{
__0 = Mathf.RoundToInt((float)__0 * 0.6f);
}
}