Please disclose if any significant portion of your mod was created using AI tools by adding the 'AI Generated' category. Failing to do so may result in the mod being removed from Thunderstore.
Decompiled source of EnemyAttackIndicators v1.1.0
EnemyAttackIndicators.dll
Decompiled 2 years agousing System; using System.Diagnostics; using System.IO; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using System.Security; using System.Security.Permissions; using BepInEx; using BepInEx.Configuration; using EntityStates; using EntityStates.AcidLarva; using EntityStates.BeetleGuardMonster; using EntityStates.Bell.BellWeapon; using EntityStates.Bison; using EntityStates.ClayGrenadier; using EntityStates.GreaterWispMonster; using EntityStates.JellyfishMonster; using EntityStates.LemurianBruiserMonster; using EntityStates.LemurianMonster; using EntityStates.LunarGolem; using EntityStates.LunarWisp; using EntityStates.VoidBarnacle.Weapon; using EntityStates.VoidJailer.Weapon; using EntityStates.Vulture.Weapon; using EntityStates.Wisp1Monster; using On.EntityStates.AcidLarva; using On.EntityStates.BeetleGuardMonster; using On.EntityStates.Bell.BellWeapon; using On.EntityStates.Bison; using On.EntityStates.ClayGrenadier; using On.EntityStates.GreaterWispMonster; using On.EntityStates.JellyfishMonster; using On.EntityStates.LemurianBruiserMonster; using On.EntityStates.LemurianMonster; using On.EntityStates.LunarGolem; using On.EntityStates.LunarWisp; using On.EntityStates.VoidBarnacle.Weapon; using On.EntityStates.VoidJailer.Weapon; using On.EntityStates.Vulture.Weapon; using On.EntityStates.Wisp1Monster; using RoR2; using UnityEngine; using UnityEngine.AddressableAssets; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: TargetFramework(".NETStandard,Version=v2.0", FrameworkDisplayName = "")] [assembly: AssemblyCompany("Dragonyck")] [assembly: AssemblyConfiguration("Debug")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0")] [assembly: AssemblyProduct("EnemyAttackIndicators")] [assembly: AssemblyTitle("EnemyAttackIndicators")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.0.0.0")] [module: UnverifiableCode] namespace EnemyAttackIndicators; internal class Assets { public static AssetBundle MainAssetBundle; public static void PopulateAssets() { if ((Object)(object)MainAssetBundle == (Object)null) { using (Stream stream = Assembly.GetExecutingAssembly().GetManifestResourceStream("EnemyAttackIndicators.wispicons")) { MainAssetBundle = AssetBundle.LoadFromStream(stream); } } } } internal class FilterComponent : MonoBehaviour { } internal class Hook { [Serializable] [CompilerGenerated] private sealed class <>c { public static readonly <>c <>9 = new <>c(); public static hook_OnEnter <>9__0_0; public static hook_OnEnter <>9__0_1; public static hook_OnEnter <>9__0_2; public static hook_OnEnter <>9__0_3; public static hook_OnEnter <>9__0_4; public static hook_OnExit <>9__0_5; public static hook_OnEnter <>9__0_6; public static hook_OnExit <>9__0_7; public static hook_OnEnter <>9__0_8; public static hook_OnExit <>9__0_9; public static hook_OnEnter <>9__0_10; public static hook_OnExit <>9__0_11; public static hook_OnEnter <>9__0_12; public static hook_OnExit <>9__0_13; public static hook_OnEnter <>9__0_14; public static hook_OnExit <>9__0_15; public static hook_OnEnter <>9__0_16; public static hook_OnExit <>9__0_17; public static hook_OnEnter <>9__0_18; public static hook_OnEnter <>9__0_19; public static hook_OnEnter <>9__0_20; public static hook_OnEnter <>9__0_21; public static hook_OnEnter <>9__0_22; public static hook_OnExit <>9__0_23; public static hook_OnEnter <>9__0_24; public static hook_OnExit <>9__0_25; public static hook_OnEnter <>9__0_26; public static hook_OnExit <>9__0_27; public static hook_OnEnter <>9__0_28; public static hook_OnEnter <>9__0_29; public static hook_OnEnter <>9__0_30; public static hook_OnEnter <>9__0_31; internal void <Hooks>b__0_0(orig_OnEnter orig, ChargeEmbers self) { orig.Invoke(self); ((EntityState)(object)self).HandleIndicators(Prefabs.wispIndicator); } internal void <Hooks>b__0_1(orig_OnEnter orig, FireEmbers self) { orig.Invoke(self); ((EntityState)(object)self).HandleIndicators(null); } internal void <Hooks>b__0_2(orig_OnEnter orig, ChargeCannons self) { orig.Invoke(self); ((EntityState)(object)self).HandleIndicators(Prefabs.greaterWispIndicator); } internal void <Hooks>b__0_3(orig_OnEnter orig, FireCannons self) { orig.Invoke(self); ((EntityState)(object)self).HandleIndicators(null); } internal void <Hooks>b__0_4(orig_OnEnter orig, ChargeTrioBomb self) { orig.Invoke(self); ((EntityState)(object)self).HandleIndicators(Prefabs.bellIndicator); } internal void <Hooks>b__0_5(orig_OnExit orig, ChargeTrioBomb self) { orig.Invoke(self); ((EntityState)(object)self).HandleIndicators(null); } internal void <Hooks>b__0_6(orig_OnEnter orig, ChargeMegaFireball self) { orig.Invoke(self); ((EntityState)(object)self).HandleIndicators(Prefabs.elderIndicator); } internal void <Hooks>b__0_7(orig_OnExit orig, FireMegaFireball self) { orig.Invoke(self); ((EntityState)(object)self).HandleIndicators(null); } internal void <Hooks>b__0_8(orig_OnEnter orig, PrepCharge self) { orig.Invoke(self); ((EntityState)(object)self).HandleIndicators(Prefabs.bisonIndicator); } internal void <Hooks>b__0_9(orig_OnExit orig, Charge self) { orig.Invoke(self); ((EntityState)(object)self).HandleIndicators(null); } internal void <Hooks>b__0_10(orig_OnEnter orig, JellyNova self) { orig.Invoke(self); ((EntityState)(object)self).HandleIndicators(Prefabs.jellyIndicator); } internal void <Hooks>b__0_11(orig_OnExit orig, JellyNova self) { orig.Invoke(self); ((EntityState)(object)self).HandleIndicators(null); } internal void <Hooks>b__0_12(orig_OnEnter orig, ChargeTwinShot self) { orig.Invoke(self); ((EntityState)(object)self).HandleIndicators(Prefabs.lunarGolemIndicator); } internal void <Hooks>b__0_13(orig_OnExit orig, FireTwinShots self) { orig.Invoke(self); ((EntityState)(object)self).HandleIndicators(null); } internal void <Hooks>b__0_14(orig_OnEnter orig, ChargeLunarGuns self) { orig.Invoke(self); ((EntityState)(object)self).HandleIndicators(Prefabs.lunarWispIndicator); } internal void <Hooks>b__0_15(orig_OnExit orig, FireLunarGuns self) { orig.Invoke(self); ((EntityState)(object)self).HandleIndicators(null); } internal void <Hooks>b__0_16(orig_OnEnter orig, SeekingBomb self) { orig.Invoke(self); ((EntityState)(object)self).HandleIndicators(Prefabs.lunarWispIndicator); } internal void <Hooks>b__0_17(orig_OnExit orig, SeekingBomb self) { orig.Invoke(self); ((EntityState)(object)self).HandleIndicators(null); } internal void <Hooks>b__0_18(orig_OnEnter orig, ChargeFire self) { orig.Invoke(self); ((EntityState)(object)self).HandleIndicators(Prefabs.voidJailerIndicator); } internal void <Hooks>b__0_19(orig_OnEnter orig, Fire self) { orig.Invoke(self); ((EntityState)(object)self).HandleIndicators(null); } internal void <Hooks>b__0_20(orig_OnEnter orig, ChargeFireball self) { orig.Invoke(self); ((EntityState)(object)self).HandleIndicators(Prefabs.lemurianIndicator); } internal void <Hooks>b__0_21(orig_OnEnter orig, FireFireball self) { orig.Invoke(self); ((EntityState)(object)self).HandleIndicators(null); } internal void <Hooks>b__0_22(orig_OnEnter orig, FireSunder self) { orig.Invoke(self); ((EntityState)(object)self).HandleIndicators(Prefabs.guardIndicator); } internal void <Hooks>b__0_23(orig_OnExit orig, FireSunder self) { orig.Invoke(self); ((EntityState)(object)self).HandleIndicators(null); } internal void <Hooks>b__0_24(orig_OnEnter orig, ThrowBarrel self) { orig.Invoke(self); ((EntityState)(object)self).HandleIndicators(Prefabs.grenadierIndicator); } internal void <Hooks>b__0_25(orig_OnExit orig, ThrowBarrel self) { orig.Invoke(self); ((EntityState)(object)self).HandleIndicators(null); } internal void <Hooks>b__0_26(orig_OnEnter orig, LarvaLeap self) { orig.Invoke(self); ((EntityState)(object)self).HandleIndicators(Prefabs.larvaIndicator); } internal void <Hooks>b__0_27(orig_OnExit orig, LarvaLeap self) { orig.Invoke(self); ((EntityState)(object)self).HandleIndicators(null); } internal void <Hooks>b__0_28(orig_OnEnter orig, ChargeFire self) { orig.Invoke(self); ((EntityState)(object)self).HandleIndicators(Prefabs.barnacleIndicator); } internal void <Hooks>b__0_29(orig_OnEnter orig, Fire self) { orig.Invoke(self); ((EntityState)(object)self).HandleIndicators(null); } internal void <Hooks>b__0_30(orig_OnEnter orig, ChargeWindblade self) { orig.Invoke(self); ((EntityState)(object)self).HandleIndicators(Prefabs.vultureIndicator); } internal void <Hooks>b__0_31(orig_OnEnter orig, FireWindblade self) { orig.Invoke(self); ((EntityState)(object)self).HandleIndicators(null); } } internal static void Hooks() { //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_0029: Unknown result type (might be due to invalid IL or missing references) //IL_002f: Expected O, but got Unknown //IL_007e: Unknown result type (might be due to invalid IL or missing references) //IL_0083: Unknown result type (might be due to invalid IL or missing references) //IL_0089: Expected O, but got Unknown //IL_0049: Unknown result type (might be due to invalid IL or missing references) //IL_004e: Unknown result type (might be due to invalid IL or missing references) //IL_0054: Expected O, but got Unknown //IL_00d8: Unknown result type (might be due to invalid IL or missing references) //IL_00dd: Unknown result type (might be due to invalid IL or missing references) //IL_00e3: Expected O, but got Unknown //IL_00a3: Unknown result type (might be due to invalid IL or missing references) //IL_00a8: Unknown result type (might be due to invalid IL or missing references) //IL_00ae: Expected O, but got Unknown //IL_0132: Unknown result type (might be due to invalid IL or missing references) //IL_0137: Unknown result type (might be due to invalid IL or missing references) //IL_013d: Expected O, but got Unknown //IL_00fd: Unknown result type (might be due to invalid IL or missing references) //IL_0102: Unknown result type (might be due to invalid IL or missing references) //IL_0108: Expected O, but got Unknown //IL_018e: Unknown result type (might be due to invalid IL or missing references) //IL_0193: Unknown result type (might be due to invalid IL or missing references) //IL_0199: Expected O, but got Unknown //IL_0157: Unknown result type (might be due to invalid IL or missing references) //IL_015c: Unknown result type (might be due to invalid IL or missing references) //IL_0162: Expected O, but got Unknown //IL_01ea: Unknown result type (might be due to invalid IL or missing references) //IL_01ef: Unknown result type (might be due to invalid IL or missing references) //IL_01f5: Expected O, but got Unknown //IL_01b3: Unknown result type (might be due to invalid IL or missing references) //IL_01b8: Unknown result type (might be due to invalid IL or missing references) //IL_01be: Expected O, but got Unknown //IL_0246: Unknown result type (might be due to invalid IL or missing references) //IL_024b: Unknown result type (might be due to invalid IL or missing references) //IL_0251: Expected O, but got Unknown //IL_020f: Unknown result type (might be due to invalid IL or missing references) //IL_0214: Unknown result type (might be due to invalid IL or missing references) //IL_021a: Expected O, but got Unknown //IL_02a5: Unknown result type (might be due to invalid IL or missing references) //IL_02aa: Unknown result type (might be due to invalid IL or missing references) //IL_02b0: Expected O, but got Unknown //IL_026b: Unknown result type (might be due to invalid IL or missing references) //IL_0270: Unknown result type (might be due to invalid IL or missing references) //IL_0276: Expected O, but got Unknown //IL_034b: Unknown result type (might be due to invalid IL or missing references) //IL_0350: Unknown result type (might be due to invalid IL or missing references) //IL_0356: Expected O, but got Unknown //IL_02ca: Unknown result type (might be due to invalid IL or missing references) //IL_02cf: Unknown result type (might be due to invalid IL or missing references) //IL_02d5: Expected O, but got Unknown //IL_03a7: Unknown result type (might be due to invalid IL or missing references) //IL_03ac: Unknown result type (might be due to invalid IL or missing references) //IL_03b2: Expected O, but got Unknown //IL_0370: Unknown result type (might be due to invalid IL or missing references) //IL_0375: Unknown result type (might be due to invalid IL or missing references) //IL_037b: Expected O, but got Unknown //IL_02ef: Unknown result type (might be due to invalid IL or missing references) //IL_02f4: Unknown result type (might be due to invalid IL or missing references) //IL_02fa: Expected O, but got Unknown //IL_0403: Unknown result type (might be due to invalid IL or missing references) //IL_0408: Unknown result type (might be due to invalid IL or missing references) //IL_040e: Expected O, but got Unknown //IL_03cc: Unknown result type (might be due to invalid IL or missing references) //IL_03d1: Unknown result type (might be due to invalid IL or missing references) //IL_03d7: Expected O, but got Unknown //IL_0314: Unknown result type (might be due to invalid IL or missing references) //IL_0319: Unknown result type (might be due to invalid IL or missing references) //IL_031f: Expected O, but got Unknown //IL_045f: Unknown result type (might be due to invalid IL or missing references) //IL_0464: Unknown result type (might be due to invalid IL or missing references) //IL_046a: Expected O, but got Unknown //IL_0428: Unknown result type (might be due to invalid IL or missing references) //IL_042d: Unknown result type (might be due to invalid IL or missing references) //IL_0433: Expected O, but got Unknown //IL_04bb: Unknown result type (might be due to invalid IL or missing references) //IL_04c0: Unknown result type (might be due to invalid IL or missing references) //IL_04c6: Expected O, but got Unknown //IL_0484: Unknown result type (might be due to invalid IL or missing references) //IL_0489: Unknown result type (might be due to invalid IL or missing references) //IL_048f: Expected O, but got Unknown //IL_0517: Unknown result type (might be due to invalid IL or missing references) //IL_051c: Unknown result type (might be due to invalid IL or missing references) //IL_0522: Expected O, but got Unknown //IL_04e0: Unknown result type (might be due to invalid IL or missing references) //IL_04e5: Unknown result type (might be due to invalid IL or missing references) //IL_04eb: Expected O, but got Unknown //IL_0573: Unknown result type (might be due to invalid IL or missing references) //IL_0578: Unknown result type (might be due to invalid IL or missing references) //IL_057e: Expected O, but got Unknown //IL_053c: Unknown result type (might be due to invalid IL or missing references) //IL_0541: Unknown result type (might be due to invalid IL or missing references) //IL_0547: Expected O, but got Unknown //IL_0598: Unknown result type (might be due to invalid IL or missing references) //IL_059d: Unknown result type (might be due to invalid IL or missing references) //IL_05a3: Expected O, but got Unknown if (MainPlugin.addWisp.Value) { object obj = <>c.<>9__0_0; if (obj == null) { hook_OnEnter val = delegate(orig_OnEnter orig, ChargeEmbers self) { orig.Invoke(self); ((EntityState)(object)self).HandleIndicators(Prefabs.wispIndicator); }; <>c.<>9__0_0 = val; obj = (object)val; } ChargeEmbers.OnEnter += (hook_OnEnter)obj; object obj2 = <>c.<>9__0_1; if (obj2 == null) { hook_OnEnter val2 = delegate(orig_OnEnter orig, FireEmbers self) { orig.Invoke(self); ((EntityState)(object)self).HandleIndicators(null); }; <>c.<>9__0_1 = val2; obj2 = (object)val2; } FireEmbers.OnEnter += (hook_OnEnter)obj2; } if (MainPlugin.addGreaterWisp.Value) { object obj3 = <>c.<>9__0_2; if (obj3 == null) { hook_OnEnter val3 = delegate(orig_OnEnter orig, ChargeCannons self) { orig.Invoke(self); ((EntityState)(object)self).HandleIndicators(Prefabs.greaterWispIndicator); }; <>c.<>9__0_2 = val3; obj3 = (object)val3; } ChargeCannons.OnEnter += (hook_OnEnter)obj3; object obj4 = <>c.<>9__0_3; if (obj4 == null) { hook_OnEnter val4 = delegate(orig_OnEnter orig, FireCannons self) { orig.Invoke(self); ((EntityState)(object)self).HandleIndicators(null); }; <>c.<>9__0_3 = val4; obj4 = (object)val4; } FireCannons.OnEnter += (hook_OnEnter)obj4; } if (MainPlugin.addBell.Value) { object obj5 = <>c.<>9__0_4; if (obj5 == null) { hook_OnEnter val5 = delegate(orig_OnEnter orig, ChargeTrioBomb self) { orig.Invoke(self); ((EntityState)(object)self).HandleIndicators(Prefabs.bellIndicator); }; <>c.<>9__0_4 = val5; obj5 = (object)val5; } ChargeTrioBomb.OnEnter += (hook_OnEnter)obj5; object obj6 = <>c.<>9__0_5; if (obj6 == null) { hook_OnExit val6 = delegate(orig_OnExit orig, ChargeTrioBomb self) { orig.Invoke(self); ((EntityState)(object)self).HandleIndicators(null); }; <>c.<>9__0_5 = val6; obj6 = (object)val6; } ChargeTrioBomb.OnExit += (hook_OnExit)obj6; } if (MainPlugin.addElder.Value) { object obj7 = <>c.<>9__0_6; if (obj7 == null) { hook_OnEnter val7 = delegate(orig_OnEnter orig, ChargeMegaFireball self) { orig.Invoke(self); ((EntityState)(object)self).HandleIndicators(Prefabs.elderIndicator); }; <>c.<>9__0_6 = val7; obj7 = (object)val7; } ChargeMegaFireball.OnEnter += (hook_OnEnter)obj7; object obj8 = <>c.<>9__0_7; if (obj8 == null) { hook_OnExit val8 = delegate(orig_OnExit orig, FireMegaFireball self) { orig.Invoke(self); ((EntityState)(object)self).HandleIndicators(null); }; <>c.<>9__0_7 = val8; obj8 = (object)val8; } FireMegaFireball.OnExit += (hook_OnExit)obj8; } if (MainPlugin.addBison.Value) { object obj9 = <>c.<>9__0_8; if (obj9 == null) { hook_OnEnter val9 = delegate(orig_OnEnter orig, PrepCharge self) { orig.Invoke(self); ((EntityState)(object)self).HandleIndicators(Prefabs.bisonIndicator); }; <>c.<>9__0_8 = val9; obj9 = (object)val9; } PrepCharge.OnEnter += (hook_OnEnter)obj9; object obj10 = <>c.<>9__0_9; if (obj10 == null) { hook_OnExit val10 = delegate(orig_OnExit orig, Charge self) { orig.Invoke(self); ((EntityState)(object)self).HandleIndicators(null); }; <>c.<>9__0_9 = val10; obj10 = (object)val10; } Charge.OnExit += (hook_OnExit)obj10; } if (MainPlugin.addJelly.Value) { object obj11 = <>c.<>9__0_10; if (obj11 == null) { hook_OnEnter val11 = delegate(orig_OnEnter orig, JellyNova self) { orig.Invoke(self); ((EntityState)(object)self).HandleIndicators(Prefabs.jellyIndicator); }; <>c.<>9__0_10 = val11; obj11 = (object)val11; } JellyNova.OnEnter += (hook_OnEnter)obj11; object obj12 = <>c.<>9__0_11; if (obj12 == null) { hook_OnExit val12 = delegate(orig_OnExit orig, JellyNova self) { orig.Invoke(self); ((EntityState)(object)self).HandleIndicators(null); }; <>c.<>9__0_11 = val12; obj12 = (object)val12; } JellyNova.OnExit += (hook_OnExit)obj12; } if (MainPlugin.addLunarGolem.Value) { object obj13 = <>c.<>9__0_12; if (obj13 == null) { hook_OnEnter val13 = delegate(orig_OnEnter orig, ChargeTwinShot self) { orig.Invoke(self); ((EntityState)(object)self).HandleIndicators(Prefabs.lunarGolemIndicator); }; <>c.<>9__0_12 = val13; obj13 = (object)val13; } ChargeTwinShot.OnEnter += (hook_OnEnter)obj13; object obj14 = <>c.<>9__0_13; if (obj14 == null) { hook_OnExit val14 = delegate(orig_OnExit orig, FireTwinShots self) { orig.Invoke(self); ((EntityState)(object)self).HandleIndicators(null); }; <>c.<>9__0_13 = val14; obj14 = (object)val14; } FireTwinShots.OnExit += (hook_OnExit)obj14; } if (MainPlugin.addLunarWisp.Value) { object obj15 = <>c.<>9__0_14; if (obj15 == null) { hook_OnEnter val15 = delegate(orig_OnEnter orig, ChargeLunarGuns self) { orig.Invoke(self); ((EntityState)(object)self).HandleIndicators(Prefabs.lunarWispIndicator); }; <>c.<>9__0_14 = val15; obj15 = (object)val15; } ChargeLunarGuns.OnEnter += (hook_OnEnter)obj15; object obj16 = <>c.<>9__0_15; if (obj16 == null) { hook_OnExit val16 = delegate(orig_OnExit orig, FireLunarGuns self) { orig.Invoke(self); ((EntityState)(object)self).HandleIndicators(null); }; <>c.<>9__0_15 = val16; obj16 = (object)val16; } FireLunarGuns.OnExit += (hook_OnExit)obj16; object obj17 = <>c.<>9__0_16; if (obj17 == null) { hook_OnEnter val17 = delegate(orig_OnEnter orig, SeekingBomb self) { orig.Invoke(self); ((EntityState)(object)self).HandleIndicators(Prefabs.lunarWispIndicator); }; <>c.<>9__0_16 = val17; obj17 = (object)val17; } SeekingBomb.OnEnter += (hook_OnEnter)obj17; object obj18 = <>c.<>9__0_17; if (obj18 == null) { hook_OnExit val18 = delegate(orig_OnExit orig, SeekingBomb self) { orig.Invoke(self); ((EntityState)(object)self).HandleIndicators(null); }; <>c.<>9__0_17 = val18; obj18 = (object)val18; } SeekingBomb.OnExit += (hook_OnExit)obj18; } if (MainPlugin.addVoidJailer.Value) { object obj19 = <>c.<>9__0_18; if (obj19 == null) { hook_OnEnter val19 = delegate(orig_OnEnter orig, ChargeFire self) { orig.Invoke(self); ((EntityState)(object)self).HandleIndicators(Prefabs.voidJailerIndicator); }; <>c.<>9__0_18 = val19; obj19 = (object)val19; } ChargeFire.OnEnter += (hook_OnEnter)obj19; object obj20 = <>c.<>9__0_19; if (obj20 == null) { hook_OnEnter val20 = delegate(orig_OnEnter orig, Fire self) { orig.Invoke(self); ((EntityState)(object)self).HandleIndicators(null); }; <>c.<>9__0_19 = val20; obj20 = (object)val20; } Fire.OnEnter += (hook_OnEnter)obj20; } if (MainPlugin.addLemurian.Value) { object obj21 = <>c.<>9__0_20; if (obj21 == null) { hook_OnEnter val21 = delegate(orig_OnEnter orig, ChargeFireball self) { orig.Invoke(self); ((EntityState)(object)self).HandleIndicators(Prefabs.lemurianIndicator); }; <>c.<>9__0_20 = val21; obj21 = (object)val21; } ChargeFireball.OnEnter += (hook_OnEnter)obj21; object obj22 = <>c.<>9__0_21; if (obj22 == null) { hook_OnEnter val22 = delegate(orig_OnEnter orig, FireFireball self) { orig.Invoke(self); ((EntityState)(object)self).HandleIndicators(null); }; <>c.<>9__0_21 = val22; obj22 = (object)val22; } FireFireball.OnEnter += (hook_OnEnter)obj22; } if (MainPlugin.addGuard.Value) { object obj23 = <>c.<>9__0_22; if (obj23 == null) { hook_OnEnter val23 = delegate(orig_OnEnter orig, FireSunder self) { orig.Invoke(self); ((EntityState)(object)self).HandleIndicators(Prefabs.guardIndicator); }; <>c.<>9__0_22 = val23; obj23 = (object)val23; } FireSunder.OnEnter += (hook_OnEnter)obj23; object obj24 = <>c.<>9__0_23; if (obj24 == null) { hook_OnExit val24 = delegate(orig_OnExit orig, FireSunder self) { orig.Invoke(self); ((EntityState)(object)self).HandleIndicators(null); }; <>c.<>9__0_23 = val24; obj24 = (object)val24; } FireSunder.OnExit += (hook_OnExit)obj24; } if (MainPlugin.addGrenadier.Value) { object obj25 = <>c.<>9__0_24; if (obj25 == null) { hook_OnEnter val25 = delegate(orig_OnEnter orig, ThrowBarrel self) { orig.Invoke(self); ((EntityState)(object)self).HandleIndicators(Prefabs.grenadierIndicator); }; <>c.<>9__0_24 = val25; obj25 = (object)val25; } ThrowBarrel.OnEnter += (hook_OnEnter)obj25; object obj26 = <>c.<>9__0_25; if (obj26 == null) { hook_OnExit val26 = delegate(orig_OnExit orig, ThrowBarrel self) { orig.Invoke(self); ((EntityState)(object)self).HandleIndicators(null); }; <>c.<>9__0_25 = val26; obj26 = (object)val26; } ThrowBarrel.OnExit += (hook_OnExit)obj26; } if (MainPlugin.addLarva.Value) { object obj27 = <>c.<>9__0_26; if (obj27 == null) { hook_OnEnter val27 = delegate(orig_OnEnter orig, LarvaLeap self) { orig.Invoke(self); ((EntityState)(object)self).HandleIndicators(Prefabs.larvaIndicator); }; <>c.<>9__0_26 = val27; obj27 = (object)val27; } LarvaLeap.OnEnter += (hook_OnEnter)obj27; object obj28 = <>c.<>9__0_27; if (obj28 == null) { hook_OnExit val28 = delegate(orig_OnExit orig, LarvaLeap self) { orig.Invoke(self); ((EntityState)(object)self).HandleIndicators(null); }; <>c.<>9__0_27 = val28; obj28 = (object)val28; } LarvaLeap.OnExit += (hook_OnExit)obj28; } if (MainPlugin.addBarnacle.Value) { object obj29 = <>c.<>9__0_28; if (obj29 == null) { hook_OnEnter val29 = delegate(orig_OnEnter orig, ChargeFire self) { orig.Invoke(self); ((EntityState)(object)self).HandleIndicators(Prefabs.barnacleIndicator); }; <>c.<>9__0_28 = val29; obj29 = (object)val29; } ChargeFire.OnEnter += (hook_OnEnter)obj29; object obj30 = <>c.<>9__0_29; if (obj30 == null) { hook_OnEnter val30 = delegate(orig_OnEnter orig, Fire self) { orig.Invoke(self); ((EntityState)(object)self).HandleIndicators(null); }; <>c.<>9__0_29 = val30; obj30 = (object)val30; } Fire.OnEnter += (hook_OnEnter)obj30; } if (!MainPlugin.addVulture.Value) { return; } object obj31 = <>c.<>9__0_30; if (obj31 == null) { hook_OnEnter val31 = delegate(orig_OnEnter orig, ChargeWindblade self) { orig.Invoke(self); ((EntityState)(object)self).HandleIndicators(Prefabs.vultureIndicator); }; <>c.<>9__0_30 = val31; obj31 = (object)val31; } ChargeWindblade.OnEnter += (hook_OnEnter)obj31; object obj32 = <>c.<>9__0_31; if (obj32 == null) { hook_OnEnter val32 = delegate(orig_OnEnter orig, FireWindblade self) { orig.Invoke(self); ((EntityState)(object)self).HandleIndicators(null); }; <>c.<>9__0_31 = val32; obj32 = (object)val32; } FireWindblade.OnEnter += (hook_OnEnter)obj32; } } [BepInPlugin("com.Dragonyck.EnemyAttackIndicators", "EnemyAttackIndicators", "1.1.0")] public class MainPlugin : BaseUnityPlugin { public const string MODUID = "com.Dragonyck.EnemyAttackIndicators"; public const string MODNAME = "EnemyAttackIndicators"; public const string VERSION = "1.1.0"; protected internal static ConfigEntry<bool> addIcons; protected internal static ConfigEntry<bool> addWisp; protected internal static ConfigEntry<bool> addGreaterWisp; protected internal static ConfigEntry<bool> addBell; protected internal static ConfigEntry<bool> addElder; protected internal static ConfigEntry<bool> addBison; protected internal static ConfigEntry<bool> addLunarGolem; protected internal static ConfigEntry<bool> addJelly; protected internal static ConfigEntry<bool> addLunarWisp; protected internal static ConfigEntry<bool> addVoidJailer; protected internal static ConfigEntry<bool> addLemurian; protected internal static ConfigEntry<bool> addGuard; protected internal static ConfigEntry<bool> addGrenadier; protected internal static ConfigEntry<bool> addLarva; protected internal static ConfigEntry<bool> addBarnacle; protected internal static ConfigEntry<bool> addVulture; private void Awake() { //IL_0011: Unknown result type (might be due to invalid IL or missing references) //IL_0022: Unknown result type (might be due to invalid IL or missing references) //IL_002c: Expected O, but got Unknown //IL_002c: Expected O, but got Unknown //IL_0041: Unknown result type (might be due to invalid IL or missing references) //IL_0052: Unknown result type (might be due to invalid IL or missing references) //IL_005c: Expected O, but got Unknown //IL_005c: Expected O, but got Unknown //IL_0071: Unknown result type (might be due to invalid IL or missing references) //IL_0082: Unknown result type (might be due to invalid IL or missing references) //IL_008c: Expected O, but got Unknown //IL_008c: Expected O, but got Unknown //IL_00a1: Unknown result type (might be due to invalid IL or missing references) //IL_00b2: Unknown result type (might be due to invalid IL or missing references) //IL_00bc: Expected O, but got Unknown //IL_00bc: Expected O, but got Unknown //IL_00d1: Unknown result type (might be due to invalid IL or missing references) //IL_00e2: Unknown result type (might be due to invalid IL or missing references) //IL_00ec: Expected O, but got Unknown //IL_00ec: Expected O, but got Unknown //IL_0101: Unknown result type (might be due to invalid IL or missing references) //IL_0112: Unknown result type (might be due to invalid IL or missing references) //IL_011c: Expected O, but got Unknown //IL_011c: Expected O, but got Unknown //IL_0131: Unknown result type (might be due to invalid IL or missing references) //IL_0142: Unknown result type (might be due to invalid IL or missing references) //IL_014c: Expected O, but got Unknown //IL_014c: Expected O, but got Unknown //IL_0161: Unknown result type (might be due to invalid IL or missing references) //IL_0172: Unknown result type (might be due to invalid IL or missing references) //IL_017c: Expected O, but got Unknown //IL_017c: Expected O, but got Unknown //IL_0191: Unknown result type (might be due to invalid IL or missing references) //IL_01a2: Unknown result type (might be due to invalid IL or missing references) //IL_01ac: Expected O, but got Unknown //IL_01ac: Expected O, but got Unknown //IL_01c1: Unknown result type (might be due to invalid IL or missing references) //IL_01d2: Unknown result type (might be due to invalid IL or missing references) //IL_01dc: Expected O, but got Unknown //IL_01dc: Expected O, but got Unknown //IL_01f1: Unknown result type (might be due to invalid IL or missing references) //IL_0202: Unknown result type (might be due to invalid IL or missing references) //IL_020c: Expected O, but got Unknown //IL_020c: Expected O, but got Unknown //IL_0221: Unknown result type (might be due to invalid IL or missing references) //IL_0232: Unknown result type (might be due to invalid IL or missing references) //IL_023c: Expected O, but got Unknown //IL_023c: Expected O, but got Unknown //IL_0251: Unknown result type (might be due to invalid IL or missing references) //IL_0262: Unknown result type (might be due to invalid IL or missing references) //IL_026c: Expected O, but got Unknown //IL_026c: Expected O, but got Unknown //IL_0281: Unknown result type (might be due to invalid IL or missing references) //IL_0292: Unknown result type (might be due to invalid IL or missing references) //IL_029c: Expected O, but got Unknown //IL_029c: Expected O, but got Unknown //IL_02b1: Unknown result type (might be due to invalid IL or missing references) //IL_02c2: Unknown result type (might be due to invalid IL or missing references) //IL_02cc: Expected O, but got Unknown //IL_02cc: Expected O, but got Unknown //IL_02e1: Unknown result type (might be due to invalid IL or missing references) //IL_02f2: Unknown result type (might be due to invalid IL or missing references) //IL_02fc: Expected O, but got Unknown //IL_02fc: Expected O, but got Unknown addIcons = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Enable Enemy Icons On Indicator", "Enable"), true, new ConfigDescription("", (AcceptableValueBase)null, Array.Empty<object>())); addWisp = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Enable Wisp Indicator", "Enable"), true, new ConfigDescription("", (AcceptableValueBase)null, Array.Empty<object>())); addGreaterWisp = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Enable Greater Wisp Indicator", "Enable"), true, new ConfigDescription("", (AcceptableValueBase)null, Array.Empty<object>())); addBell = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Enable Brass Contraption Indicator", "Enable"), true, new ConfigDescription("", (AcceptableValueBase)null, Array.Empty<object>())); addElder = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Enable Elder Lemurian Indicator", "Enable"), true, new ConfigDescription("", (AcceptableValueBase)null, Array.Empty<object>())); addBison = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Enable Bison Indicator", "Enable"), true, new ConfigDescription("", (AcceptableValueBase)null, Array.Empty<object>())); addJelly = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Enable Jellyfish Indicator", "Enable"), true, new ConfigDescription("", (AcceptableValueBase)null, Array.Empty<object>())); addLunarGolem = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Enable Lunar Golem Indicator", "Enable"), true, new ConfigDescription("", (AcceptableValueBase)null, Array.Empty<object>())); addLunarWisp = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Enable Lunar Wisp Indicator", "Enable"), true, new ConfigDescription("", (AcceptableValueBase)null, Array.Empty<object>())); addVoidJailer = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Enable Void Jailer Indicator", "Enable"), true, new ConfigDescription("", (AcceptableValueBase)null, Array.Empty<object>())); addLemurian = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Enable Lemurian Indicator", "Enable"), true, new ConfigDescription("", (AcceptableValueBase)null, Array.Empty<object>())); addGuard = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Enable Beetle Guard Indicator", "Enable"), true, new ConfigDescription("", (AcceptableValueBase)null, Array.Empty<object>())); addGrenadier = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Enable Clay Apothecary Indicator", "Enable"), true, new ConfigDescription("", (AcceptableValueBase)null, Array.Empty<object>())); addLarva = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Enable Larva Indicator", "Enable"), true, new ConfigDescription("", (AcceptableValueBase)null, Array.Empty<object>())); addBarnacle = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Enable Void Barnacle Indicator", "Enable"), true, new ConfigDescription("", (AcceptableValueBase)null, Array.Empty<object>())); addVulture = ((BaseUnityPlugin)this).Config.Bind<bool>(new ConfigDefinition("Enable Alloy Vulture Indicator", "Enable"), true, new ConfigDescription("", (AcceptableValueBase)null, Array.Empty<object>())); Assets.PopulateAssets(); Prefabs.CreatePrefabs(); Hook.Hooks(); } } internal class Prefabs { internal static GameObject wispIndicator; internal static GameObject greaterWispIndicator; internal static GameObject bellIndicator; internal static GameObject elderIndicator; internal static GameObject bisonIndicator; internal static GameObject jellyIndicator; internal static GameObject lunarGolemIndicator; internal static GameObject lunarWispIndicator; internal static GameObject voidJailerIndicator; internal static GameObject lemurianIndicator; internal static GameObject grenadierIndicator; internal static GameObject barnacleIndicator; internal static GameObject guardIndicator; internal static GameObject larvaIndicator; internal static GameObject vultureIndicator; private static Color WispColor = new Color(0.81961f, 0.50196f, 0.13725f); private static Color GreaterWispColor = new Color(0.20392f, 0.81176f, 0.09412f); private static Color BellColor = new Color(0.42353f, 0.38431f, 0.33333f); private static Color ElderColor = new Color(0.85882f, 0.72941f, 0.27059f); private static Color BisonColor = new Color(0.73725f, 0.67843f, 0.2549f); private static Color JellyColor = new Color(0.45098f, 0.57255f, 0.59608f); private static Color LunarGolemColor = new Color(0.45882f, 0.58431f, 0.61176f); private static Color LunarWispColor = new Color(0.21961f, 0.44314f, 0.87843f); private static Color VoidJailerColor = new Color(0.25882f, 0.37647f, 0.85098f); private static Color LemurianColor = new Color(0.505f, 0.352f, 0.66f); private static Color GrenadierColor = new Color(0.311f, 0.232f, 0.142f); private static Color BarnacleColor = new Color(0.31f, 0.294f, 0.424f); private static Color GuardColor = new Color(0.547f, 0.467f, 0.214f); private static Color LarvaColor = new Color(0.142f, 0.179f, 0.217f); private static Color VultureColor = new Color(0.106f, 0.179f, 0.151f); private static GameObject dontDestroyOnLoadParent; private static GameObject indicator; internal static void CreatePrefabs() { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_000b: Expected O, but got Unknown //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_002c: Unknown result type (might be due to invalid IL or missing references) //IL_003e: Unknown result type (might be due to invalid IL or missing references) //IL_0057: Unknown result type (might be due to invalid IL or missing references) //IL_0070: Unknown result type (might be due to invalid IL or missing references) //IL_0089: Unknown result type (might be due to invalid IL or missing references) //IL_00a2: Unknown result type (might be due to invalid IL or missing references) //IL_00bb: Unknown result type (might be due to invalid IL or missing references) //IL_00d4: Unknown result type (might be due to invalid IL or missing references) //IL_00ed: Unknown result type (might be due to invalid IL or missing references) //IL_0106: Unknown result type (might be due to invalid IL or missing references) //IL_011f: Unknown result type (might be due to invalid IL or missing references) //IL_0138: Unknown result type (might be due to invalid IL or missing references) //IL_0151: Unknown result type (might be due to invalid IL or missing references) //IL_016a: Unknown result type (might be due to invalid IL or missing references) //IL_0183: Unknown result type (might be due to invalid IL or missing references) //IL_019c: Unknown result type (might be due to invalid IL or missing references) dontDestroyOnLoadParent = new GameObject(); dontDestroyOnLoadParent.SetActive(false); Object.DontDestroyOnLoad((Object)(object)dontDestroyOnLoadParent); indicator = Addressables.LoadAssetAsync<GameObject>((object)"RoR2/Base/Common/BossPositionIndicator.prefab").WaitForCompletion(); wispIndicator = CreateIndicator("WispIndicator", WispColor, "wisIcon"); greaterWispIndicator = CreateIndicator("GreaterWispIndicator", GreaterWispColor, "greaterWispIcon"); bellIndicator = CreateIndicator("BellIndicator", BellColor, "bellIcon"); elderIndicator = CreateIndicator("ElderLemurianIndicator", ElderColor, "elderIcon"); bisonIndicator = CreateIndicator("bisonIcon", BisonColor, "bisonIcon"); jellyIndicator = CreateIndicator("JellyIndicator", JellyColor, "jellyIcon"); lunarGolemIndicator = CreateIndicator("LunarGolemIndicator", LunarGolemColor, "lunarGolemIcon"); lunarWispIndicator = CreateIndicator("LunarWispIndicator", LunarWispColor, "lunarWispIcon"); voidJailerIndicator = CreateIndicator("VoidJailerIndicator", VoidJailerColor, "voidJailerIcon"); lemurianIndicator = CreateIndicator("VoidJailerIndicator", LemurianColor, "lemurianIcon"); grenadierIndicator = CreateIndicator("VoidJailerIndicator", GrenadierColor, "grenadierIcon"); barnacleIndicator = CreateIndicator("VoidJailerIndicator", BarnacleColor, "barnacleIcon"); guardIndicator = CreateIndicator("VoidJailerIndicator", GuardColor, "guardIcon"); larvaIndicator = CreateIndicator("VoidJailerIndicator", LarvaColor, "larvaIcon"); vultureIndicator = CreateIndicator("VultureIndicator", VultureColor, "vultureIcon"); } private static GameObject CreateIndicator(string objName, Color color, string iconName) { //IL_006c: Unknown result type (might be due to invalid IL or missing references) //IL_00fc: Unknown result type (might be due to invalid IL or missing references) //IL_011d: Unknown result type (might be due to invalid IL or missing references) //IL_0133: Unknown result type (might be due to invalid IL or missing references) GameObject val = Object.Instantiate<GameObject>(indicator); ((Object)val).name = objName; val.transform.SetParent(dontDestroyOnLoadParent.transform); val.AddComponent<FilterComponent>(); Transform[] componentsInChildren = val.GetComponentsInChildren<Transform>(); for (int i = 0; i < componentsInChildren.Length; i++) { if (Object.op_Implicit((Object)(object)componentsInChildren[i]) && ((Object)componentsInChildren[i]).name == "Sprite") { ((Component)componentsInChildren[i]).GetComponent<SpriteRenderer>().color = color; } if (Object.op_Implicit((Object)(object)componentsInChildren[i]) && ((Object)componentsInChildren[i]).name == "Sprite" && ((Object)componentsInChildren[i].parent).name == "Sprite" && MainPlugin.addIcons.Value) { GameObject val2 = Object.Instantiate<GameObject>(((Component)componentsInChildren[i]).gameObject, componentsInChildren[i].parent.parent); val2.transform.localPosition = new Vector3(0f, 1.4f, 0f); val2.transform.localScale = new Vector3(1f, -1f, 1f); SpriteRenderer component = val2.GetComponent<SpriteRenderer>(); component.color = Color.white; component.sprite = Assets.MainAssetBundle.LoadAsset<Sprite>(iconName); } } return val; } } internal static class Extensions { internal static void HandleIndicators(this EntityState state, GameObject indicatorPrefab) { NetworkUser currentNetworkUser = LocalUserManager.GetFirstLocalUser().currentNetworkUser; if (Object.op_Implicit((Object)(object)currentNetworkUser) && Object.op_Implicit((Object)(object)currentNetworkUser.master) && Object.op_Implicit((Object)(object)currentNetworkUser.master.GetBody()) && Object.op_Implicit((Object)(object)state.characterBody) && Object.op_Implicit((Object)(object)state.characterBody.master) && state.characterBody.master.aiComponents != null && Object.op_Implicit((Object)(object)state.characterBody.master.aiComponents[0]) && Object.op_Implicit((Object)(object)state.characterBody.master.aiComponents[0].currentEnemy.gameObject) && (Object)(object)state.characterBody.master.aiComponents[0].currentEnemy.gameObject == (Object)(object)((Component)currentNetworkUser.master.GetBody()).gameObject) { FilterComponent componentInChildren = state.gameObject.GetComponentInChildren<FilterComponent>(); if (Object.op_Implicit((Object)(object)componentInChildren)) { Object.Destroy((Object)(object)((Component)componentInChildren).gameObject); } else if (Object.op_Implicit((Object)(object)indicatorPrefab)) { Object.Instantiate<GameObject>(indicatorPrefab, state.transform).GetComponent<PositionIndicator>().targetTransform = state.transform; } } } }