Decompiled source of M4A1 v1.0.14
plugins/M4A1Mod.dll
Decompiled a month ago
The result has been truncated due to the large size, download it to view full contents!
using System; using System.Collections; using System.Collections.Generic; using System.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.Cryptography; using System.Security.Permissions; using System.Text; using AncientScepter; using BepInEx; using BepInEx.Bootstrap; using BepInEx.Configuration; using BepInEx.Logging; using EmotesAPI; using EntityStates; using EntityStates.AI.Walker; using EntityStates.Captain.Weapon; using EntityStates.Commando.CommandoWeapon; using EntityStates.MeridianEvent; using EntityStates.Missions.BrotherEncounter; using EntityStates.SurvivorPod; using EntityStates.Toolbot; using HG; using HG.BlendableTypes; using M4A1Mod.Modules; using M4A1Mod.Modules.Achievements; using M4A1Mod.Modules.Characters; using M4A1Mod.Survivors.M4A1; using M4A1Mod.Survivors.M4A1.Components; using M4A1Mod.Survivors.M4A1.Config; using M4A1Mod.Survivors.M4A1.Config.DummyLink; using M4A1Mod.Survivors.M4A1.Config.Grenades; using M4A1Mod.Survivors.M4A1.Constants; using M4A1Mod.Survivors.M4A1.Constants.DummyLink; using M4A1Mod.Survivors.M4A1.Constants.Grenades; using M4A1Mod.Survivors.M4A1.Controllers; using M4A1Mod.Survivors.M4A1.Hooks; using M4A1Mod.Survivors.M4A1.Networking; using M4A1Mod.Survivors.M4A1.SkillStates; using M4A1Mod.Survivors.M4A1.SkillStates.Grenades; using M4A1Mod.Survivors.M4A1.SkillStates.Helicopter; using M4A1Mod.Survivors.M4A1.SkillStates.SpawnDummyLink; using M4A1Mod.Survivors.M4A1.Utils; using On.EntityStates.MeridianEvent; using On.EntityStates.Missions.BrotherEncounter; using On.RoR2; using On.RoR2.Skills; using On.RoR2.UI; using R2API; using R2API.Networking; using R2API.Networking.Interfaces; using R2API.Utils; using RoR2; using RoR2.Achievements; using RoR2.Audio; using RoR2.CharacterAI; using RoR2.ContentManagement; using RoR2.Navigation; using RoR2.Projectile; using RoR2.Skills; using RoR2.UI; using TMPro; using UnityEngine; using UnityEngine.AddressableAssets; using UnityEngine.Networking; using UnityEngine.Rendering; using UnityEngine.UI; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")] [assembly: AssemblyCompany("M4A1Mod")] [assembly: AssemblyConfiguration("Debug")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0+a269804c82d877a00679fd0c2d8a607bf81175f3")] [assembly: AssemblyProduct("M4A1Mod")] [assembly: AssemblyTitle("M4A1Mod")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.0.0.0")] [module: UnverifiableCode] namespace M4A1Mod { internal static class Log { internal static ManualLogSource _logSource; internal static void Init(ManualLogSource logSource) { _logSource = logSource; } internal static void Debug(object data) { _logSource.LogDebug(data); } internal static void DebugConditional(object data, int debugLevel = 1) { if (Mod.debugLevel.Value >= debugLevel) { _logSource.LogDebug(data); } } internal static void Error(object data) { _logSource.LogError(data); } internal static void ErrorAssetBundle(string assetName, string bundleName) { Error("failed to load asset, " + assetName + ", because it does not exist in asset bundle, " + bundleName); } internal static void Fatal(object data) { _logSource.LogFatal(data); } internal static void Info(object data) { _logSource.LogInfo(data); } internal static void Message(object data) { _logSource.LogMessage(data); } internal static void Warning(object data) { _logSource.LogWarning(data); } } [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] [NetworkCompatibility(/*Could not decode attribute arguments.*/)] [BepInPlugin("com.Snoresville.M4A1", "M4A1", "1.0.14")] public class M4A1Plugin : BaseUnityPlugin { public const string MODUID = "com.Snoresville.M4A1"; public const string MODNAME = "M4A1"; public const string MODVERSION = "1.0.14"; public const string DEVELOPER_PREFIX = "SNORESVILLE"; public static M4A1Plugin instance; private void Awake() { instance = this; Log.Init(((BaseUnityPlugin)this).Logger); Language.Init(); new M4A1Survivor().Initialize(); new ContentPacks().Initialize(); SetupNetworkMessages(); } private void SetupNetworkMessages() { NetworkingAPI.RegisterMessageType<PlaySoundNetworkRequest>(); } } } namespace M4A1Mod.Survivors.M4A1 { public static class AI { private class SkillDriverProps { public string name; public SkillDef requiredSkill = null; public bool requireSkillReady = false; public bool noRepeat = false; public float minDistance = 0f; public float maxDistance = 200f; public AISkillDriver nextHighPriorityOverride = null; } [Serializable] [CompilerGenerated] private sealed class <>c { public static readonly <>c <>9 = new <>c(); public static GetDeployableSameSlotLimit <>9__4_0; internal int <Init>b__4_0(CharacterMaster self, int deployable) { return M4A1Mod.Survivors.M4A1.Constants.DummyLink.Skill.maximumDeployed; } } public static GameObject dummyLinkMaster; public static DeployableSlot dummylinkSlot; public static CharacterBody characterBody; public static void Init(GameObject bodyPrefab, string masterName) { //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_019f: Unknown result type (might be due to invalid IL or missing references) //IL_01c4: Unknown result type (might be due to invalid IL or missing references) //IL_01e4: Unknown result type (might be due to invalid IL or missing references) //IL_01f8: Unknown result type (might be due to invalid IL or missing references) //IL_0200: Unknown result type (might be due to invalid IL or missing references) //IL_0254: Unknown result type (might be due to invalid IL or missing references) //IL_027c: Unknown result type (might be due to invalid IL or missing references) //IL_029c: Unknown result type (might be due to invalid IL or missing references) //IL_02b0: Unknown result type (might be due to invalid IL or missing references) //IL_02b8: Unknown result type (might be due to invalid IL or missing references) //IL_0021: 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_002c: Expected O, but got Unknown dummyLinkMaster = Prefabs.CreateBlankMasterPrefab(bodyPrefab, masterName); object obj = <>c.<>9__4_0; if (obj == null) { GetDeployableSameSlotLimit val = (CharacterMaster self, int deployable) => M4A1Mod.Survivors.M4A1.Constants.DummyLink.Skill.maximumDeployed; <>c.<>9__4_0 = val; obj = (object)val; } dummylinkSlot = DeployableAPI.RegisterDeployableSlot((GetDeployableSameSlotLimit)obj); dummyLinkMaster.gameObject.AddComponent<SetDontDestroyOnLoad>(); characterBody = bodyPrefab.GetComponent<CharacterBody>(); BaseAI component = dummyLinkMaster.GetComponent<BaseAI>(); component.aimVectorDampTime = 0.001f; component.aimVectorMaxSpeed = 9999f; component.fullVision = true; component.enemyAttentionDuration = 5f; float minDistance = 0f; float maxRange = M4A1Mod.Survivors.M4A1.Constants.AssaultRifle.maxRange; float num = 0f; float range = M4A1Mod.Survivors.M4A1.Constants.ParticleCannon.range; float maxDistance = 99999f; Secondary(new SkillDriverProps { name = "Generic Secondary", requireSkillReady = true, noRepeat = true }); Utility(new SkillDriverProps { name = "Generic Utility", requireSkillReady = true, noRepeat = true }); Special(new SkillDriverProps { name = "Generic Special", requireSkillReady = true, noRepeat = true }); Primary(new SkillDriverProps { name = "Fire Particle Cannon", requiredSkill = SkillDefs.particleCannon, minDistance = num, maxDistance = num }); Primary(new SkillDriverProps { name = "Assault Rifle", requiredSkill = SkillDefs.assaultRifle, minDistance = minDistance, maxDistance = maxRange }); Primary(new SkillDriverProps { name = "Generic Primary" }); AISkillDriver val2 = dummyLinkMaster.AddComponent<AISkillDriver>(); val2.customName = "Chase"; val2.skillSlot = (SkillSlot)(-1); val2.requireSkillReady = false; val2.minDistance = 0f; val2.maxDistance = maxDistance; val2.moveTargetType = (TargetType)0; val2.activationRequiresTargetLoS = false; val2.activationRequiresAimTargetLoS = false; val2.activationRequiresAimConfirmation = false; val2.movementType = (MovementType)1; val2.moveInputScale = 1f; val2.aimType = (AimType)1; val2.buttonPressType = (ButtonPressType)0; val2.shouldSprint = true; val2.nextHighPriorityOverride = null; val2.driverUpdateTimerOverride = 0.1f; val2.resetCurrentEnemyOnNextDriverSelection = true; val2.noRepeat = false; val2.nextHighPriorityOverride = null; AISkillDriver val3 = dummyLinkMaster.AddComponent<AISkillDriver>(); val3.customName = "Protect Leader"; val3.skillSlot = (SkillSlot)(-1); val3.requireSkillReady = false; val3.minDistance = 0f; val3.maxDistance = float.PositiveInfinity; val3.moveTargetType = (TargetType)2; val3.activationRequiresTargetLoS = false; val3.activationRequiresAimTargetLoS = false; val3.activationRequiresAimConfirmation = false; val3.movementType = (MovementType)1; val3.moveInputScale = 1f; val3.aimType = (AimType)1; val3.buttonPressType = (ButtonPressType)0; val3.shouldSprint = true; val3.driverUpdateTimerOverride = 0.1f; val3.nextHighPriorityOverride = val2; } private static AISkillDriver CreateSkillDriver(SkillSlot slot, SkillDriverProps props) { //IL_0019: Unknown result type (might be due to invalid IL or missing references) //IL_001a: 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_00bc: Unknown result type (might be due to invalid IL or missing references) //IL_00ce: Unknown result type (might be due to invalid IL or missing references) //IL_00ea: Unknown result type (might be due to invalid IL or missing references) AISkillDriver val = dummyLinkMaster.AddComponent<AISkillDriver>(); val.customName = props.name; val.skillSlot = slot; val.requiredSkill = props.requiredSkill; val.requireSkillReady = props.requireSkillReady; val.requireEquipmentReady = false; val.minUserHealthFraction = float.NegativeInfinity; val.maxUserHealthFraction = float.PositiveInfinity; val.minTargetHealthFraction = float.Epsilon; val.maxTargetHealthFraction = float.PositiveInfinity; val.minDistance = props.minDistance; val.maxDistance = props.maxDistance; val.selectionRequiresTargetLoS = true; val.selectionRequiresOnGround = false; val.selectionRequiresAimTarget = true; val.maxTimesSelected = -1; val.moveTargetType = (TargetType)0; val.activationRequiresTargetLoS = false; val.activationRequiresAimTargetLoS = false; val.activationRequiresAimConfirmation = false; val.movementType = (MovementType)2; val.moveInputScale = 1f; val.aimType = (AimType)2; val.ignoreNodeGraph = false; val.shouldSprint = true; val.shouldFireEquipment = true; val.buttonPressType = (ButtonPressType)0; val.driverUpdateTimerOverride = -1f; val.resetCurrentEnemyOnNextDriverSelection = false; val.noRepeat = props.noRepeat; val.nextHighPriorityOverride = props.nextHighPriorityOverride; return val; } private static AISkillDriver Primary(SkillDriverProps props) { return CreateSkillDriver((SkillSlot)0, props); } private static AISkillDriver Secondary(SkillDriverProps props) { return CreateSkillDriver((SkillSlot)1, props); } private static AISkillDriver Utility(SkillDriverProps props) { return CreateSkillDriver((SkillSlot)2, props); } private static AISkillDriver Special(SkillDriverProps props) { return CreateSkillDriver((SkillSlot)3, props); } } public static class Assets { public static GameObject stunGrenadeExplosionEffect; public static GameObject explosiveGrenadeExplosionEffect; public static GameObject incendiaryGrenadeExplosionEffect; public static GameObject smokeGrenadeExplosionEffect; public static GameObject smokeBuffEffect; public static GameObject particleCannonImpactEffect; public static GameObject particleCannonTracerEffect; public static GameObject particleCannonMuzzleFlashEffect; public static GameObject assaultRifleMuzzleFlashEffect; public static GameObject dummyLinkSpawnLocationEffect; public static GameObject respawnSicknessDebuffEffect; public static GameObject assaultRifleBulletTracerEffect; public static GameObject stunGrenadeProjectilePrefab; public static GameObject explosiveGrenadeProjectilePrefab; public static GameObject incendiaryGrenadeProjectilePrefab; public static GameObject smokeGrenadeProjectilePrefab; public static GameObject incendiaryGrenadeDamageZonePrefab; public static GameObject smokeGrenadeAOEPrefab; public static GameObject helicopterDropPod; public static AssetBundle assetBundle; public static void Init(AssetBundle _assetBundle) { assetBundle = _assetBundle; CreateHelicopterDropPod(); CreateEffects(); CreateProjectiles(); } private static string HashString(string str) { MD5 mD = MD5.Create(); byte[] array = mD.ComputeHash(Encoding.UTF8.GetBytes(str)); mD.Dispose(); return array.ToString(); } private static void CreateHelicopterDropPod() { //IL_0041: 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_0145: Unknown result type (might be due to invalid IL or missing references) //IL_014a: Unknown result type (might be due to invalid IL or missing references) //IL_01dd: Unknown result type (might be due to invalid IL or missing references) //IL_01e2: Unknown result type (might be due to invalid IL or missing references) helicopterDropPod = PrefabAPI.InstantiateClone(assetBundle.LoadAsset<GameObject>("HelicopterModel"), "M4A1HelicopterPod", true); ChildLocator component = helicopterDropPod.GetComponent<ChildLocator>(); NetworkIdentity val = helicopterDropPod.AddComponent<NetworkIdentity>(); val.SetDynamicAssetId(NetworkHash128.Parse(HashString("M4A1 Survivor Pod GameObject"))); SurvivorPodController val2 = helicopterDropPod.AddComponent<SurvivorPodController>(); val2.cameraBone = component.FindChild("CameraForward"); Log.DebugConditional(5); ModelLocator val3 = helicopterDropPod.AddComponent<ModelLocator>(); Log.DebugConditional(6); val3.modelTransform = helicopterDropPod.transform.Find("Base/Model"); val3.modelBaseTransform = helicopterDropPod.transform.Find("Base/Model"); val3.modelScaleCompensation = 1f; val3.autoUpdateModelTransform = false; val3.dontDetatchFromParent = false; val3.noCorpse = false; val3.dontReleaseModelOnDeath = false; val3.preserveModel = false; val3.forceCulled = false; val3.normalizeToFloor = false; Log.DebugConditional(7); EntityStateMachine component2 = helicopterDropPod.GetComponent<EntityStateMachine>(); component2.customName = "Main"; component2.initialStateType = new SerializableEntityStateType(typeof(HelicopterIdle)); component2.mainStateType = new SerializableEntityStateType(typeof(HelicopterIdle)); NetworkStateMachine val4 = helicopterDropPod.AddComponent<NetworkStateMachine>(); val4.stateMachines = (EntityStateMachine[])(object)new EntityStateMachine[1] { component2 }; helicopterDropPod.AddComponent<EntityLocator>().entity = helicopterDropPod.gameObject; Log.DebugConditional(9); VehicleSeat component3 = helicopterDropPod.GetComponent<VehicleSeat>(); component3.seatPosition = component.FindChild("Seat"); component3.exitPosition = component.FindChild("ExitPos"); component3.hidePassenger = true; component3.passengerState = new SerializableEntityStateType(typeof(Idle)); component3.exitVehicleContextString = "SNORESVILLE_M4A1_SURVIVOR_POD_EXIT"; component3.disablePassengerMotor = true; component3.isEquipmentActivationAllowed = false; component3.shouldProximityHighlight = false; Log.DebugConditional(11); helicopterDropPod.AddComponent<HelicopterMovementComponent>(); } private static void CreateEffects() { CreateGrenadeEffects(); CreateAssaultRifleEffects(); CreateParticleCannonEffects(); CreateDummyLinkSpawnLocationEffect(); CreateRespawnSicknessEffect(); } private static GameObject CreateTracer(string path, string newTracerName) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0007: 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_0065: Unknown result type (might be due to invalid IL or missing references) GameObject val = PrefabAPI.InstantiateClone(Addressables.LoadAssetAsync<GameObject>((object)path).WaitForCompletion(), newTracerName); if (!Object.op_Implicit((Object)(object)val.GetComponent<EffectComponent>())) { val.AddComponent<EffectComponent>(); } if (!Object.op_Implicit((Object)(object)val.GetComponent<VFXAttributes>())) { VFXAttributes val2 = val.AddComponent<VFXAttributes>(); val2.DoNotPool = true; val2.DoNotCullPool = true; val2.vfxIntensity = (VFXIntensity)0; val2.vfxPriority = (VFXPriority)2; } if (!Object.op_Implicit((Object)(object)val.GetComponent<NetworkIdentity>())) { val.AddComponent<NetworkIdentity>(); } val.GetComponent<Tracer>().speed = 250f; val.GetComponent<Tracer>().length = 50f; return val; } private static void CreateAssaultRifleEffects() { //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_0049: Unknown result type (might be due to invalid IL or missing references) //IL_0053: Expected O, but got Unknown //IL_0059: 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_009c: Unknown result type (might be due to invalid IL or missing references) //IL_00a6: Expected O, but got Unknown assaultRifleMuzzleFlashEffect = PrefabAPI.InstantiateClone(Addressables.LoadAssetAsync<GameObject>((object)"RoR2/Base/Common/VFX/Muzzleflash1.prefab").WaitForCompletion(), "M4A1AssaultRifleMuzzleFlashEffect", true); assaultRifleMuzzleFlashEffect.AddComponent<NetworkIdentity>(); EffectComponent component = assaultRifleMuzzleFlashEffect.GetComponent<EffectComponent>(); component.soundName = "m4a1_shoot"; Content.AddEffectDef(new EffectDef(assaultRifleMuzzleFlashEffect)); assaultRifleBulletTracerEffect = PrefabAPI.InstantiateClone(Addressables.LoadAssetAsync<GameObject>((object)"RoR2/Base/Commando/TracerCommandoDefault.prefab").WaitForCompletion(), "M4A1AssaultRifleBulletTracerEffect", true); assaultRifleBulletTracerEffect.AddComponent<NetworkIdentity>(); Tracer component2 = assaultRifleBulletTracerEffect.GetComponent<Tracer>(); component2.speed = 500f; Content.AddEffectDef(new EffectDef(assaultRifleBulletTracerEffect)); } private static void CreateGrenadeEffects() { //IL_0048: Unknown result type (might be due to invalid IL or missing references) //IL_0052: Expected O, but got Unknown //IL_008a: Unknown result type (might be due to invalid IL or missing references) //IL_0094: Expected O, but got Unknown //IL_00dc: Unknown result type (might be due to invalid IL or missing references) //IL_00e6: Expected O, but got Unknown //IL_0123: 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) //IL_013e: Unknown result type (might be due to invalid IL or missing references) //IL_0143: Unknown result type (might be due to invalid IL or missing references) //IL_0175: Unknown result type (might be due to invalid IL or missing references) //IL_017a: Unknown result type (might be due to invalid IL or missing references) //IL_0190: Unknown result type (might be due to invalid IL or missing references) //IL_0195: Unknown result type (might be due to invalid IL or missing references) stunGrenadeExplosionEffect = PrefabAPI.InstantiateClone(LegacyResourcesAPI.Load<GameObject>("prefabs/effects/lightningstakenova"), "M4A1StunGrenadeExplosionEffect", true); stunGrenadeExplosionEffect.AddComponent<NetworkIdentity>(); EffectComponent component = stunGrenadeExplosionEffect.GetComponent<EffectComponent>(); component.applyScale = true; component.soundName = "m4a1_grenade_stun_detonate"; Content.AddEffectDef(new EffectDef(stunGrenadeExplosionEffect)); explosiveGrenadeExplosionEffect = assetBundle.LoadEffect("ExplosiveGrenadeEffect", parentToTransform: true); component = explosiveGrenadeExplosionEffect.GetComponent<EffectComponent>(); component.applyScale = false; component.soundName = "m4a1_grenade_explosion_detonate"; Content.AddEffectDef(new EffectDef(explosiveGrenadeExplosionEffect)); incendiaryGrenadeExplosionEffect = PrefabAPI.InstantiateClone(LegacyResourcesAPI.Load<GameObject>("prefabs/effects/lightningstakenova"), "M4A1IncendiaryGrenadeExplosionEffect", true); incendiaryGrenadeExplosionEffect.AddComponent<NetworkIdentity>(); component = incendiaryGrenadeExplosionEffect.GetComponent<EffectComponent>(); component.applyScale = false; component.soundName = "m4a1_grenade_incendiary_detonate"; Content.AddEffectDef(new EffectDef(incendiaryGrenadeExplosionEffect)); smokeGrenadeExplosionEffect = assetBundle.LoadEffect("SmokeGrenadeEffect", "m4a1_grenade_smoke_detonate", parentToTransform: true); component = smokeGrenadeExplosionEffect.GetComponent<EffectComponent>(); ParticleSystem component2 = ((Component)((Component)component).transform.Find("Gas")).GetComponent<ParticleSystem>(); MainModule main = component2.main; ShapeModule shape = ((Component)((Component)component).transform.Find("Gas")).GetComponent<ParticleSystem>().shape; ((MainModule)(ref main)).duration = M4A1Mod.Survivors.M4A1.Constants.Grenades.Smoke.duration; ((ShapeModule)(ref shape)).radius = M4A1Mod.Survivors.M4A1.Constants.Grenades.Smoke.radius; component2 = ((Component)((Component)component).transform.Find("Gas Emitting")).GetComponent<ParticleSystem>(); main = component2.main; shape = ((Component)((Component)component).transform.Find("Gas Emitting")).GetComponent<ParticleSystem>().shape; ((MainModule)(ref main)).duration = M4A1Mod.Survivors.M4A1.Constants.Grenades.Smoke.duration; ((ShapeModule)(ref shape)).radius = M4A1Mod.Survivors.M4A1.Constants.Grenades.Smoke.radius; smokeBuffEffect = assetBundle.LoadEffect("SmokeBuffEffect", parentToTransform: true); Object.DestroyImmediate((Object)(object)smokeBuffEffect.GetComponent<EffectComponent>()); Object.DestroyImmediate((Object)(object)smokeBuffEffect.GetComponent<DestroyOnTimer>()); } private static void CreateParticleCannonEffects() { //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_000d: 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_005a: Unknown result type (might be due to invalid IL or missing references) //IL_0064: Expected O, but got Unknown //IL_006a: Unknown result type (might be due to invalid IL or missing references) //IL_006f: Unknown result type (might be due to invalid IL or missing references) //IL_0089: Unknown result type (might be due to invalid IL or missing references) //IL_008e: 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_00ea: Unknown result type (might be due to invalid IL or missing references) //IL_014b: Unknown result type (might be due to invalid IL or missing references) //IL_0155: Unknown result type (might be due to invalid IL or missing references) //IL_0187: Unknown result type (might be due to invalid IL or missing references) //IL_0191: Unknown result type (might be due to invalid IL or missing references) //IL_01a3: Unknown result type (might be due to invalid IL or missing references) //IL_01a8: Unknown result type (might be due to invalid IL or missing references) //IL_01ba: Unknown result type (might be due to invalid IL or missing references) //IL_01bf: Unknown result type (might be due to invalid IL or missing references) //IL_01e5: Unknown result type (might be due to invalid IL or missing references) //IL_01ef: Expected O, but got Unknown //IL_01f5: Unknown result type (might be due to invalid IL or missing references) //IL_01fa: Unknown result type (might be due to invalid IL or missing references) //IL_02f3: Unknown result type (might be due to invalid IL or missing references) //IL_02fd: Unknown result type (might be due to invalid IL or missing references) //IL_0314: Unknown result type (might be due to invalid IL or missing references) //IL_0319: Unknown result type (might be due to invalid IL or missing references) //IL_032b: Unknown result type (might be due to invalid IL or missing references) //IL_0330: Unknown result type (might be due to invalid IL or missing references) //IL_0356: Unknown result type (might be due to invalid IL or missing references) //IL_0360: Expected O, but got Unknown bool flag = true; particleCannonImpactEffect = PrefabAPI.InstantiateClone(Addressables.LoadAssetAsync<GameObject>((object)"RoR2/Base/BFG/BeamSphereExplosion.prefab").WaitForCompletion(), "M4A1ParticleCannonImpactEffect", true); particleCannonImpactEffect.AddComponent<NetworkIdentity>(); particleCannonImpactEffect.transform.localScale = new Vector3(0.75f, 0.75f, 0.75f); Content.AddEffectDef(new EffectDef(particleCannonImpactEffect)); Material val = Object.Instantiate<Material>(Addressables.LoadAssetAsync<Material>((object)"RoR2/Base/ShockNearby/matLightningTeslaSlow.mat").WaitForCompletion()); val.SetTexture("_RemapTex", Addressables.LoadAssetAsync<Texture>((object)"RoR2/Base/Common/ColorRamps/texRampLightning2.png").WaitForCompletion()); val.SetColor("_TintColor", new Color(0f, 1f, 0f)); particleCannonTracerEffect = CreateTracer("RoR2/Base/Huntress/TracerHuntressSnipe.prefab", "M4A1ParticleCannonTracer"); particleCannonTracerEffect.transform.position = new Vector3(0f, 0f, 0f); Tracer component = particleCannonTracerEffect.GetComponent<Tracer>(); component.speed = 100000000f; component.length = 100000000f; if (flag) { M4A1TracerComponentFix m4A1TracerComponentFix = particleCannonTracerEffect.AddComponent<M4A1TracerComponentFix>(); m4A1TracerComponentFix.minDuration = 0.15f; } GameObject beamObject = component.beamObject; Transform transform = beamObject.transform; transform.localScale *= 1.5f; beamObject.GetComponent<ParticleSystemRenderer>().trailMaterial = val; Transform val2 = particleCannonTracerEffect.transform.Find("TracerHead"); val2.localScale *= 0f; MainModule main = beamObject.GetComponent<ParticleSystem>().main; ((MainModule)(ref main)).startColor = MinMaxGradient.op_Implicit(new Color(0f, 1f, 0f)); EffectComponent component2 = particleCannonTracerEffect.GetComponent<EffectComponent>(); component2.soundName = "m4a1_particle_cannon_impact"; Content.AddEffectDef(new EffectDef(particleCannonTracerEffect)); particleCannonMuzzleFlashEffect = PrefabAPI.InstantiateClone(Addressables.LoadAssetAsync<GameObject>((object)"RoR2/Base/Lightning/LightningStrikeImpact.prefab").WaitForCompletion(), "M4A1ParticleCannonMuzzleFlashEffect"); ((Component)particleCannonMuzzleFlashEffect.transform.Find("LightningRibbon")).gameObject.SetActive(false); ((Component)particleCannonMuzzleFlashEffect.transform.Find("Flash Lines")).gameObject.SetActive(false); ((Component)particleCannonMuzzleFlashEffect.transform.Find("Flash")).gameObject.SetActive(false); ((Component)particleCannonMuzzleFlashEffect.transform.Find("Distortion")).gameObject.SetActive(false); ((Component)particleCannonMuzzleFlashEffect.transform.Find("Sphere")).gameObject.SetActive(false); particleCannonMuzzleFlashEffect.GetComponent<ShakeEmitter>().wave.amplitude *= 0.25f; particleCannonMuzzleFlashEffect.AddComponent<NetworkIdentity>(); Transform val3 = particleCannonMuzzleFlashEffect.transform.Find("Ring"); val3.localScale *= 0.5f; main = ((Component)val3).gameObject.GetComponent<ParticleSystem>().main; ((MainModule)(ref main)).startColor = MinMaxGradient.op_Implicit(new Color(0f, 1f, 0f)); component2 = particleCannonMuzzleFlashEffect.GetComponent<EffectComponent>(); component2.soundName = "m4a1_particle_cannon_shoot"; Content.AddEffectDef(new EffectDef(particleCannonMuzzleFlashEffect)); } private static void CreateRespawnSicknessEffect() { //IL_0040: 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) respawnSicknessDebuffEffect = assetBundle.LoadEffect("RespawnSicknessDebuffEffect", parentToTransform: true); Object.DestroyImmediate((Object)(object)respawnSicknessDebuffEffect.GetComponent<EffectComponent>()); Object.DestroyImmediate((Object)(object)respawnSicknessDebuffEffect.GetComponent<DestroyOnTimer>()); MainModule main = respawnSicknessDebuffEffect.GetComponentInChildren<ParticleSystem>().main; ((MainModule)(ref main)).duration = M4A1Mod.Survivors.M4A1.Constants.DummyLink.Passive.respawnSicknessTime; } private static void CreateDummyLinkSpawnLocationEffect() { //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_00bf: Unknown result type (might be due to invalid IL or missing references) //IL_00c9: Expected O, but got Unknown GameObject val = Addressables.LoadAssetAsync<GameObject>((object)"RoR2/Base/Captain/CaptainHealingWard.prefab").WaitForCompletion(); dummyLinkSpawnLocationEffect = PrefabAPI.InstantiateClone(val, "M4A1DummyLinkSpawnLocationEffect", true); dummyLinkSpawnLocationEffect.AddComponent<EffectComponent>(); dummyLinkSpawnLocationEffect.AddComponent<NetworkIdentity>(); ((Component)dummyLinkSpawnLocationEffect.transform.Find("Indicator").Find("HealingSymbols")).gameObject.SetActive(false); ((Component)dummyLinkSpawnLocationEffect.transform.Find("Indicator").Find("Flashes")).gameObject.SetActive(false); Transform val2 = dummyLinkSpawnLocationEffect.transform.Find("Indicator").Find("IndicatorRing"); ((Component)val2).gameObject.AddComponent<DummyLinkSpawnEffect>(); Content.AddEffectDef(new EffectDef(dummyLinkSpawnLocationEffect)); } private static void CreateProjectiles() { CreateStunGrenadeProjectile(); CreateExplosiveGrenadeProjectile(); CreateIncendiaryGrenadeProjectile(); CreateSmokeGrenadeProjectile(); } public static void CreateStunGrenadeProjectile() { //IL_0048: 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_00b4: Unknown result type (might be due to invalid IL or missing references) //IL_00bb: Unknown result type (might be due to invalid IL or missing references) //IL_00c0: Unknown result type (might be due to invalid IL or missing references) stunGrenadeProjectilePrefab = MyAssets.CloneProjectilePrefab("CommandoGrenadeProjectile", "M4A1StunGrenadeProjectile"); Object.Destroy((Object)(object)stunGrenadeProjectilePrefab.GetComponent<ProjectileImpactExplosion>()); ProjectileImpactExplosion val = stunGrenadeProjectilePrefab.AddComponent<ProjectileImpactExplosion>(); ((ProjectileExplosion)val).blastRadius = M4A1Mod.Survivors.M4A1.Constants.Grenades.Stun.radius; ((ProjectileExplosion)val).blastDamageCoefficient = 1f; ((ProjectileExplosion)val).falloffModel = (FalloffModel)0; val.destroyOnEnemy = true; val.destroyOnWorld = true; val.lifetime = 12f; val.impactEffect = stunGrenadeExplosionEffect; val.timerAfterImpact = true; ((ProjectileExplosion)val).childrenInheritDamageType = true; val.lifetimeAfterImpact = 0.1f; ProjectileDamage component = stunGrenadeProjectilePrefab.GetComponent<ProjectileDamage>(); component.crit = false; component.damage = 0f; component.damageColorIndex = (DamageColorIndex)0; component.damageType = new DamageTypeCombo(DamageTypeCombo.op_Implicit((DamageType)131104), (DamageTypeExtended)0, (DamageSource)2); ProjectileController component2 = stunGrenadeProjectilePrefab.GetComponent<ProjectileController>(); if ((Object)(object)assetBundle.LoadAsset<GameObject>("GrenadeStun") != (Object)null) { component2.ghostPrefab = assetBundle.CreateProjectileGhostPrefab("GrenadeStun"); } component2.startSound = ""; Content.AddProjectilePrefab(stunGrenadeProjectilePrefab); } public static void CreateExplosiveGrenadeProjectile() { //IL_0048: 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_00b4: Unknown result type (might be due to invalid IL or missing references) //IL_00bb: Unknown result type (might be due to invalid IL or missing references) //IL_00c0: Unknown result type (might be due to invalid IL or missing references) explosiveGrenadeProjectilePrefab = MyAssets.CloneProjectilePrefab("CommandoGrenadeProjectile", "M4A1ExplosiveGrenadeProjectile"); Object.Destroy((Object)(object)explosiveGrenadeProjectilePrefab.GetComponent<ProjectileImpactExplosion>()); ProjectileImpactExplosion val = explosiveGrenadeProjectilePrefab.AddComponent<ProjectileImpactExplosion>(); ((ProjectileExplosion)val).blastRadius = M4A1Mod.Survivors.M4A1.Constants.Grenades.Explosive.radius; ((ProjectileExplosion)val).blastDamageCoefficient = 1f; ((ProjectileExplosion)val).falloffModel = (FalloffModel)0; val.destroyOnEnemy = true; val.destroyOnWorld = true; val.lifetime = 12f; val.impactEffect = explosiveGrenadeExplosionEffect; val.timerAfterImpact = true; ((ProjectileExplosion)val).childrenInheritDamageType = true; val.lifetimeAfterImpact = 0.1f; ProjectileDamage component = explosiveGrenadeProjectilePrefab.GetComponent<ProjectileDamage>(); component.crit = false; component.damage = 0f; component.damageColorIndex = (DamageColorIndex)0; component.damageType = new DamageTypeCombo(DamageTypeCombo.op_Implicit((DamageType)131072), (DamageTypeExtended)0, (DamageSource)2); ProjectileController component2 = explosiveGrenadeProjectilePrefab.GetComponent<ProjectileController>(); if ((Object)(object)assetBundle.LoadAsset<GameObject>("GrenadeHighExplosive") != (Object)null) { component2.ghostPrefab = assetBundle.CreateProjectileGhostPrefab("GrenadeExplosive"); } component2.startSound = ""; Content.AddProjectilePrefab(explosiveGrenadeProjectilePrefab); } public static void CreateIncendiaryGrenadeProjectile() { //IL_0062: Unknown result type (might be due to invalid IL or missing references) //IL_00d2: 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) //IL_0106: Unknown result type (might be due to invalid IL or missing references) //IL_0111: Unknown result type (might be due to invalid IL or missing references) //IL_0118: Unknown result type (might be due to invalid IL or missing references) //IL_011d: Unknown result type (might be due to invalid IL or missing references) //IL_01a5: Unknown result type (might be due to invalid IL or missing references) //IL_01b5: Unknown result type (might be due to invalid IL or missing references) incendiaryGrenadeProjectilePrefab = MyAssets.CloneProjectilePrefab("CommandoGrenadeProjectile", "M4A1IncendiaryGrenadeProjectile"); incendiaryGrenadeDamageZonePrefab = PrefabAPI.InstantiateClone(LegacyResourcesAPI.Load<GameObject>("Prefabs/Projectiles/SporeGrenadeProjectileDotZone"), "M4A1IncendiaryGrenadeAOE", true); Object.Destroy((Object)(object)incendiaryGrenadeProjectilePrefab.GetComponent<ProjectileImpactExplosion>()); ProjectileImpactExplosion val = incendiaryGrenadeProjectilePrefab.AddComponent<ProjectileImpactExplosion>(); ((ProjectileExplosion)val).blastRadius = M4A1Mod.Survivors.M4A1.Constants.Grenades.Incendiary.radius; ((ProjectileExplosion)val).blastDamageCoefficient = M4A1Mod.Survivors.M4A1.Constants.Grenades.Incendiary.contactDamageCoefficient; ((ProjectileExplosion)val).falloffModel = (FalloffModel)0; val.destroyOnEnemy = true; val.destroyOnWorld = true; val.lifetime = M4A1Mod.Survivors.M4A1.Constants.Grenades.Incendiary.duration; val.impactEffect = incendiaryGrenadeExplosionEffect; val.timerAfterImpact = true; val.lifetimeAfterImpact = 0.1f; ((ProjectileExplosion)val).fireChildren = true; ((ProjectileExplosion)val).childrenCount = 1; ((ProjectileExplosion)val).childrenProjectilePrefab = incendiaryGrenadeDamageZonePrefab; ((ProjectileExplosion)val).childrenInheritDamageType = true; ((ProjectileExplosion)val).childrenDamageCoefficient = 1f; incendiaryGrenadeDamageZonePrefab.transform.localScale = Vector3.one * M4A1Mod.Survivors.M4A1.Constants.Grenades.Incendiary.radius; ProjectileDamage component = incendiaryGrenadeProjectilePrefab.GetComponent<ProjectileDamage>(); component.crit = false; component.damage = M4A1Mod.Survivors.M4A1.Constants.Grenades.Incendiary.contactDamageCoefficient; component.damageColorIndex = (DamageColorIndex)0; component.damageType = new DamageTypeCombo(DamageTypeCombo.op_Implicit((DamageType)131200), (DamageTypeExtended)0, (DamageSource)2); ProjectileController component2 = incendiaryGrenadeProjectilePrefab.GetComponent<ProjectileController>(); if ((Object)(object)assetBundle.LoadAsset<GameObject>("GrenadeIncendiary") != (Object)null) { component2.ghostPrefab = assetBundle.CreateProjectileGhostPrefab("GrenadeIncendiary"); } component2.startSound = ""; ProjectileDotZone component3 = incendiaryGrenadeDamageZonePrefab.GetComponent<ProjectileDotZone>(); component3.lifetime = M4A1Mod.Survivors.M4A1.Constants.Grenades.Incendiary.duration; component3.damageCoefficient = M4A1Mod.Survivors.M4A1.Constants.Grenades.Incendiary.damageCoefficientPerTick; component3.fireFrequency = 1f; component3.resetFrequency = 1f; ((Component)component3).transform.localScale = Vector3.one * (M4A1Mod.Survivors.M4A1.Constants.Grenades.Incendiary.radius / 6f); ((ProjectileExplosion)val).childrenProjectilePrefab = incendiaryGrenadeDamageZonePrefab; ((ProjectileExplosion)val).childrenCount = 1; Content.AddProjectilePrefab(incendiaryGrenadeProjectilePrefab); PrefabAPI.RegisterNetworkPrefab(incendiaryGrenadeDamageZonePrefab); } public static void CreateSmokeGrenadeProjectile() { //IL_008d: 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) //IL_0107: Unknown result type (might be due to invalid IL or missing references) //IL_0131: Unknown result type (might be due to invalid IL or missing references) //IL_013c: Unknown result type (might be due to invalid IL or missing references) //IL_0143: Unknown result type (might be due to invalid IL or missing references) //IL_0148: Unknown result type (might be due to invalid IL or missing references) smokeGrenadeProjectilePrefab = MyAssets.CloneProjectilePrefab("CommandoGrenadeProjectile", "M4A1SmokeGrenadeProjectile"); smokeGrenadeAOEPrefab = PrefabAPI.InstantiateClone(LegacyResourcesAPI.Load<GameObject>("Prefabs/Projectiles/SporeGrenadeProjectileDotZone"), "M4A1SmokeGrenadeAOE", true); Object.Destroy((Object)(object)smokeGrenadeProjectilePrefab.GetComponent<ProjectileImpactExplosion>()); Object.Destroy((Object)(object)smokeGrenadeAOEPrefab.GetComponent<ProjectileDotZone>()); Object.DestroyImmediate((Object)(object)((Component)smokeGrenadeAOEPrefab.transform.GetChild(0)).gameObject); ProjectileImpactExplosion val = smokeGrenadeProjectilePrefab.AddComponent<ProjectileImpactExplosion>(); ((ProjectileExplosion)val).blastRadius = M4A1Mod.Survivors.M4A1.Constants.Grenades.Smoke.radius; ((ProjectileExplosion)val).blastDamageCoefficient = M4A1Mod.Survivors.M4A1.Constants.Grenades.Smoke.damageCoefficient; ((ProjectileExplosion)val).falloffModel = (FalloffModel)0; val.destroyOnEnemy = true; val.destroyOnWorld = true; val.lifetime = M4A1Mod.Survivors.M4A1.Constants.Grenades.Smoke.duration; val.impactEffect = smokeGrenadeExplosionEffect; val.timerAfterImpact = true; val.lifetimeAfterImpact = 0.1f; ((ProjectileExplosion)val).fireChildren = true; ((ProjectileExplosion)val).childrenInheritDamageType = true; ((ProjectileExplosion)val).childrenCount = 1; ((ProjectileExplosion)val).childrenProjectilePrefab = smokeGrenadeAOEPrefab; ((ProjectileExplosion)val).childrenDamageCoefficient = 1f; smokeGrenadeAOEPrefab.transform.localScale = Vector3.one * M4A1Mod.Survivors.M4A1.Constants.Grenades.Smoke.radius; ProjectileDamage component = smokeGrenadeProjectilePrefab.GetComponent<ProjectileDamage>(); component.crit = false; component.damage = M4A1Mod.Survivors.M4A1.Constants.Grenades.Smoke.damageCoefficient; component.damageColorIndex = (DamageColorIndex)0; component.damageType = new DamageTypeCombo(DamageTypeCombo.op_Implicit((DamageType)131080), (DamageTypeExtended)0, (DamageSource)2); ProjectileController component2 = smokeGrenadeProjectilePrefab.GetComponent<ProjectileController>(); if ((Object)(object)assetBundle.LoadAsset<GameObject>("GrenadeSmoke") != (Object)null) { component2.ghostPrefab = assetBundle.CreateProjectileGhostPrefab("GrenadeSmoke"); } component2.startSound = ""; BuffWard val2 = smokeGrenadeAOEPrefab.AddComponent<BuffWard>(); val2.radius = M4A1Mod.Survivors.M4A1.Constants.Grenades.Smoke.radius; val2.interval = 0.01f; val2.rangeIndicator = null; val2.buffDef = Buffs.smokeGrenadeBuff; val2.buffDuration = M4A1Mod.Survivors.M4A1.Constants.Grenades.Smoke.buffDuration; val2.invertTeamFilter = false; val2.floorWard = false; val2.expires = true; val2.expireDuration = M4A1Mod.Survivors.M4A1.Constants.Grenades.Smoke.duration; val2.animateRadius = false; Content.AddProjectilePrefab(smokeGrenadeProjectilePrefab); } } public static class Buffs { public static BuffDef particleCannonBuff; public static BuffDef dummyLinkSpawnCooldown; public static BuffDef smokeGrenadeBuff; public static BuffDef respawnSicknessDebuff; static Buffs() { //IL_0015: 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_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0093: Unknown result type (might be due to invalid IL or missing references) particleCannonBuff = Content.CreateAndAddBuff("M4A1EquipParticleCannonBuff", Assets.assetBundle.LoadAsset<Sprite>("equipParticleCannon"), Color.white, canStack: false, isDebuff: false); smokeGrenadeBuff = Content.CreateAndAddBuff("M4A1SmokeGrenadeBuff", Assets.assetBundle.LoadAsset<Sprite>("grenadeSmoke"), Color.white, canStack: false, isDebuff: false); respawnSicknessDebuff = Content.CreateAndAddBuff("M4A1RespawnSicknessDebuff", Assets.assetBundle.LoadAsset<Sprite>("respawnSickness"), Color.white, canStack: false, isDebuff: true); dummyLinkSpawnCooldown = Content.CreateAndAddBuff("M4A1dummyLinkSpawnCooldown", Assets.assetBundle.LoadAsset<Sprite>("dummyLink"), new Color(110f, 0f, 0f), canStack: false, isDebuff: true); } } internal class Emotes { private static AssetBundle assetBundle; private static CharacterBody m4a1Body; private static string bodyName; private const string emotePrefabName = "mdlM4A1Emotes"; private const string nameToken = "SNORESVILLE_M4A1_NAME"; private static List<Sprite> sprites = new List<Sprite>(); public static void Init(AssetBundle _assetBundle, CharacterBody _characterBody, string _bodyName) { //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_002a: Expected O, but got Unknown //IL_0032: Unknown result type (might be due to invalid IL or missing references) //IL_003c: Expected O, but got Unknown //IL_0044: Unknown result type (might be due to invalid IL or missing references) //IL_004e: Expected O, but got Unknown assetBundle = _assetBundle; bodyName = _bodyName; m4a1Body = _characterBody; InitWheelIcons(); SurvivorCatalog.Init += new hook_Init(SurvivorCatalog_Init); CustomEmotesAPI.animChanged += new AnimationChanged(CustomEmotesAPI_animChanged); CustomEmotesAPI.emoteWheelPulledUp += new EmoteWheelPulledUp(CustomEmotesAPI_emoteWheelPulledUp); } public static void InitWheelIcons() { for (int i = 0; i < 10; i++) { sprites.Add(assetBundle.LoadAsset<Sprite>("emoteWheelIcon" + i)); } } private static void CustomEmotesAPI_emoteWheelPulledUp(Sprite wheelSprite, BoneMapper localMapper) { //IL_0035: 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) object obj; if (localMapper == null) { obj = null; } else { GameObject model = localMapper.model; obj = ((model == null) ? null : model.GetComponent<CharacterModel>()?.body); } CharacterBody val = (CharacterBody)obj; EmoteWheel val2 = Object.FindObjectOfType<EmoteWheel>(); if (Object.op_Implicit((Object)(object)val) && val.bodyIndex == m4a1Body.bodyIndex && Object.op_Implicit((Object)(object)val2)) { Transform val3 = ((Component)val2).transform.Find("Center"); if (Object.op_Implicit((Object)(object)val3)) { int index = Random.RandomRangeInt(0, sprites.Count); ((Component)val3).GetComponent<Image>().overrideSprite = sprites[index]; Log.DebugConditional("pulled up " + index); } } } private static void CustomEmotesAPI_animChanged(string newAnimation, BoneMapper mapper) { //IL_0013: 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) CharacterBody body = mapper.model.GetComponent<CharacterModel>().body; if (body.bodyIndex != m4a1Body.bodyIndex) { return; } ((Component)body).gameObject.GetComponent<M4A1WeaponVisibility>()?.UpdateBody(body); List<CharacterMaster> childDummyLinks = M4A1Mod.Survivors.M4A1.Utils.M4A1.GetChildDummyLinks(body); foreach (CharacterMaster item in childDummyLinks) { CharacterBody body2 = item.GetBody(); BoneMapper val = ((body2 != null) ? ((Component)body2.modelLocator.modelTransform).GetComponentInChildren<BoneMapper>() : null); CustomEmotesAPI.PlayAnimation(newAnimation, val, -2); } } private static void SurvivorCatalog_Init(orig_Init orig) { orig.Invoke(); foreach (SurvivorDef allSurvivorDef in SurvivorCatalog.allSurvivorDefs) { if (((Object)allSurvivorDef.bodyPrefab).name == bodyName) { CustomEmotesAPI.ImportArmature(allSurvivorDef.bodyPrefab, assetBundle.LoadAsset<GameObject>("mdlM4A1Emotes"), 0, true); allSurvivorDef.bodyPrefab.GetComponentInChildren<BoneMapper>().scale = 1f; CustomEmotesAPI.CreateNameTokenSpritePair("SNORESVILLE_M4A1_NAME", assetBundle.LoadAsset<Sprite>("emoteWheelIcon0")); } } } } public class ItemDisplays : ItemDisplaysBase { protected override void SetItemDisplayRules(List<KeyAssetRuleGroup> itemDisplayRules) { //IL_0037: Unknown result type (might be due to invalid IL or missing references) //IL_004b: 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_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_00af: 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_00d7: 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) //IL_00e1: Unknown result type (might be due to invalid IL or missing references) //IL_00e6: Unknown result type (might be due to invalid IL or missing references) //IL_0127: Unknown result type (might be due to invalid IL or missing references) //IL_013b: Unknown result type (might be due to invalid IL or missing references) //IL_014f: Unknown result type (might be due to invalid IL or missing references) //IL_0154: Unknown result type (might be due to invalid IL or missing references) //IL_0159: Unknown result type (might be due to invalid IL or missing references) //IL_015e: Unknown result type (might be due to invalid IL or missing references) //IL_019f: Unknown result type (might be due to invalid IL or missing references) //IL_01b3: Unknown result type (might be due to invalid IL or missing references) //IL_01c7: Unknown result type (might be due to invalid IL or missing references) //IL_01cc: Unknown result type (might be due to invalid IL or missing references) //IL_01d1: Unknown result type (might be due to invalid IL or missing references) //IL_01d6: Unknown result type (might be due to invalid IL or missing references) //IL_0217: Unknown result type (might be due to invalid IL or missing references) //IL_022b: Unknown result type (might be due to invalid IL or missing references) //IL_023f: Unknown result type (might be due to invalid IL or missing references) //IL_0244: Unknown result type (might be due to invalid IL or missing references) //IL_0249: Unknown result type (might be due to invalid IL or missing references) //IL_024e: Unknown result type (might be due to invalid IL or missing references) //IL_028f: Unknown result type (might be due to invalid IL or missing references) //IL_02a3: Unknown result type (might be due to invalid IL or missing references) //IL_02b7: Unknown result type (might be due to invalid IL or missing references) //IL_02bc: Unknown result type (might be due to invalid IL or missing references) //IL_02c1: Unknown result type (might be due to invalid IL or missing references) //IL_02c6: Unknown result type (might be due to invalid IL or missing references) //IL_0307: Unknown result type (might be due to invalid IL or missing references) //IL_031b: Unknown result type (might be due to invalid IL or missing references) //IL_032f: Unknown result type (might be due to invalid IL or missing references) //IL_0334: Unknown result type (might be due to invalid IL or missing references) //IL_0339: Unknown result type (might be due to invalid IL or missing references) //IL_033e: Unknown result type (might be due to invalid IL or missing references) //IL_037f: Unknown result type (might be due to invalid IL or missing references) //IL_0393: Unknown result type (might be due to invalid IL or missing references) //IL_03a7: Unknown result type (might be due to invalid IL or missing references) //IL_03ac: Unknown result type (might be due to invalid IL or missing references) //IL_03b1: Unknown result type (might be due to invalid IL or missing references) //IL_03b6: Unknown result type (might be due to invalid IL or missing references) //IL_03f7: Unknown result type (might be due to invalid IL or missing references) //IL_040b: Unknown result type (might be due to invalid IL or missing references) //IL_041f: Unknown result type (might be due to invalid IL or missing references) //IL_0424: Unknown result type (might be due to invalid IL or missing references) //IL_0429: Unknown result type (might be due to invalid IL or missing references) //IL_042e: Unknown result type (might be due to invalid IL or missing references) //IL_046f: Unknown result type (might be due to invalid IL or missing references) //IL_0483: Unknown result type (might be due to invalid IL or missing references) //IL_0497: Unknown result type (might be due to invalid IL or missing references) //IL_049c: Unknown result type (might be due to invalid IL or missing references) //IL_04a1: Unknown result type (might be due to invalid IL or missing references) //IL_04a6: Unknown result type (might be due to invalid IL or missing references) //IL_04e7: Unknown result type (might be due to invalid IL or missing references) //IL_04fb: Unknown result type (might be due to invalid IL or missing references) //IL_050f: Unknown result type (might be due to invalid IL or missing references) //IL_0514: Unknown result type (might be due to invalid IL or missing references) //IL_0519: Unknown result type (might be due to invalid IL or missing references) //IL_051e: Unknown result type (might be due to invalid IL or missing references) //IL_055f: Unknown result type (might be due to invalid IL or missing references) //IL_0573: Unknown result type (might be due to invalid IL or missing references) //IL_0587: Unknown result type (might be due to invalid IL or missing references) //IL_058c: Unknown result type (might be due to invalid IL or missing references) //IL_0591: Unknown result type (might be due to invalid IL or missing references) //IL_0596: Unknown result type (might be due to invalid IL or missing references) //IL_05d7: Unknown result type (might be due to invalid IL or missing references) //IL_05eb: Unknown result type (might be due to invalid IL or missing references) //IL_05ff: Unknown result type (might be due to invalid IL or missing references) //IL_0604: Unknown result type (might be due to invalid IL or missing references) //IL_0609: Unknown result type (might be due to invalid IL or missing references) //IL_060e: Unknown result type (might be due to invalid IL or missing references) //IL_064f: Unknown result type (might be due to invalid IL or missing references) //IL_0663: Unknown result type (might be due to invalid IL or missing references) //IL_0677: Unknown result type (might be due to invalid IL or missing references) //IL_067c: Unknown result type (might be due to invalid IL or missing references) //IL_0681: Unknown result type (might be due to invalid IL or missing references) //IL_0686: Unknown result type (might be due to invalid IL or missing references) //IL_06c7: Unknown result type (might be due to invalid IL or missing references) //IL_06db: Unknown result type (might be due to invalid IL or missing references) //IL_06ef: Unknown result type (might be due to invalid IL or missing references) //IL_06f4: Unknown result type (might be due to invalid IL or missing references) //IL_06f9: Unknown result type (might be due to invalid IL or missing references) //IL_06fe: Unknown result type (might be due to invalid IL or missing references) //IL_073f: Unknown result type (might be due to invalid IL or missing references) //IL_0753: Unknown result type (might be due to invalid IL or missing references) //IL_0767: Unknown result type (might be due to invalid IL or missing references) //IL_076c: Unknown result type (might be due to invalid IL or missing references) //IL_0771: Unknown result type (might be due to invalid IL or missing references) //IL_0776: Unknown result type (might be due to invalid IL or missing references) //IL_07b7: Unknown result type (might be due to invalid IL or missing references) //IL_07cb: Unknown result type (might be due to invalid IL or missing references) //IL_07df: Unknown result type (might be due to invalid IL or missing references) //IL_07e4: Unknown result type (might be due to invalid IL or missing references) //IL_07e9: Unknown result type (might be due to invalid IL or missing references) //IL_07ee: Unknown result type (might be due to invalid IL or missing references) //IL_082f: Unknown result type (might be due to invalid IL or missing references) //IL_0843: Unknown result type (might be due to invalid IL or missing references) //IL_0857: Unknown result type (might be due to invalid IL or missing references) //IL_085c: Unknown result type (might be due to invalid IL or missing references) //IL_0861: Unknown result type (might be due to invalid IL or missing references) //IL_0886: Unknown result type (might be due to invalid IL or missing references) //IL_089a: Unknown result type (might be due to invalid IL or missing references) //IL_08ae: Unknown result type (might be due to invalid IL or missing references) //IL_08b3: Unknown result type (might be due to invalid IL or missing references) //IL_08b8: Unknown result type (might be due to invalid IL or missing references) //IL_08bd: Unknown result type (might be due to invalid IL or missing references) //IL_08fe: Unknown result type (might be due to invalid IL or missing references) //IL_0912: Unknown result type (might be due to invalid IL or missing references) //IL_0926: Unknown result type (might be due to invalid IL or missing references) //IL_092b: Unknown result type (might be due to invalid IL or missing references) //IL_0930: Unknown result type (might be due to invalid IL or missing references) //IL_0935: Unknown result type (might be due to invalid IL or missing references) //IL_0976: Unknown result type (might be due to invalid IL or missing references) //IL_098a: Unknown result type (might be due to invalid IL or missing references) //IL_099e: Unknown result type (might be due to invalid IL or missing references) //IL_09a3: Unknown result type (might be due to invalid IL or missing references) //IL_09a8: Unknown result type (might be due to invalid IL or missing references) //IL_09cd: Unknown result type (might be due to invalid IL or missing references) //IL_09e1: Unknown result type (might be due to invalid IL or missing references) //IL_09f5: Unknown result type (might be due to invalid IL or missing references) //IL_09fa: Unknown result type (might be due to invalid IL or missing references) //IL_09ff: Unknown result type (might be due to invalid IL or missing references) //IL_0a04: Unknown result type (might be due to invalid IL or missing references) //IL_0a45: Unknown result type (might be due to invalid IL or missing references) //IL_0a59: Unknown result type (might be due to invalid IL or missing references) //IL_0a6d: Unknown result type (might be due to invalid IL or missing references) //IL_0a72: Unknown result type (might be due to invalid IL or missing references) //IL_0a77: Unknown result type (might be due to invalid IL or missing references) //IL_0a9c: Unknown result type (might be due to invalid IL or missing references) //IL_0ab0: Unknown result type (might be due to invalid IL or missing references) //IL_0ac4: Unknown result type (might be due to invalid IL or missing references) //IL_0ac9: Unknown result type (might be due to invalid IL or missing references) //IL_0ace: Unknown result type (might be due to invalid IL or missing references) //IL_0ad3: Unknown result type (might be due to invalid IL or missing references) //IL_0b14: Unknown result type (might be due to invalid IL or missing references) //IL_0b28: Unknown result type (might be due to invalid IL or missing references) //IL_0b3c: Unknown result type (might be due to invalid IL or missing references) //IL_0b41: Unknown result type (might be due to invalid IL or missing references) //IL_0b46: Unknown result type (might be due to invalid IL or missing references) //IL_0b4b: Unknown result type (might be due to invalid IL or missing references) //IL_0b8c: Unknown result type (might be due to invalid IL or missing references) //IL_0ba0: Unknown result type (might be due to invalid IL or missing references) //IL_0bb4: Unknown result type (might be due to invalid IL or missing references) //IL_0bb9: Unknown result type (might be due to invalid IL or missing references) //IL_0bbe: Unknown result type (might be due to invalid IL or missing references) //IL_0bc3: Unknown result type (might be due to invalid IL or missing references) //IL_0c04: Unknown result type (might be due to invalid IL or missing references) //IL_0c18: Unknown result type (might be due to invalid IL or missing references) //IL_0c2c: Unknown result type (might be due to invalid IL or missing references) //IL_0c31: Unknown result type (might be due to invalid IL or missing references) //IL_0c36: Unknown result type (might be due to invalid IL or missing references) //IL_0c3b: Unknown result type (might be due to invalid IL or missing references) //IL_0c7c: Unknown result type (might be due to invalid IL or missing references) //IL_0c90: Unknown result type (might be due to invalid IL or missing references) //IL_0ca4: Unknown result type (might be due to invalid IL or missing references) //IL_0ca9: Unknown result type (might be due to invalid IL or missing references) //IL_0cae: Unknown result type (might be due to invalid IL or missing references) //IL_0cd3: Unknown result type (might be due to invalid IL or missing references) //IL_0ce7: Unknown result type (might be due to invalid IL or missing references) //IL_0cfb: Unknown result type (might be due to invalid IL or missing references) //IL_0d00: Unknown result type (might be due to invalid IL or missing references) //IL_0d05: Unknown result type (might be due to invalid IL or missing references) //IL_0d2a: Unknown result type (might be due to invalid IL or missing references) //IL_0d3e: Unknown result type (might be due to invalid IL or missing references) //IL_0d52: Unknown result type (might be due to invalid IL or missing references) //IL_0d57: Unknown result type (might be due to invalid IL or missing references) //IL_0d5c: Unknown result type (might be due to invalid IL or missing references) //IL_0d81: Unknown result type (might be due to invalid IL or missing references) //IL_0d95: Unknown result type (might be due to invalid IL or missing references) //IL_0da9: Unknown result type (might be due to invalid IL or missing references) //IL_0dae: Unknown result type (might be due to invalid IL or missing references) //IL_0db3: Unknown result type (might be due to invalid IL or missing references) //IL_0db8: Unknown result type (might be due to invalid IL or missing references) //IL_0df9: Unknown result type (might be due to invalid IL or missing references) //IL_0e0d: Unknown result type (might be due to invalid IL or missing references) //IL_0e21: Unknown result type (might be due to invalid IL or missing references) //IL_0e26: Unknown result type (might be due to invalid IL or missing references) //IL_0e2b: Unknown result type (might be due to invalid IL or missing references) //IL_0e30: Unknown result type (might be due to invalid IL or missing references) //IL_0e71: Unknown result type (might be due to invalid IL or missing references) //IL_0e85: Unknown result type (might be due to invalid IL or missing references) //IL_0e99: Unknown result type (might be due to invalid IL or missing references) //IL_0e9e: Unknown result type (might be due to invalid IL or missing references) //IL_0ea3: Unknown result type (might be due to invalid IL or missing references) //IL_0ea8: Unknown result type (might be due to invalid IL or missing references) //IL_0ee9: Unknown result type (might be due to invalid IL or missing references) //IL_0efd: Unknown result type (might be due to invalid IL or missing references) //IL_0f11: Unknown result type (might be due to invalid IL or missing references) //IL_0f16: Unknown result type (might be due to invalid IL or missing references) //IL_0f1b: Unknown result type (might be due to invalid IL or missing references) //IL_0f20: Unknown result type (might be due to invalid IL or missing references) //IL_0f61: Unknown result type (might be due to invalid IL or missing references) //IL_0f75: Unknown result type (might be due to invalid IL or missing references) //IL_0f89: Unknown result type (might be due to invalid IL or missing references) //IL_0f8e: Unknown result type (might be due to invalid IL or missing references) //IL_0f93: Unknown result type (might be due to invalid IL or missing references) //IL_0f98: Unknown result type (might be due to invalid IL or missing references) //IL_0fd9: Unknown result type (might be due to invalid IL or missing references) //IL_0fed: Unknown result type (might be due to invalid IL or missing references) //IL_1001: Unknown result type (might be due to invalid IL or missing references) //IL_1006: Unknown result type (might be due to invalid IL or missing references) //IL_100b: Unknown result type (might be due to invalid IL or missing references) //IL_1010: Unknown result type (might be due to invalid IL or missing references) //IL_1051: Unknown result type (might be due to invalid IL or missing references) //IL_1065: Unknown result type (might be due to invalid IL or missing references) //IL_1079: Unknown result type (might be due to invalid IL or missing references) //IL_107e: Unknown result type (might be due to invalid IL or missing references) //IL_1083: Unknown result type (might be due to invalid IL or missing references) //IL_10a8: Unknown result type (might be due to invalid IL or missing references) //IL_10bc: Unknown result type (might be due to invalid IL or missing references) //IL_10d0: Unknown result type (might be due to invalid IL or missing references) //IL_10d5: Unknown result type (might be due to invalid IL or missing references) //IL_10da: Unknown result type (might be due to invalid IL or missing references) //IL_10df: Unknown result type (might be due to invalid IL or missing references) //IL_1120: Unknown result type (might be due to invalid IL or missing references) //IL_1134: Unknown result type (might be due to invalid IL or missing references) //IL_1148: Unknown result type (might be due to invalid IL or missing references) //IL_114d: Unknown result type (might be due to invalid IL or missing references) //IL_1152: Unknown result type (might be due to invalid IL or missing references) //IL_1177: Unknown result type (might be due to invalid IL or missing references) //IL_118b: Unknown result type (might be due to invalid IL or missing references) //IL_119f: Unknown result type (might be due to invalid IL or missing references) //IL_11a4: Unknown result type (might be due to invalid IL or missing references) //IL_11a9: Unknown result type (might be due to invalid IL or missing references) //IL_11ae: Unknown result type (might be due to invalid IL or missing references) //IL_11ef: Unknown result type (might be due to invalid IL or missing references) //IL_1203: Unknown result type (might be due to invalid IL or missing references) //IL_1217: Unknown result type (might be due to invalid IL or missing references) //IL_121c: Unknown result type (might be due to invalid IL or missing references) //IL_1221: Unknown result type (might be due to invalid IL or missing references) //IL_1226: Unknown result type (might be due to invalid IL or missing references) //IL_1267: Unknown result type (might be due to invalid IL or missing references) //IL_127b: Unknown result type (might be due to invalid IL or missing references) //IL_128f: Unknown result type (might be due to invalid IL or missing references) //IL_1294: Unknown result type (might be due to invalid IL or missing references) //IL_1299: Unknown result type (might be due to invalid IL or missing references) //IL_12be: Unknown result type (might be due to invalid IL or missing references) //IL_12d2: Unknown result type (might be due to invalid IL or missing references) //IL_12e6: Unknown result type (might be due to invalid IL or missing references) //IL_12eb: Unknown result type (might be due to invalid IL or missing references) //IL_12f0: Unknown result type (might be due to invalid IL or missing references) //IL_1315: Unknown result type (might be due to invalid IL or missing references) //IL_1329: Unknown result type (might be due to invalid IL or missing references) //IL_133d: Unknown result type (might be due to invalid IL or missing references) //IL_1342: Unknown result type (might be due to invalid IL or missing references) //IL_1347: Unknown result type (might be due to invalid IL or missing references) //IL_136c: Unknown result type (might be due to invalid IL or missing references) //IL_1380: Unknown result type (might be due to invalid IL or missing references) //IL_1394: Unknown result type (might be due to invalid IL or missing references) //IL_1399: Unknown result type (might be due to invalid IL or missing references) //IL_139e: Unknown result type (might be due to invalid IL or missing references) //IL_13a3: Unknown result type (might be due to invalid IL or missing references) //IL_13e4: Unknown result type (might be due to invalid IL or missing references) //IL_13f8: Unknown result type (might be due to invalid IL or missing references) //IL_140c: Unknown result type (might be due to invalid IL or missing references) //IL_1411: Unknown result type (might be due to invalid IL or missing references) //IL_1416: Unknown result type (might be due to invalid IL or missing references) //IL_143b: Unknown result type (might be due to invalid IL or missing references) //IL_144f: Unknown result type (might be due to invalid IL or missing references) //IL_1463: Unknown result type (might be due to invalid IL or missing references) //IL_1468: Unknown result type (might be due to invalid IL or missing references) //IL_146d: Unknown result type (might be due to invalid IL or missing references) //IL_1492: Unknown result type (might be due to invalid IL or missing references) //IL_14a6: Unknown result type (might be due to invalid IL or missing references) //IL_14ba: Unknown result type (might be due to invalid IL or missing references) //IL_14bf: Unknown result type (might be due to invalid IL or missing references) //IL_14c4: Unknown result type (might be due to invalid IL or missing references) //IL_14e9: Unknown result type (might be due to invalid IL or missing references) //IL_14fd: Unknown result type (might be due to invalid IL or missing references) //IL_1511: Unknown result type (might be due to invalid IL or missing references) //IL_1516: Unknown result type (might be due to invalid IL or missing references) //IL_151b: Unknown result type (might be due to invalid IL or missing references) //IL_1520: Unknown result type (might be due to invalid IL or missing references) //IL_1561: Unknown result type (might be due to invalid IL or missing references) //IL_1575: Unknown result type (might be due to invalid IL or missing references) //IL_1589: Unknown result type (might be due to invalid IL or missing references) //IL_158e: Unknown result type (might be due to invalid IL or missing references) //IL_1593: Unknown result type (might be due to invalid IL or missing references) //IL_1598: Unknown result type (might be due to invalid IL or missing references) //IL_15d9: Unknown result type (might be due to invalid IL or missing references) //IL_15ed: Unknown result type (might be due to invalid IL or missing references) //IL_1601: Unknown result type (might be due to invalid IL or missing references) //IL_1606: Unknown result type (might be due to invalid IL or missing references) //IL_160b: Unknown result type (might be due to invalid IL or missing references) //IL_1630: Unknown result type (might be due to invalid IL or missing references) //IL_1644: Unknown result type (might be due to invalid IL or missing references) //IL_1658: Unknown result type (might be due to invalid IL or missing references) //IL_165d: Unknown result type (might be due to invalid IL or missing references) //IL_1662: Unknown result type (might be due to invalid IL or missing references) //IL_1667: Unknown result type (might be due to invalid IL or missing references) //IL_16a8: Unknown result type (might be due to invalid IL or missing references) //IL_16bc: Unknown result type (might be due to invalid IL or missing references) //IL_16d0: Unknown result type (might be due to invalid IL or missing references) //IL_16d5: Unknown result type (might be due to invalid IL or missing references) //IL_16da: Unknown result type (might be due to invalid IL or missing references) //IL_16ff: Unknown result type (might be due to invalid IL or missing references) //IL_1713: Unknown result type (might be due to invalid IL or missing references) //IL_1727: Unknown result type (might be due to invalid IL or missing references) //IL_172c: Unknown result type (might be due to invalid IL or missing references) //IL_1731: Unknown result type (might be due to invalid IL or missing references) //IL_1736: Unknown result type (might be due to invalid IL or missing references) //IL_1777: Unknown result type (might be due to invalid IL or missing references) //IL_178b: Unknown result type (might be due to invalid IL or missing references) //IL_179f: Unknown result type (might be due to invalid IL or missing references) //IL_17a4: Unknown result type (might be due to invalid IL or missing references) //IL_17a9: Unknown result type (might be due to invalid IL or missing references) //IL_17ae: Unknown result type (might be due to invalid IL or missing references) //IL_17ef: Unknown result type (might be due to invalid IL or missing references) //IL_1803: Unknown result type (might be due to invalid IL or missing references) //IL_1817: Unknown result type (might be due to invalid IL or missing references) //IL_181c: Unknown result type (might be due to invalid IL or missing references) //IL_1821: Unknown result type (might be due to invalid IL or missing references) //IL_1826: Unknown result type (might be due to invalid IL or missing references) //IL_1867: Unknown result type (might be due to invalid IL or missing references) //IL_187b: Unknown result type (might be due to invalid IL or missing references) //IL_188f: Unknown result type (might be due to invalid IL or missing references) //IL_1894: Unknown result type (might be due to invalid IL or missing references) //IL_1899: Unknown result type (might be due to invalid IL or missing references) //IL_18be: Unknown result type (might be due to invalid IL or missing references) //IL_18d2: Unknown result type (might be due to invalid IL or missing references) //IL_18e6: Unknown result type (might be due to invalid IL or missing references) //IL_18eb: Unknown result type (might be due to invalid IL or missing references) //IL_18f0: Unknown result type (might be due to invalid IL or missing references) //IL_18f5: Unknown result type (might be due to invalid IL or missing references) //IL_1936: Unknown result type (might be due to invalid IL or missing references) //IL_194a: Unknown result type (might be due to invalid IL or missing references) //IL_195e: Unknown result type (might be due to invalid IL or missing references) //IL_1963: Unknown result type (might be due to invalid IL or missing references) //IL_1968: Unknown result type (might be due to invalid IL or missing references) //IL_196d: Unknown result type (might be due to invalid IL or missing references) //IL_19ae: Unknown result type (might be due to invalid IL or missing references) //IL_19c2: Unknown result type (might be due to invalid IL or missing references) //IL_19d6: Unknown result type (might be due to invalid IL or missing references) //IL_19db: Unknown result type (might be due to invalid IL or missing references) //IL_19e0: Unknown result type (might be due to invalid IL or missing references) //IL_1a05: Unknown result type (might be due to invalid IL or missing references) //IL_1a19: Unknown result type (might be due to invalid IL or missing references) //IL_1a2d: Unknown result type (might be due to invalid IL or missing references) //IL_1a32: Unknown result type (might be due to invalid IL or missing references) //IL_1a37: Unknown result type (might be due to invalid IL or missing references) //IL_1a3c: Unknown result type (might be due to invalid IL or missing references) //IL_1a7d: Unknown result type (might be due to invalid IL or missing references) //IL_1a91: Unknown result type (might be due to invalid IL or missing references) //IL_1aa5: Unknown result type (might be due to invalid IL or missing references) //IL_1aaa: Unknown result type (might be due to invalid IL or missing references) //IL_1aaf: Unknown result type (might be due to invalid IL or missing references) //IL_1ad4: Unknown result type (might be due to invalid IL or missing references) //IL_1ae8: Unknown result type (might be due to invalid IL or missing references) //IL_1afc: Unknown result type (might be due to invalid IL or missing references) //IL_1b01: Unknown result type (might be due to invalid IL or missing references) //IL_1b06: Unknown result type (might be due to invalid IL or missing references) //IL_1b0b: Unknown result type (might be due to invalid IL or missing references) //IL_1b4c: Unknown result type (might be due to invalid IL or missing references) //IL_1b60: Unknown result type (might be due to invalid IL or missing references) //IL_1b74: Unknown result type (might be due to invalid IL or missing references) //IL_1b79: Unknown result type (might be due to invalid IL or missing references) //IL_1b7e: Unknown result type (might be due to invalid IL or missing references) //IL_1ba3: Unknown result type (might be due to invalid IL or missing references) //IL_1bb7: Unknown result type (might be due to invalid IL or missing references) //IL_1bcb: Unknown result type (might be due to invalid IL or missing references) //IL_1bd0: Unknown result type (might be due to invalid IL or missing references) //IL_1bd5: Unknown result type (might be due to invalid IL or missing references) //IL_1bda: Unknown result type (might be due to invalid IL or missing references) //IL_1c1b: Unknown result type (might be due to invalid IL or missing references) //IL_1c2f: Unknown result type (might be due to invalid IL or missing references) //IL_1c43: Unknown result type (might be due to invalid IL or missing references) //IL_1c48: Unknown result type (might be due to invalid IL or missing references) //IL_1c4d: Unknown result type (might be due to invalid IL or missing references) //IL_1c52: Unknown result type (might be due to invalid IL or missing references) //IL_1c93: Unknown result type (might be due to invalid IL or missing references) //IL_1ca7: Unknown result type (might be due to invalid IL or missing references) //IL_1cbb: Unknown result type (might be due to invalid IL or missing references) //IL_1cc0: Unknown result type (might be due to invalid IL or missing references) //IL_1cc5: Unknown result type (might be due to invalid IL or missing references) //IL_1cca: Unknown result type (might be due to invalid IL or missing references) //IL_1d0b: Unknown result type (might be due to invalid IL or missing references) //IL_1d1f: Unknown result type (might be due to invalid IL or missing references) //IL_1d33: Unknown result type (might be due to invalid IL or missing references) //IL_1d38: Unknown result type (might be due to invalid IL or missing references) //IL_1d3d: Unknown result type (might be due to invalid IL or missing references) //IL_1d42: Unknown result type (might be due to invalid IL or missing references) //IL_1d83: Unknown result type (might be due to invalid IL or missing references) //IL_1d97: Unknown result type (might be due to invalid IL or missing references) //IL_1dab: Unknown result type (might be due to invalid IL or missing references) //IL_1db0: Unknown result type (might be due to invalid IL or missing references) //IL_1db5: Unknown result type (might be due to invalid IL or missing references) //IL_1dba: Unknown result type (might be due to invalid IL or missing references) //IL_1dfb: Unknown result type (might be due to invalid IL or missing references) //IL_1e0f: Unknown result type (might be due to invalid IL or missing references) //IL_1e23: Unknown result type (might be due to invalid IL or missing references) //IL_1e28: Unknown result type (might be due to invalid IL or missing references) //IL_1e2d: Unknown result type (might be due to invalid IL or missing references) //IL_1e32: Unknown result type (might be due to invalid IL or missing references) //IL_1e73: Unknown result type (might be due to invalid IL or missing references) //IL_1e87: Unknown result type (might be due to invalid IL or missing references) //IL_1e9b: Unknown result type (might be due to invalid IL or missing references) //IL_1ea0: Unknown result type (might be due to invalid IL or missing references) //IL_1ea5: Unknown result type (might be due to invalid IL or missing references) //IL_1eaa: Unknown result type (might be due to invalid IL or missing references) //IL_1eeb: Unknown result type (might be due to invalid IL or missing references) //IL_1eff: Unknown result type (might be due to invalid IL or missing references) //IL_1f13: Unknown result type (might be due to invalid IL or missing references) //IL_1f18: Unknown result type (might be due to invalid IL or missing references) //IL_1f1d: Unknown result type (might be due to invalid IL or missing references) //IL_1f42: Unknown result type (might be due to invalid IL or missing references) //IL_1f56: Unknown result type (might be due to invalid IL or missing references) //IL_1f6a: Unknown result type (might be due to invalid IL or missing references) //IL_1f6f: Unknown result type (might be due to invalid IL or missing references) //IL_1f74: Unknown result type (might be due to invalid IL or missing references) //IL_1f79: Unknown result type (might be due to invalid IL or missing references) //IL_1fba: Unknown result type (might be due to invalid IL or missing references) //IL_1fce: Unknown result type (might be due to invalid IL or missing references) //IL_1fe2: Unknown result type (might be due to invalid IL or missing references) //IL_1fe7: Unknown result type (might be due to invalid IL or missing references) //IL_1fec: Unknown result type (might be due to invalid IL or missing references) //IL_1ff1: Unknown result type (might be due to invalid IL or missing references) //IL_2032: Unknown result type (might be due to invalid IL or missing references) //IL_2046: Unknown result type (might be due to invalid IL or missing references) //IL_205a: Unknown result type (might be due to invalid IL or missing references) //IL_205f: Unknown result type (might be due to invalid IL or missing references) //IL_2064: Unknown result type (might be due to invalid IL or missing references) //IL_2069: Unknown result type (might be due to invalid IL or missing references) //IL_20aa: Unknown result type (might be due to invalid IL or missing references) //IL_20be: Unknown result type (might be due to invalid IL or missing references) //IL_20d2: Unknown result type (might be due to invalid IL or missing references) //IL_20d7: Unknown result type (might be due to invalid IL or missing references) //IL_20dc: Unknown result type (might be due to invalid IL or missing references) //IL_20e1: Unknown result type (might be due to invalid IL or missing references) //IL_2122: Unknown result type (might be due to invalid IL or missing references) //IL_2136: Unknown result type (might be due to invalid IL or missing references) //IL_214a: Unknown result type (might be due to invalid IL or missing references) //IL_214f: Unknown result type (might be due to invalid IL or missing references) //IL_2154: Unknown result type (might be due to invalid IL or missing references) //IL_2159: Unknown result type (might be due to invalid IL or missing references) //IL_219a: Unknown result type (might be due to invalid IL or missing references) //IL_21ae: Unknown result type (might be due to invalid IL or missing references) //IL_21c2: Unknown result type (might be due to invalid IL or missing references) //IL_21c7: Unknown result type (might be due to invalid IL or missing references) //IL_21cc: Unknown result type (might be due to invalid IL or missing references) //IL_21f1: Unknown result type (might be due to invalid IL or missing references) //IL_2205: Unknown result type (might be due to invalid IL or missing references) //IL_2219: Unknown result type (might be due to invalid IL or missing references) //IL_221e: Unknown result type (might be due to invalid IL or missing references) //IL_2223: Unknown result type (might be due to invalid IL or missing references) //IL_2228: Unknown result type (might be due to invalid IL or missing references) //IL_2269: Unknown result type (might be due to invalid IL or missing references) //IL_227d: Unknown result type (might be due to invalid IL or missing references) //IL_2291: Unknown result type (might be due to invalid IL or missing references) //IL_2296: Unknown result type (might be due to invalid IL or missing references) //IL_229b: Unknown result type (might be due to invalid IL or missing references) //IL_22a0: Unknown result type (might be due to invalid IL or missing references) //IL_22e1: Unknown result type (might be due to invalid IL or missing references) //IL_22f5: Unknown result type (might be due to invalid IL or missing references) //IL_2309: Unknown result type (might be due to invalid IL or missing references) //IL_230e: Unknown result type (might be due to invalid IL or missing references) //IL_2313: Unknown result type (might be due to invalid IL or missing references) //IL_2338: Unknown result type (might be due to invalid IL or missing references) //IL_234c: Unknown result type (might be due to invalid IL or missing references) //IL_2360: Unknown result type (might be due to invalid IL or missing references) //IL_2365: Unknown result type (might be due to invalid IL or missing references) //IL_236a: Unknown result type (might be due to invalid IL or missing references) //IL_236f: Unknown result type (might be due to invalid IL or missing references) //IL_23b0: Unknown result type (might be due to invalid IL or missing references) //IL_23c4: Unknown result type (might be due to invalid IL or missing references) //IL_23d8: Unknown result type (might be due to invalid IL or missing references) //IL_23dd: Unknown result type (might be due to invalid IL or missing references) //IL_23e2: Unknown result type (might be due to invalid IL or missing references) //IL_23e7: Unknown result type (might be due to invalid IL or missing references) //IL_2428: Unknown result type (might be due to invalid IL or missing references) //IL_243c: Unknown result type (might be due to invalid IL or missing references) //IL_2450: Unknown result type (might be due to invalid IL or missing references) //IL_2455: Unknown result type (might be due to invalid IL or missing references) //IL_245a: Unknown result type (might be due to invalid IL or missing references) //IL_247f: Unknown result type (might be due to invalid IL or missing references) //IL_2493: Unknown result type (might be due to invalid IL or missing references) //IL_24a7: Unknown result type (might be due to invalid IL or missing references) //IL_24ac: Unknown result type (might be due to invalid IL or missing references) //IL_24b1: Unknown result type (might be due to invalid IL or missing references) //IL_24b6: Unknown result type (might be due to invalid IL or missing references) //IL_24f7: Unknown result type (might be due to invalid IL or missing references) //IL_250b: Unknown result type (might be due to invalid IL or missing references) //IL_251f: Unknown result type (might be due to invalid IL or missing references) //IL_2524: Unknown result type (might be due to invalid IL or missing references) //IL_2529: Unknown result type (might be due to invalid IL or missing references) //IL_252e: Unknown result type (might be due to invalid IL or missing references) //IL_256f: Unknown result type (might be due to invalid IL or missing references) //IL_2583: Unknown result type (might be due to invalid IL or missing references) //IL_2597: Unknown result type (might be due to invalid IL or missing references) //IL_259c: Unknown result type (might be due to invalid IL or missing references) //IL_25a1: Unknown result type (might be due to invalid IL or missing references) //IL_25c6: Unknown result type (might be due to invalid IL or missing references) //IL_25da: Unknown result type (might be due to invalid IL or missing references) //IL_25ee: Unknown result type (might be due to invalid IL or missing references) //IL_25f3: Unknown result type (might be due to invalid IL or missing references) //IL_25f8: Unknown result type (might be due to invalid IL or missing references) //IL_25fd: Unknown result type (might be due to invalid IL or missing references) //IL_263e: Unknown result type (might be due to invalid IL or missing references) //IL_2652: Unknown result type (might be due to invalid IL or missing references) //IL_2666: Unknown result type (might be due to invalid IL or missing references) //IL_266b: Unknown result type (might be due to invalid IL or missing references) //IL_2670: Unknown result type (might be due to invalid IL or missing references) //IL_2675: Unknown result type (might be due to invalid IL or missing references) //IL_26b6: Unknown result type (might be due to invalid IL or missing references) //IL_26ca: Unknown result type (might be due to invalid IL or missing references) //IL_26de: Unknown result type (might be due to invalid IL or missing references) //IL_26e3: Unknown result type (might be due to invalid IL or missing references) //IL_26e8: Unknown result type (might be due to invalid IL or missing references) //IL_26ed: Unknown result type (might be due to invalid IL or missing references) //IL_272e: Unknown result type (might be due to invalid IL or missing references) //IL_2742: Unknown result type (might be due to invalid IL or missing references) //IL_2756: Unknown result type (might be due to invalid IL or missing references) //IL_275b: Unknown result type (might be due to invalid IL or missing references) //IL_2760: Unknown result type (might be due to invalid IL or missing references) //IL_2765: Unknown result type (might be due to invalid IL or missing references) //IL_27a6: Unknown result type (might be due to invalid IL or missing references) //IL_27ba: Unknown result type (might be due to invalid IL or missing references) //IL_27ce: Unknown result type (might be due to invalid IL or missing references) //IL_27d3: Unknown result type (might be due to invalid IL or missing references) //IL_27d8: Unknown result type (might be due to invalid IL or missing references) //IL_27dd: Unknown result type (might be due to invalid IL or missing references) //IL_281e: Unknown result type (might be due to invalid IL or missing references) //IL_2832: Unknown result type (might be due to invalid IL or missing references) //IL_2846: Unknown result type (might be due to invalid IL or missing references) //IL_284b: Unknown result type (might be due to invalid IL or missing references) //IL_2850: Unknown result type (might be due to invalid IL or missing references) //IL_2855: Unknown result type (might be due to invalid IL or missing references) //IL_2896: Unknown result type (might be due to invalid IL or missing references) //IL_28aa: Unknown result type (might be due to invalid IL or missing references) //IL_28be: Unknown result type (might be due to invalid IL or missing references) //IL_28c3: Unknown result type (might be due to invalid IL or missing references) //IL_28c8: Unknown result type (might be due to invalid IL or missing references) //IL_28cd: Unknown result type (might be due to invalid IL or missing references) //IL_290e: Unknown result type (might be due to invalid IL or missing references) //IL_2922: Unknown result type (might be due to invalid IL or missing references) //IL_2936: Unknown result type (might be due to invalid IL or missing references) //IL_293b: Unknown result type (might be due to invalid IL or missing references) //IL_2940: Unknown result type (might be due to invalid IL or missing references) //IL_2965: Unknown result type (might be due to invalid IL or missing references) //IL_2979: Unknown result type (might be due to invalid IL or missing references) //IL_298d: Unknown result type (might be due to invalid IL or missing references) //IL_2992: Unknown result type (might be due to invalid IL or missing references) //IL_2997: Unknown result type (might be due to invalid IL or missing references) //IL_299c: Unknown result type (might be due to invalid IL or missing references) //IL_29dd: Unknown result type (might be due to invalid IL or missing references) //IL_29f1: Unknown result type (might be due to invalid IL or missing references) //IL_2a05: Unknown result type (might be due to invalid IL or missing references) //IL_2a0a: Unknown result type (might be due to invalid IL or missing references) //IL_2a0f: Unknown result type (might be due to invalid IL or missing references) //IL_2a14: Unknown result type (might be due to invalid IL or missing references) //IL_2a55: Unknown result type (might be due to invalid IL or missing references) //IL_2a69: Unknown result type (might be due to invalid IL or missing references) //IL_2a7d: Unknown result type (might be due to invalid IL or missing references) //IL_2a82: Unknown result type (might be due to invalid IL or missing references) //IL_2a87: Unknown result type (might be due to invalid IL or missing references) //IL_2aac: Unknown result type (might be due to invalid IL or missing references) //IL_2ac0: Unknown result type (might be due to invalid IL or missing references) //IL_2ad4: Unknown result type (might be due to invalid IL or missing references) //IL_2ad9: Unknown result type (might be due to invalid IL or missing references) //IL_2ade: Unknown result type (might be due to invalid IL or missing references) //IL_2ae3: Unknown result type (might be due to invalid IL or missing references) //IL_2b24: Unknown result type (might be due to invalid IL or missing references) //IL_2b38: Unknown result type (might be due to invalid IL or missing references) //IL_2b4c: Unknown result type (might be due to invalid IL or missing references) //IL_2b51: Unknown result type (might be due to invalid IL or missing references) //IL_2b56: Unknown result type (might be due to invalid IL or missing references) //IL_2b5b: Unknown result type (might be due to invalid IL or missing references) //IL_2b9c: Unknown result type (might be due to invalid IL or missing references) //IL_2bb0: Unknown result type (might be due to invalid IL or missing references) //IL_2bc4: Unknown result type (might be due to invalid IL or missing references) //IL_2bc9: Unknown result type (might be due to invalid IL or missing references) //IL_2bce: Unknown result type (might be due to invalid IL or missing references) //IL_2bd3: Unknown result type (might be due to invalid IL or missing references) //IL_2c14: Unknown result type (might be due to invalid IL or missing references) //IL_2c28: Unknown result type (might be due to invalid IL or missing references) //IL_2c3c: Unknown result type (might be due to invalid IL or missing references) //IL_2c41: Unknown result type (might be due to invalid IL or missing references) //IL_2c46: Unknown result type (might be due to invalid IL or missing references) //IL_2c4b: Unknown result type (might be due to invalid IL or missing references) //IL_2c8c: Unknown result type (might be due to invalid IL or missing references) //IL_2ca0: Unknown result type (might be due to invalid IL or missing references) //IL_2cb4: Unknown result type (might be due to invalid IL or missing references) //IL_2cb9: Unknown result type (might be due to invalid IL or missing references) //IL_2cbe: Unknown result type (might be due to invalid IL or missing references) //IL_2ce3: Unknown result type (might be due to invalid IL or missing references) //IL_2cf7: Unknown result type (might be due to invalid IL or missing references) //IL_2d0b: Unknown result type (might be due to invalid IL or missing references) //IL_2d10: Unknown result type (might be due to invalid IL or missing references) //IL_2d15: Unknown result type (might be due to invalid IL or missing references) //IL_2d1a: Unknown result type (might be due to invalid IL or missing references) //IL_2d5b: Unknown result type (might be due to invalid IL or missing references) //IL_2d6f: Unknown result type (might be due to invalid IL or missing references) //IL_2d83: Unknown result type (might be due to invalid IL or missing references) //IL_2d88: Unknown result type (might be due to invalid IL or missing references) //IL_2d8d: Unknown result type (might be due to invalid IL or missing references) //IL_2d92: Unknown result type (might be due to invalid IL or missing references) //IL_2dd3: Unknown result type (might be due to invalid IL or missing references) //IL_2de7: Unknown result type (might be due to invalid IL or missing references) //IL_2dfb: Unknown result type (might be due to invalid IL or missing references) //IL_2e00: Unknown result type (might be due to invalid IL or missing references) //IL_2e05: Unknown result type (might be due to invalid IL or missing references) //IL_2e0a: Unknown result type (might be due to invalid IL or missing references) //IL_2e4b: Unknown result type (might be due to invalid IL or missing references) //IL_2e5f: Unknown result type (might be due to invalid IL or missing references) //IL_2e73: Unknown result type (might be due to invalid IL or missing references) //IL_2e78: Unknown result type (might be due to invalid IL or missing references) //IL_2e7d: Unknown result type (might be due to invalid IL or missing references) //IL_2ea2: Unknown result type (might be due to invalid IL or missing references) //IL_2eb6: Unknown result type (might be due to invalid IL or missing references) //IL_2eca: Unknown result type (might be due to invalid IL or missing references) //IL_2ecf: Unknown result type (might be due to invalid IL or missing references) //IL_2ed4: Unknown result type (might be due to invalid IL or miss