Please disclose if any significant portion of your mod was created using AI tools by adding the 'AI Generated' category. Failing to do so may result in the mod being removed from Thunderstore.
Decompiled source of RaindropLobotomy v1.8.3
RaindropLobotomy.dll
Decompiled 5 months ago
The result has been truncated due to the large size, download it to view full contents!
using System; using System.Collections; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using System.Security; using System.Security.Permissions; using BepInEx; using BepInEx.Bootstrap; using BepInEx.Configuration; using BepInEx.Logging; using EntityStates; using HG.Reflection; using IL.RoR2; using IL.RoR2.UI; using KinematicCharacterController; using Microsoft.CodeAnalysis; using Mono.Cecil; using Mono.Cecil.Cil; using MonoMod.Cil; using MonoMod.RuntimeDetour; using On; using On.EntityStates; using On.RoR2; using On.RoR2.Skills; using On.RoR2.UI; using PaladinMod; using PaladinMod.Modules; using R2API; using R2API.Networking; using R2API.Networking.Interfaces; using RaindropLobotomy.Buffs; using RaindropLobotomy.EGO; using RaindropLobotomy.EGO.Commando; using RaindropLobotomy.EGO.Gifts; using RaindropLobotomy.EGO.Mage; using RaindropLobotomy.EGO.Merc; using RaindropLobotomy.EGO.Viend; using RaindropLobotomy.Enemies; using RaindropLobotomy.Enemies.ArbiterBoss; using RaindropLobotomy.Enemies.FHR; using RaindropLobotomy.Ordeals; using RaindropLobotomy.Ordeals.Noon.Indigo; using RaindropLobotomy.Skills; using RaindropLobotomy.Survivors; using RaindropLobotomy.Survivors.Sweeper; using RaindropLobotomy.Utils; using RaindropLobotomy.Utils.Assets; using Rewired.ComponentControls.Effects; using RoR2; using RoR2.Audio; using RoR2.CharacterAI; using RoR2.EntitlementManagement; using RoR2.ExpansionManagement; using RoR2.Navigation; using RoR2.Orbs; using RoR2.Projectile; using RoR2.Skills; using RoR2.UI; using Survariants; using TMPro; using UnityEngine; using UnityEngine.AI; using UnityEngine.AddressableAssets; using UnityEngine.Audio; using UnityEngine.Networking; using UnityEngine.Rendering; using UnityEngine.Rendering.PostProcessing; using UnityEngine.SceneManagement; 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: OptIn] [assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")] [assembly: AssemblyCompany("RaindropLobotomy")] [assembly: AssemblyConfiguration("Debug")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0")] [assembly: AssemblyProduct("RaindropLobotomy")] [assembly: AssemblyTitle("RaindropLobotomy")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.0.0.0")] [module: UnverifiableCode] [module: RefSafetyRules(11)] [module: UnverifiableCode] namespace Microsoft.CodeAnalysis { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] internal sealed class EmbeddedAttribute : Attribute { } } namespace System.Runtime.CompilerServices { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.Module, AllowMultiple = false, Inherited = false)] internal sealed class RefSafetyRulesAttribute : Attribute { public readonly int Version; public RefSafetyRulesAttribute(int P_0) { Version = P_0; } } } namespace RaindropLobotomy { public class RLTemporaryEffects : MonoBehaviour { [CompilerGenerated] private static class <>O { public static hook_UpdateAllTemporaryVisualEffects <0>__OnUpdateVisualEffects; } public TemporaryVisualEffect FeatherShield; public void UpdateTemporaryEffects(CharacterBody body) { //IL_001a: Unknown result type (might be due to invalid IL or missing references) body.UpdateSingleTemporaryVisualEffect(ref FeatherShield, FeatherGuard.FeatherShieldEffect, body.bestFitActualRadius / 2f, body.HasBuff(BuffBase<FeatherGuard>.BuffIndex), "Pelvis"); } internal static void ApplyHooks() { //IL_0011: Unknown result type (might be due to invalid IL or missing references) //IL_0016: Unknown result type (might be due to invalid IL or missing references) //IL_001c: Expected O, but got Unknown object obj = <>O.<0>__OnUpdateVisualEffects; if (obj == null) { hook_UpdateAllTemporaryVisualEffects val = OnUpdateVisualEffects; <>O.<0>__OnUpdateVisualEffects = val; obj = (object)val; } CharacterBody.UpdateAllTemporaryVisualEffects += (hook_UpdateAllTemporaryVisualEffects)obj; } private static void OnUpdateVisualEffects(orig_UpdateAllTemporaryVisualEffects orig, CharacterBody self) { orig.Invoke(self); RLTemporaryEffects rLTemporaryEffects = ((Component)self).GetComponent<RLTemporaryEffects>(); if (!Object.op_Implicit((Object)(object)rLTemporaryEffects)) { rLTemporaryEffects = ((Component)(object)self).AddComponent<RLTemporaryEffects>(); } rLTemporaryEffects.UpdateTemporaryEffects(self); } } [BepInPlugin("BALLS.RaindropLobotomy", "RaindropLobotomy", "1.5.0")] [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.*/)] public class Main : BaseUnityPlugin { public class MainConfiguration : ConfigClass { public override string Section => "Main Configuration"; public bool SuppressDuplicateVariants => Option("Suppress Duplicate Variants", "Prevent a vanilla-targeted variant from loading if another mod survivor has a copy of that variant. (ex: Index Messenger Mercenary wont load if Paladin is present, as he receives Index Messenger Paladin)", def: true); public override void Initialize() { } } public const string PluginGUID = "BALLS.RaindropLobotomy"; public const string PluginAuthor = "BALLS"; public const string PluginName = "RaindropLobotomy"; public const string PluginVersion = "1.5.0"; public static Assembly assembly; public static AssetBundle MainAssets; public static ManualLogSource ModLogger; public static ConfigFile config; public static float[] RandomizedPercentages = new float[25]; private float stopwatch = 0f; public static Dictionary<HealthComponent, int> PercentagesMap = new Dictionary<HealthComponent, int>(); public static bool paladinInstalled; public static MainConfiguration MainConfig = new MainConfiguration(); public static GameObject CameraLocker; public void Awake() { //IL_0217: Unknown result type (might be due to invalid IL or missing references) //IL_0221: Expected O, but got Unknown assembly = typeof(Main).Assembly; ModLogger = ((BaseUnityPlugin)this).Logger; MainAssets = AssetBundle.LoadFromFile(assembly.Location.Replace("RaindropLobotomy.dll", "enkephalin")); paladinInstalled = Chainloader.PluginInfos.ContainsKey("com.rob.Paladin"); config = ((BaseUnityPlugin)this).Config; OrdealManager.Initialize(); AbnormalityManager.Initialize(); ScanTypes(delegate(EnemyBase x) { x.Create(); }); ScanTypes(delegate(OrdealBase x) { x.Create(); }); ScanTypes(delegate(EGOSkillBase x) { x.Create(); }); ScanTypes(delegate(BuffBase x) { x.Create(); }); ScanTypes(delegate(SurvivorBase x) { x.Create(); }); ScanTypes(delegate(SkillBase x) { x.Create(); }); ScanTypes(delegate(EGOGiftBase x) { x.Initialize(); }); StubShaders(MainAssets); Main.ForAllAssets<SkillDef>((Action<SkillDef>)delegate(SkillDef x) { ContentAddition.AddSkillDef(x); }); Main.ForAllAssets<SkillFamily>((Action<SkillFamily>)delegate(SkillFamily x) { ContentAddition.AddSkillFamily(x); }); Main.ForAllAssets<GameObject>((Action<GameObject>)delegate(GameObject x) { if (Object.op_Implicit((Object)(object)x.GetComponent<NetworkIdentity>())) { PrefabAPI.RegisterNetworkPrefab(x); ContentAddition.AddNetworkedObject(x); } if (Object.op_Implicit((Object)(object)x.GetComponent<EffectComponent>())) { ContentAddition.AddEffect(x); } }); ScanTypes<EntityState>(delegate(Type x) { //IL_0004: Unknown result type (might be due to invalid IL or missing references) bool flag = default(bool); ContentAddition.AddEntityState(x, ref flag); }); RoR2Content.Init += new hook_Init(OnWwiseInit); RLTemporaryEffects.ApplyHooks(); CameraLocker = Main.Load<GameObject>("CameraLock.prefab"); } private void OnWwiseInit(orig_Init orig) { //IL_003e: 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_0058: Unknown result type (might be due to invalid IL or missing references) orig.Invoke(); ((BaseUnityPlugin)this).Logger.LogError((object)"RL: Loading Soundbanks"); string text = typeof(Main).Assembly.Location.Replace("RaindropLobotomy.dll", ""); AkSoundEngine.AddBasePath(text); uint num = default(uint); AkSoundEngine.LoadBank("InitRL", ref num); AkSoundEngine.LoadBank("RLBank", ref num); } public void Start() { ScanTypes(delegate(CorrosionBase x) { if (x.AreWeAllowedToLoad()) { x.Create(); } }); } public static T Load<T>(string key) where T : Object { return MainAssets.LoadAsset<T>(key); } public static void StubShaders(AssetBundle bundle) { Material[] array = MainAssets.LoadAllAssets<Material>(); Material[] array2 = array; foreach (Material val in array2) { Material val2 = val; string name = ((Object)val.shader).name; if (1 == 0) { } Shader shader = (Shader)(name switch { "StubbedShader/deferred/hgstandard" => Shader.HGStandard, "StubbedShader/fx/hgcloudremap" => Shader.HGCloudRemap, "Hopoo Games/FX/Cloud Remap" => Shader.HGCloudRemap, _ => val.shader, }); if (1 == 0) { } val2.shader = shader; } } public static void ForAllAssets<T>(Action<T> action) where T : Object { T[] array = MainAssets.LoadAllAssets<T>(); for (int i = 0; i < array.Length; i++) { action(array[i]); } } public static float GetPercentage(HealthComponent comp) { if ((Object)(object)comp == (Object)null) { return 1f; } if (!PercentagesMap.ContainsKey(comp)) { PercentagesMap[comp] = Random.Range(0, RandomizedPercentages.Length); } return RandomizedPercentages[PercentagesMap[comp]]; } public void FixedUpdate() { stopwatch += Time.fixedDeltaTime; if (stopwatch >= 0.8f) { stopwatch = 0f; for (int i = 0; i < RandomizedPercentages.Length; i++) { RandomizedPercentages[i] = Random.Range(0f, 1f); } } } public static void ScanTypes<T>(Action<T> action) { IEnumerable<Type> enumerable = from x in assembly.GetTypes() where !x.IsAbstract && x.IsSubclassOf(typeof(T)) select x; foreach (Type item in enumerable) { if (!(typeof(T) == typeof(SurvivorBase)) || !item.IsSubclassOf(typeof(CorrosionBase))) { T obj = (T)Activator.CreateInstance(item); action(obj); } } } public static void ScanTypes<T>(Action<Type> action) { IEnumerable<Type> enumerable = from x in assembly.GetTypes() where !x.IsAbstract && x.IsSubclassOf(typeof(T)) select x; foreach (Type item in enumerable) { if (!(typeof(T) == typeof(SurvivorBase)) || !item.IsSubclassOf(typeof(CorrosionBase))) { action(item); } } } } public abstract class ConfigClass { public abstract string Section { get; } public abstract void Initialize(); public T Option<T>(string key, string desc, T def) { return Main.config.Bind<T>(Section, key, def, desc).Value; } public ConfigClass() { Initialize(); } } } namespace RaindropLobotomy.Utils { public class BeizerCurve { private Vector3 p0; private Vector3 p1; private Vector3 p2; public float totalLength; private const int subdivisions = 200; private float[] timeTable; private float[] distanceTable; public BeizerCurve() { } public BeizerCurve(Vector3 p0, Vector3 p1, Vector3 p2) { //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_000a: Unknown result type (might be due to invalid IL or missing references) //IL_0010: Unknown result type (might be due to invalid IL or missing references) //IL_0011: Unknown result type (might be due to invalid IL or missing references) //IL_0017: Unknown result type (might be due to invalid IL or missing references) //IL_0018: Unknown result type (might be due to invalid IL or missing references) //IL_0054: Unknown result type (might be due to invalid IL or missing references) //IL_0059: Unknown result type (might be due to invalid IL or missing references) //IL_006c: Unknown result type (might be due to invalid IL or missing references) //IL_0071: Unknown result type (might be due to invalid IL or missing references) //IL_0073: Unknown result type (might be due to invalid IL or missing references) //IL_0075: Unknown result type (might be due to invalid IL or missing references) //IL_007d: Unknown result type (might be due to invalid IL or missing references) //IL_007e: Unknown result type (might be due to invalid IL or missing references) //IL_0080: Unknown result type (might be due to invalid IL or missing references) //IL_009f: Unknown result type (might be due to invalid IL or missing references) //IL_00a1: Unknown result type (might be due to invalid IL or missing references) this.p0 = p0; this.p1 = p1; this.p2 = p2; totalLength = 0f; float num = 0.005f; timeTable = new float[200]; distanceTable = new float[200]; Vector3 val = GetBeizerPoint(0f); float num2 = 0f; for (int i = 0; i < 200; i++) { num2 = num * (float)i; Vector3 beizerPoint = GetBeizerPoint(num2); float num3 = Vector3.Distance(beizerPoint, val); Debug.DrawLine(val, beizerPoint, Color.red, 60f); totalLength += num3; val = beizerPoint; timeTable[i] = num2; distanceTable[i] = totalLength; } } public Vector3 GetBeizerPoint(float time) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_000e: Unknown result type (might be due to invalid IL or missing references) //IL_0014: 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_0020: 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_002b: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Unknown result type (might be due to invalid IL or missing references) return Vector3.Lerp(Vector3.Lerp(p0, p1, time), Vector3.Lerp(p1, p2, time), time); } public Vector3 GetBeizerPointAtDistance(float distance) { //IL_003d: Unknown result type (might be due to invalid IL or missing references) //IL_0042: Unknown result type (might be due to invalid IL or missing references) //IL_0046: Unknown result type (might be due to invalid IL or missing references) float time = 0f; for (int i = 0; i < distanceTable.Length && !(distanceTable[i] > distance); i++) { time = timeTable[i]; } return GetBeizerPoint(time); } public Vector3 GetRotationAlongCurve(float distance, float quality = 0.22f) { //IL_0003: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_000d: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Unknown result type (might be due to invalid IL or missing references) //IL_0013: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_001d: Unknown result type (might be due to invalid IL or missing references) //IL_0022: Unknown result type (might be due to invalid IL or missing references) //IL_0025: Unknown result type (might be due to invalid IL or missing references) Vector3 beizerPoint = GetBeizerPoint(distance); Vector3 beizerPointAtDistance = GetBeizerPointAtDistance(distance + quality); Vector3 val = beizerPointAtDistance - beizerPoint; return ((Vector3)(ref val)).normalized; } } public abstract class CoolerBasicMeleeAttack : BasicMeleeAttack { public abstract float BaseDuration { get; } public abstract float DamageCoefficient { get; } public abstract string HitboxName { get; } public abstract GameObject HitEffectPrefab { get; } public abstract float ProcCoefficient { get; } public abstract float HitPauseDuration { get; } public abstract GameObject SwingEffectPrefab { get; } public abstract string MuzzleString { get; } public virtual string MechanimHitboxParameter { get; } public virtual bool ScaleHitPauseDurationWithAttackSpeed { get; } = true; public virtual Func<bool> AlternateActiveParameter { get; } = () => true; public override void OnEnter() { base.baseDuration = BaseDuration; base.damageCoefficient = DamageCoefficient; base.hitBoxGroupName = HitboxName; base.hitEffectPrefab = HitEffectPrefab; base.procCoefficient = ProcCoefficient; base.hitPauseDuration = HitPauseDuration; base.swingEffectPrefab = SwingEffectPrefab; base.swingEffectMuzzleString = MuzzleString; if (MechanimHitboxParameter != null) { base.mecanimHitboxActiveParameter = MechanimHitboxParameter; } base.scaleHitPauseDurationAndVelocityWithAttackSpeed = ScaleHitPauseDurationWithAttackSpeed; ((BasicMeleeAttack)this).OnEnter(); } public override void FixedUpdate() { ((EntityState)this).fixedAge = ((EntityState)this).fixedAge + Time.fixedDeltaTime; if (string.IsNullOrEmpty(MechanimHitboxParameter) && AlternateActiveParameter()) { ((BasicMeleeAttack)this).BeginMeleeAttackEffect(); } else if (base.animator.GetFloat(MechanimHitboxParameter) >= 0.5f) { ((BasicMeleeAttack)this).BeginMeleeAttackEffect(); } if (((EntityState)this).isAuthority) { ((BasicMeleeAttack)this).AuthorityFixedUpdate(); } } } public static class CharacterExtensions { public static bool HasSkillEquipped(this CharacterBody body, SkillDef skill) { GenericSkill[] components = ((Component)body).GetComponents<GenericSkill>(); foreach (GenericSkill val in components) { if ((Object)(object)val.skillDef == (Object)(object)skill) { return true; } } return false; } public static bool GetIsAttacking(this CharacterBody body) { List<string> list = new List<string>(); GenericSkill[] components = ((Component)body).GetComponents<GenericSkill>(); foreach (GenericSkill val in components) { if (Object.op_Implicit((Object)(object)val.skillDef) && !list.Contains(val.skillDef.activationStateMachineName)) { list.Add(val.skillDef.activationStateMachineName); } } foreach (string item in list) { EntityStateMachine val2 = EntityStateMachine.FindByCustomName(((Component)body).gameObject, item); if (!val2.IsInMainState()) { return true; } } return false; } public static void ClearInventory(this CharacterBody body) { //IL_0035: Unknown result type (might be due to invalid IL or missing references) //IL_003a: Unknown result type (might be due to invalid IL or missing references) //IL_003c: Unknown result type (might be due to invalid IL or missing references) if (!Object.op_Implicit((Object)(object)body.inventory)) { return; } List<ItemDef> list = new List<ItemDef>(); foreach (ItemIndex item in body.inventory.itemAcquisitionOrder) { ItemDef itemDef = ItemCatalog.GetItemDef(item); list.Add(itemDef); } foreach (ItemDef item2 in list) { body.inventory.RemoveItem(item2, body.inventory.GetItemCount(item2)); } } public static void ClearInventory(this CharacterBody body, bool hidden) { //IL_0035: Unknown result type (might be due to invalid IL or missing references) //IL_003a: Unknown result type (might be due to invalid IL or missing references) //IL_003c: Unknown result type (might be due to invalid IL or missing references) if (!Object.op_Implicit((Object)(object)body.inventory)) { return; } List<ItemDef> list = new List<ItemDef>(); foreach (ItemIndex item in body.inventory.itemAcquisitionOrder) { ItemDef itemDef = ItemCatalog.GetItemDef(item); if (hidden) { list.Add(itemDef); } else if (!itemDef.hidden) { list.Add(itemDef); } } foreach (ItemDef item2 in list) { body.inventory.RemoveItem(item2, body.inventory.GetItemCount(item2)); } } } public static class EnumeratorExtensions { public static T GetRandom<T>(this IEnumerable<T> self) { if (self.Count() == 0) { return default(T); } return self.ElementAt(Random.Range(0, self.Count())); } public static T GetRandom<T>(this IEnumerable<T> self, Xoroshiro128Plus rng) { if (self.Count() == 0) { return default(T); } return self.ElementAt(rng.RangeInt(0, self.Count())); } public static T GetRandom<T>(this IEnumerable<T> self, Func<T, bool> predicate) { try { return self.Where(predicate).ElementAt(Random.Range(0, self.Count())); } catch { return default(T); } } public static T GetRandom<T>(this IEnumerable<T> self, Xoroshiro128Plus rng, Func<T, bool> predicate) { try { return self.Where(predicate).ElementAt(rng.RangeInt(0, self.Count())); } catch { return default(T); } } } public static class StringExtensions { public static void Add(this string str, string text) { LanguageAPI.Add(str, text); } public static T Load<T>(this string str) { //IL_0003: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) try { return Addressables.LoadAssetAsync<T>((object)str).WaitForCompletion(); } catch { return default(T); } } public static string RemoveUnsafeCharacters(this string str) { string[] array = new string[17] { "\n", "'", " ", "!", "`", "&", "-", ")", "(", "{", "}", "|", "@", "<", ">", ".", "\\" }; string text = str; string[] array2 = array; foreach (string oldValue in array2) { text = text.Replace(oldValue, ""); } return text; } public static string RemoveUnsafeCharacters(this string str, string[] unsafeChars) { string text = str; foreach (string oldValue in unsafeChars) { text = text.Replace(oldValue, ""); } return text; } public static string AutoFormat(this string str) { return Formatter.FormatString(str); } } internal class Formatter { internal struct Format { public string match; public string expanded; } private static List<Format> formats = new List<Format> { new Format { match = "$su", expanded = "<style=cIsUtility>" }, new Format { match = "$sd", expanded = "<style=cIsDamage>" }, new Format { match = "$ss", expanded = "<style=cStack>" }, new Format { match = "$sr", expanded = "<style=cDeath>" }, new Format { match = "$sh", expanded = "<style=cIsHealing>" }, new Format { match = "$se", expanded = "</style>" }, new Format { match = "$rc", expanded = "<color=#36D7A9>" }, new Format { match = "$ec", expanded = "</color>" }, new Format { match = "$pc", expanded = "<color=#406096>" } }; internal static string FormatString(string str) { foreach (Format format in formats) { str = str.Replace(format.match, format.expanded); } return str; } } public static class UnityExtensions { public static void RemoveComponent<T>(this GameObject self) where T : Component { Object.Destroy((Object)(object)self.GetComponent<T>()); } public static void RemoveComponents<T>(this GameObject self) where T : Component { T[] components = self.GetComponents<T>(); for (int i = 0; i < components.Length; i++) { Object.Destroy((Object)(object)components[i]); } } public static ParticleSystemRenderer FindParticle(this GameObject self, string name) { return self.FindComponent<ParticleSystemRenderer>(name); } public static T FindComponent<T>(this GameObject self, string name) where T : Component { return self.GetComponentsInChildren<T>(true).FirstOrDefault((T x) => ((Object)((Component)x).gameObject).name == name); } public static T Clone<T>(this T obj) { return (T)(obj.GetType().GetMethod("MemberwiseClone", BindingFlags.Instance | BindingFlags.NonPublic)?.Invoke(obj, null)); } public static void MakeAbideByScale(this ParticleSystem self) { //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) MainModule main = self.main; ((MainModule)(ref main)).scalingMode = (ParticleSystemScalingMode)0; } public static void MakeAbideByScaleRecursively(this GameObject self) { ParticleSystem[] componentsInChildren = self.GetComponentsInChildren<ParticleSystem>(); foreach (ParticleSystem self2 in componentsInChildren) { self2.MakeAbideByScale(); } } public static Vector3 Nullify(this Vector3 self, bool x, bool y, bool z) { //IL_0004: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_0024: 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_0036: Unknown result type (might be due to invalid IL or missing references) //IL_0039: Unknown result type (might be due to invalid IL or missing references) return new Vector3(x ? 0f : self.x, y ? 0f : self.y, z ? 0f : self.z); } public static void RemoveComponent<T>(this Component self) where T : Component { Object.Destroy((Object)(object)self.GetComponent<T>()); } public static void RemoveComponents<T>(this Component self) where T : Component { T[] components = self.GetComponents<T>(); for (int i = 0; i < components.Length; i++) { Object.Destroy((Object)(object)components[i]); } } public static T AddComponent<T>(this Component self) where T : Component { return self.gameObject.AddComponent<T>(); } public static Sprite MakeSprite(this Texture2D self) { //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_0024: Unknown result type (might be due to invalid IL or missing references) return Sprite.Create(new Rect(0f, 0f, 512f, 512f), new Vector2(256f, 256f), 1f, self); } } public static class Keywords { public static string Poison = "KEYWORD_POISON"; public static string Regenerative = "KEYWORD_RAPID_REGEN"; public static string Agile = "KEYWORD_AGILE"; public static string HealthCost = "KEYWORD_PERCENT_HP"; public static string Disperse = "KEYWORD_SONIC_BOOM"; public static string Weak = "KEYWORD_WEAK"; public static string Heavy = "KEYWORD_HEAVY"; public static string Freeze = "KEYWORD_FREEZING"; public static string Stun = "KEYWORD_STUNNING"; public static string Expose = "KEYWORD_EXPOSE"; public static string Shock = "KEYWORD_SHOCKING"; public static string Slayer = "KEYWORD_SLAYER"; public static string Hemorrhage = "KEYWORD_SUPERBLEED"; public static string Ignite = "KEYWORD_IGNITE"; public static string Weakpoint = "KEYWORD_WEAKPOINT"; public static string ActiveReload = "KEYWORD_ACTIVERELOAD"; public static string VoidCorruption = "KEYWORD_VOIDCORRUPTION"; } public static class MathHelpers { public static string FloatToPercentageString(float number, float numberBase = 100f) { return (number * numberBase).ToString("##0") + "%"; } public static Vector3 ClosestPointOnSphereToPoint(Vector3 origin, float radius, Vector3 targetPosition) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0003: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_000a: Unknown result type (might be due to invalid IL or missing references) //IL_000f: Unknown result type (might be due to invalid IL or missing references) //IL_0010: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Unknown result type (might be due to invalid IL or missing references) //IL_0017: Unknown result type (might be due to invalid IL or missing references) //IL_0018: Unknown result type (might be due to invalid IL or missing references) //IL_0019: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_001f: Unknown result type (might be due to invalid IL or missing references) //IL_0022: Unknown result type (might be due to invalid IL or missing references) Vector3 val = targetPosition - origin; val = Vector3.Normalize(val); val *= radius; return origin + val; } public static List<Vector3> DistributePointsEvenlyAroundSphere(int points, float radius, Vector3 origin) { //IL_0066: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Unknown result type (might be due to invalid IL or missing references) //IL_0072: Unknown result type (might be due to invalid IL or missing references) //IL_0077: Unknown result type (might be due to invalid IL or missing references) //IL_007a: Unknown result type (might be due to invalid IL or missing references) //IL_007d: Unknown result type (might be due to invalid IL or missing references) List<Vector3> list = new List<Vector3>(); double num = Math.PI * (3.0 - Math.Sqrt(5.0)); for (int i = 0; i < points; i++) { int num2 = 1 - i / (points - 1) * 2; double num3 = Math.Sqrt(1 - num2 * num2); double num4 = num * (double)i; float num5 = (float)(Math.Cos(num4) * num3); float num6 = (float)(Math.Sin(num4) * num3); Vector3 val = origin + new Vector3(num5, (float)num2, num6); list.Add(val * radius); } return list; } public static List<Vector3> DistributePointsEvenlyAroundCircle(int points, float radius, Vector3 origin, float angleOffset = 0f) { //IL_002c: Unknown result type (might be due to invalid IL or missing references) //IL_0035: Unknown result type (might be due to invalid IL or missing references) //IL_0044: Unknown result type (might be due to invalid IL or missing references) //IL_0053: Unknown result type (might be due to invalid IL or missing references) List<Vector3> list = new List<Vector3>(); Vector3 item = default(Vector3); for (int i = 0; i < points; i++) { double num = Math.PI * 2.0 / (double)points; double num2 = num * (double)i + (double)angleOffset; ((Vector3)(ref item))..ctor((float)((double)radius * Math.Cos(num2) + (double)origin.x), origin.y, (float)((double)radius * Math.Sin(num2) + (double)origin.z)); list.Add(item); } return list; } public static Vector3 GetPointOnUnitSphereCap(Quaternion targetDirection, float angle) { //IL_0013: Unknown result type (might be due to invalid IL or missing references) //IL_0018: Unknown result type (might be due to invalid IL or missing references) //IL_001b: 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_002b: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Unknown result type (might be due to invalid IL or missing references) //IL_0034: Unknown result type (might be due to invalid IL or missing references) //IL_0045: Unknown result type (might be due to invalid IL or missing references) //IL_0046: Unknown result type (might be due to invalid IL or missing references) //IL_0047: Unknown result type (might be due to invalid IL or missing references) //IL_004c: Unknown result type (might be due to invalid IL or missing references) //IL_0050: Unknown result type (might be due to invalid IL or missing references) float num = Random.Range(0f, angle) * (MathF.PI / 180f); Vector2 insideUnitCircle = Random.insideUnitCircle; Vector2 val = ((Vector2)(ref insideUnitCircle)).normalized * Mathf.Sin(num); Vector3 val2 = default(Vector3); ((Vector3)(ref val2))..ctor(val.x, val.y, Mathf.Cos(num)); return targetDirection * val2; } public static Vector3 GetPointOnUnitSphereCap(Vector3 targetDirection, float angle) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_000d: Unknown result type (might be due to invalid IL or missing references) //IL_0010: Unknown result type (might be due to invalid IL or missing references) return GetPointOnUnitSphereCap(Quaternion.LookRotation(targetDirection), angle); } public static Vector3 RandomPointOnCircle(Vector3 origin, float radius, Xoroshiro128Plus random) { //IL_0012: Unknown result type (might be due to invalid IL or missing references) //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_002a: Unknown result type (might be due to invalid IL or missing references) //IL_002f: Unknown result type (might be due to invalid IL or missing references) //IL_0034: Unknown result type (might be due to invalid IL or missing references) //IL_0037: Unknown result type (might be due to invalid IL or missing references) float num = random.RangeFloat(0f, MathF.PI * 2f); return origin + new Vector3(Mathf.Cos(num), 0f, Mathf.Sin(num)) * radius; } public static float InverseHyperbolicScaling(float baseValue, float additionalValue, float maxValue, int itemCount) { return baseValue + (maxValue - baseValue) * (1f - 1f / (1f + additionalValue * (float)(itemCount - 1))); } public static float CustomHyperbolic(float amplificationPercentage, float max = 100f) { return (1f - max / (max + amplificationPercentage)) * max; } } public static class MiscUtils { public static Vector3? RaycastToDirection(Vector3 position, float maxDistance, Vector3 direction, int layer) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0003: Unknown result type (might be due to invalid IL or missing references) //IL_0019: Unknown result type (might be due to invalid IL or missing references) //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_002a: Unknown result type (might be due to invalid IL or missing references) //IL_002f: Unknown result type (might be due to invalid IL or missing references) RaycastHit val = default(RaycastHit); if (Physics.Raycast(new Ray(position, direction), ref val, maxDistance, layer, (QueryTriggerInteraction)1)) { return ((RaycastHit)(ref val)).point + ((RaycastHit)(ref val)).normal * 1f; } return null; } public static Vector3? GroundPoint(this Vector3 point) { //IL_0001: 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_0011: Unknown result type (might be due to invalid IL or missing references) return RaycastToDirection(point, float.PositiveInfinity, Vector3.down, LayerMask.op_Implicit(((LayerIndex)(ref LayerIndex.world)).mask)); } public static bool CheckLoS(Vector3 a, Vector3 b) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0003: Unknown result type (might be due to invalid IL or missing references) //IL_000f: Unknown result type (might be due to invalid IL or missing references) //IL_0010: Unknown result type (might be due to invalid IL or missing references) //IL_0011: Unknown result type (might be due to invalid IL or missing references) //IL_0016: Unknown result type (might be due to invalid IL or missing references) //IL_0019: Unknown result type (might be due to invalid IL or missing references) //IL_0023: Unknown result type (might be due to invalid IL or missing references) float maxDistance = Vector3.Distance(a, b) * 0.9f; Vector3 val = b - a; return !RaycastToDirection(a, maxDistance, ((Vector3)(ref val)).normalized, LayerMask.op_Implicit(((LayerIndex)(ref LayerIndex.world)).mask)).HasValue; } public static Vector3 GetAimTarget(this InputBankTest bank) { //IL_0002: 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_0012: Unknown result type (might be due to invalid IL or missing references) //IL_0039: Unknown result type (might be due to invalid IL or missing references) //IL_003e: Unknown result type (might be due to invalid IL or missing references) //IL_0046: 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_0030: Unknown result type (might be due to invalid IL or missing references) //IL_0035: Unknown result type (might be due to invalid IL or missing references) //IL_004e: Unknown result type (might be due to invalid IL or missing references) Vector3? val = RaycastToDirection(bank.aimOrigin, float.PositiveInfinity, bank.aimDirection, LayerMask.op_Implicit(CommonMasks.bullet)); if (val.HasValue) { return val.Value; } Ray aimRay = bank.GetAimRay(); return ((Ray)(ref aimRay)).GetPoint(200f); } public static IEnumerable<T> Shuffle<T>(this IEnumerable<T> toShuffle, Xoroshiro128Plus random) { List<T> list = new List<T>(); foreach (T item in toShuffle) { list.Insert(random.RangeInt(0, list.Count + 1), item); } return list; } public static Vector3 FindClosestNodeToPosition(Vector3 position, HullClassification hullClassification, bool checkAirNodes = false) { //IL_001c: Unknown result type (might be due to invalid IL or missing references) //IL_001d: Unknown result type (might be due to invalid IL or missing references) //IL_0023: Unknown result type (might be due to invalid IL or missing references) //IL_0028: Unknown result type (might be due to invalid IL or missing references) //IL_0029: Unknown result type (might be due to invalid IL or missing references) //IL_002a: Unknown result type (might be due to invalid IL or missing references) //IL_0052: Unknown result type (might be due to invalid IL or missing references) //IL_0063: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_003a: Unknown result type (might be due to invalid IL or missing references) //IL_0043: Unknown result type (might be due to invalid IL or missing references) //IL_0044: Unknown result type (might be due to invalid IL or missing references) //IL_006c: Unknown result type (might be due to invalid IL or missing references) NodeGraph val = (checkAirNodes ? SceneInfo.instance.airNodes : SceneInfo.instance.groundNodes); NodeIndex val2 = val.FindClosestNode(position, hullClassification, float.PositiveInfinity); if (val2 != NodeIndex.invalid) { Vector3 result = default(Vector3); val.GetNodePosition(val2, ref result); return result; } Main.ModLogger.LogInfo((object)$"No closest node to be found for XYZ: {position}, returning 0,0,0"); return Vector3.zero; } public static bool TeleportBody(CharacterBody characterBody, GameObject target, GameObject teleportEffect, HullClassification hullClassification, Xoroshiro128Plus rng, float minDistance = 20f, float maxDistance = 45f, bool teleportAir = false) { //IL_001d: Unknown result type (might be due to invalid IL or missing references) //IL_001e: Unknown result type (might be due to invalid IL or missing references) //IL_002c: Unknown result type (might be due to invalid IL or missing references) //IL_0047: Unknown result type (might be due to invalid IL or missing references) //IL_004c: Unknown result type (might be due to invalid IL or missing references) //IL_004e: Unknown result type (might be due to invalid IL or missing references) //IL_0053: Unknown result type (might be due to invalid IL or missing references) //IL_005a: Unknown result type (might be due to invalid IL or missing references) //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0064: Unknown result type (might be due to invalid IL or missing references) //IL_006c: Unknown result type (might be due to invalid IL or missing references) //IL_007b: Expected O, but got Unknown //IL_0076: Unknown result type (might be due to invalid IL or missing references) //IL_0080: Expected O, but got Unknown //IL_0095: Unknown result type (might be due to invalid IL or missing references) //IL_00b9: Unknown result type (might be due to invalid IL or missing references) //IL_00be: Unknown result type (might be due to invalid IL or missing references) if (!Object.op_Implicit((Object)(object)characterBody)) { return false; } SpawnCard val = ScriptableObject.CreateInstance<SpawnCard>(); val.hullSize = hullClassification; val.nodeGraphType = (GraphType)(teleportAir ? 1 : 0); val.prefab = Resources.Load<GameObject>("SpawnCards/HelperPrefab"); GameObject val2 = DirectorCore.instance.TrySpawnObject(new DirectorSpawnRequest(val, new DirectorPlacementRule { placementMode = (PlacementMode)1, position = target.transform.position, minDistance = minDistance, maxDistance = maxDistance }, rng)); if (Object.op_Implicit((Object)(object)val2)) { TeleportHelper.TeleportBody(characterBody, val2.transform.position); if (Object.op_Implicit((Object)(object)teleportEffect)) { EffectManager.SimpleEffect(teleportEffect, val2.transform.position, Quaternion.identity, true); } Object.Destroy((Object)(object)val2); Object.Destroy((Object)(object)val); return true; } Object.Destroy((Object)(object)val); return false; } public static Vector3? AboveTargetVectorFromDamageInfo(DamageInfo damageInfo, float distanceAboveTarget) { //IL_0050: Unknown result type (might be due to invalid IL or missing references) //IL_0055: Unknown result type (might be due to invalid IL or missing references) //IL_005a: Unknown result type (might be due to invalid IL or missing references) //IL_005c: Unknown result type (might be due to invalid IL or missing references) //IL_0061: Unknown result type (might be due to invalid IL or missing references) //IL_006c: Unknown result type (might be due to invalid IL or missing references) //IL_0072: Unknown result type (might be due to invalid IL or missing references) //IL_0077: Unknown result type (might be due to invalid IL or missing references) //IL_007c: Unknown result type (might be due to invalid IL or missing references) //IL_007e: Unknown result type (might be due to invalid IL or missing references) //IL_0083: Unknown result type (might be due to invalid IL or missing references) //IL_008d: Unknown result type (might be due to invalid IL or missing references) //IL_0108: 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_0126: Unknown result type (might be due to invalid IL or missing references) //IL_012b: Unknown result type (might be due to invalid IL or missing references) //IL_012d: Unknown result type (might be due to invalid IL or missing references) //IL_0130: Unknown result type (might be due to invalid IL or missing references) //IL_013a: Unknown result type (might be due to invalid IL or missing references) //IL_0169: Unknown result type (might be due to invalid IL or missing references) //IL_016b: Unknown result type (might be due to invalid IL or missing references) //IL_0171: Unknown result type (might be due to invalid IL or missing references) //IL_0176: Unknown result type (might be due to invalid IL or missing references) //IL_015b: Unknown result type (might be due to invalid IL or missing references) if (damageInfo.rejected || !Object.op_Implicit((Object)(object)damageInfo.attacker)) { return null; } CharacterBody component = damageInfo.attacker.GetComponent<CharacterBody>(); if (Object.op_Implicit((Object)(object)component)) { TeamMask enemyTeams = TeamMask.GetEnemyTeams(component.teamComponent.teamIndex); HurtBox val = new SphereSearch { radius = 1f, mask = ((LayerIndex)(ref LayerIndex.entityPrecise)).mask, origin = damageInfo.position }.RefreshCandidates().FilterCandidatesByHurtBoxTeam(enemyTeams).OrderCandidatesByDistance() .FilterCandidatesByDistinctHurtBoxEntities() .GetHurtBoxes() .FirstOrDefault(); if (Object.op_Implicit((Object)(object)val) && Object.op_Implicit((Object)(object)val.healthComponent) && Object.op_Implicit((Object)(object)val.healthComponent.body)) { CharacterBody body = val.healthComponent.body; Vector3 val2 = body.mainHurtBox.collider.ClosestPointOnBounds(body.transform.position + new Vector3(0f, 10000f, 0f)); Vector3? val3 = RaycastToDirection(val2, distanceAboveTarget, Vector3.up, LayerMask.op_Implicit(((LayerIndex)(ref LayerIndex.world)).mask)); if (val3.HasValue) { return val3.Value; } return val2 + Vector3.up * distanceAboveTarget; } } return null; } public static Vector3? AboveTargetBody(CharacterBody body, float distanceAbove) { //IL_0030: Unknown result type (might be due to invalid IL or missing references) //IL_0044: Unknown result type (might be due to invalid IL or missing references) //IL_0049: Unknown result type (might be due to invalid IL or missing references) //IL_004e: Unknown result type (might be due to invalid IL or missing references) //IL_0053: Unknown result type (might be due to invalid IL or missing references) //IL_0054: Unknown result type (might be due to invalid IL or missing references) //IL_0056: Unknown result type (might be due to invalid IL or missing references) //IL_0060: Unknown result type (might be due to invalid IL or missing references) //IL_008f: Unknown result type (might be due to invalid IL or missing references) //IL_0090: Unknown result type (might be due to invalid IL or missing references) //IL_0096: Unknown result type (might be due to invalid IL or missing references) //IL_009b: Unknown result type (might be due to invalid IL or missing references) //IL_0080: Unknown result type (might be due to invalid IL or missing references) if (!Object.op_Implicit((Object)(object)body)) { return null; } Vector3 val = body.mainHurtBox.collider.ClosestPointOnBounds(body.transform.position + new Vector3(0f, 10000f, 0f)); Vector3? val2 = RaycastToDirection(val, distanceAbove, Vector3.up, LayerMask.op_Implicit(((LayerIndex)(ref LayerIndex.world)).mask)); if (val2.HasValue) { return val2.Value; } return val + Vector3.up * distanceAbove; } public static Dictionary<string, Vector3> GetAimSurfaceAlignmentInfo(Ray ray, int layerMask, float distance) { //IL_0007: Unknown result type (might be due to invalid IL or missing references) //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) //IL_0048: Unknown result type (might be due to invalid IL or missing references) //IL_004d: Unknown result type (might be due to invalid IL or missing references) //IL_0052: Unknown result type (might be due to invalid IL or missing references) //IL_0057: Unknown result type (might be due to invalid IL or missing references) //IL_005b: Unknown result type (might be due to invalid IL or missing references) //IL_0060: Unknown result type (might be due to invalid IL or missing references) //IL_0062: Unknown result type (might be due to invalid IL or missing references) //IL_0067: Unknown result type (might be due to invalid IL or missing references) //IL_0069: Unknown result type (might be due to invalid IL or missing references) //IL_006b: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Unknown result type (might be due to invalid IL or missing references) //IL_0072: Unknown result type (might be due to invalid IL or missing references) //IL_007a: Unknown result type (might be due to invalid IL or missing references) //IL_0087: Unknown result type (might be due to invalid IL or missing references) //IL_0095: Unknown result type (might be due to invalid IL or missing references) //IL_00a3: Unknown result type (might be due to invalid IL or missing references) Dictionary<string, Vector3> dictionary = new Dictionary<string, Vector3>(); RaycastHit val = default(RaycastHit); if (!Physics.Raycast(ray, ref val, distance, layerMask, (QueryTriggerInteraction)1)) { Main.ModLogger.LogInfo((object)$"GetAimSurfaceAlignmentInfo did not hit anything in the aim direction on the specified layer ({layerMask})."); return null; } Vector3 point = ((RaycastHit)(ref val)).point; Vector3 val2 = Vector3.Cross(((Ray)(ref ray)).direction, Vector3.up); Vector3 val3 = Vector3.ProjectOnPlane(((RaycastHit)(ref val)).normal, val2); Vector3 value = Vector3.Cross(val2, val3); dictionary.Add("Position", point); dictionary.Add("Right", val2); dictionary.Add("Forward", value); dictionary.Add("Up", val3); return dictionary; } public static Vector3[] GetSafePositionsWithinDistance(Vector3 center, float distance) { //IL_0097: Unknown result type (might be due to invalid IL or missing references) //IL_0098: Unknown result type (might be due to invalid IL or missing references) //IL_0045: Unknown result type (might be due to invalid IL or missing references) //IL_004a: Unknown result type (might be due to invalid IL or missing references) //IL_004d: Unknown result type (might be due to invalid IL or missing references) //IL_004f: Unknown result type (might be due to invalid IL or missing references) //IL_0054: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_006a: Unknown result type (might be due to invalid IL or missing references) if (Object.op_Implicit((Object)(object)SceneInfo.instance) && Object.op_Implicit((Object)(object)SceneInfo.instance.groundNodes)) { NodeGraph groundNodes = SceneInfo.instance.groundNodes; List<Vector3> list = new List<Vector3>(); Node[] nodes = groundNodes.nodes; foreach (Node val in nodes) { if (Vector3.Distance(val.position, center) <= distance) { list.Add(val.position); } } return list.ToArray(); } return (Vector3[])(object)new Vector3[1] { center }; } public static Vector3 GetRandomGroundNode(NodeFlags reqFlags, NodeFlags forbiddenFlags, HullMask hull) { //IL_00c9: Unknown result type (might be due to invalid IL or missing references) //IL_00d3: Unknown result type (might be due to invalid IL or missing references) //IL_00d8: 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_0048: Unknown result type (might be due to invalid IL or missing references) //IL_004d: Unknown result type (might be due to invalid IL or missing references) //IL_0050: Unknown result type (might be due to invalid IL or missing references) //IL_0052: Unknown result type (might be due to invalid IL or missing references) //IL_0057: Unknown result type (might be due to invalid IL or missing references) //IL_0058: Unknown result type (might be due to invalid IL or missing references) //IL_005b: Unknown result type (might be due to invalid IL or missing references) //IL_005d: Unknown result type (might be due to invalid IL or missing references) //IL_0062: Unknown result type (might be due to invalid IL or missing references) //IL_0063: 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_00b5: Unknown result type (might be due to invalid IL or missing references) //IL_00bf: Unknown result type (might be due to invalid IL or missing references) //IL_00c4: Unknown result type (might be due to invalid IL or missing references) //IL_00ab: Unknown result type (might be due to invalid IL or missing references) //IL_00b0: Unknown result type (might be due to invalid IL or missing references) //IL_0067: Unknown result type (might be due to invalid IL or missing references) //IL_0069: Unknown result type (might be due to invalid IL or missing references) //IL_006e: Unknown result type (might be due to invalid IL or missing references) //IL_006f: Unknown result type (might be due to invalid IL or missing references) //IL_0071: Invalid comparison between Unknown and I4 //IL_007e: Unknown result type (might be due to invalid IL or missing references) //IL_0080: Unknown result type (might be due to invalid IL or missing references) if (Object.op_Implicit((Object)(object)SceneInfo.instance) && Object.op_Implicit((Object)(object)SceneInfo.instance.groundNodes)) { NodeGraph groundNodes = SceneInfo.instance.groundNodes; List<Vector3> list = new List<Vector3>(); Node[] nodes = groundNodes.nodes; foreach (Node val in nodes) { if ((val.forbiddenHulls & hull) == 0 && (NodeFlags)(val.flags & reqFlags) == reqFlags && (val.flags & forbiddenFlags) == 0) { list.Add(val.position); } } if (list.Count > 0) { return list.GetRandom(); } return Random.onUnitSphere * 500f; } return Random.onUnitSphere * 500f; } public static AnimatorOverrideController FixOverrideController(RuntimeAnimatorController target, AnimatorOverrideController original) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Expected O, but got Unknown AnimatorOverrideController result = new AnimatorOverrideController(target); AnimationClip[] animationClips = ((RuntimeAnimatorController)original).animationClips; foreach (AnimationClip val in animationClips) { Debug.Log((object)(((Object)val).name + " - clip")); } return result; } public static HurtBox[] RetrieveNearbyTargets(CharacterBody owner, float radius) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Expected O, but got Unknown //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_000e: Unknown result type (might be due to invalid IL or missing references) //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_0025: Unknown result type (might be due to invalid IL or missing references) //IL_0038: Unknown result type (might be due to invalid IL or missing references) //IL_003d: Unknown result type (might be due to invalid IL or missing references) SphereSearch val = new SphereSearch(); val.origin = owner.corePosition; val.radius = radius; val.mask = ((LayerIndex)(ref LayerIndex.entityPrecise)).mask; val.RefreshCandidates(); val.FilterCandidatesByHurtBoxTeam(TeamMask.GetUnprotectedTeams(owner.teamComponent.teamIndex)); val.FilterCandidatesByDistinctHurtBoxEntities(); return val.GetHurtBoxes(); } } public class Timer { public float duration; public float cur; private bool inv; public bool expired = false; private bool expires; private bool trueIfExp; private bool resetOnExp; public Timer(float dur, bool inverse = false, bool expires = false, bool trueOnExpire = false, bool resetOnExpire = false) { duration = dur; inv = inverse; trueIfExp = trueOnExpire; resetOnExp = resetOnExpire; this.expires = expires; Reset(); } public void Reset() { cur = (inv ? duration : 0f); } public bool Tick() { cur += (inv ? (0f - Time.fixedDeltaTime) : Time.fixedDeltaTime); bool result = (inv ? (cur <= 0f) : (cur >= duration)); if (expires) { if (expired && !resetOnExp) { return trueIfExp; } expired = result; if (resetOnExp && expired) { expired = false; Reset(); } } return result; } } public class LazyIndex { private string target; private BodyIndex _value = (BodyIndex)(-1); public BodyIndex Value => UpdateValue(); public LazyIndex(string target) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) this.target = target; } public BodyIndex UpdateValue() { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Invalid comparison between Unknown and I4 //IL_000b: Unknown result type (might be due to invalid IL or missing references) //IL_0011: Invalid comparison between Unknown and I4 //IL_002e: Unknown result type (might be due to invalid IL or missing references) //IL_0033: Unknown result type (might be due to invalid IL or missing references) //IL_0022: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_0036: Unknown result type (might be due to invalid IL or missing references) if ((int)_value == -1 || (int)_value == -1) { _value = BodyCatalog.FindBodyIndex(target); } return _value; } public static implicit operator BodyIndex(LazyIndex index) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) return index.Value; } } public static class NetworkingHelpers { public static T GetObjectFromNetIdValue<T>(uint netIdValue) { //IL_002c: 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) NetworkInstanceId key = default(NetworkInstanceId); ((NetworkInstanceId)(ref key))..ctor(netIdValue); NetworkIdentity value = null; if (NetworkServer.active) { NetworkServer.objects.TryGetValue(key, out value); } else { ClientScene.objects.TryGetValue(key, out value); } if (Object.op_Implicit((Object)(object)value)) { T component = ((Component)value).GetComponent<T>(); if (component != null) { return component; } } return default(T); } } public class OverlayManager { public struct Overlay { public Material material; public Func<CharacterModel, bool> action; } [CompilerGenerated] private static class <>O { public static hook_UpdateOverlays <0>__HandleOverlays; } internal static List<Overlay> overlays = new List<Overlay>(); public static void AddOverlay(Overlay overlay) { overlays.Add(overlay); } public static void AddOverlay(Material mat, Func<CharacterModel, bool> action) { Overlay overlay = default(Overlay); overlay.material = mat; overlay.action = action; Overlay item = overlay; overlays.Add(item); } internal static void Setup() { //IL_0011: Unknown result type (might be due to invalid IL or missing references) //IL_0016: Unknown result type (might be due to invalid IL or missing references) //IL_001c: Expected O, but got Unknown object obj = <>O.<0>__HandleOverlays; if (obj == null) { hook_UpdateOverlays val = HandleOverlays; <>O.<0>__HandleOverlays = val; obj = (object)val; } CharacterModel.UpdateOverlays += (hook_UpdateOverlays)obj; } private static void HandleOverlays(orig_UpdateOverlays orig, CharacterModel self) { orig.Invoke(self); foreach (Overlay overlay in overlays) { if (overlay.action(self) && self.activeOverlayCount < CharacterModel.maxOverlays) { Material[] currentOverlays = self.currentOverlays; int activeOverlayCount = self.activeOverlayCount; self.activeOverlayCount = activeOverlayCount + 1; currentOverlays[activeOverlayCount] = overlay.material; } } } } public class PostProcessFade : MonoBehaviour { public float time = 0.3f; public float stopwatch = 0f; public PostProcessVolume volume; public void Start() { volume = ((Component)this).GetComponent<PostProcessVolume>(); } public void FixedUpdate() { stopwatch += Time.fixedDeltaTime; volume.weight = Mathf.Clamp(1f - stopwatch / time, 0.1f, 1f); } } public static class Scenes { public static string AphelianSanctuary = "ancientloft"; public static string VoidFields = "arena"; public static string DistantRoost = "blackbeach"; public static string DistantRoostAlt = "blackbeach2"; public static string AbyssalDepths = "dampcavesimple"; public static string WetlandAspect = "foggyswamp"; public static string RallypointDelta = "frozenwall"; public static string TitanicPlains = "golemplains"; public static string TitanicPlainsAlt = "golemplains2"; public static string AbandonedAqueduct = "goolake"; public static string Commencement = "moon2"; public static string SunderedGrove = "rootjungle"; public static string SirensCall = "shipgraveyard"; public static string SkyMeadow = "skymeadow"; public static string SiphonedForest = "snowyforest"; public static string SulfurPools = "sulfurpools"; public static string VoidLocus = "voidstage"; public static string Planetarium = "voidraid"; public static string ScorchedAcres = "wispgraveyard"; public static string BulwarksAmbry = "artifactword"; public static string Bazaar = "bazaar"; public static string GildedCoast = "goldshores"; public static string MomentWhole = "limbo"; public static string MomentFractured = "mysteryspace"; public static string[] AllStandard = new string[18] { AphelianSanctuary, VoidFields, DistantRoost, DistantRoostAlt, AbyssalDepths, WetlandAspect, RallypointDelta, TitanicPlains, TitanicPlainsAlt, AbandonedAqueduct, Commencement, SunderedGrove, SkyMeadow, SirensCall, SiphonedForest, SulfurPools, ScorchedAcres, BulwarksAmbry }; } [RequireComponent(typeof(InputBankTest))] [RequireComponent(typeof(CharacterBody))] public abstract class Tracker : MonoBehaviour { public Transform target; public Indicator indicator; public GameObject targetingIndicatorPrefab; private float stopwatch = 0f; public float searchDelay = 0.1f; public float maxSearchAngle = 40f; public float maxSearchDistance = 60f; public bool isActive = true; public InputBankTest inputBank; public CharacterBody body; public Func<bool> isActiveCallback = DefaultIsActiveCallback; public float minDot => Mathf.Cos(Mathf.Clamp(maxSearchAngle, 0f, 180f) * (MathF.PI / 180f)); private static bool DefaultIsActiveCallback() { return true; } public virtual void Start() { //IL_000e: Unknown result type (might be due to invalid IL or missing references) //IL_0018: Expected O, but got Unknown indicator = new Indicator(((Component)this).gameObject, targetingIndicatorPrefab); body = ((Component)this).GetComponent<CharacterBody>(); inputBank = ((Component)this).GetComponent<InputBankTest>(); } public virtual void FixedUpdate() { if (indicator != null && !DefaultIsActiveCallback()) { indicator.active = false; return; } if (indicator != null && !Object.op_Implicit((Object)(object)target)) { indicator.active = false; } if (indicator != null && Object.op_Implicit((Object)(object)target)) { indicator.active = true; } stopwatch += Time.fixedDeltaTime; if (stopwatch >= searchDelay) { stopwatch = 0f; target = SearchForTarget(); if (Object.op_Implicit((Object)(object)target)) { indicator.targetTransform = target; } } } public abstract Transform SearchForTarget(); } public class HurtboxTracker : Tracker { public enum TargetType { Enemy, Friendly, All } public TeamIndex userIndex; public TargetType targetType; public override void Start() { //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_0019: Unknown result type (might be due to invalid IL or missing references) base.Start(); userIndex = body.teamComponent.teamIndex; } public override Transform SearchForTarget() { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Expected O, but got Unknown //IL_000e: Unknown result type (might be due to invalid IL or missing references) //IL_0013: Unknown result type (might be due to invalid IL or missing references) //IL_0016: Unknown result type (might be due to invalid IL or missing references) //IL_001b: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_002c: Unknown result type (might be due to invalid IL or missing references) //IL_004a: Unknown result type (might be due to invalid IL or missing references) //IL_004f: Unknown result type (might be due to invalid IL or missing references) //IL_0074: Unknown result type (might be due to invalid IL or missing references) //IL_0081: 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_008a: Unknown result type (might be due to invalid IL or missing references) //IL_0097: Unknown result type (might be due to invalid IL or missing references) //IL_009c: Unknown result type (might be due to invalid IL or missing references) //IL_00a0: Unknown result type (might be due to invalid IL or missing references) //IL_00a1: Unknown result type (might be due to invalid IL or missing references) //IL_00a8: Unknown result type (might be due to invalid IL or missing references) BullseyeSearch val = new BullseyeSearch(); Ray aimRay = inputBank.GetAimRay(); val.searchDirection = ((Ray)(ref aimRay)).direction; val.searchOrigin = ((Component)this).transform.position; val.maxDistanceFilter = maxSearchDistance; val.maxAngleFilter = maxSearchAngle; TeamMask teamMaskFilter = TeamMask.all; switch (targetType) { case TargetType.Enemy: ((TeamMask)(ref teamMaskFilter)).RemoveTeam(userIndex); break; case TargetType.Friendly: teamMaskFilter = TeamMask.none; ((TeamMask)(ref teamMaskFilter)).AddTeam(userIndex); break; case TargetType.All: teamMaskFilter = TeamMask.all; break; } val.teamMaskFilter = teamMaskFilter; val.sortMode = (SortMode)2; val.RefreshCandidates(); val.FilterOutGameObject(((Component)this).gameObject); IEnumerable<HurtBox> results = val.GetResults(); HurtBox? obj = results.FirstOrDefault(); return ((obj != null) ? ((Component)obj).transform : null) ?? null; } } public class ComponentTracker<T> : Tracker where T : Component { public Func<T, bool> validFilter = DefaultFilter; private static bool DefaultFilter(T t) { return true; } public override Transform SearchForTarget() { //IL_0038: 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_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_0072: Unknown result type (might be due to invalid IL or missing references) //IL_0082: Unknown result type (might be due to invalid IL or missing references) //IL_008d: Unknown result type (might be due to invalid IL or missing references) //IL_0092: Unknown result type (might be due to invalid IL or missing references) //IL_0097: Unknown result type (might be due to invalid IL or missing references) //IL_009b: Unknown result type (might be due to invalid IL or missing references) T[] array = Object.FindObjectsOfType<T>(); foreach (T val in array) { if (validFilter(val) && !(Vector3.Distance(((Component)this).transform.position, ((Component)val).transform.position) > maxSearchDistance)) { Ray aimRay = inputBank.GetAimRay(); Vector3 direction = ((Ray)(ref aimRay)).direction; Vector3 val2 = ((Component)val).transform.position - ((Component)this).transform.position; float num = Vector3.Dot(direction, ((Vector3)(ref val2)).normalized); if (!(num < base.minDot)) { return ((Component)val).transform; } } } return null; } } public static class Events { public static uint Play_item_proc_increasePrimaryDamage = 3525110178u; public static uint Play_item_proc_lowerPricedChest = 2861334124u; public static uint Play_obj_portalShaping_activate = 3169369792u; public static uint Play_item_proc_lowerHealthHigherDamage_active_loop = 2806077218u; public static uint Play_item_proc_lowerHealthHigherDamage_proc = 3144264115u; public static uint Stop_item_proc_lowerHealthHigherDamage_active_loop = 1766373184u; public static uint Play_AMB_zone_helminthRoost = 1401190132u; public static uint Play_env_helminth_jumppad_launch = 804535113u; public static uint Play_env_helminth_jumppad_loop = 1121351506u; public static uint Stop_env_helminth_jumppad_loop = 1859759472u; public static uint Play_item_proc_onLevelUpFreeUnlock_activate = 2156400271u; public static uint Play_item_proc_onLevelUpFreeUnlock_idle = 2826299554u; public static uint Play_item_proc_extraStatsOnLevelUp = 1263627182u; public static uint Play_AMB_zone_villageNight = 446631000u; public static uint Play_item_proc_extraShrineItem = 3488308441u; public static uint Play_ui_artifact_delusion_activate = 2155448709u; public static uint Play_ui_artifact_delusion_failure = 2684473644u; public static uint Play_ui_artifact_delusion_reset = 708431835u; public static uint Play_ui_artifact_delusion_success = 3325363891u; public static uint Play_halcyonite_death = 3525343637u; public static uint Play_halcyonite_idle_loop = 983867080u; public static uint Play_halcyonite_impact = 33305611u; public static uint Play_halcyonite_move_loop = 480080479u; public static uint Play_halcyonite_skill1_chargeup = 1290182503u; public static uint Play_halcyonite_skill1_swing = 936256326u; public static uint Play_halcyonite_skill1_thrust = 1083715706u; public static uint Play_halcyonite_skill2_chargeup = 3979952754u; public static uint Play_halcyonite_skill2_shoot = 3274455546u; public static uint Play_halcyonite_skill3_end = 3079505645u; public static uint Play_halcyonite_skill3_loop = 67562408u; public static uint Play_halcyonite_skill3_start = 970916454u; public static uint Play_halcyonite_spawn = 3688151658u; public static uint Play_halcyonite_VO_alert = 1322088115u; public static uint Stop_halcyonite_idle_loop = 1332844866u; public static uint Stop_halcyonite_move_loop = 2962578225u; public static uint Stop_halcyonite_skill3_loop = 3070087286u; public static uint Play_AMB_zone_lakesDay = 3374250540u; public static uint Play_env_lakes_jumppad_launch = 1567260962u; public static uint Play_env_lakes_jumppad_loop = 3135402281u; public static uint Play_env_lakes_waterfall_loop = 1015031338u; public static uint Stop_env_lakes_jumppad_loop = 417186615u; public static uint Stop_env_lakes_waterfall_loop = 3880166920u; public static uint Play_seeker_selectScreen_idle = 1955843131u; public static uint Play_seeker_skill1_fire = 3158006061u; public static uint Play_seeker_skill1_fire_orb = 39374599u; public static uint Play_seeker_skill1_impact = 2378122475u; public static uint Play_seeker_skill1_orb_explo = 3861306019u; public static uint Play_seeker_skill2_active_loop = 2229939235u; public static uint Play_seeker_skill2_alt_fire = 3268729620u; public static uint Play_seeker_skill2_alt_loop = 2382979698u; public static uint Play_seeker_skill2_end = 3897039939u; public static uint Play_seeker_skill2_fire = 2101638456u; public static uint Play_seeker_skill2_flight_loop = 3838730855u; public static uint Play_seeker_skill2_start = 1063538712u; public static uint Play_seeker_skill3_explo = 985996859u; public static uint Play_seeker_skill3_start = 90951373u; public static uint Play_seeker_skill4_combo_correct = 177463755u; public static uint Play_seeker_skill4_combo_wrong = 884291666u; public static uint Play_seeker_skill4_start = 3296174602u; public static uint Play_seeker_skill4_timeout = 2305681923u; public static uint Play_seeker_skill4_win = 732991608u; public static uint Play_seeker_step = 4226349104u; public static uint Play_seeker_step_sprint = 1145656191u; public static uint Stop_seeker_skill2_active_loop = 127139369u; public static uint Stop_seeker_skill2_alt_loop = 3707674044u; public static uint Stop_seeker_skill2_flight_loop = 2720151021u; public static uint Stop_seeker_skill3_loop = 1337233567u; public static uint Stop_seeker_skill4_start = 2327375048u; public static uint Play_wBisonDeath = 1113517888u; public static uint Play_wBisonHit = 1197473233u; public static uint Play_wBisonShoot1 = 3268390400u; public static uint Play_wBisonSpawn = 1249767875u; public static uint Play_wBlastdoor = 3043230225u; public static uint Play_wBoarDeath = 3944593657u; public static uint Play_wBoarExplosion = 3091761946u; public static uint Play_wBoarHit = 1332006904u; public static uint Play_wBoarMDeath = 2887033908u; public static uint Play_wBoarShoot1 = 2651342963u; public static uint Play_wBoss1Shoot1 = 3380168965u; public static uint Play_wBoss1Shoot2 = 3380168966u; public static uint Play_wBossSkill2 = 857592033u; public static uint Play_wBubbleShield = 3999340508u; public static uint Play_wBullet1 = 3448409474u; public static uint Play_wBullet2 = 3448409473u; public static uint Play_wBullet3 = 3448409472u; public static uint Play_wCasing = 1800381192u; public static uint Play_wChainLightning = 1913174254u; public static uint Play_wChat = 1231583519u; public static uint Play_wChefShoot2_1 = 4002996080u; public static uint Play_wChest0 = 273185112u; public static uint Play_wChest1 = 273185113u; public static uint Play_wChest2 = 273185114u; public static uint Play_wChest5 = 273185117u; public static uint Play_wChildDeath = 3731152613u; public static uint Play_wChildGShoot1 = 2978407106u; public static uint Play_wChildHit = 4072685316u; public static uint Play_wChildShoot1 = 4260787991u; public static uint Play_wClayDeath = 1853199952u; public static uint Play_wClayHit = 2864197409u; public static uint Play_wClayShoot1 = 1969574576u; public static uint Play_wClaySpawn = 1481867283u; public static uint Play_wClick = 1105771879u; public static uint Play_wCoin = 1232716514u; public static uint Play_wCoins = 2360199605u; public static uint Play_wCrabDeath = 2914438815u; public static uint Play_wCrabSpawn = 400103432u; public static uint Play_wCrit_01 = 3774687669u; public static uint Play_wCrowbar = 2755541643u; public static uint Play_wCutsceneAlarm = 2172459452u; public static uint Play_wCutsceneJet = 197474154u; public static uint Play_wCutscenePass = 1461112566u; public static uint Play_wDifficulty = 3657652262u; public static uint Play_wDoll = 1118795882u; public static uint Play_wDrill = 1252691444u; public static uint Play_wDrone1Spawn = 3109566651u; public static uint Play_wEfMushroom = 3355655210u; public static uint Play_wEmbryo = 3519041107u; public static uint Play_wError = 2120356473u; public static uint Play_wExplosiveShot = 1244890662u; public static uint Play_wFeralShoot1 = 732734997u; public static uint Play_wFeralShoot2 = 732734998u; public static uint Play_wFrozen = 1850209911u; public static uint Play_wGeyser = 2014257388u; public static uint Play_wGiantJellyExplosion = 923348941u; public static uint Play_wGiantJellyHit = 3830172407u; public static uint Play_wGolemAttack1 = 1019251312u; public static uint Play_wGolemDeath = 469957963u; public static uint Play_wGolemHit = 1924739498u; public static uint Play_wGolemSpawn = 2658053020u; public static uint Play_wGuardDeath = 2195517878u; public static uint Play_wGuardHit = 3726358359u; public static uint Play_wGuardSpawn = 1193575573u; public static uint Play_wHeavyShoot1 = 2266555164u; public static uint Play_wHitlist = 1828045284u; public static uint Play_wHuntressShoot1 = 2714607293u; public static uint Play_wHuntressShoot3 = 2714607295u; public static uint Play_wImpDeath = 1405469125u; public static uint Play_wImpGShoot1 = 702433570u; public static uint Play_wImpHit = 2697432036u; public static uint Play_wImpShoot1 = 2776445175u; public static uint Play_wImpShoot2 = 2776445172u; public static uint Play_wJanitorShoot1_1 = 2483794322u; public static uint Play_wJanitorShoot1_2 = 2483794321u; public static uint Play_wJanitorShoot2_1 = 1409879677u; public static uint Play_wJanitorShoot2_2 = 1409879678u; public static uint Play_wJanitorShoot4_1 = 1410865383u; public static uint Play_wJanitorShoot4_2 = 1410865380u; public static uint Play_wJarSouls = 4162844532u; public static uint Play_wJellyDeath = 2679553851u; public static uint Play_wJellyHit = 213554906u; public static uint Play_wLevelUp = 1919980434u; public static uint Play_wLevelUpWar = 4023542052u; public static uint Play_wLightning = 1330288141u; public static uint Play_wLizardDeath = 2074794113u; public static uint Play_wLizardGDeath = 4177291774u; public static uint Play_wLizardGHit = 1425978735u; public static uint Play_wLizardGShoot1 = 1170430294u; public static uint Play_wLizardGSpawn = 2684018717u; public static uint Play_wLizardHit = 4207177744u; public static uint Play_wLizardShoot1 = 287412267u; public static uint Play_wLizardSpawn = 1283696654u; public static uint Play_wMine = 1021358464u; public static uint Play_wMinerShoot1 = 1056078324u; public static uint Play_wMinerShoot2 = 1056078327u; public static uint Play_wMinerShoot3 = 1056078326u; public static uint Play_wMinerShoot4 = 1056078321u; public static uint Play_wMissileLaunch = 3415171634u; public static uint Play_wMS = 3023098025u; public static uint Play_wMush = 1473662818u; public static uint Play_wMushDeath = 3463803836u; public static uint Play_wMushHit = 2887429069u; public static uint Play_wMushShoot1 = 487910212u; public static uint Play_wMushSpawn = 4208364455u; public static uint Play_wNautShoot1 = 874719151u; public static uint Play_wPickup = 745840569u; public static uint Play_wPigShoot1 = 4172429713u; public static uint Play_wPodDeath = 368641344u; public static uint Play_wPodHit = 4069172177u; public static uint Play_wPyroShoot1 = 1977581991u; public static uint Play_wReflect = 3534459008u; public static uint Play_wReload = 1935874270u; public static uint Play_wRevive = 3924543518u; public static uint Play_wRiotGrenade = 1170699791u; public static uint Play_wRiotShoot1 = 392428577u; public static uint Play_wSamuraiShoot1 = 2292726403u; public static uint Play_wSamuraiShoot2 = 2292726400u; public static uint Play_wScavengerHit = 3803292342u; public static uint Play_wShield = 144484126u; public static uint Play_wShrine1 = 1516352125u; public static uint Play_wSmite = 1676655215u; public static uint Play_wSniper = 1326789400u; public static uint Play_wSniper2 = 2522836730u; public static uint Play_wSniperShoot3 = 3029163620u; public static uint Play_wSpiderHit = 1534240581u; public static uint Play_wSpiderShoot1 = 4018099836u; public static uint Play_wSpitterHit = 530229631u; public static uint Play_wSpitterShoot1 = 1863108870u; public static uint Play_wSpitterSpawn = 291139117u; public static uint Play_wSqueaky = 1860044956u; public static uint Play_wTeleporter = 1289080377u; public static uint Play_wUse = 1100859862u; public static uint Play_wWatch = 3354880454u; public static uint Play_wWispBDeath = 3021624856u; public static uint Play_wWispBShoot1 = 2025586984u; public static uint Play_wWispDeath = 3169292106u; public static uint Play_wWispGDeath = 1968672835u; public static uint Play_wWispGShoot1 = 969982957u; public static uint Play_wWispHit = 2561235483u; public static uint Play_wWispShoot1 = 914723770u; public static uint Play_wWispSpawn = 3436613665u; public static uint Play_wWormBurning = 2192059253u; public static uint Play_wWormDeath = 3793594386u; public static uint Play_wWormExplosion = 2529227609u; public static uint Play_wWormHit = 3504753139u; public static uint Play_wWormRoar = 1700089088u; public static uint Play_obj_portalColossus_activate = 812056455u; public static uint Play_obj_portalColossus_loop = 1986410382u; public static uint Play_obj_shrineColossus_activate = 2363010998u; public static uint Play_obj_shrineColossus_locked_loop = 3583777048u; public static uint Stop_obj_portalColossus_loop = 1709721620u; public static uint Stop_obj_shrineColossus_locked_loop = 602838254u; public static uint Play_AMB_zone_village = 2140215618u; public static uint Kill_loops = 3633988413u; public static uint Kill_SelectScreen = 314485028u; public static uint Pause_All = 3864097025u; public static uint Play_Achievement = 3433956687u; public static uint Play_acid_larva_attack1_explo = 2451117845u; public static uint Play_acid_larva_attack1_loop = 3362763155u; public static uint Play_acid_larva_attack1_start = 1646746355u; public static uint Play_acid_larva_death = 3568098837u; public static uint Play_acid_larva_idle = 2621183947u; public static uint Play_acid_larva_impact = 2231265675u; public static uint Play_acid_larva_spawn = 3730906858u; public static uint Play_acid_larva_sprint_land = 2824450583u; public static uint Play_acid_larva_sprint_leap = 2639308470u; public static uint Play_acid_larva_step = 828559811u; public static uint Play_acrid_m1_bigSlash = 1656148530u; public static uint Play_acrid_m1_hit = 1822928838u; public static uint Play_acrid_m1_slash = 1719910342u; public static uint Play_acrid_m2_bite_hit = 2714436782u; public static uint Play_acrid_m2_bite_shoot = 456215952u; public static uint Play_acrid_m2_explode = 2736075181u; public static uint Play_acrid_m2_fly_loop = 644013190u; public static uint Play_acrid_m2_shoot = 999289595u; public static uint Play_acrid_R_fly_loop = 1915769387u; public static uint Play_acrid_R_infect = 1007919396u; public static uint Play_acrid_R_shoot = 1160201708u; public static uint Play_acrid_shift_fly_loop = 642600073u; public static uint Play_acrid_shift_jump = 1749522733u; public static uint Play_acrid_shift_land = 320622162u; public static uint Play_acrid_shift_puddle_loop = 1556265730u; public static uint Play_acrid_sprint_start = 801642819u; public static uint Play_acrid_sprint_stop = 3680364993u; public static uint Play_acrid_step = 372958860u; public static uint Play_acrid_step_sprint = 2575316715u; public static uint Play_acrid_step_sprint_hand = 3560327381u; public static uint Play_affix_mendingBomb_explode = 841626335u; public static uint Play_affix_mendingChain_loop = 3768810533u; public static uint Play_affix_void_bug_infect = 939369398u; public static uint Play_affix_void_bug_loop = 1959624827u; public static uint Play_affix_void_bug_spawn = 3394761874u; public static uint Play_affix_void_spawn = 1535219985u; public static uint Play_AMB_zone_arena = 1539048487u; public static uint Play_AMB_zone_artifactWorld = 4134483156u; public static uint Play_AMB_zone_char_select = 1641027481u; public static uint Play_AMB_zone_damp_cave_simple = 1142851345u; public static uint Play_AMB_zone_dark_rain = 938309267u; public static uint Play_AMB_zone_desert = 56392161u; public static uint Play_AMB_zone_lakesDay_01 = 438484882u; public static uint Play_AMB_zone_limbo = 1359925925u; public static uint Play_AMB_zone_moon = 3075336325u; public static uint Play_AMB_zone_rootJungle = 2348244945u; public static uint Play_AMB_zone_ship_graveyard = 642154978u; public static uint Play_AMB_zone_skyMeadow = 3453798682u; public static uint Play_AMB_zone_skyMeadow_hiddenLab = 3040657526u; public static uint Play_AMB_zone_tundra = 38798342u; public static uint Play_AMB_zone_wisp_graveyard = 751162865u; public static uint Play_arenaCrab_idle_VO = 158852972u; public static uint Play_arenaCrab_swim_land = 2386788264u; public static uint Play_arenaCrab_swim_loop = 2401300333u; public static uint Play_arenaCrab_swim_plant = 1572198610u; public static uint Play_arenaCrab_swim_stroke = 2022745195u; public static uint Play_arenaCrab_swim_uproot = 3172304260u; public static uint Play_artifactBoss_attack1_explode = 71177277u; public static uint Play_artifactBoss_attack1_flightLoop = 2591078442u; public static uint Play_artifactBoss_attack1_shoot = 2196529419u; public static uint Play_artifactBoss_death = 4163357724u; public static uint Play_artifactBoss_idle_VO = 1345400638u; public static uint Play_artifactBoss_loop_level1 = 184703648u; public static uint Play_artifactBoss_loop_level2 = 184703651u; public static uint Play_artifactBoss_loop_level3 = 184703650u; public static uint Play_artifactBoss_spawn = 188493575u; public static uint Play_artifactBoss_takehit = 1098257974u; public static uint Play_bandit2_m1_reload_bullet = 452712768u; public static uint Play_bandit2_m1_reload_finish = 888917029u; public static uint Play_bandit2_m1_rifle = 2347126876u; public static uint Play_bandit2_m1_shotgun = 4206201632u; public static uint Play_bandit2_m2_alt_throw = 595565201u; public static uint Play_bandit2_m2_impact = 2278422317u; public static uint Play_bandit2_m2_slash = 4103120750u; public static uint Play_bandit2_R_alt_kill = 4143438424u; public static uint Play_bandit2_R_fire = 1435016856u; public static uint Play_bandit2_R_kill = 3719464252u; public static uint Play_bandit2_R_load = 3765877048u; public static uint Play_bandit2_shift_enter = 2967307668u; public static uint Play_bandit2_shift_exit = 850833398u; public static uint Play_bandit2_step = 3692683083u; public static uint Play_bandit2_step_sprint = 1764271662u; public static uint Play_bandit_M1_pump = 1853111450u; public static uint Play_bandit_M1_shot = 3033552564u; public static uint Play_bandit_M2_load = 2190546849u; public static uint Play_bandit_M2_shot = 1980580961u; public static uint Play_bandit_shift_end = 2770013503u; public static uint Play_bandit_shift_jump = 1325724668u; public static uint Play_bandit_shift_land = 1259710815u; public static uint Play_beetle_guard_attack1 = 763398245u; public static uint Play_beetle_guard_attack2_initial = 2581251415u; public static uint Play_beetle_guard_attack2_spikeLoop = 542781083u; public static uint Play_beetle_guard_death = 1527577102u; public static uint Play_beetle_guard_idle_VO = 3561602500u; public static uint Play_beetle_guard_impact = 2349109310u; public static uint Play_beetle_guard_spawn = 515189165u; public static uint Play_beetle_guard_step = 2628071246u; public static uint Play_beetle_queen_attack1 = 555937964u; public static uint Play_beetle_queen_attack2_impact = 3157521796u; public static uint Play_beetle_queen_attack2_projectile_loop = 1477410428u; public static uint Play_beetle_queen_attack2_shoot = 4217844119u; public static uint Play_beetle_queen_death = 451763711u; public static uint Play_beetle_queen_impact = 806513485u; public static uint Play_beetle_queen_spawn = 2698326632u; public static uint Play_beetle_queen_step = 2551161845u; public static uint Play_beetle_queen_VO_idle = 1845046503u; public static uint Play_beetle_worker_attack = 4241852727u; public static uint Play_beetle_worker_death = 383219511u; public static uint Play_beetle_worker_idle = 1901530073u; public static uint Play_beetle_worker_impact = 1338816453u; public static uint Play_beetle_worker_spawn = 1471942880u; public static uint Play_beetle_worker_step = 1809191501u; public static uint Play_bellBody_attackCreate = 780374380u; public static uint Play_bellBody_attackLand = 1732098311u; public static uint Play_bellBody_attackShoot = 4097802741u; public static uint Play_bellBody_death = 2182572274u; public static uint Play_bellBody_idle_loop = 345208571u; public static uint Play_bellBody_idle_VO = 4021378928u; public static uint Play_bellBody_impact = 2147523650u; public static uint Play_bellBody_spawn = 4144720393u; public static uint Play_bison_charge_attack_collide = 2909411958u; public static uint Play_bison_charge_attack_end_skid = 2235015895u; public static uint Play_bison_charge_attack_start = 2509443544u; public static uint Play_bison_charge_attack_tell = 4101791573u; public static uint Play_bison_death = 3590751484u; public static uint Play_bison_headbutt_attack_hit = 3802411724u; public static uint Play_bison_headbutt_attack_swing = 1417054473u; public static uint Play_bison_idle_graze = 2516815946u; public static uint Play_bison_idle_VO = 3855060446u; public static uint Play_bison_impact = 4030239748u; public static uint Play_bison_spawn = 3910957799u; public static uint Play_bison_step = 2839275484u; public static uint Play_bison_step_charge = 532574671u; public static uint Play_bleedOnCritAndExplode_explode = 2693964769u; public static uint Play_bleedOnCritAndExplode_impact = 3570667772u; public static uint Play_blindVermin_attack1_bite = 901504895u; public static uint Play_blindVermin_death = 3786262665u; public static uint Play_blindVermin_idle_VO = 2536191415u; public static uint Play_blindVermin_impact = 121244671u; public static uint Play_blindVermin_spawn = 2995165238u; public static uint Play_blindVermin_step = 294344023u; public static uint Play_boss_spawn_radius_appear = 4035156426u; public static uint Play_boss_spawn_rumble = 2327315087u; public static uint Play_captain_drone_idle_VO = 1028355892u; public static uint Play_captain_drone_quick_move = 8118127u; public static uint Play_captain_drone_zap = 3992615829u; public static uint Play_captain_m1_chargeStart = 2544146878u; public static uint Play_captain_m1_hit = 3819278833u; public static uint Play_captain_m1_reload = 2226849933u; public static uint Play_captain_m1_shootWide = 532604026u; public static uint Play_captain_m1_shotgun_charge_loop = 2453063032u; public static uint Play_captain_m1_shotgun_shootTight = 1348536996u; public static uint Play_captain_m2_tazed_loop = 3117407908u; public static uint Play_captain_m2_tazer_bounce = 1888136956u; public static uint Play_captain_m2_tazer_impact = 58834266u; public static uint Play_captain_m2_tazer_shoot = 832597929u; public static uint Play_captain_R_aim = 364785367u; public static uint Play_captain_R_aiming_loop = 1040620982u; public static uint Play_captain_R_confirmLocation = 1531948689u; public static uint Play_captain_R_impact = 3902637834u; public static uint Play_captain_R_turret_build = 1359756347u; public static uint Play_captain_R_turret_healing_loop = 788149618u; public static uint Play_captain_shift_active_loop = 3941125189u; public static uint Play_captain_shift_confirm = 2140775262u; public static uint Play_captain_shift_end = 803261989u; public static uint Play_captain_shift_impact = 3269630552u; public static uint Play_captain_shift_preImpact = 1069989355u; public static uint Play_captain_shift_start = 2113266862u; public static uint Play_captain_sprint_start = 3430012852u; public static uint Play_captain_sprint_stop = 1094493224u; public static uint Play_captain_step = 1226612947u; public static uint Play_captain_step_sprint = 2831720022u; public static uint Play_captain_utility_variant_impact = 1357225738u; public static uint Play_captain_utility_variant_laser_loop = 2451237826u; public static uint Play_captain_utility_variant_preImpact = 3461917085u; public static uint Play_char_glass_death = 359633836u; public static uint Play_char_jump_VO = 1654395377u; public static uint Play_char_land = 81910470u; public static uint Play_char_land_fall_damage = 2642009198u; public static uint Play_clayboss_death = 2559714313u; public static uint Play_clayboss_idle_loop = 3870838284u; public static uint Play_clayboss_idle_VO = 628079927u; public static uint Play_clayboss_impact = 1890981503u; public static uint Play_clayboss_M1_explo = 2368148000u; public static uint Play_clayboss_m1_lidClose = 1576056771u; public static uint Play_clayboss_m1_lidOpen = 1470926389u; public static uint Play_clayboss_m1_shoot = 2922284055u; public static uint Play_clayboss_m2_explo = 4043539191u; public static uint Play_clayboss_m2_projectile_loop = 3593581531u; public static uint Play_clayboss_m2_rise = 916955724u; public static uint Play_clayboss_m2_shoot = 600290068u; public static uint Play_clayboss_R_mulch_loop = 968500644u; public static uint Play_clayboss_R_start = 988517284u; public static uint Play_clayboss_R_tether_loop = 3132967749u; public static uint Play_clayboss_spawn = 1768616886u; public static uint Play_clayboss_step = 3088890839u; public static uint Play_clayboss_step_legMove = 869404285u; public static uint Play_clayboss_walk_loop = 212114079u; public static uint Play_clayBruiser_attack1_shoot_bullet = 491470286u; public static uint Play_clayBruiser_attack1_shoot_flyby = 3572694566u; public static uint Play_clayBruiser_attack1_shootLoop = 649113537u; public static uint Play_clayBruiser_attack1_windDown = 263088688u; public static uint Play_clayBruiser_attack1_windUp = 1916278867u; public static uint Play_clayBruiser_attack2_shoot = 1288244652u; public static uint Play_clayBruiser_death = 3332873880u; public static uint Play_clayBruiser_idle_VO = 2519366882u; public static uint Play_clayBruiser_impact = 1250949200u; public static uint Play_clayBruiser_spawn = 817063995u; public static uint Play_clayBruiser_step = 1697475496u; public static uint Play_clayGrenadier_attack1_chargeup = 318212996u; public static uint Play_clayGrenadier_attack1_explode = 2432531130u; public static uint Play_clayGrenadier_attack1_launch = 1826024586u; public static uint Play_clayGrenadier_attack2_chargeup = 1264580837u; public static uint Play_clayGrenadier_attack2_explode = 1475316029u; public static uint Play_clayGrenadier_attack2_throw = 3151664278u; public static uint Play_clayGrenadier_death = 4008628731u; public static uint Play_clayGrenadier_idle_VO = 2834945965u; public static uint Play_clayGrenadier_impact = 216053097u; public static uint Play_clayGrenadier_spawn = 1404722828u; public static uint Play_clayGrenadier_step = 2998452545u; public static uint Play_commando_M1 = 4060526873u; public static uint Play_commando_M2 = 4060526874u; public static uint Play_commando_M2_grenade_beep = 767972256u; public static uint Play_commando_M2_grenade_bounce = 2406813524u; public static uint Play_commando_M2_grenade_explo = 1805372450u; public static uint Play_commando_M2_grenade_throw = 2891623396u; public static uint Play_commando_M2_impact = 3856027043u; public static uint Play_commando_R = 1872804647u; public static uint Play_commando_R_stun = 856897882u; public static uint Play_commando_shift = 4030773325u; public static uint Play_deathProjectile_activate = 4274104951u; public static uint Play_deathProjectile_activeLoop = 4274851604u; public static uint Play_deathProjectile_exit = 2255177404u; public static uint Play_deathProjectile_pulse = 3311061351u; public static uint Play_deathProjectile_throw = 3241022660u; public static uint Play_drone_active_loop = 1397126242u; public static uint Play_drone_attack = 2284311463u; public static uint Play_drone_deathpt1 = 263213456u; public static uint Play_drone_deathpt2 = 263213459u; public static uint Play_drone_repair = 1856960692u; public static uint Play_elite_antiHeal_spawn = 691984684u; public static uint Play_elite_antiHeal_turret_die = 3657700870u; public static uint Play_elite_antiHeal_turret_shot = 669631748u; public static uint Play_elite_antiHeal_turret_spawn = 308571281u; public static uint Play_elite_antiHeal_urchin_activeLoop = 3295205085u; public static uint Play_elite_antiHeal_urchin_land = 962572750u; public static uint Play_elite_antiHeal_urchin_spawn = 569941158u; public static uint Play_elite_haunt_ghost_convert = 2762055418u; public static uint Play_elite_haunt_hauntorb_activeLoop = 543514253u; public static uint Play_elite_haunt_spawn = 265705826u; public static uint Play_emergency_drone_heal_loop = 2145196828u; public static uint Play_engi_M1_chargeLoop = 1143106461u; public static uint Play_engi_M1_chargeStock = 1582860475u; public static uint Play_engi_M1_explo = 2460302619u; public static uint Play_engi_M1_land = 1224228428u; public static uint Play_engi_M1_shot = 2716114991u; public static uint Play_engi_M2_arm = 801551500u; public static uint Play_engi_M2_explo = 1876447108u; public static uint Play_engi_M2_land = 1942736441u; public static uint Play_engi_M2_spider_dash = 2039062976u; public static uint Play_engi_M2_throw = 2382761590u; public static uint Play_engi_R_activate = 3298597612u; public static uint Play_engi_R_place = 643340344u; public static uint Play_engi_R_turret_death = 4245687690u; public static uint Play_engi_R_turret_rotate_start = 3711319792u; public static uint Play_engi_R_turret_rotate_stop = 3202539612u; public static uint Play_engi_R_turret_shot = 3407965588u; public static uint Play_engi_R_turret_spawn = 4130025569u; public static uint Play_engi_R_walkingTurret_laser_end = 3407461464u; public static uint Play_engi_R_walkingTurret_laser_start = 1126280707u; public static uint Play_engi_R_walkingTurret_step = 2412533739u; public static uint Play_engi_seekerMissile_explode = 2273471583u; public static uint Play_engi_seekerMissile_HUD_close = 872995266u; public static uint Play_engi_seekerMissile_HUD_loop = 3389061272u; public static uint Play_engi_seekerMissile_HUD_open = 1095370646u; public static uint Play_engi_seekerMissile_lockOn = 407672846u; public static uint Play_engi_seekerMissile_shoot = 2951980765u; public static uint Play_engi_shift_end = 1395092584u; public static uint Play_engi_shift_hit = 1846263908u; public static uint Play_engi_shift_start = 729856403u; public static uint Play_engi_sprint_end = 1589710056u; public static uint Play_engi_sprint_start = 1694535187u; public static uint Play_env_dampCave_crystalLight_loop = 3080548713u; public static uint Play_env_dampCave_steamVent_loop = 2932480344u; public static uint Play_env_desert_wind_gust = 363197352u; public static uint Play_env_fan_activate = 1753248287u; public static uint Play_env_geyser_launch = 3684346483u; public static uint Play_env_geys