Decompiled source of CosmicChampion v1.0.0
CosmicChampion.dll
Decompiled 5 hours ago
The result has been truncated due to the large size, download it to view full contents!
using System; using System.Collections; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using System.Security; using System.Security.Permissions; using BepInEx; using BepInEx.Logging; using CosmicChampion.Utils; using CosmicChampion.Utils.Assets; using EntityStates; using KinematicCharacterController; using Microsoft.CodeAnalysis; using On.RoR2; using R2API; using RoR2; using RoR2.Audio; using RoR2.EntitlementManagement; using RoR2.ExpansionManagement; using RoR2.Navigation; 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.PostProcessing; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")] [assembly: AssemblyCompany("CosmicChampion")] [assembly: AssemblyConfiguration("Debug")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0")] [assembly: AssemblyProduct("CosmicChampion")] [assembly: AssemblyTitle("CosmicChampion")] [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 CosmicChampion { public class Eridanus { public class SolarBombController : MonoBehaviour, IProjectileImpactBehavior { public void OnProjectileImpact(ProjectileImpactInfo impactInfo) { //IL_0003: Unknown result type (might be due to invalid IL or missing references) ((MonoBehaviour)this).StartCoroutine(HandleExplosions(impactInfo)); } public IEnumerator HandleExplosions(ProjectileImpactInfo impactInfo) { //IL_000e: Unknown result type (might be due to invalid IL or missing references) //IL_000f: Unknown result type (might be due to invalid IL or missing references) Vector3 dir = ((Component)this).transform.forward; Vector3 up = Vector3.up; GameObject effect = GameObject.ExplosionMinorConstruct; List<HealthComponent> alreadyHit = new List<HealthComponent>(); BlastAttack attack = new BlastAttack(); attack.baseDamage = ((Component)this).GetComponent<ProjectileDamage>().damage; attack.crit = ((Component)this).GetComponent<ProjectileDamage>().crit; attack.falloffModel = (FalloffModel)0; attack.radius = 3f; attack.teamIndex = (TeamIndex)1; attack.procCoefficient = 1f; attack.position = ((Component)this).transform.position; attack.attacker = ((Component)this).GetComponent<ProjectileController>().owner; BlastAttack obj = attack; obj.baseDamage *= 1.2f; Fire(); AkSoundEngine.PostEvent(Events.Play_lemurianBruiser_m1_explode, ((Component)this).gameObject); AkSoundEngine.PostEvent(Events.Play_lemurianBruiser_m1_explode, ((Component)this).gameObject); AkSoundEngine.PostEvent(Events.Play_lemurianBruiser_m1_explode, ((Component)this).gameObject); BlastAttack obj2 = attack; obj2.baseDamage *= 0.8f; float radius = attack.radius; for (int i = 0; i < 4; i++) { dir = Vector3.Cross(up, dir); for (int j = 0; j < 4; j++) { dir = Vector3.Cross(up, dir); Vector3 pos2 = ((Component)this).transform.position; pos2 += ((Vector3)(ref dir)).normalized * radius; attack.position = pos2; Fire(); EffectManager.SpawnEffect(effect, new EffectData { origin = attack.position, scale = attack.radius * 2f }, true); } yield return (object)new WaitForSeconds(0.1f); radius += attack.radius; } Object.Destroy((Object)(object)((Component)this).gameObject); void Fire() { //IL_0032: Unknown result type (might be due to invalid IL or missing references) List<HitPoint> list = attack.CollectHits().ToList(); list.RemoveAll((HitPoint x) => Object.op_Implicit((Object)(object)x.hurtBox) && Object.op_Implicit((Object)(object)x.hurtBox.healthComponent) && alreadyHit.Contains(x.hurtBox.healthComponent)); for (int k = 0; k < list.Count; k++) { alreadyHit.Add(list[k].hurtBox.healthComponent); } attack.HandleHits(list.ToArray()); } } } [CompilerGenerated] private static class <>O { public static hook_TakeDamage <0>__OnDamageReceived; public static hook_Init <1>__OnCatalogInit; } public static GameObject BodyPrefab; public static SurvivorDef sdEridanus; public static GameObject VortexProjectile; public static GameObject SolarBombProjectile; public static GameObject SolarOrbProjectile; public static LazyIndex EridanusIndex = new LazyIndex("EridanusBody"); public static GameObject NebulaShotL; public static GameObject NebulaShotR; public static GameObject StarshockField; public static SkinDef sdEridanusSkin; public static void Setup() { //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_002e: Expected O, but got Unknown //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_004f: Expected O, but got Unknown LoadAssets(); SetupLanguage(); CreateVariant(); object obj = <>O.<0>__OnDamageReceived; if (obj == null) { hook_TakeDamage val = OnDamageReceived; <>O.<0>__OnDamageReceived = val; obj = (object)val; } HealthComponent.TakeDamage += (hook_TakeDamage)obj; object obj2 = <>O.<1>__OnCatalogInit; if (obj2 == null) { hook_Init val2 = OnCatalogInit; <>O.<1>__OnCatalogInit = val2; obj2 = (object)val2; } SurvivorCatalog.Init += (hook_Init)obj2; } private static void OnCatalogInit(orig_Init orig) { orig.Invoke(); SetupSkin(); } private static void OnDamageReceived(orig_TakeDamage orig, HealthComponent self, DamageInfo damageInfo) { //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) //IL_008d: Unknown result type (might be due to invalid IL or missing references) if (self.body.bodyIndex == (BodyIndex)EridanusIndex && Object.op_Implicit((Object)(object)damageInfo.attacker)) { int stock = self.body.skillLocator.utility.stock; if (stock > 0) { SolarOrbState.TryDetonate(self.body, damageInfo.attacker.GetComponent<CharacterBody>()); self.body.skillLocator.utility.DeductStock(1); damageInfo.damage *= 0.4f; damageInfo.damageColorIndex = (DamageColorIndex)13; } } orig.Invoke(self, damageInfo); } public static void SetupSkin() { //IL_014c: Unknown result type (might be due to invalid IL or missing references) //IL_0151: Unknown result type (might be due to invalid IL or missing references) //IL_0167: Unknown result type (might be due to invalid IL or missing references) //IL_016c: Unknown result type (might be due to invalid IL or missing references) //IL_017c: Unknown result type (might be due to invalid IL or missing references) //IL_0181: Unknown result type (might be due to invalid IL or missing references) //IL_0186: Unknown result type (might be due to invalid IL or missing references) //IL_01e4: Unknown result type (might be due to invalid IL or missing references) sdEridanusSkin = CosmicChampion.Load<SkinDef>("EridanusSkin.asset"); GameObject bandit2Body = GameObject.Bandit2Body; Renderer[] componentsInChildren = bandit2Body.GetComponentsInChildren<Renderer>(true); sdEridanusSkin.rootObject = ((Component)bandit2Body.GetComponentInChildren<CharacterModel>(true)).gameObject; sdEridanusSkin.rendererInfos[0].renderer = componentsInChildren[1]; sdEridanusSkin.rendererInfos[1].renderer = componentsInChildren[2]; sdEridanusSkin.rendererInfos[2].renderer = componentsInChildren[4]; sdEridanusSkin.rendererInfos[3].renderer = componentsInChildren[7]; sdEridanusSkin.meshReplacements[0].renderer = componentsInChildren[1]; sdEridanusSkin.meshReplacements[1].renderer = componentsInChildren[2]; sdEridanusSkin.meshReplacements[2].renderer = componentsInChildren[4]; sdEridanusSkin.meshReplacements[3].renderer = componentsInChildren[7]; sdEridanusSkin.meshReplacements[4].renderer = componentsInChildren[0]; sdEridanusSkin.meshReplacements[5].renderer = componentsInChildren[3]; sdEridanusSkin.meshReplacements[6].renderer = componentsInChildren[6]; sdEridanusSkin.icon = Skins.CreateSkinIcon(Color32.op_Implicit(new Color32((byte)102, (byte)48, (byte)67, byte.MaxValue)), Color32.op_Implicit(new Color32((byte)247, (byte)225, (byte)84, byte.MaxValue)), Color32.op_Implicit(new Color32((byte)74, (byte)37, (byte)69, byte.MaxValue)), Color.white); sdEridanusSkin.runtimeSkin = null; sdEridanusSkin.Bake(); ModelSkinController componentInChildren = bandit2Body.GetComponentInChildren<ModelSkinController>(); Array.Resize(ref componentInChildren.skins, componentInChildren.skins.Length + 1); componentInChildren.skins[componentInChildren.skins.Length - 1] = sdEridanusSkin; BodyCatalog.skins[BodyCatalog.FindBodyIndex(bandit2Body)] = componentInChildren.skins; } public static void LoadAssets() { BodyPrefab = CosmicChampion.Load<GameObject>("EridanusBody.prefab"); BodyPrefab.GetComponent<CameraTargetParams>().cameraParams = CharacterCameraParams.ccpStandard; BodyPrefab.GetComponent<KinematicCharacterMotor>().playerCharacter = true; ((Component)BodyPrefab.GetComponent<ModelLocator>()._modelTransform).GetComponent<Animator>().runtimeAnimatorController = RuntimeAnimatorController.animBandit2; CosmicChampion.Load<GameObject>("EridanusDisplay.prefab").GetComponentInChildren<Animator>().runtimeAnimatorController = RuntimeAnimatorController.animBandit2Display; ((Component)BodyPrefab.GetComponent<ModelLocator>()._modelTransform).GetComponent<CharacterModel>().itemDisplayRuleSet = ItemDisplayRuleSet.idrsBandit2; BodyPrefab.GetComponent<CharacterBody>()._defaultCrosshairPrefab = GameObject.VoidSurvivorCrosshair; ((Component)BodyPrefab.GetComponent<ModelLocator>()._modelTransform).GetComponent<FootstepHandler>().footstepDustPrefab = GameObject.GenericFootstepDust; ContentAddition.AddBody(BodyPrefab); sdEridanus = CosmicChampion.Load<SurvivorDef>("sdEridanus.asset"); ContentAddition.AddSurvivorDef(sdEridanus); CosmicChampion.ForAllAssets<SkillDef>((Action<SkillDef>)delegate(SkillDef x) { ContentAddition.AddSkillDef(x); }); CosmicChampion.ForAllAssets<SkillFamily>((Action<SkillFamily>)delegate(SkillFamily x) { ContentAddition.AddSkillFamily(x); }); CosmicChampion.ForAllAssets<GameObject>((Action<GameObject>)delegate(GameObject x) { if (Object.op_Implicit((Object)(object)x.GetComponent<NetworkIdentity>())) { ContentAddition.AddNetworkedObject(x); } }); VortexProjectile = CosmicChampion.Load<GameObject>("VortexProjectile.prefab"); ((Renderer)CosmicChampion.Load<GameObject>("VortexProjectileGhost.prefab").FindComponent<MeshRenderer>("Intersection")).sharedMaterial = Material.matJellyfishLightningSphere; ContentAddition.AddProjectile(VortexProjectile); SolarBombProjectile = CosmicChampion.Load<GameObject>("SolarBombProjectile.prefab"); SolarBombProjectile.AddComponent<SolarBombController>(); ContentAddition.AddProjectile(SolarBombProjectile); SolarOrbProjectile = CosmicChampion.Load<GameObject>("SolarOrbProjectile.prefab"); SolarOrbProjectile.AddComponent<SolarOrbController>(); SolarOrbProjectile.layer = LayerIndex.noCollision.intVal; ((ProjectileExplosion)SolarOrbProjectile.GetComponent<ProjectileImpactExplosion>()).explosionEffect = GameObject.MagmaOrbExplosion; ContentAddition.AddProjectile(SolarOrbProjectile); NebulaShotL = CosmicChampion.Load<GameObject>("NebulaOrbProjectile.prefab"); ((Component)NebulaShotL.transform.GetChild(0)).gameObject.layer = LayerIndex.triggerZone.intVal; ContentAddition.AddProjectile(NebulaShotL); NebulaShotR = PrefabAPI.InstantiateClone(NebulaShotL, "NebulaOrbProjectileAlt"); ProjectileSimple component = NebulaShotR.GetComponent<ProjectileSimple>(); component.oscillateMagnitude *= -1f; ContentAddition.AddProjectile(NebulaShotR); ContentAddition.AddEffect(CosmicChampion.Load<GameObject>("ExplosionNebulaOrb.prefab")); StarshockField = CosmicChampion.Load<GameObject>("StarshockField.prefab"); StarshockField.GetComponent<BuffWard>().buffDef = BuffDef.bdLunarSecondaryRoot; StarshockField.AddComponent<StarshockField>(); ((Renderer)StarshockField.GetComponentInChildren<MeshRenderer>()).sharedMaterial = Material.matRailgunnerMineAreaIndicatorAlt; } public static void CreateVariant() { //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) SurvivorVariantDef val = ScriptableObject.CreateInstance<SurvivorVariantDef>(); val.Color = sdEridanus.primaryColor; val.Description = "Elemental Defender"; val.DisplayName = "Cosmic Champion"; val.Icon = null; val.TargetSurvivor = SurvivorDef.Bandit2; val.VariantSurvivor = sdEridanus; SurvivorVariantCatalog.AddSurvivorVariant(val); } public static void SetupLanguage() { "COSMIC_BANDIT_NAME".Add("Cosmic Champion"); "COSMICBANDIT_PASSIVE_NAME".Add("Solar Protection"); "COSMICBANDIT_PASSIVE_DESC".Add("Gain 1 <style=cIsUtility>orbiting fireball</style> for every <style=cIsDamage>utility charge</style>. Fireballs are <style=cDeath>consumed</style> when struck to <style=cIsDamage>reduce damage</style> and <style=cIsUtility>stun the attacker</style>."); "COSMICBANDIT_PRIMARY_NAME".Add("Nebula Stream"); "COSMICBANDIT_PRIMARY_DESC".Add("Fire out a constant stream of plasma for <style=cIsUtility>2x100% damage</style>. The stream splits into a helix pattern at range."); "COSMICBANDIT_SECONDARY_NAME".Add("Storm Spiral"); "COSMICBANDIT_SECONDARY_DESC".Add("<style=cIsUtility>Shocking.</style> Toss out a spinning vortex, which arcs lightning for <style=cIsDamage>300% damage</style>"); "COSMICBANDIT_UTILITY_NAME".Add("Blazing Retreat"); "COSMICBANDIT_UTILITY_DESC".Add("Dash backward, dropping a fireball that explodes in a <style=cIsUtility>cross pattern</style> for <style=cIsDamage>1000% damage</style>. Deals <style=cIsUtility>+20% damage</style> in the center."); "COSMICBANDIT_SPECIAL_NAME".Add("Starshock"); "COSMICBANDIT_SPECIAL_DESC".Add("Fire a blinding light into the air, creating a field that <style=cIsUtility>stops</style> <style=cDeath>ALL</style> projectiles for the duration. Projectiles have their damage <style=cIsUtility>increased by 50%</style> when the field expires."); "COSMIC_BANDIT_DESC".Add("The Cosmic Champion is a medium range survivor who controls the celestial elements to decimate foes. Positioning and good use of Starshock are key to outputting high damage!\n\n<!> Solar Protection will shield you from hits, at the cost of your burst damage.\n\n<!> Nebula Stream deals high damage but requires careful positioning due to its helix flight pattern.\n\n<!> Blazing Retreat can be used to deal high burst damage to crowds, at the expense of your protection.\n\n<!> Starshock can be used to set up huge bursts of damage, but be careful of any enemy projectiles that release when it expires!"); "COSMIC_BANDIT_WIN".Add("..and so he left, grateful for his luck."); "COSMIC_BANDIT_LOSE".Add("..and so he vanished, full of regret. "); "COSMIC_BANDIT_SUB".Add("Desperate Outlaw"); } } public class NebulaStream : BaseSkillState { public float duration = 0.2f; private const float SHOTS_PER_SEC = 5f; public override void OnEnter() { //IL_0036: Unknown result type (might be due to invalid IL or missing references) //IL_003b: Unknown result type (might be due to invalid IL or missing references) //IL_0041: Unknown result type (might be due to invalid IL or missing references) //IL_0058: 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_0063: Unknown result type (might be due to invalid IL or missing references) ((BaseState)this).OnEnter(); duration /= ((BaseState)this).attackSpeedStat; if (((EntityState)this).isAuthority) { FireProjectileInfo projectile = MiscUtils.GetProjectile(Eridanus.NebulaShotL, 1f, ((EntityState)this).characterBody); ProjectileManager.instance.FireProjectile(projectile); FireProjectileInfo projectile2 = MiscUtils.GetProjectile(Eridanus.NebulaShotR, 1f, ((EntityState)this).characterBody); ProjectileManager.instance.FireProjectile(projectile2); } AkSoundEngine.PostEvent(Events.Play_minorConstruct_attack_shoot, ((EntityState)this).gameObject); } public override void FixedUpdate() { ((EntityState)this).FixedUpdate(); ((BaseState)this).StartAimMode(0.2f, false); if (((EntityState)this).fixedAge >= duration) { ((EntityState)this).outer.SetNextStateToMain(); } } public override InterruptPriority GetMinimumInterruptPriority() { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0005: Unknown result type (might be due to invalid IL or missing references) return (InterruptPriority)1; } } public class SolarDash : BaseSkillState { public float duration = 0.1f; public float speedCoefficient = 25f; private Vector3 dashVector; public override void OnEnter() { //IL_0043: Unknown result type (might be due to invalid IL or missing references) //IL_0048: Unknown result type (might be due to invalid IL or missing references) //IL_004d: 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_0082: Unknown result type (might be due to invalid IL or missing references) //IL_0088: Unknown result type (might be due to invalid IL or missing references) ((BaseState)this).OnEnter(); ((EntityState)this).characterBody.isSprinting = true; AkSoundEngine.PostEvent(Events.Play_commando_shift, ((EntityState)this).gameObject); AkSoundEngine.PostEvent(Events.Play_bandit_shift_end, ((EntityState)this).gameObject); dashVector = -1f * ((EntityState)this).inputBank.aimDirection; dashVector.y = 0f; if (((EntityState)this).isAuthority) { FireProjectileInfo projectile = MiscUtils.GetProjectile(Eridanus.SolarBombProjectile, 10f, ((EntityState)this).characterBody); ProjectileManager.instance.FireProjectile(projectile); } } public override void FixedUpdate() { //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_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_004c: Unknown result type (might be due to invalid IL or missing references) //IL_0051: Unknown result type (might be due to invalid IL or missing references) //IL_0056: Unknown result type (might be due to invalid IL or missing references) ((EntityState)this).FixedUpdate(); if (((EntityState)this).isAuthority) { ((EntityState)this).characterMotor.velocity = Vector3.zero; CharacterMotor characterMotor = ((EntityState)this).characterMotor; characterMotor.rootMotion += dashVector * (((BaseState)this).moveSpeedStat * speedCoefficient * Time.fixedDeltaTime); ((EntityState)this).characterBody.isSprinting = true; if (((EntityState)this).fixedAge >= duration) { ((EntityState)this).outer.SetNextStateToMain(); } } } public override InterruptPriority GetMinimumInterruptPriority() { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0005: Unknown result type (might be due to invalid IL or missing references) return (InterruptPriority)5; } } public class SolarOrbState : BaseState { public List<SolarOrbController> Orbs = new List<SolarOrbController>(); private float fullAngle = 360f; private float speed = 4f; private Vector3 offset = new Vector3(0f, 1.6f, 0f); private float distance = 1.5f; private float initialTime; private float updateRate = 0.1f; public override void OnEnter() { ((BaseState)this).OnEnter(); initialTime = Run.instance.GetRunStopwatch(); } public override void FixedUpdate() { //IL_0089: Unknown result type (might be due to invalid IL or missing references) //IL_008e: Unknown result type (might be due to invalid IL or missing references) //IL_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_00a3: Unknown result type (might be due to invalid IL or missing references) //IL_00a9: Unknown result type (might be due to invalid IL or missing references) //IL_00ae: Unknown result type (might be due to invalid IL or missing references) //IL_00da: Unknown result type (might be due to invalid IL or missing references) //IL_00dc: Unknown result type (might be due to invalid IL or missing references) //IL_00e1: Unknown result type (might be due to invalid IL or missing references) //IL_00e3: Unknown result type (might be due to invalid IL or missing references) //IL_00ee: Unknown result type (might be due to invalid IL or missing references) //IL_00f3: Unknown result type (might be due to invalid IL or missing references) //IL_00f8: Unknown result type (might be due to invalid IL or missing references) //IL_00fb: Unknown result type (might be due to invalid IL or missing references) //IL_0100: Unknown result type (might be due to invalid IL or missing references) //IL_0119: Unknown result type (might be due to invalid IL or missing references) //IL_011e: 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) ((EntityState)this).FixedUpdate(); if (((EntityState)this).fixedAge >= updateRate) { ((EntityState)this).fixedAge = 0f; SyncOrbCount(); } for (int i = 0; i < Orbs.Count; i++) { SolarOrbController solarOrbController = Orbs[i]; if (Object.op_Implicit((Object)(object)solarOrbController)) { Rigidbody rb = solarOrbController.rb; if (Object.op_Implicit((Object)(object)rb)) { float num = Run.instance.GetRunStopwatch() - initialTime; Vector3 up = Vector3.up; Vector3 forward = ((EntityState)this).transform.forward; Vector3 val = ((EntityState)this).characterBody.footPosition + offset + Quaternion.AngleAxis(fullAngle / (float)Orbs.Count * (float)i + num / speed * fullAngle, up) * forward * distance; Vector3 val2 = Vector3.MoveTowards(rb.position, val, ((EntityState)this).characterBody.moveSpeed * 2f * Time.fixedDeltaTime); rb.MovePosition(val2); } } } } public void DetonateRandomOrb(CharacterBody target) { if (!((float)Orbs.Count <= 0f) && ((EntityState)this).isAuthority) { SolarOrbController random = Orbs.GetRandom(); Orbs.Remove(random); random.Detonate(target); } } public void SyncOrbCount() { //IL_00a1: Unknown result type (might be due to invalid IL or missing references) //IL_00a6: Unknown result type (might be due to invalid IL or missing references) //IL_00ac: Unknown result type (might be due to invalid IL or missing references) if (!((EntityState)this).isAuthority) { return; } Orbs.RemoveAll((SolarOrbController x) => (Object)(object)x == (Object)null); if (Orbs.Count != ((EntityState)this).skillLocator.utility.stock) { if (Orbs.Count > ((EntityState)this).skillLocator.utility.stock) { DetonateRandomOrb(null); return; } FireProjectileInfo projectile = MiscUtils.GetProjectile(Eridanus.SolarOrbProjectile, 2f, ((EntityState)this).characterBody); ProjectileManager.instance.FireProjectile(projectile); } } public static void TryDetonate(CharacterBody victim, CharacterBody attacker) { EntityStateMachine val = EntityStateMachine.FindByCustomName(((Component)victim).gameObject, "SolarOrbs"); if (Object.op_Implicit((Object)(object)val) && val.state is SolarOrbState) { (val.state as SolarOrbState).DetonateRandomOrb(attacker); } } } public class SolarOrbController : MonoBehaviour { public Rigidbody rb; public ProjectileController controller; public void Start() { rb = ((Component)this).GetComponent<Rigidbody>(); controller = ((Component)this).GetComponent<ProjectileController>(); EntityStateMachine val = EntityStateMachine.FindByCustomName(controller.owner, "SolarOrbs"); (val.state as SolarOrbState).Orbs.Add(this); } public void Detonate(CharacterBody target) { //IL_005d: 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_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_0075: Unknown result type (might be due to invalid IL or missing references) if (Object.op_Implicit((Object)(object)target)) { ((Component)this).gameObject.layer = LayerIndex.triggerZone.intVal; ((Component)this).GetComponent<ProjectileController>().IgnoreCollisionsWithOwner(true); ((Component)this).GetComponent<ProjectileSimple>().desiredForwardSpeed = 30f; ((Component)this).GetComponent<ProjectileTargetComponent>().target = ((Component)target.mainHurtBox).transform; Transform transform = ((Component)this).transform; Vector3 val = target.corePosition - ((Component)this).transform.position; transform.forward = ((Vector3)(ref val)).normalized; } else { ((ProjectileExplosion)((Component)this).GetComponent<ProjectileImpactExplosion>()).Detonate(); } } } public class Starshock : BaseSkillState { public float duration = 0.8f; public override void OnEnter() { ((BaseState)this).OnEnter(); duration /= ((BaseState)this).attackSpeedStat; AkSoundEngine.PostEvent(Events.Play_bandit2_R_load, ((EntityState)this).gameObject); ((EntityState)this).PlayAnimation("Gesture, Additive", "MainToSide", "MainToSide.playbackRate", duration, 0f); } public override void FixedUpdate() { ((EntityState)this).FixedUpdate(); ((BaseState)this).StartAimMode(0.2f, false); if (((EntityState)this).fixedAge >= duration) { ((EntityState)this).outer.SetNextStateToMain(); } } public override void OnExit() { //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_009b: Unknown result type (might be due to invalid IL or missing references) //IL_00a0: Unknown result type (might be due to invalid IL or missing references) //IL_00a8: Unknown result type (might be due to invalid IL or missing references) //IL_00b4: Unknown result type (might be due to invalid IL or missing references) //IL_00ea: Unknown result type (might be due to invalid IL or missing references) //IL_00eb: Unknown result type (might be due to invalid IL or missing references) //IL_0102: Unknown result type (might be due to invalid IL or missing references) //IL_0107: Unknown result type (might be due to invalid IL or missing references) //IL_0108: Unknown result type (might be due to invalid IL or missing references) //IL_010f: Unknown result type (might be due to invalid IL or missing references) //IL_0120: Unknown result type (might be due to invalid IL or missing references) //IL_0125: Unknown result type (might be due to invalid IL or missing references) //IL_012a: Unknown result type (might be due to invalid IL or missing references) //IL_013b: Expected O, but got Unknown //IL_00c8: Unknown result type (might be due to invalid IL or missing references) //IL_00cf: Unknown result type (might be due to invalid IL or missing references) //IL_00d9: Unknown result type (might be due to invalid IL or missing references) //IL_00de: Unknown result type (might be due to invalid IL or missing references) //IL_00e3: Unknown result type (might be due to invalid IL or missing references) ((EntityState)this).OnExit(); ((EntityState)this).PlayAnimation("Gesture, Additive", "FireSideWeapon", "FireSideWeapon.playbackRate", duration, 0f); AkSoundEngine.PostEvent(Events.Play_bandit2_R_kill, ((EntityState)this).gameObject); AkSoundEngine.PostEvent(Events.Play_bandit2_R_fire, ((EntityState)this).gameObject); AkSoundEngine.PostEvent(Events.Play_moonBrother_orb_slam_impact, ((EntityState)this).gameObject); AkSoundEngine.PostEvent(Events.Play_moonBrother_phaseJump_land_impact, ((EntityState)this).gameObject); AkSoundEngine.PostEvent(Events.Play_vagrant_R_explode, ((EntityState)this).gameObject); if (((EntityState)this).isAuthority) { Ray aimRay = ((BaseState)this).GetAimRay(); Vector3 val = ((Ray)(ref aimRay)).GetPoint(40f); RaycastHit val2 = default(RaycastHit); if (Util.CharacterRaycast(((EntityState)this).gameObject, ((BaseState)this).GetAimRay(), ref val2, 400f, CommonMasks.bullet, (QueryTriggerInteraction)1)) { val = ((RaycastHit)(ref val2)).point + ((RaycastHit)(ref val2)).normal * 5f; } GameObject val3 = Object.Instantiate<GameObject>(Eridanus.StarshockField, val, Quaternion.identity); NetworkServer.Spawn(val3); EffectManager.SpawnEffect(GameObject.TracerRailgun, new EffectData { origin = val, start = ((Component)((BaseState)this).FindModelChild("MuzzlePistol")).transform.position, scale = 1f }, true); } } public override InterruptPriority GetMinimumInterruptPriority() { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0005: Unknown result type (might be due to invalid IL or missing references) return (InterruptPriority)5; } } public class StarshockField : MonoBehaviour { public class StarshockFreezeInfo { public MonoBehaviour[] components; public ProjectileDamage damage; public ProjectileSimple simple; public Rigidbody rb; public bool wasKinematic; public StarshockFreezeInfo(GameObject projectile) { simple = projectile.GetComponent<ProjectileSimple>(); damage = projectile.GetComponent<ProjectileDamage>(); rb = projectile.GetComponent<Rigidbody>(); bool flag = Object.op_Implicit((Object)(object)projectile.GetComponent<ProjectileProximityBeamController>()); components = projectile.GetComponentsInChildren<MonoBehaviour>(false); if (Object.op_Implicit((Object)(object)rb) && flag) { rb.drag = 5f; } for (int i = 0; i < components.Length; i++) { if ((!flag || !(components[i] is ProjectileProximityBeamController)) && !(components[i] is ProjectileSimple)) { ((Behaviour)components[i]).enabled = false; } } if (Object.op_Implicit((Object)(object)rb) && !flag) { wasKinematic = rb.isKinematic; rb.isKinematic = true; } } public void RemoveFromField() { if (Object.op_Implicit((Object)(object)rb)) { rb.isKinematic = wasKinematic; } if (Object.op_Implicit((Object)(object)simple)) { ProjectileSimple obj = simple; obj.desiredForwardSpeed *= 2f; } for (int i = 0; i < components.Length; i++) { ((Behaviour)components[i]).enabled = true; } if (Object.op_Implicit((Object)(object)damage)) { ProjectileDamage obj2 = damage; obj2.damage *= 1.5f; } } } public List<StarshockFreezeInfo> freezeInfos = new List<StarshockFreezeInfo>(); public List<GameObject> alreadyStruck = new List<GameObject>(); public float duration = 7f; public float timer = 0.6f; public float growTimer = 0f; public bool fired = false; public MeshRenderer renderer; public Vector3 originalScale; public void Start() { //IL_0019: 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_002e: Unknown result type (might be due to invalid IL or missing references) renderer = ((Component)this).GetComponentInChildren<MeshRenderer>(); originalScale = ((Component)renderer).transform.localScale; ((Component)renderer).transform.localScale = Vector3.zero; } public void OnTriggerEnter(Collider collider) { if (!fired && !alreadyStruck.Contains(((Component)collider).gameObject) && Object.op_Implicit((Object)(object)((Component)collider).GetComponent<ProjectileController>())) { alreadyStruck.Add(((Component)collider).gameObject); freezeInfos.Add(new StarshockFreezeInfo(((Component)collider).gameObject)); } } public void FixedUpdate() { //IL_003e: 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_005a: Unknown result type (might be due to invalid IL or missing references) //IL_00cf: Unknown result type (might be due to invalid IL or missing references) //IL_00d4: Unknown result type (might be due to invalid IL or missing references) //IL_00f0: 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_00a4: Unknown result type (might be due to invalid IL or missing references) duration -= Time.fixedDeltaTime; growTimer += Time.fixedDeltaTime; if (!fired) { ((Component)renderer).transform.localScale = Vector3.Lerp(Vector3.zero, originalScale, Mathf.Clamp01(growTimer / 0.6f)); } if (duration <= 0f) { if (!fired) { fired = true; originalScale = ((Component)renderer).transform.localScale; Collapse(); } timer -= Time.fixedDeltaTime; ((Component)renderer).transform.localScale = Vector3.Lerp(originalScale, Vector3.zero, Mathf.Clamp01(1f - timer / 0.6f)); if (timer <= 0f) { Object.Destroy((Object)(object)((Component)this).gameObject); } } } public void Collapse() { for (int i = 0; i < freezeInfos.Count; i++) { if (Object.op_Implicit((Object)(object)freezeInfos[i].components[0])) { freezeInfos[i].RemoveFromField(); } } } } public class TossVortex : BaseSkillState { public float duration = 0.6f; public override void OnEnter() { //IL_0057: 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_0062: Unknown result type (might be due to invalid IL or missing references) ((BaseState)this).OnEnter(); duration /= ((BaseState)this).attackSpeedStat; ((EntityState)this).PlayAnimation("Gesture, Additive", "SlashBlade", "SlashBlade.playbackRate", duration, 0f); if (((EntityState)this).isAuthority) { FireProjectileInfo projectile = MiscUtils.GetProjectile(Eridanus.VortexProjectile, 4f, ((EntityState)this).characterBody); ProjectileManager.instance.FireProjectile(projectile); } AkSoundEngine.PostEvent(Events.Play_mage_m2_shoot, ((EntityState)this).gameObject); } public override void FixedUpdate() { ((EntityState)this).FixedUpdate(); if (((EntityState)this).fixedAge >= duration) { ((EntityState)this).outer.SetNextStateToMain(); } } public override InterruptPriority GetMinimumInterruptPriority() { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0005: Unknown result type (might be due to invalid IL or missing references) return (InterruptPriority)2; } } [BepInPlugin("pseudopulse.CosmicChampion", "CosmicChampion", "1.0.0")] [BepInDependency(/*Could not decode attribute arguments.*/)] public class CosmicChampion : BaseUnityPlugin { public const string PluginGUID = "pseudopulse.CosmicChampion"; public const string PluginAuthor = "pseudopulse"; public const string PluginName = "CosmicChampion"; public const string PluginVersion = "1.0.0"; public static AssetBundle MainAssets; public static ManualLogSource ModLogger; public void Awake() { ModLogger = ((BaseUnityPlugin)this).Logger; MainAssets = AssetBundle.LoadFromFile(Assembly.GetExecutingAssembly().Location.Replace("CosmicChampion.dll", "eridanusbundle")); StubShaders(MainAssets); Eridanus.Setup(); } 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]); } } } } namespace CosmicChampion.Utils { 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 void Add(this string str, string text) { LanguageAPI.Add(str, text); } 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 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 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 static class EnumeratorExtensions { public static T GetRandom<T>(this IEnumerable<T> self) { return self.ElementAt(Random.Range(0, self.Count())); } public static T GetRandom<T>(this IEnumerable<T> self, Xoroshiro128Plus rng) { 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 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) RaycastHit val = default(RaycastHit); if (Physics.Raycast(new Ray(position, direction), ref val, maxDistance, layer, (QueryTriggerInteraction)1)) { return ((RaycastHit)(ref val)).point; } 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 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_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_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_0051: 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; } 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_00ba: 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) 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, false); 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_0025: 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_002d: Unknown result type (might be due to invalid IL or missing references) //IL_0032: 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) //IL_003c: 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_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_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_005f: 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_007a: Unknown result type (might be due to invalid IL or missing references) //IL_0088: 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)) { 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 FireProjectileInfo GetProjectile(GameObject prefab, float coeff, CharacterBody owner) { //IL_0003: 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) //IL_0042: 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_0059: Unknown result type (might be due to invalid IL or missing references) //IL_005e: Unknown result type (might be due to invalid IL or missing references) //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0062: Unknown result type (might be due to invalid IL or missing references) FireProjectileInfo result = default(FireProjectileInfo); result.damage = owner.damage * coeff; result.crit = owner.RollCrit(); result.projectilePrefab = prefab; result.owner = ((Component)owner).gameObject; result.position = owner.corePosition; result.rotation = Util.QuaternionSafeLookRotation(owner.inputBank.aimDirection); return result; } } 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 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>().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 Events { 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 Kill_loops = 3633988413u; 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_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_geyser_loop = 2001038684u; public static uint Play_env_gooWaterfall_loop = 3671383336u; public static uint Play_env_hiddenLab_laptop_activate = 1191732790u; public static uint Play_env_hiddenLab_laptop_active_loop = 3198839584u; public static uint Play_env_hiddenLab_laptop_button_cycle = 1729294674u; public static uint Play_env_hiddenLab_laptop_sequence_fail = 3795285125u; public static uint Play_env_hiddenLab_laptop_sequence_lock = 535095044u; public static uint Play_env_hiddenLab_laptop_sequence_success = 2883328426u; public static uint Play_env_hiddenLab_TP_active_loop = 1656660852u; public static uint Play_env_hiddenLab_TP_VO = 1027544848u; public static uint Play_env_light_flicker = 1529618755u; public static uint Play_env_moon_planet_destroying_loop = 56354104u; public static uint Play_env_moon_shuttle_engineIdle_loop = 979450395u; public static uint Play_env_roach_scatter = 1578037490u; public static uint Play_env_rootJungle_mushroom_bounce = 1759858961u; public static uint Play_env_ship_interior_loop = 2037610980u; public static uint Play_env_ship_pulsing_energy_loop = 2105493367u; public static uint Play_env_teleporter_active_button = 2694206298u; public static uint Play_env_vase_shatter = 3320446911u; public static uint Play_fireballsOnHit_aliveLoop = 3330327238u; public static uint Play_fireballsOnHit_impact = 1308908475u; public static uint Play_fireballsOnHit_pool_aliveLoop = 289286259u; public static uint Play_fireballsOnHit_shoot = 2071974498u; public static uint Play_flyingVermin_attack1_explo = 2325827633u; public static uint Play_flyingVermin_attack1_loop = 959625319u; public static uint Play_flyingVermin_attack1_start = 2469277671u; public static uint Play_flyingVermin_death = 2852936633u; public static uint Play_flyingVermin_idle_VO = 1488967u; public static uint Play_flyingVermin_impact = 1482226543u; public static uint Play_flyingVermin_spawn = 2569421798u; public static uint Play_flyingVermin_wingFlap = 2482198841u; public static uint Play_golem_clap = 3011704479u; public static uint Play_golem_death = 4251967229u; public static uint Play_golem_idle = 4196494707u; public static uint Play_golem_impact = 790462995u; public static uint Play_golem_laser_charge = 3644347705u; public static uint Play_golem_laser_fire = 3454198445u; public static uint Play_golem_spawn = 1773057618u; public static uint Play_golem_step = 4056609419u; public static uint Play_grandParent_attack1_boulderLarge_impact = 124225148u; public static uint Play_grandParent_attack1_boulderSmall_impact = 3157690056u; public static uint Play_grandParent_attack1_flightLoop = 1108205171u; public static uint Play_grandParent_attack1_throw = 659529741u; public static uint Play_grandParent_attack1_windUp = 1356813166u; public static uint Play_grandParent_attack2_loop = 1723739392u; public static uint Play_grandParent_attack2_spawn = 1710100275u; public static uint Play_grandParent_attack3_spawn = 1361990298u; public static uint Play_grandParent_attack3_sun_activeLoop = 3203163036u; public static uint Play_grandParent_attack3_sun_damageLoop = 406969537u; public static uint Play_grandParent_attack3_sun_destroy = 2118002602u; public static uint Play_grandParent_attack3_sun_spawn = 2441414753u; public static uint Play_grandParent_death = 1713910539u; public static uint Play_grandparent_handStep = 2848869794u; public static uint Play_grandParent_idle_VO = 779063965u; public static uint Play_grandParent_impact = 2762774137u; public static uint Play_grandparent_rotate = 19433626u; public static uint Play_grandParent_spawn = 3902005852u; public static uint Play_gravekeeper_attack1_close = 351879350u; public static uint Play_gravekeeper_attack1_explode = 1862008297u; public static uint Play_gravekeeper_attack1_fire = 187415678u; public static uint Play_gravekeeper_attack1_fly_loop = 48308530u; public static uint Play_gravekeeper_attack1_open = 3258261602u; public static uint Play_gravekeeper_attack2_charge = 843010431u; public static uint Play_gravekeeper_attack2_fly_loop = 4016868819u; public static uint Play_gravekeeper_attack2_impact = 3666498161u; public static uint Play_gravekeeper_attack2_shoot = 1854147796u; public static uint Play_gravekeeper_attack2_shoot_singleChain = 157111274u; public static uint Play_gravekeeper_death_01 = 2997386486u; public static uint Play_gravekeeper_death_impact_01 = 886079489u; public static uint Play_gravekeeper_idle_loop = 1267131317u; public static uint Play_gravekeeper_idle_twitch = 416657018u; public static uint Play_gravekeeper_idle_VO = 3630636154u; public static uint Play_gravekeeper_impact_body = 205671591u; public static uint Play_gravekeeper_impact_canister = 3811738432u; public static uint Play_gravekeeper_jump = 3152593038u; public static uint Play_gravekeeper_land = 1220364025u; public static uint Play_gravekeeper_spawn_01 = 833992567u; public static uint Play_gravekeeper_step = 3893993616u; public static uint Play_greater_wisp_active_loop = 742303752u; public static uint Play_greater_wisp_attack = 1232102909u; public static uint Play_greater_wisp_death = 1444167041u; public static uint Play_greater_wisp_idle = 731002447u; public static uint Play_greater_wisp_impact = 2158457527u; public static uint Play_gup_attack1_charge = 3438622745u; public static uint Play_gup_attack1_shoot = 950894418u; public static uint Play_gup_death = 256612421u; public static uint Play_gup_idle_VO = 1624048235u; public static uint Play_gup_impact = 3673819067u; public static uint Play_gup_spawn = 305164250u; public static uint Play_gup_step = 1253711379u; public static uint Play_healing_drone_heal_loop = 5845797u; public static uint Play_heretic_sprint_end = 789491861u; public static uint Play_heretic_sprint_start = 19266142u; public static uint Play_heretic_squawk = 48852143u; public static uint Play_heretic_step = 303018737u; public static uint Play_heretic_step_sprint = 3042543384u; public static uint Play_heretic_transform = 1223237669u; public static uint Play_hermitCrab_attack = 2071920904u; public static uint Play_hermitCrab_attack_explo = 1299570915u; public static uint Play_hermitCrab_attack_flight_loop = 860273710u; public static uint Play_hermitCrab_burrow = 1102794849u; public static uint Play_hermitCrab_death = 216810634u; public static uint Play_hermitCrab_idle_VO = 3628647800u; public static uint Play_hermitCrab_impact = 3575639578u; public static uint Play_hermitCrab_spawn = 101148513u; public static uint Play_hermitCrab_step = 1911862778u; public static uint Play_hermitCrab_unburrow = 2901751544u; public static uint Play_huntress_m1_flight_loop = 3991633291u; public static uint Play_huntress_m1_ready = 1580388997u; public static uint Play_huntress_m1_shoot = 2005806765u; public static uint Play_huntress_m1_unready = 3092701574u; public static uint Play_huntress_m2_flight_loop = 3255539260u; public static uint Play_huntress_m2_impact = 3716108135u; public static uint Play_huntress_m2_throw = 2486049627u; public static uint Play_huntress_R_aim_loop = 298764410u; public static uint Play_huntress_R_jump = 3742373894u; public static uint Play_huntress_R_rain_loop = 1245670489u; public static uint Play_huntress_R_rain_start = 282745493u; public static uint Play_huntress_R_snipe_readyBow = 2533424749u; public static uint Play_huntress_R_snipe_shoot = 1625097243u; public static uint Play_huntress_shift_end = 976427987u; public static uint Play_huntress_shift_mini_blink = 40