using System.Diagnostics;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.Versioning;
using System.Security;
using System.Security.Permissions;
using BepInEx;
using HarmonyLib;
using UnityEngine;
using UnityEngine.AI;
[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)]
[assembly: TargetFramework(".NETCoreApp,Version=v6.0", FrameworkDisplayName = ".NET 6.0")]
[assembly: AssemblyCompany("Ultrahell mode")]
[assembly: AssemblyConfiguration("Debug")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: AssemblyInformationalVersion("1.0.0")]
[assembly: AssemblyProduct("Ultrahell mode")]
[assembly: AssemblyTitle("Ultrahell mode")]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("1.0.0.0")]
[module: UnverifiableCode]
namespace UltrakillHellMod;
[BepInPlugin("com.kirill.ultrakill.hellmode", "Ultrakill Hell Mode", "1.7.0")]
public class HellModePlugin : BaseUnityPlugin
{
private void Awake()
{
//IL_0017: Unknown result type (might be due to invalid IL or missing references)
//IL_001d: Expected O, but got Unknown
((BaseUnityPlugin)this).Logger.LogInfo((object)"[HELL MOD] Запущено! Адский режим активирован намертво на всех уровнях.");
Harmony val = new Harmony("com.kirill.ultrakill.hellmode");
val.PatchAll();
}
}
[HarmonyPatch(typeof(EnemyIdentifier), "Start")]
public class EnemyPatch
{
[HarmonyPostfix]
private static void Postfix(EnemyIdentifier __instance)
{
//IL_007f: Unknown result type (might be due to invalid IL or missing references)
//IL_0085: Invalid comparison between Unknown and I4
if (!((Object)(object)__instance == (Object)null))
{
__instance.health *= 1.5f;
NavMeshAgent component = ((Component)__instance).GetComponent<NavMeshAgent>();
if ((Object)(object)component != (Object)null)
{
component.speed *= 1.15f;
component.acceleration *= 1.3f;
}
if ((Object)(object)((Component)__instance).gameObject.GetComponent<RadAura>() == (Object)null)
{
((Component)__instance).gameObject.AddComponent<RadAura>();
}
if ((int)__instance.enemyType == 0)
{
((Component)__instance).gameObject.SendMessage("割", (SendMessageOptions)1);
((Component)__instance).gameObject.SendMessage("Awaken", (SendMessageOptions)1);
}
}
}
}
public class RadAura : MonoBehaviour
{
private float t = 0f;
private void Update()
{
//IL_0051: Unknown result type (might be due to invalid IL or missing references)
//IL_005c: Unknown result type (might be due to invalid IL or missing references)
//IL_00df: Unknown result type (might be due to invalid IL or missing references)
t += Time.deltaTime;
if (t < 0.15f)
{
return;
}
t = 0f;
NewMovement instance = MonoSingleton<NewMovement>.Instance;
if (!((Object)(object)instance == (Object)null) && !instance.dead && !(Vector3.Distance(((Component)this).transform.position, ((Component)instance).transform.position) > 7.5f))
{
instance.hp = Mathf.Clamp(instance.hp - 1, 1, 100);
instance.antiHp = Mathf.Clamp(instance.antiHp + 3f, 0f, 99f);
HudMessageReceiver instance2 = MonoSingleton<HudMessageReceiver>.Instance;
if ((Object)(object)instance2 != (Object)null)
{
((Component)instance2).gameObject.SendMessage("FlashImage", (object)new Color(0.05f, 0.45f, 0f, 0.18f), (SendMessageOptions)1);
}
}
}
}
[HarmonyPatch(typeof(Projectile), "Start")]
public class ProjPatch
{
[HarmonyPostfix]
private static void Postfix(Projectile __instance)
{
if (!((Object)(object)__instance == (Object)null) && __instance.damage > 0f)
{
__instance.damage = Mathf.RoundToInt(__instance.damage * 1.5f);
}
}
}