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