Some mods may be broken due to the recent Alloyed Collective update.
Decompiled source of DamageSourceForEnemies v2.0.1
plugins/DamageSourceForEnemies.dll
Decompiled a day ago
The result has been truncated due to the large size, download it to view full contents!
using System; using System.Collections; using System.Collections.Generic; using System.Diagnostics; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using System.Security; using System.Security.Permissions; using System.Text; using AugmentedVoidReaver; using BepInEx; using BepInEx.Configuration; using BepInEx.Logging; using EnemiesPlus.Content.Beetle; using EnemiesPlus.Content.Imp; using EnemiesPlus.Content.Wisp; using EntityStates; using EntityStates.AcidLarva; using EntityStates.ArtifactShell; using EntityStates.BeetleGuardMonster; using EntityStates.BeetleMonster; using EntityStates.BeetleQueenMonster; using EntityStates.Bell.BellWeapon; using EntityStates.Bison; using EntityStates.BrotherHaunt; using EntityStates.BrotherMonster; using EntityStates.BrotherMonster.Weapon; using EntityStates.ChildMonster; using EntityStates.ClayBoss; using EntityStates.ClayBoss.ClayBossWeapon; using EntityStates.ClayBruiser.Weapon; using EntityStates.ClayGrenadier; using EntityStates.DefectiveUnit; using EntityStates.Drone.DroneBombardment; using EntityStates.Drone.DroneCopycat; using EntityStates.Drone.DroneWeapon; using EntityStates.ExtractorUnit; using EntityStates.FalseSonBoss; using EntityStates.FlyingVermin.Weapon; using EntityStates.FriendUnit; using EntityStates.GolemMonster; using EntityStates.GrandParentBoss; using EntityStates.GravekeeperBoss; using EntityStates.GravekeeperMonster.Weapon; using EntityStates.GreaterWispMonster; using EntityStates.Gup; using EntityStates.Halcyonite; using EntityStates.HermitCrab; using EntityStates.ImpBossMonster; using EntityStates.ImpMonster; using EntityStates.IronHauler.Weapon; using EntityStates.JellyfishMonster; using EntityStates.LemurianBruiserMonster; using EntityStates.LemurianMonster; using EntityStates.LunarExploderMonster.Weapon; using EntityStates.LunarGolem; using EntityStates.LunarWisp; using EntityStates.Mage.Weapon; using EntityStates.MajorConstruct.Weapon; using EntityStates.MiniMushroom; using EntityStates.MinorConstruct.Weapon; using EntityStates.NullifierMonster; using EntityStates.ParentMonster; using EntityStates.RoboBallBoss.Weapon; using EntityStates.RoboBallMini.Weapon; using EntityStates.ScavMonster; using EntityStates.Scorchling; using EntityStates.SolusAmalgamator; using EntityStates.SolusHeart; using EntityStates.SolusMine; using EntityStates.SolusWing; using EntityStates.Squid.SquidWeapon; using EntityStates.Tanker; using EntityStates.Tanker.GreasePuddle; using EntityStates.TitanMonster; using EntityStates.Treebot.Weapon; using EntityStates.UrchinTurret.Weapon; using EntityStates.VagrantMonster; using EntityStates.VagrantMonster.Weapon; using EntityStates.Vermin.Weapon; using EntityStates.VoidBarnacle.Weapon; using EntityStates.VoidInfestor; using EntityStates.VoidJailer.Weapon; using EntityStates.VoidMegaCrab.BackWeapon; using EntityStates.VoidMegaCrab.Weapon; using EntityStates.VoidRaidCrab; using EntityStates.VoidRaidCrab.Weapon; using EntityStates.Vulture.Weapon; using EntityStates.VultureHunter.Body; using EntityStates.VultureHunter.Weapon; using EntityStates.Wisp1Monster; using EntityStates.WorkerUnit; using Mdh.AugmentedVoidReaver.BetterPortalBomb; using Mdh.EnemiesPlus.Content.Beetle.BeetleSpit; using Mdh.EnemiesPlus.Content.Imp.ImpVoidSpike; using Mdh.EnemiesPlus.Content.Wisp.FireBlast; using Mdh.EntityStates.AcidLarva.LarvaLeap; using Mdh.EntityStates.ArtifactShell.FireSolarFlares; using Mdh.EntityStates.BaseState; using Mdh.EntityStates.BasicMeleeAttack; using Mdh.EntityStates.BeetleGuardMonster.FireSunder; using Mdh.EntityStates.BeetleGuardMonster.GroundSlam; using Mdh.EntityStates.BeetleMonster.HeadbuttState; using Mdh.EntityStates.BeetleQueenMonster.FireSpit; using Mdh.EntityStates.Bell.BellWeapon.ChargeTrioBomb; using Mdh.EntityStates.Bison.Charge; using Mdh.EntityStates.Bison.Headbutt; using Mdh.EntityStates.BrotherHaunt.FireRandomProjectiles; using Mdh.EntityStates.BrotherMonster.ExitSkyLeap; using Mdh.EntityStates.BrotherMonster.FistSlam; using Mdh.EntityStates.BrotherMonster.UltChannelState; using Mdh.EntityStates.BrotherMonster.Weapon.FireLunarShards; using Mdh.EntityStates.BrotherMonster.WeaponSlam; using Mdh.EntityStates.ChildMonster.SparkBallFire; using Mdh.EntityStates.ClayBoss.ClayBossWeapon.FireBombardment; using Mdh.EntityStates.ClayBoss.FireTarball; using Mdh.EntityStates.ClayBruiser.Weapon.MinigunFire; using Mdh.EntityStates.ClayGrenadier.FaceSlam; using Mdh.EntityStates.DefectiveUnit.Denial; using Mdh.EntityStates.DefectiveUnit.DenialProjectile; using Mdh.EntityStates.DefectiveUnit.Detonate; using Mdh.EntityStates.Drone.DroneBombardment.BombardmentDroneProjectileEffect; using Mdh.EntityStates.Drone.DroneBombardment.BombardmentDroneSkill; using Mdh.EntityStates.Drone.DroneCopycat.FireLaserDisc; using Mdh.EntityStates.Drone.DroneWeapon.FireGatling; using Mdh.EntityStates.Drone.DroneWeapon.FireMegaTurret; using Mdh.EntityStates.Drone.DroneWeapon.FireMissileBarrage; using Mdh.EntityStates.Drone.DroneWeapon.FireTurret; using Mdh.EntityStates.Drone.DroneWeapon.FireTwinRocket; using Mdh.EntityStates.FalseSonBoss.CorruptedPaths; using Mdh.EntityStates.FalseSonBoss.CorruptedPathsDash; using Mdh.EntityStates.FalseSonBoss.FalseSonBossGenericStateWithSwing; using Mdh.EntityStates.FalseSonBoss.FissureSlam; using Mdh.EntityStates.FalseSonBoss.LunarRain; using Mdh.EntityStates.FalseSonBoss.PrimeDevastator; using Mdh.EntityStates.FalseSonBoss.TaintedOffering; using Mdh.EntityStates.FlyingVermin.Weapon.Spit; using Mdh.EntityStates.FriendUnit.FinalSacrifice; using Mdh.EntityStates.FriendUnit.KineticAuraImpact; using Mdh.EntityStates.GenericProjectileBaseState; using Mdh.EntityStates.GolemMonster.ClapState; using Mdh.EntityStates.GolemMonster.FireLaser; using Mdh.EntityStates.GrandParentBoss.GroundSwipe; using Mdh.EntityStates.GravekeeperBoss.FireHook; using Mdh.EntityStates.GravekeeperMonster.Weapon.GravekeeperBarrage; using Mdh.EntityStates.GreaterWispMonster.FireCannons; using Mdh.EntityStates.Halcyonite.TriLaser; using Mdh.EntityStates.Halcyonite.WhirlWindPersuitCycle; using Mdh.EntityStates.HermitCrab.FireMortar; using Mdh.EntityStates.ImpBossMonster.BlinkState; using Mdh.EntityStates.ImpBossMonster.FireVoidspikes; using Mdh.EntityStates.ImpBossMonster.GroundPound; using Mdh.EntityStates.ImpMonster.DoubleSlash; using Mdh.EntityStates.JellyfishMonster.JellyNova; using Mdh.EntityStates.LemurianBruiserMonster.FireMegaFireball; using Mdh.EntityStates.LemurianBruiserMonster.Flamebreath; using Mdh.EntityStates.LemurianMonster.Bite; using Mdh.EntityStates.LemurianMonster.FireFireball; using Mdh.EntityStates.LunarGolem.FireTwinShots; using Mdh.EntityStates.LunarWisp.FireLunarGuns; using Mdh.EntityStates.LunarWisp.SeekingBomb; using Mdh.EntityStates.Mage.Weapon.Flamethrower; using Mdh.EntityStates.MajorConstruct.Weapon.FireLaser; using Mdh.EntityStates.MajorConstruct.Weapon.TerminateLaser; using Mdh.EntityStates.MiniMushroom.SporeGrenade; using Mdh.EntityStates.NullifierMonster.FirePortalBomb; using Mdh.EntityStates.ParentMonster.GroundSlam; using Mdh.EntityStates.RoboBallBoss.Weapon.FireDelayKnockup; using Mdh.EntityStates.RoboBallBoss.Weapon.FireEyeBlast; using Mdh.EntityStates.RoboBallMini.Weapon.FireEyeBeam; using Mdh.EntityStates.ScavMonster.FireEnergyCannon; using Mdh.EntityStates.ScavMonster.ThrowSack; using Mdh.EntityStates.Scorchling.ScorchlingBreach; using Mdh.EntityStates.Scorchling.ScorchlingLavaBomb; using Mdh.EntityStates.SolusAmalgamator.ArtilleryStrike; using Mdh.EntityStates.SolusAmalgamator.FlamethrowerCannon; using Mdh.EntityStates.SolusAmalgamator.FlamethrowerTurret; using Mdh.EntityStates.SolusAmalgamator.ShockArmor; using Mdh.EntityStates.SolusHeart.DDOS; using Mdh.EntityStates.SolusHeart.FireOrbitalStrike; using Mdh.EntityStates.SolusHeart.GroundSlamState; using Mdh.EntityStates.SolusHeart.Underclock; using Mdh.EntityStates.SolusMine.Detonate; using Mdh.EntityStates.SolusWing.ExpandingLaserBase; using Mdh.EntityStates.SolusWing.GravPulse; using Mdh.EntityStates.SolusWing.SuppressionFire; using Mdh.EntityStates.Squid.SquidWeapon.FireSpine; using Mdh.EntityStates.Tanker.Accelerant; using Mdh.EntityStates.Tanker.GreasePuddle.IgniteGrease; using Mdh.EntityStates.Tanker.Ignite; using Mdh.EntityStates.TitanMonster.FireFist; using Mdh.EntityStates.TitanMonster.FireGoldMegaLaser; using Mdh.EntityStates.TitanMonster.FireMegaLaser; using Mdh.EntityStates.Treebot.Weapon.FireSonicBoom; using Mdh.EntityStates.UrchinTurret.Weapon.MinigunFire; using Mdh.EntityStates.VagrantMonster.FireMegaNova; using Mdh.EntityStates.VagrantMonster.FireTrackingBomb; using Mdh.EntityStates.VagrantMonster.Weapon.JellyBarrage; using Mdh.EntityStates.Vermin.Weapon.TongueLash; using Mdh.EntityStates.VoidInfestor.Infest; using Mdh.EntityStates.VoidJailer.Weapon.Capture2; using Mdh.EntityStates.VoidMegaCrab.BackWeapon.FireVoidMissiles; using Mdh.EntityStates.VoidMegaCrab.Weapon.FireCrabCannonBase; using Mdh.EntityStates.VoidRaidCrab.SpinBeamAttack; using Mdh.EntityStates.VoidRaidCrab.Weapon.BaseFireMultiBeam; using Mdh.EntityStates.VoidRaidCrab.Weapon.FireMissiles; using Mdh.EntityStates.Vulture.Weapon.FireWindblade; using Mdh.EntityStates.VultureHunter.Body.BombingRun; using Mdh.EntityStates.VultureHunter.Body.BombingRunLaser; using Mdh.EntityStates.VultureHunter.Body.ThrowSpear; using Mdh.EntityStates.VultureHunter.Body.ThrowTeleportSpear; using Mdh.EntityStates.VultureHunter.Weapon.Calldown; using Mdh.EntityStates.VultureHunter.Weapon.FireSolusLaser; using Mdh.EntityStates.Wisp1Monster.FireEmbers; using Mdh.EntityStates.WorkerUnit.FireDrillDash; using Mdh.RoR2.JailerTetherController; using Mdh.RoR2.Projectile.MegacrabProjectileController; using Mdh.RoR2.TarTetherController; using Mdh.RoR2.TitanRockController; using Mdh.RoR2.WormBodyPositions2; using Microsoft.CodeAnalysis; using MiscFixes.Modules; using Mono.Cecil; using Mono.Cecil.Cil; using Mono.Collections.Generic; using MonoDetour; using MonoDetour.Cil; using MonoDetour.Cil.Analysis; using MonoDetour.DetourTypes; using MonoDetour.HookGen; using MonoMod.Cil; using RoR2; using RoR2.ContentManagement; using RoR2.Orbs; using RoR2.Projectile; using RoR2BepInExPack.GameAssetPaths.Version_1_35_0; using UnityEngine; using UnityEngine.AddressableAssets; using UnityEngine.ResourceManagement.AsyncOperations; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)] [assembly: IgnoresAccessChecksTo("AugmentedVoidReaver")] [assembly: IgnoresAccessChecksTo("EnemiesPlus")] [assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")] [assembly: AssemblyCompany("LordVGames.DamageSourceForEnemies")] [assembly: AssemblyConfiguration("Release")] [assembly: AssemblyFileVersion("2.0.1.0")] [assembly: AssemblyInformationalVersion("2.0.1+ba444e9dfc4f6e9754e7c093818e497907d4ddcf")] [assembly: AssemblyProduct("LordVGames.DamageSourceForEnemies")] [assembly: AssemblyTitle("DamageSourceForEnemies")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("2.0.1.0")] [module: UnverifiableCode] [module: RefSafetyRules(11)] namespace System.Runtime.CompilerServices { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.Class | AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Event | AttributeTargets.Parameter | AttributeTargets.ReturnValue | AttributeTargets.GenericParameter, AllowMultiple = false, Inherited = false)] internal sealed class NullableAttribute : Attribute { public readonly byte[] NullableFlags; public NullableAttribute(byte P_0) { NullableFlags = new byte[1] { P_0 }; } public NullableAttribute(byte[] P_0) { NullableFlags = P_0; } } [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Method | AttributeTargets.Interface | AttributeTargets.Delegate, AllowMultiple = false, Inherited = false)] internal sealed class NullableContextAttribute : Attribute { public readonly byte Flag; public NullableContextAttribute(byte P_0) { Flag = P_0; } } [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.Module, AllowMultiple = false, Inherited = false)] internal sealed class RefSafetyRulesAttribute : Attribute { public readonly int Version; public RefSafetyRulesAttribute(int P_0) { Version = P_0; } } } namespace Mdh.RoR2.Projectile.MegacrabProjectileController { internal static class FixedUpdate { public delegate void PrefixSignature(MegacrabProjectileController self); public delegate void PostfixSignature(MegacrabProjectileController self); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PrefixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PostfixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return typeof(MegacrabProjectileController).GetMethod("FixedUpdate", (BindingFlags)(-1), null, Array.Empty<Type>(), null) ?? throw new MissingMethodException("RoR2.Projectile.MegacrabProjectileController", "FixedUpdate"); } } internal static class OnDestroy { public delegate void PrefixSignature(MegacrabProjectileController self); public delegate void PostfixSignature(MegacrabProjectileController self); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PrefixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PostfixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return typeof(MegacrabProjectileController).GetMethod("OnDestroy", (BindingFlags)(-1), null, Array.Empty<Type>(), null) ?? throw new MissingMethodException("RoR2.Projectile.MegacrabProjectileController", "OnDestroy"); } } } namespace Mdh.RoR2.JailerTetherController { internal static class FixedUpdate { public delegate void PrefixSignature(JailerTetherController self); public delegate void PostfixSignature(JailerTetherController self); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PrefixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PostfixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return typeof(JailerTetherController).GetMethod("FixedUpdate", (BindingFlags)(-1), null, Array.Empty<Type>(), null) ?? throw new MissingMethodException("RoR2.JailerTetherController", "FixedUpdate"); } } internal static class DoDamageTick { public delegate void PrefixSignature(JailerTetherController self); public delegate void PostfixSignature(JailerTetherController self); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PrefixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PostfixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return typeof(JailerTetherController).GetMethod("DoDamageTick", (BindingFlags)(-1), null, Array.Empty<Type>(), null) ?? throw new MissingMethodException("RoR2.JailerTetherController", "DoDamageTick"); } } } namespace Mdh.RoR2.TitanRockController { internal static class FixedUpdate { public delegate void PrefixSignature(TitanRockController self); public delegate void PostfixSignature(TitanRockController self); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PrefixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PostfixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return typeof(TitanRockController).GetMethod("FixedUpdate", (BindingFlags)(-1), null, Array.Empty<Type>(), null) ?? throw new MissingMethodException("RoR2.TitanRockController", "FixedUpdate"); } } internal static class Fire { public delegate void PrefixSignature(TitanRockController self); public delegate void PostfixSignature(TitanRockController self); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PrefixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PostfixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return typeof(TitanRockController).GetMethod("Fire", (BindingFlags)(-1), null, Array.Empty<Type>(), null) ?? throw new MissingMethodException("RoR2.TitanRockController", "Fire"); } } } namespace Mdh.RoR2.WormBodyPositions2 { internal static class FixedUpdate { public delegate void PrefixSignature(WormBodyPositions2 self); public delegate void PostfixSignature(WormBodyPositions2 self); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PrefixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PostfixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return typeof(WormBodyPositions2).GetMethod("FixedUpdate", (BindingFlags)(-1), null, Array.Empty<Type>(), null) ?? throw new MissingMethodException("RoR2.WormBodyPositions2", "FixedUpdate"); } } internal static class FireImpactBlastAttack { public delegate void PrefixSignature(WormBodyPositions2 self, ref Vector3 impactPosition); public delegate void PostfixSignature(WormBodyPositions2 self, ref Vector3 impactPosition); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PrefixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PostfixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return typeof(WormBodyPositions2).GetMethod("FireImpactBlastAttack", (BindingFlags)(-1), null, new Type[1] { typeof(Vector3) }, null) ?? throw new MissingMethodException("RoR2.WormBodyPositions2", "FireImpactBlastAttack"); } } internal static class FireMeatballs { public delegate void PrefixSignature(WormBodyPositions2 self, ref Vector3 impactNormal, ref Vector3 impactPosition, ref Vector3 forward, ref int meatballCount, ref float meatballAngle, ref float meatballForce); public delegate void PostfixSignature(WormBodyPositions2 self, ref Vector3 impactNormal, ref Vector3 impactPosition, ref Vector3 forward, ref int meatballCount, ref float meatballAngle, ref float meatballForce); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PrefixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PostfixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return typeof(WormBodyPositions2).GetMethod("FireMeatballs", (BindingFlags)(-1), null, new Type[6] { typeof(Vector3), typeof(Vector3), typeof(Vector3), typeof(int), typeof(float), typeof(float) }, null) ?? throw new MissingMethodException("RoR2.WormBodyPositions2", "FireMeatballs"); } } internal static class OnDestroy { public delegate void PrefixSignature(WormBodyPositions2 self); public delegate void PostfixSignature(WormBodyPositions2 self); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PrefixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PostfixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return typeof(WormBodyPositions2).GetMethod("OnDestroy", (BindingFlags)(-1), null, Array.Empty<Type>(), null) ?? throw new MissingMethodException("RoR2.WormBodyPositions2", "OnDestroy"); } } } namespace Mdh.RoR2.TarTetherController { internal static class FixedUpdate { public delegate void PrefixSignature(TarTetherController self); public delegate void PostfixSignature(TarTetherController self); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PrefixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PostfixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return typeof(TarTetherController).GetMethod("FixedUpdate", (BindingFlags)(-1), null, Array.Empty<Type>(), null) ?? throw new MissingMethodException("RoR2.TarTetherController", "FixedUpdate"); } } internal static class DoDamageTick { public delegate void PrefixSignature(TarTetherController self, ref bool mulch); public delegate void PostfixSignature(TarTetherController self, ref bool mulch); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PrefixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PostfixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return typeof(TarTetherController).GetMethod("DoDamageTick", (BindingFlags)(-1), null, new Type[1] { typeof(bool) }, null) ?? throw new MissingMethodException("RoR2.TarTetherController", "DoDamageTick"); } } } namespace Mdh.EnemiesPlus.Content.Imp.ImpVoidSpike { internal static class OnEnter { public delegate void PrefixSignature(ImpVoidSpike self); public delegate void PostfixSignature(ImpVoidSpike self); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PrefixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PostfixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return typeof(ImpVoidSpike).GetMethod("OnEnter", (BindingFlags)(-1), null, Array.Empty<Type>(), null) ?? throw new MissingMethodException("EnemiesPlus.Content.Imp.ImpVoidSpike", "OnEnter"); } } internal static class FixedUpdate { public delegate void PrefixSignature(ImpVoidSpike self); public delegate void PostfixSignature(ImpVoidSpike self); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PrefixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PostfixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return typeof(ImpVoidSpike).GetMethod("FixedUpdate", (BindingFlags)(-1), null, Array.Empty<Type>(), null) ?? throw new MissingMethodException("EnemiesPlus.Content.Imp.ImpVoidSpike", "FixedUpdate"); } } internal static class HandleSlash { public delegate void PrefixSignature(ImpVoidSpike self, ref string animatorParamName, ref string muzzleName); public delegate void PostfixSignature(ImpVoidSpike self, ref string animatorParamName, ref string muzzleName); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PrefixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PostfixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return typeof(ImpVoidSpike).GetMethod("HandleSlash", (BindingFlags)(-1), null, new Type[2] { typeof(string), typeof(string) }, null) ?? throw new MissingMethodException("EnemiesPlus.Content.Imp.ImpVoidSpike", "HandleSlash"); } } } namespace Mdh.EnemiesPlus.Content.Wisp.FireBlast { internal static class OnEnter { public delegate void PrefixSignature(FireBlast self); public delegate void PostfixSignature(FireBlast self); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PrefixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PostfixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return typeof(FireBlast).GetMethod("OnEnter", (BindingFlags)(-1), null, Array.Empty<Type>(), null) ?? throw new MissingMethodException("EnemiesPlus.Content.Wisp.FireBlast", "OnEnter"); } } internal static class FixedUpdate { public delegate void PrefixSignature(FireBlast self); public delegate void PostfixSignature(FireBlast self); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PrefixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PostfixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return typeof(FireBlast).GetMethod("FixedUpdate", (BindingFlags)(-1), null, Array.Empty<Type>(), null) ?? throw new MissingMethodException("EnemiesPlus.Content.Wisp.FireBlast", "FixedUpdate"); } } internal static class Fire { public delegate void PrefixSignature(FireBlast self); public delegate void PostfixSignature(FireBlast self); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PrefixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PostfixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return typeof(FireBlast).GetMethod("Fire", (BindingFlags)(-1), null, Array.Empty<Type>(), null) ?? throw new MissingMethodException("EnemiesPlus.Content.Wisp.FireBlast", "Fire"); } } } namespace Mdh.EnemiesPlus.Content.Beetle.BeetleSpit { internal static class OnEnter { public delegate void PrefixSignature(BeetleSpit self); public delegate void PostfixSignature(BeetleSpit self); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PrefixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PostfixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return typeof(BeetleSpit).GetMethod("OnEnter", (BindingFlags)(-1), null, Array.Empty<Type>(), null) ?? throw new MissingMethodException("EnemiesPlus.Content.Beetle.BeetleSpit", "OnEnter"); } } internal static class FixedUpdate { public delegate void PrefixSignature(BeetleSpit self); public delegate void PostfixSignature(BeetleSpit self); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PrefixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PostfixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return typeof(BeetleSpit).GetMethod("FixedUpdate", (BindingFlags)(-1), null, Array.Empty<Type>(), null) ?? throw new MissingMethodException("EnemiesPlus.Content.Beetle.BeetleSpit", "FixedUpdate"); } } internal static class Fire { public delegate void PrefixSignature(BeetleSpit self); public delegate void PostfixSignature(BeetleSpit self); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PrefixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PostfixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return typeof(BeetleSpit).GetMethod("Fire", (BindingFlags)(-1), null, Array.Empty<Type>(), null) ?? throw new MissingMethodException("EnemiesPlus.Content.Beetle.BeetleSpit", "Fire"); } } } namespace Mdh.AugmentedVoidReaver.BetterPortalBomb { internal static class OnEnter { public delegate void PrefixSignature(BetterPortalBomb self); public delegate void PostfixSignature(BetterPortalBomb self); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PrefixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PostfixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return typeof(BetterPortalBomb).GetMethod("OnEnter", (BindingFlags)(-1), null, Array.Empty<Type>(), null) ?? throw new MissingMethodException("AugmentedVoidReaver.BetterPortalBomb", "OnEnter"); } } internal static class FixedUpdate { public delegate void PrefixSignature(BetterPortalBomb self); public delegate void PostfixSignature(BetterPortalBomb self); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PrefixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PostfixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return typeof(BetterPortalBomb).GetMethod("FixedUpdate", (BindingFlags)(-1), null, Array.Empty<Type>(), null) ?? throw new MissingMethodException("AugmentedVoidReaver.BetterPortalBomb", "FixedUpdate"); } } internal static class FireBomb { public delegate void PrefixSignature(BetterPortalBomb self, ref Vector3 targetPos); public delegate void PostfixSignature(BetterPortalBomb self, ref Vector3 targetPos); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PrefixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PostfixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return typeof(BetterPortalBomb).GetMethod("FireBomb", (BindingFlags)(-1), null, new Type[1] { typeof(Vector3) }, null) ?? throw new MissingMethodException("AugmentedVoidReaver.BetterPortalBomb", "FireBomb"); } } } namespace Mdh.EntityStates.Vermin.Weapon.TongueLash { internal static class AuthorityModifyOverlapAttack { public delegate void PrefixSignature(TongueLash self, ref OverlapAttack overlapAttack); public delegate void PostfixSignature(TongueLash self, ref OverlapAttack overlapAttack); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PrefixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PostfixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return typeof(TongueLash).GetMethod("AuthorityModifyOverlapAttack", (BindingFlags)(-1), null, new Type[1] { typeof(OverlapAttack) }, null) ?? throw new MissingMethodException("EntityStates.Vermin.Weapon.TongueLash", "AuthorityModifyOverlapAttack"); } } } namespace Mdh.EntityStates.RoboBallMini.Weapon.FireEyeBeam { internal static class ModifyBullet { public delegate void PrefixSignature(FireEyeBeam self, ref BulletAttack bulletAttack); public delegate void PostfixSignature(FireEyeBeam self, ref BulletAttack bulletAttack); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PrefixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PostfixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return typeof(FireEyeBeam).GetMethod("ModifyBullet", (BindingFlags)(-1), null, new Type[1] { typeof(BulletAttack) }, null) ?? throw new MissingMethodException("EntityStates.RoboBallMini.Weapon.FireEyeBeam", "ModifyBullet"); } } } namespace Mdh.EntityStates.VoidRaidCrab.SpinBeamAttack { internal static class OnEnter { public delegate void PrefixSignature(SpinBeamAttack self); public delegate void PostfixSignature(SpinBeamAttack self); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PrefixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PostfixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return typeof(SpinBeamAttack).GetMethod("OnEnter", (BindingFlags)(-1), null, Array.Empty<Type>(), null) ?? throw new MissingMethodException("EntityStates.VoidRaidCrab.SpinBeamAttack", "OnEnter"); } } internal static class FixedUpdate { public delegate void PrefixSignature(SpinBeamAttack self); public delegate void PostfixSignature(SpinBeamAttack self); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PrefixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PostfixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return typeof(SpinBeamAttack).GetMethod("FixedUpdate", (BindingFlags)(-1), null, Array.Empty<Type>(), null) ?? throw new MissingMethodException("EntityStates.VoidRaidCrab.SpinBeamAttack", "FixedUpdate"); } } internal static class FireBeamBulletAuthority { public delegate void PrefixSignature(SpinBeamAttack self); public delegate void PostfixSignature(SpinBeamAttack self); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PrefixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PostfixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return typeof(SpinBeamAttack).GetMethod("FireBeamBulletAuthority", (BindingFlags)(-1), null, Array.Empty<Type>(), null) ?? throw new MissingMethodException("EntityStates.VoidRaidCrab.SpinBeamAttack", "FireBeamBulletAuthority"); } } } namespace Mdh.EntityStates.VoidRaidCrab.Weapon.BaseFireMultiBeam { internal static class OnEnter { public delegate void PrefixSignature(BaseFireMultiBeam self); public delegate void PostfixSignature(BaseFireMultiBeam self); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PrefixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PostfixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return typeof(BaseFireMultiBeam).GetMethod("OnEnter", (BindingFlags)(-1), null, Array.Empty<Type>(), null) ?? throw new MissingMethodException("EntityStates.VoidRaidCrab.Weapon.BaseFireMultiBeam", "OnEnter"); } } internal static class FixedUpdate { public delegate void PrefixSignature(BaseFireMultiBeam self); public delegate void PostfixSignature(BaseFireMultiBeam self); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PrefixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PostfixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return typeof(BaseFireMultiBeam).GetMethod("FixedUpdate", (BindingFlags)(-1), null, Array.Empty<Type>(), null) ?? throw new MissingMethodException("EntityStates.VoidRaidCrab.Weapon.BaseFireMultiBeam", "FixedUpdate"); } } } namespace Mdh.EntityStates.VoidRaidCrab.Weapon.FireMissiles { internal static class OnEnter { public delegate void PrefixSignature(FireMissiles self); public delegate void PostfixSignature(FireMissiles self); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PrefixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PostfixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return typeof(FireMissiles).GetMethod("OnEnter", (BindingFlags)(-1), null, Array.Empty<Type>(), null) ?? throw new MissingMethodException("EntityStates.VoidRaidCrab.Weapon.FireMissiles", "OnEnter"); } } internal static class FixedUpdate { public delegate void PrefixSignature(FireMissiles self); public delegate void PostfixSignature(FireMissiles self); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PrefixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PostfixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return typeof(FireMissiles).GetMethod("FixedUpdate", (BindingFlags)(-1), null, Array.Empty<Type>(), null) ?? throw new MissingMethodException("EntityStates.VoidRaidCrab.Weapon.FireMissiles", "FixedUpdate"); } } } namespace Mdh.EntityStates.VoidMegaCrab.BackWeapon.FireVoidMissiles { internal static class OnEnter { public delegate void PrefixSignature(FireVoidMissiles self); public delegate void PostfixSignature(FireVoidMissiles self); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PrefixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PostfixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return typeof(FireVoidMissiles).GetMethod("OnEnter", (BindingFlags)(-1), null, Array.Empty<Type>(), null) ?? throw new MissingMethodException("EntityStates.VoidMegaCrab.BackWeapon.FireVoidMissiles", "OnEnter"); } } internal static class FixedUpdate { public delegate void PrefixSignature(FireVoidMissiles self); public delegate void PostfixSignature(FireVoidMissiles self); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PrefixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PostfixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return typeof(FireVoidMissiles).GetMethod("FixedUpdate", (BindingFlags)(-1), null, Array.Empty<Type>(), null) ?? throw new MissingMethodException("EntityStates.VoidMegaCrab.BackWeapon.FireVoidMissiles", "FixedUpdate"); } } internal static class FireMissile { public delegate void PrefixSignature(FireVoidMissiles self); public delegate void PostfixSignature(FireVoidMissiles self); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PrefixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PostfixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return typeof(FireVoidMissiles).GetMethod("FireMissile", (BindingFlags)(-1), null, Array.Empty<Type>(), null) ?? throw new MissingMethodException("EntityStates.VoidMegaCrab.BackWeapon.FireVoidMissiles", "FireMissile"); } } } namespace Mdh.EntityStates.VoidMegaCrab.Weapon.FireCrabCannonBase { internal static class OnEnter { public delegate void PrefixSignature(FireCrabCannonBase self); public delegate void PostfixSignature(FireCrabCannonBase self); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PrefixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PostfixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return typeof(FireCrabCannonBase).GetMethod("OnEnter", (BindingFlags)(-1), null, Array.Empty<Type>(), null) ?? throw new MissingMethodException("EntityStates.VoidMegaCrab.Weapon.FireCrabCannonBase", "OnEnter"); } } internal static class FixedUpdate { public delegate void PrefixSignature(FireCrabCannonBase self); public delegate void PostfixSignature(FireCrabCannonBase self); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PrefixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PostfixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return typeof(FireCrabCannonBase).GetMethod("FixedUpdate", (BindingFlags)(-1), null, Array.Empty<Type>(), null) ?? throw new MissingMethodException("EntityStates.VoidMegaCrab.Weapon.FireCrabCannonBase", "FixedUpdate"); } } internal static class FireProjectile { public delegate void PrefixSignature(FireCrabCannonBase self); public delegate void PostfixSignature(FireCrabCannonBase self); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PrefixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PostfixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return typeof(FireCrabCannonBase).GetMethod("FireProjectile", (BindingFlags)(-1), null, Array.Empty<Type>(), null) ?? throw new MissingMethodException("EntityStates.VoidMegaCrab.Weapon.FireCrabCannonBase", "FireProjectile"); } } } namespace Mdh.EntityStates.VoidJailer.Weapon.Capture2 { internal static class OnEnter { public delegate void PrefixSignature(Capture2 self); public delegate void PostfixSignature(Capture2 self); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PrefixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PostfixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return typeof(Capture2).GetMethod("OnEnter", (BindingFlags)(-1), null, Array.Empty<Type>(), null) ?? throw new MissingMethodException("EntityStates.VoidJailer.Weapon.Capture2", "OnEnter"); } } internal static class FixedUpdate { public delegate void PrefixSignature(Capture2 self); public delegate void PostfixSignature(Capture2 self); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PrefixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PostfixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return typeof(Capture2).GetMethod("FixedUpdate", (BindingFlags)(-1), null, Array.Empty<Type>(), null) ?? throw new MissingMethodException("EntityStates.VoidJailer.Weapon.Capture2", "FixedUpdate"); } } } namespace Mdh.EntityStates.VoidInfestor.Infest { internal static class OnEnter { public delegate void PrefixSignature(Infest self); public delegate void PostfixSignature(Infest self); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PrefixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PostfixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return typeof(Infest).GetMethod("OnEnter", (BindingFlags)(-1), null, Array.Empty<Type>(), null) ?? throw new MissingMethodException("EntityStates.VoidInfestor.Infest", "OnEnter"); } } internal static class FixedUpdate { public delegate void PrefixSignature(Infest self); public delegate void PostfixSignature(Infest self); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PrefixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PostfixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return typeof(Infest).GetMethod("FixedUpdate", (BindingFlags)(-1), null, Array.Empty<Type>(), null) ?? throw new MissingMethodException("EntityStates.VoidInfestor.Infest", "FixedUpdate"); } } } namespace Mdh.EntityStates.MajorConstruct.Weapon.TerminateLaser { internal static class OnEnter { public delegate void PrefixSignature(TerminateLaser self); public delegate void PostfixSignature(TerminateLaser self); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PrefixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PostfixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return typeof(TerminateLaser).GetMethod("OnEnter", (BindingFlags)(-1), null, Array.Empty<Type>(), null) ?? throw new MissingMethodException("EntityStates.MajorConstruct.Weapon.TerminateLaser", "OnEnter"); } } internal static class FixedUpdate { public delegate void PrefixSignature(TerminateLaser self); public delegate void PostfixSignature(TerminateLaser self); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PrefixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PostfixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return typeof(TerminateLaser).GetMethod("FixedUpdate", (BindingFlags)(-1), null, Array.Empty<Type>(), null) ?? throw new MissingMethodException("EntityStates.MajorConstruct.Weapon.TerminateLaser", "FixedUpdate"); } } } namespace Mdh.EntityStates.MajorConstruct.Weapon.FireLaser { internal static class OnEnter { public delegate void PrefixSignature(FireLaser self); public delegate void PostfixSignature(FireLaser self); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PrefixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PostfixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return typeof(FireLaser).GetMethod("OnEnter", (BindingFlags)(-1), null, Array.Empty<Type>(), null) ?? throw new MissingMethodException("EntityStates.MajorConstruct.Weapon.FireLaser", "OnEnter"); } } internal static class FixedUpdate { public delegate void PrefixSignature(FireLaser self); public delegate void PostfixSignature(FireLaser self); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PrefixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PostfixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return typeof(FireLaser).GetMethod("FixedUpdate", (BindingFlags)(-1), null, Array.Empty<Type>(), null) ?? throw new MissingMethodException("EntityStates.MajorConstruct.Weapon.FireLaser", "FixedUpdate"); } } internal static class ModifyBullet { public delegate void PrefixSignature(FireLaser self, ref BulletAttack bulletAttack); public delegate void PostfixSignature(FireLaser self, ref BulletAttack bulletAttack); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PrefixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PostfixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return typeof(FireLaser).GetMethod("ModifyBullet", (BindingFlags)(-1), null, new Type[1] { typeof(BulletAttack) }, null) ?? throw new MissingMethodException("EntityStates.MajorConstruct.Weapon.FireLaser", "ModifyBullet"); } } } namespace Mdh.EntityStates.FlyingVermin.Weapon.Spit { internal static class OnEnter { public delegate void PrefixSignature(Spit self); public delegate void PostfixSignature(Spit self); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PrefixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PostfixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return typeof(Spit).GetMethod("OnEnter", (BindingFlags)(-1), null, Array.Empty<Type>(), null) ?? throw new MissingMethodException("EntityStates.FlyingVermin.Weapon.Spit", "OnEnter"); } } internal static class FireProjectile { public delegate void PrefixSignature(Spit self); public delegate void PostfixSignature(Spit self); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PrefixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PostfixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return typeof(Spit).GetMethod("FireProjectile", (BindingFlags)(-1), null, Array.Empty<Type>(), null) ?? throw new MissingMethodException("EntityStates.FlyingVermin.Weapon.Spit", "FireProjectile"); } } } namespace Mdh.EntityStates.ClayGrenadier.FaceSlam { internal static class OnEnter { public delegate void PrefixSignature(FaceSlam self); public delegate void PostfixSignature(FaceSlam self); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PrefixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PostfixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return typeof(FaceSlam).GetMethod("OnEnter", (BindingFlags)(-1), null, Array.Empty<Type>(), null) ?? throw new MissingMethodException("EntityStates.ClayGrenadier.FaceSlam", "OnEnter"); } } internal static class FixedUpdate { public delegate void PrefixSignature(FaceSlam self); public delegate void PostfixSignature(FaceSlam self); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PrefixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PostfixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return typeof(FaceSlam).GetMethod("FixedUpdate", (BindingFlags)(-1), null, Array.Empty<Type>(), null) ?? throw new MissingMethodException("EntityStates.ClayGrenadier.FaceSlam", "FixedUpdate"); } } } namespace Mdh.EntityStates.AcidLarva.LarvaLeap { internal static class OnEnter { public delegate void PrefixSignature(LarvaLeap self); public delegate ReturnFlow ControlFlowPrefixSignature(LarvaLeap self); public delegate void PostfixSignature(LarvaLeap self); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PrefixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ControlFlowPrefix(ControlFlowPrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PrefixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PostfixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return typeof(LarvaLeap).GetMethod("OnEnter", (BindingFlags)(-1), null, Array.Empty<Type>(), null) ?? throw new MissingMethodException("EntityStates.AcidLarva.LarvaLeap", "OnEnter"); } } internal static class FixedUpdate { public delegate void PrefixSignature(LarvaLeap self); public delegate ReturnFlow ControlFlowPrefixSignature(LarvaLeap self); public delegate void PostfixSignature(LarvaLeap self); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PrefixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ControlFlowPrefix(ControlFlowPrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PrefixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PostfixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return typeof(LarvaLeap).GetMethod("FixedUpdate", (BindingFlags)(-1), null, Array.Empty<Type>(), null) ?? throw new MissingMethodException("EntityStates.AcidLarva.LarvaLeap", "FixedUpdate"); } } internal static class FireProjectile { public delegate void PrefixSignature(LarvaLeap self); public delegate ReturnFlow ControlFlowPrefixSignature(LarvaLeap self); public delegate void PostfixSignature(LarvaLeap self); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PrefixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ControlFlowPrefix(ControlFlowPrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PrefixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PostfixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return typeof(LarvaLeap).GetMethod("FireProjectile", (BindingFlags)(-1), null, Array.Empty<Type>(), null) ?? throw new MissingMethodException("EntityStates.AcidLarva.LarvaLeap", "FireProjectile"); } } internal static class DetonateAuthority { public delegate void PrefixSignature(LarvaLeap self); public delegate ReturnFlow ControlFlowPrefixSignature(LarvaLeap self, ref Result returnValue); public delegate void PostfixSignature(LarvaLeap self, ref Result returnValue); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PrefixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ControlFlowPrefix(ControlFlowPrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PrefixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PostfixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return typeof(LarvaLeap).GetMethod("DetonateAuthority", (BindingFlags)(-1), null, Array.Empty<Type>(), null) ?? throw new MissingMethodException("EntityStates.AcidLarva.LarvaLeap", "DetonateAuthority"); } } internal static class GetBlastDamageType { public delegate void PrefixSignature(LarvaLeap self); public delegate ReturnFlow ControlFlowPrefixSignature(LarvaLeap self, ref DamageTypeCombo returnValue); public delegate void PostfixSignature(LarvaLeap self, ref DamageTypeCombo returnValue); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PrefixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ControlFlowPrefix(ControlFlowPrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PrefixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PostfixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return typeof(LarvaLeap).GetMethod("GetBlastDamageType", (BindingFlags)(-1), null, Array.Empty<Type>(), null) ?? throw new MissingMethodException("EntityStates.AcidLarva.LarvaLeap", "GetBlastDamageType"); } } } namespace Mdh.EntityStates.Scorchling.ScorchlingBreach { internal static class OnEnter { public delegate void PrefixSignature(ScorchlingBreach self); public delegate void PostfixSignature(ScorchlingBreach self); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PrefixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PostfixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return typeof(ScorchlingBreach).GetMethod("OnEnter", (BindingFlags)(-1), null, Array.Empty<Type>(), null) ?? throw new MissingMethodException("EntityStates.Scorchling.ScorchlingBreach", "OnEnter"); } } internal static class FixedUpdate { public delegate void PrefixSignature(ScorchlingBreach self); public delegate void PostfixSignature(ScorchlingBreach self); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PrefixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PostfixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return typeof(ScorchlingBreach).GetMethod("FixedUpdate", (BindingFlags)(-1), null, Array.Empty<Type>(), null) ?? throw new MissingMethodException("EntityStates.Scorchling.ScorchlingBreach", "FixedUpdate"); } } internal static class DetonateAuthority { public delegate void PrefixSignature(ScorchlingBreach self); public delegate void PostfixSignature(ScorchlingBreach self, ref Result returnValue); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PrefixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PostfixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return typeof(ScorchlingBreach).GetMethod("DetonateAuthority", (BindingFlags)(-1), null, Array.Empty<Type>(), null) ?? throw new MissingMethodException("EntityStates.Scorchling.ScorchlingBreach", "DetonateAuthority"); } } } namespace Mdh.EntityStates.Scorchling.ScorchlingLavaBomb { internal static class OnEnter { public delegate void PrefixSignature(ScorchlingLavaBomb self); public delegate void PostfixSignature(ScorchlingLavaBomb self); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PrefixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PostfixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return typeof(ScorchlingLavaBomb).GetMethod("OnEnter", (BindingFlags)(-1), null, Array.Empty<Type>(), null) ?? throw new MissingMethodException("EntityStates.Scorchling.ScorchlingLavaBomb", "OnEnter"); } } internal static class FixedUpdate { public delegate void PrefixSignature(ScorchlingLavaBomb self); public delegate void PostfixSignature(ScorchlingLavaBomb self); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PrefixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PostfixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return typeof(ScorchlingLavaBomb).GetMethod("FixedUpdate", (BindingFlags)(-1), null, Array.Empty<Type>(), null) ?? throw new MissingMethodException("EntityStates.Scorchling.ScorchlingLavaBomb", "FixedUpdate"); } } internal static class Spit { public delegate void PrefixSignature(ScorchlingLavaBomb self); public delegate void PostfixSignature(ScorchlingLavaBomb self); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PrefixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PostfixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return typeof(ScorchlingLavaBomb).GetMethod("Spit", (BindingFlags)(-1), null, Array.Empty<Type>(), null) ?? throw new MissingMethodException("EntityStates.Scorchling.ScorchlingLavaBomb", "Spit"); } } } namespace Mdh.EntityStates.Halcyonite.WhirlWindPersuitCycle { internal static class OnEnter { public delegate void PrefixSignature(WhirlWindPersuitCycle self); public delegate void PostfixSignature(WhirlWindPersuitCycle self); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PrefixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PostfixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return typeof(WhirlWindPersuitCycle).GetMethod("OnEnter", (BindingFlags)(-1), null, Array.Empty<Type>(), null) ?? throw new MissingMethodException("EntityStates.Halcyonite.WhirlWindPersuitCycle", "OnEnter"); } } internal static class FixedUpdate { public delegate void PrefixSignature(WhirlWindPersuitCycle self); public delegate void PostfixSignature(WhirlWindPersuitCycle self); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PrefixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PostfixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return typeof(WhirlWindPersuitCycle).GetMethod("FixedUpdate", (BindingFlags)(-1), null, Array.Empty<Type>(), null) ?? throw new MissingMethodException("EntityStates.Halcyonite.WhirlWindPersuitCycle", "FixedUpdate"); } } internal static class UpdateAttack { public delegate void PrefixSignature(WhirlWindPersuitCycle self); public delegate void PostfixSignature(WhirlWindPersuitCycle self); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PrefixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PostfixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook ILHook(Manipulator manipulator, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).ILHook(Target(), manipulator, config, applyByDefault); } public static MethodBase Target() { return typeof(WhirlWindPersuitCycle).GetMethod("UpdateAttack", (BindingFlags)(-1), null, Array.Empty<Type>(), null) ?? throw new MissingMethodException("EntityStates.Halcyonite.WhirlWindPersuitCycle", "UpdateAttack"); } } } namespace Mdh.EntityStates.Halcyonite.TriLaser { internal static class OnEnter { public delegate void PrefixSignature(TriLaser self); public delegate void PostfixSignature(TriLaser self); public static MonoDetourHook Prefix(PrefixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Instance).Hook<PrefixDetour>(Target(), (Delegate)hook, config, applyByDefault); } public static MonoDetourHook Postfix(PostfixSignature hook, MonoDetourConfig? config = null, bool applyByDefault = true, MonoDetourManager? manager = null) { return (manager ?? DefaultMonoDetourManager.Insta