Please disclose if any significant portion of your mod was created using AI tools by adding the 'AI Generated' category. Failing to do so may result in the mod being removed from Thunderstore.
Decompiled source of FixHunk v0.0.1
FixHunk.dll
Decompiled a year agousing System; using System.Collections.Generic; using System.Diagnostics; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using System.Security; using System.Security.Permissions; using BepInEx; using HarmonyLib; using HunkMod; using HunkMod.Modules; using HunkMod.Modules.Components; using HunkMod.Modules.Survivors; using Microsoft.CodeAnalysis; using On.EntityStates.AcidLarva; using On.EntityStates.BeetleGuardMonster; using On.EntityStates.BeetleMonster; using On.EntityStates.Bison; using On.EntityStates.BrotherMonster; using On.EntityStates.ClayBruiser.Weapon; using On.EntityStates.ClayGrenadier; using On.EntityStates.GlobalSkills.LunarDetonator; using On.EntityStates.GlobalSkills.LunarNeedle; using On.EntityStates.GolemMonster; using On.EntityStates.JellyfishMonster; using On.EntityStates.LemurianBruiserMonster; using On.EntityStates.MiniMushroom; using On.EntityStates.Missions.BrotherEncounter; using On.EntityStates.ParentMonster; using On.RoR2; using On.RoR2.CameraModes; using On.RoR2.UI; using On.RoR2.UI.MainMenu; using RoR2; using RoR2.UI; 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("FixHunk")] [assembly: AssemblyConfiguration("Release")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0")] [assembly: AssemblyProduct("FixHunk")] [assembly: AssemblyTitle("FixHunk")] [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 FixHunk { [BepInPlugin("_score.FixHunk", "FixHunk", "0.0.1")] public class FixHunkPlugin : BaseUnityPlugin { public const string PluginGUID = "_score.FixHunk"; public const string PluginAuthor = "score"; public const string PluginName = "FixHunk"; public const string PluginVersion = "0.0.1"; public void Awake() { //IL_0030: Unknown result type (might be due to invalid IL or missing references) if (AccessTools.Field(typeof(MainPlugin), "MODVERSION").GetValue(null) as string == "2.4.4") { new Harmony("_score.FixHunk").CreateClassProcessor(typeof(Fix)).Patch(); return; } Debug.LogError((object)"Hunk is fixed, uninstall this mod :)"); Object.Destroy((Object)(object)this); } } [HarmonyPatch] public class Fix { [CompilerGenerated] private static class <>O { public static hook_CollectLookInput <0>__CameraModeBase_CollectLookInput; public static Action<DamageReport> <1>__GlobalEventManager_onCharacterDeathGlobal; public static hook_Start <2>__AddBadgeStart; public static Action<Inventory> <3>__ValidateBadge; public static Action<HUD> <4>__HUDSetup; public static hook_OnTeamLevelUp <5>__GlobalEventManager_OnTeamLevelUp; public static hook_OnInteractionBegin <6>__GlobalEventManager_OnInteractionBegin; public static hook_OnKilledServer <7>__DeathRewards_OnKilledServer; public static hook_ShowCurrentNotification <8>__NotificationUIController_ShowCurrentNotification; public static hook_Open <9>__ChestBehavior_Open; public static hook_ItemDrop <10>__ChestBehavior_ItemDrop; public static hook_Roll <11>__ChestBehavior_Roll; public static hook_CoinDrop <12>__BarrelInteraction_CoinDrop; public static hook_DropPickup <13>__ShopTerminalBehavior_DropPickup; public static hook_EjectPickupServer <14>__RouletteChestController_EjectPickupServer; public static hook_OnInteractionBegin <15>__PurchaseInteraction_OnInteractionBegin; public static hook_OnCollisionEnter <16>__PickupDropletController_OnCollisionEnter; public static hook_ApplyAmmoPack <17>__SkillLocator_ApplyAmmoPack; public static hook_UpdateOverlays <18>__CharacterModel_UpdateOverlays2; public static hook_UpdateOverlays <19>__CharacterModel_UpdateOverlays; public static hook_TakeDamage <20>__HealthComponent_TakeDamage; public static hook_ShrineRestackInventory <21>__Inventory_ShrineRestackInventory; public static Action<List<CostTypeDef>> <22>__AddHeartCostType; public static Action<List<CostTypeDef>> <23>__AddSpadeCostType; public static Action<List<CostTypeDef>> <24>__AddDiamondCostType; public static Action<List<CostTypeDef>> <25>__AddClubCostType; public static Action<List<CostTypeDef>> <26>__AddStarCostType; public static Action<List<CostTypeDef>> <27>__AddWristbandCostType; public static Action<List<CostTypeDef>> <28>__AddStarsBadgeCostType; public static Action<List<CostTypeDef>> <29>__AddSampleCostType; public static hook_OnDeathStart <30>__CharacterBody_OnDeathStart; public static hook_OnBodyDeath <31>__CharacterMaster_OnBodyDeath; public static hook_UpdateLastHitTime <32>__HealthComponent_UpdateLastHitTime; public static hook_TakeDamage <33>__TVirusDeathOn; public static Action<DamageReport> <34>__TVirusDeathDefied; public static hook_Start <35>__SceneDirector_Start; public static hook_Start <36>__Run_Start; public static hook_GetObjectiveSources <37>__ObjectivePanelController_GetObjectiveSources; public static hook_OnEnter <38>__Phase4_OnEnter; public static hook_AttemptGrant <39>__GenericPickupController_AttemptGrant; public static hook_Update <40>__HealthBar_Update; public static hook_GetBestBodyName <41>__MakeInfectedName; public static hook_Rebuild <42>__LoadoutPanelController_Rebuild; public static hook_FixedUpdate <43>__Charge_FixedUpdate; public static hook_FixedUpdate <44>__MinigunFire_FixedUpdate; public static hook_FixedUpdate <45>__WeaponSlam_FixedUpdate; public static hook_FixedUpdate <46>__GroundSlam_FixedUpdate; public static hook_FixedUpdate <47>__GroundSlam_FixedUpdate1; public static hook_FixedUpdate <48>__JellyNova_FixedUpdate; public static hook_FixedUpdate <49>__LarvaLeap_FixedUpdate; public static hook_FixedUpdate <50>__ChargeLaser_FixedUpdate; public static hook_FixedUpdate <51>__Flamebreath_FixedUpdate; public static hook_FixedUpdate <52>__ChargeMegaFireball_FixedUpdate; public static hook_FixedUpdate <53>__FaceSlam_FixedUpdate; public static hook_FixedUpdate <54>__SporeGrenade_FixedUpdate; public static hook_FixedUpdate <55>__HeadbuttState_FixedUpdate; public static hook_OnEnter <56>__FireMegaFireball_OnEnter; public static hook_FireFlame <57>__Flamebreath_FireFlame; public static hook_BeginEscapeSequence <58>__EscapeSequenceController_BeginEscapeSequence; public static hook_OnSkillActivated <59>__CharacterBody_OnSkillActivated; public static hook_Start <60>__ShakeEmitter_Start; public static hook_OnAllEnemiesDefeatedServer <61>__InfiniteTowerBossWaveController_OnAllEnemiesDefeatedServer; public static hook_Awake <62>__BaseMainMenuScreen_Awake; public static hook_Update <63>__BaseMainMenuScreen_Update; public static hook_OnEnter <64>__PlayVisionsAnimation; public static hook_PlayChargeAnimation <65>__PlayChargeLunarAnimation; public static hook_PlayThrowAnimation <66>__PlayThrowLunarAnimation; public static hook_OnEnter <67>__PlayRuinAnimation; } [HarmonyPatch(typeof(MainPlugin), "LateSetup")] [HarmonyPrefix] public static bool Patch2() { return false; } [HarmonyPatch(typeof(Hunk), "Hook")] [HarmonyPrefix] public static bool Patch() { //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_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_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_025c: Unknown result type (might be due to invalid IL or missing references) //IL_0261: Unknown result type (might be due to invalid IL or missing references) //IL_0267: Expected O, but got Unknown //IL_02aa: Unknown result type (might be due to invalid IL or missing references) //IL_02af: Unknown result type (might be due to invalid IL or missing references) //IL_02b5: Expected O, but got Unknown //IL_028a: Unknown result type (might be due to invalid IL or missing references) //IL_028f: Unknown result type (might be due to invalid IL or missing references) //IL_0295: Expected O, but got Unknown //IL_02ca: Unknown result type (might be due to invalid IL or missing references) //IL_02cf: Unknown result type (might be due to invalid IL or missing references) //IL_02d5: Expected O, but got Unknown //IL_0412: Unknown result type (might be due to invalid IL or missing references) //IL_0417: Unknown result type (might be due to invalid IL or missing references) //IL_041d: Expected O, but got Unknown //IL_0432: Unknown result type (might be due to invalid IL or missing references) //IL_0437: Unknown result type (might be due to invalid IL or missing references) //IL_043d: Expected O, but got Unknown //IL_0452: Unknown result type (might be due to invalid IL or missing references) //IL_0457: Unknown result type (might be due to invalid IL or missing references) //IL_045d: Expected O, but got Unknown //IL_0472: Unknown result type (might be due to invalid IL or missing references) //IL_0477: Unknown result type (might be due to invalid IL or missing references) //IL_047d: Expected O, but got Unknown //IL_04b2: Unknown result type (might be due to invalid IL or missing references) //IL_04b7: Unknown result type (might be due to invalid IL or missing references) //IL_04bd: Expected O, but got Unknown //IL_04d2: Unknown result type (might be due to invalid IL or missing references) //IL_04d7: Unknown result type (might be due to invalid IL or missing references) //IL_04dd: Expected O, but got Unknown //IL_04f2: Unknown result type (might be due to invalid IL or missing references) //IL_04f7: Unknown result type (might be due to invalid IL or missing references) //IL_04fd: Expected O, but got Unknown //IL_0512: Unknown result type (might be due to invalid IL or missing references) //IL_0517: Unknown result type (might be due to invalid IL or missing references) //IL_051d: Expected O, but got Unknown //IL_0532: Unknown result type (might be due to invalid IL or missing references) //IL_0537: Unknown result type (might be due to invalid IL or missing references) //IL_053d: Expected O, but got Unknown //IL_0552: Unknown result type (might be due to invalid IL or missing references) //IL_0557: Unknown result type (might be due to invalid IL or missing references) //IL_055d: Expected O, but got Unknown //IL_0572: Unknown result type (might be due to invalid IL or missing references) //IL_0577: Unknown result type (might be due to invalid IL or missing references) //IL_057d: Expected O, but got Unknown //IL_0592: Unknown result type (might be due to invalid IL or missing references) //IL_0597: Unknown result type (might be due to invalid IL or missing references) //IL_059d: Expected O, but got Unknown //IL_05b2: Unknown result type (might be due to invalid IL or missing references) //IL_05b7: Unknown result type (might be due to invalid IL or missing references) //IL_05bd: Expected O, but got Unknown //IL_05d2: Unknown result type (might be due to invalid IL or missing references) //IL_05d7: Unknown result type (might be due to invalid IL or missing references) //IL_05dd: Expected O, but got Unknown //IL_05f2: Unknown result type (might be due to invalid IL or missing references) //IL_05f7: Unknown result type (might be due to invalid IL or missing references) //IL_05fd: Expected O, but got Unknown //IL_0612: Unknown result type (might be due to invalid IL or missing references) //IL_0617: Unknown result type (might be due to invalid IL or missing references) //IL_061d: Expected O, but got Unknown //IL_0632: Unknown result type (might be due to invalid IL or missing references) //IL_0637: Unknown result type (might be due to invalid IL or missing references) //IL_063d: Expected O, but got Unknown //IL_0652: Unknown result type (might be due to invalid IL or missing references) //IL_0657: Unknown result type (might be due to invalid IL or missing references) //IL_065d: Expected O, but got Unknown //IL_0672: Unknown result type (might be due to invalid IL or missing references) //IL_0677: Unknown result type (might be due to invalid IL or missing references) //IL_067d: Expected O, but got Unknown //IL_0692: Unknown result type (might be due to invalid IL or missing references) //IL_0697: Unknown result type (might be due to invalid IL or missing references) //IL_069d: Expected O, but got Unknown //IL_06b2: Unknown result type (might be due to invalid IL or missing references) //IL_06b7: Unknown result type (might be due to invalid IL or missing references) //IL_06bd: Expected O, but got Unknown //IL_06d2: Unknown result type (might be due to invalid IL or missing references) //IL_06d7: Unknown result type (might be due to invalid IL or missing references) //IL_06dd: Expected O, but got Unknown //IL_06f2: Unknown result type (might be due to invalid IL or missing references) //IL_06f7: Unknown result type (might be due to invalid IL or missing references) //IL_06fd: Expected O, but got Unknown //IL_0712: Unknown result type (might be due to invalid IL or missing references) //IL_0717: Unknown result type (might be due to invalid IL or missing references) //IL_071d: Expected O, but got Unknown //IL_0759: Unknown result type (might be due to invalid IL or missing references) //IL_075e: Unknown result type (might be due to invalid IL or missing references) //IL_0764: Expected O, but got Unknown //IL_0739: Unknown result type (might be due to invalid IL or missing references) //IL_073e: Unknown result type (might be due to invalid IL or missing references) //IL_0744: Expected O, but got Unknown //IL_0779: Unknown result type (might be due to invalid IL or missing references) //IL_077e: Unknown result type (might be due to invalid IL or missing references) //IL_0784: Expected O, but got Unknown //IL_0799: Unknown result type (might be due to invalid IL or missing references) //IL_079e: Unknown result type (might be due to invalid IL or missing references) //IL_07a4: Expected O, but got Unknown //IL_07b9: Unknown result type (might be due to invalid IL or missing references) //IL_07be: Unknown result type (might be due to invalid IL or missing references) //IL_07c4: Expected O, but got Unknown //IL_0805: Unknown result type (might be due to invalid IL or missing references) //IL_080a: Unknown result type (might be due to invalid IL or missing references) //IL_0810: Expected O, but got Unknown //IL_07e5: Unknown result type (might be due to invalid IL or missing references) //IL_07ea: Unknown result type (might be due to invalid IL or missing references) //IL_07f0: Expected O, but got Unknown //IL_0825: Unknown result type (might be due to invalid IL or missing references) //IL_082a: Unknown result type (might be due to invalid IL or missing references) //IL_0830: Expected O, but got Unknown //IL_0845: Unknown result type (might be due to invalid IL or missing references) //IL_084a: Unknown result type (might be due to invalid IL or missing references) //IL_0850: Expected O, but got Unknown //IL_0865: Unknown result type (might be due to invalid IL or missing references) //IL_086a: Unknown result type (might be due to invalid IL or missing references) //IL_0870: Expected O, but got Unknown //IL_0885: Unknown result type (might be due to invalid IL or missing references) //IL_088a: Unknown result type (might be due to invalid IL or missing references) //IL_0890: Expected O, but got Unknown //IL_08a5: Unknown result type (might be due to invalid IL or missing references) //IL_08aa: Unknown result type (might be due to invalid IL or missing references) //IL_08b0: Expected O, but got Unknown //IL_08c5: Unknown result type (might be due to invalid IL or missing references) //IL_08ca: Unknown result type (might be due to invalid IL or missing references) //IL_08d0: Expected O, but got Unknown object obj = <>O.<0>__CameraModeBase_CollectLookInput; if (obj == null) { hook_CollectLookInput val = Hunk.CameraModeBase_CollectLookInput; <>O.<0>__CameraModeBase_CollectLookInput = val; obj = (object)val; } CameraModeBase.CollectLookInput += (hook_CollectLookInput)obj; GlobalEventManager.onCharacterDeathGlobal += Hunk.GlobalEventManager_onCharacterDeathGlobal; object obj2 = <>O.<2>__AddBadgeStart; if (obj2 == null) { hook_Start val2 = Hunk.AddBadgeStart; <>O.<2>__AddBadgeStart = val2; obj2 = (object)val2; } CharacterBody.Start += (hook_Start)obj2; Inventory.onInventoryChangedGlobal += Hunk.ValidateBadge; HUD.onHudTargetChangedGlobal += Hunk.HUDSetup; object obj3 = <>O.<5>__GlobalEventManager_OnTeamLevelUp; if (obj3 == null) { hook_OnTeamLevelUp val3 = Hunk.GlobalEventManager_OnTeamLevelUp; <>O.<5>__GlobalEventManager_OnTeamLevelUp = val3; obj3 = (object)val3; } GlobalEventManager.OnTeamLevelUp += (hook_OnTeamLevelUp)obj3; object obj4 = <>O.<6>__GlobalEventManager_OnInteractionBegin; if (obj4 == null) { hook_OnInteractionBegin val4 = Hunk.GlobalEventManager_OnInteractionBegin; <>O.<6>__GlobalEventManager_OnInteractionBegin = val4; obj4 = (object)val4; } GlobalEventManager.OnInteractionBegin += (hook_OnInteractionBegin)obj4; object obj5 = <>O.<7>__DeathRewards_OnKilledServer; if (obj5 == null) { hook_OnKilledServer val5 = Hunk.DeathRewards_OnKilledServer; <>O.<7>__DeathRewards_OnKilledServer = val5; obj5 = (object)val5; } DeathRewards.OnKilledServer += (hook_OnKilledServer)obj5; object obj6 = <>O.<8>__NotificationUIController_ShowCurrentNotification; if (obj6 == null) { hook_ShowCurrentNotification val6 = Hunk.NotificationUIController_ShowCurrentNotification; <>O.<8>__NotificationUIController_ShowCurrentNotification = val6; obj6 = (object)val6; } NotificationUIController.ShowCurrentNotification += (hook_ShowCurrentNotification)obj6; object obj7 = <>O.<9>__ChestBehavior_Open; if (obj7 == null) { hook_Open val7 = Hunk.ChestBehavior_Open; <>O.<9>__ChestBehavior_Open = val7; obj7 = (object)val7; } ChestBehavior.Open += (hook_Open)obj7; object obj8 = <>O.<10>__ChestBehavior_ItemDrop; if (obj8 == null) { hook_ItemDrop val8 = Hunk.ChestBehavior_ItemDrop; <>O.<10>__ChestBehavior_ItemDrop = val8; obj8 = (object)val8; } ChestBehavior.ItemDrop += (hook_ItemDrop)obj8; object obj9 = <>O.<11>__ChestBehavior_Roll; if (obj9 == null) { hook_Roll val9 = Hunk.ChestBehavior_Roll; <>O.<11>__ChestBehavior_Roll = val9; obj9 = (object)val9; } ChestBehavior.Roll += (hook_Roll)obj9; object obj10 = <>O.<12>__BarrelInteraction_CoinDrop; if (obj10 == null) { hook_CoinDrop val10 = Hunk.BarrelInteraction_CoinDrop; <>O.<12>__BarrelInteraction_CoinDrop = val10; obj10 = (object)val10; } BarrelInteraction.CoinDrop += (hook_CoinDrop)obj10; object obj11 = <>O.<13>__ShopTerminalBehavior_DropPickup; if (obj11 == null) { hook_DropPickup val11 = Hunk.ShopTerminalBehavior_DropPickup; <>O.<13>__ShopTerminalBehavior_DropPickup = val11; obj11 = (object)val11; } ShopTerminalBehavior.DropPickup += (hook_DropPickup)obj11; object obj12 = <>O.<14>__RouletteChestController_EjectPickupServer; if (obj12 == null) { hook_EjectPickupServer val12 = Hunk.RouletteChestController_EjectPickupServer; <>O.<14>__RouletteChestController_EjectPickupServer = val12; obj12 = (object)val12; } RouletteChestController.EjectPickupServer += (hook_EjectPickupServer)obj12; object obj13 = <>O.<15>__PurchaseInteraction_OnInteractionBegin; if (obj13 == null) { hook_OnInteractionBegin val13 = Hunk.PurchaseInteraction_OnInteractionBegin; <>O.<15>__PurchaseInteraction_OnInteractionBegin = val13; obj13 = (object)val13; } PurchaseInteraction.OnInteractionBegin += (hook_OnInteractionBegin)obj13; object obj14 = <>O.<16>__PickupDropletController_OnCollisionEnter; if (obj14 == null) { hook_OnCollisionEnter val14 = Hunk.PickupDropletController_OnCollisionEnter; <>O.<16>__PickupDropletController_OnCollisionEnter = val14; obj14 = (object)val14; } PickupDropletController.OnCollisionEnter += (hook_OnCollisionEnter)obj14; object obj15 = <>O.<17>__SkillLocator_ApplyAmmoPack; if (obj15 == null) { hook_ApplyAmmoPack val15 = Hunk.SkillLocator_ApplyAmmoPack; <>O.<17>__SkillLocator_ApplyAmmoPack = val15; obj15 = (object)val15; } SkillLocator.ApplyAmmoPack += (hook_ApplyAmmoPack)obj15; if (Config.fancyShieldGlobal.Value) { object obj16 = <>O.<18>__CharacterModel_UpdateOverlays2; if (obj16 == null) { hook_UpdateOverlays val16 = Hunk.CharacterModel_UpdateOverlays2; <>O.<18>__CharacterModel_UpdateOverlays2 = val16; obj16 = (object)val16; } CharacterModel.UpdateOverlays += (hook_UpdateOverlays)obj16; } else if (Config.fancyShield.Value) { object obj17 = <>O.<19>__CharacterModel_UpdateOverlays; if (obj17 == null) { hook_UpdateOverlays val17 = Hunk.CharacterModel_UpdateOverlays; <>O.<19>__CharacterModel_UpdateOverlays = val17; obj17 = (object)val17; } CharacterModel.UpdateOverlays += (hook_UpdateOverlays)obj17; } object obj18 = <>O.<20>__HealthComponent_TakeDamage; if (obj18 == null) { hook_TakeDamage val18 = Hunk.HealthComponent_TakeDamage; <>O.<20>__HealthComponent_TakeDamage = val18; obj18 = (object)val18; } HealthComponent.TakeDamage += (hook_TakeDamage)obj18; object obj19 = <>O.<21>__Inventory_ShrineRestackInventory; if (obj19 == null) { hook_ShrineRestackInventory val19 = Hunk.Inventory_ShrineRestackInventory; <>O.<21>__Inventory_ShrineRestackInventory = val19; obj19 = (object)val19; } Inventory.ShrineRestackInventory += (hook_ShrineRestackInventory)obj19; CostTypeCatalog.modHelper.getAdditionalEntries += Hunk.AddHeartCostType; CostTypeCatalog.modHelper.getAdditionalEntries += Hunk.AddSpadeCostType; CostTypeCatalog.modHelper.getAdditionalEntries += Hunk.AddDiamondCostType; CostTypeCatalog.modHelper.getAdditionalEntries += Hunk.AddClubCostType; CostTypeCatalog.modHelper.getAdditionalEntries += Hunk.AddStarCostType; CostTypeCatalog.modHelper.getAdditionalEntries += Hunk.AddWristbandCostType; CostTypeCatalog.modHelper.getAdditionalEntries += Hunk.AddStarsBadgeCostType; CostTypeCatalog.modHelper.getAdditionalEntries += Hunk.AddSampleCostType; object obj20 = <>O.<30>__CharacterBody_OnDeathStart; if (obj20 == null) { hook_OnDeathStart val20 = Hunk.CharacterBody_OnDeathStart; <>O.<30>__CharacterBody_OnDeathStart = val20; obj20 = (object)val20; } CharacterBody.OnDeathStart += (hook_OnDeathStart)obj20; object obj21 = <>O.<31>__CharacterMaster_OnBodyDeath; if (obj21 == null) { hook_OnBodyDeath val21 = Hunk.CharacterMaster_OnBodyDeath; <>O.<31>__CharacterMaster_OnBodyDeath = val21; obj21 = (object)val21; } CharacterMaster.OnBodyDeath += (hook_OnBodyDeath)obj21; object obj22 = <>O.<32>__HealthComponent_UpdateLastHitTime; if (obj22 == null) { hook_UpdateLastHitTime val22 = HealthComponent_UpdateLastHitTime; <>O.<32>__HealthComponent_UpdateLastHitTime = val22; obj22 = (object)val22; } HealthComponent.UpdateLastHitTime += (hook_UpdateLastHitTime)obj22; object obj23 = <>O.<33>__TVirusDeathOn; if (obj23 == null) { hook_TakeDamage val23 = Hunk.TVirusDeathOn; <>O.<33>__TVirusDeathOn = val23; obj23 = (object)val23; } HealthComponent.TakeDamage += (hook_TakeDamage)obj23; GlobalEventManager.onCharacterDeathGlobal += Hunk.TVirusDeathDefied; object obj24 = <>O.<35>__SceneDirector_Start; if (obj24 == null) { hook_Start val24 = Hunk.SceneDirector_Start; <>O.<35>__SceneDirector_Start = val24; obj24 = (object)val24; } SceneDirector.Start += (hook_Start)obj24; object obj25 = <>O.<36>__Run_Start; if (obj25 == null) { hook_Start val25 = Hunk.Run_Start; <>O.<36>__Run_Start = val25; obj25 = (object)val25; } Run.Start += (hook_Start)obj25; object obj26 = <>O.<37>__ObjectivePanelController_GetObjectiveSources; if (obj26 == null) { hook_GetObjectiveSources val26 = Hunk.ObjectivePanelController_GetObjectiveSources; <>O.<37>__ObjectivePanelController_GetObjectiveSources = val26; obj26 = (object)val26; } ObjectivePanelController.GetObjectiveSources += (hook_GetObjectiveSources)obj26; object obj27 = <>O.<38>__Phase4_OnEnter; if (obj27 == null) { hook_OnEnter val27 = Hunk.Phase4_OnEnter; <>O.<38>__Phase4_OnEnter = val27; obj27 = (object)val27; } Phase4.OnEnter += (hook_OnEnter)obj27; object obj28 = <>O.<39>__GenericPickupController_AttemptGrant; if (obj28 == null) { hook_AttemptGrant val28 = Hunk.GenericPickupController_AttemptGrant; <>O.<39>__GenericPickupController_AttemptGrant = val28; obj28 = (object)val28; } GenericPickupController.AttemptGrant += (hook_AttemptGrant)obj28; object obj29 = <>O.<40>__HealthBar_Update; if (obj29 == null) { hook_Update val29 = Hunk.HealthBar_Update; <>O.<40>__HealthBar_Update = val29; obj29 = (object)val29; } HealthBar.Update += (hook_Update)obj29; object obj30 = <>O.<41>__MakeInfectedName; if (obj30 == null) { hook_GetBestBodyName val30 = Hunk.MakeInfectedName; <>O.<41>__MakeInfectedName = val30; obj30 = (object)val30; } Util.GetBestBodyName += (hook_GetBestBodyName)obj30; object obj31 = <>O.<42>__LoadoutPanelController_Rebuild; if (obj31 == null) { hook_Rebuild val31 = Hunk.LoadoutPanelController_Rebuild; <>O.<42>__LoadoutPanelController_Rebuild = val31; obj31 = (object)val31; } LoadoutPanelController.Rebuild += (hook_Rebuild)obj31; object obj32 = <>O.<43>__Charge_FixedUpdate; if (obj32 == null) { hook_FixedUpdate val32 = Hunk.Charge_FixedUpdate; <>O.<43>__Charge_FixedUpdate = val32; obj32 = (object)val32; } Charge.FixedUpdate += (hook_FixedUpdate)obj32; object obj33 = <>O.<44>__MinigunFire_FixedUpdate; if (obj33 == null) { hook_FixedUpdate val33 = Hunk.MinigunFire_FixedUpdate; <>O.<44>__MinigunFire_FixedUpdate = val33; obj33 = (object)val33; } MinigunFire.FixedUpdate += (hook_FixedUpdate)obj33; object obj34 = <>O.<45>__WeaponSlam_FixedUpdate; if (obj34 == null) { hook_FixedUpdate val34 = Hunk.WeaponSlam_FixedUpdate; <>O.<45>__WeaponSlam_FixedUpdate = val34; obj34 = (object)val34; } WeaponSlam.FixedUpdate += (hook_FixedUpdate)obj34; object obj35 = <>O.<46>__GroundSlam_FixedUpdate; if (obj35 == null) { hook_FixedUpdate val35 = Hunk.GroundSlam_FixedUpdate; <>O.<46>__GroundSlam_FixedUpdate = val35; obj35 = (object)val35; } GroundSlam.FixedUpdate += (hook_FixedUpdate)obj35; object obj36 = <>O.<47>__GroundSlam_FixedUpdate1; if (obj36 == null) { hook_FixedUpdate val36 = Hunk.GroundSlam_FixedUpdate1; <>O.<47>__GroundSlam_FixedUpdate1 = val36; obj36 = (object)val36; } GroundSlam.FixedUpdate += (hook_FixedUpdate)obj36; object obj37 = <>O.<48>__JellyNova_FixedUpdate; if (obj37 == null) { hook_FixedUpdate val37 = Hunk.JellyNova_FixedUpdate; <>O.<48>__JellyNova_FixedUpdate = val37; obj37 = (object)val37; } JellyNova.FixedUpdate += (hook_FixedUpdate)obj37; object obj38 = <>O.<49>__LarvaLeap_FixedUpdate; if (obj38 == null) { hook_FixedUpdate val38 = Hunk.LarvaLeap_FixedUpdate; <>O.<49>__LarvaLeap_FixedUpdate = val38; obj38 = (object)val38; } LarvaLeap.FixedUpdate += (hook_FixedUpdate)obj38; object obj39 = <>O.<50>__ChargeLaser_FixedUpdate; if (obj39 == null) { hook_FixedUpdate val39 = Hunk.ChargeLaser_FixedUpdate; <>O.<50>__ChargeLaser_FixedUpdate = val39; obj39 = (object)val39; } ChargeLaser.FixedUpdate += (hook_FixedUpdate)obj39; object obj40 = <>O.<51>__Flamebreath_FixedUpdate; if (obj40 == null) { hook_FixedUpdate val40 = Hunk.Flamebreath_FixedUpdate; <>O.<51>__Flamebreath_FixedUpdate = val40; obj40 = (object)val40; } Flamebreath.FixedUpdate += (hook_FixedUpdate)obj40; object obj41 = <>O.<52>__ChargeMegaFireball_FixedUpdate; if (obj41 == null) { hook_FixedUpdate val41 = Hunk.ChargeMegaFireball_FixedUpdate; <>O.<52>__ChargeMegaFireball_FixedUpdate = val41; obj41 = (object)val41; } ChargeMegaFireball.FixedUpdate += (hook_FixedUpdate)obj41; object obj42 = <>O.<53>__FaceSlam_FixedUpdate; if (obj42 == null) { hook_FixedUpdate val42 = Hunk.FaceSlam_FixedUpdate; <>O.<53>__FaceSlam_FixedUpdate = val42; obj42 = (object)val42; } FaceSlam.FixedUpdate += (hook_FixedUpdate)obj42; object obj43 = <>O.<54>__SporeGrenade_FixedUpdate; if (obj43 == null) { hook_FixedUpdate val43 = Hunk.SporeGrenade_FixedUpdate; <>O.<54>__SporeGrenade_FixedUpdate = val43; obj43 = (object)val43; } SporeGrenade.FixedUpdate += (hook_FixedUpdate)obj43; if (MainPlugin.infernoInstalled) { object obj44 = <>O.<55>__HeadbuttState_FixedUpdate; if (obj44 == null) { hook_FixedUpdate val44 = Hunk.HeadbuttState_FixedUpdate; <>O.<55>__HeadbuttState_FixedUpdate = val44; obj44 = (object)val44; } HeadbuttState.FixedUpdate += (hook_FixedUpdate)obj44; } object obj45 = <>O.<56>__FireMegaFireball_OnEnter; if (obj45 == null) { hook_OnEnter val45 = Hunk.FireMegaFireball_OnEnter; <>O.<56>__FireMegaFireball_OnEnter = val45; obj45 = (object)val45; } FireMegaFireball.OnEnter += (hook_OnEnter)obj45; object obj46 = <>O.<57>__Flamebreath_FireFlame; if (obj46 == null) { hook_FireFlame val46 = Hunk.Flamebreath_FireFlame; <>O.<57>__Flamebreath_FireFlame = val46; obj46 = (object)val46; } Flamebreath.FireFlame += (hook_FireFlame)obj46; object obj47 = <>O.<58>__EscapeSequenceController_BeginEscapeSequence; if (obj47 == null) { hook_BeginEscapeSequence val47 = Hunk.EscapeSequenceController_BeginEscapeSequence; <>O.<58>__EscapeSequenceController_BeginEscapeSequence = val47; obj47 = (object)val47; } EscapeSequenceController.BeginEscapeSequence += (hook_BeginEscapeSequence)obj47; object obj48 = <>O.<59>__CharacterBody_OnSkillActivated; if (obj48 == null) { hook_OnSkillActivated val48 = Hunk.CharacterBody_OnSkillActivated; <>O.<59>__CharacterBody_OnSkillActivated = val48; obj48 = (object)val48; } CharacterBody.OnSkillActivated += (hook_OnSkillActivated)obj48; if (Config.reduceScreenShake.Value) { object obj49 = <>O.<60>__ShakeEmitter_Start; if (obj49 == null) { hook_Start val49 = Hunk.ShakeEmitter_Start; <>O.<60>__ShakeEmitter_Start = val49; obj49 = (object)val49; } ShakeEmitter.Start += (hook_Start)obj49; } object obj50 = <>O.<61>__InfiniteTowerBossWaveController_OnAllEnemiesDefeatedServer; if (obj50 == null) { hook_OnAllEnemiesDefeatedServer val50 = Hunk.InfiniteTowerBossWaveController_OnAllEnemiesDefeatedServer; <>O.<61>__InfiniteTowerBossWaveController_OnAllEnemiesDefeatedServer = val50; obj50 = (object)val50; } InfiniteTowerBossWaveController.OnAllEnemiesDefeatedServer += (hook_OnAllEnemiesDefeatedServer)obj50; object obj51 = <>O.<62>__BaseMainMenuScreen_Awake; if (obj51 == null) { hook_Awake val51 = Hunk.BaseMainMenuScreen_Awake; <>O.<62>__BaseMainMenuScreen_Awake = val51; obj51 = (object)val51; } BaseMainMenuScreen.Awake += (hook_Awake)obj51; object obj52 = <>O.<63>__BaseMainMenuScreen_Update; if (obj52 == null) { hook_Update val52 = Hunk.BaseMainMenuScreen_Update; <>O.<63>__BaseMainMenuScreen_Update = val52; obj52 = (object)val52; } BaseMainMenuScreen.Update += (hook_Update)obj52; object obj53 = <>O.<64>__PlayVisionsAnimation; if (obj53 == null) { hook_OnEnter val53 = Hunk.PlayVisionsAnimation; <>O.<64>__PlayVisionsAnimation = val53; obj53 = (object)val53; } FireLunarNeedle.OnEnter += (hook_OnEnter)obj53; object obj54 = <>O.<65>__PlayChargeLunarAnimation; if (obj54 == null) { hook_PlayChargeAnimation val54 = Hunk.PlayChargeLunarAnimation; <>O.<65>__PlayChargeLunarAnimation = val54; obj54 = (object)val54; } ChargeLunarSecondary.PlayChargeAnimation += (hook_PlayChargeAnimation)obj54; object obj55 = <>O.<66>__PlayThrowLunarAnimation; if (obj55 == null) { hook_PlayThrowAnimation val55 = Hunk.PlayThrowLunarAnimation; <>O.<66>__PlayThrowLunarAnimation = val55; obj55 = (object)val55; } ThrowLunarSecondary.PlayThrowAnimation += (hook_PlayThrowAnimation)obj55; object obj56 = <>O.<67>__PlayRuinAnimation; if (obj56 == null) { hook_OnEnter val56 = Hunk.PlayRuinAnimation; <>O.<67>__PlayRuinAnimation = val56; obj56 = (object)val56; } Detonate.OnEnter += (hook_OnEnter)obj56; return false; } public static void HealthComponent_UpdateLastHitTime(orig_UpdateLastHitTime orig, HealthComponent self, float damageValue, Vector3 damagePosition, bool damageIsSilent, GameObject attacker, bool delayedDamage, bool firstHitOfDelayedDamage) { //IL_0003: Unknown result type (might be due to invalid IL or missing references) orig.Invoke(self, damageValue, damagePosition, damageIsSilent, attacker, delayedDamage, firstHitOfDelayedDamage); if (Object.op_Implicit((Object)(object)self) && Object.op_Implicit((Object)(object)self.body) && ((Object)((Component)self.body).gameObject).name.Contains("RobNemesis") && self.health <= 0f) { self.health = 1f; } if (!Object.op_Implicit((Object)(object)self) || !Object.op_Implicit((Object)(object)self.body) || (!self.body.HasBuff(Hunk.infectedBuff2) && !self.body.HasBuff(Hunk.infectedBuff3)) || !(self.health <= 0f) || !Object.op_Implicit((Object)(object)self.body.master)) { return; } TVirusMaster component = ((Component)self.body.master).GetComponent<TVirusMaster>(); if (Object.op_Implicit((Object)(object)component) && component.revivalCount > 0) { self.health = 1f; return; } CVirusMaster component2 = ((Component)self.body.master).GetComponent<CVirusMaster>(); if (Object.op_Implicit((Object)(object)component2) && component2.revivalCount > 0) { self.health = 1f; } } } }