Decompiled source of DamageSourceForEnemies v1.0.0
plugins/DamageSourceForEnemies.dll
Decompiled 4 hours ago
The result has been truncated due to the large size, download it to view full contents!
using System; using System.Diagnostics; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using System.Security; using System.Security.Permissions; using BepInEx; using BepInEx.Logging; using EntityStates; using EntityStates.BeetleGuardMonster; using EntityStates.BeetleMonster; using EntityStates.Bison; using EntityStates.BrotherMonster; using EntityStates.ClayGrenadier; using EntityStates.FalseSonBoss; using EntityStates.GolemMonster; using EntityStates.Gup; using EntityStates.Halcyonite; using EntityStates.ImpBossMonster; using EntityStates.ImpMonster; using EntityStates.JellyfishMonster; using EntityStates.LemurianBruiserMonster; using EntityStates.LemurianMonster; using EntityStates.LunarExploderMonster.Weapon; using EntityStates.MinorConstruct.Weapon; using EntityStates.ParentMonster; using EntityStates.TitanMonster; using EntityStates.Vermin.Weapon; using EntityStates.VoidBarnacle.Weapon; using EntityStates.VoidInfestor; using EntityStates.VoidJailer.Weapon; using IL.EntityStates; using IL.EntityStates.AcidLarva; using IL.EntityStates.ArtifactShell; using IL.EntityStates.BeetleGuardMonster; using IL.EntityStates.BeetleMonster; using IL.EntityStates.BeetleQueenMonster; using IL.EntityStates.Bell.BellWeapon; using IL.EntityStates.Bison; using IL.EntityStates.BrotherHaunt; using IL.EntityStates.BrotherMonster; using IL.EntityStates.BrotherMonster.Weapon; using IL.EntityStates.ChildMonster; using IL.EntityStates.ClayBoss; using IL.EntityStates.ClayBoss.ClayBossWeapon; using IL.EntityStates.ClayBruiser.Weapon; using IL.EntityStates.ClayGrenadier; using IL.EntityStates.Drone.DroneWeapon; using IL.EntityStates.FalseSonBoss; using IL.EntityStates.FlyingVermin.Weapon; using IL.EntityStates.GolemMonster; using IL.EntityStates.GrandParentBoss; using IL.EntityStates.GravekeeperBoss; using IL.EntityStates.GravekeeperMonster.Weapon; using IL.EntityStates.GreaterWispMonster; using IL.EntityStates.Halcyonite; using IL.EntityStates.HermitCrab; using IL.EntityStates.ImpBossMonster; using IL.EntityStates.ImpMonster; using IL.EntityStates.JellyfishMonster; using IL.EntityStates.LemurianBruiserMonster; using IL.EntityStates.LemurianMonster; using IL.EntityStates.LunarGolem; using IL.EntityStates.LunarWisp; using IL.EntityStates.MajorConstruct.Weapon; using IL.EntityStates.MiniMushroom; using IL.EntityStates.NullifierMonster; using IL.EntityStates.ParentMonster; using IL.EntityStates.RoboBallBoss.Weapon; using IL.EntityStates.RoboBallMini.Weapon; using IL.EntityStates.ScavMonster; using IL.EntityStates.Scorchling; using IL.EntityStates.Squid.SquidWeapon; using IL.EntityStates.TitanMonster; using IL.EntityStates.UrchinTurret.Weapon; using IL.EntityStates.VagrantMonster; using IL.EntityStates.VagrantMonster.Weapon; using IL.EntityStates.VoidInfestor; using IL.EntityStates.VoidJailer.Weapon; using IL.EntityStates.VoidMegaCrab.BackWeapon; using IL.EntityStates.VoidMegaCrab.Weapon; using IL.EntityStates.VoidRaidCrab; using IL.EntityStates.VoidRaidCrab.Weapon; using IL.EntityStates.Vulture.Weapon; using IL.EntityStates.Wisp1Monster; using IL.RoR2; using Microsoft.CodeAnalysis; using Mono.Cecil; using Mono.Cecil.Cil; using MonoMod.Cil; using R2API.Utils; using RoR2; using RoR2.Orbs; using RoR2.Projectile; using UnityEngine; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)] [assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")] [assembly: AssemblyCompany("DamageSourceForEnemies")] [assembly: AssemblyConfiguration("Release")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0+e47eb4e7e607acd042b5d5bfb298f5aa99ae0ea8")] [assembly: AssemblyProduct("DamageSourceForEnemies")] [assembly: AssemblyTitle("DamageSourceForEnemies")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.0.0.0")] [module: UnverifiableCode] [module: RefSafetyRules(11)] namespace Microsoft.CodeAnalysis { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] internal sealed class EmbeddedAttribute : Attribute { } } namespace System.Runtime.CompilerServices { [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 DamageSourceForEnemies { internal static class ILHooks { private static class Util { internal static void LogILSuccess(string methodName, ILContext il, ILCursor c) { } internal static void LogILError(string methodName, ILContext il, ILCursor c) { Log.Error("COULD NOT IL HOOK " + methodName + "!"); Log.Error($"cursor is {c}"); Log.Error($"il is {il}"); } } private static class ILEdits { internal enum BulletAttackMatchType { OwnerIsGameObject, ExistingDamageType } internal enum OverlapAttackMatchType { BasicDamageCalculation, ExistingDamageType } internal enum BlastAttackMatchType { AttackerIsGameObject, BeforeFalloffModel, ExistingDamageType } internal static void ReplaceNullDamageTypeComboInFireProjectile(DamageTypeCombo newGenericDamageTypeCombo, string hookedMethodName, int localILVariableInt, ILContext il, ILCursor c) { //IL_000e: Unknown result type (might be due to invalid IL or missing references) //IL_000f: Unknown result type (might be due to invalid IL or missing references) TypeReference val = default(TypeReference); if (!c.TryGotoNext((MoveType)2, new Func<Instruction, bool>[3] { (Instruction x) => ILPatternMatchingExt.MatchLdloca(x, localILVariableInt), (Instruction x) => ILPatternMatchingExt.MatchInitobj(x, ref val), (Instruction x) => ILPatternMatchingExt.MatchLdloc(x, localILVariableInt) })) { Util.LogILError(hookedMethodName, il, c); return; } c.EmitDelegate<Func<DamageTypeCombo, DamageTypeCombo?>>((Func<DamageTypeCombo, DamageTypeCombo?>)((DamageTypeCombo oldNullValue) => newGenericDamageTypeCombo)); } internal static void AddDamageTypeComboToFireProjectileInfo(DamageTypeCombo damageTypeCombo, string methodName, int localILVariableInt, ILContext il, ILCursor c) { //IL_000e: Unknown result type (might be due to invalid IL or missing references) //IL_000f: Unknown result type (might be due to invalid IL or missing references) //IL_0061: Unknown result type (might be due to invalid IL or missing references) //IL_0088: Unknown result type (might be due to invalid IL or missing references) if (!c.TryGotoNext((MoveType)0, new Func<Instruction, bool>[2] { (Instruction x) => ILPatternMatchingExt.MatchLdloc(x, localILVariableInt), (Instruction x) => ILPatternMatchingExt.MatchCallvirt<ProjectileManager>(x, "FireProjectile") })) { Util.LogILError(methodName, il, c); return; } c.Emit(OpCodes.Ldloc, localILVariableInt); c.EmitDelegate<Func<FireProjectileInfo, FireProjectileInfo>>((Func<FireProjectileInfo, FireProjectileInfo>)delegate(FireProjectileInfo fireProjectileInfo) { //IL_0003: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Unknown result type (might be due to invalid IL or missing references) fireProjectileInfo.damageTypeOverride = damageTypeCombo; return fireProjectileInfo; }); c.Emit(OpCodes.Stloc, localILVariableInt); } internal static void SetupForBulletAttackDelegate(bool isAttackInEntityState, BulletAttackMatchType bulletAttackMatchType, string methodName, ILContext il, ILCursor c) { //IL_0120: Unknown result type (might be due to invalid IL or missing references) //IL_0112: Unknown result type (might be due to invalid IL or missing references) bool flag = false; switch (bulletAttackMatchType) { case BulletAttackMatchType.OwnerIsGameObject: if (!c.TryGotoNext((MoveType)2, new Func<Instruction, bool>[3] { (Instruction x) => ILPatternMatchingExt.MatchLdarg(x, 0), (Instruction x) => ILPatternMatchingExt.MatchCall<EntityState>(x, "get_gameObject"), (Instruction x) => ILPatternMatchingExt.MatchStfld<BulletAttack>(x, "owner") })) { flag = true; } break; case BulletAttackMatchType.ExistingDamageType: { int num = default(int); if (!c.TryGotoNext((MoveType)2, new Func<Instruction, bool>[3] { (Instruction x) => ILPatternMatchingExt.MatchLdcI4(x, ref num), (Instruction x) => ILPatternMatchingExt.MatchCall<DamageTypeCombo>(x, "op_Implicit"), (Instruction x) => ILPatternMatchingExt.MatchStfld<BulletAttack>(x, "damageType") })) { flag = true; } break; } } if (flag) { Util.LogILError(methodName, il, c); } else if (isAttackInEntityState) { c.Emit(OpCodes.Ldarg_0); } else { c.Emit(OpCodes.Dup); } } internal static void SetupForOverlapAttackDelegate(bool isAttackInEntityState, OverlapAttackMatchType overlapAttackMatchType, string methodName, ILContext il, ILCursor c) { //IL_0120: Unknown result type (might be due to invalid IL or missing references) //IL_0112: Unknown result type (might be due to invalid IL or missing references) bool flag = false; switch (overlapAttackMatchType) { case OverlapAttackMatchType.BasicDamageCalculation: if (!c.TryGotoNext((MoveType)2, new Func<Instruction, bool>[3] { (Instruction x) => ILPatternMatchingExt.MatchLdfld<BaseState>(x, "damageStat"), (Instruction x) => ILPatternMatchingExt.MatchMul(x), (Instruction x) => ILPatternMatchingExt.MatchStfld<OverlapAttack>(x, "damage") })) { flag = true; } break; case OverlapAttackMatchType.ExistingDamageType: { int num = default(int); if (!c.TryGotoNext((MoveType)2, new Func<Instruction, bool>[3] { (Instruction x) => ILPatternMatchingExt.MatchLdcI4(x, ref num), (Instruction x) => ILPatternMatchingExt.MatchCall<DamageTypeCombo>(x, "op_Implicit"), (Instruction x) => ILPatternMatchingExt.MatchStfld<OverlapAttack>(x, "damageType") })) { flag = true; } break; } } if (flag) { Util.LogILError(methodName, il, c); } else if (isAttackInEntityState) { c.Emit(OpCodes.Ldarg_0); } else { c.Emit(OpCodes.Dup); } } private static bool MatchBasedOnBlastAttackMatchType(BlastAttackMatchType blastAttackMatchType, ILCursor c) { switch (blastAttackMatchType) { case BlastAttackMatchType.AttackerIsGameObject: if (c.TryGotoNext((MoveType)2, new Func<Instruction, bool>[3] { (Instruction x) => ILPatternMatchingExt.MatchLdarg(x, 0), (Instruction x) => ILPatternMatchingExt.MatchCall<EntityState>(x, "get_gameObject"), (Instruction x) => ILPatternMatchingExt.MatchStfld<BlastAttack>(x, "attacker") })) { return true; } break; case BlastAttackMatchType.BeforeFalloffModel: if (c.TryGotoNext((MoveType)0, new Func<Instruction, bool>[3] { (Instruction x) => ILPatternMatchingExt.MatchDup(x), (Instruction x) => ILPatternMatchingExt.MatchLdcI4(x, 0), (Instruction x) => ILPatternMatchingExt.MatchStfld<BlastAttack>(x, "falloffModel") })) { return true; } break; case BlastAttackMatchType.ExistingDamageType: { int num = default(int); if (c.TryGotoNext((MoveType)2, new Func<Instruction, bool>[3] { (Instruction x) => ILPatternMatchingExt.MatchLdcI4(x, ref num), (Instruction x) => ILPatternMatchingExt.MatchCall<DamageTypeCombo>(x, "op_Implicit"), (Instruction x) => ILPatternMatchingExt.MatchStfld<BlastAttack>(x, "damageType") })) { return true; } break; } } return false; } internal static void SetDamageSourceForBlastAttack(DamageSource damageSource, BlastAttackMatchType blastAttackMatchType, string methodName, ILContext il, ILCursor c) { //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_0023: Unknown result type (might be due to invalid IL or missing references) if (!MatchBasedOnBlastAttackMatchType(blastAttackMatchType, c)) { Util.LogILError(methodName, il, c); return; } c.Emit(OpCodes.Dup); c.EmitDelegate<Action<BlastAttack>>((Action<BlastAttack>)delegate(BlastAttack blastAttack) { //IL_000a: Unknown result type (might be due to invalid IL or missing references) //IL_000f: Unknown result type (might be due to invalid IL or missing references) if (blastAttack != null) { blastAttack.damageType.damageSource = damageSource; } }); } internal static void SetupForBlastAttackDelegate(BlastAttackMatchType blastAttackMatchType, string methodName, ILContext il, ILCursor c) { //IL_0013: Unknown result type (might be due to invalid IL or missing references) if (!MatchBasedOnBlastAttackMatchType(blastAttackMatchType, c)) { Util.LogILError(methodName, il, c); } else { c.Emit(OpCodes.Ldarg_0); } } } [CompilerGenerated] private static class <>O { public static Manipulator <0>__BasicMeleeAttack_OnEnter; public static Manipulator <1>__GenericProjectileBaseState_FireProjectile; public static Manipulator <2>__ArtifactShell_FireSolarFlares_FixedUpdate; public static Manipulator <3>__AcidLarva_LarvaLeap_DetonateAuthority; public static Manipulator <4>__BeetleGuardMonster_GroundSlam_OnEnter; public static Manipulator <5>__BeetleGuardMonster_FireSunder_FixedUpdate; public static Manipulator <6>__BeetleMonster_HeadbuttState_OnEnter; public static Manipulator <7>__BeetleQueenMonster_FireSpit_FireBlob; public static Manipulator <8>__Bell_BellWeapon_ChargeTrioBomb_FixedUpdate; public static Manipulator <9>__Bison_Headbutt_OnEnter; public static Manipulator <10>__Bison_Charge_ResetOverlapAttack; public static Manipulator <11>__BrotherHaunt_FireRandomProjectiles_FireProjectile; public static Manipulator <12>__BrotherMonster_ExitSkyLeap_FireRingAuthority; public static Manipulator <13>__BrotherMonster_FistSlam_FixedUpdate; public static Manipulator <14>__BrotherMonster_WeaponSlam_OnEnter; public static Manipulator <15>__BrotherMonster_WeaponSlam_FixedUpdate; public static Manipulator <16>__BrotherMonster_UltChannelState_FireWave; public static Manipulator <17>__BrotherMonster_Weapon_FireLunarShards_OnEnter; public static Manipulator <18>__ChildMonster_SparkBallFire_FireBomb; public static Manipulator <19>__ClayBoss_FireTarball_FireSingleTarball; public static Manipulator <20>__TarTetherController_DoDamageTick; public static Manipulator <21>__ClayBoss_ClayBossWeapon_FireBombardment_FireGrenade; public static Manipulator <22>__ClayBruiser_Weapon_MinigunFire_OnFireAuthority; public static Manipulator <23>__ClayGrenadier_FaceSlam_FixedUpdate; public static Manipulator <24>__Drone_DroneWeapon_FireGatling_OnEnter; public static Manipulator <25>__Drone_DroneWeapon_FireMegaTurret_FireBullet; public static Manipulator <26>__Drone_DroneWeapon_FireMissileBarrage_FireMissile; public static Manipulator <27>__Drone_DroneWeapon_FireTurret_OnEnter; public static Manipulator <28>__Drone_DroneWeapon_FireTwinRocket_FireProjectile; public static Manipulator <29>__FalseSonBoss_CorruptedPaths_DetonateAuthority; public static Manipulator <30>__FalseSonBoss_CorruptedPathsDash_FixedUpdate; public static Manipulator <31>__FalseSonBoss_FissureSlam_FixedUpdate; public static Manipulator <32>__FalseSonBoss_FissureSlam_DetonateAuthority; public static Manipulator <33>__FalseSonBoss_LunarGazeFire_FireBullet; public static Manipulator <34>__FalseSonBoss_LunarRain_DetonateAuthority; public static Manipulator <35>__FalseSonBoss_PrimeDevastator_DetonateAuthority; public static Manipulator <36>__FalseSonBoss_SwatAwayPlayersSlam_OnEnter; public static Manipulator <37>__FalseSonBoss_TaintedOffering_FireProjectile; public static Manipulator <38>__FlyingVermin_Weapon_Spit_FireProjectile; public static Manipulator <39>__GolemMonster_ClapState_FixedUpdate; public static Manipulator <40>__GolemMonster_FireLaser_OnEnter; public static Manipulator <41>__GrandParentBoss_GroundSwipe_FixedUpdate; public static Manipulator <42>__GravekeeperBoss_FireHook_FireSingleHook; public static Manipulator <43>__GravekeeperMonster_Weapon_GravekeeperBarrage_FireBlob; public static Manipulator <44>__GreaterWispMonster_FireCannons_OnEnter; public static Manipulator <45>__Halcyonite_TriLaser_FireTriLaser; public static Manipulator <46>__Halcyonite_WhirlwindRush_FixedUpdate; public static Manipulator <47>__HermitCrab_FireMortar_Fire; public static Manipulator <48>__ImpBossMonster_FireVoidspikes_FireSpikeAuthority; public static Manipulator <49>__ImpBossMonster_FireVoidspikes_OnEnter; public static Manipulator <50>__ImpBossMonster_GroundPound_OnEnter; public static Manipulator <51>__ImpMonster_DoubleSlash_OnEnter; public static Manipulator <52>__JellyfishMonster_JellyNova_Detonate; public static Manipulator <53>__LemurianBruiserMonster_FireMegaFireball_FixedUpdate; public static Manipulator <54>__LemurianBruiserMonster_Flamebreath_FireFlame; public static Manipulator <55>__LemurianMonster_Bite_OnEnter; public static Manipulator <56>__LemurianMonster_FireFireball_OnEnter; public static Manipulator <57>__LunarGolem_FireTwinShots_FireSingle; public static Manipulator <58>__LunarWisp_FireLunarGuns_OnFireAuthority; public static Manipulator <59>__LunarWisp_SeekingBomb_FireBomb; public static Manipulator <60>__MajorConstruct_Weapon_FireLaser_ModifyBullet; public static Manipulator <61>__MiniMushroom_SporeGrenade_FireGrenade; public static Manipulator <62>__NullifierMonster_FirePortalBomb_FireBomb; public static Manipulator <63>__ParentMonster_GroundSlam_FixedUpdate; public static Manipulator <64>__RoboBallBoss_Weapon_FireDelayKnockup_OnEnter; public static Manipulator <65>__RoboBallBoss_Weapon_FireEyeBlast_FixedUpdate; public static Manipulator <66>__RoboBallMini_Weapon_FireEyeBeam_ModifyBullet; public static Manipulator <67>__ScavMonster_FireEnergyCannon_OnEnter; public static Manipulator <68>__ScavMonster_ThrowSack_Fire; public static Manipulator <69>__Scorchling_ScorchlingLavaBomb_Spit; public static Manipulator <70>__Squid_SquidWeapon_FireSpine_FireOrbArrow; public static Manipulator <71>__TitanMonster_FireFist_PlaceSingleDelayBlast; public static Manipulator <72>__TitanMonster_FireGoldMegaLaser_FixedUpdate; public static Manipulator <73>__TitanMonster_FireMegaLaser_FireBullet; public static Manipulator <74>__TitanRockController_Fire; public static Manipulator <75>__UrchinTurret_Weapon_MinigunFire_OnFireAuthority; public static Manipulator <76>__VagrantMonster_FireMegaNova_Detonate; public static Manipulator <77>__VagrantMonster_FireTrackingBomb_FireBomb; public static Manipulator <78>__VagrantMonster_Weapon_JellyBarrage_FireBlob; public static Manipulator <79>__VoidInfestor_Infest_OnEnter; public static Manipulator <80>__VoidJailer_Weapon_Capture2_OnEnter; public static Manipulator <81>__VoidMegaCrab_BackWeapon_FireVoidMissiles_FireMissile; public static Manipulator <82>__VoidMegaCrab_Weapon_FireCrabCannonBase_FireProjectile; public static Manipulator <83>__VoidRaidCrab_SpinBeamAttack_FireBeamBulletAuthority; public static Manipulator <84>__VoidRaidCrab_Weapon_FireMissiles_FixedUpdate; public static Manipulator <85>__VoidRaidCrab_Weapon_BaseFireMultiBeam_OnEnter; public static Manipulator <86>__Vulture_Weapon_FireWindblade_OnEnter; public static Manipulator <87>__Wisp1Monster_FireEmbers_OnEnter; } internal static void SetupILHooks() { //IL_0010: Unknown result type (might be due to invalid IL or missing references) //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_001b: Expected O, but got Unknown //IL_0030: Unknown result type (might be due to invalid IL or missing references) //IL_0035: Unknown result type (might be due to invalid IL or missing references) //IL_003b: Expected O, but got Unknown //IL_0050: Unknown result type (might be due to invalid IL or missing references) //IL_0055: Unknown result type (might be due to invalid IL or missing references) //IL_005b: Expected O, but got Unknown //IL_0070: Unknown result type (might be due to invalid IL or missing references) //IL_0075: Unknown result type (might be due to invalid IL or missing references) //IL_007b: Expected O, but got Unknown //IL_0090: Unknown result type (might be due to invalid IL or missing references) //IL_0095: Unknown result type (might be due to invalid IL or missing references) //IL_009b: Expected O, but got Unknown //IL_00b0: Unknown result type (might be due to invalid IL or missing references) //IL_00b5: Unknown result type (might be due to invalid IL or missing references) //IL_00bb: Expected O, but got Unknown //IL_00d0: Unknown result type (might be due to invalid IL or missing references) //IL_00d5: Unknown result type (might be due to invalid IL or missing references) //IL_00db: Expected O, but got Unknown //IL_00f0: Unknown result type (might be due to invalid IL or missing references) //IL_00f5: Unknown result type (might be due to invalid IL or missing references) //IL_00fb: Expected O, but got Unknown //IL_0110: Unknown result type (might be due to invalid IL or missing references) //IL_0115: Unknown result type (might be due to invalid IL or missing references) //IL_011b: Expected O, but got Unknown //IL_0130: Unknown result type (might be due to invalid IL or missing references) //IL_0135: Unknown result type (might be due to invalid IL or missing references) //IL_013b: Expected O, but got Unknown //IL_0150: Unknown result type (might be due to invalid IL or missing references) //IL_0155: Unknown result type (might be due to invalid IL or missing references) //IL_015b: Expected O, but got Unknown //IL_0170: Unknown result type (might be due to invalid IL or missing references) //IL_0175: Unknown result type (might be due to invalid IL or missing references) //IL_017b: Expected O, but got Unknown //IL_0190: Unknown result type (might be due to invalid IL or missing references) //IL_0195: Unknown result type (might be due to invalid IL or missing references) //IL_019b: Expected O, but got Unknown //IL_01b0: Unknown result type (might be due to invalid IL or missing references) //IL_01b5: Unknown result type (might be due to invalid IL or missing references) //IL_01bb: Expected O, but got Unknown //IL_01d0: Unknown result type (might be due to invalid IL or missing references) //IL_01d5: Unknown result type (might be due to invalid IL or missing references) //IL_01db: Expected O, but got Unknown //IL_01f0: Unknown result type (might be due to invalid IL or missing references) //IL_01f5: Unknown result type (might be due to invalid IL or missing references) //IL_01fb: Expected O, but got Unknown //IL_0210: Unknown result type (might be due to invalid IL or missing references) //IL_0215: Unknown result type (might be due to invalid IL or missing references) //IL_021b: Expected O, but got Unknown //IL_0230: Unknown result type (might be due to invalid IL or missing references) //IL_0235: Unknown result type (might be due to invalid IL or missing references) //IL_023b: Expected O, but got Unknown //IL_0250: Unknown result type (might be due to invalid IL or missing references) //IL_0255: Unknown result type (might be due to invalid IL or missing references) //IL_025b: Expected O, but got Unknown //IL_0270: Unknown result type (might be due to invalid IL or missing references) //IL_0275: Unknown result type (might be due to invalid IL or missing references) //IL_027b: Expected O, but got Unknown //IL_0290: Unknown result type (might be due to invalid IL or missing references) //IL_0295: Unknown result type (might be due to invalid IL or missing references) //IL_029b: Expected O, but got Unknown //IL_02b0: Unknown result type (might be due to invalid IL or missing references) //IL_02b5: Unknown result type (might be due to invalid IL or missing references) //IL_02bb: Expected O, but got Unknown //IL_02d0: Unknown result type (might be due to invalid IL or missing references) //IL_02d5: Unknown result type (might be due to invalid IL or missing references) //IL_02db: Expected O, but got Unknown //IL_02f0: Unknown result type (might be due to invalid IL or missing references) //IL_02f5: Unknown result type (might be due to invalid IL or missing references) //IL_02fb: Expected O, but got Unknown //IL_0310: Unknown result type (might be due to invalid IL or missing references) //IL_0315: Unknown result type (might be due to invalid IL or missing references) //IL_031b: Expected O, but got Unknown //IL_0330: Unknown result type (might be due to invalid IL or missing references) //IL_0335: Unknown result type (might be due to invalid IL or missing references) //IL_033b: Expected O, but got Unknown //IL_0350: Unknown result type (might be due to invalid IL or missing references) //IL_0355: Unknown result type (might be due to invalid IL or missing references) //IL_035b: Expected O, but got Unknown //IL_0370: Unknown result type (might be due to invalid IL or missing references) //IL_0375: Unknown result type (might be due to invalid IL or missing references) //IL_037b: Expected O, but got Unknown //IL_0390: Unknown result type (might be due to invalid IL or missing references) //IL_0395: Unknown result type (might be due to invalid IL or missing references) //IL_039b: Expected O, but got Unknown //IL_03b0: Unknown result type (might be due to invalid IL or missing references) //IL_03b5: Unknown result type (might be due to invalid IL or missing references) //IL_03bb: Expected O, but got Unknown //IL_03d0: Unknown result type (might be due to invalid IL or missing references) //IL_03d5: Unknown result type (might be due to invalid IL or missing references) //IL_03db: Expected O, but got Unknown //IL_03f0: Unknown result type (might be due to invalid IL or missing references) //IL_03f5: Unknown result type (might be due to invalid IL or missing references) //IL_03fb: Expected O, but got Unknown //IL_0410: Unknown result type (might be due to invalid IL or missing references) //IL_0415: Unknown result type (might be due to invalid IL or missing references) //IL_041b: Expected O, but got Unknown //IL_0430: Unknown result type (might be due to invalid IL or missing references) //IL_0435: Unknown result type (might be due to invalid IL or missing references) //IL_043b: Expected O, but got Unknown //IL_0450: Unknown result type (might be due to invalid IL or missing references) //IL_0455: Unknown result type (might be due to invalid IL or missing references) //IL_045b: Expected O, but got Unknown //IL_0470: Unknown result type (might be due to invalid IL or missing references) //IL_0475: Unknown result type (might be due to invalid IL or missing references) //IL_047b: Expected O, but got Unknown //IL_0490: Unknown result type (might be due to invalid IL or missing references) //IL_0495: Unknown result type (might be due to invalid IL or missing references) //IL_049b: Expected O, but got Unknown //IL_04b0: Unknown result type (might be due to invalid IL or missing references) //IL_04b5: Unknown result type (might be due to invalid IL or missing references) //IL_04bb: Expected O, but got Unknown //IL_04d0: Unknown result type (might be due to invalid IL or missing references) //IL_04d5: Unknown result type (might be due to invalid IL or missing references) //IL_04db: Expected O, but got Unknown //IL_04f0: Unknown result type (might be due to invalid IL or missing references) //IL_04f5: Unknown result type (might be due to invalid IL or missing references) //IL_04fb: Expected O, but got Unknown //IL_0510: Unknown result type (might be due to invalid IL or missing references) //IL_0515: Unknown result type (might be due to invalid IL or missing references) //IL_051b: Expected O, but got Unknown //IL_0530: Unknown result type (might be due to invalid IL or missing references) //IL_0535: Unknown result type (might be due to invalid IL or missing references) //IL_053b: Expected O, but got Unknown //IL_0550: Unknown result type (might be due to invalid IL or missing references) //IL_0555: Unknown result type (might be due to invalid IL or missing references) //IL_055b: Expected O, but got Unknown //IL_0570: Unknown result type (might be due to invalid IL or missing references) //IL_0575: Unknown result type (might be due to invalid IL or missing references) //IL_057b: Expected O, but got Unknown //IL_0590: Unknown result type (might be due to invalid IL or missing references) //IL_0595: Unknown result type (might be due to invalid IL or missing references) //IL_059b: Expected O, but got Unknown //IL_05b0: Unknown result type (might be due to invalid IL or missing references) //IL_05b5: Unknown result type (might be due to invalid IL or missing references) //IL_05bb: Expected O, but got Unknown //IL_05d0: Unknown result type (might be due to invalid IL or missing references) //IL_05d5: Unknown result type (might be due to invalid IL or missing references) //IL_05db: Expected O, but got Unknown //IL_05f0: Unknown result type (might be due to invalid IL or missing references) //IL_05f5: Unknown result type (might be due to invalid IL or missing references) //IL_05fb: Expected O, but got Unknown //IL_0610: Unknown result type (might be due to invalid IL or missing references) //IL_0615: Unknown result type (might be due to invalid IL or missing references) //IL_061b: Expected O, but got Unknown //IL_0630: Unknown result type (might be due to invalid IL or missing references) //IL_0635: Unknown result type (might be due to invalid IL or missing references) //IL_063b: Expected O, but got Unknown //IL_0650: Unknown result type (might be due to invalid IL or missing references) //IL_0655: Unknown result type (might be due to invalid IL or missing references) //IL_065b: Expected O, but got Unknown //IL_0670: Unknown result type (might be due to invalid IL or missing references) //IL_0675: Unknown result type (might be due to invalid IL or missing references) //IL_067b: Expected O, but got Unknown //IL_0690: Unknown result type (might be due to invalid IL or missing references) //IL_0695: Unknown result type (might be due to invalid IL or missing references) //IL_069b: Expected O, but got Unknown //IL_06b0: Unknown result type (might be due to invalid IL or missing references) //IL_06b5: Unknown result type (might be due to invalid IL or missing references) //IL_06bb: Expected O, but got Unknown //IL_06d0: Unknown result type (might be due to invalid IL or missing references) //IL_06d5: Unknown result type (might be due to invalid IL or missing references) //IL_06db: Expected O, but got Unknown //IL_06f0: Unknown result type (might be due to invalid IL or missing references) //IL_06f5: Unknown result type (might be due to invalid IL or missing references) //IL_06fb: Expected O, but got Unknown //IL_0710: Unknown result type (might be due to invalid IL or missing references) //IL_0715: Unknown result type (might be due to invalid IL or missing references) //IL_071b: Expected O, but got Unknown //IL_0730: Unknown result type (might be due to invalid IL or missing references) //IL_0735: Unknown result type (might be due to invalid IL or missing references) //IL_073b: Expected O, but got Unknown //IL_0750: Unknown result type (might be due to invalid IL or missing references) //IL_0755: Unknown result type (might be due to invalid IL or missing references) //IL_075b: Expected O, but got Unknown //IL_0770: Unknown result type (might be due to invalid IL or missing references) //IL_0775: Unknown result type (might be due to invalid IL or missing references) //IL_077b: Expected O, but got Unknown //IL_0790: Unknown result type (might be due to invalid IL or missing references) //IL_0795: Unknown result type (might be due to invalid IL or missing references) //IL_079b: Expected O, but got Unknown //IL_07b0: Unknown result type (might be due to invalid IL or missing references) //IL_07b5: Unknown result type (might be due to invalid IL or missing references) //IL_07bb: Expected O, but got Unknown //IL_07d0: Unknown result type (might be due to invalid IL or missing references) //IL_07d5: Unknown result type (might be due to invalid IL or missing references) //IL_07db: Expected O, but got Unknown //IL_07f0: Unknown result type (might be due to invalid IL or missing references) //IL_07f5: Unknown result type (might be due to invalid IL or missing references) //IL_07fb: Expected O, but got Unknown //IL_0810: Unknown result type (might be due to invalid IL or missing references) //IL_0815: Unknown result type (might be due to invalid IL or missing references) //IL_081b: Expected O, but got Unknown //IL_0830: Unknown result type (might be due to invalid IL or missing references) //IL_0835: Unknown result type (might be due to invalid IL or missing references) //IL_083b: Expected O, but got Unknown //IL_0850: Unknown result type (might be due to invalid IL or missing references) //IL_0855: Unknown result type (might be due to invalid IL or missing references) //IL_085b: Expected O, but got Unknown //IL_0870: Unknown result type (might be due to invalid IL or missing references) //IL_0875: Unknown result type (might be due to invalid IL or missing references) //IL_087b: Expected O, but got Unknown //IL_0890: Unknown result type (might be due to invalid IL or missing references) //IL_0895: Unknown result type (might be due to invalid IL or missing references) //IL_089b: Expected O, but got Unknown //IL_08b0: Unknown result type (might be due to invalid IL or missing references) //IL_08b5: Unknown result type (might be due to invalid IL or missing references) //IL_08bb: Expected O, but got Unknown //IL_08d0: Unknown result type (might be due to invalid IL or missing references) //IL_08d5: Unknown result type (might be due to invalid IL or missing references) //IL_08db: Expected O, but got Unknown //IL_08f0: Unknown result type (might be due to invalid IL or missing references) //IL_08f5: Unknown result type (might be due to invalid IL or missing references) //IL_08fb: Expected O, but got Unknown //IL_0910: Unknown result type (might be due to invalid IL or missing references) //IL_0915: Unknown result type (might be due to invalid IL or missing references) //IL_091b: Expected O, but got Unknown //IL_0930: Unknown result type (might be due to invalid IL or missing references) //IL_0935: Unknown result type (might be due to invalid IL or missing references) //IL_093b: Expected O, but got Unknown //IL_0950: Unknown result type (might be due to invalid IL or missing references) //IL_0955: Unknown result type (might be due to invalid IL or missing references) //IL_095b: Expected O, but got Unknown //IL_0970: Unknown result type (might be due to invalid IL or missing references) //IL_0975: Unknown result type (might be due to invalid IL or missing references) //IL_097b: Expected O, but got Unknown //IL_0990: Unknown result type (might be due to invalid IL or missing references) //IL_0995: Unknown result type (might be due to invalid IL or missing references) //IL_099b: Expected O, but got Unknown //IL_09b0: Unknown result type (might be due to invalid IL or missing references) //IL_09b5: Unknown result type (might be due to invalid IL or missing references) //IL_09bb: Expected O, but got Unknown //IL_09d0: Unknown result type (might be due to invalid IL or missing references) //IL_09d5: Unknown result type (might be due to invalid IL or missing references) //IL_09db: Expected O, but got Unknown //IL_09f0: Unknown result type (might be due to invalid IL or missing references) //IL_09f5: Unknown result type (might be due to invalid IL or missing references) //IL_09fb: Expected O, but got Unknown //IL_0a10: Unknown result type (might be due to invalid IL or missing references) //IL_0a15: Unknown result type (might be due to invalid IL or missing references) //IL_0a1b: Expected O, but got Unknown //IL_0a30: Unknown result type (might be due to invalid IL or missing references) //IL_0a35: Unknown result type (might be due to invalid IL or missing references) //IL_0a3b: Expected O, but got Unknown //IL_0a50: Unknown result type (might be due to invalid IL or missing references) //IL_0a55: Unknown result type (might be due to invalid IL or missing references) //IL_0a5b: Expected O, but got Unknown //IL_0a70: Unknown result type (might be due to invalid IL or missing references) //IL_0a75: Unknown result type (might be due to invalid IL or missing references) //IL_0a7b: Expected O, but got Unknown //IL_0a90: Unknown result type (might be due to invalid IL or missing references) //IL_0a95: Unknown result type (might be due to invalid IL or missing references) //IL_0a9b: Expected O, but got Unknown //IL_0ab0: Unknown result type (might be due to invalid IL or missing references) //IL_0ab5: Unknown result type (might be due to invalid IL or missing references) //IL_0abb: Expected O, but got Unknown //IL_0ad0: Unknown result type (might be due to invalid IL or missing references) //IL_0ad5: Unknown result type (might be due to invalid IL or missing references) //IL_0adb: Expected O, but got Unknown //IL_0af0: Unknown result type (might be due to invalid IL or missing references) //IL_0af5: Unknown result type (might be due to invalid IL or missing references) //IL_0afb: Expected O, but got Unknown object obj = <>O.<0>__BasicMeleeAttack_OnEnter; if (obj == null) { Manipulator val = BasicMeleeAttack_OnEnter; <>O.<0>__BasicMeleeAttack_OnEnter = val; obj = (object)val; } BasicMeleeAttack.OnEnter += (Manipulator)obj; object obj2 = <>O.<1>__GenericProjectileBaseState_FireProjectile; if (obj2 == null) { Manipulator val2 = GenericProjectileBaseState_FireProjectile; <>O.<1>__GenericProjectileBaseState_FireProjectile = val2; obj2 = (object)val2; } GenericProjectileBaseState.FireProjectile += (Manipulator)obj2; object obj3 = <>O.<2>__ArtifactShell_FireSolarFlares_FixedUpdate; if (obj3 == null) { Manipulator val3 = ArtifactShell_FireSolarFlares_FixedUpdate; <>O.<2>__ArtifactShell_FireSolarFlares_FixedUpdate = val3; obj3 = (object)val3; } FireSolarFlares.FixedUpdate += (Manipulator)obj3; object obj4 = <>O.<3>__AcidLarva_LarvaLeap_DetonateAuthority; if (obj4 == null) { Manipulator val4 = AcidLarva_LarvaLeap_DetonateAuthority; <>O.<3>__AcidLarva_LarvaLeap_DetonateAuthority = val4; obj4 = (object)val4; } LarvaLeap.DetonateAuthority += (Manipulator)obj4; object obj5 = <>O.<4>__BeetleGuardMonster_GroundSlam_OnEnter; if (obj5 == null) { Manipulator val5 = BeetleGuardMonster_GroundSlam_OnEnter; <>O.<4>__BeetleGuardMonster_GroundSlam_OnEnter = val5; obj5 = (object)val5; } GroundSlam.OnEnter += (Manipulator)obj5; object obj6 = <>O.<5>__BeetleGuardMonster_FireSunder_FixedUpdate; if (obj6 == null) { Manipulator val6 = BeetleGuardMonster_FireSunder_FixedUpdate; <>O.<5>__BeetleGuardMonster_FireSunder_FixedUpdate = val6; obj6 = (object)val6; } FireSunder.FixedUpdate += (Manipulator)obj6; object obj7 = <>O.<6>__BeetleMonster_HeadbuttState_OnEnter; if (obj7 == null) { Manipulator val7 = BeetleMonster_HeadbuttState_OnEnter; <>O.<6>__BeetleMonster_HeadbuttState_OnEnter = val7; obj7 = (object)val7; } HeadbuttState.OnEnter += (Manipulator)obj7; object obj8 = <>O.<7>__BeetleQueenMonster_FireSpit_FireBlob; if (obj8 == null) { Manipulator val8 = BeetleQueenMonster_FireSpit_FireBlob; <>O.<7>__BeetleQueenMonster_FireSpit_FireBlob = val8; obj8 = (object)val8; } FireSpit.FireBlob += (Manipulator)obj8; object obj9 = <>O.<8>__Bell_BellWeapon_ChargeTrioBomb_FixedUpdate; if (obj9 == null) { Manipulator val9 = Bell_BellWeapon_ChargeTrioBomb_FixedUpdate; <>O.<8>__Bell_BellWeapon_ChargeTrioBomb_FixedUpdate = val9; obj9 = (object)val9; } ChargeTrioBomb.FixedUpdate += (Manipulator)obj9; object obj10 = <>O.<9>__Bison_Headbutt_OnEnter; if (obj10 == null) { Manipulator val10 = Bison_Headbutt_OnEnter; <>O.<9>__Bison_Headbutt_OnEnter = val10; obj10 = (object)val10; } Headbutt.OnEnter += (Manipulator)obj10; object obj11 = <>O.<10>__Bison_Charge_ResetOverlapAttack; if (obj11 == null) { Manipulator val11 = Bison_Charge_ResetOverlapAttack; <>O.<10>__Bison_Charge_ResetOverlapAttack = val11; obj11 = (object)val11; } Charge.ResetOverlapAttack += (Manipulator)obj11; object obj12 = <>O.<11>__BrotherHaunt_FireRandomProjectiles_FireProjectile; if (obj12 == null) { Manipulator val12 = BrotherHaunt_FireRandomProjectiles_FireProjectile; <>O.<11>__BrotherHaunt_FireRandomProjectiles_FireProjectile = val12; obj12 = (object)val12; } FireRandomProjectiles.FireProjectile += (Manipulator)obj12; object obj13 = <>O.<12>__BrotherMonster_ExitSkyLeap_FireRingAuthority; if (obj13 == null) { Manipulator val13 = BrotherMonster_ExitSkyLeap_FireRingAuthority; <>O.<12>__BrotherMonster_ExitSkyLeap_FireRingAuthority = val13; obj13 = (object)val13; } ExitSkyLeap.FireRingAuthority += (Manipulator)obj13; object obj14 = <>O.<13>__BrotherMonster_FistSlam_FixedUpdate; if (obj14 == null) { Manipulator val14 = BrotherMonster_FistSlam_FixedUpdate; <>O.<13>__BrotherMonster_FistSlam_FixedUpdate = val14; obj14 = (object)val14; } FistSlam.FixedUpdate += (Manipulator)obj14; object obj15 = <>O.<14>__BrotherMonster_WeaponSlam_OnEnter; if (obj15 == null) { Manipulator val15 = BrotherMonster_WeaponSlam_OnEnter; <>O.<14>__BrotherMonster_WeaponSlam_OnEnter = val15; obj15 = (object)val15; } WeaponSlam.OnEnter += (Manipulator)obj15; object obj16 = <>O.<15>__BrotherMonster_WeaponSlam_FixedUpdate; if (obj16 == null) { Manipulator val16 = BrotherMonster_WeaponSlam_FixedUpdate; <>O.<15>__BrotherMonster_WeaponSlam_FixedUpdate = val16; obj16 = (object)val16; } WeaponSlam.FixedUpdate += (Manipulator)obj16; object obj17 = <>O.<16>__BrotherMonster_UltChannelState_FireWave; if (obj17 == null) { Manipulator val17 = BrotherMonster_UltChannelState_FireWave; <>O.<16>__BrotherMonster_UltChannelState_FireWave = val17; obj17 = (object)val17; } UltChannelState.FireWave += (Manipulator)obj17; object obj18 = <>O.<17>__BrotherMonster_Weapon_FireLunarShards_OnEnter; if (obj18 == null) { Manipulator val18 = BrotherMonster_Weapon_FireLunarShards_OnEnter; <>O.<17>__BrotherMonster_Weapon_FireLunarShards_OnEnter = val18; obj18 = (object)val18; } FireLunarShards.OnEnter += (Manipulator)obj18; object obj19 = <>O.<18>__ChildMonster_SparkBallFire_FireBomb; if (obj19 == null) { Manipulator val19 = ChildMonster_SparkBallFire_FireBomb; <>O.<18>__ChildMonster_SparkBallFire_FireBomb = val19; obj19 = (object)val19; } SparkBallFire.FireBomb += (Manipulator)obj19; object obj20 = <>O.<19>__ClayBoss_FireTarball_FireSingleTarball; if (obj20 == null) { Manipulator val20 = ClayBoss_FireTarball_FireSingleTarball; <>O.<19>__ClayBoss_FireTarball_FireSingleTarball = val20; obj20 = (object)val20; } FireTarball.FireSingleTarball += (Manipulator)obj20; object obj21 = <>O.<20>__TarTetherController_DoDamageTick; if (obj21 == null) { Manipulator val21 = TarTetherController_DoDamageTick; <>O.<20>__TarTetherController_DoDamageTick = val21; obj21 = (object)val21; } TarTetherController.DoDamageTick += (Manipulator)obj21; object obj22 = <>O.<21>__ClayBoss_ClayBossWeapon_FireBombardment_FireGrenade; if (obj22 == null) { Manipulator val22 = ClayBoss_ClayBossWeapon_FireBombardment_FireGrenade; <>O.<21>__ClayBoss_ClayBossWeapon_FireBombardment_FireGrenade = val22; obj22 = (object)val22; } FireBombardment.FireGrenade += (Manipulator)obj22; object obj23 = <>O.<22>__ClayBruiser_Weapon_MinigunFire_OnFireAuthority; if (obj23 == null) { Manipulator val23 = ClayBruiser_Weapon_MinigunFire_OnFireAuthority; <>O.<22>__ClayBruiser_Weapon_MinigunFire_OnFireAuthority = val23; obj23 = (object)val23; } MinigunFire.OnFireAuthority += (Manipulator)obj23; object obj24 = <>O.<23>__ClayGrenadier_FaceSlam_FixedUpdate; if (obj24 == null) { Manipulator val24 = ClayGrenadier_FaceSlam_FixedUpdate; <>O.<23>__ClayGrenadier_FaceSlam_FixedUpdate = val24; obj24 = (object)val24; } FaceSlam.FixedUpdate += (Manipulator)obj24; object obj25 = <>O.<24>__Drone_DroneWeapon_FireGatling_OnEnter; if (obj25 == null) { Manipulator val25 = Drone_DroneWeapon_FireGatling_OnEnter; <>O.<24>__Drone_DroneWeapon_FireGatling_OnEnter = val25; obj25 = (object)val25; } FireGatling.OnEnter += (Manipulator)obj25; object obj26 = <>O.<25>__Drone_DroneWeapon_FireMegaTurret_FireBullet; if (obj26 == null) { Manipulator val26 = Drone_DroneWeapon_FireMegaTurret_FireBullet; <>O.<25>__Drone_DroneWeapon_FireMegaTurret_FireBullet = val26; obj26 = (object)val26; } FireMegaTurret.FireBullet += (Manipulator)obj26; object obj27 = <>O.<26>__Drone_DroneWeapon_FireMissileBarrage_FireMissile; if (obj27 == null) { Manipulator val27 = Drone_DroneWeapon_FireMissileBarrage_FireMissile; <>O.<26>__Drone_DroneWeapon_FireMissileBarrage_FireMissile = val27; obj27 = (object)val27; } FireMissileBarrage.FireMissile += (Manipulator)obj27; object obj28 = <>O.<27>__Drone_DroneWeapon_FireTurret_OnEnter; if (obj28 == null) { Manipulator val28 = Drone_DroneWeapon_FireTurret_OnEnter; <>O.<27>__Drone_DroneWeapon_FireTurret_OnEnter = val28; obj28 = (object)val28; } FireTurret.OnEnter += (Manipulator)obj28; object obj29 = <>O.<28>__Drone_DroneWeapon_FireTwinRocket_FireProjectile; if (obj29 == null) { Manipulator val29 = Drone_DroneWeapon_FireTwinRocket_FireProjectile; <>O.<28>__Drone_DroneWeapon_FireTwinRocket_FireProjectile = val29; obj29 = (object)val29; } FireTwinRocket.FireProjectile += (Manipulator)obj29; object obj30 = <>O.<29>__FalseSonBoss_CorruptedPaths_DetonateAuthority; if (obj30 == null) { Manipulator val30 = FalseSonBoss_CorruptedPaths_DetonateAuthority; <>O.<29>__FalseSonBoss_CorruptedPaths_DetonateAuthority = val30; obj30 = (object)val30; } CorruptedPaths.DetonateAuthority += (Manipulator)obj30; object obj31 = <>O.<30>__FalseSonBoss_CorruptedPathsDash_FixedUpdate; if (obj31 == null) { Manipulator val31 = FalseSonBoss_CorruptedPathsDash_FixedUpdate; <>O.<30>__FalseSonBoss_CorruptedPathsDash_FixedUpdate = val31; obj31 = (object)val31; } CorruptedPathsDash.FixedUpdate += (Manipulator)obj31; object obj32 = <>O.<31>__FalseSonBoss_FissureSlam_FixedUpdate; if (obj32 == null) { Manipulator val32 = FalseSonBoss_FissureSlam_FixedUpdate; <>O.<31>__FalseSonBoss_FissureSlam_FixedUpdate = val32; obj32 = (object)val32; } FissureSlam.FixedUpdate += (Manipulator)obj32; object obj33 = <>O.<32>__FalseSonBoss_FissureSlam_DetonateAuthority; if (obj33 == null) { Manipulator val33 = FalseSonBoss_FissureSlam_DetonateAuthority; <>O.<32>__FalseSonBoss_FissureSlam_DetonateAuthority = val33; obj33 = (object)val33; } FissureSlam.DetonateAuthority += (Manipulator)obj33; object obj34 = <>O.<33>__FalseSonBoss_LunarGazeFire_FireBullet; if (obj34 == null) { Manipulator val34 = FalseSonBoss_LunarGazeFire_FireBullet; <>O.<33>__FalseSonBoss_LunarGazeFire_FireBullet = val34; obj34 = (object)val34; } LunarGazeFire.FireBullet += (Manipulator)obj34; object obj35 = <>O.<34>__FalseSonBoss_LunarRain_DetonateAuthority; if (obj35 == null) { Manipulator val35 = FalseSonBoss_LunarRain_DetonateAuthority; <>O.<34>__FalseSonBoss_LunarRain_DetonateAuthority = val35; obj35 = (object)val35; } LunarRain.DetonateAuthority += (Manipulator)obj35; object obj36 = <>O.<35>__FalseSonBoss_PrimeDevastator_DetonateAuthority; if (obj36 == null) { Manipulator val36 = FalseSonBoss_PrimeDevastator_DetonateAuthority; <>O.<35>__FalseSonBoss_PrimeDevastator_DetonateAuthority = val36; obj36 = (object)val36; } PrimeDevastator.DetonateAuthority += (Manipulator)obj36; object obj37 = <>O.<36>__FalseSonBoss_SwatAwayPlayersSlam_OnEnter; if (obj37 == null) { Manipulator val37 = FalseSonBoss_SwatAwayPlayersSlam_OnEnter; <>O.<36>__FalseSonBoss_SwatAwayPlayersSlam_OnEnter = val37; obj37 = (object)val37; } SwatAwayPlayersSlam.OnEnter += (Manipulator)obj37; object obj38 = <>O.<37>__FalseSonBoss_TaintedOffering_FireProjectile; if (obj38 == null) { Manipulator val38 = FalseSonBoss_TaintedOffering_FireProjectile; <>O.<37>__FalseSonBoss_TaintedOffering_FireProjectile = val38; obj38 = (object)val38; } TaintedOffering.FireProjectile += (Manipulator)obj38; object obj39 = <>O.<38>__FlyingVermin_Weapon_Spit_FireProjectile; if (obj39 == null) { Manipulator val39 = FlyingVermin_Weapon_Spit_FireProjectile; <>O.<38>__FlyingVermin_Weapon_Spit_FireProjectile = val39; obj39 = (object)val39; } Spit.FireProjectile += (Manipulator)obj39; object obj40 = <>O.<39>__GolemMonster_ClapState_FixedUpdate; if (obj40 == null) { Manipulator val40 = GolemMonster_ClapState_FixedUpdate; <>O.<39>__GolemMonster_ClapState_FixedUpdate = val40; obj40 = (object)val40; } ClapState.FixedUpdate += (Manipulator)obj40; object obj41 = <>O.<40>__GolemMonster_FireLaser_OnEnter; if (obj41 == null) { Manipulator val41 = GolemMonster_FireLaser_OnEnter; <>O.<40>__GolemMonster_FireLaser_OnEnter = val41; obj41 = (object)val41; } FireLaser.OnEnter += (Manipulator)obj41; object obj42 = <>O.<41>__GrandParentBoss_GroundSwipe_FixedUpdate; if (obj42 == null) { Manipulator val42 = GrandParentBoss_GroundSwipe_FixedUpdate; <>O.<41>__GrandParentBoss_GroundSwipe_FixedUpdate = val42; obj42 = (object)val42; } GroundSwipe.FixedUpdate += (Manipulator)obj42; object obj43 = <>O.<42>__GravekeeperBoss_FireHook_FireSingleHook; if (obj43 == null) { Manipulator val43 = GravekeeperBoss_FireHook_FireSingleHook; <>O.<42>__GravekeeperBoss_FireHook_FireSingleHook = val43; obj43 = (object)val43; } FireHook.FireSingleHook += (Manipulator)obj43; object obj44 = <>O.<43>__GravekeeperMonster_Weapon_GravekeeperBarrage_FireBlob; if (obj44 == null) { Manipulator val44 = GravekeeperMonster_Weapon_GravekeeperBarrage_FireBlob; <>O.<43>__GravekeeperMonster_Weapon_GravekeeperBarrage_FireBlob = val44; obj44 = (object)val44; } GravekeeperBarrage.FireBlob += (Manipulator)obj44; object obj45 = <>O.<44>__GreaterWispMonster_FireCannons_OnEnter; if (obj45 == null) { Manipulator val45 = GreaterWispMonster_FireCannons_OnEnter; <>O.<44>__GreaterWispMonster_FireCannons_OnEnter = val45; obj45 = (object)val45; } FireCannons.OnEnter += (Manipulator)obj45; object obj46 = <>O.<45>__Halcyonite_TriLaser_FireTriLaser; if (obj46 == null) { Manipulator val46 = Halcyonite_TriLaser_FireTriLaser; <>O.<45>__Halcyonite_TriLaser_FireTriLaser = val46; obj46 = (object)val46; } TriLaser.FireTriLaser += (Manipulator)obj46; object obj47 = <>O.<46>__Halcyonite_WhirlwindRush_FixedUpdate; if (obj47 == null) { Manipulator val47 = Halcyonite_WhirlwindRush_FixedUpdate; <>O.<46>__Halcyonite_WhirlwindRush_FixedUpdate = val47; obj47 = (object)val47; } WhirlwindRush.FixedUpdate += (Manipulator)obj47; object obj48 = <>O.<47>__HermitCrab_FireMortar_Fire; if (obj48 == null) { Manipulator val48 = HermitCrab_FireMortar_Fire; <>O.<47>__HermitCrab_FireMortar_Fire = val48; obj48 = (object)val48; } FireMortar.Fire += (Manipulator)obj48; object obj49 = <>O.<48>__ImpBossMonster_FireVoidspikes_FireSpikeAuthority; if (obj49 == null) { Manipulator val49 = ImpBossMonster_FireVoidspikes_FireSpikeAuthority; <>O.<48>__ImpBossMonster_FireVoidspikes_FireSpikeAuthority = val49; obj49 = (object)val49; } FireVoidspikes.FireSpikeAuthority += (Manipulator)obj49; object obj50 = <>O.<49>__ImpBossMonster_FireVoidspikes_OnEnter; if (obj50 == null) { Manipulator val50 = ImpBossMonster_FireVoidspikes_OnEnter; <>O.<49>__ImpBossMonster_FireVoidspikes_OnEnter = val50; obj50 = (object)val50; } FireVoidspikes.OnEnter += (Manipulator)obj50; object obj51 = <>O.<50>__ImpBossMonster_GroundPound_OnEnter; if (obj51 == null) { Manipulator val51 = ImpBossMonster_GroundPound_OnEnter; <>O.<50>__ImpBossMonster_GroundPound_OnEnter = val51; obj51 = (object)val51; } GroundPound.OnEnter += (Manipulator)obj51; object obj52 = <>O.<51>__ImpMonster_DoubleSlash_OnEnter; if (obj52 == null) { Manipulator val52 = ImpMonster_DoubleSlash_OnEnter; <>O.<51>__ImpMonster_DoubleSlash_OnEnter = val52; obj52 = (object)val52; } DoubleSlash.OnEnter += (Manipulator)obj52; object obj53 = <>O.<52>__JellyfishMonster_JellyNova_Detonate; if (obj53 == null) { Manipulator val53 = JellyfishMonster_JellyNova_Detonate; <>O.<52>__JellyfishMonster_JellyNova_Detonate = val53; obj53 = (object)val53; } JellyNova.Detonate += (Manipulator)obj53; object obj54 = <>O.<53>__LemurianBruiserMonster_FireMegaFireball_FixedUpdate; if (obj54 == null) { Manipulator val54 = LemurianBruiserMonster_FireMegaFireball_FixedUpdate; <>O.<53>__LemurianBruiserMonster_FireMegaFireball_FixedUpdate = val54; obj54 = (object)val54; } FireMegaFireball.FixedUpdate += (Manipulator)obj54; object obj55 = <>O.<54>__LemurianBruiserMonster_Flamebreath_FireFlame; if (obj55 == null) { Manipulator val55 = LemurianBruiserMonster_Flamebreath_FireFlame; <>O.<54>__LemurianBruiserMonster_Flamebreath_FireFlame = val55; obj55 = (object)val55; } Flamebreath.FireFlame += (Manipulator)obj55; object obj56 = <>O.<55>__LemurianMonster_Bite_OnEnter; if (obj56 == null) { Manipulator val56 = LemurianMonster_Bite_OnEnter; <>O.<55>__LemurianMonster_Bite_OnEnter = val56; obj56 = (object)val56; } Bite.OnEnter += (Manipulator)obj56; object obj57 = <>O.<56>__LemurianMonster_FireFireball_OnEnter; if (obj57 == null) { Manipulator val57 = LemurianMonster_FireFireball_OnEnter; <>O.<56>__LemurianMonster_FireFireball_OnEnter = val57; obj57 = (object)val57; } FireFireball.OnEnter += (Manipulator)obj57; object obj58 = <>O.<57>__LunarGolem_FireTwinShots_FireSingle; if (obj58 == null) { Manipulator val58 = LunarGolem_FireTwinShots_FireSingle; <>O.<57>__LunarGolem_FireTwinShots_FireSingle = val58; obj58 = (object)val58; } FireTwinShots.FireSingle += (Manipulator)obj58; object obj59 = <>O.<58>__LunarWisp_FireLunarGuns_OnFireAuthority; if (obj59 == null) { Manipulator val59 = LunarWisp_FireLunarGuns_OnFireAuthority; <>O.<58>__LunarWisp_FireLunarGuns_OnFireAuthority = val59; obj59 = (object)val59; } FireLunarGuns.OnFireAuthority += (Manipulator)obj59; object obj60 = <>O.<59>__LunarWisp_SeekingBomb_FireBomb; if (obj60 == null) { Manipulator val60 = LunarWisp_SeekingBomb_FireBomb; <>O.<59>__LunarWisp_SeekingBomb_FireBomb = val60; obj60 = (object)val60; } SeekingBomb.FireBomb += (Manipulator)obj60; object obj61 = <>O.<60>__MajorConstruct_Weapon_FireLaser_ModifyBullet; if (obj61 == null) { Manipulator val61 = MajorConstruct_Weapon_FireLaser_ModifyBullet; <>O.<60>__MajorConstruct_Weapon_FireLaser_ModifyBullet = val61; obj61 = (object)val61; } FireLaser.ModifyBullet += (Manipulator)obj61; object obj62 = <>O.<61>__MiniMushroom_SporeGrenade_FireGrenade; if (obj62 == null) { Manipulator val62 = MiniMushroom_SporeGrenade_FireGrenade; <>O.<61>__MiniMushroom_SporeGrenade_FireGrenade = val62; obj62 = (object)val62; } SporeGrenade.FireGrenade += (Manipulator)obj62; object obj63 = <>O.<62>__NullifierMonster_FirePortalBomb_FireBomb; if (obj63 == null) { Manipulator val63 = NullifierMonster_FirePortalBomb_FireBomb; <>O.<62>__NullifierMonster_FirePortalBomb_FireBomb = val63; obj63 = (object)val63; } FirePortalBomb.FireBomb += (Manipulator)obj63; object obj64 = <>O.<63>__ParentMonster_GroundSlam_FixedUpdate; if (obj64 == null) { Manipulator val64 = ParentMonster_GroundSlam_FixedUpdate; <>O.<63>__ParentMonster_GroundSlam_FixedUpdate = val64; obj64 = (object)val64; } GroundSlam.FixedUpdate += (Manipulator)obj64; object obj65 = <>O.<64>__RoboBallBoss_Weapon_FireDelayKnockup_OnEnter; if (obj65 == null) { Manipulator val65 = RoboBallBoss_Weapon_FireDelayKnockup_OnEnter; <>O.<64>__RoboBallBoss_Weapon_FireDelayKnockup_OnEnter = val65; obj65 = (object)val65; } FireDelayKnockup.OnEnter += (Manipulator)obj65; object obj66 = <>O.<65>__RoboBallBoss_Weapon_FireEyeBlast_FixedUpdate; if (obj66 == null) { Manipulator val66 = RoboBallBoss_Weapon_FireEyeBlast_FixedUpdate; <>O.<65>__RoboBallBoss_Weapon_FireEyeBlast_FixedUpdate = val66; obj66 = (object)val66; } FireEyeBlast.FixedUpdate += (Manipulator)obj66; object obj67 = <>O.<66>__RoboBallMini_Weapon_FireEyeBeam_ModifyBullet; if (obj67 == null) { Manipulator val67 = RoboBallMini_Weapon_FireEyeBeam_ModifyBullet; <>O.<66>__RoboBallMini_Weapon_FireEyeBeam_ModifyBullet = val67; obj67 = (object)val67; } FireEyeBeam.ModifyBullet += (Manipulator)obj67; object obj68 = <>O.<67>__ScavMonster_FireEnergyCannon_OnEnter; if (obj68 == null) { Manipulator val68 = ScavMonster_FireEnergyCannon_OnEnter; <>O.<67>__ScavMonster_FireEnergyCannon_OnEnter = val68; obj68 = (object)val68; } FireEnergyCannon.OnEnter += (Manipulator)obj68; object obj69 = <>O.<68>__ScavMonster_ThrowSack_Fire; if (obj69 == null) { Manipulator val69 = ScavMonster_ThrowSack_Fire; <>O.<68>__ScavMonster_ThrowSack_Fire = val69; obj69 = (object)val69; } ThrowSack.Fire += (Manipulator)obj69; object obj70 = <>O.<69>__Scorchling_ScorchlingLavaBomb_Spit; if (obj70 == null) { Manipulator val70 = Scorchling_ScorchlingLavaBomb_Spit; <>O.<69>__Scorchling_ScorchlingLavaBomb_Spit = val70; obj70 = (object)val70; } ScorchlingLavaBomb.Spit += (Manipulator)obj70; object obj71 = <>O.<70>__Squid_SquidWeapon_FireSpine_FireOrbArrow; if (obj71 == null) { Manipulator val71 = Squid_SquidWeapon_FireSpine_FireOrbArrow; <>O.<70>__Squid_SquidWeapon_FireSpine_FireOrbArrow = val71; obj71 = (object)val71; } FireSpine.FireOrbArrow += (Manipulator)obj71; object obj72 = <>O.<71>__TitanMonster_FireFist_PlaceSingleDelayBlast; if (obj72 == null) { Manipulator val72 = TitanMonster_FireFist_PlaceSingleDelayBlast; <>O.<71>__TitanMonster_FireFist_PlaceSingleDelayBlast = val72; obj72 = (object)val72; } FireFist.PlaceSingleDelayBlast += (Manipulator)obj72; object obj73 = <>O.<72>__TitanMonster_FireGoldMegaLaser_FixedUpdate; if (obj73 == null) { Manipulator val73 = TitanMonster_FireGoldMegaLaser_FixedUpdate; <>O.<72>__TitanMonster_FireGoldMegaLaser_FixedUpdate = val73; obj73 = (object)val73; } FireGoldMegaLaser.FixedUpdate += (Manipulator)obj73; object obj74 = <>O.<73>__TitanMonster_FireMegaLaser_FireBullet; if (obj74 == null) { Manipulator val74 = TitanMonster_FireMegaLaser_FireBullet; <>O.<73>__TitanMonster_FireMegaLaser_FireBullet = val74; obj74 = (object)val74; } FireMegaLaser.FireBullet += (Manipulator)obj74; object obj75 = <>O.<74>__TitanRockController_Fire; if (obj75 == null) { Manipulator val75 = TitanRockController_Fire; <>O.<74>__TitanRockController_Fire = val75; obj75 = (object)val75; } TitanRockController.Fire += (Manipulator)obj75; object obj76 = <>O.<75>__UrchinTurret_Weapon_MinigunFire_OnFireAuthority; if (obj76 == null) { Manipulator val76 = UrchinTurret_Weapon_MinigunFire_OnFireAuthority; <>O.<75>__UrchinTurret_Weapon_MinigunFire_OnFireAuthority = val76; obj76 = (object)val76; } MinigunFire.OnFireAuthority += (Manipulator)obj76; object obj77 = <>O.<76>__VagrantMonster_FireMegaNova_Detonate; if (obj77 == null) { Manipulator val77 = VagrantMonster_FireMegaNova_Detonate; <>O.<76>__VagrantMonster_FireMegaNova_Detonate = val77; obj77 = (object)val77; } FireMegaNova.Detonate += (Manipulator)obj77; object obj78 = <>O.<77>__VagrantMonster_FireTrackingBomb_FireBomb; if (obj78 == null) { Manipulator val78 = VagrantMonster_FireTrackingBomb_FireBomb; <>O.<77>__VagrantMonster_FireTrackingBomb_FireBomb = val78; obj78 = (object)val78; } FireTrackingBomb.FireBomb += (Manipulator)obj78; object obj79 = <>O.<78>__VagrantMonster_Weapon_JellyBarrage_FireBlob; if (obj79 == null) { Manipulator val79 = VagrantMonster_Weapon_JellyBarrage_FireBlob; <>O.<78>__VagrantMonster_Weapon_JellyBarrage_FireBlob = val79; obj79 = (object)val79; } JellyBarrage.FireBlob += (Manipulator)obj79; object obj80 = <>O.<79>__VoidInfestor_Infest_OnEnter; if (obj80 == null) { Manipulator val80 = VoidInfestor_Infest_OnEnter; <>O.<79>__VoidInfestor_Infest_OnEnter = val80; obj80 = (object)val80; } Infest.OnEnter += (Manipulator)obj80; object obj81 = <>O.<80>__VoidJailer_Weapon_Capture2_OnEnter; if (obj81 == null) { Manipulator val81 = VoidJailer_Weapon_Capture2_OnEnter; <>O.<80>__VoidJailer_Weapon_Capture2_OnEnter = val81; obj81 = (object)val81; } Capture2.OnEnter += (Manipulator)obj81; object obj82 = <>O.<81>__VoidMegaCrab_BackWeapon_FireVoidMissiles_FireMissile; if (obj82 == null) { Manipulator val82 = VoidMegaCrab_BackWeapon_FireVoidMissiles_FireMissile; <>O.<81>__VoidMegaCrab_BackWeapon_FireVoidMissiles_FireMissile = val82; obj82 = (object)val82; } FireVoidMissiles.FireMissile += (Manipulator)obj82; object obj83 = <>O.<82>__VoidMegaCrab_Weapon_FireCrabCannonBase_FireProjectile; if (obj83 == null) { Manipulator val83 = VoidMegaCrab_Weapon_FireCrabCannonBase_FireProjectile; <>O.<82>__VoidMegaCrab_Weapon_FireCrabCannonBase_FireProjectile = val83; obj83 = (object)val83; } FireCrabCannonBase.FireProjectile += (Manipulator)obj83; object obj84 = <>O.<83>__VoidRaidCrab_SpinBeamAttack_FireBeamBulletAuthority; if (obj84 == null) { Manipulator val84 = VoidRaidCrab_SpinBeamAttack_FireBeamBulletAuthority; <>O.<83>__VoidRaidCrab_SpinBeamAttack_FireBeamBulletAuthority = val84; obj84 = (object)val84; } SpinBeamAttack.FireBeamBulletAuthority += (Manipulator)obj84; object obj85 = <>O.<84>__VoidRaidCrab_Weapon_FireMissiles_FixedUpdate; if (obj85 == null) { Manipulator val85 = VoidRaidCrab_Weapon_FireMissiles_FixedUpdate; <>O.<84>__VoidRaidCrab_Weapon_FireMissiles_FixedUpdate = val85; obj85 = (object)val85; } FireMissiles.FixedUpdate += (Manipulator)obj85; object obj86 = <>O.<85>__VoidRaidCrab_Weapon_BaseFireMultiBeam_OnEnter; if (obj86 == null) { Manipulator val86 = VoidRaidCrab_Weapon_BaseFireMultiBeam_OnEnter; <>O.<85>__VoidRaidCrab_Weapon_BaseFireMultiBeam_OnEnter = val86; obj86 = (object)val86; } BaseFireMultiBeam.OnEnter += (Manipulator)obj86; object obj87 = <>O.<86>__Vulture_Weapon_FireWindblade_OnEnter; if (obj87 == null) { Manipulator val87 = Vulture_Weapon_FireWindblade_OnEnter; <>O.<86>__Vulture_Weapon_FireWindblade_OnEnter = val87; obj87 = (object)val87; } FireWindblade.OnEnter += (Manipulator)obj87; object obj88 = <>O.<87>__Wisp1Monster_FireEmbers_OnEnter; if (obj88 == null) { Manipulator val88 = Wisp1Monster_FireEmbers_OnEnter; <>O.<87>__Wisp1Monster_FireEmbers_OnEnter = val88; obj88 = (object)val88; } FireEmbers.OnEnter += (Manipulator)obj88; } private static void BasicMeleeAttack_OnEnter(ILContext il) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Expected O, but got Unknown //IL_008a: Unknown result type (might be due to invalid IL or missing references) //IL_0096: Unknown result type (might be due to invalid IL or missing references) ILCursor val = new ILCursor(il); if (!val.TryGotoNext((MoveType)2, new Func<Instruction, bool>[3] { (Instruction x) => ILPatternMatchingExt.MatchLdcI4(x, 0), (Instruction x) => ILPatternMatchingExt.MatchCall<DamageTypeCombo>(x, "op_Implicit"), (Instruction x) => ILPatternMatchingExt.MatchStfld<OverlapAttack>(x, "damageType") })) { Util.LogILError("GenericProjectileBaseState.FireProjectile", il, val); return; } val.Emit(OpCodes.Dup); val.Emit(OpCodes.Ldarg_0); val.EmitDelegate<Action<OverlapAttack, BasicMeleeAttack>>((Action<OverlapAttack, BasicMeleeAttack>)delegate(OverlapAttack overlapAttack, BasicMeleeAttack entityState) { //IL_0040: Unknown result type (might be due to invalid IL or missing references) //IL_004d: Unknown result type (might be due to invalid IL or missing references) //IL_005a: Unknown result type (might be due to invalid IL or missing references) if (!(entityState is HeroRelicSwing) && !(entityState is HeroRelicSwingLeft) && !(entityState is GupSpikesState) && !(entityState is GoldenSwipe) && !(entityState is TongueLash)) { if (!(entityState is SprintBash)) { if (entityState is GoldenSlash) { overlapAttack.damageType.damageSource = (DamageSource)8; } } else { overlapAttack.damageType.damageSource = (DamageSource)2; } } else { overlapAttack.damageType.damageSource = (DamageSource)1; } }); } private static void GenericProjectileBaseState_FireProjectile(ILContext il) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Expected O, but got Unknown //IL_008a: Unknown result type (might be due to invalid IL or missing references) //IL_0096: Unknown result type (might be due to invalid IL or missing references) //IL_00c8: Unknown result type (might be due to invalid IL or missing references) ILCursor val = new ILCursor(il); if (!val.TryGotoNext((MoveType)2, new Func<Instruction, bool>[3] { (Instruction x) => ILPatternMatchingExt.MatchStfld<FireProjectileInfo>(x, "crit"), (Instruction x) => ILPatternMatchingExt.MatchLdloc(x, 2), (Instruction x) => ILPatternMatchingExt.MatchStloc(x, 1) })) { Util.LogILError("GenericProjectileBaseState.FireProjectile", il, val); return; } val.Emit(OpCodes.Ldloc_1); val.Emit(OpCodes.Ldarg_0); val.EmitDelegate<Func<FireProjectileInfo, GenericProjectileBaseState, FireProjectileInfo>>((Func<FireProjectileInfo, GenericProjectileBaseState, FireProjectileInfo>)delegate(FireProjectileInfo fireProjectileInfo, GenericProjectileBaseState entityState) { //IL_002c: Unknown result type (might be due to invalid IL or missing references) //IL_004e: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) if (!(entityState is FireConstructBeam) && !(entityState is Fire) && !(entityState is FireExploderShards) && !(entityState is Fire)) { if (entityState is ThrowBarrel) { fireProjectileInfo.damageTypeOverride = DamageTypeCombo.GenericSecondary; } } else { fireProjectileInfo.damageTypeOverride = DamageTypeCombo.GenericPrimary; } return fireProjectileInfo; }); val.Emit(OpCodes.Stloc_1); } private static void ArtifactShell_FireSolarFlares_FixedUpdate(ILContext il) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Expected O, but got Unknown //IL_0007: Unknown result type (might be due to invalid IL or missing references) ILCursor c = new ILCursor(il); ILEdits.AddDamageTypeComboToFireProjectileInfo(DamageTypeCombo.GenericPrimary, "ArtifactShell.FireSolarFlares.FixedUpdate", 1, il, c); } private static void AcidLarva_LarvaLeap_DetonateAuthority(ILContext il) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Expected O, but got Unknown ILCursor c = new ILCursor(il); ILEdits.SetDamageSourceForBlastAttack((DamageSource)1, ILEdits.BlastAttackMatchType.BeforeFalloffModel, "AcidLarva.LarvaLeap.DetonateAuthority", il, c); } private static void BeetleGuardMonster_GroundSlam_OnEnter(ILContext il) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Expected O, but got Unknown ILCursor val = new ILCursor(il); ILEdits.SetupForOverlapAttackDelegate(isAttackInEntityState: true, ILEdits.OverlapAttackMatchType.BasicDamageCalculation, "BeetleGuardMonster.GroundSlam.OnEnter", il, val); val.EmitDelegate<Action<GroundSlam>>((Action<GroundSlam>)delegate(GroundSlam bgGroundSlam) { //IL_0017: Unknown result type (might be due to invalid IL or missing references) if (bgGroundSlam != null && bgGroundSlam.attack != null) { bgGroundSlam.attack.damageType.damageSource = (DamageSource)1; } }); } private static void BeetleGuardMonster_FireSunder_FixedUpdate(ILContext il) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Expected O, but got Unknown //IL_0007: Unknown result type (might be due to invalid IL or missing references) ILCursor c = new ILCursor(il); ILEdits.ReplaceNullDamageTypeComboInFireProjectile(DamageTypeCombo.GenericSecondary, "BeetleGuardMonster.FireSunder.FixedUpdate", 1, il, c); } private static void BeetleMonster_HeadbuttState_OnEnter(ILContext il) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Expected O, but got Unknown ILCursor val = new ILCursor(il); ILEdits.SetupForOverlapAttackDelegate(isAttackInEntityState: true, ILEdits.OverlapAttackMatchType.BasicDamageCalculation, "BeetleMonster.HeadbuttState.OnEnter", il, val); val.EmitDelegate<Action<HeadbuttState>>((Action<HeadbuttState>)delegate(HeadbuttState beetleHeadbutt) { //IL_0017: Unknown result type (might be due to invalid IL or missing references) if (beetleHeadbutt != null && beetleHeadbutt.attack != null) { beetleHeadbutt.attack.damageType.damageSource = (DamageSource)1; } }); } private static void BeetleQueenMonster_FireSpit_FireBlob(ILContext il) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Expected O, but got Unknown //IL_0007: Unknown result type (might be due to invalid IL or missing references) ILCursor c = new ILCursor(il); ILEdits.ReplaceNullDamageTypeComboInFireProjectile(DamageTypeCombo.GenericPrimary, "BeetleQueenMonster.FireSpit.FireBlob", 1, il, c); } private static void Bell_BellWeapon_ChargeTrioBomb_FixedUpdate(ILContext il) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Expected O, but got Unknown //IL_0007: Unknown result type (might be due to invalid IL or missing references) ILCursor c = new ILCursor(il); ILEdits.ReplaceNullDamageTypeComboInFireProjectile(DamageTypeCombo.GenericPrimary, "Bell.BellWeapon.ChargeTrioBomb.FixedUpdate", 7, il, c); } private static void Bison_Headbutt_OnEnter(ILContext il) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Expected O, but got Unknown ILCursor val = new ILCursor(il); ILEdits.SetupForOverlapAttackDelegate(isAttackInEntityState: true, ILEdits.OverlapAttackMatchType.BasicDamageCalculation, "Bison.Headbutt.OnEnter", il, val); val.EmitDelegate<Action<Headbutt>>((Action<Headbutt>)delegate(Headbutt bisonHeadbutt) { //IL_0017: Unknown result type (might be due to invalid IL or missing references) if (bisonHeadbutt != null && bisonHeadbutt.attack != null) { bisonHeadbutt.attack.damageType.damageSource = (DamageSource)1; } }); } private static void Bison_Charge_ResetOverlapAttack(ILContext il) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Expected O, but got Unknown ILCursor val = new ILCursor(il); ILEdits.SetupForOverlapAttackDelegate(isAttackInEntityState: true, ILEdits.OverlapAttackMatchType.BasicDamageCalculation, "Bison.Charge.ResetOverlapAttack", il, val); val.EmitDelegate<Action<Charge>>((Action<Charge>)delegate(Charge bisonChargeAttack) { //IL_0017: Unknown result type (might be due to invalid IL or missing references) if (bisonChargeAttack != null && bisonChargeAttack.attack != null) { bisonChargeAttack.attack.damageType.damageSource = (DamageSource)4; } }); } private static void BrotherHaunt_FireRandomProjectiles_FireProjectile(ILContext il) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Expected O, but got Unknown //IL_0007: Unknown result type (might be due to invalid IL or missing references) ILCursor c = new ILCursor(il); ILEdits.AddDamageTypeComboToFireProjectileInfo(DamageTypeCombo.GenericPrimary, "BrotherHaunt.FireRandomProjectiles.FireProjectile", 4, il, c); } private static void BrotherMonster_FistSlam_FixedUpdate(ILContext il) { //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_000d: Expected O, but got Unknown //IL_0043: Unknown result type (might be due to invalid IL or missing references) string text = "BrotherMonster.FistSlam.FixedUpdate"; ILCursor val = new ILCursor(il); ILEdits.SetupForBlastAttackDelegate(ILEdits.BlastAttackMatchType.AttackerIsGameObject, text, il, val); val.EmitDelegate<Action<FistSlam>>((Action<FistSlam>)delegate(FistSlam fistSlamAttack) { //IL_000c: Unknown result type (might be due to invalid IL or missing references) fistSlamAttack.attack.damageType.damageSource = (DamageSource)2; }); val.Index = 0; ILEdits.ReplaceNullDamageTypeComboInFireProjectile(DamageTypeCombo.GenericSecondary, text, 7, il, val); } private static void BrotherMonster_ExitSkyLeap_FireRingAuthority(ILContext il) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Expected O, but got Unknown //IL_0007: Unknown result type (might be due to invalid IL or missing references) ILCursor c = new ILCursor(il); ILEdits.ReplaceNullDamageTypeComboInFireProjectile(DamageTypeCombo.GenericSpecial, "BrotherMonster.ExitSkyLeap.FireRingAuthority", 5, il, c); } private static void BrotherMonster_WeaponSlam_OnEnter(ILContext il) { //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_000d: Expected O, but got Unknown //IL_00ae: Unknown result type (might be due to invalid IL or missing references) string methodName = "BrotherMonster.WeaponSlam.OnEnter"; ILCursor val = new ILCursor(il); MethodReference val2 = default(MethodReference); if (!val.TryGotoNext((MoveType)2, new Func<Instruction, bool>[4] { (Instruction x) => ILPatternMatchingExt.MatchDup(x), (Instruction x) => ILPatternMatchingExt.MatchLdcI4(x, 0), (Instruction x) => ILPatternMatchingExt.MatchCall(x, ref val2), (Instruction x) => ILPatternMatchingExt.MatchStfld<OverlapAttack>(x, "damageType") })) { Util.LogILError(methodName, il, val); return; } val.Emit(OpCodes.Dup); val.EmitDelegate<Action<OverlapAttack>>((Action<OverlapAttack>)delegate(OverlapAttack mithrixWeaponSlamOverlapAttack) { //IL_000a: Unknown result type (might be due to invalid IL or missing references) if (mithrixWeaponSlamOverlapAttack != null) { mithrixWeaponSlamOverlapAttack.damageType.damageSource = (DamageSource)1; } }); } private static void BrotherMonster_WeaponSlam_FixedUpdate(ILContext il) { //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_000d: Expected O, but got Unknown //IL_009e: Unknown result type (might be due to invalid IL or missing references) //IL_010e: Unknown result type (might be due to invalid IL or missing references) string text = "BrotherMonster.WeaponSlam.FixedUpdate"; ILCursor val = new ILCursor(il); ILEdits.SetupForBlastAttackDelegate(ILEdits.BlastAttackMatchType.AttackerIsGameObject, text, il, val); val.EmitDelegate<Action<WeaponSlam>>((Action<WeaponSlam>)delegate(WeaponSlam weaponSlamAttack) { //IL_000c: Unknown result type (might be due to invalid IL or missing references) weaponSlamAttack.blastAttack.damageType.damageSource = (DamageSource)1; }); val.Index = 0; if (!val.TryGotoNext((MoveType)2, new Func<Instruction, bool>[2] { (Instruction x) => ILPatternMatchingExt.MatchCall<ProjectileManager>(x, "get_instance"), (Instruction x) => ILPatternMatchingExt.MatchLdsfld<WeaponSlam>(x, "waveProjectilePrefab") })) { Util.LogILError(text, il, val); } ILEdits.ReplaceNullDamageTypeComboInFireProjectile(DamageTypeCombo.GenericPrimary, text, 7, il, val); val.Index = 0; if (!val.TryGotoNext((MoveType)2, new Func<Instruction, bool>[2] { (Instruction x) => ILPatternMatchingExt.MatchCall<ProjectileManager>(x, "get_instance"), (Instruction x) => ILPatternMatchingExt.MatchLdsfld<WeaponSlam>(x, "pillarProjectilePrefab") })) { Util.LogILError(text, il, val); } ILEdits.ReplaceNullDamageTypeComboInFireProjectile(DamageTypeCombo.GenericPrimary, text, 7, il, val); } private static void BrotherMonster_UltChannelState_FireWave(ILContext il) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Expected O, but got Unknown //IL_0007: Unknown result type (might be due to invalid IL or missing references) ILCursor c = new ILCursor(il); ILEdits.ReplaceNullDamageTypeComboInFireProjectile(DamageTypeCombo.GenericSpecial, "BrotherMonster.UltChannelState.FireWave", 7, il, c); } private static void BrotherMonster_Weapon_FireLunarShards_OnEnter(ILContext il) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Expected O, but got Unknown //IL_0007: Unknown result type (might be due to invalid IL or missing references) ILCursor c = new ILCursor(il); ILEdits.AddDamageTypeComboToFireProjectileInfo(DamageTypeCombo.GenericPrimary, "BrotherMonster.Weapon.FireLunarShards.OnEnter", 2, il, c); } private static void ChildMonster_SparkBallFire_FireBomb(ILContext il) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Expected O, but got Unknown //IL_0007: Unknown result type (might be due to invalid IL or missing references) ILCursor c = new ILCursor(il); ILEdits.ReplaceNullDamageTypeComboInFireProjectile(DamageTypeCombo.GenericPrimary, "ChildMonster.SparkBallFire.FireBomb", 3, il, c); } private static void ClayBoss_FireTarball_FireSingleTarball(ILContext il) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Expected O, but got Unknown //IL_0007: Unknown result type (might be due to invalid IL or missing references) ILCursor c = new ILCursor(il); ILEdits.ReplaceNullDamageTypeComboInFireProjectile(DamageTypeCombo.GenericSecondary, "ClayBoss.FireTarball.FireSingleTarball", 3, il, c); } private static void TarTetherController_DoDamageTick(ILContext il) { //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_000d: Expected O, but got Unknown //IL_008c: Unknown result type (might be due to invalid IL or missing references) string methodName = "TarTetherController.DoDamageTick"; ILCursor val = new ILCursor(il); if (!val.TryGotoNext((MoveType)2, new Func<Instruction, bool>[3] { (Instruction x) => ILPatternMatchingExt.MatchLdcI4(x, 0), (Instruction x) => ILPatternMatchingExt.MatchCall<DamageTypeCombo>(x, "op_Implicit"), (Instruction x) => ILPatternMatchingExt.MatchStfld<DamageInfo>(x, "damageType") })) { Util.LogILError(methodName, il, val); return; } val.Emit(OpCodes.Dup); val.EmitDelegate<Action<DamageInfo>>((Action<DamageInfo>)delegate(DamageInfo damageInfo) { //IL_0007: Unknown result type (might be due to invalid IL or missing references) damageInfo.damageType.damageSource = (DamageSource)8; }); } private static void ClayBoss_ClayBossWeapon_FireBombardment_FireGrenade(ILContext il) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Expected O, but got Unknown //IL_0007: Unknown result type (might be due to invalid IL or missing references) ILCursor c = new ILCursor(il); ILEdits.ReplaceNullDamageTypeComboInFireProjectile(DamageTypeCombo.GenericPrimary, "ClayBoss.ClayBossWeapon.FireBombardment.FireGrenade", 20, il, c); } private static void ClayBruiser_Weapon_MinigunFire_OnFireAuthority(ILContext il) { //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_000d: Expected O, but got Unknown //IL_008c: Unknown result type (might be due to invalid IL or missing references) string methodName = "ClayBruiser.Weapon.MinigunFire.OnFireAuthority"; ILCursor val = new ILCursor(il); if (!val.TryGotoNext((MoveType)2, new Func<Instruction, bool>[3] { (Instruction x) => ILPatternMatchingExt.MatchLdcI4(x, 0), (Instruction x) => ILPatternMatchingExt.MatchCall<DamageTypeCombo>(x, "op_Implicit"), (Instruction x) => ILPatternMatchingExt.MatchStfld<BulletAttack>(x, "damageType") })) { Util.LogILError(methodName, il, val); return; } val.Emit(OpCodes.Dup); val.EmitDelegate<Action<BulletAttack>>((Action<BulletAttack>)delegate(BulletAttack bulletAttack) { //IL_0007: Unknown result type (might be due to invalid IL or missing references) bulletAttack.damageType.damageSource = (DamageSource)1; }); } private static void ClayGrenadier_FaceSlam_FixedUpdate(ILContext il) { //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_000d: Expected O, but got Unknown //IL_0043: Unknown result type (might be due to invalid IL or missing references) string text = "ClayGrenadier.FaceSlam.FixedUpdate"; ILCursor val = new ILCursor(il); ILEdits.SetupForBlastAttackDelegate(ILEdits.BlastAttackMatchType.ExistingDamageType, text, il, val); val.EmitDelegate<Action<FaceSlam>>((Action<FaceSlam>)delegate(FaceSlam faceSlamAttack) { //IL_000c: Unknown result type (might be due to invalid IL or missing references) faceSlamAttack.attack.damageType.damageSource = (DamageSource)1; }); val.Index = 0; ILEdits.ReplaceNullDamageTypeComboInFireProjectile(DamageTypeCombo.GenericPrimary, text, 7, il, val); } private static void Drone_DroneWeapon_FireGatling_OnEnter(ILContext il) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Expected O, but got Unknown ILCursor val = new ILCursor(il); ILEdits.SetupForBulletAttackDelegate(isAttackInEntityState: false, ILEdits.BulletAttackMatchType.OwnerIsGameObject, "Drone.DroneWeapon.FireGatling.OnEnter", il, val); val.EmitDelegate<Action<BulletAttack>>((Action<BulletAttack>)delegate(BulletAttack bulletAttack) { //IL_0007: Unknown result type (might be due to invalid IL or missing references) bulletAttack.damageType.damageSource = (DamageSource)1; }); } private static void Drone_DroneWeapon_FireMegaTurret_FireBullet(ILContext il) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Expected O, but got Unknown ILCursor val = new ILCursor(il); ILEdits.SetupForBulletAttackDelegate(isAttackInEntityState: false, ILEdits.BulletAttackMatchType.OwnerIsGameObject, "Drone.DroneWeapon.FireMegaTurret.OnEnter", il, val); val.EmitDelegate<Action<BulletAttack>>((Action<BulletAttack>)delegate(BulletAttack bulletAttack) { //IL_0007: Unknown result type (might be due to invalid IL or missing references) bulletAttack.damageType.damageSource = (DamageSource)1; }); } private static void Drone_DroneWeapon_FireMissileBarrage_FireMissile(ILContext il) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Expected O, but got Unknown //IL_0007: Unknown result type (might be due to invalid IL or missing references) ILCursor c = new ILCursor(il); ILEdits.ReplaceNullDamageTypeComboInFireProjectile(DamageTypeCombo.GenericPrimary, "Drone.DroneWeapon.FireMissileBarrage.FireMissile", 11, il, c); } private static void Drone_DroneWeapon_FireTurret_OnEnter(ILContext il) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Expected O, but got Unknown ILCursor val = new ILCursor(il); ILEdits.SetupForBulletAttackDelegate(isAttackInEntityState: false, ILEdits.BulletAttackMatchType.OwnerIsGameObject, "Drone.DroneWeapon.FireTurret.OnEnter", il, val); val.EmitDelegate<Action<BulletAttack>>((Action<BulletAttack>)delegate(BulletAttack bulletAttack) { //IL_0007: Unknown result type (might be due to invalid IL or missing references) bulletAttack.damageType.damageSource = (DamageSource)1; }); } private static void Drone_DroneWeapon_FireTwinRocket_FireProjectile(ILContext il) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Expected O, but got Unknown //IL_0007: Unknown result type (might be due to invalid IL or missing references) ILCursor c = new ILCursor(il); ILEdits.ReplaceNullDamageTypeComboInFireProjectile(DamageTypeCombo.GenericSecondary, "Drone.DroneWeapon.FireTwinRocket.FireProjectile", 7, il, c); } private static void FalseSonBoss_CorruptedPaths_DetonateAuthority(ILContext il) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Expected O, but got Unknown ILCursor c = new ILCursor(il); ILEdits.SetDamageSourceForBlastAttack((DamageSource)4, ILEdits.BlastAttackMatchType.AttackerIsGameObject, "FalseSonBoss.CorruptedPaths.DetonateAuthority", il, c); } private static void FalseSonBoss_CorruptedPathsDash_FixedUpdate(ILContext il) { //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_000d: Expected O, but got Unknown //IL_008c: Unknown result type (might be due to invalid IL or missing references) string methodName = "FalseSonBoss.CorruptedPathsDash.FixedUpdate"; ILCursor val = new ILCursor(il); if (!val.TryGotoNext((MoveType)2, new Func<Instruction, bool>[3] { (Instruction x) => ILPatternMatchingExt.MatchLdarg(x, 0), (Instruction x) => ILPatternMatchingExt.MatchCall<EntityState>(x, "get_gameObject"), (Instruction x) => ILPatternMatchingExt.MatchStfld<BlastAttack>(x, "attacker") })) { Util.LogILError(methodName, il, val); return; } val.Emit(OpCodes.Ldarg_0); val.EmitDelegate<Action<CorruptedPathsDash>>((Action<CorruptedPathsDash>)delegate(CorruptedPathsDash dashAttack) { //IL_000c: Unknown result type (might be due to invalid IL or missing references) dashAttack.explosionAttack.damageType.damageSource = (DamageSource)1; }); } private static void FalseSonBoss_FissureSlam_FixedUpdate(ILContext il) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Expected O, but got Unknown //IL_0007: Unknown result type (might be due to invalid IL or missing references) ILCursor c = new ILCursor(il); ILEdits.ReplaceNullDamageTypeComboInFireProjectile(DamageTypeCombo.GenericPrimary, "FalseSonBoss.FissureSlam.FixedUpdate", 4, il, c); } private static void FalseSonBoss_FissureSlam_DetonateAuthority(ILContext il) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Expected O, but got Unknown ILCursor c = new ILCursor(il); ILEdits.SetDamageSourceForBlastAttack((DamageSource)1, ILEdits.BlastAttackMatchType.AttackerIsGameObject, "FalseSonBoss.FissureSlam.DetonateAuthority", il, c); } private static void FalseSonBoss_LunarGazeFire_FireBullet(ILContext il) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Expected O, but got Unknown //IL_008a: Unknown result type (might be due to invalid IL or missing references) ILCursor val = new ILCursor(il); if (!val.TryGotoNext((MoveType)2, new Func<Instruction, bool>[3] { (Instruction x) => ILPatternMatchingExt.MatchDup(x), (Instruction x) => ILPatternMatchingExt.MatchLdarg(x, 4), (Instruction x) => ILPatternMatchingExt.MatchCallvirt<BulletAttack>(x, "set_maxDistance") })) { Util.LogILError("FalseSonBoss.LunarGazeFire.FireBullet", il, val); return; } val.Emit(OpCodes.Dup); val.EmitDelegate<Action<BulletAttack>>((Action<BulletAttack>)delegate(BulletAttack bulletAttack) { //IL_0007: Unknown result type (might be due to invalid IL or missing references) bulletAttack.damageType.damageSource = (DamageSource)4; }); } private static void FalseSonBoss_LunarRain_DetonateAuthority(ILContext il) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Expected O, but got Unknown ILCursor c = new ILCursor(il); ILEdits.SetDamageSourceForBlastAttack((DamageSource)2, ILEdits.BlastAttackMatchType.AttackerIsGameObject, "FalseSonBoss.LunarRain.DetonateAuthority", il, c); } private static void FalseSonBoss_SwatAwayPlayersSlam_OnEnter(ILContext il) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Expected O, but got Unknown ILCursor val = new ILCursor(il); ILEdits.SetupForOverlapAttackDelegate(isAttackInEntityState: false, ILEdits.OverlapAttackMatchType.ExistingDamageType, "FalseSonBoss.SwatAwayPlayersSlam.OnEnter", il, val); val.EmitDelegate<Action<OverlapAttack>>((Action<OverlapAttack>)delegate(OverlapAttack overlapAttack) { //IL_000a: Unknown result type (might be due to invalid IL or missing references) if (overlapAttack != null) { overlapAttack.damageType.damageSource = (DamageSource)1; } }); } private static void FalseSonBoss_TaintedOffering_FireProjectile(ILContext il) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Expected O, but got Unknown //IL_0007: Unknown result type (might be due to invalid IL or missing references) ILCursor c = new ILCursor(il); ILEdits.ReplaceNullDamageTypeComboInFireProjectile(DamageTypeCombo.GenericSpecial, "FalseSonBoss.TaintedOffering.FireProjectile", 1, il, c); } private static void FalseSonBoss_PrimeDevastator_DetonateAuthority(ILContext il) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Expected O, but got Unknown ILCursor c = new ILCursor(il); ILEdits.SetDamageSourceForBlastAttack((DamageSource)8, ILEdits.BlastAttackMatchType.AttackerIsGameObject, "FalseSonBoss.PrimeDevastator.DetonateAuthority", il, c); } private static void FlyingVermin_Weapon_Spit_FireProjectile(ILContext il) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Expected O, but got Unknown //IL_0007: Unknown result type (might be due to invalid IL or missing references) ILCursor c = new ILCursor(il); ILEdits.ReplaceNullDamageTypeComboInFireProjectile(DamageTypeCombo.GenericPrimary, "FlyingVermin.Weapon.Spit.FireProjectile", 3, il, c); } private static void GolemMonster_ClapState_FixedUpdate(ILContext il) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Expected O, but got Unknown ILCursor val = new ILCursor(il); ILEdits.SetupForBlastAttackDelegate(ILEdits.BlastAttackMatchType.AttackerIsGameObject, "GolemMonster.ClapState.FixedUpdate", il, val); val.EmitDelegate<Action<ClapState>>((Action<ClapState>)delegate(ClapState clappingCheeks) { //IL_000c: Unknown result type (might be due to invalid IL or missing references) clappingCheeks.attack.damageType.damageSource = (DamageSource)1; }); } private static void GolemMonster_FireLaser_OnEnter(ILContext il) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Expected O, but got Unknown ILCursor c = new ILCursor(il); ILEdits.SetDamageSourceForBlastAttack((DamageSource)2, ILEdits.BlastAttackMatchType.AttackerIsGameObject, "GolemMonster.FireLaser.OnEnter", il, c); } private static void GrandParentBoss_GroundSwipe_FixedUpdate(ILContext il) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Expected O, but got Unknown //IL_0007: Unknown result type (might be due to invalid IL or missing references) ILCursor c = new ILCursor(il); ILEdits.AddDamageTypeComboToFireProjectileInfo(DamageTypeCombo.GenericPrimary, "GrandParentBoss.GroundSwipe.FixedUpdate", 8, il, c); } private static void GravekeeperBoss_FireHook_FireSingleHook(ILContext il) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Expected O, but got Unknown //IL_0007: Unknown result type (might be due to invalid IL or missing references) ILCursor c = new ILCursor(il); ILEdits.ReplaceNullDamageTypeComboInFireProjectile(DamageTypeCombo.GenericSecondary, "GravekeeperBoss.FireHook.FireSingleHook", 1, il, c); } private static void GravekeeperMonster_Weapon_GravekeeperBarrage_FireBlob(ILContext il) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Expected O, but got Unknown //IL_0007: Unknown result type (might be due to invalid IL or missing references) ILCursor c = new ILCursor(il); ILEdits.ReplaceNullDamageTypeComboInFireProjectile(DamageTypeCombo.GenericPrimary, "GravekeeperMonster.Weapon.GravekeeperBarrage.FireBlob", 0, il, c); } private static void GreaterWispMonster_FireCannons_OnEnter(ILContext il) { //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_000d: Expected O, but got Unknown //IL_008a: Unknown result type (might be due to invalid IL or missing references) //IL_011c: Unknown result type (might be due to invalid IL or missing references) string text = "GreaterWispMonster.FireCannons.OnEnter"; ILCursor val = new ILCursor(il); ILLabel val3 = default(ILLabel); if (!val.TryGotoNext((MoveType)2, new Func<Instruction, bool>[3] { (Instruction x) => ILPatternMatchingExt.MatchLdloc(x, 6), (Instruction x) => ILPatternMatchingExt.MatchCall<Object>(x, "op_Implicit"), (Instruction x) => ILPatternMatchingExt.MatchBrfalse(x, ref val3) })) { Util.LogILError(text, il, val); } ILEdits.ReplaceNullDamageTypeComboInFireProjectile(DamageTypeCombo.GenericPrimary, text, 8, il, val); val.Index = 0; ILLabel val2 = default(ILLabel); if (!val.TryGotoNext((MoveType)2, new Func<Instruction, bool>[3] { (Instruction x) => ILPatternMatchingExt.MatchLdloc(x, 7), (Instruction x) => ILPatternMatchingExt.MatchCall<Object>(x, "op_Implicit"), (Instruction x) => ILPatternMatchingExt.MatchBrfalse(x, ref val2) })) { Util.LogILError(text, il, val); } ILEdits.ReplaceNullDamageTypeComboInFireProjectile(DamageTypeCombo.GenericPrimary, text, 8, il, val); } private static void Halcyonite_TriLaser_FireTriLaser(ILContext il) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Expected O, but got Unknown ILCursor c = new ILCursor(il); ILEdits.SetDamageSourceForBlastAttack((DamageSource)2, ILEdits.BlastAttackMatchType.AttackerIsGameObject, "Halcyonite.TriLaser.FireTriLaser", il, c); } private static void Halcyonite_WhirlwindRush_FixedUpdate(ILContext il) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Expected O, but got Unknown //IL_0007: Unknown result type (might be due to invalid IL or missing references) ILCursor c = new ILCursor(il); ILEdits.ReplaceNullDamageTypeComboInFireProjectile(DamageTypeCombo.GenericUtility, "Halcyonite.WhirlwindRush.FixedUpdate", 1, il, c); } private static void HermitCrab_FireMortar_Fire(ILContext il) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Expected O, but got Unknown //IL_0007: Unknown result type (might be due to invalid IL or missing references) ILCursor c = new ILCursor(il); ILEdits.ReplaceNullDamageTypeComboInFireProjectile(DamageTypeCombo.GenericPrimary, "HermitCrab.FireMortar.Fire", 18, il, c); } private static void ImpBossMonster_FireVoidspikes_FireSpikeAuthority(ILContext il) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Expected O, but got Unknown //IL_0007: Unknown result type (might be due to invalid IL or missing references) ILCursor c = new ILCursor(il); ILEdits.ReplaceNullDamageTypeComboInFireProjectile(DamageTypeCombo.GenericPrimary, "ImpBossMonster.FireVoidspikes.FireSpikeAuthority", 1, il, c); } private static void ImpBossMonster_FireVoidspikes_OnEnter(ILContext il) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Expected O, but got Unknown ILCursor val = new ILCursor(il); ILEdits.SetupForOverlapAttackDelegate(isAttackInEntityState: true, ILEdits.OverlapAttackMatchType.ExistingDamageType, "ImpBossMonster.FireVoidspikes.OnEnter", il, val); val.EmitDelegate<Action<FireVoidspikes>>((Action<FireVoidspikes>)delegate(FireVoidspikes overlordRangedAttack) { //IL_0017: Unknown result type (might be due to invalid IL or missing references) if (overlordRangedAttack != null && overlordRangedAttack.attack != null) { overlordRangedAttack.attack.damageType.damageSource = (DamageSource)1; } }); } private static void ImpBossMonster_GroundPound_OnEnter(ILContext il) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Expected O, but got Unknown ILCursor val = new ILCursor(il); ILEdits.SetupForBlastAttackDelegate(ILEdits.BlastAttackMatchType.AttackerIsGameObject, "ImpBossMonster.GroundPound.OnEnter", il, val); val.EmitDelegate<Action<GroundPound>>((Action<GroundPound>)delegate(GroundPound groundPound) { //IL_000c: Unknown result type (might be due to invalid IL or missing references) groundPound.attack.damageType.damageSource = (DamageSource)2; }); } private static void ImpMonster_DoubleSlash_OnEnter(ILContext il) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Expected O, but got Unknown ILCursor val = new ILCursor(il); ILEdits.SetupForOverlapAttackDelegate(isAttackInEntityState: true, ILEdits.OverlapAttackMatchType.ExistingDamageType, "ImpMonster.DoubleSlash.OnEnter", il, val); val.EmitDelegate<Action<DoubleSlash>>((Action<DoubleSlash>)delegate(DoubleSlash doubleSlash) { //IL_0017: Unknown result type (might be due to invalid IL or missing references) if (doubleSlash != null && doubleSlash.attack != null) { doubleSlash.attack.damageType.damageSource = (DamageSource)1; } }); } private static void JellyfishMonster_JellyNova_Detonate(ILContext il) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Expected O, but got Unknown ILCursor val = new ILCursor(il); ILEdits.SetupForBlastAttackDelegate(ILEdits.BlastAttackMatchType.AttackerIsGameObject, "JellyfishMonster.JellyNova.Detonate", il, val); val.EmitDelega