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.SolusHeart.PhasePreFightCutscene;
using EntityStates.SolusWing2;
using EntityStates.SurvivorPod;
using EntityStates.Toolbot;
using HG;
using HG.BlendableTypes;
using HarmonyLib;
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.Common;
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.Content;
using M4A1Mod.Survivors.M4A1.Controllers;
using M4A1Mod.Survivors.M4A1.Hooks;
using M4A1Mod.Survivors.M4A1.Networking;
using M4A1Mod.Survivors.M4A1.SkillStates.Equip;
using M4A1Mod.Survivors.M4A1.SkillStates.Grenades;
using M4A1Mod.Survivors.M4A1.SkillStates.Helicopter;
using M4A1Mod.Survivors.M4A1.SkillStates.SpawnDummyLink;
using M4A1Mod.Survivors.M4A1.SkillStates.Weapon;
using M4A1Mod.Survivors.M4A1.SkillStates.Weapon.Minigun;
using M4A1Mod.Survivors.M4A1.Utils;
using On.EntityStates.MeridianEvent;
using On.EntityStates.Missions.BrotherEncounter;
using On.EntityStates.SolusHeart.PhasePreFightCutscene;
using On.EntityStates.SolusWing2;
using On.RoR2;
using On.RoR2.Skills;
using On.RoR2.UI;
using R2API;
using R2API.Networking;
using R2API.Networking.Interfaces;
using R2API.Utils;
using RiskOfOptions;
using RiskOfOptions.Options;
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.Playables;
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+94c5e5d9f025da9ba997921442eca0238aba83cc")]
[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 enum DebugLevel
{
None = 0,
Normal = 1,
Detailed = 5,
Spammy = 20,
ReallySpammy = 99
}
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, DebugLevel debugLevel = DebugLevel.Normal)
{
if (M4A1Mod.Survivors.M4A1.Constants.Mod.debugLevel >= (int)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.*/)]
[BepInDependency(/*Could not decode attribute arguments.*/)]
[NetworkCompatibility(/*Could not decode attribute arguments.*/)]
[BepInPlugin("com.Snoresville.M4A1", "M4A1", "1.1.3")]
public class M4A1Plugin : BaseUnityPlugin
{
public const string MODUID = "com.Snoresville.M4A1";
public const string MODNAME = "M4A1";
public const string MODVERSION = "1.1.3";
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 = Mathf.Min(new float[4]
{
M4A1Mod.Survivors.M4A1.Constants.AssaultRifle.maxRange,
M4A1Mod.Survivors.M4A1.Constants.Shotgun.maxRange,
M4A1Mod.Survivors.M4A1.Constants.ParticleCannon.range,
M4A1Mod.Survivors.M4A1.Constants.Minigun.maxRange
});
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_020e: Unknown result type (might be due to invalid IL or missing references)
//IL_0233: Unknown result type (might be due to invalid IL or missing references)
//IL_0253: Unknown result type (might be due to invalid IL or missing references)
//IL_0267: Unknown result type (might be due to invalid IL or missing references)
//IL_026f: Unknown result type (might be due to invalid IL or missing references)
//IL_02c3: Unknown result type (might be due to invalid IL or missing references)
//IL_02eb: Unknown result type (might be due to invalid IL or missing references)
//IL_030b: Unknown result type (might be due to invalid IL or missing references)
//IL_031f: Unknown result type (might be due to invalid IL or missing references)
//IL_0327: 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 minDistance2 = 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 = minDistance2,
maxDistance = range
});
Primary(new SkillDriverProps
{
name = "Fire Minigun",
requiredSkill = SkillDefs.minigun,
minDistance = 0f,
maxDistance = M4A1Mod.Survivors.M4A1.Constants.Minigun.maxRange
});
Primary(new SkillDriverProps
{
name = "Fire Shotgun",
requiredSkill = SkillDefs.shotgun,
minDistance = 0f,
maxDistance = M4A1Mod.Survivors.M4A1.Constants.Shotgun.maxRange
});
Primary(new SkillDriverProps
{
name = "Fire 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_00ee: 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 = M4A1Mod.Survivors.M4A1.Constants.DummyLink.Dummy.autoEquipmentUsage;
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 shotgunMuzzleFlashEffect;
public static GameObject minigunMuzzleFlashEffect;
public static GameObject dummyLinkSpawnTriggerEffect;
public static GameObject dummyLinkSpawnLocationEffect;
public static GameObject respawnSicknessDebuffEffect;
public static GameObject assaultRifleBulletTracerEffect;
public static GameObject shotgunBulletTracerEffect;
public static GameObject minigunBulletTracerEffect;
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();
CreateShotgunEffects();
CreateParticleCannonEffects();
CreateMinigunEffects();
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";
M4A1Mod.Modules.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;
M4A1Mod.Modules.Content.AddEffectDef(new EffectDef(assaultRifleBulletTracerEffect));
}
private static void CreateShotgunEffects()
{
//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
shotgunMuzzleFlashEffect = PrefabAPI.InstantiateClone(Addressables.LoadAssetAsync<GameObject>((object)"RoR2/Base/Common/VFX/Muzzleflash1.prefab").WaitForCompletion(), "M4A1AssaultRifleMuzzleFlashEffect", true);
shotgunMuzzleFlashEffect.AddComponent<NetworkIdentity>();
EffectComponent component = shotgunMuzzleFlashEffect.GetComponent<EffectComponent>();
component.soundName = "m4a1_shotgun_shoot";
M4A1Mod.Modules.Content.AddEffectDef(new EffectDef(shotgunMuzzleFlashEffect));
shotgunBulletTracerEffect = PrefabAPI.InstantiateClone(Addressables.LoadAssetAsync<GameObject>((object)"RoR2/Base/Commando/TracerCommandoDefault.prefab").WaitForCompletion(), "M4A1AssaultRifleBulletTracerEffect", true);
shotgunBulletTracerEffect.AddComponent<NetworkIdentity>();
Tracer component2 = shotgunBulletTracerEffect.GetComponent<Tracer>();
component2.speed = 500f;
M4A1Mod.Modules.Content.AddEffectDef(new EffectDef(shotgunBulletTracerEffect));
}
private static void CreateMinigunEffects()
{
//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_0033: Unknown result type (might be due to invalid IL or missing references)
//IL_003d: Expected O, but got Unknown
//IL_0043: Unknown result type (might be due to invalid IL or missing references)
//IL_0048: Unknown result type (might be due to invalid IL or missing references)
//IL_0086: Unknown result type (might be due to invalid IL or missing references)
//IL_0090: Expected O, but got Unknown
minigunMuzzleFlashEffect = PrefabAPI.InstantiateClone(Addressables.LoadAssetAsync<GameObject>((object)"RoR2/Base/Common/VFX/Muzzleflash1.prefab").WaitForCompletion(), "M4A1AssaultRifleMuzzleFlashEffect", true);
minigunMuzzleFlashEffect.AddComponent<NetworkIdentity>();
M4A1Mod.Modules.Content.AddEffectDef(new EffectDef(minigunMuzzleFlashEffect));
minigunBulletTracerEffect = PrefabAPI.InstantiateClone(Addressables.LoadAssetAsync<GameObject>((object)"RoR2/Base/Commando/TracerCommandoDefault.prefab").WaitForCompletion(), "M4A1AssaultRifleBulletTracerEffect", true);
minigunBulletTracerEffect.AddComponent<NetworkIdentity>();
Tracer component = minigunBulletTracerEffect.GetComponent<Tracer>();
component.speed = 500f;
M4A1Mod.Modules.Content.AddEffectDef(new EffectDef(minigunBulletTracerEffect));
}
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";
M4A1Mod.Modules.Content.AddEffectDef(new EffectDef(stunGrenadeExplosionEffect));
explosiveGrenadeExplosionEffect = assetBundle.LoadEffect("ExplosiveGrenadeEffect", parentToTransform: true);
component = explosiveGrenadeExplosionEffect.GetComponent<EffectComponent>();
component.applyScale = false;
component.soundName = "m4a1_grenade_explosion_detonate";
M4A1Mod.Modules.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";
M4A1Mod.Modules.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);
M4A1Mod.Modules.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";
M4A1Mod.Modules.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";
M4A1Mod.Modules.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_00dc: Unknown result type (might be due to invalid IL or missing references)
//IL_00e6: Expected O, but got Unknown
//IL_00eb: Unknown result type (might be due to invalid IL or missing references)
//IL_00f5: Expected O, but got Unknown
//IL_00fb: Unknown result type (might be due to invalid IL or missing references)
//IL_0100: Unknown result type (might be due to invalid IL or missing references)
//IL_011c: Unknown result type (might be due to invalid IL or missing references)
//IL_0121: Unknown result type (might be due to invalid IL or missing references)
//IL_0146: Unknown result type (might be due to invalid IL or missing references)
//IL_017e: 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_01e0: Unknown result type (might be due to invalid IL or missing references)
//IL_0213: Unknown result type (might be due to invalid IL or missing references)
//IL_021d: Unknown result type (might be due to invalid IL or missing references)
//IL_022f: Unknown result type (might be due to invalid IL or missing references)
//IL_0234: Unknown result type (might be due to invalid IL or missing references)
//IL_0246: Unknown result type (might be due to invalid IL or missing references)
//IL_024b: Unknown result type (might be due to invalid IL or missing references)
//IL_025b: Unknown result type (might be due to invalid IL or missing references)
//IL_0265: 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<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>();
EffectComponent val3 = dummyLinkSpawnLocationEffect.AddComponent<EffectComponent>();
val3.soundName = "m4a1_spawn_dummy_link";
val3.parentToReferencedTransform = true;
val3.positionAtReferencedTransform = true;
val3.noEffectData = false;
val3.effectData = new EffectData();
M4A1Mod.Modules.Content.AddEffectDef(new EffectDef(dummyLinkSpawnLocationEffect));
Material val4 = Object.Instantiate<Material>(Addressables.LoadAssetAsync<Material>((object)"RoR2/Base/ShockNearby/matLightningTeslaSlow.mat").WaitForCompletion());
val4.SetTexture("_RemapTex", Addressables.LoadAssetAsync<Texture>((object)"RoR2/Base/Common/ColorRamps/texRampLightning2.png").WaitForCompletion());
val4.SetColor("_TintColor", new Color(1f, 0.24f, 0f));
dummyLinkSpawnTriggerEffect = CreateTracer("RoR2/Base/Huntress/TracerHuntressSnipe.prefab", "M4A1ParticleCannonTracer");
dummyLinkSpawnTriggerEffect.transform.position = new Vector3(0f, 0f, 0f);
Tracer component = dummyLinkSpawnTriggerEffect.GetComponent<Tracer>();
component.speed = 100000000f;
component.length = 100000000f;
M4A1TracerComponentFix m4A1TracerComponentFix = dummyLinkSpawnTriggerEffect.AddComponent<M4A1TracerComponentFix>();
m4A1TracerComponentFix.minDuration = 0.15f;
GameObject beamObject = component.beamObject;
Transform transform = beamObject.transform;
transform.localScale *= 1.2f;
beamObject.GetComponent<ParticleSystemRenderer>().trailMaterial = val4;
Transform val5 = dummyLinkSpawnTriggerEffect.transform.Find("TracerHead");
val5.localScale *= 0f;
MainModule main = beamObject.GetComponent<ParticleSystem>().main;
((MainModule)(ref main)).startColor = MinMaxGradient.op_Implicit(new Color(1f, 0.24f, 0f));
M4A1Mod.Modules.Content.AddEffectDef(new EffectDef(dummyLinkSpawnTriggerEffect));
}
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 = "";
M4A1Mod.Modules.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 = "";
M4A1Mod.Modules.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;
M4A1Mod.Modules.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;
BuffWard val3 = smokeGrenadeAOEPrefab.AddComponent<BuffWard>();
val3.radius = M4A1Mod.Survivors.M4A1.Constants.Grenades.Smoke.radius;
val3.interval = 0.01f;
val3.rangeIndicator = null;
val3.buffDef = Buffs.smokeGrenadeDebuff;
val3.buffDuration = M4A1Mod.Survivors.M4A1.Constants.Grenades.Smoke.buffDuration;
val3.invertTeamFilter = true;
val3.floorWard = false;
val3.expires = true;
val3.expireDuration = M4A1Mod.Survivors.M4A1.Constants.Grenades.Smoke.duration;
val3.animateRadius = false;
M4A1Mod.Modules.Content.AddProjectilePrefab(smokeGrenadeProjectilePrefab);
}
}
public static class Buffs
{
public static BuffDef introStateBuff;
public static BuffDef particleCannonBuff;
public static BuffDef minigunBuff;
public static BuffDef dummyLinkSpawnCooldown;
public static BuffDef smokeGrenadeBuff;
public static BuffDef smokeGrenadeDebuff;
public static BuffDef respawnSicknessDebuff;
static Buffs()
{
//IL_0035: 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_008e: Unknown result type (might be due to invalid IL or missing references)
//IL_00b3: Unknown result type (might be due to invalid IL or missing references)
//IL_00e7: Unknown result type (might be due to invalid IL or missing references)
MakeEquipBuff("ParticleCannon", out particleCannonBuff);
MakeEquipBuff("Minigun", out minigunBuff);
introStateBuff = M4A1Mod.Modules.Content.CreateAndAddBuff("M4A1IntroStateBuff", Assets.assetBundle.LoadAsset<Sprite>("dummyLink"), Color.clear, canStack: false, isDebuff: false);
smokeGrenadeBuff = M4A1Mod.Modules.Content.CreateAndAddBuff("M4A1SmokeGrenadeBuff", Assets.assetBundle.LoadAsset<Sprite>("grenadeSmoke"), Color.white, canStack: false, isDebuff: false);
smokeGrenadeDebuff = M4A1Mod.Modules.Content.CreateAndAddBuff("M4A1SmokeGrenadeDebuff", Assets.assetBundle.LoadAsset<Sprite>("grenadeSmoke"), new Color(110f, 0f, 0f), canStack: false, isDebuff: false);
respawnSicknessDebuff = M4A1Mod.Modules.Content.CreateAndAddBuff("M4A1RespawnSicknessDebuff", Assets.assetBundle.LoadAsset<Sprite>("respawnSickness"), Color.white, canStack: false, isDebuff: true);
dummyLinkSpawnCooldown = M4A1Mod.Modules.Content.CreateAndAddBuff("M4A1dummyLinkSpawnCooldown", Assets.assetBundle.LoadAsset<Sprite>("dummyLink"), new Color(110f, 0f, 0f), canStack: false, isDebuff: true);
}
private static void MakeEquipBuff(string name, out BuffDef buffDef)
{
//IL_0027: Unknown result type (might be due to invalid IL or missing references)
buffDef = M4A1Mod.Modules.Content.CreateAndAddBuff("M4A1Equip" + name + "Buff", Assets.assetBundle.LoadAsset<Sprite>("equip" + name), Color.white, canStack: false, isDebuff: false);
}
}
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