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 ChensGradiusMod v3.6.4
ChensGradiusMod.dll
Decompiled a year ago
The result has been truncated due to the large size, download it to view full contents!
using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Diagnostics; using System.IO; using System.Linq; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using System.Security; using System.Security.Permissions; using Aetherium.Items; using Aetherium.Items.Tier2; using Aetherium.Items.Tier3; using BepInEx; using BepInEx.Bootstrap; using BepInEx.Configuration; using Chen.GradiusMod.Compatibility; using Chen.GradiusMod.Drones; using Chen.GradiusMod.Drones.EmergencyDrone; using Chen.GradiusMod.Drones.EquipmentDrone; using Chen.GradiusMod.Drones.GunnerDrone; using Chen.GradiusMod.Drones.GunnerTurret; using Chen.GradiusMod.Drones.HealingDrone; using Chen.GradiusMod.Drones.IncineratorDrone; using Chen.GradiusMod.Drones.MissileDrone; using Chen.GradiusMod.Drones.TC280; using Chen.GradiusMod.Items.GradiusOption; using Chen.GradiusMod.Items.GradiusOption.Components; using Chen.GradiusMod.Items.OptionSeed.Components; using Chen.Helpers.CollectionHelpers; using Chen.Helpers.GeneralHelpers; using Chen.Helpers.LogHelpers; using Chen.Helpers.MathHelpers; using Chen.Helpers.UnityHelpers; using EntityStates; using EntityStates.Bandit2.Weapon; using EntityStates.BeetleGuardMonster; using EntityStates.Captain.Weapon; using EntityStates.Chef; using EntityStates.Commando.CommandoWeapon; using EntityStates.Croco; using EntityStates.Drone; using EntityStates.Drone.DroneWeapon; using EntityStates.Engi.EngiMissilePainter; using EntityStates.Engi.EngiWeapon; using EntityStates.EngiTurret.EngiTurretWeapon; using EntityStates.FalseSon; using EntityStates.GolemMonster; using EntityStates.Huntress; using EntityStates.Huntress.HuntressWeapon; using EntityStates.Loader; using EntityStates.Mage.Weapon; using EntityStates.Merc; using EntityStates.Railgunner.Weapon; using EntityStates.Seeker; using EntityStates.Squid.SquidWeapon; using EntityStates.TitanMonster; using EntityStates.Toolbot; using EntityStates.Treebot; using EntityStates.Treebot.Weapon; using EntityStates.VoidSurvivor.Weapon; using On.EntityStates; using On.EntityStates.Bandit2.Weapon; using On.EntityStates.BeetleGuardMonster; using On.EntityStates.Captain.Weapon; using On.EntityStates.Chef; using On.EntityStates.Commando.CommandoWeapon; using On.EntityStates.Croco; using On.EntityStates.Drone.DroneWeapon; using On.EntityStates.Engi.EngiMissilePainter; using On.EntityStates.Engi.EngiWeapon; using On.EntityStates.EngiTurret.EngiTurretWeapon; using On.EntityStates.FalseSon; using On.EntityStates.Huntress; using On.EntityStates.Huntress.HuntressWeapon; using On.EntityStates.Loader; using On.EntityStates.Mage.Weapon; using On.EntityStates.Merc; using On.EntityStates.Railgunner.Weapon; using On.EntityStates.Seeker; using On.EntityStates.Squid.SquidWeapon; using On.EntityStates.TitanMonster; using On.EntityStates.Toolbot; using On.EntityStates.Treebot; using On.EntityStates.Treebot.Weapon; using On.EntityStates.VoidSurvivor.Weapon; using On.RoR2; using R2API; using R2API.Networking; using R2API.Networking.Interfaces; using R2API.Utils; using RoR2; using RoR2.CharacterAI; using RoR2.Orbs; using RoR2.Projectile; using RoR2.Skills; using RoR2.UI; using TILER2; using UnityEngine; using UnityEngine.Networking; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)] [assembly: InternalsVisibleTo("ChensGradiusMod.Tests")] [assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = "")] [assembly: AssemblyCompany("ChensGradiusMod")] [assembly: AssemblyConfiguration("Debug")] [assembly: AssemblyFileVersion("3.5.4.0")] [assembly: AssemblyInformationalVersion("3.5.4")] [assembly: AssemblyProduct("ChensGradiusMod")] [assembly: AssemblyTitle("ChensGradiusMod")] [assembly: AssemblyMetadata("RepositoryUrl", "https://github.com/cheeeeeeeeeen/RoR2-ChensGradiusMod")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("3.5.4.0")] [module: UnverifiableCode] namespace Chen.GradiusMod { public static class Extensions { public static bool SafeCheck(this Dictionary<string, Object> dictionary, string key) { if (dictionary.ContainsKey(key)) { return Object.op_Implicit(dictionary[key]); } return false; } public static void MuzzleEffect(this GameObject catalyst, GameObject effectPrefab, bool transmit) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_0005: Unknown result type (might be due to invalid IL or missing references) //IL_000c: Unknown result type (might be due to invalid IL or missing references) //IL_0016: Unknown result type (might be due to invalid IL or missing references) //IL_001d: Unknown result type (might be due to invalid IL or missing references) //IL_0022: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_002f: Expected O, but got Unknown EffectData val = new EffectData { origin = catalyst.transform.position, rotation = catalyst.transform.rotation, rootObject = catalyst }; EffectManager.SpawnEffect(effectPrefab, val, transmit); } public static void SetAllDriversToAimTowardsEnemies(this GameObject masterObject) { if ((Object)(object)masterObject == (Object)null) { Debug.LogError((object)"SetAllDriversToAimTowardsEnemies: masterObject is null."); return; } AISkillDriver[] components = masterObject.GetComponents<AISkillDriver>(); if (components == null || components.Length == 0) { Debug.LogError((object)("SetAllDriversToAimTowardsEnemies: No AISkillDrivers found on '" + ((Object)masterObject).name + "'.")); } else { components.SetAllDriversToAimTowardsEnemies(); } } public static void SetAllDriversToAimTowardsEnemies(this AISkillDriver[] skillDrivers) { //IL_0015: Unknown result type (might be due to invalid IL or missing references) foreach (AISkillDriver val in skillDrivers) { if ((Object)(object)val != (Object)null) { val.aimType = (AimType)2; } } } public static void AssignDeathBehavior(this GameObject masterObject, Type newStateType) { //IL_002f: Unknown result type (might be due to invalid IL or missing references) //IL_0034: Unknown result type (might be due to invalid IL or missing references) CharacterMaster component = masterObject.GetComponent<CharacterMaster>(); if (!Object.op_Implicit((Object)(object)component)) { GradiusModPlugin.Log.Warning((object)"Extensions.AssignDeathBehavior: CharacterMaster component not found!"); return; } GameObject bodyPrefab = component.bodyPrefab; CharacterDeathBehavior orAddComponent = Extensions.GetOrAddComponent<CharacterDeathBehavior>(bodyPrefab); orAddComponent.deathState = new SerializableEntityStateType(newStateType); } public static void FilterOutOwnerFromAttack(this BulletAttack bulletAttack) { //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_0024: Expected O, but got Unknown //IL_0031: Unknown result type (might be due to invalid IL or missing references) //IL_003b: Expected O, but got Unknown bulletAttack.filterCallback = (FilterCallback)delegate(BulletAttack attack, ref BulletHit hitInfo) { return !((Object)(object)bulletAttack.owner == (Object)(object)hitInfo.entityObject) && !((Object)(object)bulletAttack.weapon == (Object)(object)hitInfo.entityObject) && BulletAttack.defaultFilterCallback.Invoke(attack, ref hitInfo); }; bulletAttack.hitCallback = (HitCallback)delegate(BulletAttack attack, ref BulletHit hitInfo) { return !((Object)(object)bulletAttack.owner == (Object)(object)hitInfo.entityObject) && !((Object)(object)bulletAttack.weapon == (Object)(object)hitInfo.entityObject) && BulletAttack.defaultHitCallback.Invoke(attack, ref hitInfo); }; } public static void InitializeDroneModelComponents(this GameObject droneModel, CharacterBody droneBody, float colliderMultiplier) { //IL_008b: Unknown result type (might be due to invalid IL or missing references) //IL_00d0: Unknown result type (might be due to invalid IL or missing references) CapsuleCollider componentInChildren = droneModel.GetComponentInChildren<CapsuleCollider>(); if (!Object.op_Implicit((Object)(object)componentInChildren)) { GradiusModPlugin.Log.Warning((object)"Extensions.InitializeDroneModelComponents: CapsuleCollider not found! Cannot setup HurtBoxes without it."); return; } CharacterModel val = droneModel.AddComponent<CharacterModel>(); val.body = droneBody; Extensions.BuildRendererInfos(val, droneModel); val.autoPopulateLightInfos = true; val.invisibilityCount = 0; val.temporaryOverlays = new List<TemporaryOverlayInstance>(); HurtBoxGroup val2 = droneModel.AddComponent<HurtBoxGroup>(); HurtBox val3 = ((Component)componentInChildren).gameObject.AddComponent<HurtBox>(); ((Component)val3).gameObject.layer = LayerIndex.entityPrecise.intVal; val3.healthComponent = ((Component)droneBody).GetComponent<HealthComponent>(); val3.isBullseye = true; val3.damageModifier = (DamageModifier)0; val3.hurtBoxGroup = val2; val3.indexInGroup = 0; val2.hurtBoxes = (HurtBox[])(object)new HurtBox[1] { val3 }; val2.mainHurtBox = val3; val2.bullseyeCount = 1; CapsuleCollider component = ((Component)droneBody).GetComponent<CapsuleCollider>(); if (Object.op_Implicit((Object)(object)component)) { component.center = componentInChildren.center; component.radius = componentInChildren.radius * colliderMultiplier; component.height = componentInChildren.height * colliderMultiplier; component.direction = componentInChildren.direction; } } } [BepInPlugin("com.Chen.ChensGradiusMod", "ChensGradiusMod", "3.6.4")] [BepInDependency("com.bepis.r2api", "5.1.2")] [BepInDependency("com.ThinkInvisible.TILER2", "7.4.0")] [BepInDependency("com.Chen.ChensHelpers", "1.1.3")] [NetworkCompatibility(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] [R2APISubmoduleDependency(new string[] { "NetworkingAPI", "DirectorAPI", "ContentAddition" })] public class GradiusModPlugin : BaseUnityPlugin { internal class GlobalConfig : AutoConfigContainer { [AutoConfig(/*Could not decode attribute arguments.*/)] public bool emergencyDroneFix { get; private set; } = true; [AutoConfig(/*Could not decode attribute arguments.*/)] public bool gunnerDronesAreRepurchaseable { get; private set; } = true; [AutoConfig(/*Could not decode attribute arguments.*/)] public bool turretsAreRepurchaseable { get; private set; } = true; [AutoConfig(/*Could not decode attribute arguments.*/)] public bool healingDronesAreRepurchaseable { get; private set; } = true; [AutoConfig(/*Could not decode attribute arguments.*/)] public bool emergencyDronesAreRepurchaseable { get; private set; } = true; [AutoConfig(/*Could not decode attribute arguments.*/)] public bool flameDronesAreRepurchaseable { get; private set; } = true; [AutoConfig(/*Could not decode attribute arguments.*/)] public bool missileDronesAreRepurchaseable { get; private set; } = true; [AutoConfig(/*Could not decode attribute arguments.*/)] public bool megaDronesAreRepurchaseable { get; private set; } = true; [AutoConfig(/*Could not decode attribute arguments.*/)] public bool equipmentDronesAreRepurchaseable { get; private set; } = true; [AutoConfig(/*Could not decode attribute arguments.*/)] public float dropEquipFromDroneChance { get; private set; } [AutoConfig(/*Could not decode attribute arguments.*/)] public int flameDroneWeightScorchedAcres { get; private set; } = 1; [AutoConfig(/*Could not decode attribute arguments.*/)] public int flameDroneWeightAbyssalDepths { get; private set; } = 3; [AutoConfig(/*Could not decode attribute arguments.*/)] public bool turretsAsDroneCategory { get; private set; } = true; [AutoConfig(/*Could not decode attribute arguments.*/)] public bool equipmentDroneInspire { get; private set; } = true; } internal static readonly GlobalConfig generalCfg = new GlobalConfig(); public const string ModVer = "3.6.4"; public const string ModName = "ChensGradiusMod"; public const string ModGuid = "com.Chen.ChensGradiusMod"; internal static ConfigFile cfgFile; internal static FilingDictionary<CatalogBoilerplate> chensItemList = new FilingDictionary<CatalogBoilerplate>(); internal static List<DroneInfo> gradiusDronesList = new List<DroneInfo>(); internal static Log Log; internal static AssetBundle assetBundle; private static readonly Lazy<GameObject> _backupDroneMaster = new Lazy<GameObject>((Func<GameObject>)(() => Resources.Load<GameObject>("prefabs/charactermasters/DroneBackupMaster"))); private static readonly Lazy<GameObject> _drone1Master = new Lazy<GameObject>((Func<GameObject>)(() => Resources.Load<GameObject>("prefabs/charactermasters/Drone1Master"))); private static readonly Lazy<GameObject> _drone2Master = new Lazy<GameObject>((Func<GameObject>)(() => Resources.Load<GameObject>("prefabs/charactermasters/Drone2Master"))); private static readonly Lazy<GameObject> _emergencyDroneMaster = new Lazy<GameObject>((Func<GameObject>)(() => Resources.Load<GameObject>("prefabs/charactermasters/EmergencyDroneMaster"))); private static readonly Lazy<GameObject> _flameDroneMaster = new Lazy<GameObject>((Func<GameObject>)(() => Resources.Load<GameObject>("prefabs/charactermasters/FlameDroneMaster"))); private static readonly Lazy<GameObject> _missileDroneMaster = new Lazy<GameObject>((Func<GameObject>)(() => Resources.Load<GameObject>("prefabs/charactermasters/DroneMissileMaster"))); private static readonly Lazy<GameObject> _turret1Master = new Lazy<GameObject>((Func<GameObject>)(() => Resources.Load<GameObject>("prefabs/charactermasters/Turret1Master"))); private static readonly Lazy<GameObject> _tc280DroneMaster = new Lazy<GameObject>((Func<GameObject>)(() => Resources.Load<GameObject>("prefabs/charactermasters/MegaDroneMaster"))); private static readonly Lazy<GameObject> _equipmentDroneMaster = new Lazy<GameObject>((Func<GameObject>)(() => Resources.Load<GameObject>("prefabs/charactermasters/EquipmentDroneMaster"))); private static readonly Lazy<GameObject> _colDronemanMaster = new Lazy<GameObject>((Func<GameObject>)(() => Resources.Load<GameObject>("prefabs/charactermasters/DroneCommanderMaster"))); private static readonly Lazy<GameObject> _alphaConstructMaster = new Lazy<GameObject>((Func<GameObject>)(() => Resources.Load<GameObject>("prefabs/charactermasters/MinorConstructMaster"))); private static readonly Lazy<GameObject> _helperPrefab = new Lazy<GameObject>((Func<GameObject>)(() => Resources.Load<GameObject>("SpawnCards/HelperPrefab"))); private static readonly Lazy<InteractableSpawnCard> _drone1SpawnCard = new Lazy<InteractableSpawnCard>((Func<InteractableSpawnCard>)(() => Resources.Load<InteractableSpawnCard>("spawncards/interactablespawncard/iscBrokenDrone1"))); private static readonly Lazy<SkillDef> _drone1Skill = new Lazy<SkillDef>((Func<SkillDef>)(() => Resources.Load<SkillDef>("skilldefs/drone1body/Drone1BodyGun"))); private static readonly Lazy<Material> _summonDroneMaterial = new Lazy<Material>((Func<Material>)(() => Resources.Load<Material>("Materials/matSummonDrone"))); internal static SoundPlayer soundPlayer = new SoundPlayer(Array.Empty<EventPosterKey>()); internal static GameObject backupDroneMaster => _backupDroneMaster.Value; internal static GameObject drone1Master => _drone1Master.Value; internal static GameObject drone2Master => _drone2Master.Value; internal static GameObject emergencyDroneMaster => _emergencyDroneMaster.Value; internal static GameObject flameDroneMaster => _flameDroneMaster.Value; internal static GameObject missileDroneMaster => _missileDroneMaster.Value; internal static GameObject turret1Master => _turret1Master.Value; internal static GameObject tc280DroneMaster => _tc280DroneMaster.Value; internal static GameObject equipmentDroneMaster => _equipmentDroneMaster.Value; internal static GameObject colDronemanMaster => _colDronemanMaster.Value; internal static GameObject alphaConstructMaster => _alphaConstructMaster.Value; internal static GameObject helperPrefab => _helperPrefab.Value; internal static InteractableSpawnCard drone1SpawnCard => _drone1SpawnCard.Value; internal static SkillDef drone1Skill => _drone1Skill.Value; internal static Material summonDroneMaterial => _summonDroneMaterial.Value; private void RegisterVanillaChanges() { //IL_0022: Unknown result type (might be due to invalid IL or missing references) //IL_002c: Expected O, but got Unknown if (generalCfg.emergencyDroneFix) { Log.Debug((object)"Vanilla Fix: Applying Emergency Drone Fix."); HealBeamController.HealBeamAlreadyExists_GameObject_HealthComponent += new hook_HealBeamAlreadyExists_GameObject_HealthComponent(HealBeamController_HealBeamAlreadyExists_GO_HC); } if (generalCfg.flameDroneWeightScorchedAcres > 1 || generalCfg.flameDroneWeightAbyssalDepths > 1) { Log.Debug((object)"Vanilla Change: Modifying Flame Drone spawn weight on Abyssal Depths or Scorched Acres (or both)."); DirectorAPI.InteractableActions += FlameDrone_InteractableActions; } if (generalCfg.turretsAsDroneCategory) { Log.Debug((object)"Vanilla Change: Modifying category of Gunner Turrets to Drones category."); DirectorAPI.InteractableActions += Turret1_InteractableActions; } } private void Turret1_InteractableActions(DccsPool arg1, StageInfo arg2) { //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) if (!Object.op_Implicit((Object)(object)arg1)) { return; } Helpers.ForEachPoolEntryInDccsPool(arg1, (Action<PoolEntry>)delegate(PoolEntry poolEntry) { //IL_002f: Unknown result type (might be due to invalid IL or missing references) //IL_0034: Unknown result type (might be due to invalid IL or missing references) //IL_0045: Unknown result type (might be due to invalid IL or missing references) //IL_0056: Unknown result type (might be due to invalid IL or missing references) //IL_0067: Unknown result type (might be due to invalid IL or missing references) //IL_006e: Unknown result type (might be due to invalid IL or missing references) //IL_0073: Unknown result type (might be due to invalid IL or missing references) //IL_0078: Unknown result type (might be due to invalid IL or missing references) //IL_008a: Expected O, but got Unknown //IL_008a: Unknown result type (might be due to invalid IL or missing references) //IL_008f: 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_0098: Unknown result type (might be due to invalid IL or missing references) //IL_009d: Unknown result type (might be due to invalid IL or missing references) //IL_009f: Unknown result type (might be due to invalid IL or missing references) //IL_00a5: Expected O, but got Unknown DirectorCard turretDirectorCard = null; poolEntry.dccs.RemoveCardsThatFailFilter((Predicate<DirectorCard>)delegate(DirectorCard dCard) { if (((Object)dCard.spawnCard).name.Contains("Turret1")) { turretDirectorCard = dCard; return false; } return true; }); if (turretDirectorCard != null) { DirectorCard card = new DirectorCard { spawnCard = turretDirectorCard.spawnCard, selectionWeight = turretDirectorCard.selectionWeight, minimumStageCompletions = turretDirectorCard.minimumStageCompletions, spawnDistance = turretDirectorCard.spawnDistance, preventOverhead = turretDirectorCard.preventOverhead }; DirectorCardHolder val = new DirectorCardHolder { Card = card, MonsterCategory = (MonsterCategory)0, InteractableCategory = (InteractableCategory)5 }; DirectorAPI.AddCard(poolEntry.dccs, val); } else { Log.Warning((object)("GradiusModPlugin.Turret1_InteractableActions: Turret Director Card not found. (arg1: " + ((Object)arg1).name + ", arg2: " + ((StageInfo)(ref arg2)).ToInternalStageName() + ")")); } }); } private void FlameDrone_InteractableActions(DccsPool arg1, StageInfo arg2) { //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) if ((!Object.op_Implicit((Object)(object)arg1) || !((StageInfo)(ref arg2)).CheckStage((Stage)128, Array.Empty<string>())) && !((StageInfo)(ref arg2)).CheckStage((Stage)64, Array.Empty<string>())) { return; } float weightMultiplier = 1f; if (((StageInfo)(ref arg2)).CheckStage((Stage)128, Array.Empty<string>())) { weightMultiplier = generalCfg.flameDroneWeightAbyssalDepths; } else if (((StageInfo)(ref arg2)).CheckStage((Stage)64, Array.Empty<string>())) { weightMultiplier = generalCfg.flameDroneWeightScorchedAcres; } Helpers.ForEachPoolEntryInDccsPool(arg1, (Action<PoolEntry>)delegate(PoolEntry poolEntry) { //IL_002f: Unknown result type (might be due to invalid IL or missing references) //IL_0034: Unknown result type (might be due to invalid IL or missing references) //IL_0045: Unknown result type (might be due to invalid IL or missing references) //IL_0063: Unknown result type (might be due to invalid IL or missing references) //IL_0074: Unknown result type (might be due to invalid IL or missing references) //IL_007b: Unknown result type (might be due to invalid IL or missing references) //IL_0080: Unknown result type (might be due to invalid IL or missing references) //IL_0085: Unknown result type (might be due to invalid IL or missing references) //IL_0097: Expected O, but got Unknown //IL_0097: Unknown result type (might be due to invalid IL or missing references) //IL_009c: Unknown result type (might be due to invalid IL or missing references) //IL_00a3: Unknown result type (might be due to invalid IL or missing references) //IL_00a5: Unknown result type (might be due to invalid IL or missing references) //IL_00aa: Unknown result type (might be due to invalid IL or missing references) //IL_00ac: Unknown result type (might be due to invalid IL or missing references) //IL_00b2: Expected O, but got Unknown DirectorCard flameDroneDirectorCard = null; poolEntry.dccs.RemoveCardsThatFailFilter((Predicate<DirectorCard>)delegate(DirectorCard dCard) { if (((Object)dCard.spawnCard).name.Contains("FlameDrone")) { flameDroneDirectorCard = dCard; return false; } return true; }); if (flameDroneDirectorCard != null) { DirectorCard card = new DirectorCard { spawnCard = flameDroneDirectorCard.spawnCard, selectionWeight = Mathf.RoundToInt((float)flameDroneDirectorCard.selectionWeight * weightMultiplier), minimumStageCompletions = flameDroneDirectorCard.minimumStageCompletions, spawnDistance = flameDroneDirectorCard.spawnDistance, preventOverhead = flameDroneDirectorCard.preventOverhead }; DirectorCardHolder val = new DirectorCardHolder { Card = card, MonsterCategory = (MonsterCategory)0, InteractableCategory = (InteractableCategory)5 }; DirectorAPI.AddCard(poolEntry.dccs, val); } else { Log.Warning((object)("GradiusModPlugin.FlameDrone_InteractableActions: Flame Drone Director Card not found. (arg1: " + ((Object)arg1).name + ", arg2: " + ((StageInfo)(ref arg2)).ToInternalStageName() + ")")); } }); } private bool HealBeamController_HealBeamAlreadyExists_GO_HC(orig_HealBeamAlreadyExists_GameObject_HealthComponent orig, GameObject owner, HealthComponent targetHealthComponent) { List<HealBeamController> instancesList = InstanceTracker.GetInstancesList<HealBeamController>(); for (int i = 0; i < instancesList.Count; i++) { HealBeamController val = instancesList[i]; if (Object.op_Implicit((Object)(object)val) && Object.op_Implicit((Object)(object)val.target) && Object.op_Implicit((Object)(object)val.target.healthComponent) && Object.op_Implicit((Object)(object)targetHealthComponent) && Object.op_Implicit((Object)(object)val.ownership) && Object.op_Implicit((Object)(object)val.ownership.ownerObject) && (Object)(object)val.target.healthComponent == (Object)(object)targetHealthComponent && (Object)(object)val.ownership.ownerObject == (Object)(object)owner) { return true; } } return false; } private void Update() { DropletGenerator.Update(); bool keyDown = Input.GetKeyDown((KeyCode)290); if (keyDown) { CharacterMaster master = PlayerCharacterMasterController.instances[0].master; CharacterBody body = master.GetBody(); Transform transform = ((Component)body).gameObject.transform; if (keyDown) { OptionMasterTracker.SpawnOption(((Component)transform).gameObject, 1); return; } } soundPlayer.Update(); } private void Awake() { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_0010: Expected O, but got Unknown //IL_0039: Unknown result type (might be due to invalid IL or missing references) //IL_003a: Unknown result type (might be due to invalid IL or missing references) //IL_0040: Expected O, but got Unknown //IL_0040: Unknown result type (might be due to invalid IL or missing references) //IL_0041: Unknown result type (might be due to invalid IL or missing references) //IL_0047: Expected O, but got Unknown //IL_0073: Unknown result type (might be due to invalid IL or missing references) //IL_007d: Expected O, but got Unknown //IL_00d1: Unknown result type (might be due to invalid IL or missing references) //IL_0107: Unknown result type (might be due to invalid IL or missing references) Log = new Log(((BaseUnityPlugin)this).Logger); Log.Debug((object)"Loading assets..."); BundleInfo val = default(BundleInfo); ((BundleInfo)(ref val))..ctor("Chen.GradiusMod.chensgradiusmod_assets", (BundleType)0); BundleInfo val2 = default(BundleInfo); ((BundleInfo)(ref val2))..ctor("Chen.GradiusMod.chensgradiusmod_soundbank.bnk", (BundleType)1); AssetsManager val3 = new AssetsManager(val); AssetsManager val4 = new AssetsManager(val2); assetBundle = val3.Register(); Extensions.ConvertShaders(assetBundle); val4.Register(); cfgFile = new ConfigFile(Path.Combine(Paths.ConfigPath, "com.Chen.ChensGradiusMod.cfg"), true); Log.Debug((object)"Loading global configs..."); ((AutoConfigContainer)generalCfg).BindAll(cfgFile, "ChensGradiusMod", "General"); Log.Debug((object)"Modifying vanilla drone behavior..."); ModifyVanillaDroneDeathBehaviors(); ModifyVanillaDronesSkillDrivers(); Log.Debug((object)"Instantiating item classes..."); ModInfo val5 = default(ModInfo); val5.displayName = "Chen's Gradius Mod"; val5.longIdentifier = "ChensGradiusMod"; val5.shortIdentifier = "CGM"; val5.mainConfigFile = cfgFile; chensItemList = T2Module.InitAll<CatalogBoilerplate>(val5, (Func<Type, bool>)null); T2Module.SetupAll_PluginAwake((IEnumerable<T2Module>)chensItemList); T2Module.SetupAll_PluginStart((IEnumerable<T2Module>)chensItemList, false); Log.Debug((object)"Instantiating custom drones..."); gradiusDronesList = DroneCatalog.Initialize("com.Chen.ChensGradiusMod", cfgFile); DroneCatalog.EfficientSetupAll(gradiusDronesList); Log.Debug((object)"Applying vanilla changes and fixes..."); RegisterVanillaChanges(); Log.Debug((object)"Applying compatibility changes..."); if (Aetherium.enabled) { Aetherium.Setup(); } } private void ModifyVanillaDroneDeathBehaviors() { emergencyDroneMaster.AssignDeathBehavior(typeof(Chen.GradiusMod.Drones.EmergencyDrone.DeathState)); equipmentDroneMaster.AssignDeathBehavior(typeof(Chen.GradiusMod.Drones.EquipmentDrone.DeathState)); drone1Master.AssignDeathBehavior(typeof(Chen.GradiusMod.Drones.GunnerDrone.DeathState)); turret1Master.AssignDeathBehavior(typeof(Chen.GradiusMod.Drones.GunnerTurret.DeathState)); drone2Master.AssignDeathBehavior(typeof(Chen.GradiusMod.Drones.HealingDrone.DeathState)); flameDroneMaster.AssignDeathBehavior(typeof(Chen.GradiusMod.Drones.IncineratorDrone.DeathState)); missileDroneMaster.AssignDeathBehavior(typeof(Chen.GradiusMod.Drones.MissileDrone.DeathState)); tc280DroneMaster.AssignDeathBehavior(typeof(Chen.GradiusMod.Drones.TC280.DeathState)); } private void ModifyVanillaDronesSkillDrivers() { drone1Master.SetAllDriversToAimTowardsEnemies(); tc280DroneMaster.SetAllDriversToAimTowardsEnemies(); missileDroneMaster.SetAllDriversToAimTowardsEnemies(); backupDroneMaster.SetAllDriversToAimTowardsEnemies(); flameDroneMaster.SetAllDriversToAimTowardsEnemies(); equipmentDroneMaster.SetAllDriversToAimTowardsEnemies(); colDronemanMaster.SetAllDriversToAimTowardsEnemies(); alphaConstructMaster.SetAllDriversToAimTowardsEnemies(); } internal static bool DebugCheck() { return false; } } } namespace Chen.GradiusMod.Items.OptionSeed { public class OptionSeed : Item<OptionSeed> { private int punchUseCounter; internal const uint GetOptionEventId = 649757048u; internal const uint LoseOptionEventId = 2603869165u; internal const float DefaultVerticalOffsetMultiplier = 0.4f; internal const float DefaultHorizontalOffsetMultiplier = 0.8f; internal const float DefaultRotationRadius = 0.3f; private static readonly Dictionary<string, float> VerticalOffsetMultipliers = new Dictionary<string, float> { { "EngiTurretBody", 0.5f }, { "EngiWalkerTurretBody", 1.3f }, { "ToolbotBody", 0.5f }, { "MageBody", 0.8f }, { "LoaderBody", 0.7f } }; private static readonly Dictionary<string, float> HorizontalOffsetMultipliers = new Dictionary<string, float> { { "ToolbotBody", 1f }, { "CrocoBody", 1f } }; private static readonly Dictionary<string, float> RotationRadius = new Dictionary<string, float> { { "ToolbotBody", 0.5f }, { "CrocoBody", 0.5f } }; private static readonly Lazy<GameObject> _loaderZapCone = new Lazy<GameObject>((Func<GameObject>)(() => Resources.Load<GameObject>("Prefabs/Projectiles/LoaderZapCone"))); private static readonly Lazy<Material> _evisTargetMaterial = new Lazy<Material>((Func<Material>)(() => Resources.Load<Material>("Materials/matMercEvisTarget"))); public override string displayName => "Gradius' Option Seed"; public override ItemTier itemTier => (ItemTier)1; public override ReadOnlyCollection<ItemTag> itemTags => new ReadOnlyCollection<ItemTag>((IList<ItemTag>)(object)new ItemTag[1] { (ItemTag)3 }); [AutoConfigUpdateActions(/*Could not decode attribute arguments.*/)] [AutoConfig(/*Could not decode attribute arguments.*/)] public float damageMultiplier { get; private set; } = 0.2f; [AutoConfigUpdateActions(/*Could not decode attribute arguments.*/)] [AutoConfig(/*Could not decode attribute arguments.*/)] public float stackDamageMultiplier { get; private set; } = 0.05f; [AutoConfig(/*Could not decode attribute arguments.*/)] public bool mobileTurretsSeedSyncEffect { get; private set; } = true; [AutoConfig(/*Could not decode attribute arguments.*/)] public bool flamethrowerSeedSyncEffect { get; private set; } = true; [AutoConfig(/*Could not decode attribute arguments.*/)] public bool includeModelInsideOrb { get; private set; } = true; [AutoConfig(/*Could not decode attribute arguments.*/)] public bool staticPositions { get; private set; } [AutoConfig(/*Could not decode attribute arguments.*/)] public float rotationSpeed { get; private set; } = 10f; public override bool itemIsAIBlacklisted { get; protected set; } = true; internal static GameObject optionSeedPrefab { get; private set; } private static GameObject loaderZapCone => _loaderZapCone.Value; private static Material evisTargetMaterial => _evisTargetMaterial.Value; public void FireForSeeds(CharacterBody optionSeedOwner, Action<GameObject, SeedBehavior, SeedTracker, float> actionToRun) { if (!Object.op_Implicit((Object)(object)optionSeedOwner)) { return; } SeedTracker component = ((Component)optionSeedOwner).GetComponent<SeedTracker>(); if (Object.op_Implicit((Object)(object)component)) { InputBankTest inputBankTest = component.inputBankTest; if (Object.op_Implicit((Object)(object)inputBankTest)) { float arg = ComputeMultiplier(optionSeedOwner); actionToRun(component.leftSeed, component.leftBehavior, component, arg); actionToRun(component.rightSeed, component.rightBehavior, component, arg); } } } public void SetVerticalOffsetMultiplier(string bodyName, float newValue) { VerticalOffsetMultipliers[bodyName] = newValue; } public void SetHorizontalOffsetMultiplier(string bodyName, float newValue) { HorizontalOffsetMultipliers[bodyName] = newValue; } public void SetRotationalRadius(string bodyName, float newValue) { RotationRadius[bodyName] = newValue; } public override void Install() { //IL_000d: Unknown result type (might be due to invalid IL or missing references) //IL_0017: Expected O, but got Unknown //IL_002f: Unknown result type (might be due to invalid IL or missing references) //IL_0039: Expected O, but got Unknown //IL_0040: Unknown result type (might be due to invalid IL or missing references) //IL_004a: Expected O, but got Unknown //IL_0051: Unknown result type (might be due to invalid IL or missing references) //IL_005b: Expected O, but got Unknown //IL_0062: Unknown result type (might be due to invalid IL or missing references) //IL_006c: Expected O, but got Unknown //IL_0073: Unknown result type (might be due to invalid IL or missing references) //IL_007d: Expected O, but got Unknown //IL_0084: Unknown result type (might be due to invalid IL or missing references) //IL_008e: Expected O, but got Unknown //IL_0095: Unknown result type (might be due to invalid IL or missing references) //IL_009f: Expected O, but got Unknown //IL_00a6: Unknown result type (might be due to invalid IL or missing references) //IL_00b0: Expected O, but got Unknown //IL_00b7: Unknown result type (might be due to invalid IL or missing references) //IL_00c1: Expected O, but got Unknown //IL_00c8: Unknown result type (might be due to invalid IL or missing references) //IL_00d2: Expected O, but got Unknown //IL_00d9: Unknown result type (might be due to invalid IL or missing references) //IL_00e3: Expected O, but got Unknown //IL_00ea: Unknown result type (might be due to invalid IL or missing references) //IL_00f4: Expected O, but got Unknown //IL_00fb: Unknown result type (might be due to invalid IL or missing references) //IL_0105: Expected O, but got Unknown //IL_010c: Unknown result type (might be due to invalid IL or missing references) //IL_0116: Expected O, but got Unknown //IL_011d: Unknown result type (might be due to invalid IL or missing references) //IL_0127: Expected O, but got Unknown //IL_012e: Unknown result type (might be due to invalid IL or missing references) //IL_0138: Expected O, but got Unknown //IL_013f: Unknown result type (might be due to invalid IL or missing references) //IL_0149: Expected O, but got Unknown //IL_0150: Unknown result type (might be due to invalid IL or missing references) //IL_015a: Expected O, but got Unknown //IL_0161: Unknown result type (might be due to invalid IL or missing references) //IL_016b: Expected O, but got Unknown //IL_0172: Unknown result type (might be due to invalid IL or missing references) //IL_017c: Expected O, but got Unknown //IL_0183: Unknown result type (might be due to invalid IL or missing references) //IL_018d: Expected O, but got Unknown //IL_0194: Unknown result type (might be due to invalid IL or missing references) //IL_019e: Expected O, but got Unknown //IL_01a5: Unknown result type (might be due to invalid IL or missing references) //IL_01af: Expected O, but got Unknown //IL_01b6: Unknown result type (might be due to invalid IL or missing references) //IL_01c0: Expected O, but got Unknown //IL_01c7: Unknown result type (might be due to invalid IL or missing references) //IL_01d1: Expected O, but got Unknown //IL_01d8: Unknown result type (might be due to invalid IL or missing references) //IL_01e2: Expected O, but got Unknown //IL_01e9: Unknown result type (might be due to invalid IL or missing references) //IL_01f3: Expected O, but got Unknown //IL_01fa: Unknown result type (might be due to invalid IL or missing references) //IL_0204: Expected O, but got Unknown //IL_020b: Unknown result type (might be due to invalid IL or missing references) //IL_0215: Expected O, but got Unknown //IL_021c: Unknown result type (might be due to invalid IL or missing references) //IL_0226: Expected O, but got Unknown //IL_022d: Unknown result type (might be due to invalid IL or missing references) //IL_0237: Expected O, but got Unknown //IL_023e: Unknown result type (might be due to invalid IL or missing references) //IL_0248: Expected O, but got Unknown //IL_024f: Unknown result type (might be due to invalid IL or missing references) //IL_0259: Expected O, but got Unknown //IL_0260: Unknown result type (might be due to invalid IL or missing references) //IL_026a: Expected O, but got Unknown //IL_0271: Unknown result type (might be due to invalid IL or missing references) //IL_027b: Expected O, but got Unknown //IL_0282: Unknown result type (might be due to invalid IL or missing references) //IL_028c: Expected O, but got Unknown //IL_0293: Unknown result type (might be due to invalid IL or missing references) //IL_029d: Expected O, but got Unknown //IL_02a4: Unknown result type (might be due to invalid IL or missing references) //IL_02ae: Expected O, but got Unknown //IL_02b5: Unknown result type (might be due to invalid IL or missing references) //IL_02bf: Expected O, but got Unknown //IL_02c6: Unknown result type (might be due to invalid IL or missing references) //IL_02d0: Expected O, but got Unknown //IL_02d7: Unknown result type (might be due to invalid IL or missing references) //IL_02e1: Expected O, but got Unknown //IL_02e8: Unknown result type (might be due to invalid IL or missing references) //IL_02f2: Expected O, but got Unknown //IL_02f9: Unknown result type (might be due to invalid IL or missing references) //IL_0303: Expected O, but got Unknown //IL_030a: Unknown result type (might be due to invalid IL or missing references) //IL_0314: Expected O, but got Unknown //IL_031b: Unknown result type (might be due to invalid IL or missing references) //IL_0325: Expected O, but got Unknown //IL_032c: Unknown result type (might be due to invalid IL or missing references) //IL_0336: Expected O, but got Unknown //IL_033d: Unknown result type (might be due to invalid IL or missing references) //IL_0347: Expected O, but got Unknown //IL_034e: Unknown result type (might be due to invalid IL or missing references) //IL_0358: Expected O, but got Unknown //IL_035f: Unknown result type (might be due to invalid IL or missing references) //IL_0369: Expected O, but got Unknown //IL_0370: Unknown result type (might be due to invalid IL or missing references) //IL_037a: Expected O, but got Unknown //IL_0381: Unknown result type (might be due to invalid IL or missing references) //IL_038b: Expected O, but got Unknown //IL_0392: Unknown result type (might be due to invalid IL or missing references) //IL_039c: Expected O, but got Unknown //IL_03a3: Unknown result type (might be due to invalid IL or missing references) //IL_03ad: Expected O, but got Unknown //IL_03b4: Unknown result type (might be due to invalid IL or missing references) //IL_03be: Expected O, but got Unknown //IL_03c5: Unknown result type (might be due to invalid IL or missing references) //IL_03cf: Expected O, but got Unknown //IL_03d6: Unknown result type (might be due to invalid IL or missing references) //IL_03e0: Expected O, but got Unknown //IL_03e7: Unknown result type (might be due to invalid IL or missing references) //IL_03f1: Expected O, but got Unknown ((Item)this).Install(); CharacterBody.OnInventoryChanged += new hook_OnInventoryChanged(CharacterBody_OnInventoryChanged); CharacterBody.onBodyStartGlobal += CharacterBody_onBodyStartGlobal; FireGrenades.FireGrenade += new hook_FireGrenade(FireGrenades_FireGrenade); FirePistol2.FireBullet += new hook_FireBullet(FirePistol2_FireBullet); GenericBulletBaseState.FireBullet += new hook_FireBullet(GenericBulletBaseState_FireBullet); FireBarrage.FireBullet += new hook_FireBullet(FireBarrage_FireBullet); GenericProjectileBaseState.FireProjectile += new hook_FireProjectile(GenericProjectileBaseState_FireProjectile); Fire.FireMissile += new hook_FireMissile(Fire_FireMissile); FireGauss.OnEnter += new hook_OnEnter(FireGauss_OnEnter); FireBeam.FixedUpdate += new hook_FixedUpdate(FireBeam_FixedUpdate); FireBeam.OnEnter += new hook_OnEnter(FireBeam_OnEnter); FireBeam.OnExit += new hook_OnExit(FireBeam_OnExit); FireSeekingArrow.FireOrbArrow += new hook_FireOrbArrow(FireSeekingArrow_FireOrbArrow); ThrowGlaive.FireOrbGlaive += new hook_FireOrbGlaive(ThrowGlaive_FireOrbGlaive); BasicMeleeAttack.OnEnter += new hook_OnEnter(BasicMeleeAttack_OnEnter); BasicMeleeAttack.AuthorityFireAttack += new hook_AuthorityFireAttack(BasicMeleeAttack_AuthorityFireAttack); Evis.FixedUpdate += new hook_FixedUpdate(Evis_FixedUpdate); WhirlwindBase.OnEnter += new hook_OnEnter(WhirlwindBase_OnEnter); WhirlwindBase.FixedUpdate += new hook_FixedUpdate(WhirlwindBase_FixedUpdate); FocusedAssaultDash.OnMeleeHitAuthority += new hook_OnMeleeHitAuthority(FocusedAssaultDash_OnMeleeHitAuthority); Uppercut.OnEnter += new hook_OnEnter(Uppercut_OnEnter); Uppercut.FixedUpdate += new hook_FixedUpdate(Uppercut_FixedUpdate); FireShotgun2.FireBullet += new hook_FireBullet(FireShotgun2_FireBullet); BaseFireSidearmRevolverState.OnEnter += new hook_OnEnter(BaseFireSidearmRevolverState_OnEnter); Bandit2FireShiv.FireShiv += new hook_FireShiv(Bandit2FireShiv_FireShiv); BaseNailgunState.FireBullet += new hook_FireBullet(BaseNailgunState_FireBullet); AimThrowableBase.FireProjectile += new hook_FireProjectile(AimThrowableBase_FireProjectile); RecoverAimStunDrone.OnEnter += new hook_OnEnter(RecoverAimStunDrone_OnEnter); FireBuzzsaw.FixedUpdate += new hook_FixedUpdate(FireBuzzsaw_FixedUpdate); FireFireBolt.FireGauntlet += new hook_FireGauntlet(FireFireBolt_FireGauntlet); BaseThrowBombState.Fire += new hook_Fire(BaseThrowBombState_Fire); Flamethrower.OnEnter += new hook_OnEnter(Flamethrower_OnEnter); Flamethrower.FireGauntlet += new hook_FireGauntlet(Flamethrower_FireGauntlet); Flamethrower.FixedUpdate += new hook_FixedUpdate(Flamethrower_FixedUpdate); Flamethrower.OnExit += new hook_OnExit(Flamethrower_OnExit); FireSyringe.FixedUpdate += new hook_FixedUpdate(FireSyringe_FixedUpdate); TreebotFireFruitSeed.OnEnter += new hook_OnEnter(TreebotFireFruitSeed_OnEnter); FireFlower2.OnEnter += new hook_OnEnter(FireFlower2_OnEnter); ArrowRain.DoFireArrowRain += new hook_DoFireArrowRain(ArrowRain_DoFireArrowRain); ThrowPylon.OnEnter += new hook_OnEnter(ThrowPylon_OnEnter); SwingZapFist.OnMeleeHitAuthority += new hook_OnMeleeHitAuthority(SwingZapFist_OnMeleeHitAuthority); GroundSlam.DetonateAuthority += new hook_DetonateAuthority(GroundSlam_DetonateAuthority); BaseLeap.DetonateAuthority += new hook_DetonateAuthority(BaseLeap_DetonateAuthority); BaseLeap.DropAcidPoolAuthority += new hook_DropAcidPoolAuthority(BaseLeap_DropAcidPoolAuthority); FireSpit.OnEnter += new hook_OnEnter(FireSpit_OnEnter); FireTazer.Fire += new hook_Fire(FireTazer_Fire); FirePistol.OnEnter += new hook_OnEnter(FirePistol_OnEnter); BaseFireSnipe.OnEnter += new hook_OnEnter(BaseFireSnipe_OnEnter); FireBlasterBase.OnEnter += new hook_OnEnter(FireBlasterBase_OnEnter); FireCorruptDisks.OnEnter += new hook_OnEnter(FireCorruptDisks_OnEnter); FireCorruptHandBeam.OnEnter += new hook_OnEnter(FireCorruptHandBeam_OnEnter); FireHandBeam.OnEnter += new hook_OnEnter(FireHandBeam_OnEnter); FireMegaBlasterBase.OnEnter += new hook_OnEnter(FireMegaBlasterBase_OnEnter); FireTwinBlaster.OnEnter += new hook_OnEnter(FireTwinBlaster_OnEnter); SpiritPunch.OnEnter += new hook_OnEnter(SpiritPunch_OnEnter); Dice.OnEnter += new hook_OnEnter(Dice_OnEnter); Glaze.OnEnter += new hook_OnEnter(Glaze_OnEnter); LunarSpikes.OnEnter += new hook_OnEnter(LunarSpikes_OnEnter); LunarSpikesShotgun.OnEnter += new hook_OnEnter(LunarSpikesShotgun_OnEnter); } public override void Uninstall() { //IL_000d: Unknown result type (might be due to invalid IL or missing references) //IL_0017: Expected O, but got Unknown //IL_002f: Unknown result type (might be due to invalid IL or missing references) //IL_0039: Expected O, but got Unknown //IL_0040: Unknown result type (might be due to invalid IL or missing references) //IL_004a: Expected O, but got Unknown //IL_0051: Unknown result type (might be due to invalid IL or missing references) //IL_005b: Expected O, but got Unknown //IL_0062: Unknown result type (might be due to invalid IL or missing references) //IL_006c: Expected O, but got Unknown //IL_0073: Unknown result type (might be due to invalid IL or missing references) //IL_007d: Expected O, but got Unknown //IL_0084: Unknown result type (might be due to invalid IL or missing references) //IL_008e: Expected O, but got Unknown //IL_0095: Unknown result type (might be due to invalid IL or missing references) //IL_009f: Expected O, but got Unknown //IL_00a6: Unknown result type (might be due to invalid IL or missing references) //IL_00b0: Expected O, but got Unknown //IL_00b7: Unknown result type (might be due to invalid IL or missing references) //IL_00c1: Expected O, but got Unknown //IL_00c8: Unknown result type (might be due to invalid IL or missing references) //IL_00d2: Expected O, but got Unknown //IL_00d9: Unknown result type (might be due to invalid IL or missing references) //IL_00e3: Expected O, but got Unknown //IL_00ea: Unknown result type (might be due to invalid IL or missing references) //IL_00f4: Expected O, but got Unknown //IL_00fb: Unknown result type (might be due to invalid IL or missing references) //IL_0105: Expected O, but got Unknown //IL_010c: Unknown result type (might be due to invalid IL or missing references) //IL_0116: Expected O, but got Unknown //IL_011d: Unknown result type (might be due to invalid IL or missing references) //IL_0127: Expected O, but got Unknown //IL_012e: Unknown result type (might be due to invalid IL or missing references) //IL_0138: Expected O, but got Unknown //IL_013f: Unknown result type (might be due to invalid IL or missing references) //IL_0149: Expected O, but got Unknown //IL_0150: Unknown result type (might be due to invalid IL or missing references) //IL_015a: Expected O, but got Unknown //IL_0161: Unknown result type (might be due to invalid IL or missing references) //IL_016b: Expected O, but got Unknown //IL_0172: Unknown result type (might be due to invalid IL or missing references) //IL_017c: Expected O, but got Unknown //IL_0183: Unknown result type (might be due to invalid IL or missing references) //IL_018d: Expected O, but got Unknown //IL_0194: Unknown result type (might be due to invalid IL or missing references) //IL_019e: Expected O, but got Unknown //IL_01a5: Unknown result type (might be due to invalid IL or missing references) //IL_01af: Expected O, but got Unknown //IL_01b6: Unknown result type (might be due to invalid IL or missing references) //IL_01c0: Expected O, but got Unknown //IL_01c7: Unknown result type (might be due to invalid IL or missing references) //IL_01d1: Expected O, but got Unknown //IL_01d8: Unknown result type (might be due to invalid IL or missing references) //IL_01e2: Expected O, but got Unknown //IL_01e9: Unknown result type (might be due to invalid IL or missing references) //IL_01f3: Expected O, but got Unknown //IL_01fa: Unknown result type (might be due to invalid IL or missing references) //IL_0204: Expected O, but got Unknown //IL_020b: Unknown result type (might be due to invalid IL or missing references) //IL_0215: Expected O, but got Unknown //IL_021c: Unknown result type (might be due to invalid IL or missing references) //IL_0226: Expected O, but got Unknown //IL_022d: Unknown result type (might be due to invalid IL or missing references) //IL_0237: Expected O, but got Unknown //IL_023e: Unknown result type (might be due to invalid IL or missing references) //IL_0248: Expected O, but got Unknown //IL_024f: Unknown result type (might be due to invalid IL or missing references) //IL_0259: Expected O, but got Unknown //IL_0260: Unknown result type (might be due to invalid IL or missing references) //IL_026a: Expected O, but got Unknown //IL_0271: Unknown result type (might be due to invalid IL or missing references) //IL_027b: Expected O, but got Unknown //IL_0282: Unknown result type (might be due to invalid IL or missing references) //IL_028c: Expected O, but got Unknown //IL_0293: Unknown result type (might be due to invalid IL or missing references) //IL_029d: Expected O, but got Unknown //IL_02a4: Unknown result type (might be due to invalid IL or missing references) //IL_02ae: Expected O, but got Unknown //IL_02b5: Unknown result type (might be due to invalid IL or missing references) //IL_02bf: Expected O, but got Unknown //IL_02c6: Unknown result type (might be due to invalid IL or missing references) //IL_02d0: Expected O, but got Unknown //IL_02d7: Unknown result type (might be due to invalid IL or missing references) //IL_02e1: Expected O, but got Unknown //IL_02e8: Unknown result type (might be due to invalid IL or missing references) //IL_02f2: Expected O, but got Unknown //IL_02f9: Unknown result type (might be due to invalid IL or missing references) //IL_0303: Expected O, but got Unknown //IL_030a: Unknown result type (might be due to invalid IL or missing references) //IL_0314: Expected O, but got Unknown //IL_031b: Unknown result type (might be due to invalid IL or missing references) //IL_0325: Expected O, but got Unknown //IL_032c: Unknown result type (might be due to invalid IL or missing references) //IL_0336: Expected O, but got Unknown //IL_033d: Unknown result type (might be due to invalid IL or missing references) //IL_0347: Expected O, but got Unknown //IL_034e: Unknown result type (might be due to invalid IL or missing references) //IL_0358: Expected O, but got Unknown //IL_035f: Unknown result type (might be due to invalid IL or missing references) //IL_0369: Expected O, but got Unknown //IL_0370: Unknown result type (might be due to invalid IL or missing references) //IL_037a: Expected O, but got Unknown //IL_0381: Unknown result type (might be due to invalid IL or missing references) //IL_038b: Expected O, but got Unknown //IL_0392: Unknown result type (might be due to invalid IL or missing references) //IL_039c: Expected O, but got Unknown //IL_03a3: Unknown result type (might be due to invalid IL or missing references) //IL_03ad: Expected O, but got Unknown //IL_03b4: Unknown result type (might be due to invalid IL or missing references) //IL_03be: Expected O, but got Unknown //IL_03c5: Unknown result type (might be due to invalid IL or missing references) //IL_03cf: Expected O, but got Unknown //IL_03d6: Unknown result type (might be due to invalid IL or missing references) //IL_03e0: Expected O, but got Unknown //IL_03e7: Unknown result type (might be due to invalid IL or missing references) //IL_03f1: Expected O, but got Unknown ((Item)this).Uninstall(); CharacterBody.OnInventoryChanged -= new hook_OnInventoryChanged(CharacterBody_OnInventoryChanged); CharacterBody.onBodyStartGlobal -= CharacterBody_onBodyStartGlobal; FireGrenades.FireGrenade -= new hook_FireGrenade(FireGrenades_FireGrenade); FirePistol2.FireBullet -= new hook_FireBullet(FirePistol2_FireBullet); GenericBulletBaseState.FireBullet -= new hook_FireBullet(GenericBulletBaseState_FireBullet); FireBarrage.FireBullet -= new hook_FireBullet(FireBarrage_FireBullet); GenericProjectileBaseState.FireProjectile -= new hook_FireProjectile(GenericProjectileBaseState_FireProjectile); Fire.FireMissile -= new hook_FireMissile(Fire_FireMissile); FireGauss.OnEnter -= new hook_OnEnter(FireGauss_OnEnter); FireBeam.FixedUpdate -= new hook_FixedUpdate(FireBeam_FixedUpdate); FireBeam.OnEnter -= new hook_OnEnter(FireBeam_OnEnter); FireBeam.OnExit -= new hook_OnExit(FireBeam_OnExit); FireSeekingArrow.FireOrbArrow -= new hook_FireOrbArrow(FireSeekingArrow_FireOrbArrow); ThrowGlaive.FireOrbGlaive -= new hook_FireOrbGlaive(ThrowGlaive_FireOrbGlaive); BasicMeleeAttack.OnEnter -= new hook_OnEnter(BasicMeleeAttack_OnEnter); BasicMeleeAttack.AuthorityFireAttack -= new hook_AuthorityFireAttack(BasicMeleeAttack_AuthorityFireAttack); Evis.FixedUpdate -= new hook_FixedUpdate(Evis_FixedUpdate); WhirlwindBase.OnEnter -= new hook_OnEnter(WhirlwindBase_OnEnter); WhirlwindBase.FixedUpdate -= new hook_FixedUpdate(WhirlwindBase_FixedUpdate); FocusedAssaultDash.OnMeleeHitAuthority -= new hook_OnMeleeHitAuthority(FocusedAssaultDash_OnMeleeHitAuthority); Uppercut.OnEnter -= new hook_OnEnter(Uppercut_OnEnter); Uppercut.FixedUpdate -= new hook_FixedUpdate(Uppercut_FixedUpdate); FireShotgun2.FireBullet -= new hook_FireBullet(FireShotgun2_FireBullet); BaseFireSidearmRevolverState.OnEnter -= new hook_OnEnter(BaseFireSidearmRevolverState_OnEnter); Bandit2FireShiv.FireShiv -= new hook_FireShiv(Bandit2FireShiv_FireShiv); BaseNailgunState.FireBullet -= new hook_FireBullet(BaseNailgunState_FireBullet); AimThrowableBase.FireProjectile -= new hook_FireProjectile(AimThrowableBase_FireProjectile); RecoverAimStunDrone.OnEnter -= new hook_OnEnter(RecoverAimStunDrone_OnEnter); FireBuzzsaw.FixedUpdate -= new hook_FixedUpdate(FireBuzzsaw_FixedUpdate); FireFireBolt.FireGauntlet -= new hook_FireGauntlet(FireFireBolt_FireGauntlet); BaseThrowBombState.Fire -= new hook_Fire(BaseThrowBombState_Fire); Flamethrower.OnEnter -= new hook_OnEnter(Flamethrower_OnEnter); Flamethrower.FireGauntlet -= new hook_FireGauntlet(Flamethrower_FireGauntlet); Flamethrower.FixedUpdate -= new hook_FixedUpdate(Flamethrower_FixedUpdate); Flamethrower.OnExit -= new hook_OnExit(Flamethrower_OnExit); FireSyringe.FixedUpdate -= new hook_FixedUpdate(FireSyringe_FixedUpdate); TreebotFireFruitSeed.OnEnter -= new hook_OnEnter(TreebotFireFruitSeed_OnEnter); FireFlower2.OnEnter -= new hook_OnEnter(FireFlower2_OnEnter); ArrowRain.DoFireArrowRain -= new hook_DoFireArrowRain(ArrowRain_DoFireArrowRain); ThrowPylon.OnEnter -= new hook_OnEnter(ThrowPylon_OnEnter); SwingZapFist.OnMeleeHitAuthority -= new hook_OnMeleeHitAuthority(SwingZapFist_OnMeleeHitAuthority); GroundSlam.DetonateAuthority -= new hook_DetonateAuthority(GroundSlam_DetonateAuthority); BaseLeap.DetonateAuthority -= new hook_DetonateAuthority(BaseLeap_DetonateAuthority); BaseLeap.DropAcidPoolAuthority -= new hook_DropAcidPoolAuthority(BaseLeap_DropAcidPoolAuthority); FireSpit.OnEnter -= new hook_OnEnter(FireSpit_OnEnter); FireTazer.Fire -= new hook_Fire(FireTazer_Fire); FirePistol.OnEnter -= new hook_OnEnter(FirePistol_OnEnter); BaseFireSnipe.OnEnter -= new hook_OnEnter(BaseFireSnipe_OnEnter); FireBlasterBase.OnEnter -= new hook_OnEnter(FireBlasterBase_OnEnter); FireCorruptDisks.OnEnter -= new hook_OnEnter(FireCorruptDisks_OnEnter); FireCorruptHandBeam.OnEnter -= new hook_OnEnter(FireCorruptHandBeam_OnEnter); FireHandBeam.OnEnter -= new hook_OnEnter(FireHandBeam_OnEnter); FireMegaBlasterBase.OnEnter -= new hook_OnEnter(FireMegaBlasterBase_OnEnter); FireTwinBlaster.OnEnter -= new hook_OnEnter(FireTwinBlaster_OnEnter); SpiritPunch.OnEnter -= new hook_OnEnter(SpiritPunch_OnEnter); Dice.OnEnter -= new hook_OnEnter(Dice_OnEnter); Glaze.OnEnter -= new hook_OnEnter(Glaze_OnEnter); LunarSpikes.OnEnter -= new hook_OnEnter(LunarSpikes_OnEnter); LunarSpikesShotgun.OnEnter -= new hook_OnEnter(LunarSpikesShotgun_OnEnter); } private void CharacterBody_OnInventoryChanged(orig_OnInventoryChanged orig, CharacterBody self) { orig.Invoke(self); if (Object.op_Implicit((Object)(object)self.master)) { if (((Item)this).GetCount(self) > 0) { SeedTracker.SpawnSeeds(((Component)self).gameObject); } else { SeedTracker.DestroySeeds(((Component)self).gameObject); } } } private void CharacterBody_onBodyStartGlobal(CharacterBody obj) { if (Object.op_Implicit((Object)(object)obj.master) && ((Item)this).GetCount(obj) > 0) { SeedTracker.SpawnSeeds(((Component)obj).gameObject); } } private void FireTazer_Fire(orig_Fire orig, FireTazer self) { orig.Invoke(self); FireForSeeds(((EntityState)self).characterBody, delegate(GameObject seed, SeedBehavior _b, SeedTracker _t, float multiplier) { //IL_002a: Unknown result type (might be due to invalid IL or missing references) //IL_0044: Unknown result type (might be due to invalid IL or missing references) //IL_0049: Unknown result type (might be due to invalid IL or missing references) //IL_0056: Unknown result type (might be due to invalid IL or missing references) //IL_005b: Unknown result type (might be due to invalid IL or missing references) //IL_005e: Unknown result type (might be due to invalid IL or missing references) //IL_0063: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_00d0: Unknown result type (might be due to invalid IL or missing references) //IL_00d1: Unknown result type (might be due to invalid IL or missing references) //IL_00d7: Unknown result type (might be due to invalid IL or missing references) if (Object.op_Implicit((Object)(object)FireTazer.muzzleflashEffectPrefab)) { seed.MuzzleEffect(FireTazer.muzzleflashEffectPrefab, transmit: false); } if (((EntityState)self).isAuthority) { FireProjectileInfo val = default(FireProjectileInfo); val.projectilePrefab = FireTazer.projectilePrefab; val.position = seed.transform.position; Ray aimRay = ((BaseState)self).GetAimRay(); val.rotation = Util.QuaternionSafeLookRotation(((Ray)(ref aimRay)).direction); val.owner = ((EntityState)self).gameObject; val.damage = ((BaseState)self).damageStat * FireTazer.damageCoefficient * multiplier; val.force = FireTazer.force * multiplier; val.crit = Util.CheckRoll(((BaseState)self).critStat, ((EntityState)self).characterBody.master); FireProjectileInfo val2 = val; ProjectileManager.instance.FireProjectile(val2); } }); } private void FireSpit_OnEnter(orig_OnEnter orig, FireSpit self) { orig.Invoke(self); FireForSeeds(((EntityState)self).characterBody, delegate(GameObject seed, SeedBehavior _b, SeedTracker _t, float multiplier) { //IL_0055: 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) //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0062: Unknown result type (might be due to invalid IL or missing references) //IL_0082: Unknown result type (might be due to invalid IL or missing references) //IL_0087: Unknown result type (might be due to invalid IL or missing references) //IL_0094: Unknown result type (might be due to invalid IL or missing references) //IL_0099: Unknown result type (might be due to invalid IL or missing references) //IL_009c: Unknown result type (might be due to invalid IL or missing references) //IL_00a1: Unknown result type (might be due to invalid IL or missing references) //IL_00a6: Unknown result type (might be due to invalid IL or missing references) //IL_00e0: Unknown result type (might be due to invalid IL or missing references) //IL_00e1: Unknown result type (might be due to invalid IL or missing references) //IL_012c: Unknown result type (might be due to invalid IL or missing references) //IL_012d: Unknown result type (might be due to invalid IL or missing references) //IL_0133: Unknown result type (might be due to invalid IL or missing references) if (Object.op_Implicit((Object)(object)self.effectPrefab)) { seed.MuzzleEffect(self.effectPrefab, transmit: false); } if (((EntityState)self).isAuthority) { DamageType val = (DamageType)(((Object)(object)self.crocoDamageTypeController != (Object)null) ? ((int)DamageTypeCombo.op_Implicit(self.crocoDamageTypeController.GetDamageType())) : 0); FireProjectileInfo val2 = default(FireProjectileInfo); val2.projectilePrefab = self.projectilePrefab; val2.position = seed.transform.position; Ray aimRay = ((BaseState)self).GetAimRay(); val2.rotation = Util.QuaternionSafeLookRotation(((Ray)(ref aimRay)).direction); val2.owner = ((EntityState)self).gameObject; val2.damage = ((BaseState)self).damageStat * self.damageCoefficient * multiplier; val2.damageTypeOverride = DamageTypeCombo.op_Implicit(val); val2.force = self.force * multiplier; val2.crit = Util.CheckRoll(((BaseState)self).critStat, ((EntityState)self).characterBody.master); FireProjectileInfo val3 = val2; ProjectileManager.instance.FireProjectile(val3); } }); } private void BaseLeap_DropAcidPoolAuthority(orig_DropAcidPoolAuthority orig, BaseLeap self) { orig.Invoke(self); FireForSeeds(((EntityState)self).characterBody, delegate(GameObject seed, SeedBehavior _b, SeedTracker _t, float multiplier) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_000b: Unknown result type (might be due to invalid IL or missing references) //IL_000e: Unknown result type (might be due to invalid IL or missing references) //IL_0067: Unknown result type (might be due to invalid IL or missing references) //IL_006c: Unknown result type (might be due to invalid IL or missing references) //IL_0073: Unknown result type (might be due to invalid IL or missing references) //IL_0074: Unknown result type (might be due to invalid IL or missing references) //IL_0079: Unknown result type (might be due to invalid IL or missing references) //IL_007a: Unknown result type (might be due to invalid IL or missing references) //IL_0080: Unknown result type (might be due to invalid IL or missing references) Vector3 position = seed.transform.position; FireProjectileInfo val = default(FireProjectileInfo); val.projectilePrefab = BaseLeap.projectilePrefab; val.crit = self.isCritAuthority; val.force = 0f; val.damage = ((BaseState)self).damageStat * multiplier; val.owner = ((EntityState)self).gameObject; val.rotation = Quaternion.identity; val.position = position; FireProjectileInfo val2 = val; ProjectileManager.instance.FireProjectile(val2); }); } private Result BaseLeap_DetonateAuthority(orig_DetonateAuthority orig, BaseLeap self) { //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_0019: Unknown result type (might be due to invalid IL or missing references) //IL_0037: Unknown result type (might be due to invalid IL or missing references) Result result = orig.Invoke(self); FireForSeeds(((EntityState)self).characterBody, delegate(GameObject seed, SeedBehavior _b, SeedTracker _t, float multiplier) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_0005: Unknown result type (might be due to invalid IL or missing references) //IL_0016: Unknown result type (might be due to invalid IL or missing references) //IL_0036: Unknown result type (might be due to invalid IL or missing references) //IL_004a: Unknown result type (might be due to invalid IL or missing references) //IL_0051: Unknown result type (might be due to invalid IL or missing references) //IL_0056: Unknown result type (might be due to invalid IL or missing references) //IL_005b: Unknown result type (might be due to invalid IL or missing references) //IL_006c: Unknown result type (might be due to invalid IL or missing references) //IL_0073: Unknown result type (might be due to invalid IL or missing references) //IL_0078: Unknown result type (might be due to invalid IL or missing references) //IL_007d: Unknown result type (might be due to invalid IL or missing references) //IL_007f: Unknown result type (might be due to invalid IL or missing references) //IL_0084: Unknown result type (might be due to invalid IL or missing references) //IL_008f: Unknown result type (might be due to invalid IL or missing references) //IL_009a: Unknown result type (might be due to invalid IL or missing references) //IL_00a1: Unknown result type (might be due to invalid IL or missing references) //IL_00a6: Unknown result type (might be due to invalid IL or missing references) //IL_00ab: Unknown result type (might be due to invalid IL or missing references) //IL_00ad: Unknown result type (might be due to invalid IL or missing references) //IL_00b2: Unknown result type (might be due to invalid IL or missing references) //IL_00be: Unknown result type (might be due to invalid IL or missing references) //IL_00c3: 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) //IL_00d4: Unknown result type (might be due to invalid IL or missing references) //IL_00d9: Unknown result type (might be due to invalid IL or missing references) //IL_00de: Unknown result type (might be due to invalid IL or missing references) new BlastAttack { attacker = ((EntityState)self).gameObject, baseDamage = ((BaseState)self).damageStat * self.blastDamageCoefficient * multiplier, baseForce = self.blastForce * multiplier, bonusForce = self.blastBonusForce, crit = ((BaseState)self).RollCrit(), damageType = self.GetBlastDamageType(), falloffModel = (FalloffModel)0, procCoefficient = BaseLeap.blastProcCoefficient, radius = BaseLeap.blastRadius, position = seed.transform.position, attackerFiltering = (AttackerFiltering)2, impactEffect = EffectCatalog.FindEffectIndexFromPrefab(self.blastImpactEffectPrefab), teamIndex = ((EntityState)self).teamComponent.teamIndex }.Fire(); }); return result; } private Result GroundSlam_DetonateAuthority(orig_DetonateAuthority orig, GroundSlam self) { //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_0019: Unknown result type (might be due to invalid IL or missing references) //IL_0037: Unknown result type (might be due to invalid IL or missing references) Result result = orig.Invoke(self); FireForSeeds(((EntityState)self).characterBody, delegate(GameObject seed, SeedBehavior _b, SeedTracker _t, float multiplier) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_0005: Unknown result type (might be due to invalid IL or missing references) //IL_0016: Unknown result type (might be due to invalid IL or missing references) //IL_0030: Unknown result type (might be due to invalid IL or missing references) //IL_003e: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0044: Unknown result type (might be due to invalid IL or missing references) //IL_0049: 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) //IL_005d: Unknown result type (might be due to invalid IL or missing references) //IL_0062: Unknown result type (might be due to invalid IL or missing references) //IL_0067: Unknown result type (might be due to invalid IL or missing references) //IL_0069: Unknown result type (might be due to invalid IL or missing references) //IL_006e: Unknown result type (might be due to invalid IL or missing references) //IL_0079: Unknown result type (might be due to invalid IL or missing references) //IL_0084: Unknown result type (might be due to invalid IL or missing references) //IL_008b: Unknown result type (might be due to invalid IL or missing references) //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_0097: Unknown result type (might be due to invalid IL or missing references) //IL_009c: Unknown result type (might be due to invalid IL or missing references) //IL_00a2: Unknown result type (might be due to invalid IL or missing references) //IL_00a7: Unknown result type (might be due to invalid IL or missing references) //IL_00ac: Unknown result type (might be due to invalid IL or missing references) //IL_00b8: Unknown result type (might be due to invalid IL or missing references) //IL_00bd: Unknown result type (might be due to invalid IL or missing references) //IL_00c2: Unknown result type (might be due to invalid IL or missing references) new BlastAttack { attacker = ((EntityState)self).gameObject, baseDamage = ((BaseState)self).damageStat * GroundSlam.blastDamageCoefficient * multiplier, baseForce = GroundSlam.blastForce * multiplier, bonusForce = GroundSlam.blastBonusForce, crit = ((BaseState)self).RollCrit(), damageType = DamageTypeCombo.op_Implicit((DamageType)32), falloffModel = (FalloffModel)0, procCoefficient = GroundSlam.blastProcCoefficient, radius = GroundSlam.blastRadius, position = seed.transform.position, attackerFiltering = (AttackerFiltering)2, impactEffect = EffectCatalog.FindEffectIndexFromPrefab(GroundSlam.blastImpactEffectPrefab), teamIndex = ((EntityState)self).teamComponent.teamIndex }.Fire(); }); return result; } private void SwingZapFist_OnMeleeHitAuthority(orig_OnMeleeHitAuthority orig, SwingZapFist self) { orig.Invoke(self); FireForSeeds(((EntityState)self).characterBody, delegate(GameObject seed, SeedBehavior _b, SeedTracker _t, float multiplier) { //IL_0022: Unknown result type (might be due to invalid IL or missing references) //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_0042: Unknown result type (might be due to invalid IL or missing references) //IL_0047: Unknown result type (might be due to invalid IL or missing references) //IL_004c: 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_0097: Unknown result type (might be due to invalid IL or missing references) //IL_009d: Unknown result type (might be due to invalid IL or missing references) if (Object.op_Implicit((Object)(object)((BaseState)self).FindModelChild(((BasicMeleeAttack)self).swingEffectMuzzleString))) { FireProjectileInfo val = default(FireProjectileInfo); val.position = seed.transform.position; val.rotation = Quaternion.LookRotation(((BaseSwingChargedFist)self).punchVelocity); val.crit = ((BasicMeleeAttack)self).isCritAuthority; val.damage = ((BaseState)self).damageStat * multiplier; val.owner = ((EntityState)self).gameObject; val.projectilePrefab = loaderZapCone; FireProjectileInfo val2 = val; ProjectileManager.instance.FireProjectile(val2); } }); } private void ThrowPylon_OnEnter(orig_OnEnter orig, ThrowPylon self) { orig.Invoke(self); FireForSeeds(((EntityState)self).characterBody, delegate(GameObject seed, SeedBehavior _b, SeedTracker _t, float multiplier) { //IL_002e: Unknown result type (might be due to invalid IL or missing references) //IL_0033: Unknown result type (might be due to invalid IL or missing references) //IL_0036: Unknown result type (might be due to invalid IL or missing references) //IL_006c: Unknown result type (might be due to invalid IL or missing references) //IL_0097: Unknown result type (might be due to invalid IL or missing references) //IL_009c: Unknown result type (might be due to invalid IL or missing references) //IL_00a8: Unknown result type (might be due to invalid IL or missing references) //IL_00be: Unknown result type (might be due to invalid IL or missing references) //IL_00c3: 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) //IL_00d5: Unknown result type (might be due to invalid IL or missing references) //IL_00d6: Unknown result type (might be due to invalid IL or missing references) //IL_00dc: Unknown result type (might be due to invalid IL or missing references) if (Object.op_Implicit((Object)(object)ThrowPylon.muzzleflashObject)) { seed.MuzzleEffect(ThrowPylon.muzzleflashObject, transmit: false); } if (((EntityState)self).isAuthority) { Ray aimRay = ((BaseState)self).GetAimRay(); FireProjectileInfo val = default(FireProjectileInfo); val.crit = ((BaseState)self).RollCrit(); val.damage = ((BaseState)self).damageStat * ThrowPylon.damageCoefficient * multiplier; val.damageColorIndex = (DamageColorIndex)0; val.force = 0f; val.owner = ((EntityState)self).gameObject; val.position = seed.transform.position; val.procChainMask = default(ProcChainMask); val.projectilePrefab = ThrowPylon.projectilePrefab; val.rotation = Quaternion.LookRotation(((Ray)(ref aimRay)).direction); val.target = null; FireProjectileInfo val2 = val; ProjectileManager.instance.FireProjectile(val2); } }); } private void ArrowRain_DoFireArrowRain(orig_DoFireArrowRain orig, ArrowRain self) { orig.Invoke(self); FireForSeeds(((EntityState)self).characterBody, delegate(GameObject seed, SeedBehavior _b, SeedTracker _t, float multiplier) { //IL_0067: Unknown result type (might be due to invalid IL or missing references) //IL_007c: Unknown result type (might be due to invalid IL or missing references) if (Object.op_Implicit((Object)(object)ArrowRain.muzzleFlashEffect)) { seed.MuzzleEffect(ArrowRain.muzzleFlashEffect, transmit: false); } if (((EntityState)self).isAuthority && Object.op_Implicit((Object)(object)self.areaIndicatorInstance) && self.shouldFireArrowRain) { ProjectileManager.instance.FireProjectile(ArrowRain.projectilePrefab, self.areaIndicatorInstance.transform.position, self.areaIndicatorInstance.transform.rotation, ((EntityState)self).gameObject, ((BaseState)self).damageStat * ArrowRain.damageCoefficient * multiplier, 0f, Util.CheckRoll(((BaseState)self).critStat, ((EntityState)self).characterBody.master), (DamageColorIndex)0, (GameObject)null, -1f, (DamageTypeCombo?)null); } }); } private void FireFlower2_OnEnter(orig_OnEnter orig, FireFlower2 self) { orig.Invoke(self); FireForSeeds(((EntityState)self).characterBody, delegate(GameObject seed, SeedBehavior _b, SeedTracker _t, float multiplier) { //IL_002e: Unknown result type (might be due to invalid IL or missing references) //IL_0033: Unknown result type (might be due to invalid IL or missing references) //IL_0036: Unknown result type (might be due to invalid IL or missing references) //IL_006c: Unknown result type (might be due to invalid IL or missing references) //IL_0097: Unknown result type (might be due to invalid IL or missing references) //IL_009c: Unknown result type (might be due to invalid IL or missing references) //IL_00a8: Unknown result type (might be due to invalid IL or missing references) //IL_00be: Unknown result type (might be due to invalid IL or missing references) //IL_00c3: 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) //IL_00d5: Unknown result type (might be due to invalid IL or missing references) //IL_00d6: Unknown result type (might be due to invalid IL or missing references) //IL_00dc: Unknown result type (might be due to invalid IL or missing references) if (Object.op_Implicit((Object)(object)FireFlower2.muzzleFlashPrefab)) { seed.MuzzleEffect(FireFlower2.muzzleFlashPrefab, transmit: false); } if (((EntityState)self).isAuthority) { Ray aimRay = ((BaseState)self).GetAimRay(); FireProjectileInfo val = default(FireProjectileInfo); val.crit = ((BaseState)self).RollCrit(); val.damage = FireFlower2.damageCoefficient * ((BaseState)self).damageStat * multiplier; val.damageColorIndex = (DamageColorIndex)0; val.force = 0f; val.owner = ((EntityState)self).gameObject; val.position = seed.transform.position; val.procChainMask = default(ProcChainMask); val.projectilePrefab = FireFlower2.projectilePrefab; val.rotation = Quaternion.LookRotation(((Ray)(ref aimRay)).direction); val.useSpeedOverride = false; FireProjectileInfo val2 = val; ProjectileManager.instance.FireProjectile(val2); } }); } private void TreebotFireFruitSeed_OnEnter(orig_OnEnter orig, TreebotFireFruitSeed self) { orig.Invoke(self); FireForSeeds(((EntityState)self).characterBody, delegate(GameObject seed, SeedBehavior _b, SeedTracker _t, float multiplier) { //IL_003a: 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) //IL_0042: Unknown result type (might be due to invalid IL or missing references) //IL_007e: Unknown result type (might be due to invalid IL or missing references) //IL_00a9: Unknown result type (might be due to invalid IL or missing references) //IL_00ae: Unknown result type (might be due to invalid IL or missing references) //IL_00ba: Unknown result type (might be due to invalid IL or missing references) //IL_00d6: Unknown result type (might be due to invalid IL or missing references) //IL_00db: Unknown result type (might be due to invalid IL or missing references) //IL_00e0: Unknown result type (might be due to invalid IL or missing references) //IL_00ed: Unknown result type (might be due to invalid IL or missing references) //IL_00ee: Unknown result type (might be due to invalid IL or missing references) //IL_00f4: Unknown result type (might be due to invalid IL or missing references) if (Object.op_Implicit((Object)(object)self.muzzleFlashPrefab)) { seed.MuzzleEffect(self.muzzleFlashPrefab, transmit: false); } if (((EntityState)self).isAuthority) { Ray aimRay = ((BaseState)self).GetAimRay(); FireProjectileInfo val = default(FireProjectileInfo); val.crit = ((BaseState)self).RollCrit(); val.damage = self.damageCoefficient * ((BaseState)self).damageStat * multiplier; val.damageColorIndex = (DamageColorIndex)0; val.force = 0f; val.owner = ((EntityState)self).gameObject; val.position = seed.transform.position; val.procChainMask = default(ProcChainMask); val.projectilePrefab = self.projectilePrefab; val.rotation = Quaternion.LookRotation(((Ray)(ref aimRay)).direction); val.useSpeedOverride = false; FireProjectileInfo val2 = val; ProjectileManager.instance.FireProjectile(val2); } }); } private void FireSyringe_FixedUpdate(orig_FixedUpdate orig, FireSyringe self) { int projectilesFired = self.projectilesFired; orig.Invoke(self); int rate = Mathf.FloorToInt(((EntityState)self).fixedAge / self.fireDuration * (float)FireSyringe.projectileCount); FireForSeeds(((EntityState)self).characterBody, delegate(GameObject seed, SeedBehavior _b, SeedTracker _t, float multiplier) { //IL_0076: Unknown result type (might be due to invalid IL or missing references) //IL_007b: Unknown result type (might be due to invalid IL or missing references) //IL_00b0: Unknown result type (might be due to invalid IL or missing references) //IL_00cf: Unknown result type (might be due to invalid IL or missing references) //IL_00d4: Unknown result type (might be due to invalid IL or missing references) //IL_00e2: Unknown result type (might be due to invalid IL or missing references) //IL_00e7: Unknown result type (might be due to invalid IL or missing references) //IL_00e9: Unknown result type (might be due to invalid IL or missing references) if (projectilesFired <= rate && projectilesFired < FireSyringe.projectileCount) { GameObject val = FireSyringe.projectilePrefab; string attackSound = FireSyringe.attackSound; if (projectilesFired == FireSyringe.projectileCount - 1) { val = FireSyringe.finalProjectilePrefab; attackSound = FireSyringe.finalAttackSound; } if (Object.op_Implicit((Object)(object)FireSyringe.muzzleflashEffectPrefab)) { seed.MuzzleEffect(FireSyringe.muzzleflashEffectPrefab, transmit: false); } if (((EntityState)self).isAuthority) { Ray aimRay = ((BaseState)self).GetAimRay(); float num = (float)self.projectilesFired - (float)(FireSyringe.projectileCount - 1) / 2f; num = (float)(Mathf.FloorToInt(num) / (FireSyringe.projectileCount - 1)) * FireSyringe.totalYawSpread; Vector3 val2 = Util.ApplySpread(((Ray)(ref aimRay)).direction, 0f, 0f, 1f, 1f, num, 0f); ProjectileManager.instance.FireProjectile(val, seed.transform.position, Util.QuaternionSafeLookRotation(val2), ((EntityState)self).gameObject, ((BaseState)self).damageStat * FireSyringe.damageCoefficient * multiplier, FireSyringe.force * multiplier, Util.CheckRoll(((BaseState)self).critStat, ((EntityState)self).characterBody.master), (DamageColorIndex)0, (GameObject)null, -1f, (DamageTypeCombo?)null); } } }); } private void Flamethrower_OnEnter(orig_OnEnter orig, Flamethrower self) { orig.Invoke(self); FireForSeeds(((EntityState)self).characterBody, delegate(GameObject _s, SeedBehavior behavior, SeedTracker _t, float _m) { behavior.O[((object)self).GetType().FullName + ".IsCrit"] = ((BaseState)self).RollCrit(); }); } private void Flamethrower_OnExit(orig_OnExit orig, Flamethrower self) { orig.Invoke(self); if (!flamethrowerSeedSyncEffect) { return; } FireForSeeds(((EntityState)self).characterBody, delegate(GameObject _s, SeedBehavior behavior, SeedTracker _t, float _m) { string key = ((object)self).GetType().FullName + ".flamethrower"; if (behavior.U.SafeCheck(key)) { EntityState.Destroy(behavior.U[key]); } }); } private void Flamethrower_FixedUpdate(orig_FixedUpdate orig, Flamethrower self) { bool oldBegunFlamethrower = self.hasBegunFlamethrower; orig.Invoke(self); if (!flamethrowerSeedSyncEffect) { return; } FireForSeeds(((EntityState)self).characterBody, delegate(GameObject seed, SeedBehavior behavior, SeedTracker _t, float _m) { //IL_00c8: Unknown result type (might be due to invalid IL or missing references) //IL_00d8: Unknown result type (might be due to invalid IL or missing references) //IL_00dd: Unknown result type (might be due to invalid IL or missing references) //IL_00e0: Unknown result type (might be due to invalid IL or missing references) //IL_008c: Unknown result type (might be due to invalid IL or missing references) string key = ((object)self).GetType().FullName + ".flamethrower"; bool flag = oldBegunFlamethrower; if (self.stopwatch >= self.entryDuration && !flag) { flag = true; if (behavior.U.SafeCheck(key)) { EntityState.Destroy(behavior.U[key]); } behavior.U[key] = (Object)(object)Object.Instantiate<GameObject>(self.flamethrowerEffectPrefab, seed.transform); ((GameObject)behavior.U[key]).GetComponent<ScaleParticleSystemDuration>().newDuration = self.flamethrowerDuration; } if (flag && Object.op_Implicit(behavior.U[key])) { Transform transform = ((GameObject)behavior.U[key]).transform; Ray aimRay = ((BaseState)self).GetAimRay(); transform.forward = ((Ray)(ref aimRay)).direction; } }); } private void Flamethrower_FireGauntlet(orig_FireGauntlet orig, Flamethrower self, string muzzleString) { orig.Invoke(self, muzzleString); FireForSeeds(((EntityState)self).characterBody, delegate(GameObject seed, SeedBehavior behavior, SeedTracker _t, float multiplier) { //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_0026: Unknown result type (might be due to invalid IL or missing references) //IL_002d: Unknown result type (might be due to invalid IL or missing references) //IL_0034: Unknown result type (might be due to invalid IL or missing references) //IL_0039: Unknown result type (might be due to invalid IL or missing references) //IL_003e: Unknown result type (might be due to invalid IL or missing references) //IL_0045: Unknown result type (might be due to invalid IL or missing references) //IL_004a: 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_0057: Unknown result type (might be due to invalid IL or missing references) //IL_0062: Unknown result type (might be due to invalid IL or missing references) //IL_0082: Unknown result type (might be due to invalid IL or missing references) //IL_0090: Unknown result type (might be due to invalid IL or missing references) //IL_009c: Unknown result type (might be due to invalid IL or missing references) //IL_00a7: Unknown result type (might be due to invalid IL or missing references) //IL_00d7: Unknown result type (might be due to invalid IL or missing references) //IL_00d9: Unknown result type (might be due to invalid IL or missing references) //IL_00de: Unknown result type (might be due to invalid IL or missing references) //IL_00e4: Unknown result type (might be due to invalid IL or missing references) //IL_00e9: Unknown result type (might be due to invalid IL or missing references) //IL_00ee: Unknown result type (might be due to invalid IL or missing references) //IL_00f9: Unknown result type (might be due to invalid IL or missing references) //IL_010a: Unknown result type (might be due to invalid IL or missing references) //IL_012f: Unknown result type (might be due to invalid IL or missing references) //IL_0134: Unknown result type (might be due to invalid IL or missing references) //IL_0139: Unknown result type (might be due to invalid IL or missing references) //IL_0144: Unknown result type (might be due to invalid IL or missing references) //IL_014c: Expected O, but got Unknown if (((EntityState)self).isAuthority) { BulletAttack val = new BulletAttack { owner = ((EntityState)self).gameObject, weapon = seed, origin = seed.transform.position }; Ray aimRay = ((BaseState)self).GetAimRay(); val.aimVector = ((Ray)(ref aimRay)).direction; val.minSpread = 0f; val.damage = self.tickDamageCoefficient * ((BaseState)self).damageStat * multiplier; val.force = Flamethrower.force * multiplier; val.muzzleName = muzzleString; val.hitEffectPrefab = Flamethrower.impactEffectPrefab; val.isCrit = (bool)behavior.O[((object)self).GetType().FullName + ".IsCrit"]; val.falloffModel = (FalloffModel)0; val.stopperMask = ((LayerIndex)(ref LayerIndex.world)).mask; val.procCoefficient = Flamethrower.procCoefficientPerTick; val.maxDistance = self.maxDistance; val.damageType = DamageTypeCombo.op_Implicit((DamageType)(Util.CheckRoll(Flamethrower.ignitePercentChance, ((EntityState)self).characterBody.master) ? 128 : 0)); val.radius = Flamethrower.radius; val.smartCollision = true; BulletAttack val2 = val; if (!flamethrowerSeedSyncEffect) { val2.tracerEffectPrefab = FireGatling.tracerEffectPrefab; } val2.FilterOutOwnerFromAttack(); val2.Fire(); } }); } private void BaseThrowBombState_Fire(orig_Fire orig, BaseThrowBombState self) { orig.Invoke(self); FireForSeeds(((EntityState)self).characterBody, delegate(GameObject seed, SeedBehavior _b, SeedTracker _t, float multiplier) { //IL_007c: Unknown result type (might be due to invalid IL or missing references) //IL_009c: Unknown result type (might be due to invalid IL or missing references) //IL_00a1: Unknown result type (might be due to invalid IL or missing references) //IL_00ae: Unknown result type (might be due to invalid IL or missing references) //IL_00b3: Unknown result type (might be due to invalid IL or missing references) //IL_00b7: Unknown result type (might be due to invalid IL or missing references) //IL_00bc: Unknown result type (might be due to invalid IL or missing references) //IL_00c1: Unknown result type (might be due to invalid IL or missing references) //IL_00fa: Unknown result type (might be due to invalid IL or missing references) //IL_00fb: Unknown result type (might be due to invalid IL or missing references) //IL_0128: Unknown result type (might be due to invalid IL or missing references) if (((EntityState)self).isAuthority && Object.op_Implicit((Object)(object)self.projectilePrefab)) { float damage = Util.Remap(self.charge, 0f, 1f, self.minDamageCoefficient, self.maxDamageCoefficient) * ((BaseState)self).damageStat; float force = self.charge * self.force; FireProjectileInfo val = default(FireProjectileInfo); val.projectilePrefab = self.projectilePrefab; val.position = seed.transform.position; Ray aimRay = ((BaseState)self).GetAimRay(); val.rotation = Util.QuaternionSafeLookRotation(((Ray)(ref aimRay)).direction); val.owner = ((EntityState)self).gameObject; val.damage = damage; val.force = force; val.crit = ((BaseState)self).RollCrit(); FireProjectileInfo val2 = val; self.ModifyProjectile(ref val2); val2.damage *= multiplier; val2.force *= multiplier; ProjectileManager.instance.FireProjectile(val2); } }); } private void FireFireBolt_FireGauntlet(orig_FireGauntlet orig, FireFireBolt self) { bool hasFiredGauntlet = self.hasFiredGauntlet; orig.Invoke(self); if (hasFiredGauntlet) { return; } FireForSeeds(((EntityState)self).characterBody, delegate(GameObject seed, SeedBehavior _b, SeedTracker _t, float multiplier) { //IL_0047: Unknown result type (might be due to invalid IL or missing references) //IL_0052: Unknown result type (might be due to invalid IL or missing references) //IL_0057: 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) //IL_005f: Unknown result type (might be due to invalid IL or missing references) if (Object.op_Implicit((Object)(object)self.muzzleflashEffectPrefab)) { seed.MuzzleEffect(self.muzzleflashEffectPrefab, transmit: false); } if (((EntityState)self).isAuthority) { ProjectileManager instance = ProjectileManager.instance; GameObject projectilePrefab = self.projectilePrefab; Vector3 position = seed.transform.position; Ray aimRay = ((BaseState)self).GetAimRay(); instance.FireProjectile(projectilePrefab, position, Util.QuaternionSafeLookRotation(((Ray)(ref aimRay)).direction), ((EntityState)self).gameObject, self.damageCoefficient * ((BaseState)self).damageStat * multiplier, 0f, ((BaseState)self).RollCrit(), (DamageColorIndex)0, (GameObject)null, -1f, (DamageTypeCombo?)null); } }); } private void FireBuzzsaw_FixedUpdate(orig_FixedUpdate orig, FireBuzzsaw self) { float fireAge = self.fireAge + Time.fixedDeltaTime; orig.Invoke(self); FireForSeeds(((EntityState)self).characterBody, delegate(GameObject _s, SeedBehavior _b, SeedTracker _t, float multiplier) { //IL_002c: Unknown result type (might be due to invalid IL or missing references) //IL_0031: Unknown result type (might be due to invalid IL or missing references) //IL_0042: Unknown result type (might be due to invalid IL or missing references) //IL_0053: Unknown result type (might be due to invalid IL or missing references) //IL_0064: Unknown result type (might be due to invalid IL or missing references) //IL_0069: Unknown result type (might be due to invalid IL or missing references) //IL_006e: Unknown result type (might be due to invalid IL or missing references) //IL_008e: Unknown result type (might be due to invalid IL or missing references) //IL_009f: 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_00cc: Expected O, but got Unknown if (((EntityState)self).isAuthority && fireAge >= 1f / self.fireFrequency) { OverlapAttack val = new OverlapAttack { attacker = ((EntityState)self).gameObject, inflictor = ((EntityState)self).gameObject, teamIndex = TeamComponent.GetObjectTeam(self.attack.attacker), damage = FireBuzzsaw.damageCoefficientPerSecond * ((BaseState)self).damageStat / FireBuzzsaw.baseFireFrequency * multiplier, procCoefficient = FireBuzzsaw.procCoefficientPerSecond / FireBuzzsaw.baseFireFrequency, hitBoxGroup = self.attack.hitBoxGroup, isCrit = ((EntityState)self).characterBody.RollCrit() }; if (Object.op_Implicit((Object)(object)FireBuzzsaw.impactEffectPrefab)) { val.hitEffectPrefab = FireBuzzsaw.impactEffectPrefab; } val.ResetIgnoredHealthComponents(); val.Fire((List<HurtBox>)null); } }); } private void AimThrowableBase_FireProjectile(orig_FireProjectile orig, AimThrowableBase self) { orig.Invoke(self); FireForSeeds(((EntityState)self).characterBody, delegate(GameObject seed, SeedBehavior _b, SeedTracker _t, float multiplier) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0034: Unknown result type (might be due to invalid IL or missing references) //IL_0039: Unknown result type (might be due to invalid IL or missing references) //IL_0062: Unknown result type (might be due to invalid IL or missing references) //IL_0067: Unknown result type (might be due to invalid IL or missing references) //IL_006c: Unknown result type (might be due to invalid IL or missing references) //IL_0071: Unknown result type (might be due to invalid IL or missing references) //IL_00ab: Unknown result type (might be due to invalid IL or missing references) //IL_00ac: Unknown result type (might be due to invalid IL or missing references) //IL_00fd: Unknown result type (might be due to invalid IL or missing references) FireProjectileInfo val = default(FireProjectileInfo); val.crit = ((BaseState)self).RollCrit(); val.owner = ((EntityState)self).gameObject; val.position = seed.transform.position; val.projectilePrefab = self.projectilePrefab; val.rotation = Util.QuaternionSafeLookRotation(((Ray)(ref self.currentTrajectoryInfo.finalRay)).direction, Vector3.up); ((FireProjectileInfo)(ref val)).speedOverride = self.currentTrajectoryInfo.speedOverride; val.damage = self.damageCoefficient * ((BaseState)self).damageStat; FireProjectileInfo val2 = val; if (self.setFuse) { ((FireProjectileInfo)(ref val2)).fuseOverride = self.currentTrajectoryInfo.travelTime; } self.ModifyProjectile(ref val2); val2.force *= multiplier; val2.damage *= multiplier; ProjectileManager.instance.FireProjectile(val2); }); } private void RecoverAimStunDrone_OnEnter(orig_OnEnter orig, RecoverAimStunDrone self) { orig.Invoke(self); FireForSeeds(((EntityState)self).characterBody, delegate(GameObject seed, SeedBehavior _b, SeedTracker _t, float _m) { if (Object.op_Implicit((Object)(object)RecoverAimStunDrone.muzzleEffectPrefab)) { seed.MuzzleEffect(RecoverAimStunDrone.muzzleEffectPrefab, transmit: false); } }); } private void BaseNailgunState_FireBullet(orig_FireBullet orig, BaseNailgunState self, Ray aimRay, int bulletCount, float spreadPitchScale, float spreadYawScale) { //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_0034: Unknown result type (might be due to invalid IL or missing references) orig.Invoke(self, aimRay, bulletCount, spreadPitchScale, spreadYawScale); FireForSeeds(((EntityState)self).characterBody, delegate(GameObject seed, SeedBehavior _b, SeedTracker _t, float multiplier) { //IL_0028: Unknown result type (might be due to invalid IL or missing references) //IL_002d: Unknown result type (might be due to invalid IL or missing references) //IL_0034: Unknown result type (might be due to invalid IL or missing references) //IL_003e: Unknown result type (might be due to invalid IL or missing references) //IL_0045: Unknown result type (might be due to invalid IL or missing references) //IL_004a: Unknown result type (might be due to invalid IL or missing references) //IL_004f: Unknown result type (might be due to invalid IL or missing references) //IL_0060: Unknown result type (might be due to invalid IL or missing references) //IL_0067: Unknown result type (might be due to invalid IL or missing references) //IL_0073: Unknown result type (might be due to invalid IL or missing references) //IL_008d: Unknown result type (might be due to invalid IL or missing references) //IL_008f: Unknown result type (might be due to invalid IL or missing references) //IL_0094: 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_009b: Unknown result type (might be due to invalid IL or missing references) //IL_00a0: Unknown result type (might be due to invalid IL or missing references) //IL_00a2: Unknown result type (might be due to invalid IL or missing references) //IL_00a7: 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_00bc: Unknown result type (might be due to invalid IL or missing references) //IL_00c2: 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) //IL_00d3: Unknown result type (might be due to invalid IL or missing references) //IL_00de: Unknown result type (might be due to invalid IL or missing references) //IL_00ef: Unknown result type (might be due to invalid IL or missing references) //IL_00fa: Unknown result type (might be due to invalid IL or missing references) //IL_0105: Unknown result type (might be due to invalid IL or missing references) //IL_0110: Unknown result type (might be due to invalid IL or missing references) //IL_0126: Unknown result type (might be due to invalid IL or missing references) //IL_012d: Unknown result type (might be due to invalid IL or missing references) //IL_0134: Unknown result type (might be due to invalid IL or missing references) //IL_0147: Unknown result type (might be due to invalid IL or missing references) //IL_015a: Unknown result type (might be due to invalid IL or missing references) //IL_0165: Unknown result type (might be due to invalid IL or missing references) //IL_0171: Expected O, but got Unknown if (Object.op_Implicit((Object)(object)BaseNailgunState.muz