using System; using System.Collections; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Diagnostics; using System.IO; using System.Linq; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using System.Security; using System.Security.Permissions; using BayoMod.Characters.Survivors.Bayo.Components; using BayoMod.Characters.Survivors.Bayo.Components.Demon; using BayoMod.Characters.Survivors.Bayo.SkillStates; using BayoMod.Characters.Survivors.Bayo.SkillStates.BaseStates; using BayoMod.Characters.Survivors.Bayo.SkillStates.ClimaxStates; using BayoMod.Characters.Survivors.Bayo.SkillStates.Emotes; using BayoMod.Characters.Survivors.Bayo.SkillStates.M1; using BayoMod.Characters.Survivors.Bayo.SkillStates.PunishStates; using BayoMod.Characters.Survivors.Bayo.SkillStates.TrailerStates; using BayoMod.Characters.Survivors.Bayo.SkillStates.Weave; using BayoMod.Modules; using BayoMod.Modules.Achievements; using BayoMod.Modules.Characters; using BayoMod.Modules.Components; using BayoMod.Survivors.Bayo; using BayoMod.Survivors.Bayo.Components; using BayoMod.Survivors.Bayo.SkillStates; using BayoMod.Survivors.Bayo.SkillStates.PunishStates; using BepInEx; using BepInEx.Configuration; using BepInEx.Logging; using EntityStates; using EntityStates.AI.Walker; using EntityStates.BrotherMonster; using EntityStates.Commando.CommandoWeapon; using EntityStates.Drone.DroneWeapon; using EntityStates.ImpBossMonster; using EntityStates.Loader; using EntityStates.Seeker; using EntityStates.Toolbot; using EntityStates.Wisp1Monster; using HG; using HG.BlendableTypes; using KinematicCharacterController; using On.RoR2; using On.RoR2.UI; using R2API; using R2API.Networking; using R2API.Networking.Interfaces; using R2API.Utils; using RoR2; using RoR2.Achievements; using RoR2.Audio; using RoR2.CameraModes; using RoR2.CharacterAI; using RoR2.ConVar; using RoR2.ContentManagement; using RoR2.EntityLogic; using RoR2.Projectile; using RoR2.Skills; using RoR2.UI; using UnityEngine; using UnityEngine.AddressableAssets; using UnityEngine.Events; using UnityEngine.Networking; using UnityEngine.Rendering; 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("BayoMod")] [assembly: AssemblyConfiguration("Debug")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0+7cc3e2cd4649adda60305135c8cc30b20b5fca3a")] [assembly: AssemblyProduct("BayoMod")] [assembly: AssemblyTitle("BayoMod")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.0.0.0")] [module: UnverifiableCode] public class MoveOffset : MonoBehaviour { public float startOffset = 0f; public float idealOffset = -0.95f; public float slideDur = 0.1f; public float atSpeedMult = 1f; public float duration = 0f; public bool smooth = true; public bool atStart = true; public bool atEnd = false; private Material mat; private ParticleSystem ps; private bool tiling = false; private void Start() { mat = ((Renderer)((Component)this).GetComponent()).material; ps = ((Component)this).GetComponent(); if (startOffset < idealOffset) { tiling = true; } } private void Update() { //IL_0114: Unknown result type (might be due to invalid IL or missing references) //IL_023e: Unknown result type (might be due to invalid IL or missing references) float num = 0f; float num2 = duration - slideDur; if (atStart) { num = ((!smooth) ? Mathf.Lerp(startOffset, idealOffset, ps.time / (slideDur / atSpeedMult)) : Mathf.SmoothStep(startOffset, idealOffset, ps.time / (slideDur / atSpeedMult))); } if (atEnd && ps.time >= num2) { float num3 = ps.time - num2; num = ((!smooth) ? Mathf.Lerp(idealOffset, startOffset, num3 / (slideDur / atSpeedMult)) : Mathf.SmoothStep(idealOffset, startOffset, num3 / (slideDur / atSpeedMult))); } mat.mainTextureOffset = new Vector2(0f, num); if (tiling) { float num4 = startOffset * -1f + 1.5f; float num5 = 1f; if (atStart) { num5 = ((!smooth) ? Mathf.Lerp(num4, 1f, ps.time / (slideDur / atSpeedMult)) : Mathf.SmoothStep(num4, 1f, ps.time / (slideDur / atSpeedMult))); } if (atEnd && ps.time >= num2) { float num6 = ps.time - num2; num5 = ((!smooth) ? Mathf.Lerp(1f, num4, num6 / (slideDur / atSpeedMult)) : Mathf.SmoothStep(1f, num4, num6 / (slideDur / atSpeedMult))); } mat.mainTextureScale = new Vector2(1f, num5); } } } public class RandomAnimSelect : MonoBehaviour { public Animator animator; private void Start() { animator = ((Component)this).gameObject.GetComponent(); int num = Random.Range(0, 4); if (Object.op_Implicit((Object)(object)animator)) { animator.SetInteger("rand", num); } } } public class RotateSkulls : MonoBehaviour { private ParticleSystem ps; private GameObject skullObj; private void Start() { ps = ((Component)this).GetComponent(); skullObj = ((Component)((Component)this).gameObject.transform.Find("skull")).gameObject; } private void Update() { //IL_000c: 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_0014: Unknown result type (might be due to invalid IL or missing references) //IL_002a: Unknown result type (might be due to invalid IL or missing references) //IL_002f: Unknown result type (might be due to invalid IL or missing references) //IL_0032: 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_0055: 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_006b: Unknown result type (might be due to invalid IL or missing references) Quaternion rotation = skullObj.transform.rotation; float x = ((Quaternion)(ref rotation)).eulerAngles.x; rotation = skullObj.transform.rotation; float y = ((Quaternion)(ref rotation)).eulerAngles.y; Transform transform = skullObj.transform; MainModule main = ps.main; MinMaxCurve startRotationZ = ((MainModule)(ref main)).startRotationZ; transform.eulerAngles = new Vector3(x, y, ((MinMaxCurve)(ref startRotationZ)).Evaluate(1f)); } } public class VFXrm : MonoBehaviour { public Vector3 vfxPos = Vector3.zero; public Quaternion vfxRot = Quaternion.identity; private void Start() { //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_000d: Unknown result type (might be due to invalid IL or missing references) //IL_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) vfxPos = ((Component)this).transform.position; vfxRot = ((Component)this).transform.rotation; } private void LateUpdate() { //IL_0018: 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_0054: Unknown result type (might be due to invalid IL or missing references) float x = vfxPos.x; float y = ((Component)this).gameObject.transform.position.y; float z = vfxPos.z; ((Component)this).gameObject.transform.position = new Vector3(x, y, z); ((Component)this).gameObject.transform.rotation = vfxRot; } } public class WingComponent : MonoBehaviour { private Vector3 origSize; private float growDur = 0.3f; private Vector3 startSize; private Material mat; private Color origColor; private float fadeStart = 0.5f; private float fadeEnd = 0.9f; private float stopwatch = 0f; private float myTime = 0f; private void Start() { //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_000d: Unknown result type (might be due to invalid IL or missing references) //IL_0014: 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_0023: Unknown result type (might be due to invalid IL or missing references) //IL_002f: Unknown result type (might be due to invalid IL or missing references) //IL_0066: Unknown result type (might be due to invalid IL or missing references) //IL_006b: Unknown result type (might be due to invalid IL or missing references) //IL_008c: Unknown result type (might be due to invalid IL or missing references) origSize = ((Component)this).transform.localScale; startSize = origSize * 0.2f; ((Component)this).transform.localScale = startSize; mat = ((Renderer)((Component)((Component)this).transform.Find("wingmesh")).gameObject.GetComponent()).material; origColor = mat.color; origColor.a = 0.9f; mat.SetColor("_Color", origColor); stopwatch = 0f; } private void OnEnable() { //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_000d: Unknown result type (might be due to invalid IL or missing references) //IL_0014: 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_0023: 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_007a: Unknown result type (might be due to invalid IL or missing references) origSize = ((Component)this).transform.localScale; startSize = origSize * 0.2f; mat = ((Renderer)((Component)((Component)this).transform.Find("wingmesh")).gameObject.GetComponent()).material; origColor = mat.color; origColor.a = 0.9f; mat.SetColor("_Color", origColor); stopwatch = 0f; } private void Update() { //IL_001e: 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_0036: 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 (stopwatch <= growDur) { ((Component)this).transform.localScale = Vector3.Lerp(startSize, origSize, stopwatch / growDur); } if (stopwatch >= fadeStart && stopwatch <= fadeEnd) { float a = Mathf.Lerp(1f, 0f, (stopwatch - fadeStart) / (fadeEnd - fadeStart)); origColor.a = a; mat.SetColor("_Color", origColor); } stopwatch += Time.deltaTime; } } public class WingComponent2 : MonoBehaviour { private Vector3 origSize; private float growDur = 0.3f; private Vector3 startSize; private Material mat; private Color origColor; public float fadeStart = 0.55f; public float fadeEnd = 0.75f; private float stopwatch = 0f; private float myTime = 0f; private void Start() { //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_000d: Unknown result type (might be due to invalid IL or missing references) //IL_0014: 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_0023: Unknown result type (might be due to invalid IL or missing references) //IL_002f: Unknown result type (might be due to invalid IL or missing references) //IL_0066: Unknown result type (might be due to invalid IL or missing references) //IL_006b: Unknown result type (might be due to invalid IL or missing references) //IL_008c: Unknown result type (might be due to invalid IL or missing references) origSize = ((Component)this).transform.localScale; startSize = origSize * 0.2f; ((Component)this).transform.localScale = startSize; mat = ((Renderer)((Component)((Component)this).transform.Find("wingmesh")).gameObject.GetComponent()).material; origColor = mat.color; origColor.a = 1f; mat.SetColor("_Color", origColor); stopwatch = 0f; } private void OnEnable() { //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_000d: Unknown result type (might be due to invalid IL or missing references) //IL_0014: 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_0023: 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_007a: Unknown result type (might be due to invalid IL or missing references) origSize = ((Component)this).transform.localScale; startSize = origSize * 0.2f; mat = ((Renderer)((Component)((Component)this).transform.Find("wingmesh")).gameObject.GetComponent()).material; origColor = mat.color; origColor.a = 1f; mat.SetColor("_Color", origColor); stopwatch = 0f; } private void Update() { //IL_001e: 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_0036: Unknown result type (might be due to invalid IL or missing references) //IL_0094: Unknown result type (might be due to invalid IL or missing references) //IL_0099: Unknown result type (might be due to invalid IL or missing references) //IL_00bd: 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) //IL_00fc: Unknown result type (might be due to invalid IL or missing references) if (stopwatch <= growDur) { ((Component)this).transform.localScale = Vector3.Lerp(startSize, origSize, stopwatch / growDur); } if (stopwatch >= fadeStart && stopwatch <= fadeEnd) { float num = Mathf.Lerp(0f, 0.75f, (stopwatch - fadeStart) / (fadeEnd - fadeStart)); Color black = Color.black; black.b = num; black.r = num; black.g = num; mat.SetColor("_EmissionColor", black); } if (stopwatch >= fadeEnd) { Color val = origColor; val.a = 0f; mat.SetColor("_Color", val); } stopwatch += Time.deltaTime; } } namespace BayoMod { [NetworkCompatibility(/*Could not decode attribute arguments.*/)] [BepInPlugin("com.psyche.BayoMod", "Bayonetta Survivor", "0.5.3")] public class BayoPlugin : BaseUnityPlugin { public const string MODUID = "com.psyche.BayoMod"; public const string MODNAME = "Bayonetta Survivor"; public const string MODVERSION = "0.5.3"; public const string DEVELOPER_PREFIX = "PSYCHE"; public static BayoPlugin instance; private void Awake() { instance = this; Log.Init(((BaseUnityPlugin)this).Logger); Language.Init(); new BayoSurvivor().Initialize(); new ContentPacks().Initialize(); } } internal static class Log { internal static ManualLogSource _logSource; internal static void Init(ManualLogSource logSource) { _logSource = logSource; } internal static void Debug(object data) { _logSource.LogDebug(data); } internal static void Error(object data) { _logSource.LogError(data); } internal static void ErrorAssetBundle(string assetName, string bundleName) { Error("failed to load asset, " + assetName + ", because it does not exist in asset bundle, " + bundleName); } internal static void Fatal(object data) { _logSource.LogFatal(data); } internal static void Info(object data) { _logSource.LogInfo(data); } internal static void Message(object data) { _logSource.LogMessage(data); } internal static void Warning(object data) { _logSource.LogWarning(data); } } } namespace BayoMod.Modules { internal static class Asset { internal static Dictionary loadedBundles = new Dictionary(); internal static AssetBundle LoadAssetBundle(string bundleName) { if (bundleName == "myassetbundle") { Log.Error("AssetBundle name hasn't been changed. not loading any assets to avoid conflicts.\nMake sure to rename your assetbundle filename and rename the AssetBundleName field in your character setup code "); return null; } if (loadedBundles.ContainsKey(bundleName)) { return loadedBundles[bundleName]; } AssetBundle val = null; try { val = AssetBundle.LoadFromFile(Path.Combine(Path.GetDirectoryName(((BaseUnityPlugin)BayoPlugin.instance).Info.Location), "AssetBundles", bundleName)); } catch (Exception arg) { Log.Error($"Error loading asset bundle, {bundleName}. Your asset bundle must be in a folder next to your mod dll called 'AssetBundles'. Follow the guide to build and install your mod correctly!\n{arg}"); } loadedBundles[bundleName] = val; return val; } internal static GameObject CloneTracer(string originalTracerName, string newTracerName) { if ((Object)(object)LegacyResourcesAPI.Load("Prefabs/Effects/Tracers/" + originalTracerName) == (Object)null) { return null; } GameObject val = PrefabAPI.InstantiateClone(LegacyResourcesAPI.Load("Prefabs/Effects/Tracers/" + originalTracerName), newTracerName, true); if (!Object.op_Implicit((Object)(object)val.GetComponent())) { val.AddComponent(); } if (!Object.op_Implicit((Object)(object)val.GetComponent())) { val.AddComponent(); } if (!Object.op_Implicit((Object)(object)val.GetComponent())) { val.AddComponent(); } val.GetComponent().speed = 250f; val.GetComponent().length = 50f; Content.CreateAndAddEffectDef(val); return val; } internal static void ConvertAllRenderersToHopooShader(GameObject objectToConvert, bool actuallyConvert) { if (!Object.op_Implicit((Object)(object)objectToConvert)) { return; } MeshRenderer[] componentsInChildren = objectToConvert.GetComponentsInChildren(); foreach (MeshRenderer val in componentsInChildren) { if (Object.op_Implicit((Object)(object)val) && Object.op_Implicit((Object)(object)((Renderer)val).sharedMaterial)) { ((Renderer)val).sharedMaterial.ConvertDefaultShaderToHopoo(actuallyConvert); } } SkinnedMeshRenderer[] componentsInChildren2 = objectToConvert.GetComponentsInChildren(); foreach (SkinnedMeshRenderer val2 in componentsInChildren2) { if (Object.op_Implicit((Object)(object)val2) && Object.op_Implicit((Object)(object)((Renderer)val2).sharedMaterial)) { ((Renderer)val2).sharedMaterial.ConvertDefaultShaderToHopoo(actuallyConvert); } } } internal static GameObject LoadCrosshair(string crosshairName) { GameObject val = LegacyResourcesAPI.Load("Prefabs/Crosshair/" + crosshairName + "Crosshair"); if ((Object)(object)val == (Object)null) { Log.Error("could not load crosshair with the name " + crosshairName + ". defaulting to Standard"); return LegacyResourcesAPI.Load("Prefabs/Crosshair/StandardCrosshair"); } return val; } internal static GameObject LoadEffect(this AssetBundle assetBundle, string resourceName, bool parentToTransform) { return assetBundle.LoadEffect(resourceName, "", parentToTransform); } internal static GameObject LoadEffect(this AssetBundle assetBundle, string resourceName, string soundName = "", bool parentToTransform = false) { //IL_0046: 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) GameObject val = assetBundle.LoadAsset(resourceName); if (!Object.op_Implicit((Object)(object)val)) { Log.ErrorAssetBundle(resourceName, ((Object)assetBundle).name); return null; } val.AddComponent().duration = 12f; val.AddComponent(); val.AddComponent().vfxPriority = (VFXPriority)2; EffectComponent val2 = val.AddComponent(); val2.applyScale = false; val2.effectIndex = (EffectIndex)(-1); val2.parentToReferencedTransform = parentToTransform; val2.positionAtReferencedTransform = true; val2.soundName = soundName; Content.CreateAndAddEffectDef(val); return val; } internal static GameObject CreateProjectileGhostPrefab(this AssetBundle assetBundle, string ghostName) { GameObject val = assetBundle.LoadAsset(ghostName); if ((Object)(object)val == (Object)null) { Log.Error("Failed to load ghost prefab " + ghostName); } if (!Object.op_Implicit((Object)(object)val.GetComponent())) { val.AddComponent(); } if (!Object.op_Implicit((Object)(object)val.GetComponent())) { val.AddComponent(); } ConvertAllRenderersToHopooShader(val, actuallyConvert: true); return val; } internal static GameObject CloneProjectilePrefab(string prefabName, string newPrefabName) { return PrefabAPI.InstantiateClone(LegacyResourcesAPI.Load("Prefabs/Projectiles/" + prefabName), newPrefabName); } internal static GameObject LoadAndAddProjectilePrefab(this AssetBundle assetBundle, string newPrefabName) { GameObject val = assetBundle.LoadAsset(newPrefabName); if ((Object)(object)val == (Object)null) { Log.ErrorAssetBundle(newPrefabName, ((Object)assetBundle).name); return null; } Content.AddProjectilePrefab(val); return val; } } public static class Config { public enum LongTaunt { Random, Based_On_Skin_Choice, Bayo_1_Only, Bayo_2_Only } public enum StrutMusic { Random, Walking, Crazy } public enum OptBones { Unchanged, Colliders_Off, Dynamic_Off_Visible, Dynamic_Off_Not_Visible } public static ConfigFile MyConfig = ((BaseUnityPlugin)BayoPlugin.instance).Config; public static ConfigEntry emote1Keybind; public static ConfigEntry emote2Keybind; public static ConfigEntry emote3Keybind; public static ConfigEntry emote4Keybind; public static ConfigEntry emote5Keybind; public static ConfigEntry musicClient; public static ConfigEntry eZoom; public static ConfigEntry musicOn; public static ConfigEntry musicOn2; public static ConfigEntry overlayOn; public static ConfigEntry tpFreeze; public static ConfigEntry footstepVfx; public static ConfigEntry longTaunt; public static ConfigEntry strutMus; public static ConfigEntry boneOptimization; public static ConfigEntry hpStat; public static ConfigEntry regenStat; public static ConfigEntry armorStat; public static ConfigEntry wtx; public static ConfigEntry wty; public static ConfigEntry wtz; public static ConfigEntry wtdur; public static ConfigEntry wtpdur; public static ConfigEntry wtcoold; public static void ReadConfig() { //IL_0015: 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_0031: Expected O, but got Unknown //IL_0031: Expected O, but got Unknown //IL_004a: 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_0066: Expected O, but got Unknown //IL_0066: Expected O, but got Unknown //IL_007f: Unknown result type (might be due to invalid IL or missing references) //IL_0091: Unknown result type (might be due to invalid IL or missing references) //IL_009b: Expected O, but got Unknown //IL_009b: Expected O, but got Unknown //IL_00b4: Unknown result type (might be due to invalid IL or missing references) //IL_00c6: Unknown result type (might be due to invalid IL or missing references) //IL_00d0: Expected O, but got Unknown //IL_00d0: Expected O, but got Unknown //IL_00e9: 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_0105: Expected O, but got Unknown //IL_0105: Expected O, but got Unknown //IL_0286: Unknown result type (might be due to invalid IL or missing references) //IL_029b: Unknown result type (might be due to invalid IL or missing references) //IL_02a5: Expected O, but got Unknown //IL_02a5: Expected O, but got Unknown //IL_02be: Unknown result type (might be due to invalid IL or missing references) //IL_02d3: Unknown result type (might be due to invalid IL or missing references) //IL_02dd: Expected O, but got Unknown //IL_02dd: Expected O, but got Unknown //IL_02f6: Unknown result type (might be due to invalid IL or missing references) //IL_030b: Unknown result type (might be due to invalid IL or missing references) //IL_0315: Expected O, but got Unknown //IL_0315: Expected O, but got Unknown //IL_032e: Unknown result type (might be due to invalid IL or missing references) //IL_0343: Unknown result type (might be due to invalid IL or missing references) //IL_034d: Expected O, but got Unknown //IL_034d: Expected O, but got Unknown //IL_0366: Unknown result type (might be due to invalid IL or missing references) //IL_037b: Unknown result type (might be due to invalid IL or missing references) //IL_0385: Expected O, but got Unknown //IL_0385: Expected O, but got Unknown //IL_039e: Unknown result type (might be due to invalid IL or missing references) //IL_03b3: Unknown result type (might be due to invalid IL or missing references) //IL_03bd: Expected O, but got Unknown //IL_03bd: Expected O, but got Unknown //IL_03d6: Unknown result type (might be due to invalid IL or missing references) //IL_03e7: Unknown result type (might be due to invalid IL or missing references) //IL_03f1: Expected O, but got Unknown //IL_03f1: Expected O, but got Unknown //IL_040a: Unknown result type (might be due to invalid IL or missing references) //IL_041b: Unknown result type (might be due to invalid IL or missing references) //IL_0425: Expected O, but got Unknown //IL_0425: Expected O, but got Unknown //IL_043e: Unknown result type (might be due to invalid IL or missing references) //IL_0450: Unknown result type (might be due to invalid IL or missing references) //IL_045a: Expected O, but got Unknown //IL_045a: Expected O, but got Unknown emote1Keybind = ((BaseUnityPlugin)BayoPlugin.instance).Config.Bind(new ConfigDefinition("Keybinds", "Long Taunt"), (KeyCode)49, new ConfigDescription("I've got a fever, and the only cure is more dead angels", (AcceptableValueBase)null, Array.Empty())); emote2Keybind = ((BaseUnityPlugin)BayoPlugin.instance).Config.Bind(new ConfigDefinition("Keybinds", "Short Taunt"), (KeyCode)50, new ConfigDescription("You want to touch me?", (AcceptableValueBase)null, Array.Empty())); emote3Keybind = ((BaseUnityPlugin)BayoPlugin.instance).Config.Bind(new ConfigDefinition("Keybinds", "Lets Dance Boys (cam)"), (KeyCode)51, new ConfigDescription("Entire LDB dance from end of bayo 1 with camera animations", (AcceptableValueBase)null, Array.Empty())); emote4Keybind = ((BaseUnityPlugin)BayoPlugin.instance).Config.Bind(new ConfigDefinition("Keybinds", "Lets Dance Boys (no cam)"), (KeyCode)52, new ConfigDescription("Entire LDB dance from end of bayo 1 without camera animations", (AcceptableValueBase)null, Array.Empty())); emote5Keybind = ((BaseUnityPlugin)BayoPlugin.instance).Config.Bind(new ConfigDefinition("Keybinds", "Strut Emote"), (KeyCode)53, new ConfigDescription("This one makes bayo walk slow", (AcceptableValueBase)null, Array.Empty())); musicOn = ((BaseUnityPlugin)BayoPlugin.instance).Config.Bind("01 - Misc Settings", "Strut music", true, "Toggle's whether Bayonetta's strut emote plays music."); strutMus = ((BaseUnityPlugin)BayoPlugin.instance).Config.Bind("01 - Misc Settings", "Strut music choice", StrutMusic.Walking, "Chooses which music plays during the strut emote (none are dmca save lol)"); musicOn2 = ((BaseUnityPlugin)BayoPlugin.instance).Config.Bind("01 - Misc Settings", "Lets Dance Boys music", true, "Toggle's whether Bayonetta's LDB emote plays music."); longTaunt = ((BaseUnityPlugin)BayoPlugin.instance).Config.Bind("01 - Misc Settings", "Emote 1 voice options", LongTaunt.Based_On_Skin_Choice, "Chooses which voiceline will play when performing Emote 1."); boneOptimization = ((BaseUnityPlugin)BayoPlugin.instance).Config.Bind("01 - Misc Settings", "Dynamic bone optimization settings", OptBones.Unchanged, "These settings disable certain components that affect bayo's dynamic bones. Change these if you are running into any performance issues"); musicClient = ((BaseUnityPlugin)BayoPlugin.instance).Config.Bind("01 - Misc Settings", "Client side music", true, "Toggle's whether or not emotes with music will play for the whole server (false) or just the local client (true)"); eZoom = ((BaseUnityPlugin)BayoPlugin.instance).Config.Bind("01 - Misc Settings", "Emote zoom", true, "Toggle's whether Bayonetta's emotes zoom in the camera."); overlayOn = ((BaseUnityPlugin)BayoPlugin.instance).Config.Bind("01 - Misc Settings", "Witch time screen overlay", true, "Causes a screen overlay effect to occur during witch time when enabled."); tpFreeze = ((BaseUnityPlugin)BayoPlugin.instance).Config.Bind("01 - Misc Settings", "Teleporter Freeze-Frame Event", true, "Activates a special freeze frame + emote after entering a teleporter when enabled."); footstepVfx = ((BaseUnityPlugin)BayoPlugin.instance).Config.Bind("01 - Misc Settings", "Footstep VFX", true, "Plays special butterfly vfx every footstep when enabled."); hpStat = ((BaseUnityPlugin)BayoPlugin.instance).Config.Bind(new ConfigDefinition("02 - Base Stats", "Base HP"), 110f, new ConfigDescription("Bayonetta's base starting HP", (AcceptableValueBase)null, Array.Empty())); regenStat = ((BaseUnityPlugin)BayoPlugin.instance).Config.Bind(new ConfigDefinition("02 - Base Stats", "Base HP Regen"), 1f, new ConfigDescription("Bayonetta's base starting health regen", (AcceptableValueBase)null, Array.Empty())); armorStat = ((BaseUnityPlugin)BayoPlugin.instance).Config.Bind(new ConfigDefinition("02 - Base Stats", "Base Armor"), 0f, new ConfigDescription("Bayonetta's base starting armor stat", (AcceptableValueBase)null, Array.Empty())); wtx = ((BaseUnityPlugin)BayoPlugin.instance).Config.Bind(new ConfigDefinition("02 - Base Stats", "WT activation X"), 4f, new ConfigDescription("The x value for the bounds of witch time's activation hitbox", (AcceptableValueBase)null, Array.Empty())); wty = ((BaseUnityPlugin)BayoPlugin.instance).Config.Bind(new ConfigDefinition("02 - Base Stats", "WT activation Y"), 2f, new ConfigDescription("The y value for the bounds of witch time's activation hitbox", (AcceptableValueBase)null, Array.Empty())); wtz = ((BaseUnityPlugin)BayoPlugin.instance).Config.Bind(new ConfigDefinition("02 - Base Stats", "WT activation Z"), 4f, new ConfigDescription("The z value for the bounds of witch time's activation hitbox", (AcceptableValueBase)null, Array.Empty())); wtdur = ((BaseUnityPlugin)BayoPlugin.instance).Config.Bind(new ConfigDefinition("02 - Base Stats", "Witch Time Duration"), 4, new ConfigDescription("The base duration for witch time", (AcceptableValueBase)null, Array.Empty())); wtpdur = ((BaseUnityPlugin)BayoPlugin.instance).Config.Bind(new ConfigDefinition("02 - Base Stats", "Witch Time Perfect Duration"), 6, new ConfigDescription("The base duration for witch time when dodging with perfect timing", (AcceptableValueBase)null, Array.Empty())); wtcoold = ((BaseUnityPlugin)BayoPlugin.instance).Config.Bind(new ConfigDefinition("02 - Base Stats", "Witch Time Cooldown"), 10, new ConfigDescription("The base duration for witch time's cooldown", (AcceptableValueBase)null, Array.Empty())); } } internal class Content { internal static void AddCharacterBodyPrefab(GameObject bprefab) { ContentPacks.bodyPrefabs.Add(bprefab); } internal static void AddMasterPrefab(GameObject prefab) { ContentPacks.masterPrefabs.Add(prefab); } internal static void AddProjectilePrefab(GameObject prefab) { ContentPacks.projectilePrefabs.Add(prefab); } internal static void AddSurvivorDef(SurvivorDef survivorDef) { ContentPacks.survivorDefs.Add(survivorDef); } internal static void CreateSurvivor(GameObject bodyPrefab, GameObject displayPrefab, Color charColor, string tokenPrefix) { //IL_0003: Unknown result type (might be due to invalid IL or missing references) CreateSurvivor(bodyPrefab, displayPrefab, charColor, tokenPrefix, null, 100f); } internal static void CreateSurvivor(GameObject bodyPrefab, GameObject displayPrefab, Color charColor, string tokenPrefix, float sortPosition) { //IL_0003: Unknown result type (might be due to invalid IL or missing references) CreateSurvivor(bodyPrefab, displayPrefab, charColor, tokenPrefix, null, sortPosition); } internal static void CreateSurvivor(GameObject bodyPrefab, GameObject displayPrefab, Color charColor, string tokenPrefix, UnlockableDef unlockableDef) { //IL_0003: Unknown result type (might be due to invalid IL or missing references) CreateSurvivor(bodyPrefab, displayPrefab, charColor, tokenPrefix, unlockableDef, 100f); } internal static void CreateSurvivor(GameObject bodyPrefab, GameObject displayPrefab, Color charColor, string tokenPrefix, UnlockableDef unlockableDef, float sortPosition) { //IL_0016: Unknown result type (might be due to invalid IL or missing references) //IL_0017: Unknown result type (might be due to invalid IL or missing references) SurvivorDef val = ScriptableObject.CreateInstance(); val.bodyPrefab = bodyPrefab; val.displayPrefab = displayPrefab; val.primaryColor = charColor; val.cachedName = ((Object)bodyPrefab).name.Replace("Body", ""); val.displayNameToken = tokenPrefix + "NAME"; val.descriptionToken = tokenPrefix + "DESCRIPTION"; val.outroFlavorToken = tokenPrefix + "OUTRO_FLAVOR"; val.mainEndingEscapeFailureFlavorToken = tokenPrefix + "OUTRO_FAILURE"; val.desiredSortPosition = sortPosition; val.unlockableDef = unlockableDef; AddSurvivorDef(val); } internal static void AddUnlockableDef(UnlockableDef unlockableDef) { ContentPacks.unlockableDefs.Add(unlockableDef); } internal static UnlockableDef CreateAndAddUnlockbleDef(string identifier, string nameToken, Sprite achievementIcon) { UnlockableDef val = ScriptableObject.CreateInstance(); val.cachedName = identifier; val.nameToken = nameToken; val.achievementIcon = achievementIcon; AddUnlockableDef(val); return val; } internal static void AddSkillDef(SkillDef skillDef) { ContentPacks.skillDefs.Add(skillDef); } internal static void AddSkillFamily(SkillFamily skillFamily) { ContentPacks.skillFamilies.Add(skillFamily); } internal static void AddEntityState(Type entityState) { ContentPacks.entityStates.Add(entityState); } internal static void AddBuffDef(BuffDef buffDef) { ContentPacks.buffDefs.Add(buffDef); } internal static BuffDef CreateAndAddBuff(string buffName, Sprite buffIcon, Color buffColor, bool canStack, bool isDebuff) { //IL_0010: Unknown result type (might be due to invalid IL or missing references) //IL_0011: Unknown result type (might be due to invalid IL or missing references) BuffDef val = ScriptableObject.CreateInstance(); ((Object)val).name = buffName; val.buffColor = buffColor; val.canStack = canStack; val.isDebuff = isDebuff; val.eliteDef = null; val.iconSprite = buffIcon; AddBuffDef(val); return val; } internal static void AddEffectDef(EffectDef effectDef) { ContentPacks.effectDefs.Add(effectDef); } internal static EffectDef CreateAndAddEffectDef(GameObject effectPrefab) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Expected O, but got Unknown EffectDef val = new EffectDef(effectPrefab); AddEffectDef(val); return val; } internal static void AddNetworkSoundEventDef(NetworkSoundEventDef networkSoundEventDef) { ContentPacks.networkSoundEventDefs.Add(networkSoundEventDef); } internal static NetworkSoundEventDef CreateAndAddNetworkSoundEventDef(string eventName) { NetworkSoundEventDef val = ScriptableObject.CreateInstance(); val.akId = AkSoundEngine.GetIDFromString(eventName); val.eventName = eventName; AddNetworkSoundEventDef(val); return val; } } internal class ContentPacks : IContentPackProvider { [CompilerGenerated] private sealed class d__18 : IEnumerator, IEnumerator, IDisposable { private int <>1__state; private object <>2__current; public FinalizeAsyncArgs args; public ContentPacks <>4__this; object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public d__18(int <>1__state) { this.<>1__state = <>1__state; } [DebuggerHidden] void IDisposable.Dispose() { <>1__state = -2; } private bool MoveNext() { if (<>1__state != 0) { return false; } <>1__state = -1; args.ReportProgress(1f); return false; } bool IEnumerator.MoveNext() { //ILSpy generated this explicit interface implementation from .override directive in MoveNext return this.MoveNext(); } [DebuggerHidden] void IEnumerator.Reset() { throw new NotSupportedException(); } } [CompilerGenerated] private sealed class d__17 : IEnumerator, IEnumerator, IDisposable { private int <>1__state; private object <>2__current; public GetContentPackAsyncArgs args; public ContentPacks <>4__this; object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public d__17(int <>1__state) { this.<>1__state = <>1__state; } [DebuggerHidden] void IDisposable.Dispose() { <>1__state = -2; } private bool MoveNext() { if (<>1__state != 0) { return false; } <>1__state = -1; ContentPack.Copy(<>4__this.contentPack, args.output); args.ReportProgress(1f); return false; } bool IEnumerator.MoveNext() { //ILSpy generated this explicit interface implementation from .override directive in MoveNext return this.MoveNext(); } [DebuggerHidden] void IEnumerator.Reset() { throw new NotSupportedException(); } } [CompilerGenerated] private sealed class d__16 : IEnumerator, IEnumerator, IDisposable { private int <>1__state; private object <>2__current; public LoadStaticContentAsyncArgs args; public ContentPacks <>4__this; object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public d__16(int <>1__state) { this.<>1__state = <>1__state; } [DebuggerHidden] void IDisposable.Dispose() { <>1__state = -2; } private bool MoveNext() { if (<>1__state != 0) { return false; } <>1__state = -1; <>4__this.contentPack.identifier = <>4__this.identifier; <>4__this.contentPack.bodyPrefabs.Add(bodyPrefabs.ToArray()); <>4__this.contentPack.masterPrefabs.Add(masterPrefabs.ToArray()); <>4__this.contentPack.projectilePrefabs.Add(projectilePrefabs.ToArray()); <>4__this.contentPack.survivorDefs.Add(survivorDefs.ToArray()); <>4__this.contentPack.unlockableDefs.Add(unlockableDefs.ToArray()); <>4__this.contentPack.skillDefs.Add(skillDefs.ToArray()); <>4__this.contentPack.skillFamilies.Add(skillFamilies.ToArray()); <>4__this.contentPack.entityStateTypes.Add(entityStates.ToArray()); <>4__this.contentPack.buffDefs.Add(buffDefs.ToArray()); <>4__this.contentPack.effectDefs.Add(effectDefs.ToArray()); <>4__this.contentPack.networkSoundEventDefs.Add(networkSoundEventDefs.ToArray()); args.ReportProgress(1f); return false; } bool IEnumerator.MoveNext() { //ILSpy generated this explicit interface implementation from .override directive in MoveNext return this.MoveNext(); } [DebuggerHidden] void IEnumerator.Reset() { throw new NotSupportedException(); } } internal ContentPack contentPack = new ContentPack(); public static List bodyPrefabs = new List(); public static List masterPrefabs = new List(); public static List projectilePrefabs = new List(); public static List survivorDefs = new List(); public static List unlockableDefs = new List(); public static List skillFamilies = new List(); public static List skillDefs = new List(); public static List entityStates = new List(); public static List buffDefs = new List(); public static List effectDefs = new List(); public static List networkSoundEventDefs = new List(); public string identifier => "com.psyche.BayoMod"; public void Initialize() { //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Expected O, but got Unknown ContentManager.collectContentPackProviders += new CollectContentPackProvidersDelegate(ContentManager_collectContentPackProviders); } private void ContentManager_collectContentPackProviders(AddContentPackProviderDelegate addContentPackProvider) { addContentPackProvider.Invoke((IContentPackProvider)(object)this); } [IteratorStateMachine(typeof(d__16))] public IEnumerator LoadStaticContentAsync(LoadStaticContentAsyncArgs args) { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new d__16(0) { <>4__this = this, args = args }; } [IteratorStateMachine(typeof(d__17))] public IEnumerator GenerateContentPackAsync(GetContentPackAsyncArgs args) { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new d__17(0) { <>4__this = this, args = args }; } [IteratorStateMachine(typeof(d__18))] public IEnumerator FinalizeAsync(FinalizeAsyncArgs args) { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new d__18(0) { <>4__this = this, args = args }; } } internal static class ItemDisplayCheck { public static List allDisplayedItems; public static void PrintUnused(ItemDisplayRuleSet itemDisplayRuleSet, string bodyName = "") { PrintUnused((IEnumerable)itemDisplayRuleSet.keyAssetRuleGroups.ToList(), bodyName); } public static void PrintUnused(IEnumerable ruleSet = null, string bodyName = "") { //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_0069: 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_0085: Unknown result type (might be due to invalid IL or missing references) string text = "generating item displays for " + bodyName; if (allDisplayedItems == null) { LazyGatherAllItems(); } List list = new List(allDisplayedItems); string text2 = ""; if (ruleSet != null) { foreach (KeyAssetRuleGroup item in ruleSet) { if (item.displayRuleGroup.rules.Length != 0) { list.Remove(item.keyAsset); if (string.IsNullOrEmpty(text2)) { text2 = item.displayRuleGroup.rules[0].childName; } } } } if (string.IsNullOrEmpty(text2)) { text2 = "Chest"; } foreach (Object item2 in list) { string text3 = ""; if (ItemDisplays.KeyAssetDisplayPrefabs.ContainsKey(item2)) { text3 += SpitOutNewRule(item2, text2, ItemDisplays.KeyAssetDisplayPrefabs[item2]); } else { Log.Error($"COULD NOT FIND DISPLAY PREFABS FOR KEYASSET {item2}"); } text += text3; } Log.Message(text); } private static void LazyGatherAllItems() { allDisplayedItems = new List(ItemDisplays.KeyAssetDisplayPrefabs.Keys); allDisplayedItems.Sort(delegate(Object item1, Object item2) { if (item1 is ItemDef && item2 is ItemDef) { return item1.name.CompareTo(item2.name); } if (item1 is EquipmentDef && item2 is EquipmentDef) { return item1.name.CompareTo(item2.name); } if (item1 is ItemDef && item2 is EquipmentDef) { return -1; } return (item1 is EquipmentDef && item2 is ItemDef) ? 1 : 0; }); } private static string SpitOutNewRule(Object asset, string firstCompatibleChild, ItemDisplayRule[] displayRules) { //IL_0040: Unknown result type (might be due to invalid IL or missing references) //IL_0046: Invalid comparison between Unknown and I4 //IL_00a5: Unknown result type (might be due to invalid IL or missing references) if (displayRules.Length == 0) { return $"\n[NO DISPLAY RULES FOUND FOR THE KEYASSET {asset}"; } string text = "\n itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets[\"" + asset.name + "\"]"; for (int i = 0; i < displayRules.Length; i++) { text = (((int)displayRules[i].limbMask != 0) ? (text + ",\n" + $" ItemDisplays.CreateLimbMaskDisplayRule(LimbFlags.{displayRules[i].limbMask})") : (text + ",\n ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay(\"" + ((Object)displayRules[i].followerPrefab).name + "\"),\n \"" + firstCompatibleChild + "\",\n new Vector3(2, 2, 2),\n new Vector3(0, 0, 0),\n new Vector3(1, 1, 1)\n )")); } return text + "\n ));"; } } internal static class ItemDisplays { private static Dictionary itemDisplayPrefabs = new Dictionary(); public static Dictionary KeyAssetDisplayPrefabs = new Dictionary(); public static Dictionary KeyAssets = new Dictionary(); public static int queuedDisplays; public static bool initialized = false; public static void LazyInit() { if (!initialized) { initialized = true; PopulateDisplays(); } } internal static void DisposeWhenDone() { queuedDisplays--; if (queuedDisplays <= 0 && initialized) { initialized = false; itemDisplayPrefabs = null; KeyAssetDisplayPrefabs = null; KeyAssets = null; } } internal static void PopulateDisplays() { PopulateFromBody("LoaderBody"); } private static void PopulateFromBody(string bodyName) { ItemDisplayRuleSet itemDisplayRuleSet = ((Component)LegacyResourcesAPI.Load("Prefabs/CharacterBodies/" + bodyName).GetComponent().modelTransform).GetComponent().itemDisplayRuleSet; KeyAssetRuleGroup[] keyAssetRuleGroups = itemDisplayRuleSet.keyAssetRuleGroups; for (int i = 0; i < keyAssetRuleGroups.Length; i++) { ItemDisplayRule[] rules = keyAssetRuleGroups[i].displayRuleGroup.rules; KeyAssetDisplayPrefabs[keyAssetRuleGroups[i].keyAsset] = rules; KeyAssets[keyAssetRuleGroups[i].keyAsset.name] = keyAssetRuleGroups[i].keyAsset; for (int j = 0; j < rules.Length; j++) { GameObject followerPrefab = rules[j].followerPrefab; if (Object.op_Implicit((Object)(object)followerPrefab)) { string key = ((Object)followerPrefab).name?.ToLowerInvariant(); if (!itemDisplayPrefabs.ContainsKey(key)) { itemDisplayPrefabs[key] = followerPrefab; } } } } } private static void PopulateCustomLightningArm() { GameObject val = PrefabAPI.InstantiateClone(itemDisplayPrefabs["displaylightningarmright"], "DisplayLightningCustom", false); LimbMatcher component = val.GetComponent(); component.limbPairs[0].targetChildLimb = "LightningArm1"; component.limbPairs[1].targetChildLimb = "LightningArm2"; component.limbPairs[2].targetChildLimb = "LightningArmEnd"; itemDisplayPrefabs["displaylightningarmcustom"] = val; } public static GameObject LoadDisplay(string name) { if (itemDisplayPrefabs.ContainsKey(name.ToLowerInvariant()) && Object.op_Implicit((Object)(object)itemDisplayPrefabs[name.ToLowerInvariant()])) { return itemDisplayPrefabs[name.ToLowerInvariant()]; } Log.Error("item display " + name + " returned null"); return null; } public static KeyAssetRuleGroup CreateDisplayRuleGroupWithRules(string itemName, params ItemDisplayRule[] rules) { //IL_0007: Unknown result type (might be due to invalid IL or missing references) return CreateDisplayRuleGroupWithRules(GetKeyAssetFromString(itemName), rules); } public static KeyAssetRuleGroup CreateDisplayRuleGroupWithRules(Object keyAsset_, params ItemDisplayRule[] rules) { //IL_0019: Unknown result type (might be due to invalid IL or missing references) //IL_002b: Unknown result type (might be due to invalid IL or missing references) //IL_0039: 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_003f: 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_0043: Unknown result type (might be due to invalid IL or missing references) if (keyAsset_ == (Object)null) { Log.Error("could not find keyasset"); } KeyAssetRuleGroup result = default(KeyAssetRuleGroup); result.keyAsset = keyAsset_; result.displayRuleGroup = new DisplayRuleGroup { rules = rules }; return result; } public static ItemDisplayRule CreateDisplayRule(string prefabName, string childName, Vector3 position, Vector3 rotation, Vector3 scale) { //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_000b: Unknown result type (might be due to invalid IL or missing references) return CreateDisplayRule(LoadDisplay(prefabName), childName, position, rotation, scale); } public static ItemDisplayRule CreateDisplayRule(GameObject itemPrefab, string childName, Vector3 position, Vector3 rotation, Vector3 scale) { //IL_0003: Unknown result type (might be due to invalid IL or missing references) //IL_000c: 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_002b: 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_0033: 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_003b: 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_0043: Unknown result type (might be due to invalid IL or missing references) //IL_0046: Unknown result type (might be due to invalid IL or missing references) ItemDisplayRule result = default(ItemDisplayRule); result.ruleType = (ItemDisplayRuleType)0; result.childName = childName; result.followerPrefab = itemPrefab; result.limbMask = (LimbFlags)0; result.localPos = position; result.localAngles = rotation; result.localScale = scale; return result; } public static ItemDisplayRule CreateLimbMaskDisplayRule(LimbFlags limb) { //IL_0003: Unknown result type (might be due to invalid IL or missing references) //IL_000c: Unknown result type (might be due to invalid IL or missing references) //IL_0013: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_002d: 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_0031: Unknown result type (might be due to invalid IL or missing references) ItemDisplayRule result = default(ItemDisplayRule); result.ruleType = (ItemDisplayRuleType)1; result.limbMask = limb; result.childName = ""; result.followerPrefab = null; return result; } private static Object GetKeyAssetFromString(string itemName) { Object val = (Object)(object)LegacyResourcesAPI.Load("ItemDefs/" + itemName); if (val == (Object)null) { val = (Object)(object)LegacyResourcesAPI.Load("EquipmentDefs/" + itemName); } if (val == (Object)null) { Log.Error("Could not load keyasset for " + itemName); } return val; } } internal static class Language { public static string TokensOutput = ""; public static bool usingLanguageFolder = false; public static bool printingEnabled = false; public static void Init() { if (usingLanguageFolder) { Language.collectLanguageRootFolders += Language_collectLanguageRootFolders; } } private static void Language_collectLanguageRootFolders(List obj) { string text = Path.Combine(Path.GetDirectoryName(((BaseUnityPlugin)BayoPlugin.instance).Info.Location), "Language"); if (Directory.Exists(text)) { obj.Add(text); } } public static void Add(string token, string text) { if (!usingLanguageFolder) { LanguageAPI.Add(token, text); } if (printingEnabled) { TokensOutput = TokensOutput + "\n \"" + token + "\" : \"" + text.Replace(Environment.NewLine, "\\n").Replace("\n", "\\n") + "\","; } } public static void PrintOutput(string fileName = "") { if (printingEnabled) { string text = "{\n strings:\n {" + TokensOutput + "\n }\n}"; Log.Message(fileName + ": \n" + text); if (!string.IsNullOrEmpty(fileName)) { string path = Path.Combine(Directory.GetParent(((BaseUnityPlugin)BayoPlugin.instance).Info.Location).FullName, "Language", "en", fileName); File.WriteAllText(path, text); } TokensOutput = ""; } } } internal static class Materials { private static List cachedMaterials = new List(); internal static Shader hotpoo = LegacyResourcesAPI.Load("Shaders/Deferred/HGStandard"); public static Material LoadMaterial(this AssetBundle assetBundle, string materialName) { return assetBundle.CreateHopooMaterialFromBundle(materialName); } public static Material CreateHopooMaterialFromBundle(this AssetBundle assetBundle, string materialName) { //IL_007e: Unknown result type (might be due to invalid IL or missing references) //IL_0084: Expected O, but got Unknown Material val = cachedMaterials.Find(delegate(Material mat) { materialName.Replace(" (Instance)", ""); return ((Object)mat).name.Contains(materialName); }); if (Object.op_Implicit((Object)(object)val)) { Log.Debug(((Object)val).name + " has already been loaded. returning cached"); return val; } val = assetBundle.LoadAsset(materialName); if (!Object.op_Implicit((Object)(object)val)) { Log.ErrorAssetBundle(materialName, ((Object)assetBundle).name); return new Material(hotpoo); } return val.ConvertDefaultShaderToHopoo(actuallyConvert: true); } public static Material SetHopooMaterial(this Material tempMat) { return tempMat.ConvertDefaultShaderToHopoo(actuallyConvert: false); } public static Material ConvertDefaultShaderToHopoo(this Material tempMat, bool actuallyConvert) { //IL_00c6: Unknown result type (might be due to invalid IL or missing references) //IL_0156: Unknown result type (might be due to invalid IL or missing references) if (cachedMaterials.Contains(tempMat)) { return tempMat; } string text = ((Object)tempMat.shader).name.ToLowerInvariant(); if (!text.StartsWith("standard") && !text.StartsWith("autodesk")) { Log.Debug(((Object)tempMat).name + " is not unity standard shader. aborting material conversion"); return tempMat; } float? num = null; Color? val = null; float? num2 = null; if (tempMat.IsKeywordEnabled("_NORMALMAP")) { num = tempMat.GetFloat("_BumpScale"); } if (tempMat.IsKeywordEnabled("_EMISSION")) { val = tempMat.GetColor("_EmissionColor"); } num2 = tempMat.GetFloat("_Glossiness"); tempMat.SetTexture("_EmTex", tempMat.GetTexture("_EmissionMap")); tempMat.EnableKeyword("CUTOUT"); if (num.HasValue) { tempMat.SetFloat("_NormalStrength", num.Value); tempMat.SetTexture("_NormalTex", tempMat.GetTexture("_BumpMap")); } if (val.HasValue) { tempMat.SetColor("_EmColor", val.Value); tempMat.SetFloat("_EmPower", 1f); } if (num2.HasValue) { tempMat.SetFloat("_Smoothness", num2.Value); } if (tempMat.IsKeywordEnabled("NOCULL")) { tempMat.SetInt("_Cull", 0); } if (tempMat.IsKeywordEnabled("LIMBREMOVAL")) { tempMat.SetInt("_LimbRemovalOn", 1); } cachedMaterials.Add(tempMat); return tempMat; } public static Material MakeUnique(this Material material) { //IL_0012: Unknown result type (might be due to invalid IL or missing references) //IL_0018: Expected O, but got Unknown if (cachedMaterials.Contains(material)) { return new Material(material); } return material; } public static Material SetColor(this Material material, Color color) { //IL_0007: Unknown result type (might be due to invalid IL or missing references) material.SetColor("_Color", color); return material; } public static Material SetNormal(this Material material, float normalStrength = 1f) { material.SetFloat("_NormalStrength", normalStrength); return material; } public static Material SetEmission(this Material material) { return material.SetEmission(1f); } public static Material SetEmission(this Material material, float emission) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) return material.SetEmission(emission, Color.white); } public static Material SetEmission(this Material material, float emission, Color emissionColor) { //IL_0014: Unknown result type (might be due to invalid IL or missing references) material.SetFloat("_EmPower", emission); material.SetColor("_EmColor", emissionColor); return material; } public static Material SetCull(this Material material, bool cull = false) { material.SetInt("_Cull", cull ? 1 : 0); return material; } public static Material SetSpecular(this Material material, float strength) { material.SetFloat("_SpecularStrength", strength); return material; } public static Material SetSpecular(this Material material, float strength, float exponent) { material.SetFloat("_SpecularStrength", strength); material.SetFloat("SpecularExponent", exponent); return material; } } internal static class Prefabs { private static PhysicMaterial ragdollMaterial; public static GameObject CreateDisplayPrefab(AssetBundle assetBundle, string displayPrefabName, GameObject prefab) { GameObject val = assetBundle.LoadAsset(displayPrefabName); if ((Object)(object)val == (Object)null) { Log.Error("could not load display prefab " + displayPrefabName + ". Make sure this prefab exists in assetbundle " + ((Object)assetBundle).name); return null; } CharacterModel val2 = val.GetComponent(); if (!Object.op_Implicit((Object)(object)val2)) { val2 = val.AddComponent(); } val2.baseRendererInfos = prefab.GetComponentInChildren().baseRendererInfos; Asset.ConvertAllRenderersToHopooShader(val, actuallyConvert: true); return val; } public static GameObject LoadCharacterModel(AssetBundle assetBundle, string modelName) { GameObject val = assetBundle.LoadAsset(modelName); if ((Object)(object)val == (Object)null) { Log.Error("could not load model prefab " + modelName + ". Make sure this prefab exists in assetbundle " + ((Object)assetBundle).name); return null; } return val; } public static GameObject LoadCharacterBody(AssetBundle assetBundle, string bodyName) { GameObject val = assetBundle.LoadAsset(bodyName); if ((Object)(object)val == (Object)null) { Log.Error("could not load body prefab " + bodyName + ". Make sure this prefab exists in assetbundle " + ((Object)assetBundle).name); return null; } return val; } public static GameObject CloneCharacterBody(BodyInfo bodyInfo) { GameObject val = LegacyResourcesAPI.Load("Prefabs/CharacterBodies/" + bodyInfo.bodyNameToClone + "Body"); if (!Object.op_Implicit((Object)(object)val)) { Log.Error(bodyInfo.bodyNameToClone + " Body to clone is not a valid body, character creation failed"); return null; } GameObject val2 = PrefabAPI.InstantiateClone(val, bodyInfo.bodyName); for (int num = val2.transform.childCount - 1; num >= 0; num--) { Object.DestroyImmediate((Object)(object)((Component)val2.transform.GetChild(num)).gameObject); } return val2; } public static GameObject CreateBodyPrefab(AssetBundle assetBundle, string modelPrefabName, BodyInfo bodyInfo) { return CreateBodyPrefab(LoadCharacterModel(assetBundle, modelPrefabName), bodyInfo); } public static GameObject CreateBodyPrefab(GameObject model, BodyInfo bodyInfo) { return CreateBodyPrefab(CloneCharacterBody(bodyInfo), model, bodyInfo); } public static GameObject CreateBodyPrefab(GameObject newBodyPrefab, AssetBundle assetBundle, string modelName, BodyInfo bodyInfo) { return CreateBodyPrefab(newBodyPrefab, LoadCharacterModel(assetBundle, modelName), bodyInfo); } public static GameObject CreateBodyPrefab(AssetBundle assetBundle, string bodyPrefabName, string modelPrefabName, BodyInfo bodyInfo) { return CreateBodyPrefab(LoadCharacterBody(assetBundle, bodyPrefabName), LoadCharacterModel(assetBundle, modelPrefabName), bodyInfo); } public static GameObject CreateBodyPrefab(GameObject newBodyPrefab, GameObject model, BodyInfo bodyInfo) { if ((Object)(object)model == (Object)null || (Object)(object)newBodyPrefab == (Object)null) { Log.Error($"Character creation failed. Model: {model}, Body: {newBodyPrefab}"); return null; } SetupCharacterBody(newBodyPrefab, bodyInfo); Transform modelBaseTransform = AddCharacterModelToSurvivorBody(newBodyPrefab, model.transform, bodyInfo); model.AddComponent(); SetupModelLocator(newBodyPrefab, modelBaseTransform, model.transform); SetupCharacterDirection(newBodyPrefab, modelBaseTransform, model.transform); SetupCameraTargetParams(newBodyPrefab, bodyInfo); SetupCapsuleCollider(newBodyPrefab); Content.AddCharacterBodyPrefab(newBodyPrefab); return newBodyPrefab; } private static void SetupCharacterBody(GameObject newBodyPrefab, BodyInfo bodyInfo) { //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_0213: Unknown result type (might be due to invalid IL or missing references) //IL_0221: Unknown result type (might be due to invalid IL or missing references) CharacterBody component = newBodyPrefab.GetComponent(); component.baseNameToken = bodyInfo.bodyNameToken; component.subtitleNameToken = bodyInfo.subtitleNameToken; component.portraitIcon = bodyInfo.characterPortrait; component.bodyColor = bodyInfo.bodyColor; component._defaultCrosshairPrefab = bodyInfo.crosshair; component.hideCrosshair = false; component.preferredPodPrefab = bodyInfo.podPrefab; ((SerializableEntityStateType)(ref component.preferredInitialStateType)).stateType = typeof(BatsWithinChargeUp); component.baseMaxHealth = bodyInfo.maxHealth; component.baseRegen = bodyInfo.healthRegen; component.baseArmor = bodyInfo.armor; component.baseMaxShield = bodyInfo.shield; component.baseDamage = bodyInfo.damage; component.baseAttackSpeed = bodyInfo.attackSpeed; component.baseCrit = bodyInfo.crit; component.baseMoveSpeed = bodyInfo.moveSpeed; component.baseJumpPower = bodyInfo.jumpPower; component.autoCalculateLevelStats = bodyInfo.autoCalculateLevelStats; if (bodyInfo.autoCalculateLevelStats) { component.levelMaxHealth = Mathf.Round(component.baseMaxHealth * 0.3f); component.levelMaxShield = Mathf.Round(component.baseMaxShield * 0.3f); component.levelRegen = component.baseRegen * 0.2f; component.levelMoveSpeed = 0f; component.levelJumpPower = 0f; component.levelDamage = component.baseDamage * 0.2f; component.levelAttackSpeed = 0f; component.levelCrit = 0f; component.levelArmor = 0f; } else { component.levelMaxHealth = bodyInfo.healthGrowth; component.levelMaxShield = bodyInfo.shieldGrowth; component.levelRegen = bodyInfo.regenGrowth; component.levelMoveSpeed = bodyInfo.moveSpeedGrowth; component.levelJumpPower = bodyInfo.jumpPowerGrowth; component.levelDamage = bodyInfo.damageGrowth; component.levelAttackSpeed = bodyInfo.attackSpeedGrowth; component.levelCrit = bodyInfo.critGrowth; component.levelArmor = bodyInfo.armorGrowth; } component.baseAcceleration = bodyInfo.acceleration; component.baseJumpCount = bodyInfo.jumpCount; component.sprintingSpeedMultiplier = 1.45f; component.bodyFlags = (BodyFlags)16; component.rootMotionInMainState = false; component.hullClassification = (HullClassification)0; component.isChampion = false; } private static Transform AddCharacterModelToSurvivorBody(GameObject bodyPrefab, Transform modelTransform, BodyInfo bodyInfo) { //IL_0063: 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_0023: 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_0049: Unknown result type (might be due to invalid IL or missing references) //IL_009e: Unknown result type (might be due to invalid IL or missing references) //IL_00b8: 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_00f4: Unknown result type (might be due to invalid IL or missing references) //IL_010e: Unknown result type (might be due to invalid IL or missing references) //IL_011a: Unknown result type (might be due to invalid IL or missing references) Transform val = bodyPrefab.transform.Find("ModelBase"); if ((Object)(object)val == (Object)null) { val = new GameObject("ModelBase").transform; val.parent = bodyPrefab.transform; val.localPosition = bodyInfo.modelBasePosition; val.localRotation = Quaternion.identity; } modelTransform.parent = ((Component)val).transform; modelTransform.localPosition = Vector3.zero; modelTransform.localRotation = Quaternion.identity; Transform val2 = bodyPrefab.transform.Find("CameraPivot"); if ((Object)(object)val2 == (Object)null) { val2 = new GameObject("CameraPivot").transform; val2.parent = bodyPrefab.transform; val2.localPosition = bodyInfo.cameraPivotPosition; val2.localRotation = Quaternion.identity; } Transform val3 = bodyPrefab.transform.Find("AimOrigin"); if ((Object)(object)val3 == (Object)null) { val3 = new GameObject("AimOrigin").transform; val3.parent = bodyPrefab.transform; val3.localPosition = bodyInfo.aimOriginPosition; val3.localRotation = Quaternion.identity; } bodyPrefab.GetComponent().aimOriginTransform = val3; return ((Component)val).transform; } private static void SetupCharacterDirection(GameObject prefab, Transform modelBaseTransform, Transform modelTransform) { if (Object.op_Implicit((Object)(object)prefab.GetComponent())) { CharacterDirection component = prefab.GetComponent(); component.targetTransform = modelBaseTransform; component.overrideAnimatorForwardTransform = null; component.rootMotionAccumulator = ((Component)modelTransform).GetComponent(); component.modelAnimator = ((Component)modelTransform).GetComponent(); component.driveFromRootRotation = true; component.turnSpeed = 720f; } } private static void SetupCameraTargetParams(GameObject prefab, BodyInfo bodyInfo) { CameraTargetParams component = prefab.GetComponent(); component.cameraParams = bodyInfo.cameraParams; component.cameraPivotTransform = prefab.transform.Find("CameraPivot"); } private static void SetupModelLocator(GameObject prefab, Transform modelBaseTransform, Transform modelTransform) { ModelLocator component = prefab.GetComponent(); component.modelTransform = modelTransform; component.modelBaseTransform = modelBaseTransform; } private static void SetupCapsuleCollider(GameObject prefab) { //IL_0018: Unknown result type (might be due to invalid IL or missing references) CapsuleCollider component = prefab.GetComponent(); component.center = new Vector3(0f, 0f, 0f); component.radius = 0.5f; component.height = 1.82f; component.direction = 1; } public static CharacterModel SetupCharacterModel(GameObject bodyPrefab, CustomRendererInfo[] customInfos = null) { CharacterModel val = ((Component)bodyPrefab.GetComponent().modelTransform).gameObject.GetComponent(); bool flag = (Object)(object)val != (Object)null; if (!flag) { val = ((Component)bodyPrefab.GetComponent().modelTransform).gameObject.AddComponent(); } val.body = bodyPrefab.GetComponent(); val.autoPopulateLightInfos = true; if (!flag) { SetupCustomRendererInfos(val, customInfos); } else { SetupPreAttachedRendererInfos(val); } SetupHurtboxGroup(bodyPrefab, ((Component)val).gameObject); SetupAimAnimator(bodyPrefab, ((Component)val).gameObject); SetupFootstepController(((Component)val).gameObject); SetupRagdoll(((Component)val).gameObject); return val; } public static void SetupPreAttachedRendererInfos(CharacterModel characterModel) { for (int i = 0; i < characterModel.baseRendererInfos.Length; i++) { if ((Object)(object)characterModel.baseRendererInfos[i].defaultMaterial == (Object)null) { characterModel.baseRendererInfos[i].defaultMaterial = characterModel.baseRendererInfos[i].renderer.sharedMaterial; } if ((Object)(object)characterModel.baseRendererInfos[i].defaultMaterial == (Object)null) { Log.Error($"no material for rendererinfo of this renderer: {characterModel.baseRendererInfos[i].renderer}"); } characterModel.baseRendererInfos[i].defaultMaterial.ConvertDefaultShaderToHopoo(actuallyConvert: true); } } public static void SetupCustomRendererInfos(CharacterModel characterModel, CustomRendererInfo[] customInfos) { //IL_00df: Unknown result type (might be due to invalid IL or missing references) //IL_0109: Unknown result type (might be due to invalid IL or missing references) //IL_010e: Unknown result type (might be due to invalid IL or missing references) ChildLocator component = ((Component)characterModel).GetComponent(); if (!Object.op_Implicit((Object)(object)component)) { Log.Error("Failed CharacterModel setup: ChildLocator component does not exist on the model"); return; } List list = new List(); for (int i = 0; i < customInfos.Length; i++) { if (!Object.op_Implicit((Object)(object)component.FindChild(customInfos[i].childName))) { Log.Error("Trying to add a RendererInfo for a renderer that does not exist: " + customInfos[i].childName); continue; } Renderer component2 = ((Component)component.FindChild(customInfos[i].childName)).GetComponent(); if (Object.op_Implicit((Object)(object)component2)) { Material val = customInfos[i].material; if ((Object)(object)val == (Object)null) { val = ((!customInfos[i].dontHotpoo) ? component2.sharedMaterial.ConvertDefaultShaderToHopoo(actuallyConvert: true) : component2.sharedMaterial); } list.Add(new RendererInfo { renderer = component2, defaultMaterial = val, ignoreOverlays = customInfos[i].ignoreOverlays, defaultShadowCastingMode = (ShadowCastingMode)1 }); } } characterModel.baseRendererInfos = list.ToArray(); } private static void SetupHurtboxGroup(GameObject bodyPrefab, GameObject model) { SetupMainHurtboxesFromChildLocator(bodyPrefab, model); SetHurtboxesHealthComponents(bodyPrefab); } private static void SetupMainHurtboxesFromChildLocator(GameObject bodyPrefab, GameObject model) { //IL_011b: Unknown result type (might be due to invalid IL or missing references) //IL_00b8: Unknown result type (might be due to invalid IL or missing references) if ((Object)(object)bodyPrefab.GetComponent() != (Object)null) { Log.Debug("Hitboxgroup already exists on model prefab. aborting code setup"); return; } ChildLocator component = model.GetComponent(); if (string.IsNullOrEmpty(component.FindChildNameInsensitive("MainHurtbox"))) { Log.Error("Could not set up main hurtbox: make sure you have a transform pair in your prefab's ChildLocator called 'MainHurtbox'"); return; } HurtBoxGroup val = model.AddComponent(); HurtBox val2 = null; GameObject val3 = component.FindChildGameObjectInsensitive("HeadHurtbox"); if (Object.op_Implicit((Object)(object)val3)) { Log.Debug("HeadHurtboxFound. Setting up"); val2 = val3.AddComponent(); ((Component)val2).gameObject.layer = LayerIndex.entityPrecise.intVal; val2.healthComponent = bodyPrefab.GetComponent(); val2.isBullseye = false; val2.isSniperTarget = true; val2.damageModifier = (DamageModifier)0; val2.hurtBoxGroup = val; val2.indexInGroup = 1; } HurtBox val4 = component.FindChildGameObjectInsensitive("MainHurtbox").AddComponent(); ((Component)val4).gameObject.layer = LayerIndex.entityPrecise.intVal; val4.healthComponent = bodyPrefab.GetComponent(); val4.isBullseye = true; val4.isSniperTarget = (Object)(object)val2 == (Object)null; val4.damageModifier = (DamageModifier)0; val4.hurtBoxGroup = val; val4.indexInGroup = 0; if (Object.op_Implicit((Object)(object)val2)) { val.hurtBoxes = (HurtBox[])(object)new HurtBox[2] { val4, val2 }; } else { val.hurtBoxes = (HurtBox[])(object)new HurtBox[1] { val4 }; } val.mainHurtBox = val4; val.bullseyeCount = 1; } private static string FindChildNameInsensitive(this ChildLocator childLocator, string child) { //IL_0025: Unknown result type (might be due to invalid IL or missing references) return childLocator.transformPairs.Where((NameTransformPair pair) => pair.name.ToLowerInvariant() == child.ToLowerInvariant()).FirstOrDefault().name; } private static Transform FindChildInsensitive(this ChildLocator childLocator, string child) { return childLocator.FindChild(childLocator.FindChildNameInsensitive(child)); } private static GameObject FindChildGameObjectInsensitive(this ChildLocator childLocator, string child) { return childLocator.FindChildGameObject(childLocator.FindChildNameInsensitive(child)); } public static void SetHurtboxesHealthComponents(GameObject bodyPrefab) { HealthComponent component = bodyPrefab.GetComponent(); HurtBoxGroup[] componentsInChildren = bodyPrefab.GetComponentsInChildren(); foreach (HurtBoxGroup val in componentsInChildren) { val.mainHurtBox.healthComponent = component; for (int j = 0; j < val.hurtBoxes.Length; j++) { val.hurtBoxes[j].healthComponent = component; } } } private static void SetupFootstepController(GameObject model) { FootstepHandler val = model.AddComponent(); val.baseFootstepString = "Play_player_footstep"; val.sprintFootstepOverrideString = ""; val.baseFootliftString = "stepr"; val.sprintFootliftOverrideString = ""; val.enableFootstepDust = true; val.footstepDustPrefab = LegacyResourcesAPI.Load("Prefabs/GenericFootstepDust"); } private static void SetupRagdoll(GameObject model) { RagdollController component = model.GetComponent(); if (!Object.op_Implicit((Object)(object)component)) { return; } if ((Object)(object)ragdollMaterial == (Object)null) { ragdollMaterial = ((Component)LegacyResourcesAPI.Load("Prefabs/CharacterBodies/CommandoBody").GetComponentInChildren().bones[1]).GetComponent().material; } Transform[] bones = component.bones; foreach (Transform val in bones) { if (Object.op_Implicit((Object)(object)val)) { ((Component)val).gameObject.layer = LayerIndex.ragdoll.intVal; Collider component2 = ((Component)val).GetComponent(); if (Object.op_Implicit((Object)(object)component2)) { component2.sharedMaterial = ragdollMaterial; } else { Log.Error($"Ragdoll bone {((Component)val).gameObject} doesn't have a collider. Ragdoll will break."); } } } } private static void SetupAimAnimator(GameObject prefab, GameObject model) { AimAnimator val = model.AddComponent(); val.directionComponent = prefab.GetComponent(); val.pitchRangeMax = 60f; val.pitchRangeMin = -60f; val.yawRangeMin = -80f; val.yawRangeMax = 80f; val.pitchGiveupRange = 30f; val.yawGiveupRange = 10f; val.giveupDuration = 3f; val.inputBank = prefab.GetComponent(); } public static void CreateGenericDoppelganger(GameObject bodyPrefab, string masterName, string masterToCopy) { CloneDopplegangerMaster(bodyPrefab, masterName, masterToCopy); } public static GameObject CloneDopplegangerMaster(GameObject bodyPrefab, string masterName, string masterToCopy) { GameObject val = PrefabAPI.InstantiateClone(LegacyResourcesAPI.Load("Prefabs/CharacterMasters/" + masterToCopy + "MonsterMaster"), masterName, true); val.GetComponent().bodyPrefab = bodyPrefab; Content.AddMasterPrefab(val); return val; } public static GameObject CreateBlankMasterPrefab(GameObject bodyPrefab, string masterName) { GameObject val = PrefabAPI.InstantiateClone(LegacyResourcesAPI.Load("Prefabs/CharacterMasters/CommandoMonsterMaster"), masterName, true); ContentPacks.masterPrefabs.Add(val); CharacterMaster component = val.GetComponent(); component.bodyPrefab = bodyPrefab; AISkillDriver[] components = val.GetComponents(); for (int i = 0; i < components.Length; i++) { Object.Destroy((Object)(object)components[i]); } return val; } public static GameObject LoadMaster(this AssetBundle assetBundle, GameObject bodyPrefab, string assetName) { //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) GameObject val = assetBundle.LoadAsset(assetName); BaseAI val2 = val.GetComponent(); if ((Object)(object)val2 == (Object)null) { val2 = val.AddComponent(); val2.aimVectorDampTime = 0.1f; val2.aimVectorMaxSpeed = 360f; } val2.scanState = new SerializableEntityStateType(typeof(Wander)); EntityStateMachine component = val.GetComponent(); if ((Object)(object)component == (Object)null) { AddEntityStateMachine(val, "AI", typeof(Wander), typeof(Wander)); } val2.stateMachine = component; CharacterMaster val3 = val.GetComponent(); if ((Object)(object)val3 == (Object)null) { val3 = val.AddComponent(); } val3.bodyPrefab = bodyPrefab; val3.teamIndex = (TeamIndex)2; Content.AddMasterPrefab(val); return val; } public static void ClearEntityStateMachines(GameObject bodyPrefab) { EntityStateMachine[] components = bodyPrefab.GetComponents(); for (int num = components.Length - 1; num >= 0; num--) { Object.DestroyImmediate((Object)(object)components[num]); } NetworkStateMachine component = bodyPrefab.GetComponent(); component.stateMachines = Array.Empty(); CharacterDeathBehavior component2 = bodyPrefab.GetComponent(); if (Object.op_Implicit((Object)(object)component2)) { component2.idleStateMachine = Array.Empty(); } SetStateOnHurt component3 = bodyPrefab.GetComponent(); if (Object.op_Implicit((Object)(object)component3)) { component3.idleStateMachine = Array.Empty(); } CharacterBody component4 = bodyPrefab.GetComponent(); component4.vehicleIdleStateMachine = Array.Empty(); } public static void AddMainEntityStateMachine(GameObject bodyPrefab, string machineName = "Body", Type mainStateType = null, Type initalStateType = null) { //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_0084: Unknown result type (might be due to invalid IL or missing references) //IL_0089: Unknown result type (might be due to invalid IL or missing references) EntityStateMachine val = EntityStateMachine.FindByCustomName(bodyPrefab, machineName); if ((Object)(object)val == (Object)null) { val = bodyPrefab.AddComponent(); } else { Log.Message("An Entity State Machine already exists with the name " + machineName + ". replacing."); } val.customName = machineName; if (mainStateType == null) { mainStateType = typeof(GenericCharacterMain); } val.mainStateType = new SerializableEntityStateType(mainStateType); if (initalStateType == null) { initalStateType = typeof(SpawnTeleporterState); } val.initialStateType = new SerializableEntityStateType(initalStateType); NetworkStateMachine component = bodyPrefab.GetComponent(); if (Object.op_Implicit((Object)(object)component)) { component.stateMachines = component.stateMachines.Append(val).ToArray(); } CharacterDeathBehavior component2 = bodyPrefab.GetComponent(); if (Object.op_Implicit((Object)(object)component2)) { component2.deathStateMachine = val; } SetStateOnHurt component3 = bodyPrefab.GetComponent(); if (Object.op_Implicit((Object)(object)component3)) { component3.targetStateMachine = val; } } public static void AddEntityStateMachine(GameObject prefab, string machineName, Type mainStateType = null, Type initalStateType = null) { //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_0084: Unknown result type (might be due to invalid IL or missing references) //IL_0089: Unknown result type (might be due to invalid IL or missing references) EntityStateMachine val = EntityStateMachine.FindByCustomName(prefab, machineName); if ((Object)(object)val == (Object)null) { val = prefab.AddComponent(); } else { Log.Message("An Entity State Machine already exists with the name " + machineName + ". replacing."); } val.customName = machineName; if (mainStateType == null) { mainStateType = typeof(Idle); } val.mainStateType = new SerializableEntityStateType(mainStateType); if (initalStateType == null) { initalStateType = typeof(Idle); } val.initialStateType = new SerializableEntityStateType(initalStateType); NetworkStateMachine component = prefab.GetComponent(); if (Object.op_Implicit((Object)(object)component)) { component.stateMachines = component.stateMachines.Append(val).ToArray(); } CharacterDeathBehavior component2 = prefab.GetComponent(); if (Object.op_Implicit((Object)(object)component2)) { component2.idleStateMachine = component2.idleStateMachine.Append(val).ToArray(); } SetStateOnHurt component3 = prefab.GetComponent(); if (Object.op_Implicit((Object)(object)component3)) { component3.idleStateMachine = component3.idleStateMachine.Append(val).ToArray(); } } public static void SetupHitBoxGroup(GameObject modelPrefab, string hitBoxGroupName, params string[] hitboxChildNames) { ChildLocator component = modelPrefab.GetComponent(); Transform[] array = (Transform[])(object)new Transform[hitboxChildNames.Length]; for (int i = 0; i < hitboxChildNames.Length; i++) { array[i] = component.FindChild(hitboxChildNames[i]); if ((Object)(object)array[i] == (Object)null) { Log.Error("missing hitbox for " + hitboxChildNames[i]); } } SetupHitBoxGroup(modelPrefab, hitBoxGroupName, array); } public static void SetupHitBoxGroup(GameObject prefab, string hitBoxGroupName, params Transform[] hitBoxTransforms) { List list = new List(); foreach (Transform val in hitBoxTransforms) { if ((Object)(object)val == (Object)null) { Log.Error("Error setting up hitboxGroup for " + hitBoxGroupName + ": hitbox transform was null"); continue; } HitBox item = ((Component)val).gameObject.AddComponent(); ((Component)val).gameObject.layer = LayerIndex.projectile.intVal; list.Add(item); } if (list.Count == 0) { Log.Error("No hitboxes were set up. aborting setting up hitboxGroup for " + hitBoxGroupName); return; } HitBoxGroup val2 = prefab.AddComponent(); val2.hitBoxes = list.ToArray(); val2.groupName = hitBoxGroupName; } } public class CustomRendererInfo { public string childName; public Material material = null; public bool dontHotpoo = false; public bool ignoreOverlays = false; } internal static class Skills { public static void CreateSkillFamilies(GameObject targetPrefab) { SkillSlot[] array = new SkillSlot[4]; RuntimeHelpers.InitializeArray(array, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/); CreateSkillFamilies(targetPrefab, (SkillSlot[])(object)array); } public static void CreateSkillFamilies(GameObject targetPrefab, params SkillSlot[] slots) { //IL_0010: Unknown result type (might be due to invalid IL or missing references) //IL_0011: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Unknown result type (might be due to invalid IL or missing references) //IL_0013: Unknown result type (might be due to invalid IL or missing references) //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_002f: Expected I4, but got Unknown SkillLocator component = targetPrefab.GetComponent(); foreach (SkillSlot val in slots) { SkillSlot val2 = val; switch (val2 - -1) { case 1: component.primary = CreateGenericSkillWithSkillFamily(targetPrefab, "Primary"); break; case 2: component.secondary = CreateGenericSkillWithSkillFamily(targetPrefab, "Secondary"); break; case 3: component.utility = CreateGenericSkillWithSkillFamily(targetPrefab, "Utility"); break; case 4: component.special = CreateGenericSkillWithSkillFamily(targetPrefab, "Special"); break; } } } public static void ClearGenericSkills(GameObject targetPrefab) { GenericSkill[] componentsInChildren = targetPrefab.GetComponentsInChildren(); foreach (GenericSkill val in componentsInChildren) { Object.DestroyImmediate((Object)(object)val); } } public static GenericSkill CreateGenericSkillWithSkillFamily(GameObject targetPrefab, SkillSlot skillSlot, bool hidden = false) { //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_000a: Unknown result type (might be due to invalid IL or missing references) //IL_000b: Unknown result type (might be due to invalid IL or missing references) //IL_000c: Unknown result type (might be due to invalid IL or missing references) //IL_000e: Unknown result type (might be due to invalid IL or missing references) //IL_0028: Expected I4, but got Unknown SkillLocator component = targetPrefab.GetComponent(); switch (skillSlot - -1) { case 1: return component.primary = CreateGenericSkillWithSkillFamily(targetPrefab, "Primary", hidden); case 2: return component.secondary = CreateGenericSkillWithSkillFamily(targetPrefab, "Secondary", hidden); case 3: return component.utility = CreateGenericSkillWithSkillFamily(targetPrefab, "Utility", hidden); case 4: return component.special = CreateGenericSkillWithSkillFamily(targetPrefab, "Special", hidden); case 0: Log.Error("Failed to create GenericSkill with skillslot None. If making a GenericSkill outside of the main 4, specify a familyName, and optionally a genericSkillName"); return null; default: return null; } } public static GenericSkill CreateGenericSkillWithSkillFamily(GameObject targetPrefab, string familyName, bool hidden = false) { return CreateGenericSkillWithSkillFamily(targetPrefab, familyName, familyName, hidden); } public static GenericSkill CreateGenericSkillWithSkillFamily(GameObject targetPrefab, string genericSkillName, string familyName, bool hidden = false) { GenericSkill val = targetPrefab.AddComponent(); val.skillName = genericSkillName; val.hideInCharacterSelect = hidden; SkillFamily val2 = ScriptableObject.CreateInstance(); ((Object)val2).name = ((Object)targetPrefab).name + familyName + "Family"; val2.variants = (Variant[])(object)new Variant[0]; val._skillFamily = val2; Content.AddSkillFamily(val2); return val; } public static void AddSkillToFamily(SkillFamily skillFamily, SkillDef skillDef, UnlockableDef unlockableDef = null) { //IL_0029: Unknown result type (might be due to invalid IL or missing references) //IL_0049: Unknown result type (might be due to invalid IL or missing references) //IL_0053: Expected O, but got Unknown //IL_0054: 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) Array.Resize(ref skillFamily.variants, skillFamily.variants.Length + 1); Variant[] variants = skillFamily.variants; int num = skillFamily.variants.Length - 1; Variant val = new Variant { skillDef = skillDef, unlockableDef = unlockableDef }; ((Variant)(ref val)).viewableNode = new Node(skillDef.skillNameToken, false, (Node)null); variants[num] = val; } public static void AddSkillsToFamily(SkillFamily skillFamily, params SkillDef[] skillDefs) { foreach (SkillDef skillDef in skillDefs) { AddSkillToFamily(skillFamily, skillDef); } } public static void AddPrimarySkills(GameObject targetPrefab, params SkillDef[] skillDefs) { AddSkillsToFamily(targetPrefab.GetComponent().primary.skillFamily, skillDefs); } public static void AddSecondarySkills(GameObject targetPrefab, params SkillDef[] skillDefs) { AddSkillsToFamily(targetPrefab.GetComponent().secondary.skillFamily, skillDefs); } public static void AddUtilitySkills(GameObject targetPrefab, params SkillDef[] skillDefs) { AddSkillsToFamily(targetPrefab.GetComponent().utility.skillFamily, skillDefs); } public static void AddSpecialSkills(GameObject targetPrefab, params SkillDef[] skillDefs) { AddSkillsToFamily(targetPrefab.GetComponent().special.skillFamily, skillDefs); } public static void AddUnlockablesToFamily(SkillFamily skillFamily, params UnlockableDef[] unlockableDefs) { //IL_000d: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Unknown result type (might be due to invalid IL or missing references) //IL_0024: 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) for (int i = 0; i < unlockableDefs.Length; i++) { Variant val = skillFamily.variants[i]; val.unlockableDef = unlockableDefs[i]; skillFamily.variants[i] = val; } } public static SkillDef CreateSkillDef(SkillDefInfo skillDefInfo) { return Skills.CreateSkillDef(skillDefInfo); } public static T CreateSkillDef(SkillDefInfo skillDefInfo) where T : SkillDef { //IL_0064: Unknown result type (might be due to invalid IL or missing references) //IL_0069: Unknown result type (might be due to invalid IL or missing references) //IL_0086: Unknown result type (might be due to invalid IL or missing references) //IL_008b: Unknown result type (might be due to invalid IL or missing references) T val = ScriptableObject.CreateInstance(); ((SkillDef)val).skillName = skillDefInfo.skillName; ((Object)(object)val).name = skillDefInfo.skillName; ((SkillDef)val).skillNameToken = skillDefInfo.skillNameToken; ((SkillDef)val).skillDescriptionToken = skillDefInfo.skillDescriptionToken; ((SkillDef)val).icon = skillDefInfo.skillIcon; ((SkillDef)val).activationState = skillDefInfo.activationState; ((SkillDef)val).activationStateMachineName = skillDefInfo.activationStateMachineName; ((SkillDef)val).interruptPriority = skillDefInfo.interruptPriority; ((SkillDef)val).baseMaxStock = skillDefInfo.baseMaxStock; ((SkillDef)val).baseRechargeInterval = skillDefInfo.baseRechargeInterval; ((SkillDef)val).rechargeStock = skillDefInfo.rechargeStock; ((SkillDef)val).requiredStock = skillDefInfo.requiredStock; ((SkillDef)val).stockToConsume = skillDefInfo.stockToConsume; ((SkillDef)val).dontAllowPastMaxStocks = skillDefInfo.dontAllowPastMaxStocks; ((SkillDef)val).beginSkillCooldownOnSkillEnd = skillDefInfo.beginSkillCooldownOnSkillEnd; ((SkillDef)val).canceledFromSprinting = skillDefInfo.canceledFromSprinting; ((SkillDef)val).forceSprintDuringState = skillDefInfo.forceSprintDuringState; ((SkillDef)val).fullRestockOnAssign = skillDefInfo.fullRestockOnAssign; ((SkillDef)val).resetCooldownTimerOnUse = skillDefInfo.resetCooldownTimerOnUse; ((SkillDef)val).isCombatSkill = skillDefInfo.isCombatSkill; ((SkillDef)val).mustKeyPress = skillDefInfo.mustKeyPress; ((SkillDef)val).cancelSprintingOnActivation = skillDefInfo.cancelSprintingOnActivation; ((SkillDef)val).keywordTokens = skillDefInfo.keywordTokens; Content.AddSkillDef((SkillDef)(object)val); return val; } } internal class SkillDefInfo { public string skillName; public string skillNameToken; public string skillDescriptionToken; public string[] keywordTokens = Array.Empty(); public Sprite skillIcon; public SerializableEntityStateType activationState; public string activationStateMachineName; public InterruptPriority interruptPriority; public float baseRechargeInterval; public int baseMaxStock = 1; public int rechargeStock = 1; public int requiredStock = 1; public int stockToConsume = 1; public bool resetCooldownTimerOnUse = false; public bool fullRestockOnAssign = true; public bool dontAllowPastMaxStocks = false; public bool beginSkillCooldownOnSkillEnd = false; public bool mustKeyPress = false; public bool isCombatSkill = true; public bool canceledFromSprinting = false; public bool cancelSprintingOnActivation = true; public bool forceSprintDuringState = false; public SkillDefInfo() { } public SkillDefInfo(string skillName, string skillNameToken, string skillDescriptionToken, Sprite skillIcon, SerializableEntityStateType activationState, string activationStateMachineName = "Weapon", bool agile = false) { //IL_008c: 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_00c2: Unknown result type (might be due to invalid IL or missing references) this.skillName = skillName; this.skillNameToken = skillNameToken; this.skillDescriptionToken = skillDescriptionToken; this.skillIcon = skillIcon; this.activationState = activationState; this.activationStateMachineName = activationStateMachineName; cancelSprintingOnActivation = !agile; if (agile) { keywordTokens = new string[1] { "KEYWORD_AGILE" }; } interruptPriority = (InterruptPriority)0; isCombatSkill = true; baseRechargeInterval = 0f; requiredStock = 0; stockToConsume = 0; } } internal static class Skins { internal struct SkinDefInfo { internal SkinDef[] BaseSkins; internal Sprite Icon; internal string NameToken; internal UnlockableDef UnlockableDef; internal GameObject RootObject; internal RendererInfo[] RendererInfos; internal MeshReplacement[] MeshReplacements; internal GameObjectActivation[] GameObjectActivations; internal ProjectileGhostReplacement[] ProjectileGhostReplacements; internal MinionSkinReplacement[] MinionSkinReplacements; internal string Name; } internal static SkinDef CreateSkinDef(string skinName, Sprite skinIcon, RendererInfo[] defaultRendererInfos, GameObject root, UnlockableDef unlockableDef = null) { //IL_008a: Unknown result type (might be due to invalid IL or missing references) //IL_0094: Expected O, but got Unknown //IL_0159: Unknown result type (might be due to invalid IL or missing references) //IL_0163: Expected O, but got Unknown SkinDefInfo skinDefInfo = default(SkinDefInfo); skinDefInfo.BaseSkins = Array.Empty(); skinDefInfo.GameObjectActivations = (GameObjectActivation[])(object)new GameObjectActivation[0]; skinDefInfo.Icon = skinIcon; skinDefInfo.MeshReplacements = (MeshReplacement[])(object)new MeshReplacement[0]; skinDefInfo.MinionSkinReplacements = (MinionSkinReplacement[])(object)new MinionSkinReplacement[0]; skinDefInfo.Name = skinName; skinDefInfo.NameToken = skinName; skinDefInfo.ProjectileGhostReplacements = (ProjectileGhostReplacement[])(object)new ProjectileGhostReplacement[0]; skinDefInfo.RendererInfos = (RendererInfo[])(object)new RendererInfo[defaultRendererInfos.Length]; skinDefInfo.RootObject = root; skinDefInfo.UnlockableDef = unlockableDef; SkinDefInfo skinDefInfo2 = skinDefInfo; SkinDef.Awake += new hook_Awake(DoNothing); SkinDef val = ScriptableObject.CreateInstance(); val.baseSkins = skinDefInfo2.BaseSkins; val.icon = skinDefInfo2.Icon; val.unlockableDef = skinDefInfo2.UnlockableDef; val.rootObject = skinDefInfo2.RootObject; defaultRendererInfos.CopyTo(skinDefInfo2.RendererInfos, 0); val.skinDefParams = ScriptableObject.CreateInstance(); val.skinDefParams.rendererInfos = skinDefInfo2.RendererInfos; val.skinDefParams.gameObjectActivations = skinDefInfo2.GameObjectActivations; val.skinDefParams.meshReplacements = skinDefInfo2.MeshReplacements; val.skinDefParams.projectileGhostReplacements = skinDefInfo2.ProjectileGhostReplacements; val.skinDefParams.minionSkinReplacements = skinDefInfo2.MinionSkinReplacements; val.nameToken = skinDefInfo2.NameToken; ((Object)val).name = skinDefInfo2.Name; SkinDef.Awake -= new hook_Awake(DoNothing); return val; } private static void DoNothing(orig_Awake orig, SkinDef self) { } private static RendererInfo[] getRendererMaterials(RendererInfo[] defaultRenderers, params Material[] materials) { RendererInfo[] array = (RendererInfo[])(object)new RendererInfo[defaultRenderers.Length]; defaultRenderers.CopyTo(array, 0); for (int i = 0; i < array.Length; i++) { try { array[i].defaultMaterial = materials[i]; } catch { Log.Error("error adding skin rendererinfo material. make sure you're not passing in too many"); } } return array; } internal static MeshReplacement[] getMeshReplacements(AssetBundle assetBundle, RendererInfo[] defaultRendererInfos, params string[] meshes) { //IL_001d: Unknown result type (might be due to invalid IL or missing references) //IL_0046: Unknown result type (might be due to invalid IL or missing references) List list = new List(); for (int i = 0; i < defaultRendererInfos.Length; i++) { if (!string.IsNullOrEmpty(meshes[i])) { list.Add(new MeshReplacement { renderer = defaultRendererInfos[i].renderer, mesh = assetBundle.LoadAsset(meshes[i]) }); } } return list.ToArray(); } } internal static class Tokens { public const string agilePrefix = "Agile."; public static string DamageText(string text) { return "" + text + ""; } public static string DamageValueText(float value) { return $"{value * 100f}% damage"; } public static string UtilityText(string text) { return "" + text + ""; } public static string RedText(string text) { return HealthText(text); } public static string HealthText(string text) { return "" + text + ""; } public static string KeywordText(string keyword, string sub) { return "" + keyword + "" + sub + ""; } public static string ScepterDescription(string desc) { return "\nSCEPTER: " + desc + ""; } public static string GetAchievementNameToken(string identifier) { return "ACHIEVEMENT_" + identifier.ToUpperInvariant() + "_NAME"; } public static string GetAchievementDescriptionToken(string identifier) { return "ACHIEVEMENT_" + identifier.ToUpperInvariant() + "_DESCRIPTION"; } } } namespace BayoMod.Modules.Characters { public abstract class CharacterBase where T : CharacterBase, new() { public abstract string assetBundleName { get; } public abstract string bodyName { get; } public abstract string modelPrefabName { get; } public abstract BodyInfo bodyInfo { get; } public virtual CustomRendererInfo[] customRendererInfos { get; } public virtual ItemDisplaysBase itemDisplays { get; } public static T instance { get; private set; } public abstract AssetBundle assetBundle { get; protected set; } public abstract GameObject bodyPrefab { get; protected set; } public abstract CharacterBody prefabCharacterBody { get; protected set; } public abstract GameObject characterModelObject { get; protected set; } public abstract CharacterModel prefabCharacterModel { get; protected set; } public virtual void Initialize() { instance = this as T; assetBundle = Asset.LoadAssetBundle(assetBundleName); InitializeCharacter(); } public virtual void InitializeCharacter() { InitializeCharacterBodyPrefab(); InitializeItemDisplays(); } protected virtual void InitializeCharacterBodyPrefab() { characterModelObject = Prefabs.LoadCharacterModel(assetBundle, modelPrefabName); bodyPrefab = Prefabs.CreateBodyPrefab(characterModelObject, bodyInfo); prefabCharacterBody = bodyPrefab.GetComponent(); prefabCharacterModel = Prefabs.SetupCharacterModel(bodyPrefab, customRendererInfos); } public virtual void InitializeItemDisplays() { ItemDisplayRuleSet val = ScriptableObject.CreateInstance(); ((Object)val).name = "idrs" + bodyName; prefabCharacterModel.itemDisplayRuleSet = val; if (itemDisplays != null) { ItemDisplays.queuedDisplays++; ContentManager.onContentPacksAssigned += SetItemDisplays; } } public void SetItemDisplays(ReadOnlyArray obj) { itemDisplays.SetItemDisplays(prefabCharacterModel.itemDisplayRuleSet); } public abstract void InitializeEntityStateMachines(); public abstract void InitializeSkills(); public abstract void InitializeSkins(); public abstract void InitializeCharacterMaster(); } public class BodyInfo { public string bodyName = ""; public string bodyNameToken = ""; public string subtitleNameToken = ""; public string bodyNameToClone = "Commando"; public Color bodyColor = Color.white; public Texture characterPortrait = null; public float sortPosition = 100f; public GameObject crosshair = null; public GameObject podPrefab = null; public float maxHealth = 100f; public float healthRegen = 1f; public float armor = 0f; public float shield = 0f; public int jumpCount = 1; public float damage = 12f; public float attackSpeed = 1f; public float crit = 1f; public float moveSpeed = 7f; public float acceleration = 80f; public float jumpPower = 15f; public bool autoCalculateLevelStats = true; public float healthGrowth = 30.000002f; public float regenGrowth = 0.2f; public float armorGrowth = 0f; public float shieldGrowth = 0f; public float damageGrowth = 2.4f; public float attackSpeedGrowth = 0f; public float critGrowth = 0f; public float moveSpeedGrowth = 0f; public float jumpPowerGrowth = 0f; public Vector3 aimOriginPosition = new Vector3(0f, 1.6f, 0f); public Vector3 modelBasePosition = new Vector3(0f, -0.92f, 0f); public Vector3 cameraPivotPosition = new Vector3(0f, 0.8f, 0f); public float cameraParamsVerticalOffset = 1.37f; public float cameraParamsDepth = -10f; private CharacterCameraParams _cameraParams; public CharacterCameraParams cameraParams { get { //IL_0030: Unknown result type (might be due to invalid IL or missing references) //IL_0035: Unknown result type (might be due to invalid IL or missing references) //IL_004a: Unknown result type (might be due to invalid IL or missing references) //IL_004f: Unknown result type (might be due to invalid IL or missing references) //IL_0064: Unknown result type (might be due to invalid IL or missing references) //IL_0069: Unknown result type (might be due to invalid IL or missing references) //IL_007f: Unknown result type (might be due to invalid IL or missing references) //IL_0084: 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) //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) if ((Object)(object)_cameraParams == (Object)null) { _cameraParams = ScriptableObject.CreateInstance(); _cameraParams.data.minPitch = BlendableFloat.op_Implicit(-70f); _cameraParams.data.maxPitch = BlendableFloat.op_Implicit(70f); _cameraParams.data.wallCushion = BlendableFloat.op_Implicit(0.1f); _cameraParams.data.pivotVerticalOffset = BlendableFloat.op_Implicit(cameraParamsVerticalOffset); _cameraParams.data.idealLocalCameraPos = BlendableVector3.op_Implicit(new Vector3(0f, 0f, cameraParamsDepth)); } return _cameraParams; } set { _cameraParams = value; } } } public abstract class ItemDisplaysBase { public void SetItemDisplays(ItemDisplayRuleSet itemDisplayRuleSet) { List list = new List(); ItemDisplays.LazyInit(); SetItemDisplayRules(list); itemDisplayRuleSet.keyAssetRuleGroups = list.ToArray(); ItemDisplays.DisposeWhenDone(); } protected abstract void SetItemDisplayRules(List itemDisplayRules); } public abstract class SurvivorBase : CharacterBase where T : SurvivorBase, new() { public abstract string masterName { get; } public abstract string displayPrefabName { get; } public abstract string survivorTokenPrefix { get; } public abstract UnlockableDef characterUnlockableDef { get; } public abstract GameObject displayPrefab { get; protected set; } public abstract CharacterModel displayCharacterModel { get; protected set; } public override void InitializeCharacter() { base.InitializeCharacter(); InitializeDisplayPrefab(); InitializeSurvivor(); } protected virtual void InitializeDisplayPrefab() { displayPrefab = Prefabs.CreateDisplayPrefab(assetBundle, displayPrefabName, bodyPrefab); displayCharacterModel = displayPrefab.GetComponent(); } protected virtual void InitializeSurvivor() { //IL_0013: Unknown result type (might be due to invalid IL or missing references) RegisterNewSurvivor(bodyPrefab, displayPrefab, bodyInfo.bodyColor, survivorTokenPrefix, characterUnlockableDef, bodyInfo.sortPosition); } public static void RegisterNewSurvivor(GameObject bodyPrefab, GameObject displayPrefab, Color charColor, string tokenPrefix, UnlockableDef unlockableDef, float sortPosition) { //IL_0003: Unknown result type (might be due to invalid IL or missing references) Content.CreateSurvivor(bodyPrefab, displayPrefab, charColor, tokenPrefix, unlockableDef, sortPosition); } protected virtual void AddCssPreviewSkill(int indexFromEditor, SkillFamily skillFamily, SkillDef skillDef) { CharacterSelectSurvivorPreviewDisplayController component = displayPrefab.GetComponent(); if (!Object.op_Implicit((Object)(object)component)) { Log.Error("trying to add skillChangeResponse to null CharacterSelectSurvivorPreviewDisplayController.\nMake sure you created one on your Display prefab in editor"); return; } component.skillChangeResponses[indexFromEditor].triggerSkillFamily = skillFamily; component.skillChangeResponses[indexFromEditor].triggerSkill = skillDef; } protected virtual void AddCssPreviewSkin(int indexFromEditor, SkinDef skinDef) { CharacterSelectSurvivorPreviewDisplayController component = displayPrefab.GetComponent(); if (!Object.op_Implicit((Object)(object)component)) { Log.Error("trying to add skinChangeResponse to null CharacterSelectSurvivorPreviewDisplayController.\nMake sure you created one on your Display prefab in editor"); } else { component.skinChangeResponses[indexFromEditor].triggerSkin = skinDef; } } protected virtual void FinalizeCSSPreviewDisplayController() { //IL_0073: Unknown result type (might be due to invalid IL or missing references) if (!Object.op_Implicit((Object)(object)displayPrefab)) { return; } CharacterSelectSurvivorPreviewDisplayController component = displayPrefab.GetComponent(); if (!Object.op_Implicit((Object)(object)component)) { return; } component.bodyPrefab = bodyPrefab; List list = new List(); for (int i = 0; i < component.skillChangeResponses.Length; i++) { if ((Object)(object)component.skillChangeResponses[i].triggerSkillFamily != (Object)null) { list.Add(component.skillChangeResponses[i]); } } component.skillChangeResponses = list.ToArray(); } } } namespace BayoMod.Modules.Achievements { public abstract class BaseMasteryAchievement : BaseAchievement { public abstract string RequiredCharacterBody { get; } public abstract float RequiredDifficultyCoefficient { get; } public override BodyIndex LookUpRequiredBodyIndex() { //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_000c: 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) return BodyCatalog.FindBodyIndex(RequiredCharacterBody); } public override void OnBodyRequirementMet() { ((BaseAchievement)this).OnBodyRequirementMet(); Run.onClientGameOverGlobal += OnClientGameOverGlobal; } public override void OnBodyRequirementBroken() { Run.onClientGameOverGlobal -= OnClientGameOverGlobal; ((BaseAchievement)this).OnBodyRequirementBroken(); } private void OnClientGameOverGlobal(Run run, RunReport runReport) { //IL_002f: Unknown result type (might be due to invalid IL or missing references) //IL_0034: Unknown result type (might be due to invalid IL or missing references) //IL_0035: 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_0079: Invalid comparison between Unknown and I4 //IL_007b: Unknown result type (might be due to invalid IL or missing references) //IL_007e: Invalid comparison between Unknown and I4 if (!Object.op_Implicit((Object)(object)runReport.gameEnding) || !runReport.gameEnding.isWin) { return; } DifficultyIndex val = runReport.ruleBook.FindDifficulty(); DifficultyDef difficultyDef = DifficultyCatalog.GetDifficultyDef(val); if (difficultyDef != null) { bool flag = difficultyDef.countsAsHardMode && difficultyDef.scalingValue >= RequiredDifficultyCoefficient; bool flag2 = difficultyDef.nameToken == "INFERNO_NAME"; bool flag3 = (int)val >= 3 && (int)val <= 10; if (flag || flag2 || flag3) { ((BaseAchievement)this).Grant(); } } } } } namespace BayoMod.Modules.Components { public class BayoTracker : MonoBehaviour { public float maxTrackingDistance = 60f; public float maxTrackingAngle = 45f; public float trackerUpdateFrequency = 10f; public SortMode sort = (SortMode)2; private HurtBox trackingTarget; private CharacterBody characterBody; private TeamComponent teamComponent; private InputBankTest inputBank; private float trackerUpdateStopwatch; protected Indicator indicator; private readonly BullseyeSearch search = new BullseyeSearch(); protected virtual void Awake() { //IL_000d: Unknown result type (might be due to invalid IL or missing references) //IL_0017: Expected O, but got Unknown indicator = new Indicator(((Component)this).gameObject, BayoAssets.trackerPrefab); } private void Start() { characterBody = ((Component)this).GetComponent(); inputBank = ((Component)this).GetComponent(); teamComponent = ((Component)this).GetComponent(); } public HurtBox GetTrackingTarget() { return trackingTarget; } private void OnEnable() { indicator.active = true; } private void OnDisable() { indicator.active = false; } private void OnDestroy() { indicator.active = false; } private void FixedUpdate() { //IL_0050: 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_0066: Unknown result type (might be due to invalid IL or missing references) trackerUpdateStopwatch += Time.fixedDeltaTime; if (trackerUpdateStopwatch >= 1f / trackerUpdateFrequency) { trackerUpdateStopwatch -= 1f / trackerUpdateFrequency; Ray aimRay = default(Ray); ((Ray)(ref aimRay))..ctor(inputBank.aimOrigin, inputBank.aimDirection); SearchForTarget(aimRay); indicator.targetTransform = (Object.op_Implicit((Object)(object)trackingTarget) ? ((Component)trackingTarget).transform : null); } } protected virtual void SearchForTarget(Ray aimRay) { //IL_000d: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Unknown result type (might be due to invalid IL or missing references) //IL_0017: Unknown result type (might be due to invalid IL or missing references) //IL_0030: Unknown result type (might be due to invalid IL or missing references) //IL_0035: Unknown result type (might be due to invalid IL or missing references) //IL_0042: 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_0053: 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) search.teamMaskFilter = TeamMask.GetUnprotectedTeams(teamComponent.teamIndex); search.filterByLoS = true; search.searchOrigin = ((Ray)(ref aimRay)).origin; search.searchDirection = ((Ray)(ref aimRay)).direction; search.sortMode = sort; search.maxDistanceFilter = maxTrackingDistance; search.maxAngleFilter = maxTrackingAngle; search.RefreshCandidates(); search.FilterOutGameObject(((Component)this).gameObject); trackingTarget = search.GetResults().FirstOrDefault(); } } public class ClimaxTracker : PunishTracker { public bool hpDebug = true; private bool hpCheck = false; protected override void SearchForTarget(Ray aimRay) { //IL_000d: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Unknown result type (might be due to invalid IL or missing references) //IL_0017: Unknown result type (might be due to invalid IL or missing references) //IL_0030: Unknown result type (might be due to invalid IL or missing references) //IL_0035: Unknown result type (might be due to invalid IL or missing references) //IL_0042: 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_0053: 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) search.teamMaskFilter = TeamMask.GetUnprotectedTeams(teamComponent.teamIndex); search.filterByLoS = true; search.searchOrigin = ((Ray)(ref aimRay)).origin; search.searchDirection = ((Ray)(ref aimRay)).direction; search.sortMode = sort; search.maxDistanceFilter = 50f; search.maxAngleFilter = maxTrackingAngle; search.filterByLoS = false; search.RefreshCandidates(); search.FilterOutGameObject(((Component)this).gameObject); trackingTarget = search.GetResults().FirstOrDefault(); if (!hpDebug && Object.op_Implicit((Object)(object)trackingTarget)) { if (trackingTarget.healthComponent.combinedHealth <= trackingTarget.healthComponent.body.maxHealth * 0.15f) { hpCheck = true; } else { hpCheck = false; } } else { hpCheck = true; } while (Object.op_Implicit((Object)(object)trackingTarget) && (!trackingTarget.healthComponent.body.isChampion || !hpCheck || trackingTarget.healthComponent.body.HasBuff(BayoBuffs.climaxed))) { search.FilterOutGameObject(((Component)trackingTarget.healthComponent).gameObject); trackingTarget = search.GetResults().FirstOrDefault(); } } } public class PunishTracker : MonoBehaviour { public float maxTrackingDistance = 10f; public float maxTrackingAngle = 60f; public float trackerUpdateFrequency = 10f; public SortMode sort = (SortMode)1; protected HurtBox trackingTarget; private CharacterBody characterBody; protected TeamComponent teamComponent; private InputBankTest inputBank; private float trackerUpdateStopwatch; private GameObject curTarget = null; protected readonly BullseyeSearch search = new BullseyeSearch(); private GameObject evil; public bool punishing = false; private bool highRemoved = false; private GenericInteraction inter; protected virtual void Awake() { evil = Object.Instantiate(BayoAssets.evilObject); } private void Start() { characterBody = ((Component)this).GetComponent(); inputBank = ((Component)this).GetComponent(); teamComponent = ((Component)this).GetComponent(); } public HurtBox GetTrackingTarget() { return trackingTarget; } public void ReleaseTarget() { trackingTarget = null; } private void OnEnable() { if (Object.op_Implicit((Object)(object)characterBody) && Object.op_Implicit((Object)(object)((Component)characterBody).gameObject) && NetworkServer.active) { evil = Object.Instantiate(BayoAssets.evilObject); evil.GetComponent().AttachToGameObjectAndSpawn(((Component)characterBody).gameObject, (string)null); inter = evil.GetComponent(); } } private void OnDisable() { if ((Object)(object)curTarget != (Object)null) { int num = curTarget.gameObject.GetComponents().Length; for (int i = 0; i < num; i++) { Object.Destroy((Object)(object)curTarget.gameObject.GetComponents()[i]); } } if (Object.op_Implicit((Object)(object)evil)) { Object.Destroy((Object)(object)evil.gameObject); } } private void OnDestroy() { if ((Object)(object)curTarget != (Object)null) { int num = curTarget.gameObject.GetComponents().Length; for (int i = 0; i < num; i++) { Object.Destroy((Object)(object)curTarget.gameObject.GetComponents()[i]); } } if (Object.op_Implicit((Object)(object)evil)) { Object.Destroy((Object)(object)evil.gameObject); } } private void FixedUpdate() { //IL_0063: 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_0079: Unknown result type (might be due to invalid IL or missing references) trackerUpdateStopwatch += Time.fixedDeltaTime; if (trackerUpdateStopwatch >= 1f / trackerUpdateFrequency && !punishing) { highRemoved = false; trackerUpdateStopwatch -= 1f / trackerUpdateFrequency; Ray aimRay = default(Ray); ((Ray)(ref aimRay))..ctor(inputBank.aimOrigin, inputBank.aimDirection); SearchForTarget(aimRay); if ((Object)(object)curTarget != (Object)null) { int num = curTarget.gameObject.GetComponents().Length; for (int i = 0; i < num; i++) { Object.Destroy((Object)(object)curTarget.gameObject.GetComponents()[i]); } } if (Object.op_Implicit((Object)(object)trackingTarget) && Object.op_Implicit((Object)(object)trackingTarget.healthComponent.body.modelLocator)) { AddInteract(); } else if (Object.op_Implicit((Object)(object)evil) && Object.op_Implicit((Object)(object)inter) && NetworkServer.active) { inter.SetInteractabilityDisabled(); evil.SetActive(false); } } if (punishing && (Object)(object)curTarget != (Object)null && !highRemoved) { highRemoved = true; int num2 = curTarget.gameObject.GetComponents().Length; for (int j = 0; j < num2; j++) { Object.Destroy((Object)(object)curTarget.gameObject.GetComponents()[j]); } if (Object.op_Implicit((Object)(object)evil) && Object.op_Implicit((Object)(object)inter) && NetworkServer.active) { inter.SetInteractabilityDisabled(); evil.SetActive(false); } } } private void AddInteract() { //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) //IL_0058: Unknown result type (might be due to invalid IL or missing references) //IL_0094: 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) Transform modelTransform = trackingTarget.healthComponent.body.modelLocator.modelTransform; if (!Object.op_Implicit((Object)(object)modelTransform)) { return; } CharacterModel component = ((Component)modelTransform).GetComponent(); if (!Object.op_Implicit((Object)(object)component)) { return; } RendererInfo[] baseRendererInfos = component.baseRendererInfos; foreach (RendererInfo val in baseRendererInfos) { if (!val.ignoreOverlays) { curTarget = ((Component)trackingTarget.healthComponent.body).gameObject; Highlight val2 = curTarget.AddComponent(); val2.highlightColor = (HighlightColor)1; val2.targetRenderer = val.renderer; val2.strength = 1f; val2.isOn = true; } } if (!punishing && Object.op_Implicit((Object)(object)evil) && Object.op_Implicit((Object)(object)inter) && NetworkServer.active) { evil.SetActive(true); inter.SetInteractabilityAvailable(); } } private static void SetBayoState(Interactor activator) { if (Object.op_Implicit((Object)(object)((Component)activator).GetComponent()) && ((Object)((Component)((Component)activator).GetComponent()).gameObject).name.Contains("BayoBody")) { EntityStateMachine component = ((Component)activator).GetComponent(); if (Object.op_Implicit((Object)(object)component)) { component.SetNextState((EntityState)(object)new PunishEntry()); } } } protected virtual void SearchForTarget(Ray aimRay) { //IL_000d: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Unknown result type (might be due to invalid IL or missing references) //IL_0017: Unknown result type (might be due to invalid IL or missing references) //IL_0030: Unknown result type (might be due to invalid IL or missing references) //IL_0035: Unknown result type (might be due to invalid IL or missing references) //IL_0042: 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_0053: 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) search.teamMaskFilter = TeamMask.GetUnprotectedTeams(teamComponent.teamIndex); search.filterByLoS = true; search.searchOrigin = ((Ray)(ref aimRay)).origin; search.searchDirection = ((Ray)(ref aimRay)).direction; search.sortMode = sort; search.maxDistanceFilter = maxTrackingDistance; search.maxAngleFilter = maxTrackingAngle; search.filterByLoS = false; search.RefreshCandidates(); search.FilterOutGameObject(((Component)this).gameObject); trackingTarget = search.GetResults().FirstOrDefault(); while (Object.op_Implicit((Object)(object)trackingTarget) && !trackingTarget.healthComponent.body.HasBuff(BayoBuffs.punishable)) { search.FilterOutGameObject(((Component)trackingTarget.healthComponent).gameObject); trackingTarget = search.GetResults().FirstOrDefault(); } } } internal class SetFreezeOnBodyRequest : INetMessage, ISerializableObject { private NetworkInstanceId netID; private float duration; public SetFreezeOnBodyRequest() { } public SetFreezeOnBodyRequest(NetworkInstanceId netID, float duration) { //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_000a: Unknown result type (might be due to invalid IL or missing references) this.netID = netID; this.duration = duration; } public void Deserialize(NetworkReader reader) { //IL_0003: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) netID = reader.ReadNetworkId(); duration = reader.ReadSingle(); } public void Serialize(NetworkWriter writer) { //IL_0003: Unknown result type (might be due to invalid IL or missing references) writer.Write(netID); writer.Write(duration); } public void OnReceived() { ForceFreezeState(); } public void ForceFreezeState() { //IL_0002: Unknown result type (might be due to invalid IL or missing references) GameObject val = Util.FindNetworkObject(netID); if (!Object.op_Implicit((Object)(object)val)) { Debug.Log((object)"Specified GameObject not found!"); return; } CharacterMaster component = val.GetComponent(); if (!Object.op_Implicit((Object)(object)component)) { Debug.Log((object)"charMaster failed to locate"); } else { if (!component.hasEffectiveAuthority) { return; } GameObject bodyObject = component.GetBodyObject(); HealthComponent component2 = bodyObject.GetComponent(); EntityStateMachine[] components = bodyObject.GetComponents(); if (!Object.op_Implicit((Object)(object)components[0])) { Debug.LogWarning((object)"StateMachine search failed! Wrong object?"); } else { if (!Object.op_Implicit((Object)(object)component2)) { return; } EntityStateMachine[] array = components; foreach (EntityStateMachine val2 in array) { if (!(val2.customName == "Body")) { continue; } foreach (Type bLACKLIST_STATE in BayoStaticValues.BLACKLIST_STATES) { if (((object)val2.state).GetType() == bLACKLIST_STATE) { return; } } if (component2.health > 0f) { if (((Object)component2.body).name.Contains("BayoBody")) { val.AddComponent(); val2.SetNextState((EntityState)(object)new BayoFreeze { duration = duration }); } else { val2.SetNextState((EntityState)(object)new EnemyFreeze { duration = duration }); } } break; } } } } } public class WickedWeave : MonoBehaviour { public float startTime = 0.32f; public float hitboxEnd = 1.12f; private Timer timer; private ProjectileOverlapAttack poa; private ShakeEmitter shakeEmitter; private void Start() { poa = ((Component)this).GetComponent(); ((Behaviour)poa).enabled = false; timer = ((Component)this).GetComponent(); shakeEmitter = ((Component)this).GetComponent(); ((Behaviour)shakeEmitter).enabled = false; } private void Update() { if (timer.stopwatch >= startTime && timer.stopwatch <= hitboxEnd) { ((Behaviour)poa).enabled = true; ((Behaviour)shakeEmitter).enabled = true; } if (timer.stopwatch > hitboxEnd) { ((Behaviour)poa).enabled = false; } } } } namespace BayoMod.Characters.Survivors.Bayo.SkillStates { public class ABK : BaseMeleeAttack { private Vector3 forwardDir; private bool hasExtended; private string animName; protected AnimationCurve kickSpeed; protected Vector3 speedVec; protected Ray saveRay; private ABKRotator abkr; private float rotTime = 0.18f; private bool rotated = false; private bool down = false; public override void OnEnter() { //IL_003b: 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_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_0070: Unknown result type (might be due to invalid IL or missing references) //IL_0075: Unknown result type (might be due to invalid IL or missing references) //IL_007c: Unknown result type (might be due to invalid IL or missing references) //IL_0081: Unknown result type (might be due to invalid IL or missing references) //IL_00d2: Unknown result type (might be due to invalid IL or missing references) //IL_00d7: Unknown result type (might be due to invalid IL or missing references) //IL_0100: Unknown result type (might be due to invalid IL or missing references) //IL_0112: Unknown result type (might be due to invalid IL or missing references) //IL_0118: Unknown result type (might be due to invalid IL or missing references) //IL_0119: Unknown result type (might be due to invalid IL or missing references) //IL_01c0: Unknown result type (might be due to invalid IL or missing references) //IL_01c5: Unknown result type (might be due to invalid IL or missing references) //IL_01d6: Unknown result type (might be due to invalid IL or missing references) //IL_01db: Unknown result type (might be due to invalid IL or missing references) //IL_01ec: Unknown result type (might be due to invalid IL or missing references) //IL_01f1: Unknown result type (might be due to invalid IL or missing references) //IL_0202: Unknown result type (might be due to invalid IL or missing references) //IL_0207: Unknown result type (might be due to invalid IL or missing references) //IL_020c: Unknown result type (might be due to invalid IL or missing references) //IL_0216: Expected O, but got Unknown //IL_0150: Unknown result type (might be due to invalid IL or missing references) //IL_0155: Unknown result type (might be due to invalid IL or missing references) //IL_0166: 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_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_0190: Expected O, but got Unknown duration = 0.65f; attackStartPercentTime = 0.05f; attackEndPercentTime = 1f; damageCoefficient = 3.75f; procCoefficient = 1f; damageType = DamageTypeCombo.op_Implicit((DamageType)32); hitStopDuration = 0.1f; attackRecoil = 1f; hitHopVelocity = 4f; Ray aimRay = ((BaseState)this).GetAimRay(); forwardDir = ((Ray)(ref aimRay)).direction; saveRay = ((BaseState)this).GetAimRay(); voice = true; voiceString = "stompabk"; Util.PlaySound("abk", ((EntityState)this).gameObject); ReplacePrefabs(BayoAssets.abk, BayoAssets.abk2); muzzleString = "ABKC"; playSwing = 0.15f; shootRay = ((BaseState)this).GetAimRay(); gunName = "muzrf"; gunDamage = 0.75f; m2Refund = true; ((EntityState)this).characterDirection.forward = forwardDir; CharacterBody characterBody = ((EntityState)this).characterBody; characterBody.bodyFlags = (BodyFlags)(characterBody.bodyFlags | 1); if ((double)forwardDir.y <= -0.5) { kickSpeed = new AnimationCurve((Keyframe[])(object)new Keyframe[3] { new Keyframe(0f, 1.5f), new Keyframe(0.2f, 7f), new Keyframe(0.5f, 7f) }); launch = false; down = true; animName = "AbkDown"; } else { kickSpeed = new AnimationCurve((Keyframe[])(object)new Keyframe[4] { new Keyframe(0f, 1.5f), new Keyframe(0.2f, 7f), new Keyframe(0.5f, 7f), new Keyframe(0.75f, 1.5f) }); launch = true; animName = "Abk"; } abkr = ((EntityState)this).GetComponent(); ((EntityState)this).PlayAnimation("Body", animName, playbackRateParam, duration, 0f); ((BaseCharacterController)((EntityState)this).characterMotor).Motor.ForceUnground(0.1f); exitToStance = false; hasExtended = false; base.OnEnter(); } public override void FixedUpdate() { //IL_000a: Unknown result type (might be due to invalid IL or missing references) //IL_000f: Unknown result type (might be due to invalid IL or missing references) //IL_0111: Unknown result type (might be due to invalid IL or missing references) //IL_0155: Unknown result type (might be due to invalid IL or missing references) //IL_015c: 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_0178: Unknown result type (might be due to invalid IL or missing references) //IL_017d: Unknown result type (might be due to invalid IL or missing references) //IL_01c3: Unknown result type (might be due to invalid IL or missing references) //IL_01c8: Unknown result type (might be due to invalid IL or missing references) //IL_0217: Unknown result type (might be due to invalid IL or missing references) //IL_021c: Unknown result type (might be due to invalid IL or missing references) base.FixedUpdate(); shootRay = ((BaseState)this).GetAimRay(); if (((EntityState)this).inputBank.skill2.down && ((EntityState)this).isAuthority) { fireTime = 0.15f / ((BaseState)this).attackSpeedStat; } else { fireTime = 9999f; } if (CanDodge()) { ((EntityState)this).outer.SetNextState((EntityState)(object)new Dodge()); ((EntityState)this).inputBank.skill3.hasPressBeenClaimed = true; return; } if (stopwatch >= 0.1f && down && ((ButtonState)(ref ((EntityState)this).inputBank.jump)).justPressed && ((EntityState)this).characterMotor.jumpCount < ((EntityState)this).characterBody.maxJumpCount) { ((ButtonState)(ref ((EntityState)this).inputBank.jump)).PushState(false); ((EntityState)this).outer.SetNextStateToMain(); return; } if (Object.op_Implicit((Object)(object)((EntityState)this).characterDirection)) { ((EntityState)this).characterDirection.forward = forwardDir; } if (!inHitPause && Object.op_Implicit((Object)(object)((EntityState)this).characterMotor)) { float num = kickSpeed.Evaluate(stopwatch / duration); speedVec = forwardDir * num * ((BaseState)this).moveSpeedStat; ((EntityState)this).characterMotor.velocity = speedVec; } if (stopwatch >= rotTime && !rotated) { abkr.rotate = true; abkr.rVFX = true; abkr.lookDir = forwardDir; rotated = true; } if (stopwatch >= duration && ((EntityState)this).isAuthority) { if (((EntityState)this).inputBank.skill2.down) { ((EntityState)this).outer.SetNextState((EntityState)(object)new ABKEnd { forwardDirr = forwardDir }); hasExtended = true; } else { ((EntityState)this).outer.SetNextStateToMain(); } } } protected override void RemoveHitstop() { base.RemoveHitstop(); ((BaseCharacterController)((EntityState)this).characterMotor).Motor.ForceUnground(0.1f); } public override void OnExit() { //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_005d: 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_0065: Unknown result type (might be due to invalid IL or missing references) abkr.rVFX = false; if (!hasExtended) { ((EntityState)this).PlayAnimation("Body", "AbkExit"); abkr.lookDir = Vector3.zero; abkr.rotate = false; } if (!down) { CharacterBody characterBody = ((EntityState)this).characterBody; characterBody.bodyFlags = (BodyFlags)(characterBody.bodyFlags & -2); } LastHit(); base.OnExit(); } protected override void FireAttack() { //IL_0017: Unknown result type (might be due to invalid IL or missing references) //IL_001c: 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) base.FireAttack(); if (!launch) { return; } TeamIndex team = ((BaseState)this).GetTeam(); for (int i = 0; i < results.Count; i++) { item = results[i]; if (FriendlyFireManager.ShouldDirectHitProceed(item, team) && (!item.body.isChampion || (((Object)((Component)item).gameObject).name.Contains("Brother") && ((Object)((Component)item).gameObject).name.Contains("Body"))) && Object.op_Implicit((Object)(object)item) && Object.op_Implicit((Object)(object)((Component)item).transform)) { ApplyForce2(); } } } protected override void ApplyForce() { //IL_00a0: 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_00ce: 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_00e3: 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_00f5: Unknown result type (might be due to invalid IL or missing references) //IL_00fa: Unknown result type (might be due to invalid IL or missing references) //IL_014c: Unknown result type (might be due to invalid IL or missing references) //IL_0157: Unknown result type (might be due to invalid IL or missing references) //IL_017a: Unknown result type (might be due to invalid IL or missing references) //IL_0185: Unknown result type (might be due to invalid IL or missing references) //IL_018f: Unknown result type (might be due to invalid IL or missing references) //IL_019c: Unknown result type (might be due to invalid IL or missing references) //IL_01a1: Unknown result type (might be due to invalid IL or missing references) CharacterBody body = item.body; bool flag = body.healthComponent.combinedHealth <= body.maxHealth * 0.5f; if (!Object.op_Implicit((Object)(object)body)) { return; } if (Object.op_Implicit((Object)(object)((Component)body).GetComponent())) { ((Component)body).GetComponent().ForceUnground(0.1f); } if (Object.op_Implicit((Object)(object)body.characterMotor) && (body.HasBuff(BayoBuffs.wtDebuff) || flag || body.characterMotor.mass < 300f)) { float num = Vector3.Distance(((EntityState)this).characterBody.transform.position, body.transform.position); if (num > 2.5f) { CharacterMotor characterMotor = body.characterMotor; characterMotor.rootMotion += ((Vector3)(ref speedVec)).normalized * -1f * (num - 2.5f); } } else if (Object.op_Implicit((Object)(object)body.rigidbody) && (body.HasBuff(BayoBuffs.wtDebuff) || flag || body.rigidbody.mass < 300f)) { float num2 = Vector3.Distance(((EntityState)this).characterBody.transform.position, body.transform.position); if (num2 > 2.5f) { Rigidbody rigidbody = body.rigidbody; rigidbody.position += ((Vector3)(ref speedVec)).normalized * -1f * (num2 - 2.5f); } } } private void ApplyForce2() { //IL_0096: 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_00a5: Unknown result type (might be due to invalid IL or missing references) //IL_00ad: Unknown result type (might be due to invalid IL or missing references) //IL_00af: Unknown result type (might be due to invalid IL or missing references) //IL_00f6: 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_0105: Unknown result type (might be due to invalid IL or missing references) //IL_010d: Unknown result type (might be due to invalid IL or missing references) CharacterBody body = item.body; bool flag = body.healthComponent.combinedHealth <= body.maxHealth * 0.5f; if (!Object.op_Implicit((Object)(object)body)) { return; } if (Object.op_Implicit((Object)(object)((Component)body).GetComponent())) { ((Component)body).GetComponent().ForceUnground(0.1f); } if (Object.op_Implicit((Object)(object)body.characterMotor) && (body.HasBuff(BayoBuffs.wtDebuff) || flag || body.characterMotor.mass < 300f)) { Vector3 velocity = speedVec * 0.9f; body.characterMotor.velocity = velocity; } else if (Object.op_Implicit((Object)(object)body.rigidbody) && (body.HasBuff(BayoBuffs.wtDebuff) || flag || body.rigidbody.mass < 300f)) { Vector3 velocity2 = speedVec * 0.9f; body.rigidbody.velocity = velocity2; if (Object.op_Implicit((Object)(object)((Component)item).GetComponent())) { ((Component)item).GetComponent().canTakeImpactDamage = false; } } } private void LastHit() { //IL_000e: Unknown result type (might be due to invalid IL or missing references) //IL_0013: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_00c7: Unknown result type (might be due to invalid IL or missing references) //IL_00d1: Unknown result type (might be due to invalid IL or missing references) //IL_00d6: Unknown result type (might be due to invalid IL or missing references) //IL_010a: Unknown result type (might be due to invalid IL or missing references) //IL_0114: Unknown result type (might be due to invalid IL or missing references) int count = results.Count; TeamIndex team = ((BaseState)this).GetTeam(); for (int i = 0; i < count; i++) { HealthComponent val = results[i]; if (!Object.op_Implicit((Object)(object)val) || !Object.op_Implicit((Object)(object)((Component)val).transform) || !FriendlyFireManager.ShouldDirectHitProceed(val, team) || (val.body.isChampion && (!((Object)((Component)val).gameObject).name.Contains("Brother") || !((Object)((Component)val).gameObject).name.Contains("Body")))) { continue; } CharacterBody body = val.body; if (Object.op_Implicit((Object)(object)body) && Object.op_Implicit((Object)(object)body.characterMotor)) { body.characterMotor.velocity = ((Vector3)(ref speedVec)).normalized * 1.3499999f; } else if (Object.op_Implicit((Object)(object)body) && Object.op_Implicit((Object)(object)body.rigidbody)) { body.rigidbody.velocity = ((Vector3)(ref speedVec)).normalized * 1.3499999f; if (Object.op_Implicit((Object)(object)((Component)val).GetComponent())) { ((Component)val).GetComponent().canTakeImpactDamage = true; } } } } } public class ABKEnd : BaseMeleeAttack { public Vector3 forwardDirr; protected AnimationCurve hoverSpeed; private Transform boneTrans; private ABKRotator abkr; protected float fireAge; protected float fireFreq; protected float hopVelocity = 2f; public override void OnEnter() { //IL_003f: 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_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_0070: Unknown result type (might be due to invalid IL or missing references) //IL_0075: Unknown result type (might be due to invalid IL or missing references) //IL_0086: Unknown result type (might be due to invalid IL or missing references) //IL_008b: 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_009a: Expected O, but got Unknown //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) duration = 0.4f; attackStartPercentTime = 0f; attackEndPercentTime = 1f; damageCoefficient = 0f; procCoefficient = 0f; ((EntityState)this).characterDirection.forward = forwardDirr; CharacterBody characterBody = ((EntityState)this).characterBody; characterBody.bodyFlags = (BodyFlags)(characterBody.bodyFlags | 1); hoverSpeed = new AnimationCurve((Keyframe[])(object)new Keyframe[2] { new Keyframe(0f, 1.5f), new Keyframe(0.3f, 0.5f) }); ModelLocator component = ((EntityState)this).gameObject.GetComponent(); ChildLocator component2 = ((Component)component.modelTransform).GetComponent(); if (Object.op_Implicit((Object)(object)component2)) { int num = component2.FindChildIndex("BoneR"); boneTrans = component2.FindChild(num); } abkr = ((EntityState)this).GetComponent(); ((BaseCharacterController)((EntityState)this).characterMotor).Motor.ForceUnground(0.1f); exitToStance = false; shootRay = ((BaseState)this).GetAimRay(); gunName = "muzrf"; gunDamage = 1f; fireTime = 0.15f; launch = true; base.OnEnter(); juggleHop = 2.5f / ((BaseState)this).attackSpeedStat; fireFreq = 0.15f / ((BaseState)this).attackSpeedStat; } public override void FixedUpdate() { //IL_000a: Unknown result type (might be due to invalid IL or missing references) //IL_000f: Unknown result type (might be due to invalid IL or missing references) //IL_005c: Unknown result type (might be due to invalid IL or missing references) //IL_00a2: 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_00b3: Unknown result type (might be due to invalid IL or missing references) //IL_00b8: Unknown result type (might be due to invalid IL or missing references) base.FixedUpdate(); shootRay = ((BaseState)this).GetAimRay(); if (CanDodge()) { ((EntityState)this).outer.SetNextState((EntityState)(object)new Dodge()); ((EntityState)this).inputBank.skill3.hasPressBeenClaimed = true; return; } if (Object.op_Implicit((Object)(object)((EntityState)this).characterDirection)) { ((EntityState)this).characterDirection.forward = forwardDirr; } if (!inHitPause && Object.op_Implicit((Object)(object)((EntityState)this).characterMotor)) { float num = hoverSpeed.Evaluate(stopwatch / duration); ((EntityState)this).characterMotor.velocity = forwardDirr * num * ((BaseState)this).moveSpeedStat; ((EntityState)this).characterMotor.velocity.y = -1.25f; } fireAge += Time.fixedDeltaTime; if (!((EntityState)this).inputBank.skill2.down) { ((EntityState)this).outer.SetNextStateToMain(); } } protected override void FireAttack() { if (fireAge >= fireFreq) { fireAge = 0f; hasFired = false; results.Clear(); if (Object.op_Implicit((Object)(object)((EntityState)this).characterMotor) && hopVelocity > 0f) { ((BaseState)this).SmallHop(((EntityState)this).characterMotor, hopVelocity); } } base.FireAttack(); } public override void OnExit() { //IL_0018: 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_0035: 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_003d: Unknown result type (might be due to invalid IL or missing references) ((EntityState)this).PlayAnimation("Body", "AbkExit"); abkr.lookDir = Vector3.zero; abkr.rotate = false; CharacterBody characterBody = ((EntityState)this).characterBody; characterBody.bodyFlags = (BodyFlags)(characterBody.bodyFlags & -2); base.OnExit(); } } public class BayoFreeze : BaseSkillState { private Animator animator; internal float duration; internal float previousAttackSpeedStat; private Animator modelAnimator; public float snap2 = 0.456f; private bool snap2ed = false; protected CharacterCameraParams cameraParams; protected CameraParamsOverrideHandle cameraParamsOverrideHandle; private CameraRigController Camera; private Vector3 lookDir; private Vector3 dir1; private Vector3 dir2; public UIController uiController; public override void OnEnter() { //IL_005b: Unknown result type (might be due to invalid IL or missing references) //IL_00a2: Unknown result type (might be due to invalid IL or missing references) //IL_00a7: 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_0081: Unknown result type (might be due to invalid IL or missing references) //IL_00e4: Unknown result type (might be due to invalid IL or missing references) //IL_00e9: Unknown result type (might be due to invalid IL or missing references) //IL_00ed: Unknown result type (might be due to invalid IL or missing references) //IL_00f2: Unknown result type (might be due to invalid IL or missing references) //IL_00ca: 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_0184: Unknown result type (might be due to invalid IL or missing references) //IL_0189: Unknown result type (might be due to invalid IL or missing references) //IL_01a8: Unknown result type (might be due to invalid IL or missing references) //IL_01ad: Unknown result type (might be due to invalid IL or missing references) //IL_01b2: Unknown result type (might be due to invalid IL or missing references) //IL_01d5: Unknown result type (might be due to invalid IL or missing references) //IL_01e3: Unknown result type (might be due to invalid IL or missing references) //IL_01e8: Unknown result type (might be due to invalid IL or missing references) //IL_01f9: Unknown result type (might be due to invalid IL or missing references) //IL_0200: Unknown result type (might be due to invalid IL or missing references) //IL_0205: Unknown result type (might be due to invalid IL or missing references) ((BaseState)this).OnEnter(); modelAnimator = ((EntityState)this).GetModelAnimator(); if (Object.op_Implicit((Object)(object)modelAnimator)) { ((Behaviour)modelAnimator).enabled = false; } if (Object.op_Implicit((Object)(object)((EntityState)this).rigidbody) && !((EntityState)this).rigidbody.isKinematic) { ((EntityState)this).rigidbody.velocity = Vector3.zero; if (Object.op_Implicit((Object)(object)((EntityState)this).rigidbodyMotor)) { ((EntityState)this).rigidbodyMotor.moveVector = Vector3.zero; } } if (Object.op_Implicit((Object)(object)((EntityState)this).characterBody.characterMotor)) { ((EntityState)this).characterMotor.velocity = Vector3.zero; } if (Object.op_Implicit((Object)(object)((EntityState)this).characterDirection)) { ((EntityState)this).characterDirection.moveVector = ((EntityState)this).characterDirection.forward; } ((EntityState)this).characterBody.isSprinting = false; Ray aimRay = ((BaseState)this).GetAimRay(); lookDir = ((Ray)(ref aimRay)).direction; GetRandomDirections(); Util.PlaySound("clear", ((EntityState)this).gameObject); if (NetworkServer.active && Object.op_Implicit((Object)(object)((EntityState)this).characterBody)) { ((EntityState)this).characterBody.AddTimedBuff(BayoBuffs.snapBuff, 0.09f); ((EntityState)this).characterBody.AddTimedBuff(Buffs.HiddenInvincibility, 1.25f); } cameraParams = ScriptableObject.CreateInstance(); ((Object)cameraParams).name = "clearzoom"; cameraParams.data.wallCushion = BlendableFloat.op_Implicit(0.1f); cameraParams.data.idealLocalCameraPos = BlendableVector3.op_Implicit(new Vector3(0f, -2f, -6.5f)); if (Object.op_Implicit((Object)(object)((EntityState)this).cameraTargetParams)) { cameraParamsOverrideHandle = ((EntityState)this).cameraTargetParams.AddParamsOverride(new CameraParamsOverrideRequest { cameraParamsData = cameraParams.data, priority = 1f }, 0f); if (Object.op_Implicit((Object)(object)((EntityState)this).characterBody.master.playerCharacterMasterController.networkUser)) { Camera = ((EntityState)this).characterBody.master.playerCharacterMasterController.networkUser.cameraRigController; } } uiController = ((EntityState)this).gameObject.GetComponent(); if (((EntityState)this).isAuthority) { uiController.SetRORUIActiveState(state: false); } } private void GetRandomDirections() { //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_0053: 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_010d: Unknown result type (might be due to invalid IL or missing references) //IL_0112: Unknown result type (might be due to invalid IL or missing references) //IL_0118: Unknown result type (might be due to invalid IL or missing references) //IL_011d: Unknown result type (might be due to invalid IL or missing references) //IL_0122: Unknown result type (might be due to invalid IL or missing references) List list = new List(); for (int i = 45; i <= 315; i++) { list.Add(i); } int num = list[Random.Range(0, list.Count - 1)]; dir1 = Quaternion.AngleAxis((float)num, Vector3.up) * lookDir; dir1.y = Random.Range(-0.5f, 0.5f); List list2 = new List(); for (int j = num - 45; j <= num + 45; j++) { list2.Add(j); } foreach (int item in list2) { if (list.Contains(item)) { list.Remove(item); } } int num2 = list[Random.Range(0, list.Count - 1)]; dir2 = Quaternion.AngleAxis((float)num2, Vector3.up) * lookDir; dir2.y = Random.Range(-0.5f, 0.5f); } public override void OnExit() { //IL_0099: 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_00a8: Unknown result type (might be due to invalid IL or missing references) //IL_00d6: Unknown result type (might be due to invalid IL or missing references) //IL_00e0: Unknown result type (might be due to invalid IL or missing references) //IL_00e6: Unknown result type (might be due to invalid IL or missing references) if (Object.op_Implicit((Object)(object)modelAnimator)) { ((Behaviour)modelAnimator).enabled = true; } CharacterModel component = ((Component)((EntityState)this).GetModelTransform()).GetComponent(); if (Object.op_Implicit((Object)(object)component)) { component.forceUpdate = true; } if (NetworkServer.active && Object.op_Implicit((Object)(object)((EntityState)this).characterBody)) { ((EntityState)this).characterBody.AddTimedBuff(BayoBuffs.snapBuff, 0.09f); } if (Object.op_Implicit((Object)(object)((EntityState)this).cameraTargetParams) && ((CameraParamsOverrideHandle)(ref cameraParamsOverrideHandle)).isValid) { cameraParamsOverrideHandle = ((EntityState)this).cameraTargetParams.RemoveParamsOverride(cameraParamsOverrideHandle, 0f); } if (Object.op_Implicit((Object)(object)Camera)) { ((InstanceData)Camera.cameraMode.camToRawInstanceData[UnityObjectWrapperKey.op_Implicit(Camera)]).SetPitchYawFromLookVector(lookDir); } if (((EntityState)this).isAuthority) { uiController.SetRORUIActiveState(state: true); } ((EntityState)this).OnExit(); } public override void FixedUpdate() { //IL_002f: Unknown result type (might be due to invalid IL or missing references) //IL_0034: Unknown result type (might be due to invalid IL or missing references) //IL_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_0088: Unknown result type (might be due to invalid IL or missing references) //IL_00d1: Unknown result type (might be due to invalid IL or missing references) //IL_00db: 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_0131: Unknown result type (might be due to invalid IL or missing references) //IL_013b: Unknown result type (might be due to invalid IL or missing references) //IL_0141: Unknown result type (might be due to invalid IL or missing references) ((EntityState)this).FixedUpdate(); ((BaseState)this).attackSpeedStat = 0f; if (Object.op_Implicit((Object)(object)((EntityState)this).characterDirection)) { ((EntityState)this).characterDirection.moveVector = ((EntityState)this).characterDirection.forward; } if (Object.op_Implicit((Object)(object)((EntityState)this).characterBody.characterMotor)) { ((EntityState)this).characterMotor.velocity = Vector3.zero; if (!((EntityState)this).characterMotor.isGrounded) { ((EntityState)this).characterMotor.velocity.y -= Time.fixedDeltaTime * Physics.gravity.y; } } if (((EntityState)this).fixedAge < snap2 && Object.op_Implicit((Object)(object)Camera)) { ((InstanceData)Camera.cameraMode.camToRawInstanceData[UnityObjectWrapperKey.op_Implicit(Camera)]).SetPitchYawFromLookVector(dir1); } if (((EntityState)this).fixedAge >= snap2) { if (Object.op_Implicit((Object)(object)Camera)) { ((InstanceData)Camera.cameraMode.camToRawInstanceData[UnityObjectWrapperKey.op_Implicit(Camera)]).SetPitchYawFromLookVector(dir2); } if (NetworkServer.active && Object.op_Implicit((Object)(object)((EntityState)this).characterBody) && !snap2ed) { snap2ed = true; ((EntityState)this).characterBody.AddTimedBuff(BayoBuffs.snapBuff, 0.09f); } } if (((EntityState)this).isAuthority && ((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)7; } public override void OnSerialize(NetworkWriter writer) { ((BaseSkillState)this).OnSerialize(writer); writer.Write(duration); } public override void OnDeserialize(NetworkReader reader) { ((BaseSkillState)this).OnDeserialize(reader); duration = reader.ReadSingle(); } } public class Break : RisingFinisher { private RootMotionAccumulator rootMotionAccumulator; public AimRequest aimRequest; public static CharacterCameraParams cameraParams; private CameraParamsOverrideHandle cameraParamsOverrideHandle; private CharacterCameraParams BreakFirst; private CharacterCameraParams BreakSec; public CameraRigController Camera; private Vector3 rotateAngle; protected float pose = 0.88f; protected float poseTimer = 999f; private bool snapped = false; private bool sounded = false; private bool inPose = false; private bool posed = false; private HitStopCachedState poseCachedState; private BayoController bwc; private bool flip = false; public GameObject glint = BayoAssets.glintL; public override void OnEnter() { //IL_010b: Unknown result type (might be due to invalid IL or missing references) //IL_0118: Unknown result type (might be due to invalid IL or missing references) //IL_011d: Unknown result type (might be due to invalid IL or missing references) //IL_012e: Unknown result type (might be due to invalid IL or missing references) //IL_0134: Unknown result type (might be due to invalid IL or missing references) //IL_0139: Unknown result type (might be due to invalid IL or missing references) dur = 4.04f; attackStart = 0f; earlyEnd = 2.64f; attackEnd = 0.653f; rootMotionAccumulator = ((EntityState)this).GetModelRootMotionAccumulator(); if (NetworkServer.active) { ((EntityState)this).characterBody.AddBuff(Buffs.Slow50); ((EntityState)this).characterBody.AddBuff(BayoBuffs.armorBuff); } CreateCameras(); muzName = "muzrf"; frTime = 0.15f; damage = 1.2f; blastDamage = 0.5f; blastRadius = 30f; hgn = "CoverGroup2"; hbn = "Envelop2"; effect = null; effect2 = null; bwc = ((EntityState)this).gameObject.GetComponent(); m2Refund = true; base.OnEnter(); cameraParams = BreakFirst; if (Object.op_Implicit((Object)(object)((EntityState)this).cameraTargetParams)) { cameraParamsOverrideHandle = ((EntityState)this).cameraTargetParams.AddParamsOverride(new CameraParamsOverrideRequest { cameraParamsData = cameraParams.data, priority = 1f }, 0.3f); } exitToStance = true; } public override void FixedUpdate() { //IL_01a7: Unknown result type (might be due to invalid IL or missing references) //IL_01ac: Unknown result type (might be due to invalid IL or missing references) //IL_01b1: Unknown result type (might be due to invalid IL or missing references) //IL_01b4: Unknown result type (might be due to invalid IL or missing references) //IL_01b9: Unknown result type (might be due to invalid IL or missing references) //IL_01c7: Unknown result type (might be due to invalid IL or missing references) //IL_01c9: Unknown result type (might be due to invalid IL or missing references) //IL_01cb: Unknown result type (might be due to invalid IL or missing references) //IL_01d0: Unknown result type (might be due to invalid IL or missing references) //IL_01e0: Unknown result type (might be due to invalid IL or missing references) //IL_01e5: Unknown result type (might be due to invalid IL or missing references) //IL_0201: Unknown result type (might be due to invalid IL or missing references) //IL_0206: Unknown result type (might be due to invalid IL or missing references) //IL_0221: Unknown result type (might be due to invalid IL or missing references) //IL_022b: Unknown result type (might be due to invalid IL or missing references) //IL_0231: Unknown result type (might be due to invalid IL or missing references) //IL_0085: Unknown result type (might be due to invalid IL or missing references) //IL_009c: Unknown result type (might be due to invalid IL or missing references) //IL_00a1: 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_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_0123: 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_00e8: Unknown result type (might be due to invalid IL or missing references) //IL_00ed: 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_010a: Unknown result type (might be due to invalid IL or missing references) //IL_0155: Unknown result type (might be due to invalid IL or missing references) //IL_015a: Unknown result type (might be due to invalid IL or missing references) //IL_015c: Unknown result type (might be due to invalid IL or missing references) //IL_0161: Unknown result type (might be due to invalid IL or missing references) //IL_0382: Unknown result type (might be due to invalid IL or missing references) //IL_03d6: Unknown result type (might be due to invalid IL or missing references) //IL_03e0: Unknown result type (might be due to invalid IL or missing references) //IL_03e5: Unknown result type (might be due to invalid IL or missing references) base.FixedUpdate(); if (((EntityState)this).inputBank.jump.down) { ((ButtonState)(ref ((EntityState)this).inputBank.jump)).PushState(false); ((EntityState)this).outer.SetNextStateToMain(); return; } if (((EntityState)this).characterMotor.isGrounded) { if (((EntityState)this).isAuthority && Object.op_Implicit((Object)(object)((EntityState)this).characterMotor) && !hasEnded) { ((EntityState)this).characterMotor.moveDirection = ((EntityState)this).inputBank.moveVector; ((EntityState)this).characterDirection.moveVector = ((EntityState)this).characterMotor.moveDirection; } if (Object.op_Implicit((Object)(object)rootMotionAccumulator) && hasEnded) { if (((EntityState)this).isAuthority && Object.op_Implicit((Object)(object)((EntityState)this).characterMotor)) { ((EntityState)this).inputBank.moveVector = Vector3.zero; ((EntityState)this).characterMotor.moveDirection = Vector3.zero; ((EntityState)this).characterDirection.forward = forwardDir; } Vector3 val = rootMotionAccumulator.ExtractRootMotion(); if (val != Vector3.zero && ((EntityState)this).isAuthority && Object.op_Implicit((Object)(object)((EntityState)this).characterMotor)) { CharacterMotor characterMotor = ((EntityState)this).characterMotor; characterMotor.rootMotion += val; } } else { rootMotionAccumulator.accumulatedRootMotion = Vector3.zero; } } if (hasEnded && Object.op_Implicit((Object)(object)Camera)) { Quaternion val2 = Quaternion.AngleAxis(207.5f, Vector3.up); Vector3 val3 = forwardDir; val3.y = 0f; val3 = val2 * val3; val3.y = 0.15f; rotateAngle = Vector3.Lerp(forwardDir, val3, (stopwatch - earlyEnd) / (pose + 0.1f)); ((InstanceData)Camera.cameraMode.camToRawInstanceData[UnityObjectWrapperKey.op_Implicit(Camera)]).SetPitchYawFromLookVector(rotateAngle); } if (stopwatch >= earlyEnd + pose && !posed) { ApplyPause(); if (((EntityState)this).isAuthority) { EffectManager.SimpleMuzzleFlash(glint, ((EntityState)this).gameObject, "glint", true); } } if (poseTimer <= 0.5f && !sounded) { Util.PlaySound("snap", ((EntityState)this).gameObject); sounded = true; } if (poseTimer <= 0.46f && !snapped) { ((EntityState)this).characterBody.AddTimedBuff(BayoBuffs.snapBuff, 0.06f); snapped = true; } if (inPose) { stopwatch -= Time.fixedDeltaTime; poseTimer -= Time.fixedDeltaTime; if (Object.op_Implicit((Object)(object)animator)) { animator.SetFloat(playbackRateParam, 0f); } } if (poseTimer <= 0f && inPose) { ((BaseState)this).ConsumeHitStopCachedState(poseCachedState, ((EntityState)this).characterMotor, animator); inPose = false; bwc.currentWeapon = BayoController.WeaponState.Guns; if (Object.op_Implicit((Object)(object)((EntityState)this).cameraTargetParams) && ((CameraParamsOverrideHandle)(ref cameraParamsOverrideHandle)).isValid) { cameraParamsOverrideHandle = ((EntityState)this).cameraTargetParams.RemoveParamsOverride(cameraParamsOverrideHandle, 0.8f); } } } protected override void FireAttack() { //IL_015b: Unknown result type (might be due to invalid IL or missing references) //IL_0162: 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_016e: Unknown result type (might be due to invalid IL or missing references) //IL_0173: Unknown result type (might be due to invalid IL or missing references) //IL_0178: 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) //IL_00b3: 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) //IL_00c4: Unknown result type (might be due to invalid IL or missing references) //IL_00c9: Unknown result type (might be due to invalid IL or missing references) if (fireAge >= fireFreq) { if (!flip) { flip = true; muzName = "muzlf"; gunName = muzName; if (Object.op_Implicit((Object)(object)component2)) { int num = component2.FindChildIndex(muzName); Transform val = component2.FindChild(num); int num2 = component2.FindChildIndex(muzName + "f"); Transform val2 = component2.FindChild(num2); gunRay = new Ray(((EntityState)this).transform.position, val2.position - val.position); } } else { flip = false; muzName = "muzrf"; gunName = muzName; if (Object.op_Implicit((Object)(object)component2)) { int num3 = component2.FindChildIndex(muzName); Transform val3 = component2.FindChild(num3); int num4 = component2.FindChildIndex(muzName + "f"); Transform val4 = component2.FindChild(num4); gunRay = new Ray(((EntityState)this).transform.position, val4.position - val3.position); } } } base.FireAttack(); } private void CreateCameras() { //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_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) //IL_005b: Unknown result type (might be due to invalid IL or missing references) //IL_008c: Unknown result type (might be due to invalid IL or missing references) //IL_0091: 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_00ab: Unknown result type (might be due to invalid IL or missing references) //IL_00c0: Unknown result type (might be due to invalid IL or missing references) //IL_00c5: Unknown result type (might be due to invalid IL or missing references) //IL_00e4: Unknown result type (might be due to invalid IL or missing references) //IL_00e9: 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) BreakFirst = ScriptableObject.CreateInstance(); ((Object)BreakFirst).name = "BreakFirst"; BreakFirst.data.wallCushion = BlendableFloat.op_Implicit(0.1f); BreakFirst.data.idealLocalCameraPos = BlendableVector3.op_Implicit(new Vector3(0f, -1.5f, -7f)); BreakSec = ScriptableObject.CreateInstance(); ((Object)BreakSec).name = "BreakSec"; BreakSec.data.wallCushion = BlendableFloat.op_Implicit(0.1f); BreakSec.data.maxPitch = BlendableFloat.op_Implicit(-15f); BreakSec.data.minPitch = BlendableFloat.op_Implicit(-15f); BreakSec.data.idealLocalCameraPos = BlendableVector3.op_Implicit(new Vector3(0f, -3.6f, -4.5f)); } private void ApplyPause() { //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) if (!inPose) { poseCachedState = ((BaseState)this).CreateHitStopCachedState(((EntityState)this).characterMotor, animator, playbackRateParam); inPose = true; posed = true; poseTimer = 0.8f; } } protected override void EnterAttack() { hasFired = true; PlaySwingEffect(); if (((EntityState)this).isAuthority) { ((BaseState)this).AddRecoil(-1f * attackRecoil, -2f * attackRecoil, -0.5f * attackRecoil, 0.5f * attackRecoil); } } protected override void DetermineCancel() { //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) if (!Object.op_Implicit((Object)(object)((EntityState)this).inputBank)) { return; } if (stopwatch >= earlyExitPercentTime + 0.88f) { if (((EntityState)this).inputBank.skill1.down) { cancel = true; } if (((EntityState)this).inputBank.skill3.down) { cancel = true; } if (((EntityState)this).inputBank.skill4.down) { cancel = true; } if (((EntityState)this).inputBank.moveVector != Vector3.zero) { cancel = true; } } if (((ButtonState)(ref ((EntityState)this).inputBank.jump)).justPressed) { cancel = true; jumped = true; } } protected override void PlayAnim() { //IL_004e: 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) ((EntityState)this).PlayAnimation("Body", "Break", playbackRateParam, 1.32f, 0f); if (Object.op_Implicit((Object)(object)((EntityState)this).characterMotor) && Object.op_Implicit((Object)(object)((EntityState)this).characterDirection)) { ((EntityState)this).characterMotor.velocity = ((EntityState)this).characterMotor.velocity * 0f; } } protected override void FinisherSpecific() { //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_003f: 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_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_0060: 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_00d8: Unknown result type (might be due to invalid IL or missing references) //IL_00e2: Unknown result type (might be due to invalid IL or missing references) //IL_00e7: Unknown result type (might be due to invalid IL or missing references) //IL_0100: Unknown result type (might be due to invalid IL or missing references) //IL_010d: Unknown result type (might be due to invalid IL or missing references) //IL_0112: Unknown result type (might be due to invalid IL or missing references) //IL_0123: Unknown result type (might be due to invalid IL or missing references) //IL_0129: Unknown result type (might be due to invalid IL or missing references) //IL_012e: Unknown result type (might be due to invalid IL or missing references) if (!(stopwatch >= earlyExitPercentTime) || hasEnded) { return; } hasEnded = true; fireTime = 9999f; Ray aimRay = ((BaseState)this).GetAimRay(); forwardDir = ((Ray)(ref aimRay)).direction; ((EntityState)this).inputBank.moveVector = Vector3.zero; ((EntityState)this).characterMotor.moveDirection = forwardDir; ((EntityState)this).characterDirection.moveVector = forwardDir; ((EntityState)this).PlayAnimation("Body", "BreakExit", playbackRateParam, duration - earlyExitPercentTime, 0f); bwc.currentWeapon = BayoController.WeaponState.Break; if (Object.op_Implicit((Object)(object)((EntityState)this).cameraTargetParams) & ((CameraParamsOverrideHandle)(ref cameraParamsOverrideHandle)).isValid) { cameraParamsOverrideHandle = ((EntityState)this).cameraTargetParams.RemoveParamsOverride(cameraParamsOverrideHandle, 0.6f); cameraParams = BreakSec; cameraParamsOverrideHandle = ((EntityState)this).cameraTargetParams.AddParamsOverride(new CameraParamsOverrideRequest { cameraParamsData = cameraParams.data, priority = 1f }, 0.6f); if (Object.op_Implicit((Object)(object)((EntityState)this).characterBody.master.playerCharacterMasterController.networkUser)) { Camera = ((EntityState)this).characterBody.master.playerCharacterMasterController.networkUser.cameraRigController; } } } public override void OnExit() { //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_0065: Unknown result type (might be due to invalid IL or missing references) if (NetworkServer.active) { ((EntityState)this).characterBody.RemoveBuff(Buffs.Slow50); ((EntityState)this).characterBody.RemoveBuff(BayoBuffs.armorBuff); } if (Object.op_Implicit((Object)(object)((EntityState)this).cameraTargetParams) && ((CameraParamsOverrideHandle)(ref cameraParamsOverrideHandle)).isValid) { cameraParamsOverrideHandle = ((EntityState)this).cameraTargetParams.RemoveParamsOverride(cameraParamsOverrideHandle, 0.2f); } bwc.currentWeapon = BayoController.WeaponState.Guns; base.OnExit(); } } public class BreakStart : SpinStart { public override void OnEnter() { sound = ""; base.OnEnter(); duration = 0.36f; ((EntityState)this).PlayAnimation("Body", "BreakStart", "Slash.playbackRate", duration, 0f); } protected override void NextState() { ((EntityState)this).outer.SetNextState((EntityState)(object)new Break()); } } public class HeelSlide : BaseMeleeAttack { protected float fallOffTime = 0.35f; protected float initialSpeedCoefficient = 0f; protected float midSpeedCoefficient = 8f; private float jumpTime = 0.8f; private Vector3 forwardDir; private bool hasEnded; private bool hasHit; private bool hasStarted; protected AnimationCurve kickSpeed; public override void OnEnter() { //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_0079: 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_0081: Unknown result type (might be due to invalid IL or missing references) //IL_0086: Unknown result type (might be due to invalid IL or missing references) //IL_00c9: 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_0104: Unknown result type (might be due to invalid IL or missing references) //IL_0109: Unknown result type (might be due to invalid IL or missing references) //IL_011a: Unknown result type (might be due to invalid IL or missing references) //IL_011f: 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_0135: Unknown result type (might be due to invalid IL or missing references) //IL_0146: Unknown result type (might be due to invalid IL or missing references) //IL_014b: Unknown result type (might be due to invalid IL or missing references) //IL_015d: Unknown result type (might be due to invalid IL or missing references) //IL_0162: Unknown result type (might be due to invalid IL or missing references) //IL_0173: Unknown result type (might be due to invalid IL or missing references) //IL_0178: Unknown result type (might be due to invalid IL or missing references) //IL_017d: Unknown result type (might be due to invalid IL or missing references) //IL_0187: Expected O, but got Unknown //IL_01b0: Unknown result type (might be due to invalid IL or missing references) //IL_01b5: Unknown result type (might be due to invalid IL or missing references) //IL_01c5: Unknown result type (might be due to invalid IL or missing references) //IL_01ca: Unknown result type (might be due to invalid IL or missing references) //IL_01cd: Unknown result type (might be due to invalid IL or missing references) //IL_01d2: Unknown result type (might be due to invalid IL or missing references) //IL_01d9: Unknown result type (might be due to invalid IL or missing references) //IL_01da: Unknown result type (might be due to invalid IL or missing references) duration = 1.72f; earlyExitPercentTime = 1.36f; attackStartPercentTime = 0f; attackEndPercentTime = 1f; damageCoefficient = 1f; procCoefficient = 1f; damageType = DamageTypeCombo.op_Implicit((DamageType)0); hasHit = false; hitStopDuration = 0.05f; attackRecoil = 1f; hitHopVelocity = 4f; Ray aimRay = ((BaseState)this).GetAimRay(); forwardDir = ((Ray)(ref aimRay)).direction; forwardDir.y = 0f; hitboxGroupName = "HeelGroup"; hitboxName = "HeelHitbox"; ReplacePrefabs(BayoAssets.heels, BayoAssets.heels2); ((EntityState)this).characterDirection.forward = forwardDir; m2Refund = true; kickSpeed = new AnimationCurve((Keyframe[])(object)new Keyframe[7] { new Keyframe(0f, 1.5f), new Keyframe(0.39f, 2f), new Keyframe(0.4f, 9f), new Keyframe(0.8f, 6.5f), new Keyframe(1f, 3f), new Keyframe(earlyExitPercentTime, 1f), new Keyframe(1.72f, 0f) }); ((EntityState)this).PlayAnimation("Body", "HeelSlide", playbackRateParam, 0.52f, 0f); exitToStance = true; Vector3 val = forwardDir; val.y = 0f; aimRay = ((BaseState)this).GetAimRay(); Ray val2 = default(Ray); ((Ray)(ref val2))..ctor(((Ray)(ref aimRay)).origin, val); shootRay = val2; gunName = "muzrf"; gunDamage = 0.1f; base.OnEnter(); } public override void FixedUpdate() { //IL_000b: Unknown result type (might be due to invalid IL or missing references) //IL_0010: Unknown result type (might be due to invalid IL or missing references) //IL_0013: Unknown result type (might be due to invalid IL or missing references) //IL_0019: Unknown result type (might be due to invalid IL or missing references) //IL_0024: 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_00b9: Unknown result type (might be due to invalid IL or missing references) //IL_00be: Unknown result type (might be due to invalid IL or missing references) //IL_00c1: Unknown result type (might be due to invalid IL or missing references) //IL_00c6: Unknown result type (might be due to invalid IL or missing references) //IL_00e2: Unknown result type (might be due to invalid IL or missing references) //IL_00ef: Unknown result type (might be due to invalid IL or missing references) //IL_00f4: Unknown result type (might be due to invalid IL or missing references) //IL_00f7: Unknown result type (might be due to invalid IL or missing references) //IL_00fd: Unknown result type (might be due to invalid IL or missing references) //IL_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_0144: Unknown result type (might be due to invalid IL or missing references) //IL_014b: Unknown result type (might be due to invalid IL or missing references) //IL_0156: 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) //IL_0173: Unknown result type (might be due to invalid IL or missing references) //IL_0178: Unknown result type (might be due to invalid IL or missing references) //IL_0214: Unknown result type (might be due to invalid IL or missing references) //IL_0219: Unknown result type (might be due to invalid IL or missing references) base.FixedUpdate(); Ray aimRay = ((BaseState)this).GetAimRay(); Ray val = default(Ray); ((Ray)(ref val))..ctor(((Ray)(ref aimRay)).origin, forwardDir); shootRay = val; if (CanDodge()) { ((EntityState)this).outer.SetNextState((EntityState)(object)new Dodge()); ((EntityState)this).inputBank.skill3.hasPressBeenClaimed = true; return; } if (stopwatch >= jumpTime && ((EntityState)this).inputBank.jump.down) { ((ButtonState)(ref ((EntityState)this).inputBank.jump)).PushState(false); ((EntityState)this).outer.SetNextStateToMain(); return; } if (Object.op_Implicit((Object)(object)((EntityState)this).characterDirection)) { aimRay = ((BaseState)this).GetAimRay(); forwardDir = ((Ray)(ref aimRay)).direction; forwardDir.y = 0f; ((EntityState)this).characterDirection.forward = forwardDir; aimRay = ((BaseState)this).GetAimRay(); shootRay = new Ray(((Ray)(ref aimRay)).origin, forwardDir); } if (!inHitPause && Object.op_Implicit((Object)(object)((EntityState)this).characterMotor)) { float num = kickSpeed.Evaluate(stopwatch); ((EntityState)this).characterMotor.velocity = forwardDir * num * ((BaseState)this).moveSpeedStat; if (hasHit) { ((EntityState)this).characterMotor.velocity = Vector3.zero; } } if (((EntityState)this).isAuthority && (((EntityState)this).fixedAge >= earlyExitPercentTime || hasHit)) { if (!hasEnded) { hasEnded = true; fireTime = 100f; ((EntityState)this).PlayAnimation("Body", "SlideExit", playbackRateParam, duration - earlyExitPercentTime, 0f); } if (((EntityState)this).inputBank.skill2.down) { ((EntityState)this).characterMotor.velocity = Vector3.zero; ((EntityState)this).outer.SetNextState((EntityState)(object)new HeelKick()); return; } if (hasHit) { ((EntityState)this).outer.SetNextStateToMain(); } } if (((EntityState)this).isAuthority && !hasStarted && stopwatch >= 0.4f) { fireTime = 0.15f / ((BaseState)this).attackSpeedStat; Util.PlaySound("fallslide", ((EntityState)this).gameObject); Util.PlaySound("heelslide", ((EntityState)this).gameObject); hasStarted = true; } } protected override void RemoveHitstop() { base.RemoveHitstop(); ((EntityState)this).fixedAge = earlyExitPercentTime; stopwatch = earlyExitPercentTime; hasHit = true; } } public class M2Entry : BaseSkillState { protected float direction = 0f; public override void OnEnter() { //IL_000e: Unknown result type (might be due to invalid IL or missing references) //IL_0013: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_001f: Unknown result type (might be due to invalid IL or missing references) //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_002b: Unknown result type (might be due to invalid IL or missing references) //IL_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) //IL_003e: 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_0041: Unknown result type (might be due to invalid IL or missing references) ((BaseState)this).OnEnter(); Vector3 moveVector = ((EntityState)this).inputBank.moveVector; Vector3 aimDirection = ((EntityState)this).inputBank.aimDirection; Vector3 val = new Vector3(aimDirection.x, 0f, aimDirection.z); Vector3 normalized = ((Vector3)(ref val)).normalized; direction = Vector3.Dot(moveVector, normalized); if (Object.op_Implicit((Object)(object)((EntityState)this).characterMotor) && ((EntityState)this).characterMotor.isGrounded) { if (direction < -0.5f) { ((EntityState)this).outer.SetNextState((EntityState)(object)new RisingKick()); } else if (direction > 0.5f) { ((EntityState)this).outer.SetNextState((EntityState)(object)new HeelSlide()); } else { ((EntityState)this).outer.SetNextState((EntityState)(object)new BreakStart()); } } else if (direction < -0.5f) { ((EntityState)this).outer.SetNextState((EntityState)(object)new FallingKickStart()); } else if (direction > 0.5f) { ((EntityState)this).outer.SetNextState((EntityState)(object)new ABK()); } else { ((EntityState)this).outer.SetNextState((EntityState)(object)new SpinStart()); } } 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; } } public class RisingKick : BaseMeleeAttack { public enum SpeedState { starting, middle, slower } protected float fallOffTime = 0.7f; protected float initialSpeedCoefficient = 0f; protected float midSpeedCoefficient = 8f; private Vector3 forwardDir; private Vector3 previousPosition; private float rollSpeed; public SpeedState speedState; private bool hasEnded; private float enderTime = 0.9f; private RootMotionAccumulator rootMotionAccumulator; public override void OnEnter() { //IL_0046: Unknown result type (might be due to invalid IL or missing references) //IL_004b: Unknown result type (might be due to invalid IL or missing references) //IL_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_00b2: Unknown result type (might be due to invalid IL or missing references) //IL_00b7: 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_0110: Unknown result type (might be due to invalid IL or missing references) //IL_011b: 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_0140: Unknown result type (might be due to invalid IL or missing references) //IL_0133: Unknown result type (might be due to invalid IL or missing references) //IL_0145: Unknown result type (might be due to invalid IL or missing references) //IL_014d: Unknown result type (might be due to invalid IL or missing references) //IL_0152: Unknown result type (might be due to invalid IL or missing references) //IL_0153: Unknown result type (might be due to invalid IL or missing references) //IL_0158: Unknown result type (might be due to invalid IL or missing references) duration = 1f; earlyExitPercentTime = 0.75f; attackStartPercentTime = 0.5f; attackEndPercentTime = 0.95f; damageCoefficient = 3.95f; procCoefficient = 1f; damageType = DamageTypeCombo.op_Implicit((DamageType)32); hitStopDuration = 0.1f; attackRecoil = 1f; hitHopVelocity = 4f; launch = true; voice = true; voiceString = "rise"; swingSoundString = "risekick"; forwardDir = Vector3.up; rollSpeed = 0f; CharacterDirection characterDirection = ((EntityState)this).characterDirection; Ray aimRay = ((BaseState)this).GetAimRay(); characterDirection.forward = ((Ray)(ref aimRay)).direction; ReplacePrefabs(BayoAssets.backk, BayoAssets.backk2); rootMotionAccumulator = ((EntityState)this).GetModelRootMotionAccumulator(); m2Refund = true; if (Object.op_Implicit((Object)(object)((EntityState)this).characterMotor) && Object.op_Implicit((Object)(object)((EntityState)this).characterDirection)) { ((EntityState)this).characterMotor.velocity = forwardDir * rollSpeed; } Vector3 val = (Object.op_Implicit((Object)(object)((EntityState)this).characterMotor) ? ((EntityState)this).characterMotor.velocity : Vector3.zero); previousPosition = ((EntityState)this).transform.position - val; ((EntityState)this).PlayAnimation("Body", "BackKickStart", "Roll.playbackRate", attackStartPercentTime, 0f); ((BaseCharacterController)((EntityState)this).characterMotor).Motor.ForceUnground(0.1f); exitToStance = false; playSwing = 0.5f; base.OnEnter(); } private void GetNextSpeed() { if (stopwatch <= attackStartPercentTime * duration) { speedState = SpeedState.starting; } if (stopwatch > attackStartPercentTime * duration && stopwatch <= fallOffTime) { speedState = SpeedState.middle; } if (stopwatch > fallOffTime) { speedState = SpeedState.slower; } } private void RecalculateRollSpeed() { switch (speedState) { case SpeedState.starting: rollSpeed = 0f; break; case SpeedState.middle: rollSpeed = ((BaseState)this).moveSpeedStat * midSpeedCoefficient; break; case SpeedState.slower: rollSpeed = ((BaseState)this).moveSpeedStat * Mathf.Lerp(midSpeedCoefficient, 1f, stopwatch / duration); break; } } public override void FixedUpdate() { //IL_005e: 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_0066: 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) //IL_008e: Unknown result type (might be due to invalid IL or missing references) //IL_0093: Unknown result type (might be due to invalid IL or missing references) //IL_0098: Unknown result type (might be due to invalid IL or missing references) //IL_009c: Unknown result type (might be due to invalid IL or missing references) //IL_00a1: Unknown result type (might be due to invalid IL or missing references) //IL_0129: Unknown result type (might be due to invalid IL or missing references) //IL_012e: Unknown result type (might be due to invalid IL or missing references) //IL_00c5: Unknown result type (might be due to invalid IL or missing references) //IL_00cd: Unknown result type (might be due to invalid IL or missing references) //IL_00d2: Unknown result type (might be due to invalid IL or missing references) //IL_00d4: Unknown result type (might be due to invalid IL or missing references) //IL_00d7: Unknown result type (might be due to invalid IL or missing references) //IL_00ee: Unknown result type (might be due to invalid IL or missing references) //IL_00f5: Unknown result type (might be due to invalid IL or missing references) //IL_00fa: Unknown result type (might be due to invalid IL or missing references) //IL_011a: 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) base.FixedUpdate(); GetNextSpeed(); RecalculateRollSpeed(); if (CanDodge()) { ((EntityState)this).outer.SetNextState((EntityState)(object)new Dodge()); ((EntityState)this).inputBank.skill3.hasPressBeenClaimed = true; return; } if (Object.op_Implicit((Object)(object)((EntityState)this).characterDirection)) { CharacterDirection characterDirection = ((EntityState)this).characterDirection; Ray aimRay = ((BaseState)this).GetAimRay(); characterDirection.forward = ((Ray)(ref aimRay)).direction; } if (!inHitPause) { Vector3 val = ((EntityState)this).transform.position - previousPosition; Vector3 normalized = ((Vector3)(ref val)).normalized; if (Object.op_Implicit((Object)(object)((EntityState)this).characterMotor) && Object.op_Implicit((Object)(object)((EntityState)this).characterDirection)) { Vector3 val2 = normalized * rollSpeed; float num = Mathf.Max(Vector3.Dot(val2, forwardDir), 0f); val2 = forwardDir * num; val2.x = 0f; val2.z = 0f; ((EntityState)this).characterMotor.velocity = val2; } previousPosition = ((EntityState)this).transform.position; } if (((EntityState)this).isAuthority && stopwatch >= earlyExitPercentTime) { if (!hasEnded) { hasEnded = true; } if (((EntityState)this).inputBank.skill2.down && stopwatch >= enderTime) { ((EntityState)this).outer.SetNextState((EntityState)(object)new RisingFinisher()); } } } protected override void ApplyForce() { //IL_0194: Unknown result type (might be due to invalid IL or missing references) //IL_019a: Unknown result type (might be due to invalid IL or missing references) //IL_019f: Unknown result type (might be due to invalid IL or missing references) //IL_01a7: Unknown result type (might be due to invalid IL or missing references) CharacterBody body = item.body; float num = 7f; float num2 = 1f; float num3 = 1f; bool flag = body.healthComponent.combinedHealth <= body.maxHealth * 0.5f; if (Object.op_Implicit((Object)(object)body.characterMotor)) { num3 = ((!(body.HasBuff(BayoBuffs.wtDebuff) || flag) && !(body.characterMotor.mass < 300f)) ? 100f : body.characterMotor.mass); body.characterMotor.velocity.x = 0f; body.characterMotor.velocity.z = 0f; ((BaseCharacterController)body.characterMotor).Motor.ForceUnground(0.1f); } else if (Object.op_Implicit((Object)(object)((Component)item).GetComponent())) { num3 = ((!(body.HasBuff(BayoBuffs.wtDebuff) || flag) && !(body.rigidbody.mass < 300f)) ? 50f : (body.rigidbody.mass / 2f)); } if (((EntityState)this).characterBody.isSprinting) { num *= ((EntityState)this).characterBody.sprintingSpeedMultiplier; } if (((BaseState)this).moveSpeedStat - num > 0f) { num2 = (((BaseState)this).moveSpeedStat - num) / num * 0.5f; num2 += 1f; } num3 *= 22f * num2; Vector3 val = Vector3.up * num3; item.TakeDamageForce(val, true, true); } protected override void RemoveHitstop() { base.RemoveHitstop(); ((BaseCharacterController)((EntityState)this).characterMotor).Motor.ForceUnground(0.1f); } protected override void EnterAttack() { ((BaseCharacterController)((EntityState)this).characterMotor).Motor.ForceUnground(0.1f); base.EnterAttack(); } public override void OnExit() { ((EntityState)this).PlayAnimation("FullBody, Override", "BufferEmpty"); base.OnExit(); } } public class Spin : RisingFinisher { public override void OnEnter() { //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) dur = 1.6f; damage = 1.5f; blastDamage = 0.6f; blastRadius = 30f; fireFreq = 0.24f; attackEnd = 0.625f; muzName = "muzrf"; frTime = 0.1f; damageType = DamageTypeCombo.op_Implicit((DamageType)32); Util.PlaySound("spin", ((EntityState)this).gameObject); clear = false; hgn = "CoverGroup2"; hbn = "Envelop2"; effect = BayoAssets.spin; effect2 = BayoAssets.spin2; m2Refund = true; base.OnEnter(); } public override void FixedUpdate() { base.FixedUpdate(); if (stopwatch >= fireFreq && ((EntityState)this).inputBank.jump.down && ((EntityState)this).characterMotor.jumpCount < ((EntityState)this).characterBody.maxJumpCount) { ((ButtonState)(ref ((EntityState)this).inputBank.jump)).PushState(false); ((EntityState)this).outer.SetNextStateToMain(); } } protected override void PlayAnim() { //IL_004f: 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) ((EntityState)this).PlayAnimation("Body", "Spin", playbackRateParam, fireFreq, 0f); if (Object.op_Implicit((Object)(object)((EntityState)this).characterMotor) && Object.op_Implicit((Object)(object)((EntityState)this).characterDirection)) { ((EntityState)this).characterMotor.velocity = ((EntityState)this).characterMotor.velocity * 0f; } } protected override void FinisherSpecific() { //IL_008b: 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_00a4: 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_00aa: Unknown result type (might be due to invalid IL or missing references) //IL_00af: Unknown result type (might be due to invalid IL or missing references) //IL_0063: 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) //IL_0070: Unknown result type (might be due to invalid IL or missing references) //IL_0075: Unknown result type (might be due to invalid IL or missing references) //IL_007a: Unknown result type (might be due to invalid IL or missing references) //IL_007f: Unknown result type (might be due to invalid IL or missing references) //IL_00d7: Unknown result type (might be due to invalid IL or missing references) //IL_00dc: Unknown result type (might be due to invalid IL or missing references) //IL_00e7: 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_012b: 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) if (Object.op_Implicit((Object)(object)component2)) { int num = component2.FindChildIndex(muzName); Transform val = component2.FindChild(num); int num2 = component2.FindChildIndex(muzName + "f"); Transform val2 = component2.FindChild(num2); gunRay = new Ray(((EntityState)this).transform.position, val2.position - val.position); } Vector3 direction = ((Ray)(ref gunRay)).direction; direction.y = 0f; gunRay = new Ray(((Ray)(ref gunRay)).origin, direction); if (((EntityState)this).isAuthority && Object.op_Implicit((Object)(object)((EntityState)this).characterMotor)) { ((EntityState)this).inputBank.moveVector = Vector3.zero; ((EntityState)this).characterMotor.moveDirection = Vector3.zero; } if (Object.op_Implicit((Object)(object)((EntityState)this).characterMotor) && Object.op_Implicit((Object)(object)((EntityState)this).characterDirection)) { ((EntityState)this).characterMotor.velocity = ((EntityState)this).characterMotor.velocity * 0f; } if (stopwatch >= earlyExitPercentTime && !hasEnded) { hasEnded = true; fireTime = 100f; ((EntityState)this).PlayAnimation("Body", "SpinExit", playbackRateParam, duration - earlyExitPercentTime, 0f); } } protected override void ApplyForce() { //IL_0114: 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_011d: Unknown result type (might be due to invalid IL or missing references) //IL_0122: Unknown result type (might be due to invalid IL or missing references) //IL_012f: Unknown result type (might be due to invalid IL or missing references) //IL_0131: Unknown result type (might be due to invalid IL or missing references) //IL_0136: Unknown result type (might be due to invalid IL or missing references) //IL_013d: Unknown result type (might be due to invalid IL or missing references) CharacterBody body = item.body; float num = 1f; bool flag = body.healthComponent.combinedHealth <= body.maxHealth * 0.5f; if (Object.op_Implicit((Object)(object)((Component)body).GetComponent())) { ((Component)body).GetComponent().ForceUnground(0.1f); } if (Object.op_Implicit((Object)(object)body.characterMotor)) { num = ((!(body.HasBuff(BayoBuffs.wtDebuff) || flag) && !(body.characterMotor.mass < 300f)) ? 100f : body.characterMotor.mass); } else if (Object.op_Implicit((Object)(object)((Component)item).GetComponent())) { num = ((!(body.HasBuff(BayoBuffs.wtDebuff) || flag) && !(body.rigidbody.mass < 300f)) ? 50f : (body.rigidbody.mass / 2f)); } num *= 16f; Ray aimRay = ((BaseState)this).GetAimRay(); Vector3 direction = ((Ray)(ref aimRay)).direction; direction.y = 1.5f; direction *= num; item.TakeDamageForce(direction, true, true); } public override void OnExit() { base.OnExit(); } } public class SpinStart : BaseSkillState { protected float duration = 0.16f; private RootMotionAccumulator rootMotionAccumulator; protected string sound = "flurspin"; public override void OnEnter() { //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_0056: Unknown result type (might be due to invalid IL or missing references) ((BaseState)this).OnEnter(); rootMotionAccumulator = ((EntityState)this).GetModelRootMotionAccumulator(); ((EntityState)this).PlayAnimation("Body", "SpinStart", "Slash.playbackRate", duration, 0f); Util.PlaySound(sound, ((EntityState)this).gameObject); CharacterDirection characterDirection = ((EntityState)this).characterDirection; Ray aimRay = ((BaseState)this).GetAimRay(); characterDirection.forward = ((Ray)(ref aimRay)).direction; ((EntityState)this).characterMotor.velocity.y = 0f; } protected bool CanDodge() { if (((EntityState)this).inputBank.skill3.down && Object.op_Implicit((Object)(object)((EntityState)this).skillLocator.utility) && (!((EntityState)this).skillLocator.utility.mustKeyPress || !((EntityState)this).inputBank.skill3.hasPressBeenClaimed) && ((EntityState)this).skillLocator.utility.ExecuteIfReady()) { return true; } return false; } public override void FixedUpdate() { //IL_000f: 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_0017: Unknown result type (might be due to invalid IL or missing references) //IL_009d: Unknown result type (might be due to invalid IL or missing references) //IL_00a2: Unknown result type (might be due to invalid IL or missing references) //IL_00ad: Unknown result type (might be due to invalid IL or missing references) //IL_00d1: Unknown result type (might be due to invalid IL or missing references) //IL_00d6: 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_00da: Unknown result type (might be due to invalid IL or missing references) //IL_010a: 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_0111: Unknown result type (might be due to invalid IL or missing references) //IL_0116: Unknown result type (might be due to invalid IL or missing references) ((EntityState)this).FixedUpdate(); CharacterDirection characterDirection = ((EntityState)this).characterDirection; Ray aimRay = ((BaseState)this).GetAimRay(); characterDirection.forward = ((Ray)(ref aimRay)).direction; if (CanDodge()) { ((EntityState)this).outer.SetNextState((EntityState)(object)new Dodge()); ((EntityState)this).inputBank.skill3.hasPressBeenClaimed = true; return; } ((EntityState)this).characterMotor.velocity.y = 0f; if (((EntityState)this).characterMotor.isGrounded) { if (((EntityState)this).isAuthority && Object.op_Implicit((Object)(object)((EntityState)this).characterMotor)) { ((EntityState)this).inputBank.moveVector = Vector3.zero; ((EntityState)this).characterMotor.moveDirection = Vector3.zero; } if (Object.op_Implicit((Object)(object)rootMotionAccumulator)) { Vector3 val = rootMotionAccumulator.ExtractRootMotion(); if (val != Vector3.zero && ((EntityState)this).isAuthority && Object.op_Implicit((Object)(object)((EntityState)this).characterMotor)) { CharacterMotor characterMotor = ((EntityState)this).characterMotor; characterMotor.rootMotion += val; } } } if (((EntityState)this).fixedAge >= duration) { NextState(); } } protected virtual void NextState() { ((EntityState)this).outer.SetNextState((EntityState)(object)new Spin()); } public override void OnExit() { ((EntityState)this).OnExit(); } } } namespace BayoMod.Characters.Survivors.Bayo.SkillStates.Weave { public class Stomp : Tetsu { public override void OnEnter() { ((GenericProjectileBaseState)this).baseDuration = 1.68f; Tetsu.startDuration = 0.5f; Tetsu.BaseDelayDuration = 0.4f; fForce = 1f; voiceString = "stompabk"; projpref = BayoAssets.footFast; base.OnEnter(); } public override void PlayAnimation(float duration) { if (Object.op_Implicit((Object)(object)((EntityState)this).GetModelAnimator())) { ((EntityState)this).PlayAnimation("Body", "Stomp", "Slash.playbackRate", ((GenericProjectileBaseState)this).baseDuration, 0f); } } public override void Fire() { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_000a: Unknown result type (might be due to invalid IL or missing references) //IL_000f: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_002c: Unknown result type (might be due to invalid IL or missing references) //IL_002f: Unknown result type (might be due to invalid IL or missing references) //IL_004b: Unknown result type (might be due to invalid IL or missing references) //IL_004c: 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) Ray aimRay = ((BaseState)this).GetAimRay(); Vector3 direction = ((Ray)(ref aimRay)).direction; direction.y = 0f; Vector3 position = ((Component)target).transform.position; position.y -= 2.5f; ProjectileManager.instance.FireProjectile(((GenericProjectileBaseState)this).projectilePrefab, position, Util.QuaternionSafeLookRotation(direction), ((EntityState)this).gameObject, ((BaseState)this).damageStat * ((GenericProjectileBaseState)this).damageCoefficient, ((GenericProjectileBaseState)this).force, Util.CheckRoll(((BaseState)this).critStat, ((EntityState)this).characterBody.master), (DamageColorIndex)0, (GameObject)null, -1f, (DamageTypeCombo?)null); } } public class Tetsu : GenericProjectileBaseState { public static float BaseDuration = 1.12f; public static float startDuration = 0.36f; public static float BaseDelayDuration = 0.15f; public string voiceString = "tetsu"; public static float DamageCoefficient = 12f; public GameObject projpref = BayoAssets.fistFast; private bool ended = false; private bool cancel = false; private bool jumped = false; private bool noTarget = false; private RootMotionAccumulator rootMotionAccumulator; private BayoTracker tracker; protected HurtBox target; private bool targetIsValid; protected AimRequest aimRequest; protected float fForce = 3500f; public override void OnEnter() { //IL_00af: 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_00b7: Unknown result type (might be due to invalid IL or missing references) //IL_0093: Unknown result type (might be due to invalid IL or missing references) //IL_009d: Unknown result type (might be due to invalid IL or missing references) //IL_00a2: Unknown result type (might be due to invalid IL or missing references) base.projectilePrefab = projpref; base.attackSoundString = ""; base.baseDuration = BaseDuration; base.baseDelayBeforeFiringProjectile = BaseDelayDuration; base.damageCoefficient = DamageCoefficient; base.force = fForce; base.recoilAmplitude = 0.1f; base.bloom = 10f; rootMotionAccumulator = ((EntityState)this).GetModelRootMotionAccumulator(); if (Object.op_Implicit((Object)(object)((EntityState)this).characterMotor) && Object.op_Implicit((Object)(object)((EntityState)this).characterDirection)) { ((EntityState)this).characterMotor.velocity = ((EntityState)this).characterMotor.velocity * 0f; } CharacterDirection characterDirection = ((EntityState)this).characterDirection; Ray aimRay = ((BaseState)this).GetAimRay(); characterDirection.forward = ((Ray)(ref aimRay)).direction; ((GenericProjectileBaseState)this).OnEnter(); tracker = ((EntityState)this).GetComponent(); target = tracker.GetTrackingTarget(); if (!Object.op_Implicit((Object)(object)tracker.GetTrackingTarget())) { ((EntityState)this).outer.SetNextStateToMain(); noTarget = true; } else if (Object.op_Implicit((Object)(object)target) && Object.op_Implicit((Object)(object)target.healthComponent) && target.healthComponent.alive) { targetIsValid = true; } } protected bool CanDodge() { if (((EntityState)this).inputBank.skill3.down && Object.op_Implicit((Object)(object)((EntityState)this).skillLocator.utility) && (!((EntityState)this).skillLocator.utility.mustKeyPress || !((EntityState)this).inputBank.skill3.hasPressBeenClaimed) && ((EntityState)this).skillLocator.utility.ExecuteIfReady()) { return true; } return false; } private void DetermineCancel() { //IL_00c5: Unknown result type (might be due to invalid IL or missing references) //IL_00ca: Unknown result type (might be due to invalid IL or missing references) if (!Object.op_Implicit((Object)(object)((EntityState)this).inputBank)) { return; } if (((EntityState)this).inputBank.jump.down && ((EntityState)this).characterMotor.jumpCount < ((EntityState)this).characterBody.maxJumpCount) { cancel = true; jumped = true; } if (base.stopwatch >= startDuration) { if (((EntityState)this).inputBank.skill1.down) { cancel = true; } if (((EntityState)this).inputBank.skill2.down) { cancel = true; } if (((EntityState)this).inputBank.skill3.down) { cancel = true; } if (((EntityState)this).inputBank.moveVector != Vector3.zero) { cancel = true; } } } public override void FixedUpdate() { //IL_0144: Unknown result type (might be due to invalid IL or missing references) //IL_0149: Unknown result type (might be due to invalid IL or missing references) //IL_0154: Unknown result type (might be due to invalid IL or missing references) //IL_0178: Unknown result type (might be due to invalid IL or missing references) //IL_017d: Unknown result type (might be due to invalid IL or missing references) //IL_017f: 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_01b1: Unknown result type (might be due to invalid IL or missing references) //IL_01b6: Unknown result type (might be due to invalid IL or missing references) //IL_01b8: Unknown result type (might be due to invalid IL or missing references) //IL_01bd: Unknown result type (might be due to invalid IL or missing references) ((GenericProjectileBaseState)this).FixedUpdate(); cancel = false; jumped = false; if (base.stopwatch >= startDuration && !ended) { ended = true; } if (CanDodge()) { ((EntityState)this).outer.SetNextState((EntityState)(object)new Dodge()); ((EntityState)this).inputBank.skill3.hasPressBeenClaimed = true; return; } if (((EntityState)this).isAuthority && base.stopwatch >= base.baseDelayBeforeFiringProjectile) { DetermineCancel(); if (jumped) { ((ButtonState)(ref ((EntityState)this).inputBank.jump)).PushState(false); } if (cancel) { ((EntityState)this).outer.SetNextStateToMain(); return; } } if (((EntityState)this).isAuthority && ((EntityState)this).fixedAge >= base.duration) { ((EntityState)this).outer.SetNextState((EntityState)(object)new Stance()); return; } ((EntityState)this).characterMotor.velocity.y = 0f; if (((EntityState)this).isAuthority && Object.op_Implicit((Object)(object)((EntityState)this).characterMotor)) { ((EntityState)this).inputBank.moveVector = Vector3.zero; ((EntityState)this).characterMotor.moveDirection = Vector3.zero; } if (Object.op_Implicit((Object)(object)rootMotionAccumulator)) { Vector3 val = rootMotionAccumulator.ExtractRootMotion(); if (val != Vector3.zero && ((EntityState)this).isAuthority && Object.op_Implicit((Object)(object)((EntityState)this).characterMotor)) { CharacterMotor characterMotor = ((EntityState)this).characterMotor; characterMotor.rootMotion += val; } } } public override void FireProjectile() { if (((EntityState)this).isAuthority && targetIsValid) { Util.PlaySound(voiceString, ((EntityState)this).gameObject); Fire(); } } public virtual void Fire() { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_000a: Unknown result type (might be due to invalid IL or missing references) //IL_000f: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_002c: Unknown result type (might be due to invalid IL or missing references) //IL_002d: Unknown result type (might be due to invalid IL or missing references) //IL_0030: Unknown result type (might be due to invalid IL or missing references) //IL_003a: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0044: 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_0061: 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) Ray aimRay = ((BaseState)this).GetAimRay(); Vector3 direction = ((Ray)(ref aimRay)).direction; direction.y = 0.1f; Vector3 position = ((Component)target).transform.position; position -= ((Vector3)(ref direction)).normalized * 1f; position.y -= 3f; ProjectileManager.instance.FireProjectile(base.projectilePrefab, position, Util.QuaternionSafeLookRotation(direction), ((EntityState)this).gameObject, ((BaseState)this).damageStat * base.damageCoefficient, base.force, Util.CheckRoll(((BaseState)this).critStat, ((EntityState)this).characterBody.master), (DamageColorIndex)0, (GameObject)null, -1f, (DamageTypeCombo?)null); } public override void OnExit() { ((GenericProjectileBaseState)this).OnExit(); if (Object.op_Implicit((Object)(object)tracker)) { EntityState.Destroy((Object)(object)tracker); } } 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 override void PlayAnimation(float duration) { if (Object.op_Implicit((Object)(object)((EntityState)this).GetModelAnimator())) { ((EntityState)this).PlayAnimation("Body", "Tetsu", "Slash.playbackRate", startDuration * base.baseDuration, 0f); } } } public class WeaveDummy { } public class WeaveEntry : BaseSkillState { public static SkillDef tetsuRealDef = BayoSurvivor.tetsuSkillDef; public static SkillDef stompRealDef = BayoSurvivor.stompSkillDef; public static SkillDef cancelDef = BayoSurvivor.weaveCancelSkillDef; public AimRequest aimRequest; private BayoTracker tracker; private float stopwatch; private int secondStockMax; private int specialStockMax; private int secondStocks; private int specialStocks; private bool fired = false; public override void OnEnter() { ((BaseState)this).OnEnter(); if (NetworkServer.active) { ((EntityState)this).characterBody.AddBuff(Buffs.Slow50); } Util.PlaySound("portalsum", ((EntityState)this).gameObject); ((EntityState)this).gameObject.AddComponent(); tracker = ((EntityState)this).GetComponent(); secondStockMax = ((EntityState)this).skillLocator.secondary.maxStock; specialStockMax = ((EntityState)this).skillLocator.special.maxStock; secondStocks = ((EntityState)this).skillLocator.secondary.stock; specialStocks = ((EntityState)this).skillLocator.special.stock + 1; ((EntityState)this).skillLocator.primary.SetSkillOverride((object)((EntityState)this).skillLocator.primary, tetsuRealDef, (SkillOverridePriority)4); ((EntityState)this).skillLocator.secondary.SetSkillOverride((object)((EntityState)this).skillLocator.secondary, stompRealDef, (SkillOverridePriority)4); ((EntityState)this).skillLocator.special.SetSkillOverride((object)((EntityState)this).skillLocator.special, cancelDef, (SkillOverridePriority)4); if (Object.op_Implicit((Object)(object)((EntityState)this).cameraTargetParams)) { aimRequest = ((EntityState)this).cameraTargetParams.RequestAimType((AimType)UnseenHand.abilityAimType); } GameObject sum = BayoAssets.sum; EffectManager.SimpleMuzzleFlash(sum, ((EntityState)this).gameObject, "DamageCenter", true); } public override void FixedUpdate() { ((EntityState)this).FixedUpdate(); ((EntityState)this).characterBody.SetAimTimer(3f); stopwatch += ((EntityState)this).GetDeltaTime(); if (((EntityState)this).isAuthority) { AuthorityFixedUpdate(); } } private void AuthorityFixedUpdate() { if (((ButtonState)(ref ((EntityState)this).inputBank.skill1)).justPressed) { ((EntityState)this).outer.SetNextStateToMain(); if (Object.op_Implicit((Object)(object)tracker.GetTrackingTarget())) { fired = true; } } else if (((ButtonState)(ref ((EntityState)this).inputBank.skill2)).justPressed) { ((EntityState)this).outer.SetNextStateToMain(); if (Object.op_Implicit((Object)(object)tracker.GetTrackingTarget())) { fired = true; } } else if (((ButtonState)(ref ((EntityState)this).inputBank.skill3)).justPressed) { ((EntityState)this).outer.SetNextStateToMain(); if (Object.op_Implicit((Object)(object)tracker)) { EntityState.Destroy((Object)(object)tracker); } } else if (((ButtonState)(ref ((EntityState)this).inputBank.skill4)).justPressed && !((EntityState)this).inputBank.skill4.wasDown && stopwatch >= 0.1f) { ((EntityState)this).outer.SetNextStateToMain(); if (Object.op_Implicit((Object)(object)tracker)) { EntityState.Destroy((Object)(object)tracker); } } } public override void OnExit() { ((EntityState)this).OnExit(); AimRequest obj = aimRequest; if (obj != null) { obj.Dispose(); } if (NetworkServer.active) { ((EntityState)this).characterBody.RemoveBuff(Buffs.Slow50); } ((EntityState)this).skillLocator.primary.UnsetSkillOverride((object)((EntityState)this).skillLocator.primary, tetsuRealDef, (SkillOverridePriority)4); ((EntityState)this).skillLocator.secondary.UnsetSkillOverride((object)((EntityState)this).skillLocator.secondary, stompRealDef, (SkillOverridePriority)4); ((EntityState)this).skillLocator.special.UnsetSkillOverride((object)((EntityState)this).skillLocator.special, cancelDef, (SkillOverridePriority)4); ((EntityState)this).skillLocator.secondary.DeductStock(secondStockMax - secondStocks); ((EntityState)this).skillLocator.special.DeductStock(specialStockMax - specialStocks); if (fired) { ((EntityState)this).skillLocator.special.DeductStock(1); } } 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)7; } } } namespace BayoMod.Characters.Survivors.Bayo.SkillStates.TrailerStates { public class BatsWithin : BaseSkillState { private CameraController cam; private bool startedAnim = false; public override void OnEnter() { //IL_000f: Unknown result type (might be due to invalid IL or missing references) //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_0016: 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_008b: 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_0065: 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) //IL_00b1: Unknown result type (might be due to invalid IL or missing references) //IL_00b6: Unknown result type (might be due to invalid IL or missing references) ((BaseState)this).OnEnter(); CharacterBody characterBody = ((EntityState)this).characterBody; characterBody.bodyFlags = (BodyFlags)(characterBody.bodyFlags | 1); if (Object.op_Implicit((Object)(object)((EntityState)this).rigidbody) && !((EntityState)this).rigidbody.isKinematic) { ((EntityState)this).rigidbody.velocity = Vector3.zero; if (Object.op_Implicit((Object)(object)((EntityState)this).rigidbodyMotor)) { ((EntityState)this).rigidbodyMotor.moveVector = Vector3.zero; } } if (Object.op_Implicit((Object)(object)((EntityState)this).characterBody.characterMotor)) { ((EntityState)this).characterMotor.velocity = Vector3.zero; } if (Object.op_Implicit((Object)(object)((EntityState)this).characterDirection)) { ((EntityState)this).characterDirection.moveVector = ((EntityState)this).characterDirection.forward; } ((EntityState)this).characterBody.isSprinting = false; cam = ((EntityState)this).gameObject.GetComponent(); ((EntityState)this).PlayAnimation("Body", "DodgeBack"); } public override void FixedUpdate() { //IL_0024: 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_0082: Unknown result type (might be due to invalid IL or missing references) //IL_0087: Unknown result type (might be due to invalid IL or missing references) //IL_0096: Unknown result type (might be due to invalid IL or missing references) ((EntityState)this).FixedUpdate(); if (Object.op_Implicit((Object)(object)((EntityState)this).characterDirection)) { ((EntityState)this).characterDirection.moveVector = ((EntityState)this).characterDirection.forward; } if (Object.op_Implicit((Object)(object)((EntityState)this).characterBody.characterMotor)) { ((EntityState)this).characterMotor.velocity.x = 0f; ((EntityState)this).characterMotor.velocity.z = 0f; } if (Object.op_Implicit((Object)(object)((EntityState)this).characterBody) && Physics.Raycast(((EntityState)this).characterBody.footPosition, Vector3.down, 7f, LayerMask.op_Implicit(((LayerIndex)(ref LayerIndex.world)).mask)) && !startedAnim && Object.op_Implicit((Object)(object)cam) && ((EntityState)this).isAuthority) { cam.useCamObj = false; cam.useFeetAnim = false; cam.UnsetCam(); } if (((EntityState)this).isAuthority && Object.op_Implicit((Object)(object)((EntityState)this).characterMotor) && ((BaseCharacterController)((EntityState)this).characterMotor).Motor.GroundingStatus.IsStableOnGround) { ((EntityState)this).outer.SetNextState((EntityState)(object)new Land()); } } } public class BatsWithinChargeUp : BaseSkillState { public GameObject batPrefab = BayoAssets.bats; public GameObject batsInstance; public ShakeEmitter vfxShaker; public float duration = 4.2f; public float zoominStart = 1f; public float zoominDur = 3.2f; public float shakeStart = 1.5f; public float vfxStart = 3.5f; public float soundStart = 1.648f; public bool shakeStarted = false; public bool zoominStarted = false; public bool vfxStarted = false; public bool soundStarted = false; public float stopwatch = 0f; private CharacterModel characterModel; private CameraController cam; private CameraRigController cameraRig; public override void OnEnter() { //IL_005b: 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) //IL_00a9: 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_0081: Unknown result type (might be due to invalid IL or missing references) //IL_00cc: Unknown result type (might be due to invalid IL or missing references) //IL_00d1: Unknown result type (might be due to invalid IL or missing references) //IL_012e: Unknown result type (might be due to invalid IL or missing references) //IL_0135: Unknown result type (might be due to invalid IL or missing references) ((BaseState)this).OnEnter(); ((EntityState)this).characterMotor.rootMotion.y += 8f; cam = ((EntityState)this).gameObject.GetComponent(); if (Object.op_Implicit((Object)(object)((EntityState)this).rigidbody) && !((EntityState)this).rigidbody.isKinematic) { ((EntityState)this).rigidbody.velocity = Vector3.zero; if (Object.op_Implicit((Object)(object)((EntityState)this).rigidbodyMotor)) { ((EntityState)this).rigidbodyMotor.moveVector = Vector3.zero; } } if (Object.op_Implicit((Object)(object)((EntityState)this).characterBody.characterMotor)) { ((EntityState)this).characterMotor.velocity = Vector3.zero; } if (Object.op_Implicit((Object)(object)((EntityState)this).characterDirection)) { ((EntityState)this).characterDirection.moveVector = ((EntityState)this).characterDirection.forward; } ((EntityState)this).characterBody.isSprinting = false; ChildLocator modelChildLocator = ((EntityState)this).GetModelChildLocator(); if (Object.op_Implicit((Object)(object)modelChildLocator)) { Transform val = modelChildLocator.FindChild("SwingCenter") ?? ((EntityState)this).characterBody.coreTransform; if (Object.op_Implicit((Object)(object)val)) { batsInstance = Object.Instantiate(batPrefab, val.position, val.rotation); batsInstance.transform.parent = val; vfxShaker = ((Component)batsInstance.transform.Find("shaker")).gameObject.GetComponent(); } } Transform modelTransform = ((EntityState)this).GetModelTransform(); if (Object.op_Implicit((Object)(object)modelTransform)) { characterModel = ((Component)modelTransform).GetComponent(); } if (Object.op_Implicit((Object)(object)characterModel)) { CharacterModel obj = characterModel; int invisibilityCount = obj.invisibilityCount; obj.invisibilityCount = invisibilityCount + 1; } if (NetworkServer.active) { ((EntityState)this).characterBody.AddBuff(Buffs.HiddenInvincibility); } } public override void FixedUpdate() { //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_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_008f: Unknown result type (might be due to invalid IL or missing references) ((EntityState)this).FixedUpdate(); stopwatch += Time.fixedDeltaTime; if (Object.op_Implicit((Object)(object)((EntityState)this).characterDirection)) { ((EntityState)this).characterDirection.moveVector = ((EntityState)this).characterDirection.forward; } if (Object.op_Implicit((Object)(object)((EntityState)this).characterBody.characterMotor)) { ((EntityState)this).characterMotor.velocity = Vector3.zero; if (!((EntityState)this).characterMotor.isGrounded) { ((EntityState)this).characterMotor.velocity.y -= Time.fixedDeltaTime * Physics.gravity.y; } } if (!vfxStarted && stopwatch >= vfxStart) { vfxStarted = true; ((Component)batsInstance.transform.Find("vfx")).gameObject.SetActive(true); } if (stopwatch >= shakeStart) { if (!shakeStarted) { shakeStarted = true; ((Component)batsInstance.transform.Find("shaker")).gameObject.SetActive(true); } if (Object.op_Implicit((Object)(object)vfxShaker)) { vfxShaker.wave.amplitude = Mathf.Lerp(0f, 1.15f, (stopwatch - shakeStart) / (duration - shakeStart)); vfxShaker.wave.frequency = Mathf.Lerp(2.5f, 7.5f, (stopwatch - shakeStart) / (duration - shakeStart)); } } if (!soundStarted && stopwatch >= soundStart) { soundStarted = true; Util.PlaySound("bats", ((EntityState)this).gameObject); } if (((EntityState)this).isAuthority) { if (stopwatch >= 0.01f && !zoominStarted && Object.op_Implicit((Object)(object)cam)) { zoominStarted = true; cam.fov = 60f; cam.useCamObj = true; cam.SetCam(); } if (stopwatch >= duration) { ((EntityState)this).outer.SetNextState((EntityState)(object)new BatsWithin()); } } } public override void OnExit() { //IL_00c4: Unknown result type (might be due to invalid IL or missing references) //IL_00ce: Unknown result type (might be due to invalid IL or missing references) //IL_00d3: 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_00f5: Unknown result type (might be due to invalid IL or missing references) //IL_00fa: Unknown result type (might be due to invalid IL or missing references) if (Object.op_Implicit((Object)(object)vfxShaker)) { vfxShaker.amplitudeTimeDecay = true; vfxShaker.wave.amplitude = 2f; } if (Object.op_Implicit((Object)(object)characterModel)) { CharacterModel obj = characterModel; int invisibilityCount = obj.invisibilityCount; obj.invisibilityCount = invisibilityCount - 1; } if (Object.op_Implicit((Object)(object)((EntityState)this).characterBody.master.playerCharacterMasterController.networkUser.cameraRigController)) { cameraRig = ((EntityState)this).characterBody.master.playerCharacterMasterController.networkUser.cameraRigController; if (Object.op_Implicit((Object)(object)((EntityState)this).characterDirection) && ((EntityState)this).isAuthority) { Vector3 pitchYawFromLookVector = ((EntityState)this).characterDirection.forward * -1f; ((InstanceData)cameraRig.cameraMode.camToRawInstanceData[UnityObjectWrapperKey.op_Implicit(cameraRig)]).SetPitchYawFromLookVector(pitchYawFromLookVector); } } ((EntityState)this).OnExit(); } } public class Land : BaseSkillState { public float duration = 1.03f; public float animDur = 0.56f; private float startSlowdown = 0.09f; private bool slowed = false; private Animator animator; private RootMotionAccumulator rootmotion; private HitStopCachedState hitStopCachedState; public override void OnEnter() { ((EntityState)this).PlayAnimation("Body", "land", "Roll.playbackRate", animDur, 0f); rootmotion = ((EntityState)this).GetModelRootMotionAccumulator(); if (((EntityState)this).isAuthority) { EffectManager.SimpleMuzzleFlash(BayoAssets.land, ((EntityState)this).gameObject, "SwingCenter", true); } animator = ((EntityState)this).GetModelAnimator(); Util.PlaySound("batland", ((EntityState)this).gameObject); } public override void FixedUpdate() { //IL_000e: Unknown result type (might be due to invalid IL or missing references) //IL_0013: Unknown result type (might be due to invalid IL or missing references) //IL_0035: 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_007a: Unknown result type (might be due to invalid IL or missing references) //IL_007f: Unknown result type (might be due to invalid IL or missing references) ((EntityState)this).FixedUpdate(); Vector3 rootMotion = rootmotion.ExtractRootMotion(); if (((EntityState)this).isAuthority && Object.op_Implicit((Object)(object)((EntityState)this).characterMotor)) { ((EntityState)this).characterMotor.rootMotion = rootMotion; } if (((EntityState)this).fixedAge >= startSlowdown) { if (!slowed) { slowed = true; hitStopCachedState = ((BaseState)this).CreateHitStopCachedState(((EntityState)this).characterMotor, animator, "Roll.playbackRate"); } if (Object.op_Implicit((Object)(object)animator)) { animator.SetFloat("Roll.playbackRate", 0.5f); } } if (((EntityState)this).isAuthority && ((EntityState)this).fixedAge >= duration) { ((EntityState)this).outer.SetNextStateToMain(); } } public override void OnExit() { //IL_0003: Unknown result type (might be due to invalid IL or missing references) ((BaseState)this).ConsumeHitStopCachedState(hitStopCachedState, ((EntityState)this).characterMotor, animator); if (NetworkServer.active) { ((EntityState)this).characterBody.RemoveBuff(Buffs.HiddenInvincibility); } ((EntityState)this).OnExit(); } } public class Taunt1spot : BaseEmote { private uint sound; private bool voiced = false; private float zoomoutTime = 4.88f; private bool zoomedOut = false; private bool shined = false; public GameObject spot = BayoAssets.spotlight2; private float freezeTime = 5.28f; private float freezeDur = 2.5f; private float freezeWatch = 0f; private HitStopCachedState poseCachedState; public Animator animator; private bool freezeDone = false; private CameraParamsOverrideHandle cam2; private CameraRigController cameraRig; public UIController uiController; public override void OnEnter() { //IL_00e6: 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_010a: 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_0114: Unknown result type (might be due to invalid IL or missing references) //IL_014d: 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) //IL_0160: 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_0177: 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) animString = "Taunt"; animDuration = 6.56f; y = -2.25f; z = -3.5f; zoomDur = 0.01f; zoomOutDur = 0.25f; animator = ((EntityState)this).GetModelAnimator(); uiController = ((EntityState)this).gameObject.GetComponent(); uiController.SetRORUIActiveState(state: false); base.OnEnter(); if (Object.op_Implicit((Object)(object)((EntityState)this).cameraTargetParams) && Object.op_Implicit((Object)(object)((EntityState)this).characterBody.master.playerCharacterMasterController.networkUser)) { cameraRig = ((EntityState)this).characterBody.master.playerCharacterMasterController.networkUser.cameraRigController; } ((Object)cameraParams).name = "zoom2"; cameraParams.data.wallCushion = BlendableFloat.op_Implicit(0.1f); cameraParams.data.idealLocalCameraPos = BlendableVector3.op_Implicit(new Vector3(0f, -2.25f, -8f)); zoom = Config.eZoom.Value; if (Object.op_Implicit((Object)(object)((EntityState)this).cameraTargetParams) && zoom) { cam2 = ((EntityState)this).cameraTargetParams.AddParamsOverride(new CameraParamsOverrideRequest { cameraParamsData = cameraParams.data, priority = 1f }, 0.01f); } } public override void FixedUpdate() { //IL_0057: Unknown result type (might be due to invalid IL or missing references) //IL_0062: Unknown result type (might be due to invalid IL or missing references) //IL_0067: Unknown result type (might be due to invalid IL or missing references) //IL_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_018d: Unknown result type (might be due to invalid IL or missing references) //IL_0192: Unknown result type (might be due to invalid IL or missing references) //IL_0197: Unknown result type (might be due to invalid IL or missing references) //IL_019f: Unknown result type (might be due to invalid IL or missing references) //IL_01a4: Unknown result type (might be due to invalid IL or missing references) //IL_01ac: Unknown result type (might be due to invalid IL or missing references) //IL_01b1: Unknown result type (might be due to invalid IL or missing references) //IL_01b3: Unknown result type (might be due to invalid IL or missing references) //IL_01b5: Unknown result type (might be due to invalid IL or missing references) //IL_01b7: Unknown result type (might be due to invalid IL or missing references) //IL_01bc: Unknown result type (might be due to invalid IL or missing references) //IL_01be: Unknown result type (might be due to invalid IL or missing references) //IL_01c0: Unknown result type (might be due to invalid IL or missing references) //IL_01c2: Unknown result type (might be due to invalid IL or missing references) //IL_01c7: Unknown result type (might be due to invalid IL or missing references) //IL_01e1: Unknown result type (might be due to invalid IL or missing references) //IL_01e3: Unknown result type (might be due to invalid IL or missing references) //IL_0201: Unknown result type (might be due to invalid IL or missing references) //IL_0206: Unknown result type (might be due to invalid IL or missing references) //IL_021e: Unknown result type (might be due to invalid IL or missing references) //IL_0228: Unknown result type (might be due to invalid IL or missing references) //IL_022d: Unknown result type (might be due to invalid IL or missing references) //IL_00d1: Unknown result type (might be due to invalid IL or missing references) //IL_00d6: Unknown result type (might be due to invalid IL or missing references) //IL_0149: Unknown result type (might be due to invalid IL or missing references) if (stopwatch >= zoomoutTime && !zoomedOut) { zoomedOut = true; if (Object.op_Implicit((Object)(object)((EntityState)this).cameraTargetParams) && ((CameraParamsOverrideHandle)(ref cameraParamsOverrideHandle)).isValid && zoom) { cameraParamsOverrideHandle = ((EntityState)this).cameraTargetParams.RemoveParamsOverride(cameraParamsOverrideHandle, zoomOutDur); } EffectManager.SimpleMuzzleFlash(spot, ((EntityState)this).gameObject, "SwingCenter", true); } if (stopwatch >= freezeTime && !freezeDone) { if (!shined) { shined = true; poseCachedState = ((BaseState)this).CreateHitStopCachedState(((EntityState)this).characterMotor, animator, playbackString); } freezeWatch += Time.fixedDeltaTime; stopwatch -= Time.fixedDeltaTime; if (Object.op_Implicit((Object)(object)animator)) { animator.SetFloat(playbackString, 0f); } if (freezeWatch >= freezeDur) { freezeDone = true; ((BaseState)this).ConsumeHitStopCachedState(poseCachedState, ((EntityState)this).characterMotor, animator); } } if (Object.op_Implicit((Object)(object)cameraRig)) { Quaternion val = Quaternion.AngleAxis(180f, Vector3.up); Quaternion val2 = Quaternion.AngleAxis(270f, Vector3.up); Vector3 forward = ((EntityState)this).characterDirection.forward; Vector3 forward2 = ((EntityState)this).characterDirection.forward; forward = val * forward; forward2 = val2 * forward2; forward.y = 0f; forward2.y = 0f; Vector3 pitchYawFromLookVector = Vector3.Lerp(forward2, forward, Mathf.SmoothStep(0f, 1f, stopwatch / zoomoutTime)); ((InstanceData)cameraRig.cameraMode.camToRawInstanceData[UnityObjectWrapperKey.op_Implicit(cameraRig)]).SetPitchYawFromLookVector(pitchYawFromLookVector); } base.FixedUpdate(); } public override void OnExit() { //IL_0031: 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_0041: Unknown result type (might be due to invalid IL or missing references) if (Object.op_Implicit((Object)(object)((EntityState)this).cameraTargetParams) && ((CameraParamsOverrideHandle)(ref cam2)).isValid && zoom) { cam2 = ((EntityState)this).cameraTargetParams.RemoveParamsOverride(cam2, zoomOutDur); } uiController.SetRORUIActiveState(state: true); base.OnExit(); } } } namespace BayoMod.Characters.Survivors.Bayo.SkillStates.PunishStates { public class GrabStart : BaseMeleeAttack { protected float distanceMult = 3f; private RootMotionAccumulator rootMotionAccumulator; protected string animName = "GrabStart"; protected float dur = 0.96f; protected float stunTime = 4.28f; public CharacterBody enemyBody; public static CharacterCameraParams cameraParams; protected CameraParamsOverrideHandle cameraParamsOverrideHandle; protected ModelLocator component; protected ChildLocator component2; protected Quaternion rotateAngle; private Transform modelTrans; public float lookY; private Vector3 direction; private Vector3 forwardDir; private float y = 0f; private float firstSpin = 0.44f; private float secSpin = 0.7f; public override void OnEnter() { //IL_00b3: Unknown result type (might be due to invalid IL or missing references) //IL_00b8: Unknown result type (might be due to invalid IL or missing references) //IL_00bb: Unknown result type (might be due to invalid IL or missing references) //IL_0155: Unknown result type (might be due to invalid IL or missing references) //IL_015a: Unknown result type (might be due to invalid IL or missing references) //IL_0162: 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_016e: Unknown result type (might be due to invalid IL or missing references) //IL_0173: Unknown result type (might be due to invalid IL or missing references) //IL_020e: Unknown result type (might be due to invalid IL or missing references) //IL_0213: Unknown result type (might be due to invalid IL or missing references) //IL_0231: Unknown result type (might be due to invalid IL or missing references) //IL_0236: Unknown result type (might be due to invalid IL or missing references) //IL_023b: Unknown result type (might be due to invalid IL or missing references) //IL_025b: Unknown result type (might be due to invalid IL or missing references) //IL_0268: Unknown result type (might be due to invalid IL or missing references) //IL_026d: Unknown result type (might be due to invalid IL or missing references) //IL_027e: Unknown result type (might be due to invalid IL or missing references) //IL_0285: Unknown result type (might be due to invalid IL or missing references) //IL_028a: Unknown result type (might be due to invalid IL or missing references) //IL_0306: Unknown result type (might be due to invalid IL or missing references) //IL_030b: Unknown result type (might be due to invalid IL or missing references) duration = dur; attackStartPercentTime = 1.1f; attackEndPercentTime = 1f; durOverride = true; exitToStance = false; rootMotionAccumulator = ((EntityState)this).GetModelRootMotionAccumulator(); enemyBody = ((EntityState)this).GetComponent().GetTrackingTarget().healthComponent.body; if (Object.op_Implicit((Object)(object)enemyBody) && Object.op_Implicit((Object)(object)enemyBody.healthComponent) && enemyBody.healthComponent.alive) { if (Object.op_Implicit((Object)(object)((Component)enemyBody).GetComponent())) { Bounds bounds = ((Collider)((Component)enemyBody).GetComponent()).bounds; y = ((Bounds)(ref bounds)).extents.y; ((Collider)((Component)enemyBody).GetComponent()).enabled = false; } else if (Object.op_Implicit((Object)(object)((Component)enemyBody).GetComponent())) { y = ((Component)enemyBody).GetComponent().radius; ((Collider)((Component)enemyBody).GetComponent()).enabled = false; } modelTrans = enemyBody.modelLocator.modelTransform; if (Object.op_Implicit((Object)(object)modelTrans)) { Quaternion rotation = ((EntityState)this).characterBody.modelLocator.modelTransform.rotation; modelTrans.rotation = rotation * Quaternion.AngleAxis(90f, Vector3.right); } cameraParams = ScriptableObject.CreateInstance(); ((Object)cameraParams).name = "PunishZoomFr"; cameraParams.data.wallCushion = BlendableFloat.op_Implicit(0.1f); cameraParams.data.idealLocalCameraPos = BlendableVector3.op_Implicit(new Vector3(0f, -2.25f, -6f)); if (Object.op_Implicit((Object)(object)((EntityState)this).cameraTargetParams)) { cameraParamsOverrideHandle = ((EntityState)this).cameraTargetParams.AddParamsOverride(new CameraParamsOverrideRequest { cameraParamsData = cameraParams.data, priority = 1f }, 0.8f); } if (NetworkServer.active) { enemyBody.AddTimedBuff(BayoBuffs.punishable, stunTime); ((EntityState)this).characterBody.AddTimedBuff(Buffs.HiddenInvincibility, stunTime); SetStateOnHurt obj = ((Component)enemyBody.healthComponent).GetComponent(); if (obj != null) { obj.SetStun(stunTime); } } if (Object.op_Implicit((Object)(object)((EntityState)this).characterDirection)) { forwardDir = ((EntityState)this).characterDirection.forward; forwardDir.y = 0f; } ((EntityState)this).PlayAnimation("Body", animName); Util.PlaySound("grabstart", ((EntityState)this).gameObject); base.OnEnter(); } else { if (NetworkServer.active && ((EntityState)this).characterBody.HasBuff(Buffs.HiddenInvincibility)) { ((EntityState)this).characterBody.RemoveBuff(Buffs.HiddenInvincibility); } if (Object.op_Implicit((Object)(object)((EntityState)this).GetComponent())) { ((EntityState)this).GetComponent().punishing = false; } ((EntityState)this).outer.SetNextStateToMain(); } } public override void FixedUpdate() { //IL_00d1: Unknown result type (might be due to invalid IL or missing references) //IL_013c: Unknown result type (might be due to invalid IL or missing references) //IL_0141: 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_0041: 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_006e: Unknown result type (might be due to invalid IL or missing references) //IL_0073: Unknown result type (might be due to invalid IL or missing references) //IL_0074: Unknown result type (might be due to invalid IL or missing references) //IL_0075: Unknown result type (might be due to invalid IL or missing references) //IL_023f: Unknown result type (might be due to invalid IL or missing references) //IL_0244: Unknown result type (might be due to invalid IL or missing references) //IL_0249: Unknown result type (might be due to invalid IL or missing references) //IL_0250: Unknown result type (might be due to invalid IL or missing references) //IL_0255: Unknown result type (might be due to invalid IL or missing references) //IL_025a: Unknown result type (might be due to invalid IL or missing references) //IL_01b1: Unknown result type (might be due to invalid IL or missing references) //IL_01b6: Unknown result type (might be due to invalid IL or missing references) //IL_01bd: Unknown result type (might be due to invalid IL or missing references) //IL_01c2: Unknown result type (might be due to invalid IL or missing references) //IL_01ce: Unknown result type (might be due to invalid IL or missing references) //IL_0274: Unknown result type (might be due to invalid IL or missing references) //IL_0286: Unknown result type (might be due to invalid IL or missing references) //IL_028b: Unknown result type (might be due to invalid IL or missing references) //IL_0290: Unknown result type (might be due to invalid IL or missing references) //IL_0293: Unknown result type (might be due to invalid IL or missing references) //IL_02a5: Unknown result type (might be due to invalid IL or missing references) //IL_02aa: Unknown result type (might be due to invalid IL or missing references) //IL_02af: Unknown result type (might be due to invalid IL or missing references) //IL_02cc: Unknown result type (might be due to invalid IL or missing references) //IL_02d1: Unknown result type (might be due to invalid IL or missing references) //IL_01ea: Unknown result type (might be due to invalid IL or missing references) //IL_01f5: Unknown result type (might be due to invalid IL or missing references) //IL_01f8: Unknown result type (might be due to invalid IL or missing references) //IL_01fd: Unknown result type (might be due to invalid IL or missing references) //IL_0202: Unknown result type (might be due to invalid IL or missing references) //IL_020d: Unknown result type (might be due to invalid IL or missing references) //IL_0212: Unknown result type (might be due to invalid IL or missing references) //IL_0217: Unknown result type (might be due to invalid IL or missing references) //IL_021b: Unknown result type (might be due to invalid IL or missing references) //IL_00a5: Unknown result type (might be due to invalid IL or missing references) //IL_00aa: 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_0364: Unknown result type (might be due to invalid IL or missing references) //IL_0369: Unknown result type (might be due to invalid IL or missing references) //IL_02f4: Unknown result type (might be due to invalid IL or missing references) //IL_0306: Unknown result type (might be due to invalid IL or missing references) //IL_030b: Unknown result type (might be due to invalid IL or missing references) //IL_0310: Unknown result type (might be due to invalid IL or missing references) //IL_0323: Unknown result type (might be due to invalid IL or missing references) //IL_0328: Unknown result type (might be due to invalid IL or missing references) //IL_0345: Unknown result type (might be due to invalid IL or missing references) //IL_034a: Unknown result type (might be due to invalid IL or missing references) //IL_0376: Unknown result type (might be due to invalid IL or missing references) //IL_0380: Unknown result type (might be due to invalid IL or missing references) //IL_0385: Unknown result type (might be due to invalid IL or missing references) //IL_038a: Unknown result type (might be due to invalid IL or missing references) base.FixedUpdate(); if (((EntityState)this).characterMotor.isGrounded) { if (((EntityState)this).isAuthority && Object.op_Implicit((Object)(object)((EntityState)this).characterMotor)) { ((EntityState)this).inputBank.moveVector = Vector3.zero; ((EntityState)this).characterMotor.moveDirection = Vector3.zero; } if (Object.op_Implicit((Object)(object)rootMotionAccumulator)) { Vector3 val = rootMotionAccumulator.ExtractRootMotion(); if (val != Vector3.zero && ((EntityState)this).isAuthority && Object.op_Implicit((Object)(object)((EntityState)this).characterMotor)) { CharacterMotor characterMotor = ((EntityState)this).characterMotor; characterMotor.rootMotion += val; } } } if (Object.op_Implicit((Object)(object)((EntityState)this).characterDirection)) { ((EntityState)this).characterDirection.forward = forwardDir; } component = ((EntityState)this).gameObject.GetComponent(); component2 = ((Component)component.modelTransform).GetComponent(); if (Object.op_Implicit((Object)(object)component2)) { int num = component2.FindChildIndex("muzrh"); Transform val2 = component2.FindChild(num); Vector3 position = val2.position; if (Object.op_Implicit((Object)(object)enemyBody) && Object.op_Implicit((Object)(object)enemyBody.healthComponent) && enemyBody.healthComponent.alive) { CharacterMotor characterMotor2 = enemyBody.characterMotor; Rigidbody rigidbody = enemyBody.rigidbody; if (Object.op_Implicit((Object)(object)characterMotor2)) { characterMotor2.disableAirControlUntilCollision = true; characterMotor2.velocity = Vector3.zero; characterMotor2.rootMotion = Vector3.zero; ((BaseCharacterController)characterMotor2).Motor.SetPosition(position, true); } else if (Object.op_Implicit((Object)(object)rigidbody)) { rigidbody.velocity = Vector3.zero; position += rotateAngle * Vector3.zero * y; rigidbody.position = position; } } if (!Object.op_Implicit((Object)(object)modelTrans)) { if (NetworkServer.active && ((EntityState)this).characterBody.HasBuff(Buffs.HiddenInvincibility)) { ((EntityState)this).characterBody.RemoveBuff(Buffs.HiddenInvincibility); } if (Object.op_Implicit((Object)(object)((EntityState)this).GetComponent())) { ((EntityState)this).GetComponent().punishing = false; } ((EntityState)this).outer.SetNextStateToMain(); return; } Quaternion val3 = Quaternion.AngleAxis(-112.5f, Vector3.up); Quaternion val4 = Quaternion.AngleAxis(-225f, Vector3.up); if (stopwatch >= secSpin) { Quaternion val5 = val4 * ((EntityState)this).characterBody.modelLocator.modelTransform.rotation; rotateAngle = Quaternion.Lerp(val3 * ((EntityState)this).characterBody.modelLocator.modelTransform.rotation, val5, (stopwatch - secSpin) / (duration - secSpin)); } else if (stopwatch >= firstSpin) { Quaternion val6 = val3 * ((EntityState)this).characterBody.modelLocator.modelTransform.rotation; rotateAngle = Quaternion.Lerp(((EntityState)this).characterBody.modelLocator.modelTransform.rotation, val6, (stopwatch - firstSpin) / (secSpin - firstSpin)); } else { rotateAngle = ((EntityState)this).characterBody.modelLocator.modelTransform.rotation; } modelTrans.rotation = rotateAngle * Quaternion.AngleAxis(90f, Vector3.right); } if (((EntityState)this).isAuthority && stopwatch >= duration) { SetNext(); } } protected virtual void SetNext() { //IL_0013: Unknown result type (might be due to invalid IL or missing references) //IL_0018: Unknown result type (might be due to invalid IL or missing references) ((EntityState)this).outer.SetNextState((EntityState)(object)new Grab { forwardDir = ((EntityState)this).characterDirection.forward, y = y }); } public override void OnSerialize(NetworkWriter writer) { //IL_000b: Unknown result type (might be due to invalid IL or missing references) ((BaseSkillState)this).OnSerialize(writer); writer.Write(forwardDir); } public override void OnDeserialize(NetworkReader reader) { //IL_000b: Unknown result type (might be due to invalid IL or missing references) //IL_0010: Unknown result type (might be due to invalid IL or missing references) ((BaseSkillState)this).OnDeserialize(reader); forwardDir = reader.ReadVector3(); } protected override void EnterAttack() { hasFired = true; PlaySwingEffect(); if (voice) { Util.PlaySound(voiceString, ((EntityState)this).gameObject); } if (((EntityState)this).isAuthority) { ((BaseState)this).AddRecoil(-1f * attackRecoil, -2f * attackRecoil, -0.5f * attackRecoil, 0.5f * attackRecoil); } } public override void OnExit() { //IL_0029: 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_0038: Unknown result type (might be due to invalid IL or missing references) if (Object.op_Implicit((Object)(object)((EntityState)this).cameraTargetParams) && ((CameraParamsOverrideHandle)(ref cameraParamsOverrideHandle)).isValid) { cameraParamsOverrideHandle = ((EntityState)this).cameraTargetParams.RemoveParamsOverride(cameraParamsOverrideHandle, 1.5f); } base.OnExit(); } } public class PunishEntry : BaseSkillState { private PunishTracker tracker = null; protected HurtBox target; protected CharacterBody body; private int randNum = 0; public override void OnEnter() { ((BaseState)this).OnEnter(); if ((Object)(object)((EntityState)this).GetComponent() != (Object)null) { tracker = ((EntityState)this).GetComponent(); target = tracker.GetTrackingTarget(); if (!Object.op_Implicit((Object)(object)tracker.GetTrackingTarget())) { ((EntityState)this).outer.SetNextStateToMain(); } else if (Object.op_Implicit((Object)(object)target) && Object.op_Implicit((Object)(object)target.healthComponent) && target.healthComponent.alive) { if (Object.op_Implicit((Object)(object)target.healthComponent.body)) { body = target.healthComponent.body; randNum = Random.Range(0, 3); if (((EntityState)this).characterMotor.isGrounded) { if (Object.op_Implicit((Object)(object)target.healthComponent.body.characterMotor) && !target.healthComponent.body.characterMotor.isGrounded) { tracker.punishing = true; ((EntityState)this).outer.SetNextState((EntityState)(object)new GrabStart()); } else if (Object.op_Implicit((Object)(object)target.healthComponent.body.characterMotor)) { if (Object.op_Implicit((Object)(object)target.healthComponent.body) && (target.healthComponent.body.characterMotor.mass >= 300f || ((Object)target.healthComponent.body).name.Contains("VultureBody") || ((Object)target.healthComponent.body).name.Contains("FlyingVerminBody") || randNum == 0)) { tracker.punishing = true; ((EntityState)this).outer.SetNextState((EntityState)(object)new StepStart()); } else { tracker.punishing = true; ((EntityState)this).outer.SetNextState((EntityState)(object)new SmackStart()); } } else if (Object.op_Implicit((Object)(object)((Component)target.healthComponent).GetComponent())) { tracker.punishing = true; ((EntityState)this).outer.SetNextState((EntityState)(object)new GrabStart()); } else { ((EntityState)this).outer.SetNextStateToMain(); } } else { ((EntityState)this).outer.SetNextStateToMain(); } } else { ((EntityState)this).outer.SetNextStateToMain(); } } else { ((EntityState)this).outer.SetNextStateToMain(); } } else { ((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; } } public class PunishStun : StunState { private Transform modelTrans; private Quaternion originalRotation; private bool debugFlag = false; public override void OnEnter() { //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_009c: 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_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) ((StunState)this).OnEnter(); if (Object.op_Implicit((Object)(object)((EntityState)this).modelLocator.modelTransform)) { modelTrans = ((EntityState)this).modelLocator.modelTransform; originalRotation = modelTrans.rotation; if (((Object)((Component)((EntityState)this).modelLocator).gameObject).name == "GreaterWispBody(Clone)") { ((EntityState)this).modelLocator.dontReleaseModelOnDeath = true; ((EntityState)this).modelLocator.dontDetatchFromParent = true; } ((Behaviour)((EntityState)this).modelLocator).enabled = false; } if (Object.op_Implicit((Object)(object)modelTrans)) { Transform obj = modelTrans; obj.rotation *= Quaternion.AngleAxis(90f, Vector3.right); } } public override void FixedUpdate() { //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_003a: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0046: Unknown result type (might be due to invalid IL or missing references) //IL_004b: Unknown result type (might be due to invalid IL or missing references) //IL_004e: Unknown result type (might be due to invalid IL or missing references) //IL_0094: Unknown result type (might be due to invalid IL or missing references) //IL_00bd: Unknown result type (might be due to invalid IL or missing references) //IL_00c2: Unknown result type (might be due to invalid IL or missing references) //IL_00c5: Unknown result type (might be due to invalid IL or missing references) //IL_00ca: 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_00f6: 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_011f: Unknown result type (might be due to invalid IL or missing references) //IL_0124: Unknown result type (might be due to invalid IL or missing references) //IL_0127: Unknown result type (might be due to invalid IL or missing references) //IL_012c: Unknown result type (might be due to invalid IL or missing references) ((StunState)this).FixedUpdate(); if (Object.op_Implicit((Object)(object)modelTrans) && (Object)(object)((EntityState)this).GetComponent() != (Object)null) { Bounds bounds = ((Collider)((EntityState)this).GetComponent()).bounds; Vector3 center = ((Bounds)(ref bounds)).center; bounds = ((Collider)((EntityState)this).GetComponent()).bounds; float y = ((Bounds)(ref bounds)).extents.y; if (y <= 1f) { center.y -= y * 0.7f; } else { center.y -= y; } modelTrans.position = center; if (debugFlag) { debugFlag = false; bounds = ((Collider)((EntityState)this).GetComponent()).bounds; Chat.AddMessage("x (cur): " + ((Bounds)(ref bounds)).size.x); bounds = ((Collider)((EntityState)this).GetComponent()).bounds; Chat.AddMessage("y: " + ((Bounds)(ref bounds)).size.y); bounds = ((Collider)((EntityState)this).GetComponent()).bounds; Chat.AddMessage("z: " + ((Bounds)(ref bounds)).size.z); } } } public override void OnExit() { //IL_0033: Unknown result type (might be due to invalid IL or missing references) if (Object.op_Implicit((Object)(object)((EntityState)this).modelLocator)) { ((Behaviour)((EntityState)this).modelLocator).enabled = true; } if (Object.op_Implicit((Object)(object)modelTrans)) { modelTrans.rotation = originalRotation; } ((StunState)this).OnExit(); } } public class Smack : Step { public override void OnEnter() { //IL_0012: Unknown result type (might be due to invalid IL or missing references) //IL_0017: Unknown result type (might be due to invalid IL or missing references) //IL_001c: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_002c: Unknown result type (might be due to invalid IL or missing references) //IL_0031: Unknown result type (might be due to invalid IL or missing references) attackStart = 0.05454f; rotation = Quaternion.AngleAxis(170f, Vector3.up); rotation2 = Quaternion.AngleAxis(0f, Vector3.up); zoomOut = 0.5f; base.OnEnter(); } protected override void PlayAnim() { //IL_0054: 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_0063: Unknown result type (might be due to invalid IL or missing references) ((EntityState)this).PlayAnimation("Body", "Spank", "Slash.playbackRate", fireFreq * 2f, 0f); if (Object.op_Implicit((Object)(object)((EntityState)this).characterMotor) && Object.op_Implicit((Object)(object)((EntityState)this).characterDirection)) { ((EntityState)this).characterMotor.velocity = ((EntityState)this).characterMotor.velocity * 0f; } } protected override void SetNext() { //IL_000e: Unknown result type (might be due to invalid IL or missing references) //IL_0013: Unknown result type (might be due to invalid IL or missing references) //IL_002b: Unknown result type (might be due to invalid IL or missing references) //IL_0030: Unknown result type (might be due to invalid IL or missing references) //IL_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) ((EntityState)this).outer.SetNextState((EntityState)(object)new SmackEnd { cameraParamsOverrideHandle = cameraParamsOverrideHandle, enemyBody = enemyBody, forwardDir = ((EntityState)this).characterDirection.forward, cameraDir = cameraDir }); } } public class SmackEnd : StepEnd { public override void OnEnter() { duration = 1.48f; fireTime = 0.24f; animName = "SpankEnd"; projectilePrefab = BayoAssets.fistDown; base.OnEnter(); } public override void FixedUpdate() { //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_0030: Unknown result type (might be due to invalid IL or missing references) //IL_0035: Unknown result type (might be due to invalid IL or missing references) //IL_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_0065: 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_0074: Unknown result type (might be due to invalid IL or missing references) base.FixedUpdate(); if (Object.op_Implicit((Object)(object)Camera)) { Vector3 val = cameraDir; val.y *= 15f; Vector3 pitchYawFromLookVector = Vector3.Lerp(cameraDir, val, stopwatch / (fireTime + 0.24f)); ((InstanceData)Camera.cameraMode.camToRawInstanceData[UnityObjectWrapperKey.op_Implicit(Camera)]).SetPitchYawFromLookVector(pitchYawFromLookVector); } } public override void FireProjectile() { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_001f: Unknown result type (might be due to invalid IL or missing references) //IL_0026: Unknown result type (might be due to invalid IL or missing references) //IL_0030: Unknown result type (might be due to invalid IL or missing references) //IL_0035: Unknown result type (might be due to invalid IL or missing references) //IL_003a: 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_0059: 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_005b: Unknown result type (might be due to invalid IL or missing references) Vector3 val = forwardDir; val.y = 0f; Vector3 val2 = ((EntityState)this).characterBody.transform.position + ((Vector3)(ref val)).normalized * 2f; val2.y -= 1.5f; ProjectileManager.instance.FireProjectile(projectilePrefab, val2, Util.QuaternionSafeLookRotation(val), ((EntityState)this).gameObject, ((BaseState)this).damageStat * StepEnd.damageCoefficient, force, Util.CheckRoll(((BaseState)this).critStat, ((EntityState)this).characterBody.master), (DamageColorIndex)0, (GameObject)null, -1f, (DamageTypeCombo?)null); } } public class SmackStart : StepStart { public override void OnEnter() { //IL_0033: Unknown result type (might be due to invalid IL or missing references) //IL_0038: Unknown result type (might be due to invalid IL or missing references) //IL_003d: Unknown result type (might be due to invalid IL or missing references) //IL_0048: Unknown result type (might be due to invalid IL or missing references) //IL_004d: Unknown result type (might be due to invalid IL or missing references) //IL_0052: Unknown result type (might be due to invalid IL or missing references) animName = "SpankStart"; dur = 0.6f; atStart = 1.1f; stunTime = 4.28f; rotation = Quaternion.AngleAxis(170f, Vector3.up); rotation2 = Quaternion.AngleAxis(0f, Vector3.up); z = -5.5f; x = 0f; y = -3f; turnAmount = 115f; strongModif = true; base.OnEnter(); } protected override void SetNext() { //IL_000e: Unknown result type (might be due to invalid IL or missing references) //IL_0013: Unknown result type (might be due to invalid IL or missing references) //IL_002b: Unknown result type (might be due to invalid IL or missing references) //IL_0030: Unknown result type (might be due to invalid IL or missing references) //IL_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) ((EntityState)this).outer.SetNextState((EntityState)(object)new Smack { cameraParamsOverrideHandle = cameraParamsOverrideHandle, enemyBody = enemyBody, forwardDir = ((EntityState)this).characterDirection.forward, cameraDir = rotateAngle, lookY = lookY, oldDur = dur }); } } public class StepEnd : BaseSkillState { protected float duration = 1.88f; protected float fireTime = 0.76f; private bool hasFired = false; private RootMotionAccumulator rootMotionAccumulator; protected string animName = "StepEnd"; protected float stopwatch; public static float damageCoefficient = 12f; public GameObject projectilePrefab = BayoAssets.footFast; protected float force = 1f; private float recoilAmplitude = 0.1f; private float bloom = 10f; public CharacterBody enemyBody; public CameraParamsOverrideHandle cameraParamsOverrideHandle; public Vector3 forwardDir; public Vector3 cameraDir; protected CameraRigController Camera; private bool hasVoiced = false; public override void OnEnter() { //IL_0081: Unknown result type (might be due to invalid IL or missing references) //IL_0086: Unknown result type (might be due to invalid IL or missing references) //IL_0091: 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_00a2: 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_00b9: Unknown result type (might be due to invalid IL or missing references) rootMotionAccumulator = ((EntityState)this).GetModelRootMotionAccumulator(); ((EntityState)this).PlayAnimation("Body", animName); if (Object.op_Implicit((Object)(object)((EntityState)this).characterBody.master.playerCharacterMasterController.networkUser)) { Camera = ((EntityState)this).characterBody.master.playerCharacterMasterController.networkUser.cameraRigController; } enemyBody = ((EntityState)this).GetComponent().GetTrackingTarget().healthComponent.body; forwardDir = ((EntityState)this).characterDirection.forward; ((EntityState)this).inputBank.moveVector = Vector3.zero; ((EntityState)this).characterMotor.moveDirection = forwardDir; ((EntityState)this).characterDirection.moveVector = forwardDir; ((BaseState)this).OnEnter(); } protected bool CanDodge() { if (((EntityState)this).inputBank.skill3.down && Object.op_Implicit((Object)(object)((EntityState)this).skillLocator.utility) && (!((EntityState)this).skillLocator.utility.mustKeyPress || !((EntityState)this).inputBank.skill3.hasPressBeenClaimed) && ((EntityState)this).skillLocator.utility.ExecuteIfReady()) { return true; } return false; } public override void FixedUpdate() { //IL_0080: Unknown result type (might be due to invalid IL or missing references) //IL_0085: 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_00b2: Unknown result type (might be due to invalid IL or missing references) //IL_00b7: Unknown result type (might be due to invalid IL or missing references) //IL_00b9: Unknown result type (might be due to invalid IL or missing references) //IL_00bb: 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_00f0: Unknown result type (might be due to invalid IL or missing references) //IL_00f2: Unknown result type (might be due to invalid IL or missing references) //IL_00f7: Unknown result type (might be due to invalid IL or missing references) //IL_01de: Unknown result type (might be due to invalid IL or missing references) //IL_01f7: Unknown result type (might be due to invalid IL or missing references) //IL_021d: Unknown result type (might be due to invalid IL or missing references) //IL_0227: Unknown result type (might be due to invalid IL or missing references) //IL_022d: Unknown result type (might be due to invalid IL or missing references) ((EntityState)this).FixedUpdate(); if (CanDodge()) { ((EntityState)this).outer.SetNextState((EntityState)(object)new Dodge()); ((EntityState)this).inputBank.skill3.hasPressBeenClaimed = true; return; } stopwatch += Time.fixedDeltaTime; if (((EntityState)this).characterMotor.isGrounded) { if (((EntityState)this).isAuthority && Object.op_Implicit((Object)(object)((EntityState)this).characterMotor)) { ((EntityState)this).inputBank.moveVector = Vector3.zero; ((EntityState)this).characterMotor.moveDirection = Vector3.zero; } if (Object.op_Implicit((Object)(object)rootMotionAccumulator)) { Vector3 val = rootMotionAccumulator.ExtractRootMotion(); if (val != Vector3.zero && ((EntityState)this).isAuthority && Object.op_Implicit((Object)(object)((EntityState)this).characterMotor)) { CharacterMotor characterMotor = ((EntityState)this).characterMotor; characterMotor.rootMotion += val; } } } if (stopwatch >= fireTime - 0.2f && !hasVoiced) { hasVoiced = true; Util.PlaySound("punishend", ((EntityState)this).gameObject); } if (((EntityState)this).isAuthority && stopwatch >= fireTime && !hasFired) { hasFired = true; FireProjectile(); DoFireEffects(); } if (((EntityState)this).isAuthority && stopwatch >= duration) { ((EntityState)this).outer.SetNextState((EntityState)(object)new Stance()); } if (Object.op_Implicit((Object)(object)((EntityState)this).characterDirection)) { ((EntityState)this).characterDirection.forward = forwardDir; } if (Object.op_Implicit((Object)(object)Camera)) { _ = cameraDir; if (true) { ((InstanceData)Camera.cameraMode.camToRawInstanceData[UnityObjectWrapperKey.op_Implicit(Camera)]).SetPitchYawFromLookVector(cameraDir); } } } protected void DoFireEffects() { ((BaseState)this).AddRecoil(-2f * recoilAmplitude, -3f * recoilAmplitude, -1f * recoilAmplitude, 1f * recoilAmplitude); ((EntityState)this).characterBody.AddSpreadBloom(bloom); } public virtual void FireProjectile() { //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_000c: 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_002b: Unknown result type (might be due to invalid IL or missing references) //IL_0035: Unknown result type (might be due to invalid IL or missing references) //IL_003a: 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_004a: Unknown result type (might be due to invalid IL or missing references) //IL_004f: Unknown result type (might be due to invalid IL or missing references) //IL_0054: 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_0073: Unknown result type (might be due to invalid IL or missing references) //IL_0074: Unknown result type (might be due to invalid IL or missing references) //IL_0075: Unknown result type (might be due to invalid IL or missing references) Vector3 forward = ((EntityState)this).characterDirection.forward; forward.y = 0f; Vector3 val = ((EntityState)this).characterBody.transform.position + ((Vector3)(ref forward)).normalized * 2.25f + cameraDir * 1.55f; val.y -= 1.5f; ProjectileManager.instance.FireProjectile(projectilePrefab, val, Util.QuaternionSafeLookRotation(forward), ((EntityState)this).gameObject, ((BaseState)this).damageStat * damageCoefficient, force, Util.CheckRoll(((BaseState)this).critStat, ((EntityState)this).characterBody.master), (DamageColorIndex)0, (GameObject)null, -1f, (DamageTypeCombo?)null); } public override void OnExit() { if (NetworkServer.active) { if (Object.op_Implicit((Object)(object)enemyBody) && enemyBody.HasBuff(BayoBuffs.punishable)) { enemyBody.RemoveBuff(BayoBuffs.punishable); } if (((EntityState)this).characterBody.HasBuff(Buffs.HiddenInvincibility)) { ((EntityState)this).characterBody.RemoveBuff(Buffs.HiddenInvincibility); } } if (Object.op_Implicit((Object)(object)((EntityState)this).GetComponent())) { ((EntityState)this).GetComponent().ReleaseTarget(); } if (Object.op_Implicit((Object)(object)((EntityState)this).GetComponent())) { ((EntityState)this).GetComponent().punishing = false; } ((EntityState)this).OnExit(); } public override void OnSerialize(NetworkWriter writer) { //IL_000b: Unknown result type (might be due to invalid IL or missing references) //IL_0018: Unknown result type (might be due to invalid IL or missing references) ((BaseSkillState)this).OnSerialize(writer); writer.Write(forwardDir); writer.Write(cameraDir); } public override void OnDeserialize(NetworkReader reader) { //IL_000b: Unknown result type (might be due to invalid IL or missing references) //IL_0010: Unknown result type (might be due to invalid IL or missing references) //IL_0017: Unknown result type (might be due to invalid IL or missing references) //IL_001c: Unknown result type (might be due to invalid IL or missing references) ((BaseSkillState)this).OnDeserialize(reader); cameraDir = reader.ReadVector3(); forwardDir = reader.ReadVector3(); } } public class StepStart : BaseMeleeAttack { public static string enterSoundString = PreGroundSlam.enterSoundString; protected float distanceMult = 3f; private RootMotionAccumulator rootMotionAccumulator; protected string animName = "StepStart"; protected float dur = 0.68f; protected float atStart = 0.647f; protected float stunTime = 4.8f; public CharacterBody enemyBody; public static CharacterCameraParams cameraParams; protected CameraParamsOverrideHandle cameraParamsOverrideHandle; private CameraRigController Camera; protected Vector3 rotateAngle; private Transform modelTrans = null; public float lookY; protected Quaternion rotation = Quaternion.AngleAxis(120f, Vector3.up); protected Quaternion rotation2 = Quaternion.AngleAxis(165f, Vector3.up); protected float x = -1f; protected float y = -2.25f; protected float z = -5f; protected float turnAmount = 67.5f; protected bool strongModif = false; public override void OnEnter() { //IL_0056: 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_00d7: Unknown result type (might be due to invalid IL or missing references) //IL_00dc: Unknown result type (might be due to invalid IL or missing references) //IL_00e2: Unknown result type (might be due to invalid IL or missing references) //IL_00e7: Unknown result type (might be due to invalid IL or missing references) //IL_00f2: 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_010b: 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_012d: Unknown result type (might be due to invalid IL or missing references) //IL_0132: Unknown result type (might be due to invalid IL or missing references) //IL_013d: Unknown result type (might be due to invalid IL or missing references) //IL_0142: Unknown result type (might be due to invalid IL or missing references) //IL_0152: Unknown result type (might be due to invalid IL or missing references) //IL_0157: 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) //IL_0165: Unknown result type (might be due to invalid IL or missing references) //IL_016a: Unknown result type (might be due to invalid IL or missing references) //IL_01e9: Unknown result type (might be due to invalid IL or missing references) //IL_01ee: Unknown result type (might be due to invalid IL or missing references) //IL_01f0: Unknown result type (might be due to invalid IL or missing references) //IL_01f8: Unknown result type (might be due to invalid IL or missing references) //IL_01fd: Unknown result type (might be due to invalid IL or missing references) //IL_0202: Unknown result type (might be due to invalid IL or missing references) //IL_0207: Unknown result type (might be due to invalid IL or missing references) //IL_020f: Unknown result type (might be due to invalid IL or missing references) //IL_0216: Unknown result type (might be due to invalid IL or missing references) //IL_021b: Unknown result type (might be due to invalid IL or missing references) //IL_0220: Unknown result type (might be due to invalid IL or missing references) //IL_0197: Unknown result type (might be due to invalid IL or missing references) //IL_019c: Unknown result type (might be due to invalid IL or missing references) //IL_019d: Unknown result type (might be due to invalid IL or missing references) //IL_019f: Unknown result type (might be due to invalid IL or missing references) //IL_01a4: Unknown result type (might be due to invalid IL or missing references) //IL_0178: Unknown result type (might be due to invalid IL or missing references) //IL_017f: Unknown result type (might be due to invalid IL or missing references) //IL_0184: Unknown result type (might be due to invalid IL or missing references) //IL_0298: Unknown result type (might be due to invalid IL or missing references) //IL_029d: Unknown result type (might be due to invalid IL or missing references) //IL_0366: Unknown result type (might be due to invalid IL or missing references) //IL_036b: Unknown result type (might be due to invalid IL or missing references) //IL_0370: Unknown result type (might be due to invalid IL or missing references) //IL_02cf: Unknown result type (might be due to invalid IL or missing references) //IL_02d4: Unknown result type (might be due to invalid IL or missing references) //IL_02d8: Unknown result type (might be due to invalid IL or missing references) //IL_0300: Unknown result type (might be due to invalid IL or missing references) //IL_0305: Unknown result type (might be due to invalid IL or missing references) //IL_0309: Unknown result type (might be due to invalid IL or missing references) //IL_032b: Unknown result type (might be due to invalid IL or missing references) //IL_0330: Unknown result type (might be due to invalid IL or missing references) //IL_0334: Unknown result type (might be due to invalid IL or missing references) //IL_0393: Unknown result type (might be due to invalid IL or missing references) //IL_03a0: Unknown result type (might be due to invalid IL or missing references) //IL_03a5: Unknown result type (might be due to invalid IL or missing references) //IL_03b6: Unknown result type (might be due to invalid IL or missing references) //IL_03bd: Unknown result type (might be due to invalid IL or missing references) //IL_03c2: Unknown result type (might be due to invalid IL or missing references) duration = dur; attackStartPercentTime = atStart; attackEndPercentTime = 1f; damageCoefficient = 1.25f; hitStopDuration = 0.012f; durOverride = true; exitToStance = false; rootMotionAccumulator = ((EntityState)this).GetModelRootMotionAccumulator(); damageType = DamageTypeCombo.op_Implicit((DamageType)1); enemyBody = ((EntityState)this).GetComponent().GetTrackingTarget().healthComponent.body; if (Object.op_Implicit((Object)(object)enemyBody) && Object.op_Implicit((Object)(object)enemyBody.healthComponent) && enemyBody.healthComponent.alive) { CharacterMotor characterMotor = enemyBody.characterMotor; Bounds bounds; if (Object.op_Implicit((Object)(object)characterMotor)) { characterMotor.disableAirControlUntilCollision = true; characterMotor.velocity = Vector3.zero; characterMotor.rootMotion = Vector3.zero; Vector3 forward = ((EntityState)this).characterDirection.forward; bounds = ((Collider)((Component)enemyBody).GetComponent()).bounds; Vector3 val = forward * (((Bounds)(ref bounds)).extents.x * 1.25f + 1f); Vector3 val2 = Quaternion.AngleAxis(turnAmount, Vector3.up) * ((EntityState)this).characterDirection.forward; bounds = ((Collider)((Component)enemyBody).GetComponent()).bounds; Vector3 val3 = val2 * ((Bounds)(ref bounds)).extents.y; if (strongModif) { val3 *= 1.25f; } ((BaseCharacterController)characterMotor).Motor.SetPosition(((EntityState)this).characterBody.transform.position + (val - val3), true); } modelTrans = enemyBody.modelLocator.modelTransform; if (Object.op_Implicit((Object)(object)modelTrans)) { Quaternion val4 = ((EntityState)this).characterBody.modelLocator.modelTransform.rotation; val4 *= Quaternion.AngleAxis(turnAmount, Vector3.up); modelTrans.rotation = val4 * Quaternion.AngleAxis(90f, Vector3.right); } Util.PlaySound("pstart", ((EntityState)this).gameObject); cameraParams = ScriptableObject.CreateInstance(); ((Object)cameraParams).name = "PunishZoom"; cameraParams.data.wallCushion = BlendableFloat.op_Implicit(0.1f); if ((Object)(object)((Component)enemyBody).GetComponent() != (Object)null) { float num = x; bounds = ((Collider)((Component)enemyBody).GetComponent()).bounds; x = num - ((Bounds)(ref bounds)).extents.x * 0.8f; float num2 = z; bounds = ((Collider)((Component)enemyBody).GetComponent()).bounds; z = num2 - ((Bounds)(ref bounds)).extents.y * 0.8f; bounds = ((Collider)((Component)enemyBody).GetComponent()).bounds; lookY = ((Bounds)(ref bounds)).extents.y * -0.02f; } cameraParams.data.idealLocalCameraPos = BlendableVector3.op_Implicit(new Vector3(x, y, z)); if (Object.op_Implicit((Object)(object)((EntityState)this).cameraTargetParams)) { cameraParamsOverrideHandle = ((EntityState)this).cameraTargetParams.AddParamsOverride(new CameraParamsOverrideRequest { cameraParamsData = cameraParams.data, priority = 1f }, 0.5f); if (Object.op_Implicit((Object)(object)((EntityState)this).characterBody.master.playerCharacterMasterController.networkUser)) { Camera = ((EntityState)this).characterBody.master.playerCharacterMasterController.networkUser.cameraRigController; } } if (NetworkServer.active) { enemyBody.AddTimedBuff(BayoBuffs.punishable, stunTime); ((EntityState)this).characterBody.AddTimedBuff(Buffs.HiddenInvincibility, stunTime); SetStateOnHurt component = ((Component)enemyBody.healthComponent).GetComponent(); if (component != null) { component.SetStun(stunTime); } } ((EntityState)this).PlayAnimation("Body", animName); base.OnEnter(); } else { if (Object.op_Implicit((Object)(object)((EntityState)this).GetComponent())) { ((EntityState)this).GetComponent().punishing = false; } ((EntityState)this).outer.SetNextStateToMain(); } } public override void FixedUpdate() { //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_0026: Unknown result type (might be due to invalid IL or missing references) //IL_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_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_0046: Unknown result type (might be due to invalid IL or missing references) //IL_004b: Unknown result type (might be due to invalid IL or missing references) //IL_004d: Unknown result type (might be due to invalid IL or missing references) //IL_0052: Unknown result type (might be due to invalid IL or missing references) //IL_0053: 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_0067: 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_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_009e: 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_00ae: 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_00f5: 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_0124: Unknown result type (might be due to invalid IL or missing references) //IL_0129: 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_015d: Unknown result type (might be due to invalid IL or missing references) //IL_0162: Unknown result type (might be due to invalid IL or missing references) //IL_0164: 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) base.FixedUpdate(); if (Object.op_Implicit((Object)(object)Camera)) { Vector3 forward = ((EntityState)this).characterDirection.forward; Vector3 forward2 = ((EntityState)this).characterDirection.forward; forward.y = 0f; forward = rotation * forward; forward2 = rotation2 * forward2; forward.y = lookY; rotateAngle = Vector3.Lerp(forward2, forward, Mathf.SmoothStep(0f, 1f, stopwatch)); ((InstanceData)Camera.cameraMode.camToRawInstanceData[UnityObjectWrapperKey.op_Implicit(Camera)]).SetPitchYawFromLookVector(rotateAngle); } if (((EntityState)this).characterMotor.isGrounded) { if (((EntityState)this).isAuthority && Object.op_Implicit((Object)(object)((EntityState)this).characterMotor)) { ((EntityState)this).inputBank.moveVector = Vector3.zero; ((EntityState)this).characterMotor.moveDirection = Vector3.zero; } if (Object.op_Implicit((Object)(object)rootMotionAccumulator)) { Vector3 val = rootMotionAccumulator.ExtractRootMotion(); if (val != Vector3.zero && ((EntityState)this).isAuthority && Object.op_Implicit((Object)(object)((EntityState)this).characterMotor)) { CharacterMotor characterMotor = ((EntityState)this).characterMotor; characterMotor.rootMotion += val; } } } if (((EntityState)this).isAuthority && stopwatch >= duration) { SetNext(); } } protected virtual void SetNext() { //IL_000e: Unknown result type (might be due to invalid IL or missing references) //IL_0013: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_001f: Unknown result type (might be due to invalid IL or missing references) ((EntityState)this).outer.SetNextState((EntityState)(object)new Step { cameraDir = rotateAngle, cameraParamsOverrideHandle = cameraParamsOverrideHandle, lookY = lookY, oldDur = duration }); } public override void OnSerialize(NetworkWriter writer) { //IL_000b: Unknown result type (might be due to invalid IL or missing references) ((BaseSkillState)this).OnSerialize(writer); writer.Write(rotateAngle); } public override void OnDeserialize(NetworkReader reader) { //IL_000b: Unknown result type (might be due to invalid IL or missing references) //IL_0010: Unknown result type (might be due to invalid IL or missing references) ((BaseSkillState)this).OnDeserialize(reader); rotateAngle = reader.ReadVector3(); } protected override void EnterAttack() { hasFired = true; PlaySwingEffect(); if (voice) { Util.PlaySound(voiceString, ((EntityState)this).gameObject); } if (((EntityState)this).isAuthority) { ((BaseState)this).AddRecoil(-1f * attackRecoil, -2f * attackRecoil, -0.5f * attackRecoil, 0.5f * attackRecoil); } } public override void OnExit() { base.OnExit(); } } public class Throw : BaseSkillState { protected float duration = 0.68f; private RootMotionAccumulator rootMotionAccumulator; protected string animName = "Throw"; private float stopwatch; public CharacterBody enemyBody; public Vector3 forwardDir; private bool hasVoiced = false; private float capOffDur = 0.015f; public override void OnEnter() { //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_003a: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_004b: 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_006d: Unknown result type (might be due to invalid IL or missing references) //IL_007f: Unknown result type (might be due to invalid IL or missing references) //IL_0084: Unknown result type (might be due to invalid IL or missing references) //IL_011a: 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_0151: Unknown result type (might be due to invalid IL or missing references) rootMotionAccumulator = ((EntityState)this).GetModelRootMotionAccumulator(); ((EntityState)this).PlayAnimation("Body", animName); Util.PlaySound("throw", ((EntityState)this).gameObject); Ray aimRay = ((BaseState)this).GetAimRay(); forwardDir = ((Ray)(ref aimRay)).direction; ((EntityState)this).characterDirection.forward = forwardDir; ((EntityState)this).inputBank.moveVector = Vector3.zero; ((EntityState)this).characterMotor.moveDirection = forwardDir; ((EntityState)this).characterDirection.moveVector = forwardDir; enemyBody = ((EntityState)this).GetComponent().GetTrackingTarget().healthComponent.body; if (Object.op_Implicit((Object)(object)enemyBody)) { float num = 0f; if (Object.op_Implicit((Object)(object)enemyBody.characterMotor)) { num = enemyBody.characterMotor.mass; } else if (Object.op_Implicit((Object)(object)enemyBody.rigidbody)) { num = enemyBody.rigidbody.mass; } num *= 100f; Vector3 val = forwardDir * num; if (Object.op_Implicit((Object)(object)enemyBody.healthComponent) && NetworkServer.active) { enemyBody.healthComponent.TakeDamageForce(val, true, true); } } ((BaseState)this).OnEnter(); } protected bool CanDodge() { if (((EntityState)this).inputBank.skill3.down && Object.op_Implicit((Object)(object)((EntityState)this).skillLocator.utility) && (!((EntityState)this).skillLocator.utility.mustKeyPress || !((EntityState)this).inputBank.skill3.hasPressBeenClaimed) && ((EntityState)this).skillLocator.utility.ExecuteIfReady()) { return true; } return false; } public override void FixedUpdate() { //IL_0080: Unknown result type (might be due to invalid IL or missing references) //IL_0085: 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_00b2: Unknown result type (might be due to invalid IL or missing references) //IL_00b7: Unknown result type (might be due to invalid IL or missing references) //IL_00b9: Unknown result type (might be due to invalid IL or missing references) //IL_00bb: Unknown result type (might be due to invalid IL or missing references) //IL_01ba: Unknown result type (might be due to invalid IL or missing references) //IL_01cb: Unknown result type (might be due to invalid IL or missing references) //IL_01d0: Unknown result type (might be due to invalid IL or missing references) //IL_01db: 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_00f0: Unknown result type (might be due to invalid IL or missing references) //IL_00f2: Unknown result type (might be due to invalid IL or missing references) //IL_00f7: Unknown result type (might be due to invalid IL or missing references) ((EntityState)this).FixedUpdate(); if (CanDodge()) { ((EntityState)this).outer.SetNextState((EntityState)(object)new Dodge()); ((EntityState)this).inputBank.skill3.hasPressBeenClaimed = true; return; } stopwatch += Time.fixedDeltaTime; if (((EntityState)this).characterMotor.isGrounded) { if (((EntityState)this).isAuthority && Object.op_Implicit((Object)(object)((EntityState)this).characterMotor)) { ((EntityState)this).inputBank.moveVector = Vector3.zero; ((EntityState)this).characterMotor.moveDirection = Vector3.zero; } if (Object.op_Implicit((Object)(object)rootMotionAccumulator)) { Vector3 val = rootMotionAccumulator.ExtractRootMotion(); if (val != Vector3.zero && ((EntityState)this).isAuthority && Object.op_Implicit((Object)(object)((EntityState)this).characterMotor)) { CharacterMotor characterMotor = ((EntityState)this).characterMotor; characterMotor.rootMotion += val; } } } if (Object.op_Implicit((Object)(object)enemyBody) && stopwatch >= capOffDur) { if (Object.op_Implicit((Object)(object)((Component)enemyBody).GetComponent())) { ((Collider)((Component)enemyBody).GetComponent()).enabled = true; } else if (Object.op_Implicit((Object)(object)((Component)enemyBody).GetComponent())) { ((Collider)((Component)enemyBody).GetComponent()).enabled = true; } } if (((EntityState)this).isAuthority && stopwatch >= duration) { ((EntityState)this).outer.SetNextState((EntityState)(object)new Stance()); } ((EntityState)this).characterDirection.forward = forwardDir; ((EntityState)this).inputBank.moveVector = Vector3.zero; ((EntityState)this).characterMotor.moveDirection = Vector3.zero; } public override void OnExit() { if (NetworkServer.active) { if (Object.op_Implicit((Object)(object)enemyBody) && enemyBody.HasBuff(BayoBuffs.punishable)) { enemyBody.RemoveBuff(BayoBuffs.punishable); } if (((EntityState)this).characterBody.HasBuff(Buffs.HiddenInvincibility)) { ((EntityState)this).characterBody.RemoveBuff(Buffs.HiddenInvincibility); } } if (Object.op_Implicit((Object)(object)((EntityState)this).GetComponent())) { ((EntityState)this).GetComponent().ReleaseTarget(); } if (Object.op_Implicit((Object)(object)((EntityState)this).GetComponent())) { ((EntityState)this).GetComponent().punishing = false; } ((EntityState)this).OnExit(); } public override void OnSerialize(NetworkWriter writer) { //IL_000b: Unknown result type (might be due to invalid IL or missing references) ((BaseSkillState)this).OnSerialize(writer); writer.Write(forwardDir); } public override void OnDeserialize(NetworkReader reader) { //IL_000b: Unknown result type (might be due to invalid IL or missing references) //IL_0010: Unknown result type (might be due to invalid IL or missing references) ((BaseSkillState)this).OnDeserialize(reader); forwardDir = reader.ReadVector3(); } } } namespace BayoMod.Characters.Survivors.Bayo.SkillStates.M1 { public class Flurry : BaseMeleeAttack { protected float fireAge; protected float fireFreq; protected float animTime; protected float myDuration; private string animName; public static float verticalAcceleration = GroundSlam.verticalAcceleration * 0.2f; protected float hopVelocity = 1.25f; private uint sound = 0u; protected bool flip = false; public override void OnEnter() { //IL_0039: Unknown result type (might be due to invalid IL or missing references) //IL_003e: Unknown result type (might be due to invalid IL or missing references) //IL_0083: 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) //IL_00e1: 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_00f0: Unknown result type (might be due to invalid IL or missing references) //IL_01e5: Unknown result type (might be due to invalid IL or missing references) //IL_01ea: Unknown result type (might be due to invalid IL or missing references) //IL_01ed: Unknown result type (might be due to invalid IL or missing references) attackStartPercentTime = 0f; attackEndPercentTime = 1f; earlyExitPercentTime = 0.3f; damageCoefficient = 1.65f; procCoefficient = 0.6f; damageType = DamageTypeCombo.GenericPrimary; pushForce = 300f; hitStopDuration = 0.012f; attackRecoil = 1f; hitHopVelocity = 4f; exitToStance = false; fireAge = 0f; shootRay = ((BaseState)this).GetAimRay(); gunName = "muzrh"; gunDamage = 0.5f; launch = false; fireTime = 0.15f; if (Object.op_Implicit((Object)(object)((EntityState)this).characterMotor) && Object.op_Implicit((Object)(object)((EntityState)this).characterDirection)) { ((EntityState)this).characterMotor.velocity = ((EntityState)this).characterMotor.velocity * 0f; } sound = AkSoundEngine.PostEvent(3782729823u, ((EntityState)this).gameObject); Util.PlaySound("flurry", ((EntityState)this).gameObject); ReplacePrefabs(BayoAssets.pflur, BayoAssets.pflur2); base.OnEnter(); if (((EntityState)this).characterMotor.isGrounded) { animName = "Flurry"; } else { animName = "FlurryA"; ((EntityState)this).characterMotor.airControl = ((EntityState)this).characterMotor.airControl; launch = true; juggleHop = 2.5f / ((BaseState)this).attackSpeedStat; } myDuration = 2.666f / ((BaseState)this).attackSpeedStat; duration = 3f / ((BaseState)this).attackSpeedStat; durOverride = true; fireFreq = 0.2f / ((BaseState)this).attackSpeedStat; animTime = 0.9333f / ((BaseState)this).attackSpeedStat; CharacterDirection characterDirection = ((EntityState)this).characterDirection; Ray aimRay = ((BaseState)this).GetAimRay(); characterDirection.forward = ((Ray)(ref aimRay)).direction; ((EntityState)this).PlayAnimation("Body", animName, playbackRateParam, animTime, 0f); } protected override void FireAttack() { if (fireAge >= fireFreq) { fireAge = 0f; attack.ResetIgnoredHealthComponents(); hasFired = false; results.Clear(); if (Object.op_Implicit((Object)(object)((EntityState)this).characterMotor) && !((EntityState)this).characterMotor.isGrounded && hopVelocity > 0f) { ((BaseState)this).SmallHop(((EntityState)this).characterMotor, hopVelocity); } if (!flip) { flip = true; gunName = "muzlh"; } else { flip = false; gunName = "muzrh"; } } base.FireAttack(); } public override void FixedUpdate() { //IL_0041: Unknown result type (might be due to invalid IL or missing references) //IL_0046: Unknown result type (might be due to invalid IL or missing references) //IL_0049: 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_005b: Unknown result type (might be due to invalid IL or missing references) //IL_00fd: Unknown result type (might be due to invalid IL or missing references) //IL_0102: Unknown result type (might be due to invalid IL or missing references) //IL_0113: 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_012f: Unknown result type (might be due to invalid IL or missing references) //IL_0094: Unknown result type (might be due to invalid IL or missing references) //IL_0099: 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) //IL_00de: Unknown result type (might be due to invalid IL or missing references) //IL_00e8: Unknown result type (might be due to invalid IL or missing references) //IL_00ed: Unknown result type (might be due to invalid IL or missing references) if (CanDodge()) { ((EntityState)this).outer.SetNextState((EntityState)(object)new Dodge { currentSwing = 4 }); ((EntityState)this).inputBank.skill3.hasPressBeenClaimed = true; return; } CharacterDirection characterDirection = ((EntityState)this).characterDirection; Ray aimRay = ((BaseState)this).GetAimRay(); characterDirection.forward = ((Ray)(ref aimRay)).direction; shootRay = ((BaseState)this).GetAimRay(); if (((EntityState)this).characterMotor.isGrounded) { if (((EntityState)this).isAuthority && Object.op_Implicit((Object)(object)((EntityState)this).characterMotor)) { ((EntityState)this).inputBank.moveVector = Vector3.zero; ((EntityState)this).characterMotor.moveDirection = Vector3.zero; } if (Object.op_Implicit((Object)(object)((EntityState)this).characterMotor) && Object.op_Implicit((Object)(object)((EntityState)this).characterDirection)) { ((EntityState)this).characterMotor.velocity = ((EntityState)this).characterMotor.velocity * 0f; } } else { ((EntityState)this).characterMotor.rootMotion = Vector3.zero; ((EntityState)this).characterMotor.moveDirection = ((EntityState)this).inputBank.moveVector; ((EntityState)this).characterDirection.moveVector = ((EntityState)this).characterMotor.moveDirection; } fireAge += Time.fixedDeltaTime; if (((EntityState)this).isAuthority && stopwatch >= earlyExitPercentTime && (!((EntityState)this).inputBank.skill1.down || stopwatch >= myDuration)) { ((EntityState)this).outer.SetNextState((EntityState)(object)new FlurryEnd()); } else { base.FixedUpdate(); } } private void LastHit() { //IL_000e: Unknown result type (might be due to invalid IL or missing references) //IL_0013: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) int count = results.Count; TeamIndex team = ((BaseState)this).GetTeam(); for (int i = 0; i < count; i++) { HealthComponent val = results[i]; if (!Object.op_Implicit((Object)(object)val) || !Object.op_Implicit((Object)(object)((Component)val).transform) || !FriendlyFireManager.ShouldDirectHitProceed(val, team) || (val.body.isChampion && (!((Object)((Component)val).gameObject).name.Contains("Brother") || !((Object)((Component)val).gameObject).name.Contains("Body")))) { continue; } CharacterBody body = val.body; if (Object.op_Implicit((Object)(object)body) && Object.op_Implicit((Object)(object)body.characterMotor) && !body.characterMotor.isGrounded) { juggleHop = 9f / ((BaseState)this).attackSpeedStat; if (((EntityState)this).characterBody.HasBuff(BayoBuffs.wtBuff)) { juggleHop /= 3f; } ((BaseState)this).SmallHop(body.characterMotor, juggleHop); body.characterMotor.velocity.x = 0f; body.characterMotor.velocity.z = 0f; SetStateOnHurt component = ((Component)val).GetComponent(); if (component != null) { component.SetStun(1f); } } } } public override void OnExit() { if (launch) { LastHit(); } AkSoundEngine.StopPlayingID(sound); base.OnExit(); } } public class FlurryEnd : BaseMeleeAttack { private RootMotionAccumulator rootMotionAccumulator; private bool cancel; private bool jumped; private float earlyExit; private string animName; public static float verticalAcceleration = GroundSlam.verticalAcceleration * 0.2f; private GameObject projectilePrefab = BayoAssets.fistProjectilePrefab; private float weaveDamage = 15f; private float weaveForce = 3000f; private bool firedProjectile = false; private float recoilAmplitude = 0.1f; private float bloom = 10f; private bool hasEnded = false; private Vector3 dir; private float fireProj; private bool actuallyFired = false; private bool fast = false; public override void OnEnter() { //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_0099: Unknown result type (might be due to invalid IL or missing references) //IL_009e: Unknown result type (might be due to invalid IL or missing references) //IL_00a1: Unknown result type (might be due to invalid IL or missing references) //IL_01c4: Unknown result type (might be due to invalid IL or missing references) //IL_01ce: Unknown result type (might be due to invalid IL or missing references) //IL_01d3: Unknown result type (might be due to invalid IL or missing references) attackStartPercentTime = 0.25f; attackEndPercentTime = 0.5f; damageCoefficient = 2f; procCoefficient = 1f; damageType = DamageTypeCombo.GenericPrimary; pushForce = 0f; hitStopDuration = 0.05f; attackRecoil = 1f; hitHopVelocity = 4f; ((EntityState)this).characterMotor.velocity.y = 0f; exitToStance = true; voice = true; voiceString = "flurryend"; CharacterDirection characterDirection = ((EntityState)this).characterDirection; Ray aimRay = ((BaseState)this).GetAimRay(); characterDirection.forward = ((Ray)(ref aimRay)).direction; rootMotionAccumulator = ((EntityState)this).GetModelRootMotionAccumulator(); GameObject sum = BayoAssets.sum; if (((EntityState)this).isAuthority) { EffectManager.SimpleMuzzleFlash(sum, ((EntityState)this).gameObject, "DamageCenter", true); } Util.PlaySound("portalsum", ((EntityState)this).gameObject); base.OnEnter(); if (Object.op_Implicit((Object)(object)((EntityState)this).characterBody)) { ((EntityState)this).characterBody.SetAimTimer(2f); } duration = 1.92f / ((BaseState)this).attackSpeedStat; earlyExit = 1f / ((BaseState)this).attackSpeedStat; fireProj = duration * attackStartPercentTime - 0.24f; if (fireProj < 0f) { fireProj = duration * attackStartPercentTime; projectilePrefab = BayoAssets.fistFast; fast = true; } else { projectilePrefab = BayoAssets.fistProjectilePrefab; } if (((EntityState)this).characterMotor.isGrounded) { animName = "FlurryE"; ((EntityState)this).characterMotor.velocity = ((EntityState)this).characterMotor.velocity * 0f; } else { animName = "FlurryAE"; ((EntityState)this).characterMotor.airControl = ((EntityState)this).characterMotor.airControl; exitToStance = false; } ((EntityState)this).PlayAnimation("Body", animName, "Slash.playbackRate", duration, 0f); if (Object.op_Implicit((Object)(object)((EntityState)this).characterBody) && ((EntityState)this).characterBody.isSprinting) { ((EntityState)this).characterBody.isSprinting = false; } } private void DetermineCancel() { //IL_0078: 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) if (!Object.op_Implicit((Object)(object)((EntityState)this).inputBank)) { return; } if (hasEnded) { if (((EntityState)this).inputBank.skill2.down) { cancel = true; } if (((EntityState)this).inputBank.skill3.down) { cancel = true; } if (((EntityState)this).inputBank.skill4.down) { cancel = true; } if (((EntityState)this).inputBank.moveVector != Vector3.zero) { cancel = true; } } if (((EntityState)this).inputBank.jump.down) { cancel = true; jumped = true; } } public override void FixedUpdate() { //IL_01fd: Unknown result type (might be due to invalid IL or missing references) //IL_0214: Unknown result type (might be due to invalid IL or missing references) //IL_0219: Unknown result type (might be due to invalid IL or missing references) //IL_01a5: Unknown result type (might be due to invalid IL or missing references) //IL_01aa: Unknown result type (might be due to invalid IL or missing references) //IL_01ac: Unknown result type (might be due to invalid IL or missing references) //IL_01ae: Unknown result type (might be due to invalid IL or missing references) //IL_0299: Unknown result type (might be due to invalid IL or missing references) //IL_029e: Unknown result type (might be due to invalid IL or missing references) //IL_02a2: Unknown result type (might be due to invalid IL or missing references) //IL_00e6: Unknown result type (might be due to invalid IL or missing references) //IL_00eb: Unknown result type (might be due to invalid IL or missing references) //IL_00f6: Unknown result type (might be due to invalid IL or missing references) //IL_010d: Unknown result type (might be due to invalid IL or missing references) //IL_0117: 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_0272: Unknown result type (might be due to invalid IL or missing references) //IL_0284: Unknown result type (might be due to invalid IL or missing references) //IL_0289: Unknown result type (might be due to invalid IL or missing references) //IL_01de: Unknown result type (might be due to invalid IL or missing references) //IL_01e3: Unknown result type (might be due to invalid IL or missing references) //IL_01e5: Unknown result type (might be due to invalid IL or missing references) //IL_01ea: 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_013f: Unknown result type (might be due to invalid IL or missing references) //IL_0141: Unknown result type (might be due to invalid IL or missing references) //IL_0143: Unknown result type (might be due to invalid IL or missing references) //IL_0173: Unknown result type (might be due to invalid IL or missing references) //IL_0178: Unknown result type (might be due to invalid IL or missing references) //IL_017a: Unknown result type (might be due to invalid IL or missing references) //IL_017f: Unknown result type (might be due to invalid IL or missing references) cancel = false; jumped = false; if (stopwatch >= duration * attackEndPercentTime) { DetermineCancel(); if (jumped) { ((ButtonState)(ref ((EntityState)this).inputBank.jump)).PushState(false); } if (cancel) { ((EntityState)this).outer.SetNextStateToMain(); return; } } if (CanDodge()) { cancel = true; ((EntityState)this).outer.SetNextState((EntityState)(object)new Dodge { currentSwing = -1 }); ((EntityState)this).inputBank.skill3.hasPressBeenClaimed = true; return; } if (((EntityState)this).characterMotor.isGrounded) { if (((EntityState)this).isAuthority && Object.op_Implicit((Object)(object)((EntityState)this).characterMotor)) { ((EntityState)this).inputBank.moveVector = Vector3.zero; ((EntityState)this).characterMotor.moveDirection = Vector3.zero; ((EntityState)this).characterMotor.velocity = ((EntityState)this).characterMotor.velocity * 0f; } if (Object.op_Implicit((Object)(object)rootMotionAccumulator)) { Vector3 val = rootMotionAccumulator.ExtractRootMotion(); if (val != Vector3.zero && ((EntityState)this).isAuthority && Object.op_Implicit((Object)(object)((EntityState)this).characterMotor)) { CharacterMotor characterMotor = ((EntityState)this).characterMotor; characterMotor.rootMotion += val; } } } else { if (Object.op_Implicit((Object)(object)rootMotionAccumulator)) { Vector3 val2 = rootMotionAccumulator.ExtractRootMotion(); if (val2 != Vector3.zero && ((EntityState)this).isAuthority && Object.op_Implicit((Object)(object)((EntityState)this).characterMotor)) { CharacterMotor characterMotor2 = ((EntityState)this).characterMotor; characterMotor2.rootMotion += val2; } } ((EntityState)this).characterMotor.moveDirection = ((EntityState)this).inputBank.moveVector; ((EntityState)this).characterDirection.moveVector = ((EntityState)this).characterMotor.moveDirection; ((EntityState)this).characterMotor.velocity.y = 0f; } if (stopwatch >= fireProj) { if (!firedProjectile) { firedProjectile = true; FireProjectile(); } ((EntityState)this).characterDirection.forward = dir; ((EntityState)this).characterDirection.moveVector = dir; } else { CharacterDirection characterDirection = ((EntityState)this).characterDirection; Ray aimRay = ((BaseState)this).GetAimRay(); characterDirection.forward = ((Ray)(ref aimRay)).direction; } if ((stopwatch >= fireProj + 0.24f || (fast && stopwatch >= fireProj)) && !actuallyFired) { actuallyFired = true; DoFireEffects(); } if (((EntityState)this).isAuthority && stopwatch >= earlyExit) { if (((EntityState)this).inputBank.skill1.down) { ((EntityState)this).outer.SetNextState((EntityState)(object)new Punch1 { swingIndex = 0 }); return; } if (!hasEnded) { hasEnded = true; } } base.FixedUpdate(); } protected void DoFireEffects() { ((BaseState)this).AddRecoil(-2f * recoilAmplitude, -3f * recoilAmplitude, -1f * recoilAmplitude, 1f * recoilAmplitude); ((EntityState)this).characterBody.AddSpreadBloom(bloom); } protected void FireProjectile() { //IL_0003: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_000b: Unknown result type (might be due to invalid IL or missing references) //IL_0010: Unknown result type (might be due to invalid IL or missing references) //IL_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_0054: 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_0065: 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) //IL_006f: Unknown result type (might be due to invalid IL or missing references) //IL_007b: 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_00bd: Unknown result type (might be due to invalid IL or missing references) Ray aimRay = ((BaseState)this).GetAimRay(); dir = ((Ray)(ref aimRay)).direction; if (((EntityState)this).isAuthority) { Vector3 position = ((EntityState)this).gameObject.transform.position; position.y -= 0.5f; dir.y = 0f; position += ((Vector3)(ref dir)).normalized * 2.5f; ProjectileManager.instance.FireProjectile(projectilePrefab, position, Util.QuaternionSafeLookRotation(dir), ((EntityState)this).gameObject, ((BaseState)this).damageStat * weaveDamage, weaveForce, Util.CheckRoll(((BaseState)this).critStat, ((EntityState)this).characterBody.master), (DamageColorIndex)0, (GameObject)null, -1f, (DamageTypeCombo?)DamageTypeCombo.GenericPrimary); } } public override void OnExit() { base.OnExit(); } } public class FlurryStart : BaseSkillState { public static string enterSoundString = PreGroundSlam.enterSoundString; protected float duration = 0.4f; private RootMotionAccumulator rootMotionAccumulator; private string animName; public override void OnEnter() { //IL_00a2: Unknown result type (might be due to invalid IL or missing references) //IL_00a7: Unknown result type (might be due to invalid IL or missing references) //IL_00aa: Unknown result type (might be due to invalid IL or missing references) ((BaseState)this).OnEnter(); duration /= ((BaseState)this).attackSpeedStat; if (((EntityState)this).characterMotor.isGrounded) { animName = "FlurryStart"; } else { animName = "FlurryAStart"; ((EntityState)this).characterMotor.airControl = ((EntityState)this).characterMotor.airControl; } rootMotionAccumulator = ((EntityState)this).GetModelRootMotionAccumulator(); ((EntityState)this).PlayAnimation("Body", animName, "Slash.playbackRate", duration, 0f); Util.PlaySound("falling", ((EntityState)this).gameObject); CharacterDirection characterDirection = ((EntityState)this).characterDirection; Ray aimRay = ((BaseState)this).GetAimRay(); characterDirection.forward = ((Ray)(ref aimRay)).direction; ((EntityState)this).characterMotor.velocity.y = 0f; if (Object.op_Implicit((Object)(object)((EntityState)this).characterBody) && ((EntityState)this).characterBody.isSprinting) { ((EntityState)this).characterBody.isSprinting = false; } } protected bool CanDodge() { if (((EntityState)this).inputBank.skill3.down && Object.op_Implicit((Object)(object)((EntityState)this).skillLocator.utility) && (!((EntityState)this).skillLocator.utility.mustKeyPress || !((EntityState)this).inputBank.skill3.hasPressBeenClaimed) && ((EntityState)this).skillLocator.utility.ExecuteIfReady()) { return true; } return false; } public override void FixedUpdate() { //IL_000f: 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_0017: 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_002e: 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_01c2: Unknown result type (might be due to invalid IL or missing references) //IL_01d9: Unknown result type (might be due to invalid IL or missing references) //IL_01de: Unknown result type (might be due to invalid IL or missing references) //IL_016a: Unknown result type (might be due to invalid IL or missing references) //IL_016f: 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_0173: Unknown result type (might be due to invalid IL or missing references) //IL_00bd: Unknown result type (might be due to invalid IL or missing references) //IL_00c2: Unknown result type (might be due to invalid IL or missing references) //IL_00cd: Unknown result type (might be due to invalid IL or missing references) //IL_01a3: Unknown result type (might be due to invalid IL or missing references) //IL_01a8: Unknown result type (might be due to invalid IL or missing references) //IL_01aa: Unknown result type (might be due to invalid IL or missing references) //IL_01af: Unknown result type (might be due to invalid IL or missing references) //IL_00f1: Unknown result type (might be due to invalid IL or missing references) //IL_00f6: 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_00fa: Unknown result type (might be due to invalid IL or missing references) //IL_0123: 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_012f: Unknown result type (might be due to invalid IL or missing references) //IL_0138: Unknown result type (might be due to invalid IL or missing references) //IL_013d: Unknown result type (might be due to invalid IL or missing references) //IL_013f: Unknown result type (might be due to invalid IL or missing references) //IL_0144: Unknown result type (might be due to invalid IL or missing references) ((EntityState)this).FixedUpdate(); CharacterDirection characterDirection = ((EntityState)this).characterDirection; Ray aimRay = ((BaseState)this).GetAimRay(); characterDirection.forward = ((Ray)(ref aimRay)).direction; CharacterDirection characterDirection2 = ((EntityState)this).characterDirection; aimRay = ((BaseState)this).GetAimRay(); characterDirection2.moveVector = ((Ray)(ref aimRay)).direction; if (CanDodge()) { ((EntityState)this).outer.SetNextState((EntityState)(object)new Dodge { currentSwing = 3 }); ((EntityState)this).inputBank.skill3.hasPressBeenClaimed = true; return; } ((EntityState)this).characterMotor.velocity.y = 0f; if (((EntityState)this).characterMotor.isGrounded) { if (((EntityState)this).isAuthority && Object.op_Implicit((Object)(object)((EntityState)this).characterMotor)) { ((EntityState)this).inputBank.moveVector = Vector3.zero; ((EntityState)this).characterMotor.moveDirection = Vector3.zero; } if (Object.op_Implicit((Object)(object)rootMotionAccumulator)) { Vector3 val = rootMotionAccumulator.ExtractRootMotion(); if (val != Vector3.zero && ((EntityState)this).isAuthority && Object.op_Implicit((Object)(object)((EntityState)this).characterMotor)) { val *= 2f; CharacterMotor characterMotor = ((EntityState)this).characterMotor; characterMotor.rootMotion += val; } } } else { if (Object.op_Implicit((Object)(object)rootMotionAccumulator)) { Vector3 val2 = rootMotionAccumulator.ExtractRootMotion(); if (val2 != Vector3.zero && ((EntityState)this).isAuthority && Object.op_Implicit((Object)(object)((EntityState)this).characterMotor)) { CharacterMotor characterMotor2 = ((EntityState)this).characterMotor; characterMotor2.rootMotion += val2; } } ((EntityState)this).characterMotor.moveDirection = ((EntityState)this).inputBank.moveVector; ((EntityState)this).characterDirection.moveVector = ((EntityState)this).characterMotor.moveDirection; } if (((EntityState)this).fixedAge > duration) { ((EntityState)this).outer.SetNextState((EntityState)(object)new Flurry()); } } public override void OnExit() { ((EntityState)this).OnExit(); } } public class Punch1 : BasePunch { public override void OnEnter() { earlyExitPercentTime = 0.24f; playSwing = 0.18f; if (((EntityState)this).characterMotor.isGrounded) { animStart = "P1"; animEnd = "P1E"; endDuration = 0.72f; ReplacePrefab2(BayoAssets.p1s, BayoAssets.p1s2, BayoAssets.p1art); } else { animStart = "P1A"; animEnd = "P1AE"; endDuration = 0.68f; swingEffectPrefab = BayoAssets.p1as; } gunStr = "muzrh"; holdTime = 0.5f - earlyExitPercentTime; voiceString = "p1v"; swingSoundString = "p1p3"; voice = true; base.OnEnter(); } } public class Punch2 : BasePunch { public override void OnEnter() { if (((EntityState)this).characterMotor.isGrounded) { animStart = "P2"; animEnd = "P2E"; earlyExitPercentTime = 0.26f; endDuration = 0.48f; ReplacePrefab2(BayoAssets.p2s, BayoAssets.p2s2, BayoAssets.p2art); playSwing = 0.2f; } else { animStart = "P2A"; animEnd = "P2AE"; earlyExitPercentTime = 0.24f; endDuration = 0.44f; swingEffectPrefab = BayoAssets.p2as; playSwing = 0.22f; } holdTime = 0.5f - earlyExitPercentTime; gunStr = "muzlh"; voiceString = "p2v"; swingSoundString = "p2"; voice = true; base.OnEnter(); } } public class Punch3 : BasePunch { public override void OnEnter() { if (((EntityState)this).characterMotor.isGrounded) { animStart = "P3"; animEnd = "P3E"; earlyExitPercentTime = 0.32f; endDuration = 0.64f; playSwing = 0.22f; ReplacePrefab2(BayoAssets.p3s, BayoAssets.p3s2, BayoAssets.p3art); } else { animStart = "P3A"; animEnd = "P3AE"; earlyExitPercentTime = 0.16f; endDuration = 0.76f; playSwing = 0.2f; swingEffectPrefab = BayoAssets.p3as; } holdTime = 0.5f - earlyExitPercentTime; gunStr = "muzlh"; voiceString = "pv3"; swingSoundString = "p1p3"; voice = true; base.OnEnter(); } } public class Punch4 : BasePunch { public override void OnEnter() { earlyExitPercentTime = 0.4f; endDuration = 0.52f; if (((EntityState)this).characterMotor.isGrounded) { animStart = "P4"; animEnd = "P4E"; earlyExitPercentTime = 0.4f; endDuration = 0.52f; playSwing = 0.34f; ReplacePrefab2(BayoAssets.p4s, BayoAssets.p4s2, BayoAssets.p4art); } else { animStart = "P4A"; animEnd = "P4AE"; earlyExitPercentTime = 0.22f; endDuration = 0.56f; playSwing = 0.22f; swingEffectPrefab = BayoAssets.p4as; } holdTime = 0.5f - earlyExitPercentTime; gunStr = "muzrh"; voiceString = "pv4"; swingSoundString = "p4"; voice = true; base.OnEnter(); juggleHop = 12f; } } } namespace BayoMod.Characters.Survivors.Bayo.SkillStates.Emotes { public class e2temp : BaseState { public float animDuration; public float cancelDuration; public string animString; private RootMotionAccumulator rootmotion; protected bool cancel; protected float stopwatch; private bool camActiv = false; private bool voiced = false; protected bool jumped; protected bool flag1; private bool zoom; private CharacterCameraParams cameraParams; private CameraParamsOverrideHandle cameraParamsOverrideHandle; public override void OnEnter() { //IL_008b: 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_00af: 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_00b9: Unknown result type (might be due to invalid IL or missing references) //IL_00f2: 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_0105: Unknown result type (might be due to invalid IL or missing references) //IL_0116: 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) rootmotion = ((EntityState)this).GetModelRootMotionAccumulator(); animString = "urhalo"; animDuration = 1.96f; flag1 = false; ((EntityState)this).characterBody.hideCrosshair = true; ((EntityState)this).PlayAnimation("FullBody, Override", animString, "Emote.playbackRate", animDuration, 0f); ((BaseState)this).OnEnter(); cameraParams = ScriptableObject.CreateInstance(); ((Object)cameraParams).name = "BreakFirst"; cameraParams.data.wallCushion = BlendableFloat.op_Implicit(0.1f); cameraParams.data.idealLocalCameraPos = BlendableVector3.op_Implicit(new Vector3(1.35f, -1.75f, -5f)); zoom = Config.eZoom.Value; if (Object.op_Implicit((Object)(object)((EntityState)this).cameraTargetParams) && zoom) { cameraParamsOverrideHandle = ((EntityState)this).cameraTargetParams.AddParamsOverride(new CameraParamsOverrideRequest { cameraParamsData = cameraParams.data, priority = 1f }, 0.01f); } } private void DetermineCancel() { //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) if (Object.op_Implicit((Object)(object)((EntityState)this).characterMotor) && !((EntityState)this).characterMotor.isGrounded) { cancel = true; } if (Object.op_Implicit((Object)(object)((EntityState)this).inputBank)) { if (((EntityState)this).inputBank.skill1.down) { cancel = true; } if (((EntityState)this).inputBank.skill2.down) { cancel = true; } if (((EntityState)this).inputBank.skill3.down) { cancel = true; } if (((EntityState)this).inputBank.skill4.down) { cancel = true; } if (((EntityState)this).inputBank.jump.down) { cancel = true; jumped = true; } if (((EntityState)this).inputBank.moveVector != Vector3.zero) { cancel = true; } } } public override void FixedUpdate() { //IL_00ad: Unknown result type (might be due to invalid IL or missing references) //IL_00b2: Unknown result type (might be due to invalid IL or missing references) //IL_00d1: Unknown result type (might be due to invalid IL or missing references) //IL_00d6: Unknown result type (might be due to invalid IL or missing references) //IL_00db: 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_0114: Unknown result type (might be due to invalid IL or missing references) //IL_0122: Unknown result type (might be due to invalid IL or missing references) //IL_0127: Unknown result type (might be due to invalid IL or missing references) //IL_0138: Unknown result type (might be due to invalid IL or missing references) //IL_013f: Unknown result type (might be due to invalid IL or missing references) //IL_0144: Unknown result type (might be due to invalid IL or missing references) //IL_019b: Unknown result type (might be due to invalid IL or missing references) //IL_019d: Unknown result type (might be due to invalid IL or missing references) stopwatch += Time.fixedDeltaTime; cancel = false; jumped = false; DetermineCancel(); ((EntityState)this).FixedUpdate(); if (jumped) { ((ButtonState)(ref ((EntityState)this).inputBank.jump)).PushState(false); } if (cancel) { ((EntityState)this).outer.SetNextStateToMain(); return; } if (!camActiv) { camActiv = true; cameraParams = ScriptableObject.CreateInstance(); ((Object)cameraParams).name = "BreakSec"; cameraParams.data.wallCushion = BlendableFloat.op_Implicit(0.1f); cameraParams.data.idealLocalCameraPos = BlendableVector3.op_Implicit(new Vector3(-0.7f, -2.75f, -5f)); zoom = Config.eZoom.Value; if (Object.op_Implicit((Object)(object)((EntityState)this).cameraTargetParams) && zoom) { cameraParamsOverrideHandle = ((EntityState)this).cameraTargetParams.AddParamsOverride(new CameraParamsOverrideRequest { cameraParamsData = cameraParams.data, priority = 1.1f }, 1.96f); } } if (Object.op_Implicit((Object)(object)rootmotion) && !flag1) { Vector3 rootMotion = rootmotion.ExtractRootMotion(); if (((EntityState)this).isAuthority && Object.op_Implicit((Object)(object)((EntityState)this).characterMotor)) { ((EntityState)this).characterMotor.rootMotion = rootMotion; } } if (((EntityState)this).fixedAge > 0.33f && !voiced) { Util.PlaySound("ktaunt", ((EntityState)this).gameObject); voiced = true; } if (((EntityState)this).isAuthority && stopwatch >= animDuration) { ((EntityState)this).outer.SetNextStateToMain(); } } public override void OnExit() { //IL_005e: 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) ((EntityState)this).OnExit(); ((EntityState)this).characterBody.hideCrosshair = false; if (NetworkServer.active) { ((EntityState)this).characterBody.RemoveBuff(Buffs.Slow60); } if (Object.op_Implicit((Object)(object)((EntityState)this).cameraTargetParams) && ((CameraParamsOverrideHandle)(ref cameraParamsOverrideHandle)).isValid && zoom) { cameraParamsOverrideHandle = ((EntityState)this).cameraTargetParams.RemoveParamsOverride(cameraParamsOverrideHandle, 0.5f); } ((EntityState)this).PlayAnimation("FullBody, Override", "BufferEmpty"); } 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)0; } } public class Emote1 : BaseEmote { private uint sound; private bool voiced = false; public Config.LongTaunt voiceOption; public override void OnEnter() { animString = "Taunt"; animDuration = 6.56f; base.OnEnter(); } public override void FixedUpdate() { base.FixedUpdate(); if (((EntityState)this).fixedAge > 0.4f && !voiced) { PlayTauntSound(); voiced = true; } } private void PlayTauntSound() { voiceOption = Config.longTaunt.Value; SkinDef val = SkinCatalog.FindCurrentSkinDefForBodyInstance(((Component)((EntityState)this).characterBody).gameObject); switch (voiceOption) { case Config.LongTaunt.Bayo_1_Only: sound = AkSoundEngine.PostEvent(821863073u, ((EntityState)this).gameObject); break; case Config.LongTaunt.Bayo_2_Only: sound = AkSoundEngine.PostEvent(2830927257u, ((EntityState)this).gameObject); break; case Config.LongTaunt.Random: sound = AkSoundEngine.PostEvent(2054889326u, ((EntityState)this).gameObject); break; case Config.LongTaunt.Based_On_Skin_Choice: if (Object.op_Implicit((Object)(object)val) && (Object)(object)val == (Object)(object)BayoSurvivor.masterySkin) { sound = AkSoundEngine.PostEvent(2830927257u, ((EntityState)this).gameObject); } else { sound = AkSoundEngine.PostEvent(821863073u, ((EntityState)this).gameObject); } break; } } public override void OnExit() { AkSoundEngine.StopPlayingID(sound); base.OnExit(); } } public class Emote2 : BaseEmote { private bool voiced = false; private bool shined = false; private float shineTime = 0.6f; public GameObject glint = BayoAssets.glintR; public override void OnEnter() { animString = "urhalo"; animDuration = 1.973f; zoomDur = 0.75f; base.OnEnter(); } public override void FixedUpdate() { base.FixedUpdate(); if (((EntityState)this).fixedAge > 0.33f && !voiced) { Util.PlaySound("ktaunt", ((EntityState)this).gameObject); voiced = true; } if (((EntityState)this).fixedAge > shineTime && !shined) { if (Object.op_Implicit((Object)(object)glint) && ((EntityState)this).isAuthority) { EffectManager.SimpleMuzzleFlash(glint, ((EntityState)this).gameObject, "glint", true); } shined = true; } } } public class Kiss : BaseEmote { private bool voiced = false; private CameraRigController cameraRig; private float kissDone = 1.2f; private bool zoomed = false; private CameraParamsOverrideHandle cam2; public UIController uiController; public override void OnEnter() { //IL_0111: Unknown result type (might be due to invalid IL or missing references) //IL_0116: Unknown result type (might be due to invalid IL or missing references) //IL_0137: Unknown result type (might be due to invalid IL or missing references) //IL_013c: Unknown result type (might be due to invalid IL or missing references) //IL_0141: 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_018a: Unknown result type (might be due to invalid IL or missing references) //IL_018f: Unknown result type (might be due to invalid IL or missing references) //IL_01a0: Unknown result type (might be due to invalid IL or missing references) //IL_01a8: Unknown result type (might be due to invalid IL or missing references) //IL_01ad: Unknown result type (might be due to invalid IL or missing references) animString = "Mwah"; animDuration = 1.88f; zoomDur = 0f; zoomOutDur = 1.5f; bodyName = "Body"; stance = true; canCancel = false; y = -1.5f; z = -2.25f; if (Object.op_Implicit((Object)(object)((EntityState)this).cameraTargetParams) && Object.op_Implicit((Object)(object)((EntityState)this).characterBody.master.playerCharacterMasterController.networkUser)) { cameraRig = ((EntityState)this).characterBody.master.playerCharacterMasterController.networkUser.cameraRigController; } if (NetworkServer.active && Object.op_Implicit((Object)(object)((EntityState)this).characterBody)) { ((EntityState)this).characterBody.AddTimedBuff(Buffs.HiddenInvincibility, animDuration + 0.3f); } cameraParams = ScriptableObject.CreateInstance(); ((Object)cameraParams).name = "zoom2"; cameraParams.data.wallCushion = BlendableFloat.op_Implicit(0.1f); cameraParams.data.idealLocalCameraPos = BlendableVector3.op_Implicit(new Vector3(0.375f, y, z)); zoom = Config.eZoom.Value; if (Object.op_Implicit((Object)(object)((EntityState)this).cameraTargetParams) && zoom) { cam2 = ((EntityState)this).cameraTargetParams.AddParamsOverride(new CameraParamsOverrideRequest { cameraParamsData = cameraParams.data, priority = 1f }, kissDone); } GameObject hearts = BayoAssets.hearts; if (Object.op_Implicit((Object)(object)hearts) && ((EntityState)this).isAuthority) { EffectManager.SimpleMuzzleFlash(hearts, ((EntityState)this).gameObject, "SwingCenter", true); } uiController = ((EntityState)this).gameObject.GetComponent(); if (((EntityState)this).isAuthority) { uiController.SetRORUIActiveState(state: false); } base.OnEnter(); } public override void FixedUpdate() { //IL_010f: Unknown result type (might be due to invalid IL or missing references) //IL_0114: 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_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_0132: Unknown result type (might be due to invalid IL or missing references) //IL_0137: Unknown result type (might be due to invalid IL or missing references) //IL_013f: Unknown result type (might be due to invalid IL or missing references) //IL_0144: Unknown result type (might be due to invalid IL or missing references) //IL_0146: Unknown result type (might be due to invalid IL or missing references) //IL_0148: Unknown result type (might be due to invalid IL or missing references) //IL_014a: Unknown result type (might be due to invalid IL or missing references) //IL_014f: 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_0153: Unknown result type (might be due to invalid IL or missing references) //IL_0155: Unknown result type (might be due to invalid IL or missing references) //IL_015a: Unknown result type (might be due to invalid IL or missing references) //IL_0174: 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_0194: Unknown result type (might be due to invalid IL or missing references) //IL_0199: Unknown result type (might be due to invalid IL or missing references) //IL_01b1: Unknown result type (might be due to invalid IL or missing references) //IL_01bb: Unknown result type (might be due to invalid IL or missing references) //IL_01c0: 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_00a3: 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_00de: Unknown result type (might be due to invalid IL or missing references) //IL_00e9: 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) base.FixedUpdate(); if (((EntityState)this).fixedAge > 0.4f && !voiced) { Util.PlaySound("peck", ((EntityState)this).gameObject); voiced = true; } if (((EntityState)this).fixedAge > kissDone && !zoomed) { zoomed = true; if (Object.op_Implicit((Object)(object)((EntityState)this).cameraTargetParams) && ((CameraParamsOverrideHandle)(ref cameraParamsOverrideHandle)).isValid && zoom) { cameraParamsOverrideHandle = ((EntityState)this).cameraTargetParams.RemoveParamsOverride(cameraParamsOverrideHandle, zoomOutDur); } if (Object.op_Implicit((Object)(object)((EntityState)this).cameraTargetParams) && ((CameraParamsOverrideHandle)(ref cam2)).isValid && zoom) { cam2 = ((EntityState)this).cameraTargetParams.RemoveParamsOverride(cam2, zoomOutDur); } } if (Object.op_Implicit((Object)(object)cameraRig)) { Quaternion val = Quaternion.AngleAxis(-140f, Vector3.up); Quaternion val2 = Quaternion.AngleAxis(-165f, Vector3.up); Vector3 forward = ((EntityState)this).characterDirection.forward; Vector3 forward2 = ((EntityState)this).characterDirection.forward; forward = val * forward; forward2 = val2 * forward2; forward.y = 0.1f; forward2.y = 0.2f; Vector3 pitchYawFromLookVector = Vector3.Lerp(forward2, forward, Mathf.SmoothStep(0f, 1f, stopwatch / kissDone)); ((InstanceData)cameraRig.cameraMode.camToRawInstanceData[UnityObjectWrapperKey.op_Implicit(cameraRig)]).SetPitchYawFromLookVector(pitchYawFromLookVector); } } public override void OnExit() { //IL_0048: 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_0058: Unknown result type (might be due to invalid IL or missing references) if (((EntityState)this).isAuthority) { uiController.SetRORUIActiveState(state: true); } if (Object.op_Implicit((Object)(object)((EntityState)this).cameraTargetParams) && ((CameraParamsOverrideHandle)(ref cam2)).isValid && zoom) { cam2 = ((EntityState)this).cameraTargetParams.RemoveParamsOverride(cam2, zoomOutDur); } base.OnExit(); } 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)7; } } public class LetsDance : BaseEmote { private uint sound = 0u; private bool music; private BaseConVar convar; private string oldMusic; public override void OnEnter() { animString = "Letsdance"; animDuration = 216.16f; half = true; zoomDur = 6f; music = Config.musicOn2.Value; bool value = Config.musicClient.Value; if (music) { if (value && ((EntityState)this).isAuthority) { sound = AkSoundEngine.PostEvent(1924791374u, ((EntityState)this).gameObject); } else if (!value) { sound = AkSoundEngine.PostEvent(1924791374u, ((EntityState)this).gameObject); } if (((EntityState)this).isAuthority) { convar = Console.instance.FindConVar("volume_music"); if (convar != null) { oldMusic = convar.GetString(); if (oldMusic != "0") { convar.SetString("0"); } } } } y = -2.25f; z = -6f; base.OnEnter(); } public override void FixedUpdate() { base.FixedUpdate(); if (((EntityState)this).isAuthority && stopwatch >= 213.28f) { ((EntityState)this).outer.SetNextStateToMain(); } } public override void OnExit() { if (music) { if (convar != null && ((EntityState)this).isAuthority && oldMusic != "0") { convar.SetString(oldMusic); } if (sound != 0) { AkSoundEngine.StopPlayingID(sound); } } base.OnExit(); } } public class LetsDance2 : LetsDance { private CameraController cam; private UIController ui; public override void OnEnter() { zoom = false; cam = ((EntityState)this).gameObject.GetComponent(); ui = ((EntityState)this).gameObject.GetComponent(); if (((EntityState)this).isAuthority) { cam.fov = 45f; cam.SetCam(); ui.SetRORUIActiveState(state: false); } base.OnEnter(); } public override void OnExit() { if (((EntityState)this).isAuthority) { cam.UnsetCam(); ui.SetRORUIActiveState(state: true); } base.OnExit(); } } public class Stance : BaseState { public static float idleDuration = 1.5f; public static float cancelDuration = 0.5f; private RootMotionAccumulator outmove; private Animator animator; protected bool cancel; protected float stopwatch; protected bool hasExit; protected bool jumped; private bool flag1; private bool flag2; public override void OnEnter() { ((BaseState)this).OnEnter(); animator = ((EntityState)this).GetModelAnimator(); hasExit = false; flag1 = false; flag2 = false; outmove = ((EntityState)this).GetModelRootMotionAccumulator(); if (Object.op_Implicit((Object)(object)((EntityState)this).characterBody) && ((EntityState)this).characterBody.isSprinting) { ((EntityState)this).characterBody.isSprinting = false; } ((EntityState)this).PlayCrossfade("Body", "StanceIdle", "Emote.playbackRate", idleDuration, 0.05f); } private void DetermineCancel() { //IL_00f9: Unknown result type (might be due to invalid IL or missing references) //IL_00fe: Unknown result type (might be due to invalid IL or missing references) //IL_011a: Unknown result type (might be due to invalid IL or missing references) //IL_0136: Unknown result type (might be due to invalid IL or missing references) //IL_0152: Unknown result type (might be due to invalid IL or missing references) if (Object.op_Implicit((Object)(object)((EntityState)this).characterMotor) && !((EntityState)this).characterMotor.isGrounded) { cancel = true; } if (Object.op_Implicit((Object)(object)((EntityState)this).inputBank)) { if (((EntityState)this).inputBank.skill1.down) { cancel = true; } if (((EntityState)this).inputBank.skill2.down) { cancel = true; } if (((EntityState)this).inputBank.skill3.down) { cancel = true; } if (((EntityState)this).inputBank.skill4.down) { cancel = true; } if (((EntityState)this).inputBank.jump.down) { cancel = true; jumped = true; } if (((EntityState)this).inputBank.interact.down) { cancel = true; } if (((EntityState)this).inputBank.moveVector != Vector3.zero) { cancel = true; } if (Input.GetKeyDown(Config.emote1Keybind.Value)) { cancel = true; } if (Input.GetKeyDown(Config.emote2Keybind.Value)) { cancel = true; } if (Input.GetKeyDown(Config.emote3Keybind.Value)) { cancel = true; } } } public override void FixedUpdate() { //IL_0166: 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_00f2: Unknown result type (might be due to invalid IL or missing references) //IL_00f7: Unknown result type (might be due to invalid IL or missing references) //IL_0134: Unknown result type (might be due to invalid IL or missing references) //IL_0136: Unknown result type (might be due to invalid IL or missing references) stopwatch += Time.fixedDeltaTime; cancel = false; jumped = false; DetermineCancel(); ((EntityState)this).FixedUpdate(); if (jumped) { ((ButtonState)(ref ((EntityState)this).inputBank.jump)).PushState(false); } if (cancel) { ((EntityState)this).outer.SetNextStateToMain(); return; } if (stopwatch >= idleDuration) { if (!hasExit) { hasExit = true; ((EntityState)this).PlayAnimation("Body", "StanceOut", "Emote.playbackRate", cancelDuration, 0f); } if (((EntityState)this).isAuthority && Object.op_Implicit((Object)(object)outmove)) { if (!flag1) { flag1 = true; } Vector3 rootMotion = outmove.ExtractRootMotion(); if (((EntityState)this).isAuthority && Object.op_Implicit((Object)(object)((EntityState)this).characterMotor)) { if (!flag2) { flag2 = true; } ((EntityState)this).characterMotor.rootMotion = rootMotion; } } } if (Object.op_Implicit((Object)(object)((EntityState)this).characterMotor) && Object.op_Implicit((Object)(object)((EntityState)this).characterDirection)) { ((EntityState)this).characterMotor.velocity = Vector3.zero; } if (((EntityState)this).isAuthority && stopwatch >= cancelDuration + idleDuration) { ((EntityState)this).outer.SetNextStateToMain(); } } public override void OnExit() { ((EntityState)this).OnExit(); ((EntityState)this).PlayAnimation("FullBody, Override", "BufferEmpty"); } } } namespace BayoMod.Characters.Survivors.Bayo.SkillStates.ClimaxStates { public class ClimaxEntry : BaseSkillState { private PunishTracker tracker = null; protected HurtBox target; protected CharacterBody body; public override void OnEnter() { ((BaseState)this).OnEnter(); if ((Object)(object)((EntityState)this).GetComponent() != (Object)null) { tracker = ((EntityState)this).GetComponent(); target = tracker.GetTrackingTarget(); if (!Object.op_Implicit((Object)(object)tracker.GetTrackingTarget())) { ((EntityState)this).outer.SetNextStateToMain(); } else if (Object.op_Implicit((Object)(object)target) && Object.op_Implicit((Object)(object)target.healthComponent) && target.healthComponent.alive) { if (Object.op_Implicit((Object)(object)target.healthComponent.body)) { body = target.healthComponent.body; if (Object.op_Implicit((Object)(object)((Component)body).gameObject.GetComponent())) { ((EntityState)this).outer.SetNextStateToMain(); } else if (((EntityState)this).characterMotor.isGrounded) { if (Object.op_Implicit((Object)(object)target.healthComponent.body.characterMotor) && !target.healthComponent.body.characterMotor.isGrounded) { tracker.punishing = true; ((EntityState)this).outer.SetNextState((EntityState)(object)new SummonGom()); } else if (Object.op_Implicit((Object)(object)target.healthComponent.body.characterMotor)) { if (target.healthComponent.body.characterMotor.mass >= 300f || (Object.op_Implicit((Object)(object)((EntityState)this).modelLocator) && ((Object)((Component)((EntityState)this).modelLocator).gameObject).name == "VultureBody(Clone)")) { tracker.punishing = true; ((EntityState)this).outer.SetNextState((EntityState)(object)new SummonGom()); } else { tracker.punishing = true; ((EntityState)this).outer.SetNextState((EntityState)(object)new SummonGom()); } } else if (Object.op_Implicit((Object)(object)((Component)target.healthComponent).GetComponent())) { tracker.punishing = true; ((EntityState)this).outer.SetNextState((EntityState)(object)new SummonGom()); } else { ((EntityState)this).outer.SetNextStateToMain(); } } else { ((EntityState)this).outer.SetNextStateToMain(); } } else { ((EntityState)this).outer.SetNextStateToMain(); } } else { ((EntityState)this).outer.SetNextStateToMain(); } } else { ((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; } } public class EnemyFreeze : BaseSkillState { internal float duration; internal float previousAttackSpeedStat; private Animator modelAnimator; public bool gomorrah = true; private float stopwatch; public override void OnEnter() { //IL_004e: Unknown result type (might be due to invalid IL or missing references) //IL_0095: Unknown result type (might be due to invalid IL or missing references) //IL_009a: 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_0074: Unknown result type (might be due to invalid IL or missing references) //IL_00bd: Unknown result type (might be due to invalid IL or missing references) //IL_00c2: Unknown result type (might be due to invalid IL or missing references) ((BaseState)this).OnEnter(); modelAnimator = ((EntityState)this).GetModelAnimator(); if (Object.op_Implicit((Object)(object)modelAnimator)) { } if (Object.op_Implicit((Object)(object)((EntityState)this).rigidbody) && !((EntityState)this).rigidbody.isKinematic) { ((EntityState)this).rigidbody.velocity = Vector3.zero; if (Object.op_Implicit((Object)(object)((EntityState)this).rigidbodyMotor)) { ((EntityState)this).rigidbodyMotor.moveVector = Vector3.zero; } } if (Object.op_Implicit((Object)(object)((EntityState)this).characterBody.characterMotor)) { ((EntityState)this).characterMotor.velocity = Vector3.zero; } if (Object.op_Implicit((Object)(object)((EntityState)this).characterDirection)) { ((EntityState)this).characterDirection.moveVector = ((EntityState)this).characterDirection.forward; } ((EntityState)this).characterBody.isSprinting = false; } public override void OnExit() { if (Object.op_Implicit((Object)(object)modelAnimator)) { } CharacterModel component = ((Component)((EntityState)this).GetModelTransform()).GetComponent(); if (Object.op_Implicit((Object)(object)component)) { component.forceUpdate = true; } ((EntityState)this).OnExit(); } public override void FixedUpdate() { //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_007a: Unknown result type (might be due to invalid IL or missing references) //IL_007f: Unknown result type (might be due to invalid IL or missing references) //IL_00ad: Unknown result type (might be due to invalid IL or missing references) ((EntityState)this).FixedUpdate(); stopwatch += Time.deltaTime; ((BaseState)this).attackSpeedStat = 0f; if (gomorrah) { GomorrahThings(); } if (Object.op_Implicit((Object)(object)((EntityState)this).characterDirection)) { ((EntityState)this).characterDirection.moveVector = ((EntityState)this).characterDirection.forward; } if (Object.op_Implicit((Object)(object)((EntityState)this).characterBody.characterMotor)) { ((EntityState)this).characterMotor.velocity = Vector3.zero; if (!((EntityState)this).characterMotor.isGrounded) { ((EntityState)this).characterMotor.velocity.y -= Time.fixedDeltaTime * Physics.gravity.y; } } if (((EntityState)this).isAuthority && ((EntityState)this).fixedAge >= duration) { ((EntityState)this).outer.SetNextStateToMain(); } } private void GomorrahThings() { //IL_003c: 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_0059: 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_0093: Unknown result type (might be due to invalid IL or missing references) //IL_00a7: 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) //IL_00ae: 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_00c4: Unknown result type (might be due to invalid IL or missing references) //IL_00c9: Unknown result type (might be due to invalid IL or missing references) //IL_00d6: Unknown result type (might be due to invalid IL or missing references) //IL_0111: Unknown result type (might be due to invalid IL or missing references) //IL_0116: 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_0123: 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_012f: Unknown result type (might be due to invalid IL or missing references) //IL_0134: Unknown result type (might be due to invalid IL or missing references) //IL_0136: Unknown result type (might be due to invalid IL or missing references) //IL_0138: 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_013f: Unknown result type (might be due to invalid IL or missing references) //IL_0141: Unknown result type (might be due to invalid IL or missing references) //IL_0143: Unknown result type (might be due to invalid IL or missing references) //IL_0157: Unknown result type (might be due to invalid IL or missing references) //IL_015c: 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) if (Object.op_Implicit((Object)(object)((EntityState)this).characterBody.inputBank) && ((EntityState)this).isAuthority) { if (stopwatch < 4.4f) { Vector3 forward = ((EntityState)this).characterDirection.forward; forward.y = -0.5f; ((EntityState)this).characterBody.inputBank.aimDirection = forward; } else if (stopwatch >= 4.4f && stopwatch < 5.9f) { Vector3 forward2 = ((EntityState)this).characterDirection.forward; forward2.y = -0.5f; Vector3 forward3 = ((EntityState)this).characterDirection.forward; Vector3 aimDirection = Vector3.Lerp(forward2, forward3, (stopwatch - 4.4f) / 0.5f); ((EntityState)this).characterBody.inputBank.aimDirection = aimDirection; } else if (stopwatch >= 5.9f && stopwatch <= 8.9f) { Vector3 forward4 = ((EntityState)this).characterDirection.forward; Vector3 forward5 = ((EntityState)this).characterDirection.forward; Quaternion val = Quaternion.AngleAxis(-90f, Vector3.up); forward5 = val * forward5; Vector3 aimDirection2 = Vector3.Lerp(forward4, forward5, (stopwatch - 5.9f) / 2.4999995f); ((EntityState)this).characterBody.inputBank.aimDirection = aimDirection2; } } } 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)7; } public override void OnSerialize(NetworkWriter writer) { ((BaseSkillState)this).OnSerialize(writer); writer.Write(duration); } public override void OnDeserialize(NetworkReader reader) { ((BaseSkillState)this).OnDeserialize(reader); duration = reader.ReadSingle(); } } public class GrabStun : MonoBehaviour { private Transform modelTrans; private ModelLocator modelLocator; private CapsuleCollider capsuleCollider; private SphereCollider sphereCollider; private Quaternion originalRotation; private Vector3 originalPosition; private Vector3 moveDir; private bool debugFlag = false; private float middle; private Vector3 pos; private CharacterBody body; private CharacterDirection direction; private CharacterMotor motor; private Rigidbody rigidBody; private bool released = false; private float stopwatch = 0f; private Quaternion newRot; public Transform pivot; private void Awake() { //IL_0147: Unknown result type (might be due to invalid IL or missing references) //IL_014c: 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_0170: 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_00d9: 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_00b2: Unknown result type (might be due to invalid IL or missing references) //IL_00b7: 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) modelLocator = ((Component)this).GetComponent(); body = ((Component)this).GetComponent(); rigidBody = ((Component)this).GetComponent(); motor = ((Component)this).GetComponent(); direction = ((Component)this).GetComponent(); capsuleCollider = ((Component)this).GetComponent(); sphereCollider = ((Component)this).GetComponent(); if (Object.op_Implicit((Object)(object)direction)) { ((Behaviour)direction).enabled = false; } if (Object.op_Implicit((Object)(object)capsuleCollider)) { Bounds bounds; if (Object.op_Implicit((Object)(object)body) && ((Object)body).name.Contains("BeetleQueen")) { bounds = ((Collider)capsuleCollider).bounds; middle = ((Bounds)(ref bounds)).extents.x; } else { bounds = ((Collider)capsuleCollider).bounds; middle = ((Bounds)(ref bounds)).extents.y; } ((Collider)capsuleCollider).enabled = false; } if (Object.op_Implicit((Object)(object)sphereCollider)) { ((Collider)sphereCollider).enabled = false; } if (Object.op_Implicit((Object)(object)modelLocator.modelTransform)) { modelTrans = modelLocator.modelTransform; originalRotation = modelTrans.rotation; } if (Object.op_Implicit((Object)(object)body)) { originalPosition = body.footPosition; } if (Object.op_Implicit((Object)(object)modelLocator)) { ((Behaviour)modelLocator).enabled = false; } } private void FixedUpdate() { //IL_0034: Unknown result type (might be due to invalid IL or missing references) //IL_0039: Unknown result type (might be due to invalid IL or missing references) //IL_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_005f: 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) //IL_00ae: Unknown result type (might be due to invalid IL or missing references) //IL_00b3: Unknown result type (might be due to invalid IL or missing references) //IL_00b8: Unknown result type (might be due to invalid IL or missing references) //IL_00e5: 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_00f6: 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_0112: Unknown result type (might be due to invalid IL or missing references) if (!released) { if (Object.op_Implicit((Object)(object)motor)) { motor.disableAirControlUntilCollision = true; motor.velocity = Vector3.zero; motor.rootMotion = Vector3.zero; ((BaseCharacterController)motor).Motor.SetPosition(pivot.position, true); } if (Object.op_Implicit((Object)(object)pivot)) { ((Component)this).transform.position = pivot.position; moveDir = ((Component)pivot).transform.TransformDirection(new Vector3(0f, -1f, 0f)); } else { Release(); } if (Object.op_Implicit((Object)(object)modelTrans)) { modelTrans.position = pivot.position + moveDir * middle; modelTrans.rotation = pivot.rotation; } } } public void Release() { //IL_003b: 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) released = true; if (Object.op_Implicit((Object)(object)modelLocator)) { ((Behaviour)modelLocator).enabled = true; } if (Object.op_Implicit((Object)(object)modelTrans)) { newRot = modelTrans.rotation; if (Object.op_Implicit((Object)(object)direction)) { ((Behaviour)direction).enabled = true; } if (Object.op_Implicit((Object)(object)capsuleCollider)) { ((Collider)capsuleCollider).enabled = true; } if (Object.op_Implicit((Object)(object)sphereCollider)) { ((Collider)sphereCollider).enabled = true; } } } } public class SummonGom : BaseEmote { private uint sound; private bool voiced = false; public CharacterBody enemyBody; private bool music; private BaseConVar convar; private string oldMusic; private CameraController cam; private GameObject hairPrefab; public override void OnEnter() { //IL_0377: Unknown result type (might be due to invalid IL or missing references) //IL_0382: Unknown result type (might be due to invalid IL or missing references) //IL_0387: Unknown result type (might be due to invalid IL or missing references) //IL_038c: Unknown result type (might be due to invalid IL or missing references) //IL_01d8: Unknown result type (might be due to invalid IL or missing references) //IL_0227: Unknown result type (might be due to invalid IL or missing references) //IL_0237: Unknown result type (might be due to invalid IL or missing references) //IL_023c: Unknown result type (might be due to invalid IL or missing references) //IL_0241: Unknown result type (might be due to invalid IL or missing references) //IL_024e: Unknown result type (might be due to invalid IL or missing references) //IL_0253: Unknown result type (might be due to invalid IL or missing references) //IL_025f: Unknown result type (might be due to invalid IL or missing references) //IL_0264: Unknown result type (might be due to invalid IL or missing references) //IL_0271: Unknown result type (might be due to invalid IL or missing references) //IL_02e6: Unknown result type (might be due to invalid IL or missing references) //IL_02f6: Unknown result type (might be due to invalid IL or missing references) //IL_0297: Unknown result type (might be due to invalid IL or missing references) //IL_02a2: Unknown result type (might be due to invalid IL or missing references) //IL_02a7: Unknown result type (might be due to invalid IL or missing references) //IL_02ac: Unknown result type (might be due to invalid IL or missing references) //IL_02b4: Unknown result type (might be due to invalid IL or missing references) //IL_02b9: Unknown result type (might be due to invalid IL or missing references) //IL_02c5: Unknown result type (might be due to invalid IL or missing references) //IL_02ca: Unknown result type (might be due to invalid IL or missing references) //IL_02d2: Unknown result type (might be due to invalid IL or missing references) //IL_032c: Unknown result type (might be due to invalid IL or missing references) //IL_0337: Unknown result type (might be due to invalid IL or missing references) //IL_033e: Unknown result type (might be due to invalid IL or missing references) //IL_0343: Unknown result type (might be due to invalid IL or missing references) //IL_0348: Unknown result type (might be due to invalid IL or missing references) animString = "avocado"; animDuration = 3.433f; canCancel = false; Util.PlaySound("avocado", ((EntityState)this).gameObject); playBuffer = false; bodyName = "Body"; enemyBody = ((EntityState)this).GetComponent().GetTrackingTarget().healthComponent.body; music = Config.musicOn2.Value; bool value = Config.musicClient.Value; if (music) { if (value && ((EntityState)this).isAuthority) { Util.PlaySound("summusic", ((EntityState)this).gameObject); } else if (!value) { Util.PlaySound("summusic", ((EntityState)this).gameObject); } if (((EntityState)this).isAuthority) { convar = Console.instance.FindConVar("volume_music"); if (convar != null) { oldMusic = convar.GetString(); if (oldMusic != "0") { convar.SetString("0"); } } } } zoom = false; cam = ((EntityState)this).gameObject.GetComponent(); cam.fov = 50f; cam.SetCam(); if (NetworkServer.active && Object.op_Implicit((Object)(object)((EntityState)this).characterBody)) { ((EntityState)this).characterBody.AddTimedBuff(Buffs.HiddenInvincibility, animDuration + 0.3f); } base.OnEnter(); if (Object.op_Implicit((Object)(object)enemyBody)) { if (Object.op_Implicit((Object)(object)enemyBody.master)) { NetMessageExtensions.Send((INetMessage)(object)new SetFreezeOnBodyRequest(enemyBody.masterObjectId, 21.38f), (NetworkDestination)1); } if (NetworkServer.active) { enemyBody.AddBuff(BayoBuffs.climaxed); } if (Object.op_Implicit((Object)(object)enemyBody.characterDirection)) { Vector3 val = ((EntityState)this).transform.position - enemyBody.transform.position; Vector3 forward = Vector3.RotateTowards(enemyBody.characterDirection.forward, val, 360f, 0f); enemyBody.characterDirection.forward = forward; } if (Object.op_Implicit((Object)(object)((EntityState)this).characterDirection)) { Vector3 val2 = enemyBody.transform.position - ((EntityState)this).transform.position; Vector3 forward2 = Vector3.RotateTowards(((EntityState)this).characterDirection.forward, val2, 360f, 0f); ((EntityState)this).characterDirection.forward = forward2; } float num = Vector3.Distance(((EntityState)this).characterBody.transform.position, enemyBody.transform.position); if (num <= 20f) { float num2 = -1f * (20f - num); CharacterMotor characterMotor = ((EntityState)this).characterMotor; characterMotor.rootMotion += ((EntityState)this).characterDirection.forward * num2; } } hairPrefab = BayoAssets.summonHair; if (Object.op_Implicit((Object)(object)((EntityState)this).characterDirection)) { Object.Instantiate(hairPrefab, ((EntityState)this).characterBody.footPosition, Quaternion.LookRotation(((EntityState)this).characterDirection.forward, Vector3.up)); } } public override void OnExit() { //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_0030: Unknown result type (might be due to invalid IL or missing references) //IL_0035: Unknown result type (might be due to invalid IL or missing references) if ((Object)(object)enemyBody != (Object)null) { GameObject val = Object.Instantiate(BayoAssets.gomorrah, enemyBody.footPosition, Quaternion.LookRotation(enemyBody.characterDirection.forward)); val.GetComponent().enemyBody = enemyBody; if (Object.op_Implicit((Object)(object)((EntityState)this).GetComponent())) { ((EntityState)this).GetComponent().ReleaseTarget(); } ((EntityState)this).gameObject.GetComponent().oldMusic = oldMusic; ChildLocator component = val.GetComponent(); if (Object.op_Implicit((Object)(object)component)) { int num = component.FindChildIndex("cambone"); Transform demonCamTrans = component.FindChild(num); cam.demonCamTrans = demonCamTrans; num = component.FindChildIndex("trackbone"); demonCamTrans = component.FindChild(num); cam.demonTrackTrans = demonCamTrans; cam.demonTime = 6f; cam.DemonHandoff(); } } else { cam.UnsetCam(); } base.OnExit(); } } } namespace BayoMod.Characters.Survivors.Bayo.SkillStates.BaseStates { public class BaseEmote : BaseState { public float animDuration; public float cancelDuration; public string animString; private RootMotionAccumulator rootmotion; protected bool cancel; protected float stopwatch; protected float zoomDur = 1f; protected float zoomOutDur = 0.5f; protected bool jumped; protected bool flag1; protected bool half = false; protected bool zoom = true; protected float x = 0f; protected float y = -1.5f; protected float z = -7f; protected CharacterCameraParams cameraParams; protected CameraParamsOverrideHandle cameraParamsOverrideHandle; protected string playbackString = "Emote.playbackRate"; protected string bodyName = "FullBody, Override"; protected bool stance = false; protected bool canCancel = true; protected bool playBuffer = true; private BayoController bwc; protected bool hideWeapon = true; public override void OnEnter() { //IL_0084: Unknown result type (might be due to invalid IL or missing references) //IL_0089: Unknown result type (might be due to invalid IL or missing references) //IL_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_00b5: 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_0106: Unknown result type (might be due to invalid IL or missing references) //IL_010b: 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_0123: Unknown result type (might be due to invalid IL or missing references) //IL_0128: Unknown result type (might be due to invalid IL or missing references) rootmotion = ((EntityState)this).GetModelRootMotionAccumulator(); flag1 = false; ((EntityState)this).characterBody.hideCrosshair = true; ((EntityState)this).PlayAnimation(bodyName, animString, playbackString, animDuration, 0f); ((BaseState)this).OnEnter(); ((EntityState)this).characterBody.isSprinting = false; cameraParams = ScriptableObject.CreateInstance(); ((Object)cameraParams).name = "BreakFirst"; cameraParams.data.wallCushion = BlendableFloat.op_Implicit(0.1f); cameraParams.data.idealLocalCameraPos = BlendableVector3.op_Implicit(new Vector3(x, y, z)); if (zoom) { zoom = Config.eZoom.Value; } if (Object.op_Implicit((Object)(object)((EntityState)this).cameraTargetParams) && zoom) { cameraParamsOverrideHandle = ((EntityState)this).cameraTargetParams.AddParamsOverride(new CameraParamsOverrideRequest { cameraParamsData = cameraParams.data, priority = 1f }, zoomDur); } bwc = ((EntityState)this).gameObject.GetComponent(); if (hideWeapon) { bwc.currentWeapon = BayoController.WeaponState.Open; } } private void DetermineCancel() { //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) if (Object.op_Implicit((Object)(object)((EntityState)this).characterMotor) && !((EntityState)this).characterMotor.isGrounded) { cancel = true; } if (Object.op_Implicit((Object)(object)((EntityState)this).inputBank)) { if (((EntityState)this).inputBank.skill1.down) { cancel = true; } if (((EntityState)this).inputBank.skill2.down) { cancel = true; } if (((EntityState)this).inputBank.skill3.down) { cancel = true; } if (((EntityState)this).inputBank.skill4.down) { cancel = true; } if (((EntityState)this).inputBank.jump.down) { cancel = true; jumped = true; } if (((EntityState)this).inputBank.moveVector != Vector3.zero) { cancel = true; } } } public override void FixedUpdate() { //IL_0097: Unknown result type (might be due to invalid IL or missing references) //IL_009c: Unknown result type (might be due to invalid IL or missing references) //IL_00c1: Unknown result type (might be due to invalid IL or missing references) //IL_00c3: Unknown result type (might be due to invalid IL or missing references) stopwatch += Time.fixedDeltaTime; cancel = false; jumped = false; if (canCancel) { DetermineCancel(); } ((EntityState)this).FixedUpdate(); if (jumped) { ((ButtonState)(ref ((EntityState)this).inputBank.jump)).PushState(false); } if (cancel) { ((EntityState)this).outer.SetNextStateToMain(); return; } if (Object.op_Implicit((Object)(object)rootmotion) && !flag1) { Vector3 rootMotion = rootmotion.ExtractRootMotion(); if (((EntityState)this).isAuthority && Object.op_Implicit((Object)(object)((EntityState)this).characterMotor)) { ((EntityState)this).characterMotor.rootMotion = rootMotion; } } if (((EntityState)this).isAuthority && stopwatch >= animDuration) { if (stance) { ((EntityState)this).outer.SetNextState((EntityState)(object)new Stance()); } else { ((EntityState)this).outer.SetNextStateToMain(); } } } public override void OnExit() { //IL_0074: Unknown result type (might be due to invalid IL or missing references) //IL_007f: Unknown result type (might be due to invalid IL or missing references) //IL_0084: Unknown result type (might be due to invalid IL or missing references) ((EntityState)this).OnExit(); ((EntityState)this).characterBody.hideCrosshair = false; if (NetworkServer.active) { ((EntityState)this).characterBody.RemoveBuff(Buffs.Slow60); } if (hideWeapon) { bwc.currentWeapon = BayoController.WeaponState.Guns; } if (Object.op_Implicit((Object)(object)((EntityState)this).cameraTargetParams) && ((CameraParamsOverrideHandle)(ref cameraParamsOverrideHandle)).isValid && zoom) { cameraParamsOverrideHandle = ((EntityState)this).cameraTargetParams.RemoveParamsOverride(cameraParamsOverrideHandle, zoomOutDur); } if (playBuffer) { ((EntityState)this).PlayAnimation("FullBody, Override", "BufferEmpty"); } } 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)0; } } public abstract class BaseMeleeAttack : BaseSkillState { protected string hitboxGroupName = "PunchGroup"; protected string hitboxName = "PunchHitbox"; protected DamageTypeCombo damageType = DamageTypeCombo.op_Implicit((DamageType)0); protected float damageCoefficient = 3.5f; protected float procCoefficient = 1f; protected float pushForce = 0f; protected Vector3 bonusForce = Vector3.zero; protected float baseDuration = 1f; protected float attackStartPercentTime = 0.2f; protected float attackEndPercentTime = 0.4f; protected float earlyExitPercentTime = 0.4f; protected float hitStopDuration = 0.012f; protected float attackRecoil = 0.75f; protected float hitHopVelocity = 4f; protected string swingSoundString = ""; protected string hitSoundString = "hit"; protected string muzzleString = "SwingCenter"; protected string playbackRateParam = "Slash.playbackRate"; protected GameObject swingEffectPrefab; protected GameObject loopEffectPrefab; protected GameObject loopEffectInstance; protected GameObject hitEffectPrefab = FireEmbers.hitEffectPrefab; protected NetworkSoundEventIndex impactSound = (NetworkSoundEventIndex)(-1); public float duration; public float playSwing = 0f; protected bool hasSwung = false; protected bool hasFired; private float hitPauseTimer; protected OverlapAttack attack; protected bool inHitPause; private bool hasHopped; protected float stopwatch; protected Animator animator; private HitStopCachedState hitStopCachedState; protected Vector3 storedVelocity; protected bool exitToStance; protected Ray shootRay; protected string gunName; private float recoilAmplitude = FirePistol2.recoilAmplitude; protected float gunDamage; protected float gunForce = BaseNailgunState.force; private GameObject tracerEffectPrefab = FirePistol2.tracerEffectPrefab; protected GameObject gunEffectPrefab = FireTurret.hitEffectPrefab; protected float spreadBloomValue = 0f; protected float fireTime = 9999f; protected float bulletStopWatch = 0f; protected bool launch = false; private bool opFired = false; protected float juggleHop = 0f; protected bool hasJuggled = false; protected List results = new List(); protected string voiceString; protected bool voice = false; protected bool durOverride = false; protected bool destroyvfx = true; protected HealthComponent item; private GameObject gunMuz; public bool m2Refund = false; private bool refunded = false; public override void OnEnter() { //IL_0056: 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_008f: Unknown result type (might be due to invalid IL or missing references) //IL_0099: Expected O, but got Unknown //IL_00a0: Unknown result type (might be due to invalid IL or missing references) //IL_00a5: 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_011e: Unknown result type (might be due to invalid IL or missing references) //IL_0123: Unknown result type (might be due to invalid IL or missing references) //IL_0168: Unknown result type (might be due to invalid IL or missing references) //IL_016d: Unknown result type (might be due to invalid IL or missing references) ((BaseState)this).OnEnter(); animator = ((EntityState)this).GetModelAnimator(); ((BaseState)this).StartAimMode(0.5f + duration, false); inHitPause = false; SkinDef val = SkinCatalog.FindCurrentSkinDefForBodyInstance(((Component)((EntityState)this).characterBody).gameObject); if ((Object)(object)val == (Object)(object)BayoSurvivor.artSkin) { gunMuz = Addressables.LoadAssetAsync((object)"RoR2/Base/Mage/MuzzleflashMageFire.prefab").WaitForCompletion(); gunName += "art"; } else { gunMuz = BayoAssets.bulletMuz; } attack = new OverlapAttack(); attack.damageType = damageType; attack.attacker = ((EntityState)this).gameObject; attack.inflictor = ((EntityState)this).gameObject; attack.teamIndex = ((BaseState)this).GetTeam(); attack.damage = damageCoefficient * ((BaseState)this).damageStat; attack.procCoefficient = procCoefficient; attack.hitEffectPrefab = hitEffectPrefab; attack.forceVector = bonusForce; attack.pushAwayForce = pushForce; attack.hitBoxGroup = ((BaseState)this).FindHitBoxGroup(hitboxGroupName); attack.isCrit = ((BaseState)this).RollCrit(); attack.impactSound = impactSound; fireTime /= ((BaseState)this).attackSpeedStat; } public override void OnExit() { if (inHitPause) { RemoveHitstop(); } if (Object.op_Implicit((Object)(object)loopEffectInstance)) { if (destroyvfx) { EntityState.Destroy((Object)(object)loopEffectInstance); } else { loopEffectInstance.transform.parent = null; } } results.Clear(); ((EntityState)this).OnExit(); } protected virtual void PlaySwingEffect() { //IL_007c: Unknown result type (might be due to invalid IL or missing references) //IL_0081: Unknown result type (might be due to invalid IL or missing references) //IL_009a: 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) if (Object.op_Implicit((Object)(object)swingEffectPrefab) && ((EntityState)this).isAuthority) { EffectManager.SimpleMuzzleFlash(swingEffectPrefab, ((EntityState)this).gameObject, muzzleString, true); } else { if (!Object.op_Implicit((Object)(object)loopEffectPrefab)) { return; } ChildLocator modelChildLocator = ((EntityState)this).GetModelChildLocator(); if (Object.op_Implicit((Object)(object)modelChildLocator)) { Transform val = modelChildLocator.FindChild(muzzleString) ?? ((EntityState)this).characterBody.coreTransform; Quaternion rotation = val.rotation; if (Object.op_Implicit((Object)(object)val)) { loopEffectInstance = Object.Instantiate(loopEffectPrefab, val.position, rotation); loopEffectInstance.transform.parent = val; } } } } protected bool CanDodge() { if (((EntityState)this).inputBank.skill3.down && Object.op_Implicit((Object)(object)((EntityState)this).skillLocator.utility) && (!((EntityState)this).skillLocator.utility.mustKeyPress || !((EntityState)this).inputBank.skill3.hasPressBeenClaimed) && ((EntityState)this).skillLocator.utility.ExecuteIfReady()) { return true; } return false; } protected virtual void OnHitEnemyAuthority() { Util.PlaySound(hitSoundString, ((EntityState)this).gameObject); if (!hasHopped) { if (Object.op_Implicit((Object)(object)((EntityState)this).characterMotor) && !((EntityState)this).characterMotor.isGrounded && hitHopVelocity > 0f) { ((BaseState)this).SmallHop(((EntityState)this).characterMotor, hitHopVelocity); } hasHopped = true; } ApplyHitstop(); } protected void ApplyHitstop() { //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_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) if (!inHitPause && hitStopDuration > 0f) { storedVelocity = ((EntityState)this).characterMotor.velocity; hitStopCachedState = ((BaseState)this).CreateHitStopCachedState(((EntityState)this).characterMotor, animator, playbackRateParam); hitPauseTimer = hitStopDuration; inHitPause = true; } } protected virtual void FireAttack() { //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_0054: 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_0063: Unknown result type (might be due to invalid IL or missing references) //IL_0066: Unknown result type (might be due to invalid IL or missing references) //IL_006b: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Unknown result type (might be due to invalid IL or missing references) //IL_006f: Unknown result type (might be due to invalid IL or missing references) //IL_0071: Unknown result type (might be due to invalid IL or missing references) //IL_0078: Unknown result type (might be due to invalid IL or missing references) //IL_00ca: 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_0107: Unknown result type (might be due to invalid IL or missing references) if (((EntityState)this).isAuthority && attack.Fire((List)null)) { OnHitEnemyAuthority(); } if (!NetworkServer.active || !launch) { return; } Transform val = ((BaseState)this).FindModelChild(hitboxName); Vector3 position = val.position; Vector3 val2 = val.localScale * 0.5f; Quaternion rotation = val.rotation; Collider[] array = Physics.OverlapBox(position, val2, rotation, LayerMask.op_Implicit(((LayerIndex)(ref LayerIndex.entityPrecise)).mask)); for (int i = 0; i < array.Length; i++) { HurtBox component = ((Component)array[i]).GetComponent(); if (!Object.op_Implicit((Object)(object)component)) { continue; } HealthComponent healthComponent = component.healthComponent; if (!Object.op_Implicit((Object)(object)healthComponent)) { continue; } TeamIndex team = ((BaseState)this).GetTeam(); if (!results.Contains(healthComponent)) { results.Add(healthComponent); item = healthComponent; if (FriendlyFireManager.ShouldDirectHitProceed(item, team) && (!item.body.isChampion || (((Object)((Component)item).gameObject).name.Contains("Brother") && ((Object)((Component)item).gameObject).name.Contains("Body"))) && Object.op_Implicit((Object)(object)item) && Object.op_Implicit((Object)(object)((Component)item).transform)) { ApplyForce(); } } } } protected virtual void EnterAttack() { //IL_000f: 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_0017: Unknown result type (might be due to invalid IL or missing references) hasFired = true; CharacterDirection characterDirection = ((EntityState)this).characterDirection; Ray aimRay = ((BaseState)this).GetAimRay(); characterDirection.forward = ((Ray)(ref aimRay)).direction; if (voice) { Util.PlaySound(voiceString, ((EntityState)this).gameObject); } if (((EntityState)this).isAuthority) { ((BaseState)this).AddRecoil(-1f * attackRecoil, -2f * attackRecoil, -0.5f * attackRecoil, 0.5f * attackRecoil); } } public override void FixedUpdate() { //IL_0078: 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) ((EntityState)this).FixedUpdate(); hitPauseTimer -= Time.fixedDeltaTime; if (hitPauseTimer <= 0f && inHitPause) { RemoveHitstop(); } if (!inHitPause) { stopwatch += Time.fixedDeltaTime; } else { if (Object.op_Implicit((Object)(object)((EntityState)this).characterMotor)) { ((EntityState)this).characterMotor.velocity = Vector3.zero; } if (Object.op_Implicit((Object)(object)animator)) { animator.SetFloat(playbackRateParam, 0f); } } bulletStopWatch += Time.fixedDeltaTime; bool flag = stopwatch >= duration * attackStartPercentTime; bool flag2 = stopwatch >= duration * attackEndPercentTime; if (playSwing == 0f) { playSwing = duration * attackStartPercentTime * 0.75f; } if (!hasSwung && stopwatch >= playSwing) { hasSwung = true; PlaySwingEffect(); Util.PlaySound(swingSoundString, ((EntityState)this).gameObject); } if ((flag && !flag2) || (flag && flag2 && !hasFired)) { if (!hasFired) { EnterAttack(); } FireAttack(); } if (bulletStopWatch >= fireTime) { bulletStopWatch -= fireTime; FireBullet(); } if (stopwatch >= duration && ((EntityState)this).isAuthority && !durOverride) { if (exitToStance) { ((EntityState)this).outer.SetNextState((EntityState)(object)new Stance()); } else { ((EntityState)this).outer.SetNextStateToMain(); } } } protected virtual void RemoveHitstop() { //IL_0003: 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_002d: Unknown result type (might be due to invalid IL or missing references) ((BaseState)this).ConsumeHitStopCachedState(hitStopCachedState, ((EntityState)this).characterMotor, animator); inHitPause = false; ((EntityState)this).characterMotor.velocity = storedVelocity; } 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; } protected virtual void ApplyForce() { CharacterBody body = item.body; if (Object.op_Implicit((Object)(object)body.characterMotor) && !body.characterMotor.isGrounded) { if (((EntityState)this).characterBody.HasBuff(BayoBuffs.wtBuff)) { juggleHop /= 3f; } body.characterMotor.velocity.x = 0f; body.characterMotor.velocity.z = 0f; SetStateOnHurt component = ((Component)item).GetComponent(); if (component != null) { component.SetStun(1f); } if (body.HasBuff(BayoBuffs.wtDebuff)) { body.characterMotor.velocity.y = 0f; } else { ((BaseState)this).SmallHop(body.characterMotor, juggleHop); } } } private void FireBullet() { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_0066: Unknown result type (might be due to invalid IL or missing references) //IL_006c: Expected O, but got Unknown //IL_0087: Unknown result type (might be due to invalid IL or missing references) //IL_008c: Unknown result type (might be due to invalid IL or missing references) //IL_0094: Unknown result type (might be due to invalid IL or missing references) //IL_011f: Unknown result type (might be due to invalid IL or missing references) //IL_0124: Unknown result type (might be due to invalid IL or missing references) //IL_0137: Unknown result type (might be due to invalid IL or missing references) Ray val = shootRay; EffectManager.SimpleMuzzleFlash(gunMuz, ((EntityState)this).gameObject, gunName, false); ((BaseState)this).AddRecoil(-0.4f * recoilAmplitude, -0.8f * recoilAmplitude, -0.3f * recoilAmplitude, 0.3f * recoilAmplitude); if (((EntityState)this).isAuthority) { BulletAttack val2 = new BulletAttack(); val2.owner = ((EntityState)this).gameObject; val2.weapon = ((EntityState)this).gameObject; val2.origin = ((Ray)(ref val)).origin; val2.aimVector = ((Ray)(ref val)).direction; val2.minSpread = 0f; val2.maxSpread = 0f; val2.bulletCount = 1u; val2.damage = gunDamage * ((BaseState)this).damageStat; val2.force = gunForce; val2.tracerEffectPrefab = tracerEffectPrefab; val2.muzzleName = gunName; val2.hitEffectPrefab = gunEffectPrefab; val2.isCrit = ((BaseState)this).RollCrit(); val2.radius = 0.75f; val2.smartCollision = true; val2.damageType = DamageTypeCombo.op_Implicit((DamageType)0); val2.procCoefficient = 0.5f; val2.damageColorIndex = (DamageColorIndex)9; val2.Fire(); } ((EntityState)this).characterBody.AddSpreadBloom(spreadBloomValue); Util.PlaySound("shoot", ((EntityState)this).gameObject); } protected void ReplacePrefabs(GameObject pref1, GameObject pref2) { SkinDef val = SkinCatalog.FindCurrentSkinDefForBodyInstance(((Component)((EntityState)this).characterBody).gameObject); if ((Object)(object)val == (Object)(object)BayoSurvivor.defaultSkin) { loopEffectPrefab = pref1; } else { loopEffectPrefab = pref2; } } protected void ReplacePrefab2(GameObject pref1, GameObject pref2, GameObject pref3) { SkinDef val = SkinCatalog.FindCurrentSkinDefForBodyInstance(((Component)((EntityState)this).characterBody).gameObject); if ((Object)(object)val == (Object)(object)BayoSurvivor.defaultSkin) { loopEffectPrefab = pref1; } else if ((Object)(object)val == (Object)(object)BayoSurvivor.masterySkin) { loopEffectPrefab = pref2; } else { loopEffectPrefab = pref3; } } } public class BasePunch : BaseMeleeAttack { public int swingIndex; protected string animStart; protected string animEnd; protected float exitTime; protected float holdTime; protected float endDuration; private RootMotionAccumulator rootMotionAccumulator; private bool cancel; private bool jumped; private bool hasEnded; protected string gunStr; public static float verticalAcceleration = GroundSlam.verticalAcceleration * 0.2f; protected float hopVelocity = 2.5f; protected Vector3 forwardDir; private Vector3 vfxPos; public override void OnEnter() { //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_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_00a5: Unknown result type (might be due to invalid IL or missing references) //IL_00aa: Unknown result type (might be due to invalid IL or missing references) //IL_00ad: Unknown result type (might be due to invalid IL or missing references) //IL_00b2: Unknown result type (might be due to invalid IL or missing references) //IL_00be: Unknown result type (might be due to invalid IL or missing references) damageCoefficient = 2f; attackEndPercentTime = 0.6f; procCoefficient = 1f; damageType = DamageTypeCombo.GenericPrimary; pushForce = 100f; hitStopDuration = 0.012f; attackRecoil = 1f; hitHopVelocity = 4f; exitToStance = true; hasEnded = false; shootRay = ((BaseState)this).GetAimRay(); gunName = gunStr; gunDamage = 0.5f; launch = false; fireTime = 0.166f; destroyvfx = false; Ray aimRay = ((BaseState)this).GetAimRay(); forwardDir = ((Ray)(ref aimRay)).direction; ((EntityState)this).characterDirection.forward = forwardDir; rootMotionAccumulator = ((EntityState)this).GetModelRootMotionAccumulator(); base.OnEnter(); holdTime /= ((BaseState)this).attackSpeedStat; earlyExitPercentTime /= ((BaseState)this).attackSpeedStat; endDuration /= ((BaseState)this).attackSpeedStat; playSwing /= ((BaseState)this).attackSpeedStat; exitTime = holdTime + earlyExitPercentTime; duration = exitTime + endDuration; attackStartPercentTime = earlyExitPercentTime / duration; ((EntityState)this).PlayAnimation("Body", animStart, playbackRateParam, earlyExitPercentTime * 2f, 0f); if (Object.op_Implicit((Object)(object)((EntityState)this).characterMotor) && !((EntityState)this).characterMotor.isGrounded && hopVelocity > 0f) { ((EntityState)this).characterMotor.velocity.y = 0f; ((EntityState)this).characterMotor.airControl = ((EntityState)this).characterMotor.airControl; ((BaseState)this).SmallHop(((EntityState)this).characterMotor, hopVelocity); launch = true; juggleHop = 7f / ((BaseState)this).attackSpeedStat; exitToStance = false; } if (Object.op_Implicit((Object)(object)((EntityState)this).characterBody) && ((EntityState)this).characterBody.isSprinting) { ((EntityState)this).characterBody.isSprinting = false; } } protected override void EnterAttack() { hasFired = true; if (voice) { Util.PlaySound(voiceString, ((EntityState)this).gameObject); } if (((EntityState)this).isAuthority) { ((BaseState)this).AddRecoil(-1f * attackRecoil, -2f * attackRecoil, -0.5f * attackRecoil, 0.5f * attackRecoil); } } private void DetermineCancel() { //IL_0078: 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) if (!Object.op_Implicit((Object)(object)((EntityState)this).inputBank)) { return; } if (hasEnded) { if (((EntityState)this).inputBank.skill2.down) { cancel = true; } if (((EntityState)this).inputBank.skill3.down) { cancel = true; } if (((EntityState)this).inputBank.skill4.down) { cancel = true; } if (((EntityState)this).inputBank.moveVector != Vector3.zero) { cancel = true; } } if (((ButtonState)(ref ((EntityState)this).inputBank.jump)).justPressed && ((EntityState)this).characterMotor.jumpCount < ((EntityState)this).characterBody.maxJumpCount) { cancel = true; jumped = true; } } public override void FixedUpdate() { //IL_018b: Unknown result type (might be due to invalid IL or missing references) //IL_0190: Unknown result type (might be due to invalid IL or missing references) //IL_01a1: Unknown result type (might be due to invalid IL or missing references) //IL_01b8: Unknown result type (might be due to invalid IL or missing references) //IL_01bd: Unknown result type (might be due to invalid IL or missing references) //IL_01ca: Unknown result type (might be due to invalid IL or missing references) //IL_01d7: Unknown result type (might be due to invalid IL or missing references) //IL_01dc: Unknown result type (might be due to invalid IL or missing references) //IL_00e4: Unknown result type (might be due to invalid IL or missing references) //IL_00e9: Unknown result type (might be due to invalid IL or missing references) //IL_00f4: Unknown result type (might be due to invalid IL or missing references) //IL_0118: Unknown result type (might be due to invalid IL or missing references) //IL_011d: Unknown result type (might be due to invalid IL or missing references) //IL_011f: 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_016e: Unknown result type (might be due to invalid IL or missing references) //IL_0173: Unknown result type (might be due to invalid IL or missing references) //IL_0175: Unknown result type (might be due to invalid IL or missing references) //IL_017a: Unknown result type (might be due to invalid IL or missing references) //IL_0159: Unknown result type (might be due to invalid IL or missing references) //IL_0160: Unknown result type (might be due to invalid IL or missing references) //IL_0165: Unknown result type (might be due to invalid IL or missing references) cancel = false; jumped = false; if (stopwatch >= earlyExitPercentTime) { DetermineCancel(); if (jumped) { ((ButtonState)(ref ((EntityState)this).inputBank.jump)).PushState(false); } if (cancel) { ((EntityState)this).outer.SetNextStateToMain(); return; } } if (CanDodge()) { cancel = true; ((EntityState)this).outer.SetNextState((EntityState)(object)new Dodge { currentSwing = swingIndex }); ((EntityState)this).inputBank.skill3.hasPressBeenClaimed = true; return; } if (((EntityState)this).characterMotor.isGrounded) { if (((EntityState)this).isAuthority && Object.op_Implicit((Object)(object)((EntityState)this).characterMotor)) { ((EntityState)this).inputBank.moveVector = Vector3.zero; ((EntityState)this).characterMotor.moveDirection = Vector3.zero; } if (Object.op_Implicit((Object)(object)rootMotionAccumulator)) { Vector3 val = rootMotionAccumulator.ExtractRootMotion(); if (val != Vector3.zero && ((EntityState)this).isAuthority && Object.op_Implicit((Object)(object)((EntityState)this).characterMotor)) { if (!hasEnded) { val *= 2f; } CharacterMotor characterMotor = ((EntityState)this).characterMotor; characterMotor.rootMotion += val; } } } else { rootMotionAccumulator.accumulatedRootMotion = Vector3.zero; ((EntityState)this).characterMotor.moveDirection = ((EntityState)this).inputBank.moveVector; ((EntityState)this).characterDirection.moveVector = ((EntityState)this).characterMotor.moveDirection; } ((EntityState)this).characterDirection.forward = forwardDir; shootRay = ((BaseState)this).GetAimRay(); if (stopwatch >= exitTime) { if (((EntityState)this).inputBank.skill1.down) { SetStep(); return; } if (!hasEnded) { hasEnded = true; fireTime = 9999f; ((EntityState)this).PlayAnimation("Body", animEnd, playbackRateParam, endDuration, 0f); } } base.FixedUpdate(); } protected override void PlaySwingEffect() { base.PlaySwingEffect(); if (Object.op_Implicit((Object)(object)loopEffectInstance) && animStart != "P1") { ((Component)loopEffectInstance.transform.Find("swing1")).gameObject.GetComponent().atSpeedMult = ((BaseState)this).attackSpeedStat; } } public void SetStep() { switch (swingIndex) { case 0: ((EntityState)this).outer.SetNextState((EntityState)(object)new Punch2 { swingIndex = 1 }); break; case 1: ((EntityState)this).outer.SetNextState((EntityState)(object)new Punch3 { swingIndex = 2 }); break; case 2: ((EntityState)this).outer.SetNextState((EntityState)(object)new Punch4 { swingIndex = 3 }); break; case 3: ((EntityState)this).outer.SetNextState((EntityState)(object)new FlurryStart()); break; } } public override void OnExit() { if (Object.op_Implicit((Object)(object)swingEffectPrefab)) { swingEffectPrefab.GetComponentInChildren().Stop(); } base.OnExit(); } } public class BayoCharacterMain : GenericCharacterMain { private BayoTracker tracker; private PunishTracker pTracker; private bool fallRemoved = true; private GameObject wingPrefab; private GameObject wingInstance; private GameObject jumpPrefab = BayoAssets.djump; public override void OnEnter() { pTracker = ((EntityState)this).GetComponent(); tracker = ((EntityState)this).GetComponent(); ((GenericCharacterMain)this).OnEnter(); } public override void FixedUpdate() { //IL_0044: 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_0197: Unknown result type (might be due to invalid IL or missing references) //IL_019e: Unknown result type (might be due to invalid IL or missing references) //IL_019f: Unknown result type (might be due to invalid IL or missing references) //IL_0098: 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_00f0: Unknown result type (might be due to invalid IL or missing references) if (Object.op_Implicit((Object)(object)tracker)) { EntityState.Destroy((Object)(object)tracker); } if (Util.HasEffectiveAuthority(((EntityState)this).gameObject) && ((EntityState)this).characterMotor.isGrounded) { if (Input.GetKeyDown(Config.emote1Keybind.Value)) { ((EntityState)this).outer.SetNextState((EntityState)(object)new Emote1()); return; } if (Input.GetKeyDown(Config.emote2Keybind.Value)) { ((EntityState)this).outer.SetNextState((EntityState)(object)new Emote2()); return; } if (Input.GetKeyDown(Config.emote3Keybind.Value)) { ((EntityState)this).outer.SetNextState((EntityState)(object)new LetsDance2()); return; } if (Input.GetKeyDown(Config.emote4Keybind.Value)) { ((EntityState)this).outer.SetNextState((EntityState)(object)new LetsDance()); return; } if (Input.GetKeyDown(Config.emote5Keybind.Value)) { ((EntityState)this).outer.SetNextState((EntityState)(object)new StrutNew()); return; } if (Object.op_Implicit((Object)(object)pTracker) && (Object)(object)pTracker.GetTrackingTarget() != (Object)null && ((EntityState)this).inputBank.interact.down) { ((EntityState)this).outer.SetNextState((EntityState)(object)new PunishEntry()); return; } } if (((EntityState)this).characterMotor.isGrounded) { if (!fallRemoved) { CharacterBody characterBody = ((EntityState)this).characterBody; characterBody.bodyFlags = (BodyFlags)(characterBody.bodyFlags & -2); fallRemoved = true; Util.PlaySound("batland", ((EntityState)this).gameObject); } if (Object.op_Implicit((Object)(object)pTracker)) { ((Behaviour)pTracker).enabled = true; } } if (Object.op_Implicit((Object)(object)pTracker) && !((EntityState)this).characterMotor.isGrounded) { ((Behaviour)pTracker).enabled = false; } ((GenericCharacterMain)this).FixedUpdate(); } public override void Update() { ((GenericCharacterMain)this).Update(); ((BaseCharacterMain)this).useRootMotion = Object.op_Implicit((Object)(object)((EntityState)this).characterBody) && ((EntityState)this).characterBody.rootMotionInMainState; } public override void ProcessJump() { //IL_0107: Unknown result type (might be due to invalid IL or missing references) //IL_010e: Unknown result type (might be due to invalid IL or missing references) if (!((BaseCharacterMain)this).hasCharacterMotor || !base.jumpInputReceived || !Object.op_Implicit((Object)(object)((EntityState)this).characterBody) || ((EntityState)this).characterMotor.jumpCount >= ((EntityState)this).characterBody.maxJumpCount) { return; } if (((EntityState)this).characterMotor.jumpCount != 0 && ((EntityState)this).characterBody.baseJumpCount != 1) { if (Object.op_Implicit((Object)(object)wingInstance)) { Object.Destroy((Object)(object)wingInstance); } wingPrefab = BayoAssets.bwings2; Object.Destroy((Object)(object)wingPrefab.GetComponent()); wingPrefab.AddComponent(); ChildLocator modelChildLocator = ((EntityState)this).GetModelChildLocator(); if (Object.op_Implicit((Object)(object)modelChildLocator)) { Transform val = modelChildLocator.FindChild("WingCenter") ?? ((EntityState)this).characterBody.coreTransform; if (Object.op_Implicit((Object)(object)val)) { wingInstance = Object.Instantiate(wingPrefab, val.position, val.rotation); wingInstance.transform.parent = val; } } EffectManager.SimpleMuzzleFlash(jumpPrefab, ((EntityState)this).gameObject, "SwingCenter", true); Util.PlaySound("jump", ((EntityState)this).gameObject); } fallRemoved = false; ((GenericCharacterMain)this).ProcessJump(); } public override void OnExit() { ((Behaviour)pTracker).enabled = false; ((GenericCharacterMain)this).OnExit(); } } public class Strut : BaseSkillState { public float animDuration = 1.92f; public float cancelDuration; private RootMotionAccumulator rootmotion; protected bool cancel; protected float stopwatch; protected bool jumped; protected bool flag1; private uint sound = 0u; protected Animator animator; private CharacterCameraParams cameraParams; private CameraParamsOverrideHandle cameraParamsOverrideHandle; private bool music; private bool zoom; private string oldMusic; private BaseConVar convar; public override void OnEnter() { //IL_0080: Unknown result type (might be due to invalid IL or missing references) //IL_0085: 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) //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_01b3: Unknown result type (might be due to invalid IL or missing references) //IL_01c1: Unknown result type (might be due to invalid IL or missing references) //IL_01c6: Unknown result type (might be due to invalid IL or missing references) //IL_01d7: Unknown result type (might be due to invalid IL or missing references) //IL_01de: Unknown result type (might be due to invalid IL or missing references) //IL_01e3: Unknown result type (might be due to invalid IL or missing references) rootmotion = ((EntityState)this).GetModelRootMotionAccumulator(); flag1 = false; ((EntityState)this).characterBody.hideCrosshair = true; animator = ((EntityState)this).GetModelAnimator(); ((EntityState)this).PlayAnimation("FullBody, Override", "Dreadful", "Emote.playbackRate", animDuration, 0f); ((BaseState)this).OnEnter(); cameraParams = ScriptableObject.CreateInstance(); ((Object)cameraParams).name = "BreakFirst"; cameraParams.data.wallCushion = BlendableFloat.op_Implicit(0.1f); cameraParams.data.idealLocalCameraPos = BlendableVector3.op_Implicit(new Vector3(0f, -1.5f, -7f)); music = Config.musicOn.Value; bool value = Config.musicClient.Value; if (music) { if (value && ((EntityState)this).isAuthority) { sound = AkSoundEngine.PostEvent(2930662992u, ((EntityState)this).gameObject); } else if (!value) { sound = AkSoundEngine.PostEvent(2930662992u, ((EntityState)this).gameObject); } if (((EntityState)this).isAuthority) { convar = Console.instance.FindConVar("volume_music"); if (convar != null) { oldMusic = convar.GetString(); convar.SetString("0"); } } } zoom = Config.eZoom.Value; if (Object.op_Implicit((Object)(object)((EntityState)this).cameraTargetParams) && zoom) { cameraParamsOverrideHandle = ((EntityState)this).cameraTargetParams.AddParamsOverride(new CameraParamsOverrideRequest { cameraParamsData = cameraParams.data, priority = 1f }, 1.5f); } } private void DetermineCancel() { //IL_00d2: Unknown result type (might be due to invalid IL or missing references) if (Object.op_Implicit((Object)(object)((EntityState)this).characterMotor) && !((EntityState)this).characterMotor.isGrounded) { cancel = true; } if (Object.op_Implicit((Object)(object)((EntityState)this).inputBank)) { if (((EntityState)this).inputBank.skill1.down) { cancel = true; } if (((EntityState)this).inputBank.skill2.down) { cancel = true; } if (((EntityState)this).inputBank.skill3.down) { cancel = true; } if (((EntityState)this).inputBank.skill4.down) { cancel = true; } if (((EntityState)this).inputBank.sprint.down) { cancel = true; } if (Input.GetKeyDown(Config.emote1Keybind.Value)) { cancel = true; } if (((EntityState)this).inputBank.jump.down) { cancel = true; jumped = true; } } } public override void FixedUpdate() { //IL_0080: Unknown result type (might be due to invalid IL or missing references) //IL_0085: Unknown result type (might be due to invalid IL or missing references) //IL_0101: 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_00ad: 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_00b3: Unknown result type (might be due to invalid IL or missing references) //IL_00be: Unknown result type (might be due to invalid IL or missing references) //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) stopwatch += Time.fixedDeltaTime; cancel = false; jumped = false; DetermineCancel(); ((EntityState)this).FixedUpdate(); if (cancel) { ((EntityState)this).outer.SetNextStateToMain(); return; } ((EntityState)this).characterBody.moveSpeed = 4.1275f; if (Object.op_Implicit((Object)(object)rootmotion) && !flag1) { Vector3 val = rootmotion.ExtractRootMotion(); if (((EntityState)this).isAuthority && Object.op_Implicit((Object)(object)((EntityState)this).characterMotor)) { CharacterMotor characterMotor = ((EntityState)this).characterMotor; characterMotor.rootMotion += val; ((EntityState)this).characterMotor.moveDirection = Vector3.zero; ((EntityState)this).characterDirection.moveVector = Vector3.zero; } } else if (flag1 && ((EntityState)this).isAuthority) { ((EntityState)this).characterMotor.moveDirection = ((EntityState)this).inputBank.moveVector; } if (((EntityState)this).isAuthority && stopwatch >= animDuration && !flag1) { flag1 = true; } } public override void OnExit() { //IL_008c: 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) ((EntityState)this).OnExit(); ((EntityState)this).characterBody.hideCrosshair = false; if (music) { if (convar != null) { convar.SetString(oldMusic); } if (sound != 0) { AkSoundEngine.StopPlayingID(sound); } } if (Object.op_Implicit((Object)(object)((EntityState)this).cameraTargetParams) && ((CameraParamsOverrideHandle)(ref cameraParamsOverrideHandle)).isValid && zoom) { cameraParamsOverrideHandle = ((EntityState)this).cameraTargetParams.RemoveParamsOverride(cameraParamsOverrideHandle, 0.5f); } ((EntityState)this).PlayAnimation("FullBody, Override", "BufferEmpty"); } 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)0; } } public class StrutNew : BaseSkillState { public float animDuration = 1.92f; public float cancelDuration; private RootMotionAccumulator rootmotion; protected bool cancel; protected float stopwatch; protected bool jumped; protected bool flag1; private uint sound = 0u; protected Animator animator; private CharacterAnimatorWalkParamCalculator animatorWalkParamCalculator; private CharacterCameraParams cameraParams; private CameraParamsOverrideHandle cameraParamsOverrideHandle; private bool music; private bool zoom; private string oldMusic; private BaseConVar convar; public Config.StrutMusic musicOption; public override void OnEnter() { //IL_0080: Unknown result type (might be due to invalid IL or missing references) //IL_0085: 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) //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_01ab: Unknown result type (might be due to invalid IL or missing references) //IL_01b9: Unknown result type (might be due to invalid IL or missing references) //IL_01be: Unknown result type (might be due to invalid IL or missing references) //IL_01cf: Unknown result type (might be due to invalid IL or missing references) //IL_01d6: Unknown result type (might be due to invalid IL or missing references) //IL_01db: Unknown result type (might be due to invalid IL or missing references) rootmotion = ((EntityState)this).GetModelRootMotionAccumulator(); flag1 = false; ((EntityState)this).characterBody.hideCrosshair = true; animator = ((EntityState)this).GetModelAnimator(); ((EntityState)this).PlayAnimation("FullBody, Override", "Dreadful", "Emote.playbackRate", animDuration, 0f); ((BaseState)this).OnEnter(); cameraParams = ScriptableObject.CreateInstance(); ((Object)cameraParams).name = "BreakFirst"; cameraParams.data.wallCushion = BlendableFloat.op_Implicit(0.1f); cameraParams.data.idealLocalCameraPos = BlendableVector3.op_Implicit(new Vector3(0f, -1.5f, -7f)); music = Config.musicOn.Value; bool value = Config.musicClient.Value; if (music) { if (value && ((EntityState)this).isAuthority) { PlayTauntSound(); } else if (!value) { PlayTauntSound(); } if (((EntityState)this).isAuthority) { convar = Console.instance.FindConVar("volume_music"); if (convar != null) { oldMusic = convar.GetString(); if (oldMusic != "0") { convar.SetString("0"); } } } } zoom = Config.eZoom.Value; if (Object.op_Implicit((Object)(object)((EntityState)this).cameraTargetParams) && zoom) { cameraParamsOverrideHandle = ((EntityState)this).cameraTargetParams.AddParamsOverride(new CameraParamsOverrideRequest { cameraParamsData = cameraParams.data, priority = 1f }, 1.5f); } } private void DetermineCancel() { //IL_00d2: Unknown result type (might be due to invalid IL or missing references) if (Object.op_Implicit((Object)(object)((EntityState)this).characterMotor) && !((EntityState)this).characterMotor.isGrounded) { cancel = true; } if (Object.op_Implicit((Object)(object)((EntityState)this).inputBank)) { if (((EntityState)this).inputBank.skill1.down) { cancel = true; } if (((EntityState)this).inputBank.skill2.down) { cancel = true; } if (((EntityState)this).inputBank.skill3.down) { cancel = true; } if (((EntityState)this).inputBank.skill4.down) { cancel = true; } if (((EntityState)this).inputBank.sprint.down) { cancel = true; } if (Input.GetKeyDown(Config.emote1Keybind.Value)) { cancel = true; } if (((EntityState)this).inputBank.jump.down) { cancel = true; jumped = true; } } } public override void FixedUpdate() { //IL_009e: 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_011b: 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_00c8: Unknown result type (might be due to invalid IL or missing references) //IL_00cd: Unknown result type (might be due to invalid IL or missing references) //IL_00ce: Unknown result type (might be due to invalid IL or missing references) //IL_00d3: 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_00ef: Unknown result type (might be due to invalid IL or missing references) //IL_00f4: Unknown result type (might be due to invalid IL or missing references) //IL_0154: Unknown result type (might be due to invalid IL or missing references) //IL_016b: Unknown result type (might be due to invalid IL or missing references) //IL_0170: Unknown result type (might be due to invalid IL or missing references) //IL_013d: Unknown result type (might be due to invalid IL or missing references) //IL_0142: Unknown result type (might be due to invalid IL or missing references) stopwatch += Time.fixedDeltaTime; cancel = false; jumped = false; DetermineCancel(); ((EntityState)this).FixedUpdate(); if (jumped) { ((ButtonState)(ref ((EntityState)this).inputBank.jump)).PushState(false); } if (cancel) { ((EntityState)this).outer.SetNextStateToMain(); return; } ((EntityState)this).characterBody.moveSpeed = 3.25f; if (Object.op_Implicit((Object)(object)rootmotion) && !flag1) { Vector3 val = rootmotion.ExtractRootMotion(); if (((EntityState)this).isAuthority && Object.op_Implicit((Object)(object)((EntityState)this).characterMotor)) { CharacterMotor characterMotor = ((EntityState)this).characterMotor; characterMotor.rootMotion += val; ((EntityState)this).characterMotor.moveDirection = Vector3.zero; ((EntityState)this).characterDirection.moveVector = Vector3.zero; } } else if (flag1 && ((EntityState)this).isAuthority) { if (((EntityState)this).inputBank.moveVector == Vector3.zero) { ((EntityState)this).inputBank.moveVector = ((EntityState)this).characterDirection.forward; } ((EntityState)this).characterMotor.moveDirection = ((EntityState)this).inputBank.moveVector; ((EntityState)this).characterDirection.moveVector = ((EntityState)this).characterMotor.moveDirection; } if (stopwatch >= animDuration && !flag1) { flag1 = true; animator.SetFloat(AnimationParameters.walkSpeed, 4.1275f); ((EntityState)this).PlayCrossfade("Body", "Walk", 0.5f); } } private void PlayTauntSound() { musicOption = Config.strutMus.Value; switch (musicOption) { case Config.StrutMusic.Walking: sound = AkSoundEngine.PostEvent(340271938u, ((EntityState)this).gameObject); break; case Config.StrutMusic.Crazy: sound = AkSoundEngine.PostEvent(2930662992u, ((EntityState)this).gameObject); break; case Config.StrutMusic.Random: sound = AkSoundEngine.PostEvent(1363286269u, ((EntityState)this).gameObject); break; } } public override void OnExit() { //IL_00a2: 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) //IL_00b1: Unknown result type (might be due to invalid IL or missing references) ((EntityState)this).OnExit(); ((EntityState)this).characterBody.hideCrosshair = false; if (music) { if (convar != null && oldMusic != "0") { convar.SetString(oldMusic); } if (sound != 0) { AkSoundEngine.StopPlayingID(sound); } } if (Object.op_Implicit((Object)(object)((EntityState)this).cameraTargetParams) && ((CameraParamsOverrideHandle)(ref cameraParamsOverrideHandle)).isValid && zoom) { cameraParamsOverrideHandle = ((EntityState)this).cameraTargetParams.RemoveParamsOverride(cameraParamsOverrideHandle, 0.5f); } ((EntityState)this).PlayAnimation("FullBody, Override", "BufferEmpty"); } 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)0; } } } namespace BayoMod.Characters.Survivors.Bayo.Components { public class ABKRotator : MonoBehaviour { public Vector3 lookDir; private Quaternion origRotation; public bool rotate = false; private bool rotatedVFX = false; public bool rVFX = false; private Transform boneTrans; private Transform vfxTrans; private void Start() { ModelLocator component = ((Component)this).gameObject.GetComponent(); ChildLocator component2 = ((Component)component.modelTransform).GetComponent(); if (Object.op_Implicit((Object)(object)component2)) { int num = component2.FindChildIndex("BoneR"); boneTrans = component2.FindChild(num); num = component2.FindChildIndex("ABKC"); vfxTrans = component2.FindChild(num); } } private void LateUpdate() { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_002b: 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_0046: Unknown result type (might be due to invalid IL or missing references) //IL_004b: Unknown result type (might be due to invalid IL or missing references) //IL_007a: Unknown result type (might be due to invalid IL or missing references) //IL_007f: Unknown result type (might be due to invalid IL or missing references) //IL_008b: Unknown result type (might be due to invalid IL or missing references) //IL_00a1: Unknown result type (might be due to invalid IL or missing references) //IL_00a6: 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_00ef: Unknown result type (might be due to invalid IL or missing references) if (lookDir != Vector3.zero && rotate) { Transform obj = boneTrans; obj.rotation *= Quaternion.AngleAxis(lookDir.y * 90f, Vector3.forward); if (!rotatedVFX && rVFX) { rotatedVFX = true; origRotation = vfxTrans.rotation; Transform obj2 = vfxTrans; obj2.rotation *= Quaternion.AngleAxis(lookDir.y * -90f, Vector3.right); } } if ((!rotate && rotatedVFX) || (!rVFX && rotatedVFX)) { rotatedVFX = false; vfxTrans.rotation = origRotation; } } } public class BayoAnimationEvents : MonoBehaviour { private GameObject bodyObject; private CharacterModel characterModel; private CameraController camController; private void Start() { characterModel = ((Component)this).GetComponent(); if (Object.op_Implicit((Object)(object)characterModel) && Object.op_Implicit((Object)(object)characterModel.body)) { bodyObject = ((Component)characterModel.body).gameObject; } camController = bodyObject.gameObject.GetComponent(); } public void PlayFastWoosh() { Util.PlaySound("wooshf", bodyObject); } public void PlaySlowWoosh() { Util.PlaySound("wooshs", bodyObject); } public void PlayDoubleWoosh() { Util.PlaySound("wooshd", bodyObject); } public void ZoomInFOV() { } public void ZoomOutFOV() { } } public class KissCountdown : MonoBehaviour { public float waitTime = 2.5f; private float stopwatch; private CharacterMaster cm; private string oldMusic; private BaseConVar convar; private void Start() { stopwatch = 0f; cm = ((Component)this).GetComponent(); if (!((NetworkBehaviour)cm).hasAuthority) { return; } convar = Console.instance.FindConVar("volume_music"); if (convar != null) { oldMusic = convar.GetString(); if (oldMusic != "0") { convar.SetString("0"); } } } private void OnDestroy() { if (convar != null && oldMusic != "0") { convar.SetString(oldMusic); } } private void Update() { if (!((Object)(object)cm != (Object)null) || cm.money != 0) { return; } stopwatch += Time.deltaTime; if (!(stopwatch >= waitTime)) { return; } GameObject bodyObject = cm.GetBodyObject(); if ((Object)(object)bodyObject != (Object)null) { HealthComponent component = bodyObject.GetComponent(); EntityStateMachine[] components = bodyObject.GetComponents(); if (Object.op_Implicit((Object)(object)components[0])) { EntityStateMachine[] array = components; foreach (EntityStateMachine val in array) { if (Object.op_Implicit((Object)(object)component) && val.customName == "Body" && component.health > 0f) { val.SetNextState((EntityState)(object)new Kiss()); } } } } Object.Destroy((Object)(object)this); } } public class UIController : MonoBehaviour { private GameObject RoRHUDObject; private CharacterBody body; public void Start() { //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_001e: Expected O, but got Unknown body = ((Component)this).GetComponent(); HUD.Update += new hook_Update(HUD_Update); uint skinIndex = body.skinIndex; uint num = skinIndex; if (num == 1) { body.portraitIcon = (Texture)(object)BayoAssets.bayo2icon.texture; } else { body.portraitIcon = (Texture)(object)BayoAssets.bayo1icon.texture; } } public void OnDestroy() { Unhook(); } public void SetRORUIActiveState(bool state) { if (Object.op_Implicit((Object)(object)RoRHUDObject)) { RoRHUDObject.SetActive(state); } } private void HUD_Update(orig_Update orig, HUD self) { orig.Invoke(self); if (!Object.op_Implicit((Object)(object)RoRHUDObject)) { RoRHUDObject = ((Component)self).gameObject; } } public void Unhook() { //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Expected O, but got Unknown HUD.Update -= new hook_Update(HUD_Update); } } } namespace BayoMod.Characters.Survivors.Bayo.Components.Demon { public class CameraController : MonoBehaviour { public CharacterBody body; public CharacterDirection direction; public Transform camTrans; public Transform trackTrans; public Transform demonCamTrans; public Transform demonTrackTrans; private CameraTargetParams camParams; private CameraRigController cameraRig; private UIController ui; private bool baseAIPresent = false; public GameObject camObject; public Transform previousParent; public CameraParamsOverrideHandle handle; public float smoothDampTime = 0.2f; public float maxSmoothDampSpeed = 50f; public float fov = 50f; public Vector3 smoothDampVelocity; public bool shouldRotateCamera; public float stopwatch; public Quaternion startRotation; public static float lerpTime; public float demonStopwatch; public float demonTime = 0f; private bool inDemonCam = false; private bool inCam = false; public bool useCamObj = false; public bool useFeetAnim = false; public GameObject camParentObj; public bool activatePan = false; private bool inDebug = false; public Quaternion baseRotation; public Vector3 debugPosition = Vector3.zero; public float panAmount = 60f; public float panDuration = 1f; public bool up = false; public bool down = false; public bool left = false; public bool right = false; private float debugStopwatch = 0f; public void Awake() { } public void Start() { //IL_0156: 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) body = ((Component)this).gameObject.GetComponent(); direction = ((Component)this).gameObject.GetComponent(); camParams = ((Component)this).GetComponent(); cameraRig = body.master.playerCharacterMasterController.networkUser.cameraRigController; ModelLocator component = ((Component)this).gameObject.GetComponent(); ChildLocator component2 = ((Component)component.modelTransform).GetComponent(); if (Object.op_Implicit((Object)(object)component2) && !useCamObj) { int num = component2.FindChildIndex("cambone"); Transform val = component2.FindChild(num); camTrans = val; num = component2.FindChildIndex("trackbone"); val = component2.FindChild(num); trackTrans = val; } CharacterMaster master = body.master; BaseAI component3 = ((Component)master).GetComponent(); baseAIPresent = Object.op_Implicit((Object)(object)component3); if (!Object.op_Implicit((Object)(object)master)) { baseAIPresent = true; } try { camObject = ((Component)Camera.main).gameObject; previousParent = camObject.transform.parent; } catch (NullReferenceException arg) { Debug.Log((object)$"Should be alright: {arg}"); } if (Object.op_Implicit((Object)(object)camObject)) { baseRotation = camObject.transform.rotation; } } public void SetCam() { //IL_0247: Unknown result type (might be due to invalid IL or missing references) //IL_024c: Unknown result type (might be due to invalid IL or missing references) //IL_0255: Unknown result type (might be due to invalid IL or missing references) //IL_025a: Unknown result type (might be due to invalid IL or missing references) //IL_0261: Unknown result type (might be due to invalid IL or missing references) //IL_0269: Unknown result type (might be due to invalid IL or missing references) //IL_026a: Unknown result type (might be due to invalid IL or missing references) //IL_027b: Unknown result type (might be due to invalid IL or missing references) //IL_027d: Unknown result type (might be due to invalid IL or missing references) //IL_0285: Unknown result type (might be due to invalid IL or missing references) //IL_028b: Unknown result type (might be due to invalid IL or missing references) //IL_0290: Unknown result type (might be due to invalid IL or missing references) //IL_0223: 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_013f: Unknown result type (might be due to invalid IL or missing references) //IL_0157: 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) //IL_00a5: Unknown result type (might be due to invalid IL or missing references) //IL_00aa: Unknown result type (might be due to invalid IL or missing references) //IL_00ce: Unknown result type (might be due to invalid IL or missing references) //IL_00d5: Unknown result type (might be due to invalid IL or missing references) if (baseAIPresent) { return; } smoothDampTime = 0.001f; maxSmoothDampSpeed = 9999999f; if (useCamObj) { ModelLocator component = ((Component)this).gameObject.GetComponent(); ChildLocator component2 = ((Component)component.modelTransform).GetComponent(); if (Object.op_Implicit((Object)(object)component2)) { Transform val = component2.FindChild("rootTransform") ?? body.coreTransform; if (Object.op_Implicit((Object)(object)val)) { if (useFeetAnim) { Transform val2 = val; Vector3 position = val.position; position.y -= 3f; val2.position_Injected = ref position; camParentObj = Object.Instantiate(BayoAssets.camObj, val2.position, val2.rotation); camTrans = ((Component)camParentObj.transform.Find("camParent")).gameObject.transform; PlayAnim(((Component)camParentObj.transform.Find("camParent")).gameObject.GetComponent(), "feetpan"); } else { Vector3 position2 = val.position; position2.y += 8f; camParentObj = Object.Instantiate(BayoAssets.camObj, position2, val.rotation); camTrans = ((Component)camParentObj.transform.Find("camParent")).gameObject.transform; } } } } else { ModelLocator component3 = ((Component)this).gameObject.GetComponent(); ChildLocator component4 = ((Component)component3.modelTransform).GetComponent(); if (Object.op_Implicit((Object)(object)component4)) { int num = component4.FindChildIndex("cambone"); Transform val3 = component4.FindChild(num); camTrans = val3; } } if ((Object)(object)camTrans != (Object)null) { camObject.transform.SetParent(camTrans, true); } if (useCamObj) { camObject.transform.localRotation = Quaternion.identity; } shouldRotateCamera = false; inCam = true; CharacterCameraParamsData currentCameraParamsData = camParams.currentCameraParamsData; currentCameraParamsData.fov = BlendableFloat.op_Implicit(fov); CameraParamsOverrideRequest val4 = default(CameraParamsOverrideRequest); val4.cameraParamsData = currentCameraParamsData; val4.priority = 0f; CameraParamsOverrideRequest val5 = val4; handle = camParams.AddParamsOverride(val5, 0.05f); } public void UnsetCam() { //IL_0041: Unknown result type (might be due to invalid IL or missing references) //IL_0046: Unknown result type (might be due to invalid IL or missing references) //IL_006a: Unknown result type (might be due to invalid IL or missing references) //IL_0074: Unknown result type (might be due to invalid IL or missing references) //IL_0092: Unknown result type (might be due to invalid IL or missing references) //IL_0098: Invalid comparison between Unknown and I4 if (baseAIPresent) { return; } smoothDampTime = 0.5f; maxSmoothDampSpeed = 80f; shouldRotateCamera = true; inCam = false; startRotation = camObject.transform.localRotation; camObject.transform.SetParent(previousParent, true); camParams.RemoveParamsOverride(handle, 1f); foreach (CharacterModel instances in InstanceTracker.GetInstancesList()) { if ((int)instances.visibility > 0) { for (int i = 0; i < instances.baseRendererInfos.Length; i++) { instances.baseRendererInfos[i].renderer.enabled = true; } } } if (Object.op_Implicit((Object)(object)camParentObj)) { Object.Destroy((Object)(object)camParentObj); } } public void DemonHandoff() { if (!baseAIPresent) { camObject.transform.SetParent(demonCamTrans, true); inDemonCam = true; } } public void Update() { //IL_0080: Unknown result type (might be due to invalid IL or missing references) //IL_0085: Unknown result type (might be due to invalid IL or missing references) //IL_00a1: Unknown result type (might be due to invalid IL or missing references) //IL_00de: Unknown result type (might be due to invalid IL or missing references) //IL_0262: Unknown result type (might be due to invalid IL or missing references) //IL_0111: Unknown result type (might be due to invalid IL or missing references) //IL_012a: Unknown result type (might be due to invalid IL or missing references) //IL_0130: Invalid comparison between Unknown and I4 //IL_0299: Unknown result type (might be due to invalid IL or missing references) //IL_029e: Unknown result type (might be due to invalid IL or missing references) //IL_02af: Unknown result type (might be due to invalid IL or missing references) //IL_0361: Unknown result type (might be due to invalid IL or missing references) //IL_036d: Unknown result type (might be due to invalid IL or missing references) //IL_0372: Unknown result type (might be due to invalid IL or missing references) //IL_0390: Unknown result type (might be due to invalid IL or missing references) //IL_0397: Unknown result type (might be due to invalid IL or missing references) //IL_039c: Unknown result type (might be due to invalid IL or missing references) //IL_03a1: Unknown result type (might be due to invalid IL or missing references) //IL_03a6: Unknown result type (might be due to invalid IL or missing references) //IL_03a9: Unknown result type (might be due to invalid IL or missing references) //IL_03b0: Unknown result type (might be due to invalid IL or missing references) //IL_03b5: Unknown result type (might be due to invalid IL or missing references) //IL_03ba: Unknown result type (might be due to invalid IL or missing references) //IL_03bf: Unknown result type (might be due to invalid IL or missing references) //IL_03c1: Unknown result type (might be due to invalid IL or missing references) //IL_03c3: Unknown result type (might be due to invalid IL or missing references) //IL_03d2: Unknown result type (might be due to invalid IL or missing references) //IL_03d7: Unknown result type (might be due to invalid IL or missing references) //IL_03f6: Unknown result type (might be due to invalid IL or missing references) //IL_03fd: Unknown result type (might be due to invalid IL or missing references) //IL_0402: Unknown result type (might be due to invalid IL or missing references) //IL_0407: Unknown result type (might be due to invalid IL or missing references) //IL_040c: Unknown result type (might be due to invalid IL or missing references) //IL_040f: Unknown result type (might be due to invalid IL or missing references) //IL_0416: Unknown result type (might be due to invalid IL or missing references) //IL_041b: Unknown result type (might be due to invalid IL or missing references) //IL_0420: Unknown result type (might be due to invalid IL or missing references) //IL_0425: Unknown result type (might be due to invalid IL or missing references) //IL_0427: Unknown result type (might be due to invalid IL or missing references) //IL_0429: Unknown result type (might be due to invalid IL or missing references) //IL_0438: Unknown result type (might be due to invalid IL or missing references) //IL_043d: Unknown result type (might be due to invalid IL or missing references) //IL_045c: Unknown result type (might be due to invalid IL or missing references) //IL_0463: Unknown result type (might be due to invalid IL or missing references) //IL_0468: Unknown result type (might be due to invalid IL or missing references) //IL_046d: Unknown result type (might be due to invalid IL or missing references) //IL_0472: Unknown result type (might be due to invalid IL or missing references) //IL_0475: Unknown result type (might be due to invalid IL or missing references) //IL_047c: Unknown result type (might be due to invalid IL or missing references) //IL_0481: Unknown result type (might be due to invalid IL or missing references) //IL_0486: Unknown result type (might be due to invalid IL or missing references) //IL_048b: Unknown result type (might be due to invalid IL or missing references) //IL_048d: Unknown result type (might be due to invalid IL or missing references) //IL_048f: Unknown result type (might be due to invalid IL or missing references) //IL_049e: Unknown result type (might be due to invalid IL or missing references) //IL_04a3: Unknown result type (might be due to invalid IL or missing references) //IL_0517: Unknown result type (might be due to invalid IL or missing references) //IL_04c2: Unknown result type (might be due to invalid IL or missing references) //IL_04c9: Unknown result type (might be due to invalid IL or missing references) //IL_04ce: Unknown result type (might be due to invalid IL or missing references) //IL_04d3: Unknown result type (might be due to invalid IL or missing references) //IL_04d8: Unknown result type (might be due to invalid IL or missing references) //IL_04db: Unknown result type (might be due to invalid IL or missing references) //IL_04e2: Unknown result type (might be due to invalid IL or missing references) //IL_04e7: Unknown result type (might be due to invalid IL or missing references) //IL_04ec: Unknown result type (might be due to invalid IL or missing references) //IL_04f1: Unknown result type (might be due to invalid IL or missing references) //IL_04f3: Unknown result type (might be due to invalid IL or missing references) //IL_04f5: Unknown result type (might be due to invalid IL or missing references) //IL_0504: Unknown result type (might be due to invalid IL or missing references) //IL_0509: Unknown result type (might be due to invalid IL or missing references) if (!Object.op_Implicit((Object)(object)camObject)) { camObject = ((Component)Camera.main).gameObject; previousParent = camObject.transform.parent; cameraRig = camObject.GetComponent(); } if (Object.op_Implicit((Object)(object)camObject) && !inDebug) { camObject.transform.localPosition = Vector3.SmoothDamp(camObject.transform.localPosition, Vector3.zero, ref smoothDampVelocity, smoothDampTime, maxSmoothDampSpeed, Time.deltaTime); } if (inDemonCam) { demonStopwatch += Time.deltaTime; camObject.transform.LookAt(demonTrackTrans.position); foreach (CharacterModel instances in InstanceTracker.GetInstancesList()) { float nearestHurtBoxDistance = instances.GetNearestHurtBoxDistance(camObject.transform.position); bool flag = nearestHurtBoxDistance < 5f; if ((int)instances.visibility <= 0) { continue; } if (flag) { for (int i = 0; i < instances.baseRendererInfos.Length; i++) { instances.baseRendererInfos[i].renderer.enabled = false; } } else { for (int j = 0; j < instances.baseRendererInfos.Length; j++) { instances.baseRendererInfos[j].renderer.enabled = true; } } } if (demonStopwatch >= demonTime) { demonStopwatch = 0f; demonTime = 0f; inDemonCam = false; inCam = false; UnsetCam(); } } else if (inCam && !useCamObj && !inDebug && Object.op_Implicit((Object)(object)trackTrans)) { camObject.transform.LookAt(trackTrans.position); } if (shouldRotateCamera) { stopwatch += Time.deltaTime; camObject.transform.localRotation = Quaternion.Slerp(startRotation, Quaternion.identity, stopwatch / lerpTime); if (stopwatch >= lerpTime) { stopwatch = 0f; shouldRotateCamera = false; } } if (activatePan && !inDebug) { inDebug = true; SetCam(); } if (inDebug) { debugStopwatch += Time.deltaTime; if (debugStopwatch >= panDuration) { debugStopwatch = 0f; } camObject.transform.localPosition = debugPosition; Quaternion localRotation = baseRotation; if (up) { float num = panAmount / 2f; Quaternion val = baseRotation * Quaternion.AngleAxis(num, Vector3.right); Quaternion val2 = baseRotation * Quaternion.AngleAxis(num, Vector3.left); localRotation = Quaternion.Slerp(val, val2, debugStopwatch / panDuration); } if (down) { float num2 = panAmount / 2f; Quaternion val3 = baseRotation * Quaternion.AngleAxis(num2, Vector3.left); Quaternion val4 = baseRotation * Quaternion.AngleAxis(num2, Vector3.right); localRotation = Quaternion.Slerp(val3, val4, debugStopwatch / panDuration); } if (left) { float num3 = panAmount / 2f; Quaternion val5 = baseRotation * Quaternion.AngleAxis(num3, Vector3.up); Quaternion val6 = baseRotation * Quaternion.AngleAxis(num3, Vector3.down); localRotation = Quaternion.Slerp(val5, val6, debugStopwatch / panDuration); } if (right) { float num4 = panAmount / 2f; Quaternion val7 = baseRotation * Quaternion.AngleAxis(num4, Vector3.down); Quaternion val8 = baseRotation * Quaternion.AngleAxis(num4, Vector3.up); localRotation = Quaternion.Slerp(val7, val8, debugStopwatch / panDuration); } camObject.transform.localRotation = localRotation; } if (!activatePan && inDebug) { inDebug = false; UnsetCam(); } } public void ZoomIn() { //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Unknown result type (might be due to invalid IL or missing references) //IL_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_0030: Unknown result type (might be due to invalid IL or missing references) //IL_0035: Unknown result type (might be due to invalid IL or missing references) //IL_003c: 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_0045: 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_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_0065: 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) camParams.RemoveParamsOverride(handle, 0.001f); CharacterCameraParamsData currentCameraParamsData = camParams.currentCameraParamsData; currentCameraParamsData.fov = BlendableFloat.op_Implicit(5f); CameraParamsOverrideRequest val = default(CameraParamsOverrideRequest); val.cameraParamsData = currentCameraParamsData; val.priority = 0f; CameraParamsOverrideRequest val2 = val; handle = camParams.AddParamsOverride(val2, 0.001f); } public void ZoomOut() { //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Unknown result type (might be due to invalid IL or missing references) //IL_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_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_003d: Unknown result type (might be due to invalid IL or missing references) //IL_0045: Unknown result type (might be due to invalid IL or missing references) //IL_0046: Unknown result type (might be due to invalid IL or missing references) //IL_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_0060: Unknown result type (might be due to invalid IL or missing references) //IL_0066: Unknown result type (might be due to invalid IL or missing references) //IL_006b: Unknown result type (might be due to invalid IL or missing references) camParams.RemoveParamsOverride(handle, 0.001f); CharacterCameraParamsData currentCameraParamsData = camParams.currentCameraParamsData; currentCameraParamsData.fov = BlendableFloat.op_Implicit(fov); CameraParamsOverrideRequest val = default(CameraParamsOverrideRequest); val.cameraParamsData = currentCameraParamsData; val.priority = 0f; CameraParamsOverrideRequest val2 = val; handle = camParams.AddParamsOverride(val2, 0.001f); } private void LateUpdate() { //IL_00ac: Unknown result type (might be due to invalid IL or missing references) //IL_00b1: Unknown result type (might be due to invalid IL or missing references) //IL_00bd: Unknown result type (might be due to invalid IL or missing references) //IL_00c2: Unknown result type (might be due to invalid IL or missing references) //IL_00c7: Unknown result type (might be due to invalid IL or missing references) //IL_00c9: Unknown result type (might be due to invalid IL or missing references) //IL_00cc: Unknown result type (might be due to invalid IL or missing references) //IL_00d1: 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_00d4: Unknown result type (might be due to invalid IL or missing references) //IL_00d6: Unknown result type (might be due to invalid IL or missing references) //IL_00db: Unknown result type (might be due to invalid IL or missing references) //IL_00dd: Unknown result type (might be due to invalid IL or missing references) //IL_00df: Unknown result type (might be due to invalid IL or missing references) //IL_01bd: 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_00ec: 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_00fa: Unknown result type (might be due to invalid IL or missing references) //IL_010a: Unknown result type (might be due to invalid IL or missing references) //IL_0159: Unknown result type (might be due to invalid IL or missing references) //IL_0166: Unknown result type (might be due to invalid IL or missing references) //IL_0124: Unknown result type (might be due to invalid IL or missing references) //IL_0127: Unknown result type (might be due to invalid IL or missing references) //IL_0133: Unknown result type (might be due to invalid IL or missing references) //IL_0138: Unknown result type (might be due to invalid IL or missing references) //IL_013d: Unknown result type (might be due to invalid IL or missing references) //IL_013f: Unknown result type (might be due to invalid IL or missing references) //IL_0146: Unknown result type (might be due to invalid IL or missing references) //IL_014b: Unknown result type (might be due to invalid IL or missing references) if (!Object.op_Implicit((Object)(object)camObject)) { camObject = ((Component)Camera.main).gameObject; previousParent = camObject.transform.parent; cameraRig = camObject.GetComponent(); } if (Object.op_Implicit((Object)(object)camObject) && inCam && Object.op_Implicit((Object)(object)cameraRig)) { float num = ((cameraRig.localUserViewer == null) ? 1f : cameraRig.localUserViewer.userProfile.screenShakeScale); Vector3 position = camObject.transform.position; Vector3 val = ShakeEmitter.ComputeTotalShakeAtPoint(camObject.transform.position); Vector3 val2 = val * num; Vector3 val3 = position + val2; if (val2 != Vector3.zero) { Vector3 val4 = val2; RaycastHit val5 = default(RaycastHit); if (Physics.SphereCast(position, Camera.main.nearClipPlane, val4, ref val5, ((Vector3)(ref val2)).magnitude, LayerMask.op_Implicit(((LayerIndex)(ref LayerIndex.world)).mask), (QueryTriggerInteraction)1)) { val3 = position + ((Vector3)(ref val2)).normalized * ((RaycastHit)(ref val5)).distance; val3 *= 0.5f; } } camObject.transform.SetPositionAndRotation(val3, camObject.transform.rotation); } if (inCam && !useCamObj && !inDebug && Object.op_Implicit((Object)(object)trackTrans) && Object.op_Implicit((Object)(object)camObject)) { camObject.transform.LookAt(trackTrans.position); } } private void PlayAnim(Animator animator, string animName) { animator.speed = 1f; animator.Update(0f); int layerIndex = animator.GetLayerIndex("Base Layer"); if (layerIndex >= 0) { animator.PlayInFixedTime(animName, layerIndex, 0f); } } } public class DemonController : MonoBehaviour { private float stopwatch; public float loopStart = 6.56f; public float loopDur = 3.5f; public float endDur = 7.92f; public float initalD = 4f; public string oldMusic = "0"; public CharacterBody enemyBody; private bool looping; private bool finishing; private DamageInfo damageInfo; private float biteDam; private Animator animator; private DemonVisualController dvc; private bool releaseLater = false; private uint sound; private GameObject hitEffect = GroundPound.hitEffectPrefab; private GameObject mouth1; private GameObject mouth2; private ShakeEmitter biteShake; private void Start() { animator = ((Component)this).GetComponent(); dvc = ((Component)this).GetComponent(); PlayAnim("Spawn", 0f); ChildLocator component = ((Component)this).gameObject.GetComponent(); if (Object.op_Implicit((Object)(object)component)) { int num = component.FindChildIndex("mouth"); Transform val = component.FindChild(num); mouth1 = ((Component)val).gameObject; num = component.FindChildIndex("mout2"); val = component.FindChild(num); mouth2 = ((Component)val).gameObject; biteShake = mouth2.GetComponent(); } Util.PlaySound("gomsum", mouth1); if (Object.op_Implicit((Object)(object)enemyBody)) { if (Object.op_Implicit((Object)(object)enemyBody.healthComponent)) { biteDam = enemyBody.healthComponent.combinedHealth / 20f; } if (((Object)enemyBody).name.Contains("Titan")) { releaseLater = true; } } } private void PlayAnim(string animName, float trans) { animator.speed = 1f; animator.Update(0f); int layerIndex = animator.GetLayerIndex("Base"); if (layerIndex >= 0) { if (trans > 0f) { animator.CrossFadeInFixedTime(animName, trans, layerIndex); } else { animator.PlayInFixedTime(animName, layerIndex, 0f); } } } private void PlayAnim(string animName, string param, float trans) { animator.speed = 1f; animator.Update(0f); int layerIndex = animator.GetLayerIndex("Base"); if (layerIndex >= 0) { if (!string.IsNullOrEmpty(param)) { animator.SetFloat(param, 1f); } if (trans > 0f) { animator.CrossFadeInFixedTime(animName, trans, layerIndex); } else { animator.PlayInFixedTime(animName, layerIndex, 0f); } } } public void GrabEnemey() { Debug.Log((object)"SNATCH!!!!"); GrabStun grabStun = ((Component)enemyBody).gameObject.AddComponent(); if (Object.op_Implicit((Object)(object)enemyBody) && ((Object)enemyBody).name.Contains("BeetleQueen")) { grabStun.pivot = mouth2.transform; } else { grabStun.pivot = mouth1.transform; } sound = AkSoundEngine.PostEvent(2187064797u, mouth1); if (Object.op_Implicit((Object)(object)enemyBody)) { TakeBite(); } } public void OnBite() { Debug.Log((object)"CHOMP!!!!"); if (Object.op_Implicit((Object)(object)enemyBody)) { TakeBite(); } } public void FinishingBlow() { Debug.Log((object)"DIE!!!!"); if (Object.op_Implicit((Object)(object)enemyBody) && !releaseLater) { ((Component)enemyBody).GetComponent().Release(); } AkSoundEngine.StopPlayingID(sound); if (Object.op_Implicit((Object)(object)enemyBody)) { KillBoss(); } } public void ReleasePrey() { if (releaseLater && Object.op_Implicit((Object)(object)enemyBody)) { ((Component)enemyBody).GetComponent().Release(); } } private void Update() { stopwatch += Time.deltaTime; if (stopwatch >= loopStart && stopwatch <= loopStart + loopDur) { float num = Mathf.Lerp(1f, 2f, (stopwatch - loopStart) / loopDur); animator.SetFloat("BiteSpeed", num); } if (stopwatch > loopStart + loopDur && !finishing) { finishing = true; animator.SetBool("loopDone", true); dvc.reverse = true; dvc.initialDelay = initalD; } } private void TakeBite() { //IL_002b: Unknown result type (might be due to invalid IL or missing references) //IL_0035: Expected O, but got Unknown //IL_003c: 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_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) Util.PlaySound("bite", mouth1); EffectManager.SimpleMuzzleFlash(hitEffect, ((Component)this).gameObject, "mouth3", false); damageInfo = new DamageInfo(); damageInfo.damageType = DamageTypeCombo.op_Implicit((DamageType)2); damageInfo.damage = biteDam; damageInfo.position = enemyBody.transform.position; enemyBody.healthComponent.TakeDamage(damageInfo); } private void KillBoss() { //IL_0045: Unknown result type (might be due to invalid IL or missing references) //IL_004f: Expected O, but got Unknown //IL_0056: 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_0092: Unknown result type (might be due to invalid IL or missing references) //IL_0097: Unknown result type (might be due to invalid IL or missing references) Util.PlaySound("gomend", mouth1); EffectManager.SimpleMuzzleFlash(hitEffect, ((Component)this).gameObject, "mouth3", false); ((Behaviour)biteShake).enabled = false; ((Behaviour)biteShake).enabled = true; damageInfo = new DamageInfo(); damageInfo.damageType = DamageTypeCombo.op_Implicit((DamageType)2); damageInfo.damage = enemyBody.healthComponent.fullCombinedHealth * 2f; damageInfo.position = enemyBody.transform.position; enemyBody.healthComponent.TakeDamage(damageInfo); } } public class DemonVisualController : MonoBehaviour { public bool reverse = false; private bool reversed = false; private Material mat0; private Material mat1; private Material mat2; private Material mat3; private Material mat4; private Material demonMat; private Color noAlpha; public float initialDelay = 0.24f; public float doneTime = 3f; public float meshDur = 1f; private float stopwatch = 0f; private float myTime = 0f; private float interval = 0f; private void Start() { //IL_00e6: 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_010c: Unknown result type (might be due to invalid IL or missing references) //IL_0123: 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_0151: Unknown result type (might be due to invalid IL or missing references) //IL_0168: Unknown result type (might be due to invalid IL or missing references) //IL_017f: Unknown result type (might be due to invalid IL or missing references) mat0 = ((Renderer)((Component)((Component)this).transform.Find("hair0")).gameObject.GetComponent()).material; mat1 = ((Renderer)((Component)((Component)this).transform.Find("hair1")).gameObject.GetComponent()).material; mat2 = ((Renderer)((Component)((Component)this).transform.Find("hair2")).gameObject.GetComponent()).material; mat3 = ((Renderer)((Component)((Component)this).transform.Find("hair3")).gameObject.GetComponent()).material; mat4 = ((Renderer)((Component)((Component)this).transform.Find("hair4")).gameObject.GetComponent()).material; demonMat = ((Renderer)((Component)((Component)this).transform.Find("head")).gameObject.GetComponent()).material; noAlpha = mat0.color; noAlpha.a = 0f; mat0.SetColor("_Color", noAlpha); mat1.SetColor("_Color", noAlpha); mat2.SetColor("_Color", noAlpha); mat3.SetColor("_Color", noAlpha); mat4.SetColor("_Color", noAlpha); demonMat.SetColor("_Color", noAlpha); stopwatch = 0f; interval = (doneTime - meshDur - initialDelay) / 5f; } private void FadeInMesh(Material mat, float startTime, float finishTime) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_007d: 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) Color color = mat.color; color.a = 1f; if (stopwatch >= startTime) { mat.SetColor("_Color", color); } float num = Mathf.Lerp(1f, 0.5f, (stopwatch - startTime) / (finishTime - startTime)); mat.SetFloat("_Cutoff", num); float num2 = Mathf.Lerp(-0.5f, 0f, (stopwatch - startTime) / (finishTime - startTime)); mat.mainTextureOffset = new Vector2(0f, num2); } private void FadeInDemonMesh(Material mat, float startTime, float finishTime) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_007c: Unknown result type (might be due to invalid IL or missing references) //IL_002b: Unknown result type (might be due to invalid IL or missing references) Color color = mat.color; if (stopwatch <= startTime) { color.a = 0f; mat.SetColor("_Color", color); } else { color.a = 1f; color.b = (color.g = (color.r = Mathf.Lerp(0f, 1f, (stopwatch - startTime) / (finishTime - startTime)))); mat.SetColor("_Color", color); } } private void FadeOutMesh(Material mat, float startTime, float finishTime) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_007d: 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) Color color = mat.color; color.a = 0f; if (stopwatch >= finishTime) { mat.SetColor("_Color", color); } float num = Mathf.Lerp(0.5f, 1f, (stopwatch - startTime) / (finishTime - startTime)); mat.SetFloat("_Cutoff", num); float num2 = Mathf.Lerp(0f, -0.5f, (stopwatch - startTime) / (finishTime - startTime)); mat.mainTextureOffset = new Vector2(0f, num2); } private void FadeOutDemonMesh(Material mat, float startTime, float finishTime) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_007c: Unknown result type (might be due to invalid IL or missing references) //IL_002b: Unknown result type (might be due to invalid IL or missing references) Color color = mat.color; if (stopwatch >= finishTime) { color.a = 0f; mat.SetColor("_Color", color); } else { color.a = 1f; color.b = (color.g = (color.r = Mathf.Lerp(1f, 0f, (stopwatch - startTime) / (finishTime - startTime)))); mat.SetColor("_Color", color); } } private void Update() { if (stopwatch >= initialDelay) { FadeInMesh(mat0, initialDelay, initialDelay + meshDur); FadeInMesh(mat1, initialDelay + interval * 1f, initialDelay + interval * 1f + meshDur); FadeInMesh(mat2, initialDelay + interval * 2f, initialDelay + interval * 2f + meshDur); FadeInMesh(mat3, initialDelay + interval * 3f, initialDelay + interval * 3f + meshDur); FadeInMesh(mat4, initialDelay + interval * 4f, initialDelay + interval * 4f + meshDur); FadeInDemonMesh(demonMat, initialDelay + interval * 5f, initialDelay + interval * 5f + meshDur); } if (reverse) { if (!reversed) { reversed = true; stopwatch = 0f; } if (stopwatch >= initialDelay) { FadeOutDemonMesh(demonMat, initialDelay + interval * 0f, initialDelay + interval * 0f + meshDur); FadeOutMesh(mat4, initialDelay + interval * 1f, initialDelay + interval * 1f + meshDur); FadeOutMesh(mat3, initialDelay + interval * 2f, initialDelay + interval * 2f + meshDur); FadeOutMesh(mat2, initialDelay + interval * 3f, initialDelay + interval * 3f + meshDur); FadeOutMesh(mat1, initialDelay + interval * 4f, initialDelay + interval * 4f + meshDur); FadeOutMesh(mat0, initialDelay + interval * 5f, initialDelay + interval * 5f + meshDur); } } stopwatch += Time.deltaTime; } } public class SummonHair : MonoBehaviour { public float startOffset = -0.13f; public float startCutoff = 1f; public float endOffset = 0f; public float endCutoff = 0.25f; public float offDelay = 1.68f; public float cutDelay = 1.68f; public float slideDur = 0.32f; private Material mat; private float stopwatch = 0f; private bool madeVisisble = false; private void Start() { //IL_003a: Unknown result type (might be due to invalid IL or missing references) //IL_004b: Unknown result type (might be due to invalid IL or missing references) //IL_0050: 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) mat = ((Renderer)((Component)this).GetComponent()).material; mat.SetFloat("_Cutoff", startCutoff); mat.mainTextureOffset = new Vector2(0f, startOffset); Color color = mat.color; color.a = 0f; mat.SetColor("_Color", color); } private void Update() { //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_0061: Unknown result type (might be due to invalid IL or missing references) //IL_0135: 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_00df: 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) stopwatch += Time.deltaTime; if (stopwatch >= cutDelay) { if (!madeVisisble) { madeVisisble = true; Color color = mat.color; color.a = 1f; mat.SetColor("_Color", color); } float num = Mathf.Lerp(startCutoff, endCutoff, (stopwatch - cutDelay) / slideDur); mat.SetFloat("_Cutoff", num); } if (stopwatch >= offDelay) { if (!madeVisisble) { madeVisisble = true; Color color2 = mat.color; color2.a = 1f; mat.SetColor("_Color", color2); } float num2 = Mathf.Lerp(startOffset, endOffset, (stopwatch - offDelay) / slideDur); mat.mainTextureOffset = new Vector2(0f, num2); } } } } namespace BayoMod.Survivors.Bayo { public class BayoSurvivor : SurvivorBase { public const string BAYO_PREFIX = "PSYCHE_BAYO_"; private GameObject wtWard; private float lessGravity = 0.85f; private float lesserGravity = 0.97f; private uint sound = 0u; private float xval = 4f; private float yval = 2f; private float zval = 4f; private int wtcooldur = 10; internal static SkillDef tetsuSkillDef; internal static SkillDef stompSkillDef; internal static SkillDef weaveCancelSkillDef; internal static SkinDef defaultSkin; internal static SkinDef masterySkin; internal static SkinDef artSkin; public override string assetBundleName => "bayobundle"; public override string bodyName => "BayoBody"; public override string masterName => "BayoMonsterMaster"; public override string modelPrefabName => "mdlBayonetta"; public override string displayPrefabName => "mdlBayonettaDisplay"; public override string survivorTokenPrefix => "PSYCHE_BAYO_"; public override BodyInfo bodyInfo => new BodyInfo { bodyName = bodyName, bodyNameToken = "PSYCHE_BAYO_NAME", subtitleNameToken = "PSYCHE_BAYO_SUBTITLE", characterPortrait = (Texture)(object)assetBundle.LoadAsset("texBayoIcon").texture, bodyColor = Color.red, sortPosition = 1219f, crosshair = Asset.LoadCrosshair("Standard"), podPrefab = null, maxHealth = 110f, healthRegen = 1f, armor = 0f, jumpCount = 2 }; public override CustomRendererInfo[] customRendererInfos => new CustomRendererInfo[9] { new CustomRendererInfo { childName = "Body" }, new CustomRendererInfo { childName = "GFeet" }, new CustomRendererInfo { childName = "GHands" }, new CustomRendererInfo { childName = "LHG" }, new CustomRendererInfo { childName = "RHG" }, new CustomRendererInfo { childName = "LHO" }, new CustomRendererInfo { childName = "RHO" }, new CustomRendererInfo { childName = "Sleeves" }, new CustomRendererInfo { childName = "Chest" } }; public override UnlockableDef characterUnlockableDef => BayoUnlockables.characterUnlockableDef; public override ItemDisplaysBase itemDisplays => null; public override AssetBundle assetBundle { get; protected set; } public override GameObject bodyPrefab { get; protected set; } public override CharacterBody prefabCharacterBody { get; protected set; } public override GameObject characterModelObject { get; protected set; } public override CharacterModel prefabCharacterModel { get; protected set; } public override GameObject displayPrefab { get; protected set; } public override CharacterModel displayCharacterModel { get; protected set; } public override void Initialize() { base.Initialize(); } public override void InitializeCharacter() { BayoUnlockables.Init(); Config.ReadConfig(); bodyInfo.maxHealth = Config.hpStat.Value; bodyInfo.healthRegen = Config.regenStat.Value; bodyInfo.armor = Config.armorStat.Value; xval = Config.wtx.Value; yval = Config.wty.Value; zval = Config.wtz.Value; wtcooldur = Config.wtcoold.Value; base.InitializeCharacter(); BayoStates.Init(); BayoTokens.Init(); BayoBuffs.Init(assetBundle); InitializeSkins(); BayoAssets.Init(assetBundle); InitializeEntityStateMachines(); InitializeSkills(); InitializeCharacterMaster(); AdditionalBodySetup(); AddTVE(); AddHooks(); } private void AdditionalBodySetup() { AddHitboxes(); DynamicBoneConfig(); bodyPrefab.AddComponent(); bodyPrefab.AddComponent(); bodyPrefab.AddComponent(); bodyPrefab.AddComponent(); bodyPrefab.AddComponent(); ((Component)prefabCharacterModel).gameObject.AddComponent(); ((Component)displayPrefab.transform.Find("DistantSound")).gameObject.GetComponent().akSoundString = "select"; displayPrefab.gameObject.AddComponent(); } public void AddHitboxes() { Prefabs.SetupHitBoxGroup(characterModelObject, "PunchGroup", "PunchHitbox"); Prefabs.SetupHitBoxGroup(characterModelObject, "FallGroup", "FallHitbox"); Prefabs.SetupHitBoxGroup(characterModelObject, "CoverGroup", "Envelop"); Prefabs.SetupHitBoxGroup(characterModelObject, "CoverGroup2", "Envelop2"); Prefabs.SetupHitBoxGroup(characterModelObject, "HeelGroup", "HeelHitbox"); } private void DynamicBoneConfig() { if (Config.boneOptimization.Value == Config.OptBones.Unchanged) { return; } DynamicBone[] components = ((Component)prefabCharacterModel).gameObject.GetComponents(); DynamicBone[] components2 = displayPrefab.GetComponents(); DynamicBone[] array = components; foreach (DynamicBone val in array) { val.m_Colliders.Clear(); if (Config.boneOptimization.Value != Config.OptBones.Colliders_Off) { ((Behaviour)val).enabled = false; } } DynamicBone[] array2 = components2; foreach (DynamicBone val2 in array2) { val2.m_Colliders.Clear(); if (Config.boneOptimization.Value != Config.OptBones.Colliders_Off) { ((Behaviour)val2).enabled = false; } } } public override void InitializeEntityStateMachines() { Prefabs.ClearEntityStateMachines(bodyPrefab); Prefabs.AddMainEntityStateMachine(bodyPrefab, "Body", typeof(BayoCharacterMain), typeof(SpawnTeleporterState)); Prefabs.AddEntityStateMachine(bodyPrefab, "Weapon"); Prefabs.AddEntityStateMachine(bodyPrefab, "Weapon2"); } public override void InitializeSkills() { Skills.ClearGenericSkills(bodyPrefab); AddPrimarySkills(); AddSecondarySkills(); AddUtiitySkills(); AddSpecialSkills(); } private void AddPassiveSkill() { //IL_000e: 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) bodyPrefab.GetComponent().passiveSkill = new PassiveSkill { enabled = true, skillNameToken = "PSYCHE_BAYO_PASSIVE_NAME", skillDescriptionToken = "PSYCHE_BAYO_PASSIVE_DESCRIPTION", keywordToken = "KEYWORD_STUNNING", icon = assetBundle.LoadAsset("texPassiveIcon") }; GenericSkill val = Skills.CreateGenericSkillWithSkillFamily(bodyPrefab, "PassiveSkill"); SkillDef val2 = Skills.CreateSkillDef(new SkillDefInfo { skillName = "BayonettaPassive", skillNameToken = "PSYCHE_BAYO_PASSIVE_NAME", skillDescriptionToken = "PSYCHE_BAYO_PASSIVE_DESCRIPTION", skillIcon = assetBundle.LoadAsset("texPassiveIcon") }); Skills.AddSkillsToFamily(val.skillFamily, val2); } private void AddPrimarySkills() { //IL_0038: Unknown result type (might be due to invalid IL or missing references) Skills.CreateGenericSkillWithSkillFamily(bodyPrefab, (SkillSlot)0); SkillDef val = Skills.CreateSkillDef(new SkillDefInfo("BayoCombo", "PSYCHE_BAYO_PRIMARY_COMBO_NAME", "PSYCHE_BAYO_PRIMARY_COMBO_DESCRIPTION", assetBundle.LoadAsset("texM1"), new SerializableEntityStateType(typeof(Punch1)), "Body")); val.mustKeyPress = true; val.cancelSprintingOnActivation = true; Skills.AddPrimarySkills(bodyPrefab, val); } private void AddSecondarySkills() { //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_006e: Unknown result type (might be due to invalid IL or missing references) Skills.CreateGenericSkillWithSkillFamily(bodyPrefab, (SkillSlot)1); SkillDefInfo skillDefInfo = new SkillDefInfo(); skillDefInfo.skillName = "BayoAbk"; skillDefInfo.skillNameToken = "PSYCHE_BAYO_SECONDARY_ABK_NAME"; skillDefInfo.skillDescriptionToken = "PSYCHE_BAYO_SECONDARY_ABK_DESCRIPTION"; skillDefInfo.skillIcon = assetBundle.LoadAsset("texM2"); skillDefInfo.activationState = new SerializableEntityStateType(typeof(M2Entry)); skillDefInfo.activationStateMachineName = "Body"; skillDefInfo.interruptPriority = (InterruptPriority)2; skillDefInfo.baseRechargeInterval = 5f; skillDefInfo.baseMaxStock = 3; skillDefInfo.rechargeStock = 1; skillDefInfo.requiredStock = 1; skillDefInfo.stockToConsume = 1; skillDefInfo.resetCooldownTimerOnUse = false; skillDefInfo.fullRestockOnAssign = true; skillDefInfo.dontAllowPastMaxStocks = false; skillDefInfo.mustKeyPress = true; skillDefInfo.beginSkillCooldownOnSkillEnd = false; skillDefInfo.isCombatSkill = true; skillDefInfo.canceledFromSprinting = false; skillDefInfo.cancelSprintingOnActivation = true; skillDefInfo.forceSprintDuringState = false; skillDefInfo.keywordTokens = new string[6] { "KEYWORD_BAYO_ABK", "KEYWORD_BAYO_SPIN", "KEYWORD_BAYO_DOWN", "KEYWORD_BAYO_HEEL", "KEYWORD_BAYO_BREAK", "KEYWORD_BAYO_RISE" }; SkillDef val = Skills.CreateSkillDef(skillDefInfo); Skills.AddSecondarySkills(bodyPrefab, val); } private void AddUtiitySkills() { //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_006e: Unknown result type (might be due to invalid IL or missing references) Skills.CreateGenericSkillWithSkillFamily(bodyPrefab, (SkillSlot)2); SkillDefInfo skillDefInfo = new SkillDefInfo(); skillDefInfo.skillName = "BayoEvade"; skillDefInfo.skillNameToken = "PSYCHE_BAYO_UTILITY_DODGE_NAME"; skillDefInfo.skillDescriptionToken = "PSYCHE_BAYO_UTILITY_DODGE_DESCRIPTION"; skillDefInfo.skillIcon = assetBundle.LoadAsset("texUtility"); skillDefInfo.activationState = new SerializableEntityStateType(typeof(Dodge)); skillDefInfo.activationStateMachineName = "Body"; skillDefInfo.interruptPriority = (InterruptPriority)3; skillDefInfo.baseRechargeInterval = 1.125f; skillDefInfo.baseMaxStock = 1; skillDefInfo.rechargeStock = 1; skillDefInfo.requiredStock = 1; skillDefInfo.stockToConsume = 1; skillDefInfo.resetCooldownTimerOnUse = false; skillDefInfo.fullRestockOnAssign = true; skillDefInfo.dontAllowPastMaxStocks = false; skillDefInfo.mustKeyPress = false; skillDefInfo.beginSkillCooldownOnSkillEnd = false; skillDefInfo.isCombatSkill = false; skillDefInfo.canceledFromSprinting = false; skillDefInfo.cancelSprintingOnActivation = false; skillDefInfo.forceSprintDuringState = true; skillDefInfo.keywordTokens = new string[1] { "KEYWORD_BAYO_WT" }; SkillDef val = Skills.CreateSkillDef(skillDefInfo); Skills.AddUtilitySkills(bodyPrefab, val); } private void AddSpecialSkills() { //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_006e: Unknown result type (might be due to invalid IL or missing references) //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_0191: Unknown result type (might be due to invalid IL or missing references) //IL_021a: Unknown result type (might be due to invalid IL or missing references) //IL_021f: Unknown result type (might be due to invalid IL or missing references) //IL_025f: Unknown result type (might be due to invalid IL or missing references) //IL_02e8: Unknown result type (might be due to invalid IL or missing references) //IL_02ed: Unknown result type (might be due to invalid IL or missing references) //IL_032d: Unknown result type (might be due to invalid IL or missing references) Skills.CreateGenericSkillWithSkillFamily(bodyPrefab, (SkillSlot)3); SkillDefInfo skillDefInfo = new SkillDefInfo(); skillDefInfo.skillName = "WeaveEntry"; skillDefInfo.skillNameToken = "PSYCHE_BAYO_SPECIAL_WEAVEIN_NAME"; skillDefInfo.skillDescriptionToken = "PSYCHE_BAYO_SPECIAL_WEAVEIN_DESCRIPTION"; skillDefInfo.skillIcon = assetBundle.LoadAsset("texSpecial"); skillDefInfo.activationState = new SerializableEntityStateType(typeof(WeaveEntry)); skillDefInfo.activationStateMachineName = "Weapon"; skillDefInfo.interruptPriority = (InterruptPriority)2; skillDefInfo.baseRechargeInterval = 13.5f; skillDefInfo.baseMaxStock = 2; skillDefInfo.rechargeStock = 1; skillDefInfo.requiredStock = 1; skillDefInfo.stockToConsume = 1; skillDefInfo.resetCooldownTimerOnUse = false; skillDefInfo.fullRestockOnAssign = true; skillDefInfo.dontAllowPastMaxStocks = false; skillDefInfo.mustKeyPress = true; skillDefInfo.beginSkillCooldownOnSkillEnd = false; skillDefInfo.isCombatSkill = true; skillDefInfo.canceledFromSprinting = true; skillDefInfo.cancelSprintingOnActivation = true; skillDefInfo.forceSprintDuringState = false; skillDefInfo.keywordTokens = new string[3] { "KEYWORD_BAYO_TETS", "KEYWORD_BAYO_HSTOMP", "KEYWORD_BAYO_KD" }; SkillDef val = Skills.CreateSkillDef(skillDefInfo); skillDefInfo = new SkillDefInfo(); skillDefInfo.skillName = "BayoTetsu"; skillDefInfo.skillNameToken = "PSYCHE_BAYO_SPECIAL_TETSU_NAME"; skillDefInfo.skillDescriptionToken = "PSYCHE_BAYO_SPECIAL_TETSU_DESCRIPTION"; skillDefInfo.skillIcon = assetBundle.LoadAsset("texTetsu"); skillDefInfo.activationState = new SerializableEntityStateType(typeof(Tetsu)); skillDefInfo.activationStateMachineName = "Body"; skillDefInfo.baseMaxStock = 1; skillDefInfo.baseRechargeInterval = 1f; skillDefInfo.beginSkillCooldownOnSkillEnd = false; skillDefInfo.canceledFromSprinting = false; skillDefInfo.forceSprintDuringState = false; skillDefInfo.fullRestockOnAssign = true; skillDefInfo.interruptPriority = (InterruptPriority)1; skillDefInfo.resetCooldownTimerOnUse = false; skillDefInfo.isCombatSkill = true; skillDefInfo.mustKeyPress = true; skillDefInfo.cancelSprintingOnActivation = true; skillDefInfo.rechargeStock = 1; skillDefInfo.requiredStock = 1; skillDefInfo.stockToConsume = 1; tetsuSkillDef = Skills.CreateSkillDef(skillDefInfo); skillDefInfo = new SkillDefInfo(); skillDefInfo.skillName = "BayoStomp"; skillDefInfo.skillNameToken = "PSYCHE_BAYO_SPECIAL_STOMP_NAME"; skillDefInfo.skillDescriptionToken = "PSYCHE_BAYO_SPECIAL_STOMP_DESCRIPTION"; skillDefInfo.skillIcon = assetBundle.LoadAsset("texStomp"); skillDefInfo.activationState = new SerializableEntityStateType(typeof(Stomp)); skillDefInfo.activationStateMachineName = "Body"; skillDefInfo.baseMaxStock = 1; skillDefInfo.baseRechargeInterval = 1f; skillDefInfo.beginSkillCooldownOnSkillEnd = false; skillDefInfo.canceledFromSprinting = false; skillDefInfo.forceSprintDuringState = false; skillDefInfo.fullRestockOnAssign = true; skillDefInfo.interruptPriority = (InterruptPriority)1; skillDefInfo.resetCooldownTimerOnUse = false; skillDefInfo.isCombatSkill = true; skillDefInfo.mustKeyPress = true; skillDefInfo.cancelSprintingOnActivation = true; skillDefInfo.rechargeStock = 1; skillDefInfo.requiredStock = 1; skillDefInfo.stockToConsume = 1; stompSkillDef = Skills.CreateSkillDef(skillDefInfo); skillDefInfo = new SkillDefInfo(); skillDefInfo.skillName = "WeaveExit"; skillDefInfo.skillNameToken = "PSYCHE_BAYO_SPECIAL_WEEAVEOUT_NAME"; skillDefInfo.skillDescriptionToken = "PSYCHE_BAYO_SPECIAL_WEAVEOUT_DESCRIPTION"; skillDefInfo.skillIcon = assetBundle.LoadAsset("texCancel"); skillDefInfo.activationState = new SerializableEntityStateType(typeof(WeaveDummy)); skillDefInfo.activationStateMachineName = "Body"; skillDefInfo.baseMaxStock = 1; skillDefInfo.baseRechargeInterval = 0f; skillDefInfo.beginSkillCooldownOnSkillEnd = false; skillDefInfo.canceledFromSprinting = false; skillDefInfo.forceSprintDuringState = false; skillDefInfo.fullRestockOnAssign = true; skillDefInfo.interruptPriority = (InterruptPriority)1; skillDefInfo.resetCooldownTimerOnUse = false; skillDefInfo.isCombatSkill = true; skillDefInfo.mustKeyPress = true; skillDefInfo.cancelSprintingOnActivation = true; skillDefInfo.rechargeStock = 1; skillDefInfo.requiredStock = 1; skillDefInfo.stockToConsume = 1; weaveCancelSkillDef = Skills.CreateSkillDef(skillDefInfo); Skills.AddSpecialSkills(bodyPrefab, val); } public override void InitializeSkins() { //IL_01c7: Unknown result type (might be due to invalid IL or missing references) //IL_01e7: Unknown result type (might be due to invalid IL or missing references) //IL_01e9: Unknown result type (might be due to invalid IL or missing references) //IL_01f2: Unknown result type (might be due to invalid IL or missing references) //IL_0222: Unknown result type (might be due to invalid IL or missing references) //IL_0224: Unknown result type (might be due to invalid IL or missing references) //IL_0463: Unknown result type (might be due to invalid IL or missing references) //IL_0483: Unknown result type (might be due to invalid IL or missing references) //IL_0485: Unknown result type (might be due to invalid IL or missing references) //IL_048e: Unknown result type (might be due to invalid IL or missing references) //IL_04be: Unknown result type (might be due to invalid IL or missing references) //IL_04c0: Unknown result type (might be due to invalid IL or missing references) //IL_06ba: Unknown result type (might be due to invalid IL or missing references) //IL_06da: Unknown result type (might be due to invalid IL or missing references) //IL_06dc: Unknown result type (might be due to invalid IL or missing references) //IL_06e5: Unknown result type (might be due to invalid IL or missing references) //IL_0705: Unknown result type (might be due to invalid IL or missing references) //IL_0707: Unknown result type (might be due to invalid IL or missing references) //IL_0710: Unknown result type (might be due to invalid IL or missing references) //IL_0730: Unknown result type (might be due to invalid IL or missing references) //IL_0732: Unknown result type (might be due to invalid IL or missing references) //IL_073b: Unknown result type (might be due to invalid IL or missing references) //IL_075b: Unknown result type (might be due to invalid IL or missing references) //IL_075d: Unknown result type (might be due to invalid IL or missing references) //IL_0766: Unknown result type (might be due to invalid IL or missing references) //IL_0786: Unknown result type (might be due to invalid IL or missing references) //IL_0788: Unknown result type (might be due to invalid IL or missing references) //IL_0791: Unknown result type (might be due to invalid IL or missing references) //IL_07b1: Unknown result type (might be due to invalid IL or missing references) //IL_07b3: Unknown result type (might be due to invalid IL or missing references) //IL_07bc: Unknown result type (might be due to invalid IL or missing references) //IL_07dc: Unknown result type (might be due to invalid IL or missing references) //IL_07de: Unknown result type (might be due to invalid IL or missing references) //IL_07e7: Unknown result type (might be due to invalid IL or missing references) //IL_0807: Unknown result type (might be due to invalid IL or missing references) //IL_0809: Unknown result type (might be due to invalid IL or missing references) //IL_0812: Unknown result type (might be due to invalid IL or missing references) //IL_0832: Unknown result type (might be due to invalid IL or missing references) //IL_0834: Unknown result type (might be due to invalid IL or missing references) ModelSkinController val = ((Component)prefabCharacterModel).gameObject.AddComponent(); ModelSkinController val2 = ((Component)displayCharacterModel).gameObject.AddComponent(); ChildLocator component = ((Component)prefabCharacterModel).GetComponent(); RendererInfo[] baseRendererInfos = prefabCharacterModel.baseRendererInfos; List list = new List(); defaultSkin = Skins.CreateSkinDef("PSYCHE_BAYO_BAYO1_SKIN_NAME", assetBundle.LoadAsset("texMainSkin"), baseRendererInfos, ((Component)prefabCharacterModel).gameObject); defaultSkin.skinDefParams.meshReplacements = Skins.getMeshReplacements(assetBundle, baseRendererInfos, "Body", "GunsFeet", "GunsHands", "LHandGun", "RHandGun", "LHandOpen", "RHandOpen", "Sleeves", "Hairrr"); defaultSkin.skinDefParams.rendererInfos[0].defaultMaterial = ((Config.boneOptimization.Value == Config.OptBones.Dynamic_Off_Not_Visible) ? assetBundle.LoadMaterial("body1_nody") : assetBundle.LoadMaterial("body1")); defaultSkin.skinDefParams.rendererInfos[1].defaultMaterial = ((Config.boneOptimization.Value == Config.OptBones.Dynamic_Off_Not_Visible) ? assetBundle.LoadMaterial("guns_nody") : assetBundle.LoadMaterial("guns")); defaultSkin.skinDefParams.rendererInfos[2].defaultMaterial = ((Config.boneOptimization.Value == Config.OptBones.Dynamic_Off_Not_Visible) ? assetBundle.LoadMaterial("guns_nody") : assetBundle.LoadMaterial("guns")); defaultSkin.skinDefParams.gameObjectActivations = (GameObjectActivation[])(object)new GameObjectActivation[2] { new GameObjectActivation { gameObject = component.FindChildGameObject("Chest"), shouldActivate = false }, new GameObjectActivation { gameObject = component.FindChildGameObject("Sleeves"), shouldActivate = (Config.boneOptimization.Value != Config.OptBones.Dynamic_Off_Not_Visible) } }; list.Add(defaultSkin); masterySkin = Skins.CreateSkinDef("PSYCHE_BAYO_BAYO2_SKIN_NAME", assetBundle.LoadAsset("texFamedSkin"), baseRendererInfos, ((Component)prefabCharacterModel).gameObject); masterySkin.skinDefParams.meshReplacements = Skins.getMeshReplacements(assetBundle, baseRendererInfos, "Body2", "LiB_Feet", "LiB_Hands", "LHGun2", "RHGun2", "LHOpen2", "RHOpen2", null, null); masterySkin.skinDefParams.rendererInfos[0].defaultMaterial = assetBundle.LoadMaterial("famedbody"); masterySkin.skinDefParams.rendererInfos[1].defaultMaterial = ((Config.boneOptimization.Value == Config.OptBones.Dynamic_Off_Not_Visible) ? assetBundle.LoadMaterial("lib_nody") : assetBundle.LoadMaterial("lib")); masterySkin.skinDefParams.rendererInfos[2].defaultMaterial = ((Config.boneOptimization.Value == Config.OptBones.Dynamic_Off_Not_Visible) ? assetBundle.LoadMaterial("lib_nody") : assetBundle.LoadMaterial("lib")); masterySkin.skinDefParams.rendererInfos[3].defaultMaterial = assetBundle.LoadMaterial("famedbody"); masterySkin.skinDefParams.rendererInfos[4].defaultMaterial = assetBundle.LoadMaterial("famedbody"); masterySkin.skinDefParams.rendererInfos[5].defaultMaterial = assetBundle.LoadMaterial("famedbody"); masterySkin.skinDefParams.rendererInfos[6].defaultMaterial = assetBundle.LoadMaterial("famedbody"); masterySkin.skinDefParams.rendererInfos[7].defaultMaterial = assetBundle.LoadMaterial("hairrr"); masterySkin.skinDefParams.gameObjectActivations = (GameObjectActivation[])(object)new GameObjectActivation[2] { new GameObjectActivation { gameObject = component.FindChildGameObject("Sleeves"), shouldActivate = false }, new GameObjectActivation { gameObject = component.FindChildGameObject("Chest"), shouldActivate = (Config.boneOptimization.Value != Config.OptBones.Dynamic_Off_Not_Visible) } }; list.Add(masterySkin); artSkin = Skins.CreateSkinDef("PSYCHE_BAYO_ART_SKIN_NAME", assetBundle.LoadAsset("texMainSkin"), baseRendererInfos, ((Component)prefabCharacterModel).gameObject); artSkin.skinDefParams.meshReplacements = Skins.getMeshReplacements(assetBundle, baseRendererInfos, "Body2", "LiB_Feet", null, "LHOpen2", "RHOpen2", "LHOpen2", "RHOpen2", null, null); artSkin.skinDefParams.rendererInfos[0].defaultMaterial = assetBundle.LoadMaterial("famedbody"); artSkin.skinDefParams.rendererInfos[1].defaultMaterial = assetBundle.LoadMaterial("lib"); artSkin.skinDefParams.rendererInfos[2].defaultMaterial = assetBundle.LoadMaterial("lib"); artSkin.skinDefParams.rendererInfos[3].defaultMaterial = assetBundle.LoadMaterial("famedbody"); artSkin.skinDefParams.rendererInfos[4].defaultMaterial = assetBundle.LoadMaterial("famedbody"); artSkin.skinDefParams.rendererInfos[5].defaultMaterial = assetBundle.LoadMaterial("famedbody"); artSkin.skinDefParams.rendererInfos[6].defaultMaterial = assetBundle.LoadMaterial("famedbody"); artSkin.skinDefParams.rendererInfos[7].defaultMaterial = assetBundle.LoadMaterial("hairrr"); artSkin.skinDefParams.gameObjectActivations = (GameObjectActivation[])(object)new GameObjectActivation[9] { new GameObjectActivation { gameObject = component.FindChildGameObject("Body"), shouldActivate = false }, new GameObjectActivation { gameObject = component.FindChildGameObject("GFeet"), shouldActivate = false }, new GameObjectActivation { gameObject = component.FindChildGameObject("GHands"), shouldActivate = false }, new GameObjectActivation { gameObject = component.FindChildGameObject("LHG"), shouldActivate = false }, new GameObjectActivation { gameObject = component.FindChildGameObject("RHG"), shouldActivate = false }, new GameObjectActivation { gameObject = component.FindChildGameObject("LHO"), shouldActivate = false }, new GameObjectActivation { gameObject = component.FindChildGameObject("RHO"), shouldActivate = false }, new GameObjectActivation { gameObject = component.FindChildGameObject("Sleeves"), shouldActivate = false }, new GameObjectActivation { gameObject = component.FindChildGameObject("Chest"), shouldActivate = false } }; val.skins = list.ToArray(); val2.skins = list.ToArray(); } public override void InitializeCharacterMaster() { Prefabs.CloneDopplegangerMaster(bodyPrefab, masterName, "Merc"); } private static void AddTVE() { //IL_003a: Unknown result type (might be due to invalid IL or missing references) //IL_004a: Expected O, but got Unknown //IL_0057: Unknown result type (might be due to invalid IL or missing references) //IL_0067: Expected O, but got Unknown //IL_001c: Unknown result type (might be due to invalid IL or missing references) //IL_002c: Expected O, but got Unknown if (Config.overlayOn.Value) { TempVisualEffectAPI.AddTemporaryVisualEffect(BayoAssets.wtOverlay, new EffectCondition(HasWT), false, ""); } TempVisualEffectAPI.AddTemporaryVisualEffect(BayoAssets.wtOverlay2, new EffectCondition(SnapOverlay), false, ""); TempVisualEffectAPI.AddTemporaryVisualEffect(BayoAssets.spotlight, new EffectCondition(SpotOverlay), false, ""); } private static bool HasWT(CharacterBody body) { return body.HasBuff(BayoBuffs.wtBuff); } private static bool SnapOverlay(CharacterBody body) { return body.HasBuff(BayoBuffs.snapBuff); } private static bool SpotOverlay(CharacterBody body) { return body.HasBuff(BayoBuffs.spotBuff); } private void AddHooks() { //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Expected O, but got Unknown //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_0024: Expected O, but got Unknown //IL_002c: Unknown result type (might be due to invalid IL or missing references) //IL_0036: Expected O, but got Unknown //IL_003e: Unknown result type (might be due to invalid IL or missing references) //IL_0048: Expected O, but got Unknown //IL_0050: Unknown result type (might be due to invalid IL or missing references) //IL_005a: Expected O, but got Unknown //IL_0062: Unknown result type (might be due to invalid IL or missing references) //IL_006c: Expected O, but got Unknown //IL_0074: Unknown result type (might be due to invalid IL or missing references) //IL_007e: Expected O, but got Unknown //IL_0086: Unknown result type (might be due to invalid IL or missing references) //IL_0090: Expected O, but got Unknown //IL_0098: Unknown result type (might be due to invalid IL or missing references) //IL_00a2: Expected O, but got Unknown //IL_00aa: Unknown result type (might be due to invalid IL or missing references) //IL_00b4: Expected O, but got Unknown //IL_00bc: Unknown result type (might be due to invalid IL or missing references) //IL_00c6: Expected O, but got Unknown //IL_00ce: Unknown result type (might be due to invalid IL or missing references) //IL_00d8: Expected O, but got Unknown //IL_00e0: Unknown result type (might be due to invalid IL or missing references) //IL_00ea: Expected O, but got Unknown //IL_00f2: Unknown result type (might be due to invalid IL or missing references) //IL_00fc: Expected O, but got Unknown //IL_0104: Unknown result type (might be due to invalid IL or missing references) //IL_010e: Expected O, but got Unknown //IL_0116: Unknown result type (might be due to invalid IL or missing references) //IL_0120: Expected O, but got Unknown //IL_0136: Unknown result type (might be due to invalid IL or missing references) //IL_0140: Expected O, but got Unknown RecalculateStatsAPI.GetStatCoefficients += new StatHookEventHandler(RecalculateStatsAPI_GetStatCoefficients); HealthComponent.TakeDamage += new hook_TakeDamage(DamageHook); CharacterBody.OnBuffFirstStackGained += new hook_OnBuffFirstStackGained(WTHook); CharacterBody.OnBuffFinalStackLost += new hook_OnBuffFinalStackLost(CdHook); CharacterMotor.FixedUpdate += new hook_FixedUpdate(WtGravityHook); CharacterDeathBehavior.OnDeath += new hook_OnDeath(DeathHook); GlobalEventManager.ProcessHitEnemy += new hook_ProcessHitEnemy(WeaveHit); SkillLocator.ApplyAmmoPack += new hook_ApplyAmmoPack(WTBandHook); CharacterMaster.RespawnExtraLife += new hook_RespawnExtraLife(ReviveHooka); CharacterMaster.RespawnExtraLifeHealAndRevive += new hook_RespawnExtraLifeHealAndRevive(ReviveHookb); CharacterMaster.RespawnExtraLifeShrine += new hook_RespawnExtraLifeShrine(ReviveHookc); CharacterMaster.RespawnExtraLifeVoid += new hook_RespawnExtraLifeVoid(ReviveHookd); SetStateOnHurt.SetStunInternal += new hook_SetStunInternal(PunishHook1); SetStateOnHurt.OverrideStunInternal += new hook_OverrideStunInternal(PunishHook2); SceneExitController.Begin += new hook_Begin(FreezeBayoHook); SurvivorIconController.Update += new hook_Update(IconUpdaterHook); if (Config.footstepVfx.Value) { FootstepHandler.Footstep_string_GameObject += new hook_Footstep_string_GameObject(ButterflyFoootsteps); } } private void ButterflyFoootsteps(orig_Footstep_string_GameObject orig, FootstepHandler self, string childName, GameObject footstepEffect) { //IL_004e: 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_006c: 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_0073: Unknown result type (might be due to invalid IL or missing references) //IL_0084: Unknown result type (might be due to invalid IL or missing references) //IL_0093: Unknown result type (might be due to invalid IL or missing references) //IL_00cc: Unknown result type (might be due to invalid IL or missing references) //IL_00d3: Expected O, but got Unknown //IL_00d7: Unknown result type (might be due to invalid IL or missing references) //IL_00e6: Unknown result type (might be due to invalid IL or missing references) //IL_00eb: 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) orig.Invoke(self, childName, footstepEffect); if (!Object.op_Implicit((Object)(object)self.body)) { return; } Transform val = self.childLocator.FindChild(childName); int num = self.childLocator.FindChildIndex(childName); if (Object.op_Implicit((Object)(object)val)) { RaycastHit val2 = default(RaycastHit); Vector3 position = val.position; position.y += 1.5f; if (Physics.Raycast(new Ray(position, Vector3.down), ref val2, 4f, LayerMask.op_Implicit(((LayerIndex)(ref LayerIndex.world)).mask) | LayerMask.op_Implicit(((LayerIndex)(ref LayerIndex.water)).mask), (QueryTriggerInteraction)2) && ((Object)((Component)self.body).gameObject).name.Contains("BayoBody")) { EffectData val3 = new EffectData(); val3.origin = ((RaycastHit)(ref val2)).point; val3.rotation = Util.QuaternionSafeLookRotation(((RaycastHit)(ref val2)).normal); val3.SetChildLocatorTransformReference(((Component)self.body).gameObject, num); EffectManager.SpawnEffect(BayoAssets.footstep, val3, false); } } } private void IconUpdaterHook(orig_Update orig, SurvivorIconController self) { //IL_000e: Unknown result type (might be due to invalid IL or missing references) //IL_0013: Unknown result type (might be due to invalid IL or missing references) //IL_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_005d: Unknown result type (might be due to invalid IL or missing references) orig.Invoke(self); BodyIndex val = BodyCatalog.FindBodyIndex("BayoBody"); LocalUser localUser = self.GetLocalUser(); UserProfile val2 = ((localUser != null) ? localUser.userProfile : null); Loadout loadout = val2.loadout; if (Object.op_Implicit((Object)(object)self) && Object.op_Implicit((Object)(object)self.survivorIcon) && self.survivorBodyIndex == val) { uint skinIndex = loadout.bodyLoadoutManager.GetSkinIndex(val); uint num = skinIndex; if (num == 1) { self.survivorIcon.texture = (Texture)(object)assetBundle.LoadAsset("texBayo2Icon").texture; } else { self.survivorIcon.texture = (Texture)(object)assetBundle.LoadAsset("texBayoIcon").texture; } } } private void FreezeBayoHook(orig_Begin orig, SceneExitController self) { //IL_005d: Unknown result type (might be due to invalid IL or missing references) if (Config.tpFreeze.Value) { ReadOnlyCollection readOnlyInstancesList = CharacterMaster.readOnlyInstancesList; for (int i = 0; i < readOnlyInstancesList.Count; i++) { CharacterMaster component = ((Component)readOnlyInstancesList[i]).GetComponent(); if (Object.op_Implicit((Object)(object)component) && Object.op_Implicit((Object)(object)component.GetBodyObject()) && ((Object)component.GetBodyObject()).name.Contains("BayoBody")) { NetMessageExtensions.Send((INetMessage)(object)new SetFreezeOnBodyRequest(((NetworkBehaviour)component).netId, 0.912f), (NetworkDestination)1); } } } orig.Invoke(self); } private void PunishHook2(orig_OverrideStunInternal orig, SetStateOnHurt self, float duration) { if (((Component)self.targetStateMachine).GetComponentInParent().HasBuff(BayoBuffs.punishable)) { if (Object.op_Implicit((Object)(object)self.targetStateMachine)) { if (self.targetStateMachine.state is PunishStun) { PunishStun punishStun = self.targetStateMachine.state as PunishStun; if (((StunState)punishStun).timeRemaining < duration) { ((StunState)punishStun).ExtendStun(duration - ((StunState)punishStun).timeRemaining); } } else if (duration > 0f) { PunishStun punishStun2 = new PunishStun(); ((StunState)punishStun2).stunDuration = duration; self.targetStateMachine.SetInterruptState((EntityState)(object)punishStun2, (InterruptPriority)5); } } EntityStateMachine[] idleStateMachine = self.idleStateMachine; for (int i = 0; i < idleStateMachine.Length; i++) { idleStateMachine[i].SetNextStateToMain(); } } else { orig.Invoke(self, duration); } } private void PunishHook1(orig_SetStunInternal orig, SetStateOnHurt self, float duration) { if (((Component)self.targetStateMachine).GetComponentInParent().HasBuff(BayoBuffs.punishable)) { if (Object.op_Implicit((Object)(object)self.targetStateMachine)) { if (self.targetStateMachine.state is PunishStun) { PunishStun punishStun = self.targetStateMachine.state as PunishStun; if (((StunState)punishStun).timeRemaining < duration) { ((StunState)punishStun).ExtendStun(duration - ((StunState)punishStun).timeRemaining); } } else { PunishStun punishStun2 = new PunishStun(); ((StunState)punishStun2).stunDuration = duration; self.targetStateMachine.SetInterruptState((EntityState)(object)punishStun2, (InterruptPriority)5); } } EntityStateMachine[] idleStateMachine = self.idleStateMachine; for (int i = 0; i < idleStateMachine.Length; i++) { idleStateMachine[i].SetNextStateToMain(); } } else { orig.Invoke(self, duration); } } private void ReviveHookd(orig_RespawnExtraLifeVoid orig, CharacterMaster self) { orig.Invoke(self); if (((Object)self.GetBodyObject()).name.Contains("BayoBody")) { Util.PlaySound("revive", self.GetBodyObject()); } } private void ReviveHookc(orig_RespawnExtraLifeShrine orig, CharacterMaster self) { orig.Invoke(self); if (((Object)self.GetBodyObject()).name.Contains("BayoBody")) { Util.PlaySound("revive", self.GetBodyObject()); } } private void ReviveHookb(orig_RespawnExtraLifeHealAndRevive orig, CharacterMaster self) { orig.Invoke(self); if (((Object)self.GetBodyObject()).name.Contains("BayoBody")) { Util.PlaySound("revive", self.GetBodyObject()); } } private void ReviveHooka(orig_RespawnExtraLife orig, CharacterMaster self) { orig.Invoke(self); if (((Object)self.GetBodyObject()).name.Contains("BayoBody")) { Util.PlaySound("revive", self.GetBodyObject()); } } private void WTBandHook(orig_ApplyAmmoPack orig, SkillLocator self) { //IL_0023: Unknown result type (might be due to invalid IL or missing references) CharacterBody component = ((Component)self).gameObject.GetComponent(); if (component.HasBuff(BayoBuffs.wtCoolDown)) { component.ClearTimedBuffs(BayoBuffs.wtCoolDown.buffIndex); } if (component.HasBuff(BayoBuffs.wtBuff)) { for (int i = 1; i <= 4; i++) { component.AddTimedBuff(BayoBuffs.wtBuff, (float)i); } } orig.Invoke(self); } private void DeathHook(orig_OnDeath orig, CharacterDeathBehavior self) { if (((Object)((Component)self).gameObject).name.Contains("BayoBody")) { Util.PlaySound("dead", ((Component)self).gameObject); } orig.Invoke(self); } private void WeaveHit(orig_ProcessHitEnemy orig, GlobalEventManager self, DamageInfo damageInfo, GameObject victim) { //IL_0169: Unknown result type (might be due to invalid IL or missing references) //IL_0139: Unknown result type (might be due to invalid IL or missing references) //IL_0143: Unknown result type (might be due to invalid IL or missing references) //IL_014a: Unknown result type (might be due to invalid IL or missing references) //IL_014f: Unknown result type (might be due to invalid IL or missing references) //IL_0158: Unknown result type (might be due to invalid IL or missing references) if (damageInfo != null && (Object)(object)damageInfo.inflictor != (Object)null && (Object)(object)damageInfo.inflictor.GetComponent() != (Object)null) { Util.PlaySound("hitw", victim); CharacterBody val = (Object.op_Implicit((Object)(object)victim) ? victim.GetComponent() : null); bool flag = val.healthComponent.combinedHealth <= val.maxHealth * 0.33f; if (val.HasBuff(BayoBuffs.wtDebuff) || (flag && !val.isChampion)) { float num = 1f; if (Object.op_Implicit((Object)(object)val.characterMotor) && val.characterMotor.mass >= 100f) { num = val.characterMotor.mass - 100f; ((BaseCharacterController)val.characterMotor).Motor.ForceUnground(0.1f); } if (Object.op_Implicit((Object)(object)((Component)victim.GetComponent()).GetComponent()) && val.rigidbody.mass >= 100f) { num = val.rigidbody.mass - 100f; } Vector3 val2 = damageInfo.force / 100f * num; victim.GetComponent().TakeDamageForce(val2, true, true); } float y = ((Vector3)(ref damageInfo.force)).normalized.y; if (y <= -0.75f && !val.isChampion) { val.AddTimedBuff(BayoBuffs.punishable, 2f); SetStateOnHurt component = ((Component)victim.GetComponent()).GetComponent(); if (component != null) { component.SetStun(2f); } } } orig.Invoke(self, damageInfo, victim); } private void WtGravityHook(orig_FixedUpdate orig, CharacterMotor self) { //IL_007d: 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) if (self.body.HasBuff(BayoBuffs.wtDebuff) && !self.isGrounded) { if (self.velocity.y <= 3f && self.velocity.y >= -3f) { self.velocity.y *= lessGravity; self.velocity.y -= Time.fixedDeltaTime * Physics.gravity.y; } if (self.velocity.y < -1f) { self.velocity.y -= Time.fixedDeltaTime * Physics.gravity.y * 2f; } if (self.velocity.x <= 7f && self.velocity.x >= -7f) { self.velocity.x *= lessGravity; } if (self.velocity.z <= -7f && self.velocity.z >= -7f) { self.velocity.z *= lessGravity; } self.velocity.x *= lesserGravity; self.velocity.z *= lesserGravity; if (self.velocity.y < 0.5f && self.velocity.y > 0f) { self.velocity.y = 0.5f; } if (self.velocity.y > -1f && self.velocity.y < 0f) { self.velocity.y = -1f; } } orig.Invoke(self); } private void CdHook(orig_OnBuffFinalStackLost orig, CharacterBody self, BuffDef buffDef) { //IL_0251: Unknown result type (might be due to invalid IL or missing references) //IL_0256: Unknown result type (might be due to invalid IL or missing references) //IL_025a: Unknown result type (might be due to invalid IL or missing references) //IL_0269: Unknown result type (might be due to invalid IL or missing references) //IL_0278: Unknown result type (might be due to invalid IL or missing references) if (NetworkServer.active && Object.op_Implicit((Object)(object)self) && Object.op_Implicit((Object)(object)((Component)self).gameObject) && ((Object)((Component)self).gameObject).name.Contains("BayoBody")) { bool flag = (Object)(object)buffDef == (Object)(object)BayoBuffs.wtBuff; int itemCountEffective = self.inventory.GetItemCountEffective(Items.AlienHead); int itemCountEffective2 = self.inventory.GetItemCountEffective(Items.HalfAttackSpeedHalfCooldowns); int itemCountEffective3 = self.inventory.GetItemCountEffective(Items.LunarBadLuck); float num = wtcooldur; for (int i = 0; i < itemCountEffective; i++) { num *= 0.75f; } for (int j = 0; j < itemCountEffective2; j++) { num *= 0.5f; } for (int k = 0; k < itemCountEffective3; k++) { num -= 2f; } if (num < 0f) { num = 0f; } SlowDownProjectiles componentInParent = ((Component)self).GetComponentInParent(); if (Object.op_Implicit((Object)(object)componentInParent)) { wtWard = ((Component)componentInParent).gameObject; } if (flag && Object.op_Implicit((Object)(object)wtWard)) { Object.Destroy((Object)(object)wtWard); Util.PlaySound("wtexit", ((Component)self).gameObject); AkSoundEngine.StopPlayingID(sound); } if (!self.HasBuff(Buffs.NoCooldowns) && flag && !self.HasBuff(BayoBuffs.wtCoolDown)) { for (int l = 1; (float)l <= num; l++) { self.AddTimedBuff(BayoBuffs.wtCoolDown, (float)l); } } } if (Object.op_Implicit((Object)(object)buffDef) && (Object)(object)buffDef == (Object)(object)BayoBuffs.dodgeBuff && Object.op_Implicit((Object)(object)self) && Object.op_Implicit((Object)(object)((Component)self).gameObject)) { ModelLocator component = ((Component)self).gameObject.GetComponent(); if (Object.op_Implicit((Object)(object)component)) { ChildLocator component2 = ((Component)component.modelTransform).GetComponent(); if (Object.op_Implicit((Object)(object)component2)) { int num2 = component2.FindChildIndex("MainHurtbox"); Transform val = component2.FindChild(num2); Vector3 localScale = val.localScale; Vector3 val2 = default(Vector3); ((Vector3)(ref val2))..ctor(localScale.x / xval, localScale.y / yval, localScale.z / zval); val.localScale_Injected = ref val2; } } } orig.Invoke(self, buffDef); } private void WTHook(orig_OnBuffFirstStackGained orig, CharacterBody self, BuffDef buffDef) { //IL_007b: Unknown result type (might be due to invalid IL or missing references) //IL_00fa: Unknown result type (might be due to invalid IL or missing references) //IL_018f: Unknown result type (might be due to invalid IL or missing references) //IL_0194: Unknown result type (might be due to invalid IL or missing references) //IL_0198: Unknown result type (might be due to invalid IL or missing references) //IL_01a7: Unknown result type (might be due to invalid IL or missing references) //IL_01b6: Unknown result type (might be due to invalid IL or missing references) if (NetworkServer.active && Object.op_Implicit((Object)(object)((Component)self).gameObject) && ((Object)((Component)self).gameObject).name.Contains("BayoBody")) { if ((Object)(object)buffDef == (Object)(object)BayoBuffs.wtBuff && !Object.op_Implicit((Object)(object)wtWard)) { wtWard = Object.Instantiate(BayoAssets.wardPrefab); wtWard.GetComponent().teamIndex = self.teamComponent.teamIndex; wtWard.GetComponent().Networkradius = 25f + self.radius; wtWard.GetComponent().AttachToGameObjectAndSpawn(((Component)self).gameObject, (string)null); sound = AkSoundEngine.PostEvent(1517750988u, ((Component)self).gameObject); } if ((Object)(object)buffDef == (Object)(object)Buffs.NoCooldowns && self.HasBuff(BayoBuffs.wtCoolDown)) { self.ClearTimedBuffs(BayoBuffs.wtCoolDown.buffIndex); } } if ((Object)(object)buffDef == (Object)(object)BayoBuffs.dodgeBuff && Object.op_Implicit((Object)(object)self) && Object.op_Implicit((Object)(object)((Component)self).gameObject)) { ModelLocator component = ((Component)self).gameObject.GetComponent(); if (Object.op_Implicit((Object)(object)component)) { ChildLocator component2 = ((Component)component.modelTransform).GetComponent(); if (Object.op_Implicit((Object)(object)component2)) { int num = component2.FindChildIndex("MainHurtbox"); Transform val = component2.FindChild(num); Vector3 localScale = val.localScale; Vector3 val2 = default(Vector3); ((Vector3)(ref val2))..ctor(localScale.x * xval, localScale.y * yval, localScale.z * zval); val.localScale_Injected = ref val2; } } } orig.Invoke(self, buffDef); } private void RecalculateStatsAPI_GetStatCoefficients(CharacterBody sender, StatHookEventArgs args) { if (sender.HasBuff(BayoBuffs.armorBuff)) { args.armorAdd += 100f; } if (sender.HasBuff(BayoBuffs.wtBuff)) { args.armorAdd += 350f; } if (sender.HasBuff(BayoBuffs.wtDebuff)) { args.moveSpeedReductionMultAdd += 0.975f; args.baseMoveSpeedAdd += -0.95f; args.attackSpeedReductionMultAdd += 0.975f; } } private void DamageHook(orig_TakeDamage orig, HealthComponent self, DamageInfo damageInfo) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_000d: Unknown result type (might be due to invalid IL or missing references) bool flag = DamageTypeCombo.op_Implicit(damageInfo.damageType & DamageTypeCombo.op_Implicit((DamageType)2)) != 0; if (self.body.HasBuff(BayoBuffs.dodgeBuff) && damageInfo.damage > 0f) { if (!flag) { if (NetworkServer.active) { self.body.RemoveBuff(BayoBuffs.dodgeBuff); self.body.AddTimedBuff(BayoBuffs.evadeSuccess, 0.1f); } damageInfo.rejected = true; } } else if (((Object)self.body).name.Contains("BayoBody") && damageInfo.damage > 0f) { GameObject damage = BayoAssets.damage; EffectManager.SimpleMuzzleFlash(damage, ((Component)self).gameObject, "DamageCenter", true); } if (self.body.HasBuff(BayoBuffs.climaxed) && damageInfo.damage > 0f && !flag) { damageInfo.rejected = true; } orig.Invoke(self, damageInfo); } } public static class BayoAI { public static void Init(GameObject bodyPrefab, string masterName) { //IL_003a: 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_00d0: Unknown result type (might be due to invalid IL or missing references) //IL_00e2: Unknown result type (might be due to invalid IL or missing references) //IL_00fe: Unknown result type (might be due to invalid IL or missing references) //IL_0137: Unknown result type (might be due to invalid IL or missing references) //IL_0177: Unknown result type (might be due to invalid IL or missing references) //IL_0193: Unknown result type (might be due to invalid IL or missing references) //IL_01a5: Unknown result type (might be due to invalid IL or missing references) //IL_01ac: Unknown result type (might be due to invalid IL or missing references) //IL_01c8: Unknown result type (might be due to invalid IL or missing references) //IL_0210: Unknown result type (might be due to invalid IL or missing references) //IL_0230: Unknown result type (might be due to invalid IL or missing references) //IL_0244: Unknown result type (might be due to invalid IL or missing references) //IL_024c: Unknown result type (might be due to invalid IL or missing references) //IL_0268: Unknown result type (might be due to invalid IL or missing references) //IL_02b0: Unknown result type (might be due to invalid IL or missing references) //IL_02d0: Unknown result type (might be due to invalid IL or missing references) //IL_02e4: Unknown result type (might be due to invalid IL or missing references) //IL_02ec: Unknown result type (might be due to invalid IL or missing references) //IL_0308: Unknown result type (might be due to invalid IL or missing references) //IL_0330: Unknown result type (might be due to invalid IL or missing references) //IL_0350: Unknown result type (might be due to invalid IL or missing references) //IL_0364: Unknown result type (might be due to invalid IL or missing references) //IL_036c: Unknown result type (might be due to invalid IL or missing references) GameObject val = Prefabs.CreateBlankMasterPrefab(bodyPrefab, masterName); BaseAI component = val.GetComponent(); component.aimVectorDampTime = 0.1f; component.aimVectorMaxSpeed = 360f; AISkillDriver val2 = val.AddComponent(); val2.customName = "Use Primary Swing"; val2.skillSlot = (SkillSlot)0; val2.requiredSkill = null; val2.requireSkillReady = false; val2.requireEquipmentReady = false; val2.minUserHealthFraction = float.NegativeInfinity; val2.maxUserHealthFraction = float.PositiveInfinity; val2.minTargetHealthFraction = float.NegativeInfinity; val2.maxTargetHealthFraction = float.PositiveInfinity; val2.minDistance = 0f; val2.maxDistance = 8f; val2.selectionRequiresTargetLoS = false; val2.selectionRequiresOnGround = false; val2.selectionRequiresAimTarget = false; val2.maxTimesSelected = -1; val2.moveTargetType = (TargetType)0; val2.activationRequiresTargetLoS = false; val2.activationRequiresAimTargetLoS = false; val2.activationRequiresAimConfirmation = false; val2.movementType = (MovementType)1; val2.moveInputScale = 1f; val2.aimType = (AimType)1; val2.ignoreNodeGraph = false; val2.shouldSprint = false; val2.shouldFireEquipment = false; val2.buttonPressType = (ButtonPressType)0; val2.driverUpdateTimerOverride = -1f; val2.resetCurrentEnemyOnNextDriverSelection = false; val2.noRepeat = false; val2.nextHighPriorityOverride = null; AISkillDriver val3 = val.AddComponent(); val3.customName = "Use Secondary Shoot"; val3.skillSlot = (SkillSlot)1; val3.requireSkillReady = true; val3.minDistance = 0f; val3.maxDistance = 25f; val3.selectionRequiresTargetLoS = false; val3.selectionRequiresOnGround = false; val3.selectionRequiresAimTarget = false; val3.maxTimesSelected = -1; val3.moveTargetType = (TargetType)0; val3.activationRequiresTargetLoS = false; val3.activationRequiresAimTargetLoS = false; val3.activationRequiresAimConfirmation = true; val3.movementType = (MovementType)1; val3.moveInputScale = 1f; val3.aimType = (AimType)1; val3.buttonPressType = (ButtonPressType)0; AISkillDriver val4 = val.AddComponent(); val4.customName = "Use Utility Roll"; val4.skillSlot = (SkillSlot)2; val4.requireSkillReady = true; val4.minDistance = 8f; val4.maxDistance = 20f; val4.selectionRequiresTargetLoS = true; val4.selectionRequiresOnGround = false; val4.selectionRequiresAimTarget = false; val4.maxTimesSelected = -1; val4.moveTargetType = (TargetType)0; val4.activationRequiresTargetLoS = false; val4.activationRequiresAimTargetLoS = false; val4.activationRequiresAimConfirmation = false; val4.movementType = (MovementType)2; val4.moveInputScale = 1f; val4.aimType = (AimType)1; val4.buttonPressType = (ButtonPressType)0; AISkillDriver val5 = val.AddComponent(); val5.customName = "Use Special bomb"; val5.skillSlot = (SkillSlot)3; val5.requireSkillReady = true; val5.minDistance = 0f; val5.maxDistance = 20f; val5.selectionRequiresTargetLoS = false; val5.selectionRequiresOnGround = false; val5.selectionRequiresAimTarget = false; val5.maxTimesSelected = -1; val5.moveTargetType = (TargetType)0; val5.activationRequiresTargetLoS = false; val5.activationRequiresAimTargetLoS = false; val5.activationRequiresAimConfirmation = false; val5.movementType = (MovementType)1; val5.moveInputScale = 1f; val5.aimType = (AimType)1; val5.buttonPressType = (ButtonPressType)0; AISkillDriver val6 = val.AddComponent(); val6.customName = "Chase"; val6.skillSlot = (SkillSlot)(-1); val6.requireSkillReady = false; val6.minDistance = 0f; val6.maxDistance = float.PositiveInfinity; val6.moveTargetType = (TargetType)0; val6.activationRequiresTargetLoS = false; val6.activationRequiresAimTargetLoS = false; val6.activationRequiresAimConfirmation = false; val6.movementType = (MovementType)1; val6.moveInputScale = 1f; val6.aimType = (AimType)1; val6.buttonPressType = (ButtonPressType)0; } } public static class BayoAssets { public static GameObject fistProjectilePrefab; public static GameObject footProjectilePrefab; public static GameObject fistFast; public static GameObject footFast; public static GameObject fistDown; public static GameObject bulletMuz; private static GameObject tempMuz; public static GameObject wtOverlay; public static GameObject wtOverlay2; private static AssetBundle _assetBundle; internal static GameObject trackerPrefab; public static GameObject wardPrefab; public static GameObject tempWard; public static GameObject evilObject; public static PostProcessProfile profile; public static GameObject gomorrah; public static GameObject summonHair; public static GameObject camObj; public static GameObject p1s; public static GameObject p1as; public static GameObject p2s; public static GameObject p2as; public static GameObject p3s; public static GameObject p3as; public static GameObject p4s; public static GameObject p4as; public static GameObject pflur; public static GameObject heelk; public static GameObject heels; public static GameObject backk; public static GameObject backs; public static GameObject spin; public static GameObject slam; public static GameObject fallk; public static GameObject fall; public static GameObject falle; public static GameObject abk; public static GameObject p1s2; public static GameObject p1as2; public static GameObject p2s2; public static GameObject p2as2; public static GameObject p3s2; public static GameObject p3as2; public static GameObject p4s2; public static GameObject p4as2; public static GameObject pflur2; public static GameObject heelk2; public static GameObject heels2; public static GameObject backk2; public static GameObject backs2; public static GameObject spin2; public static GameObject slam2; public static GameObject fallk2; public static GameObject fall2; public static GameObject falle2; public static GameObject abk2; private static Material fireMat; public static GameObject p1art; public static GameObject p2art; public static GameObject p3art; public static GameObject p4art; public static GameObject bwings; public static GameObject bwings2; public static GameObject land; public static GameObject bats; public static GameObject djump; public static GameObject hearts; public static GameObject sum; public static GameObject damage; public static GameObject glintL; public static GameObject glintR; public static GameObject spotlight; public static GameObject spotlight2; public static GameObject footstep; internal static Sprite bayo1icon; internal static Sprite bayo2icon; public static void Init(AssetBundle assetBundle) { _assetBundle = assetBundle; CreateEffects(); CreateProjectiles(); CreateTrackers(); CreateDemons(); CreateUIElements(); } private static void CreateEffects() { CreateCommonEffects(); CreateSwings(); CreateSwings2(); MakeArtstyleVFX(); CreateOverlay(); CreateMuz(); } private static void CreateCommonEffects() { //IL_001b: Unknown result type (might be due to invalid IL or missing references) //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_0298: Unknown result type (might be due to invalid IL or missing references) //IL_029d: Unknown result type (might be due to invalid IL or missing references) //IL_02a1: Unknown result type (might be due to invalid IL or missing references) //IL_02a6: Unknown result type (might be due to invalid IL or missing references) //IL_02aa: Unknown result type (might be due to invalid IL or missing references) //IL_02af: Unknown result type (might be due to invalid IL or missing references) //IL_02c1: Unknown result type (might be due to invalid IL or missing references) damage = _assetBundle.LoadEffect("damage", parentToTransform: true); slam = PrefabAPI.InstantiateClone(Addressables.LoadAssetAsync((object)"RoR2/Base/HermitCrab/HermitCrabBombExplosion.prefab").WaitForCompletion(), "BayoSlam", false); bwings = _assetBundle.LoadAsset("wings"); bwings2 = _assetBundle.LoadAsset("wings2"); djump = _assetBundle.LoadEffect("djump", parentToTransform: true); hearts = _assetBundle.LoadEffect("kiss", parentToTransform: true); sum = _assetBundle.LoadEffect("summon", parentToTransform: true); bats = _assetBundle.LoadAsset("batswithin"); land = _assetBundle.LoadEffect("land", parentToTransform: true); camObj = _assetBundle.LoadAsset("CamObject"); glintL = _assetBundle.LoadEffect("shinel", parentToTransform: true); glintR = _assetBundle.LoadEffect("shiner", parentToTransform: true); footstep = _assetBundle.LoadEffect("footstep", parentToTransform: true); Object.Destroy((Object)(object)((Component)slam.transform.Find("Water, Billboard")).gameObject); Object.Destroy((Object)(object)((Component)slam.transform.Find("Flash")).gameObject); slam.GetComponent().soundName = ""; Vector3 val = default(Vector3); ((Vector3)(ref val))..ctor(3f, 3f, 3f); ((Component)slam.transform.Find("Water, Radial")).gameObject.transform.localScale_Injected = ref val; ((Component)slam.transform.Find("Point Light")).gameObject.GetComponent().range = 3f; ShakeEmitter component = slam.gameObject.GetComponent(); component.radius = 50f; component.duration = 0.3f; component.wave.amplitude = 3f; component.wave.frequency = 60f; ((Component)slam.transform.Find("Water, Directional")).gameObject.transform.localScale_Injected = ref val; ((Vector3)(ref val))..ctor(2f, 2f, 2f); ((Component)slam.transform.Find("Debris, 3D")).gameObject.transform.localScale_Injected = ref val; MainModule main = ((Component)slam.transform.Find("Water, Directional")).gameObject.GetComponent().main; MinMaxGradient startColor = ((MainModule)(ref main)).startColor; Color color = ((MinMaxGradient)(ref startColor)).color; ((Color)(ref color))..ctor(0.231372f, 0.2f, 231372f, color.a); bwings.AddComponent(); bwings2.AddComponent(); ContentAddition.AddEffect(slam); } private static void CreateSwings() { p1s = _assetBundle.LoadAsset("m1p1"); p1as = _assetBundle.LoadEffect("m1p1a", parentToTransform: true); p2s = _assetBundle.LoadAsset("m1p2"); p2as = _assetBundle.LoadEffect("m1p2a", parentToTransform: true); p3s = _assetBundle.LoadAsset("m1p3"); p3as = _assetBundle.LoadEffect("m1p3a", parentToTransform: true); p4s = _assetBundle.LoadAsset("m1p4"); p4as = _assetBundle.LoadEffect("m1p4a", parentToTransform: true); pflur = _assetBundle.LoadAsset("m1flur"); heelk = _assetBundle.LoadEffect("heelkick", parentToTransform: true); fallk = _assetBundle.LoadAsset("fallkick"); fall = _assetBundle.LoadAsset("fall"); falle = _assetBundle.LoadEffect("fallend", parentToTransform: true); heels = _assetBundle.LoadAsset("heels"); spin = _assetBundle.LoadAsset("spin"); backk = _assetBundle.LoadAsset("backkick"); backs = _assetBundle.LoadAsset("backspin"); abk = _assetBundle.LoadAsset("abk"); p1s.gameObject.AddComponent(); p2s.gameObject.AddComponent(); p3s.gameObject.AddComponent(); p4s.gameObject.AddComponent(); ((Component)p2s.transform.Find("swing1")).gameObject.AddComponent(); ((Component)p2as.transform.Find("swing1")).gameObject.AddComponent(); MoveOffset moveOffset = ((Component)p3s.transform.Find("swing1")).gameObject.AddComponent(); moveOffset.slideDur = 0.15f; ((Component)p3as.transform.Find("swing1")).gameObject.AddComponent(); moveOffset = ((Component)p4s.transform.Find("swing1")).gameObject.AddComponent(); moveOffset.slideDur = 0.15f; moveOffset = ((Component)fall.transform.Find("swing1")).gameObject.AddComponent(); moveOffset.startOffset = -3f; moveOffset.idealOffset = 0f; moveOffset.smooth = false; moveOffset.slideDur = 0.25f; moveOffset = ((Component)falle.transform.Find("swing1")).gameObject.AddComponent(); moveOffset.startOffset = -3f; moveOffset.idealOffset = 0f; moveOffset.atEnd = true; moveOffset.atStart = false; moveOffset.duration = 0.4f; moveOffset.slideDur = 0.2f; for (int i = 1; i < 7; i++) { moveOffset = ((Component)pflur.transform.Find("swing" + i)).gameObject.AddComponent(); moveOffset.slideDur = 0.15f; } for (int j = 1; j < 3; j++) { moveOffset = ((Component)heelk.transform.Find("swing" + j)).gameObject.AddComponent(); moveOffset.startOffset = 0.3f; moveOffset.idealOffset = -0.5f; moveOffset.slideDur = 0.2f; } for (int k = 1; k < 3; k++) { moveOffset = ((Component)spin.transform.Find("swing" + k)).gameObject.AddComponent(); moveOffset.startOffset = 0.3f; moveOffset.idealOffset = -0.8f; moveOffset.slideDur = 0.125f; } for (int l = 1; l < 3; l++) { moveOffset = ((Component)backk.transform.Find("swing" + l)).gameObject.AddComponent(); moveOffset.startOffset = 0.3f; moveOffset.idealOffset = -1f; moveOffset.slideDur = 0.35f; } for (int m = 1; m < 3; m++) { moveOffset = ((Component)backs.transform.Find("swing" + m)).gameObject.AddComponent(); moveOffset.startOffset = 0.3f; moveOffset.idealOffset = -0.8f; moveOffset.slideDur = 0.2f; } for (int n = 1; n < 3; n++) { moveOffset = ((Component)fallk.transform.Find("swing" + n)).gameObject.AddComponent(); moveOffset.startOffset = 0.3f; moveOffset.idealOffset = -0.8f; moveOffset.slideDur = 0.3f; } } private static void CreateSwings2() { p1s2 = _assetBundle.LoadAsset("m1p12"); p1as2 = _assetBundle.LoadEffect("m1p1a2", parentToTransform: true); p2s2 = _assetBundle.LoadAsset("m1p22"); p2as2 = _assetBundle.LoadEffect("m1p2a2", parentToTransform: true); p3s2 = _assetBundle.LoadAsset("m1p32"); p3as2 = _assetBundle.LoadEffect("m1p3a2", parentToTransform: true); p4s2 = _assetBundle.LoadAsset("m1p42"); p4as2 = _assetBundle.LoadEffect("m1p4a2", parentToTransform: true); pflur2 = _assetBundle.LoadAsset("m1flur2"); heelk2 = _assetBundle.LoadEffect("heelkick2", parentToTransform: true); fallk2 = _assetBundle.LoadAsset("fallkick2"); fall2 = _assetBundle.LoadAsset("fall2"); falle2 = _assetBundle.LoadEffect("fallend2", parentToTransform: true); heels2 = _assetBundle.LoadAsset("heels2"); spin2 = _assetBundle.LoadAsset("spin2"); backk2 = _assetBundle.LoadAsset("backkick2"); backs2 = _assetBundle.LoadAsset("backspin2"); abk2 = _assetBundle.LoadAsset("abk2"); p1s2.gameObject.AddComponent(); p2s2.gameObject.AddComponent(); p3s2.gameObject.AddComponent(); p4s2.gameObject.AddComponent(); ((Component)p2s2.transform.Find("swing1")).gameObject.AddComponent(); ((Component)p2as2.transform.Find("swing1")).gameObject.AddComponent(); MoveOffset moveOffset = ((Component)p3s2.transform.Find("swing1")).gameObject.AddComponent(); moveOffset.slideDur = 0.15f; ((Component)p3as2.transform.Find("swing1")).gameObject.AddComponent(); moveOffset = ((Component)p4s2.transform.Find("swing1")).gameObject.AddComponent(); moveOffset.slideDur = 0.15f; moveOffset = ((Component)fall2.transform.Find("swing1")).gameObject.AddComponent(); moveOffset.startOffset = -3f; moveOffset.idealOffset = 0f; moveOffset.smooth = false; moveOffset.slideDur = 0.25f; moveOffset = ((Component)falle2.transform.Find("swing1")).gameObject.AddComponent(); moveOffset.startOffset = -3f; moveOffset.idealOffset = 0f; moveOffset.atEnd = true; moveOffset.atStart = false; moveOffset.duration = 0.4f; moveOffset.slideDur = 0.2f; for (int i = 1; i < 7; i++) { moveOffset = ((Component)pflur2.transform.Find("swing" + i)).gameObject.AddComponent(); moveOffset.slideDur = 0.15f; } for (int j = 1; j < 3; j++) { moveOffset = ((Component)heelk2.transform.Find("swing" + j)).gameObject.AddComponent(); moveOffset.startOffset = 0.3f; moveOffset.idealOffset = -0.5f; moveOffset.slideDur = 0.2f; } for (int k = 1; k < 3; k++) { moveOffset = ((Component)spin2.transform.Find("swing" + k)).gameObject.AddComponent(); moveOffset.startOffset = 0.3f; moveOffset.idealOffset = -0.8f; moveOffset.slideDur = 0.125f; } for (int l = 1; l < 3; l++) { moveOffset = ((Component)backk2.transform.Find("swing" + l)).gameObject.AddComponent(); moveOffset.startOffset = 0.3f; moveOffset.idealOffset = -1f; moveOffset.slideDur = 0.35f; } for (int m = 1; m < 3; m++) { moveOffset = ((Component)backs2.transform.Find("swing" + m)).gameObject.AddComponent(); moveOffset.startOffset = 0.3f; moveOffset.idealOffset = -0.8f; moveOffset.slideDur = 0.2f; } for (int n = 1; n < 3; n++) { moveOffset = ((Component)fallk2.transform.Find("swing" + n)).gameObject.AddComponent(); moveOffset.startOffset = 0.3f; moveOffset.idealOffset = -0.8f; moveOffset.slideDur = 0.3f; } SkinVFX.AddSkinVFX(BayoSurvivor.masterySkin, p1as, p1as2); SkinVFX.AddSkinVFX(BayoSurvivor.masterySkin, p2as, p2as2); SkinVFX.AddSkinVFX(BayoSurvivor.masterySkin, p3as, p3as2); SkinVFX.AddSkinVFX(BayoSurvivor.masterySkin, p4as, p4as2); SkinVFX.AddSkinVFX(BayoSurvivor.masterySkin, heelk, heelk2); SkinVFX.AddSkinVFX(BayoSurvivor.masterySkin, falle, falle2); } private static void MakeArtstyleVFX() { MakeMaterial(); MakeArtSwings(); } private static void MakeMaterial() { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_000b: Unknown result type (might be due to invalid IL or missing references) //IL_0092: 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_00c2: Unknown result type (might be due to invalid IL or missing references) GameObject val = PrefabAPI.InstantiateClone(Addressables.LoadAssetAsync((object)"RoR2/Base/Wisp/TracerEmbers.prefab").WaitForCompletion(), "TempBayoThingy", false); fireMat = ((Renderer)val.gameObject.GetComponent()).material; fireMat.mainTexture = _assetBundle.LoadAsset("texBasicMask"); fireMat.SetTexture("_Cloud1Tex", _assetBundle.LoadAsset("testmask")); Vector4 val2 = default(Vector4); ((Vector4)(ref val2))..ctor(0f, 25f, 4f, 4f); fireMat.SetVector("_CutoffScroll", val2); fireMat.mainTextureOffset = new Vector2(0f, 0.1f); fireMat.mainTextureScale = new Vector2(1f, 0.8f); } private static void MakeArtSwings() { p1art = _assetBundle.LoadAsset("artm1p1"); ((Renderer)((Component)p1art.transform.Find("swing1")).gameObject.GetComponent()).material = fireMat; p2art = _assetBundle.LoadAsset("artm1p2"); ((Renderer)((Component)p2art.transform.Find("swing1")).gameObject.GetComponent()).material = fireMat; MoveOffset moveOffset = ((Component)p2art.transform.Find("swing1")).gameObject.AddComponent(); moveOffset.startOffset = 0.3f; moveOffset.idealOffset = -0.65f; p3art = _assetBundle.LoadAsset("artm1p3"); ((Renderer)((Component)p3art.transform.Find("swing1")).gameObject.GetComponent()).material = fireMat; moveOffset = ((Component)p3art.transform.Find("swing1")).gameObject.AddComponent(); moveOffset.startOffset = 0.3f; moveOffset.idealOffset = -0.65f; moveOffset.slideDur = 0.15f; p4art = _assetBundle.LoadAsset("artm1p4"); ((Renderer)((Component)p4art.transform.Find("swing1")).gameObject.GetComponent()).material = fireMat; moveOffset = ((Component)p4art.transform.Find("swing1")).gameObject.AddComponent(); moveOffset.startOffset = 0.3f; moveOffset.idealOffset = -0.65f; moveOffset.slideDur = 0.15f; p1art.gameObject.AddComponent(); p2art.gameObject.AddComponent(); p3art.gameObject.AddComponent(); p4art.gameObject.AddComponent(); } private static void CreateOverlay() { //IL_01a4: Unknown result type (might be due to invalid IL or missing references) //IL_01a9: Unknown result type (might be due to invalid IL or missing references) //IL_023c: Unknown result type (might be due to invalid IL or missing references) //IL_0294: Unknown result type (might be due to invalid IL or missing references) //IL_0299: Unknown result type (might be due to invalid IL or missing references) //IL_0018: Unknown result type (might be due to invalid IL or missing references) //IL_001d: Unknown result type (might be due to invalid IL or missing references) //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) if (Config.overlayOn.Value) { wtOverlay = PrefabAPI.InstantiateClone(Addressables.LoadAssetAsync((object)"RoR2/Base/Common/VoidFogMildEffect.prefab").WaitForCompletion(), "WTOver", false); Object.Destroy((Object)(object)((Component)wtOverlay.transform.Find("VisualEffect/BleedOverTime")).gameObject); Object.Destroy((Object)(object)((Component)wtOverlay.transform.Find("VisualEffect/Small Sparks")).gameObject); Object.Destroy((Object)(object)((Component)wtOverlay.transform.Find("VisualEffect/Smoke")).gameObject); Object.Destroy((Object)(object)((Component)wtOverlay.transform.Find("VisualEffect/Point Light")).gameObject); Object.Destroy((Object)(object)((Component)wtOverlay.transform.Find("CameraEffect/Shake")).gameObject); profile = ((Component)wtOverlay.transform.Find("CameraEffect/PP")).gameObject.GetComponent().profile; profile.RemoveSettings(); profile.RemoveSettings(); ((ParameterOverride)(object)profile.GetSetting().intensity).value = 0.3f; RampFog setting = profile.GetSetting(); ((ParameterOverride)(object)setting.fogColorStart).value = new Color(0.2f, 5f / 51f, 0.4f, 0.09f); ((ParameterOverride)(object)setting.fogIntensity).value = 0.9f; ((ParameterOverride)(object)setting.fogPower).value = 0.75f; ((Component)wtOverlay.transform.Find("CameraEffect/PP")).gameObject.GetComponent().sharedProfile = profile; } wtOverlay2 = PrefabAPI.InstantiateClone(Addressables.LoadAssetAsync((object)"RoR2/Base/Common/VoidFogMildEffect.prefab").WaitForCompletion(), "WTOver2", false); Object.Destroy((Object)(object)((Component)wtOverlay2.transform.Find("VisualEffect/BleedOverTime")).gameObject); Object.Destroy((Object)(object)((Component)wtOverlay2.transform.Find("VisualEffect/Small Sparks")).gameObject); Object.Destroy((Object)(object)((Component)wtOverlay2.transform.Find("VisualEffect/Smoke")).gameObject); ((Component)wtOverlay2.transform.Find("VisualEffect/Point Light")).gameObject.GetComponent().color = Color.white; ((Component)wtOverlay2.transform.Find("VisualEffect/Point Light")).gameObject.GetComponent().intensity = 10f; Object.Destroy((Object)(object)((Component)wtOverlay2.transform.Find("CameraEffect/Shake")).gameObject); spotlight = PrefabAPI.InstantiateClone(Addressables.LoadAssetAsync((object)"RoR2/Base/Common/VoidFogMildEffect.prefab").WaitForCompletion(), "BayoSpotlight", false); Object.Destroy((Object)(object)((Component)spotlight.transform.Find("VisualEffect/BleedOverTime")).gameObject); Object.Destroy((Object)(object)((Component)spotlight.transform.Find("VisualEffect/Small Sparks")).gameObject); Object.Destroy((Object)(object)((Component)spotlight.transform.Find("VisualEffect/Smoke")).gameObject); Object.Destroy((Object)(object)((Component)spotlight.transform.Find("VisualEffect/Point Light")).gameObject); Object.Destroy((Object)(object)((Component)spotlight.transform.Find("CameraEffect/Shake")).gameObject); spotlight2 = _assetBundle.LoadEffect("spotlight", parentToTransform: true); } private static void CreateMuz() { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_000b: Unknown result type (might be due to invalid IL or missing references) //IL_0029: 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_0086: Unknown result type (might be due to invalid IL or missing references) //IL_008b: 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_0094: Unknown result type (might be due to invalid IL or missing references) //IL_009e: 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_00a7: 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) //IL_00bb: Unknown result type (might be due to invalid IL or missing references) //IL_00c0: Unknown result type (might be due to invalid IL or missing references) //IL_00c4: Unknown result type (might be due to invalid IL or missing references) //IL_00c9: Unknown result type (might be due to invalid IL or missing references) //IL_00fd: Unknown result type (might be due to invalid IL or missing references) //IL_0102: Unknown result type (might be due to invalid IL or missing references) //IL_0106: Unknown result type (might be due to invalid IL or missing references) //IL_010b: Unknown result type (might be due to invalid IL or missing references) //IL_0115: Unknown result type (might be due to invalid IL or missing references) //IL_011a: 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_0123: Unknown result type (might be due to invalid IL or missing references) //IL_0132: Unknown result type (might be due to invalid IL or missing references) //IL_0137: Unknown result type (might be due to invalid IL or missing references) //IL_013b: Unknown result type (might be due to invalid IL or missing references) //IL_0140: Unknown result type (might be due to invalid IL or missing references) //IL_0194: Unknown result type (might be due to invalid IL or missing references) bulletMuz = PrefabAPI.InstantiateClone(Addressables.LoadAssetAsync((object)"RoR2/Base/Common/VFX/Muzzleflash1.prefab").WaitForCompletion(), "BayoMuz", true); tempMuz = PrefabAPI.InstantiateClone(Addressables.LoadAssetAsync((object)"RoR2/Base/Bandit2/MuzzleflashBandit2.prefab").WaitForCompletion(), "BayoTempMuz", true); ParticleSystem component = ((Component)bulletMuz.transform.Find("Starburst")).gameObject.GetComponent(); ParticleSystem component2 = ((Component)tempMuz.transform.Find("TriangleSparks")).gameObject.GetComponent(); ColorOverLifetimeModule colorOverLifetime = component.colorOverLifetime; MinMaxGradient color = ((ColorOverLifetimeModule)(ref colorOverLifetime)).color; Gradient gradient = ((MinMaxGradient)(ref color)).gradient; colorOverLifetime = component2.colorOverLifetime; color = ((ColorOverLifetimeModule)(ref colorOverLifetime)).color; GradientColorKey[] colorKeys = ((MinMaxGradient)(ref color)).gradient.colorKeys; colorOverLifetime = component2.colorOverLifetime; color = ((ColorOverLifetimeModule)(ref colorOverLifetime)).color; gradient.SetKeys(colorKeys, ((MinMaxGradient)(ref color)).gradient.alphaKeys); component = ((Component)bulletMuz.transform.Find("HitFlash")).gameObject.GetComponent(); colorOverLifetime = component.colorOverLifetime; color = ((ColorOverLifetimeModule)(ref colorOverLifetime)).color; Gradient gradient2 = ((MinMaxGradient)(ref color)).gradient; colorOverLifetime = component2.colorOverLifetime; color = ((ColorOverLifetimeModule)(ref colorOverLifetime)).color; GradientColorKey[] colorKeys2 = ((MinMaxGradient)(ref color)).gradient.colorKeys; colorOverLifetime = component2.colorOverLifetime; color = ((ColorOverLifetimeModule)(ref colorOverLifetime)).color; gradient2.SetKeys(colorKeys2, ((MinMaxGradient)(ref color)).gradient.alphaKeys); Light component3 = ((Component)bulletMuz.transform.Find("Point light")).gameObject.GetComponent(); Light component4 = ((Component)tempMuz.transform.Find("Point light")).gameObject.GetComponent(); component3.color = component4.color; ContentAddition.AddEffect(bulletMuz); } private static void CreateProjectiles() { CreateWeaveProjectiles(); CreateWard(); CreateEvilObject(); Content.AddProjectilePrefab(fistProjectilePrefab); Content.AddProjectilePrefab(footProjectilePrefab); PrefabAPI.RegisterNetworkPrefab(fistProjectilePrefab); PrefabAPI.RegisterNetworkPrefab(footProjectilePrefab); Content.AddProjectilePrefab(fistFast); Content.AddProjectilePrefab(footFast); PrefabAPI.RegisterNetworkPrefab(fistFast); PrefabAPI.RegisterNetworkPrefab(footFast); Content.AddProjectilePrefab(fistDown); PrefabAPI.RegisterNetworkPrefab(fistDown); ContentAddition.AddNetworkedObject(wardPrefab); ContentAddition.AddNetworkedObject(evilObject); } private static void CreateWeaveProjectiles() { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_000b: Unknown result type (might be due to invalid IL or missing references) //IL_00e6: Unknown result type (might be due to invalid IL or missing references) //IL_0110: Unknown result type (might be due to invalid IL or missing references) //IL_0112: Unknown result type (might be due to invalid IL or missing references) //IL_0229: Unknown result type (might be due to invalid IL or missing references) //IL_0253: Unknown result type (might be due to invalid IL or missing references) //IL_0255: Unknown result type (might be due to invalid IL or missing references) //IL_034b: Unknown result type (might be due to invalid IL or missing references) //IL_0375: Unknown result type (might be due to invalid IL or missing references) //IL_0377: Unknown result type (might be due to invalid IL or missing references) //IL_04d9: Unknown result type (might be due to invalid IL or missing references) //IL_0503: Unknown result type (might be due to invalid IL or missing references) //IL_0505: Unknown result type (might be due to invalid IL or missing references) //IL_061f: Unknown result type (might be due to invalid IL or missing references) //IL_0649: Unknown result type (might be due to invalid IL or missing references) //IL_064b: Unknown result type (might be due to invalid IL or missing references) Material material = Addressables.LoadAssetAsync((object)"RoR2/Base/Nullifier/matNullifierGemPortal2.mat").WaitForCompletion(); if ((Object)(object)_assetBundle.LoadAsset("footproj") != (Object)null && (Object)(object)_assetBundle.LoadAsset("weavefoot") != (Object)null) { footProjectilePrefab = _assetBundle.LoadAsset("footproj"); footProjectilePrefab.GetComponent().ghostPrefab = _assetBundle.CreateProjectileGhostPrefab("weavefoot"); WickedWeave wickedWeave = footProjectilePrefab.AddComponent(); wickedWeave.startTime = 0.24f; wickedWeave.hitboxEnd = 1.04f; ShakeEmitter val = footProjectilePrefab.AddComponent(); val.amplitudeTimeDecay = true; val.duration = 0.36f; val.radius = 100f; val.scaleShakeRadiusWithLocalScale = false; val.shakeOnStart = false; val.shakeOnEnable = true; val.wave = new Wave { amplitude = 2f, frequency = 7f, cycleOffset = 0f }; LoopSoundDef val2 = ScriptableObject.CreateInstance(); val2.startSoundName = "weaved"; footProjectilePrefab.gameObject.GetComponent().flightSoundLoop = val2; ((Renderer)((Component)footProjectilePrefab.GetComponent().ghostPrefab.transform.Find("portal/ring")).GetComponent()).material = material; ((Renderer)((Component)footProjectilePrefab.GetComponent().ghostPrefab.transform.Find("portal/hair")).GetComponent()).material = material; footFast = PrefabAPI.InstantiateClone(_assetBundle.LoadAsset("footproj"), "footfast"); footFast.GetComponent().ghostPrefab = _assetBundle.CreateProjectileGhostPrefab("weavefootfast"); wickedWeave = footFast.GetComponent(); wickedWeave.startTime = 0f; wickedWeave.hitboxEnd = 0.8f; val = footFast.GetComponent(); val.amplitudeTimeDecay = true; val.duration = 0.36f; val.radius = 100f; val.scaleShakeRadiusWithLocalScale = false; val.wave = new Wave { amplitude = 2f, frequency = 7f, cycleOffset = 0f }; val2 = ScriptableObject.CreateInstance(); val2.startSoundName = "weave"; footFast.gameObject.GetComponent().flightSoundLoop = val2; ((Renderer)((Component)footFast.GetComponent().ghostPrefab.transform.Find("portal/ring")).GetComponent()).material = material; ((Renderer)((Component)footFast.GetComponent().ghostPrefab.transform.Find("portal/hair")).GetComponent()).material = material; fistDown = PrefabAPI.InstantiateClone(_assetBundle.LoadAsset("footproj"), "fastweaveHand"); fistDown.GetComponent().ghostPrefab = _assetBundle.CreateProjectileGhostPrefab("weavehandDown"); val = fistDown.GetComponent(); val.amplitudeTimeDecay = true; val.duration = 0.36f; val.radius = 100f; val.scaleShakeRadiusWithLocalScale = false; val.wave = new Wave { amplitude = 2f, frequency = 7f, cycleOffset = 0f }; val2 = ScriptableObject.CreateInstance(); val2.startSoundName = "weaved"; fistDown.gameObject.GetComponent().flightSoundLoop = val2; ((Renderer)((Component)fistDown.GetComponent().ghostPrefab.transform.Find("portal/ring")).GetComponent()).material = material; ((Renderer)((Component)fistDown.GetComponent().ghostPrefab.transform.Find("portal/hair")).GetComponent()).material = material; wickedWeave = fistDown.GetComponent(); wickedWeave.startTime = 0.32f; wickedWeave.hitboxEnd = 1.12f; } if ((Object)(object)_assetBundle.LoadAsset("fistproj") != (Object)null && (Object)(object)_assetBundle.LoadAsset("weavehand") != (Object)null) { fistProjectilePrefab = _assetBundle.LoadAsset("fistproj"); fistProjectilePrefab.GetComponent().ghostPrefab = _assetBundle.CreateProjectileGhostPrefab("weavehand"); fistProjectilePrefab.AddComponent(); ShakeEmitter val3 = fistProjectilePrefab.AddComponent(); val3.amplitudeTimeDecay = true; val3.duration = 0.36f; val3.radius = 100f; val3.scaleShakeRadiusWithLocalScale = false; val3.shakeOnStart = false; val3.shakeOnEnable = true; val3.wave = new Wave { amplitude = 2f, frequency = 7f, cycleOffset = 0f }; LoopSoundDef val4 = ScriptableObject.CreateInstance(); val4.startSoundName = "weaved"; fistProjectilePrefab.gameObject.GetComponent().flightSoundLoop = val4; ((Renderer)((Component)fistProjectilePrefab.GetComponent().ghostPrefab.transform.Find("portal/ring")).GetComponent()).material = material; ((Renderer)((Component)fistProjectilePrefab.GetComponent().ghostPrefab.transform.Find("portal/hair")).GetComponent()).material = material; fistFast = PrefabAPI.InstantiateClone(_assetBundle.LoadAsset("fistproj"), "fistfast"); fistFast.GetComponent().ghostPrefab = _assetBundle.CreateProjectileGhostPrefab("weavehandfast"); WickedWeave component = fistFast.GetComponent(); component.startTime = 0f; component.hitboxEnd = 0.8f; val3 = fistFast.GetComponent(); val3.amplitudeTimeDecay = true; val3.duration = 0.36f; val3.radius = 100f; val3.scaleShakeRadiusWithLocalScale = false; val3.wave = new Wave { amplitude = 2f, frequency = 7f, cycleOffset = 0f }; val4 = ScriptableObject.CreateInstance(); val4.startSoundName = "weave"; fistFast.gameObject.GetComponent().flightSoundLoop = val4; ((Renderer)((Component)fistFast.GetComponent().ghostPrefab.transform.Find("portal/ring")).GetComponent()).material = material; ((Renderer)((Component)fistFast.GetComponent().ghostPrefab.transform.Find("portal/hair")).GetComponent()).material = material; } } private static void CreateTrackers() { //IL_0039: 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_0090: Unknown result type (might be due to invalid IL or missing references) //IL_00be: Unknown result type (might be due to invalid IL or missing references) //IL_0117: Unknown result type (might be due to invalid IL or missing references) //IL_0123: Unknown result type (might be due to invalid IL or missing references) trackerPrefab = PrefabAPI.InstantiateClone(Resources.Load("Prefabs/HuntressTrackingIndicator"), "BayoTrackerPrefab", false); ((Component)trackerPrefab.transform.Find("Core Pip")).gameObject.GetComponent().color = Color.magenta; trackerPrefab.transform.Find("Core Pip").localScale = new Vector3(0.15f, 0.15f, 0.15f); ((Component)trackerPrefab.transform.Find("Core, Dark")).gameObject.GetComponent().color = Color.black; trackerPrefab.transform.Find("Core, Dark").localScale = new Vector3(0.1f, 0.1f, 0.1f); SpriteRenderer[] componentsInChildren = ((Component)trackerPrefab.transform.Find("Holder")).gameObject.GetComponentsInChildren(); foreach (SpriteRenderer val in componentsInChildren) { if (Object.op_Implicit((Object)(object)val)) { ((Component)val).gameObject.transform.localScale = new Vector3(0.2f, 0.2f, 1f); val.color = Color.red; } } } private static void CreateWard() { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_000b: Unknown result type (might be due to invalid IL or missing references) //IL_00d5: 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) wardPrefab = PrefabAPI.InstantiateClone(Addressables.LoadAssetAsync((object)"RoR2/DLC1/Railgunner/RailgunnerMineAltDetonated.prefab").WaitForCompletion(), "WtWardPrefab", true); BuffWard component = wardPrefab.GetComponent(); component.buffDef = BayoBuffs.wtDebuff; component.invertTeamFilter = true; component.radius = 25f; component.interval = 0.2f; component.expires = false; SphereCollider component2 = wardPrefab.GetComponent(); component2.radius = 25f; SlowDownProjectiles component3 = wardPrefab.GetComponent(); component3.slowDownCoefficient = 0.075f; NetworkedBodyAttachment val = wardPrefab.AddComponent(); val.shouldParentToAttachedBody = true; wardPrefab.GetComponent().localPlayerAuthority = true; Rigidbody component4 = wardPrefab.GetComponent(); component4.angularDrag = 0.05f; component4.interpolation = (RigidbodyInterpolation)0; tempWard = PrefabAPI.InstantiateClone(Addressables.LoadAssetAsync((object)"RoR2/Base/EliteHaunted/AffixHauntedWard.prefab").WaitForCompletion(), "TempBayoWard", false); MeshRenderer component5 = ((Component)wardPrefab.transform.Find("AreaIndicator/Sphere")).gameObject.GetComponent(); Material material = ((Renderer)((Component)tempWard.transform.Find("Indicator/IndicatorSphere")).gameObject.GetComponent()).material; int num = material.GetTexturePropertyNameIDs()[3]; material.SetTexture(num, _assetBundle.LoadAsset("texRampWt")); Material[] materials = (Material[])(object)new Material[1] { material }; ((Renderer)component5).materials = materials; Object.Destroy((Object)(object)((Component)wardPrefab.transform.Find("AreaIndicator/Point Light")).gameObject); Object.Destroy((Object)(object)((Component)wardPrefab.transform.Find("AreaIndicator/ChargeIn")).gameObject); Object.Destroy((Object)(object)((Component)wardPrefab.transform.Find("AreaIndicator/Core")).gameObject); Object.Destroy((Object)(object)((Component)wardPrefab.transform.Find("AreaIndicator/SoftGlow")).gameObject); } private static void CreateEvilObject() { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_000b: Unknown result type (might be due to invalid IL or missing references) //IL_0083: Unknown result type (might be due to invalid IL or missing references) //IL_0127: Unknown result type (might be due to invalid IL or missing references) evilObject = PrefabAPI.InstantiateClone(Addressables.LoadAssetAsync((object)"RoR2/Base/SurvivorPod/SurvivorPodBatteryPanel.prefab").WaitForCompletion(), "AwesomeBayoObject", true); Object.Destroy((Object)(object)evilObject.GetComponent()); Object.Destroy((Object)(object)evilObject.GetComponent()); Object.Destroy((Object)(object)evilObject.GetComponent()); GameObject gameObject = ((Component)evilObject.transform.Find("Interactibility")).gameObject; gameObject.transform.localPosition = new Vector3(0f, 1.54f, 0f); Vector3 val = default(Vector3); ((Vector3)(ref val))..ctor(2f, 2f, 3f); gameObject.GetComponent().size_Injected = ref val; MeshRenderer component = ((Component)evilObject.transform.Find("EscapePodMesh.002")).gameObject.GetComponent(); Rigidbody val2 = evilObject.AddComponent(); val2.mass = 1f; val2.angularDrag = 0f; val2.isKinematic = true; val2.interpolation = (RigidbodyInterpolation)0; NetworkedBodyAttachment val3 = evilObject.AddComponent(); val3.shouldParentToAttachedBody = true; GenericInteraction component2 = evilObject.GetComponent(); component2.interactability = (Interactability)0; component2.contextToken = "PSYCHE_BAYO_PUNISH_PROMPT"; component2.shouldShowOnScanner = false; component2.shouldIgnoreSpherecastForInteractibility = false; ((UnityEventBase)component2.onActivation).RemoveAllListeners(); NetworkIdentity component3 = evilObject.GetComponent(); component3.localPlayerAuthority = true; Object.Destroy((Object)(object)evilObject.GetComponent()); ((Renderer)component).enabled = false; component2.shouldProximityHighlight = false; } private static void CreateDemons() { //IL_0098: Unknown result type (might be due to invalid IL or missing references) //IL_009d: Unknown result type (might be due to invalid IL or missing references) summonHair = _assetBundle.LoadAsset("sumHair"); ((Component)summonHair.transform.Find("summonhair")).gameObject.AddComponent(); gomorrah = _assetBundle.LoadAsset("gomorrah"); gomorrah.gameObject.AddComponent(); gomorrah.gameObject.AddComponent(); gomorrah.gameObject.AddComponent(); DestroyOnTimer val = gomorrah.gameObject.AddComponent(); val.duration = 17.98f; Material material = Addressables.LoadAssetAsync((object)"RoR2/DLC1/Common/Void/matNullifierGemPortal3.mat").WaitForCompletion(); ChildLocator component = gomorrah.gameObject.GetComponent(); if (Object.op_Implicit((Object)(object)component)) { int num = component.FindChildIndex("portal"); Transform val2 = component.FindChild(num); ((Renderer)((Component)val2.Find("hair")).GetComponent()).material = material; ((Renderer)((Component)val2.Find("ring")).GetComponent()).material = material; } ContentAddition.AddNetworkedObject(gomorrah); } private static void CreateUIElements() { bayo1icon = _assetBundle.LoadAsset("texBayoIcon"); bayo2icon = _assetBundle.LoadAsset("texBayo2Icon"); } } public static class BayoBuffs { public static BuffDef armorBuff; public static BuffDef dodgeBuff; public static BuffDef evadeSuccess; public static BuffDef wtBuff; public static BuffDef wtCoolDown; public static BuffDef wtDebuff; public static BuffDef snapBuff; public static BuffDef spotBuff; public static BuffDef punishable; public static BuffDef climaxed; public static void Init(AssetBundle assetBundle) { //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_003a: Unknown result type (might be due to invalid IL or missing references) //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0084: 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_00ce: 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_0118: Unknown result type (might be due to invalid IL or missing references) //IL_013d: Unknown result type (might be due to invalid IL or missing references) //IL_0162: Unknown result type (might be due to invalid IL or missing references) armorBuff = Content.CreateAndAddBuff("BayoArmorBuff", LegacyResourcesAPI.Load("BuffDefs/HiddenInvincibility").iconSprite, Color.white, canStack: false, isDebuff: false); dodgeBuff = Content.CreateAndAddBuff("BayoDodgeBuff", LegacyResourcesAPI.Load("BuffDefs/HiddenInvincibility").iconSprite, Color.magenta, canStack: false, isDebuff: false); evadeSuccess = Content.CreateAndAddBuff("BayoSuccessBuff", LegacyResourcesAPI.Load("BuffDefs/HiddenInvincibility").iconSprite, Color.yellow, canStack: false, isDebuff: false); wtBuff = Content.CreateAndAddBuff("BayoWTBuff", LegacyResourcesAPI.Load("BuffDefs/Overheat").iconSprite, Color.magenta, canStack: true, isDebuff: false); snapBuff = Content.CreateAndAddBuff("BayoSnapBuff", LegacyResourcesAPI.Load("BuffDefs/Overheat").iconSprite, Color.white, canStack: true, isDebuff: false); spotBuff = Content.CreateAndAddBuff("BayoSpotBuff", LegacyResourcesAPI.Load("BuffDefs/Overheat").iconSprite, Color.yellow, canStack: true, isDebuff: false); wtCoolDown = Content.CreateAndAddBuff("BayoWTCDBuff", LegacyResourcesAPI.Load("BuffDefs/Overheat").iconSprite, Color.gray, canStack: true, isDebuff: true); wtDebuff = Content.CreateAndAddBuff("BayoWTDebuff", LegacyResourcesAPI.Load("BuffDefs/Overheat").iconSprite, Color.black, canStack: false, isDebuff: true); punishable = Content.CreateAndAddBuff("BayoPunishable", LegacyResourcesAPI.Load("BuffDefs/HiddenInvincibility").iconSprite, Color.black, canStack: false, isDebuff: true); climaxed = Content.CreateAndAddBuff("BayoClimaxed", LegacyResourcesAPI.Load("BuffDefs/VoidFogMild").iconSprite, Color.black, canStack: false, isDebuff: true); } } public class BayoItemDisplays : ItemDisplaysBase { protected override void SetItemDisplayRules(List itemDisplayRules) { //IL_0037: Unknown result type (might be due to invalid IL or missing references) //IL_004b: Unknown result type (might be due to invalid IL or missing references) //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0064: Unknown result type (might be due to invalid IL or missing references) //IL_0069: Unknown result type (might be due to invalid IL or missing references) //IL_006e: Unknown result type (might be due to invalid IL or missing references) //IL_00af: Unknown result type (might be due to invalid IL or missing references) //IL_00c3: Unknown result type (might be due to invalid IL or missing references) //IL_00d7: Unknown result type (might be due to invalid IL or missing references) //IL_00dc: Unknown result type (might be due to invalid IL or missing references) //IL_00e1: Unknown result type (might be due to invalid IL or missing references) //IL_00e6: Unknown result type (might be due to invalid IL or missing references) //IL_0127: Unknown result type (might be due to invalid IL or missing references) //IL_013b: Unknown result type (might be due to invalid IL or missing references) //IL_014f: Unknown result type (might be due to invalid IL or missing references) //IL_0154: Unknown result type (might be due to invalid IL or missing references) //IL_0159: Unknown result type (might be due to invalid IL or missing references) //IL_015e: Unknown result type (might be due to invalid IL or missing references) //IL_019f: Unknown result type (might be due to invalid IL or missing references) //IL_01b3: Unknown result type (might be due to invalid IL or missing references) //IL_01c7: Unknown result type (might be due to invalid IL or missing references) //IL_01cc: Unknown result type (might be due to invalid IL or missing references) //IL_01d1: Unknown result type (might be due to invalid IL or missing references) //IL_01d6: Unknown result type (might be due to invalid IL or missing references) //IL_0217: Unknown result type (might be due to invalid IL or missing references) //IL_022b: Unknown result type (might be due to invalid IL or missing references) //IL_023f: Unknown result type (might be due to invalid IL or missing references) //IL_0244: Unknown result type (might be due to invalid IL or missing references) //IL_0249: Unknown result type (might be due to invalid IL or missing references) //IL_024e: Unknown result type (might be due to invalid IL or missing references) //IL_028f: Unknown result type (might be due to invalid IL or missing references) //IL_02a3: Unknown result type (might be due to invalid IL or missing references) //IL_02b7: Unknown result type (might be due to invalid IL or missing references) //IL_02bc: Unknown result type (might be due to invalid IL or missing references) //IL_02c1: Unknown result type (might be due to invalid IL or missing references) //IL_02c6: Unknown result type (might be due to invalid IL or missing references) //IL_0307: Unknown result type (might be due to invalid IL or missing references) //IL_031b: Unknown result type (might be due to invalid IL or missing references) //IL_032f: Unknown result type (might be due to invalid IL or missing references) //IL_0334: Unknown result type (might be due to invalid IL or missing references) //IL_0339: Unknown result type (might be due to invalid IL or missing references) //IL_033e: Unknown result type (might be due to invalid IL or missing references) //IL_037f: Unknown result type (might be due to invalid IL or missing references) //IL_0393: Unknown result type (might be due to invalid IL or missing references) //IL_03a7: Unknown result type (might be due to invalid IL or missing references) //IL_03ac: Unknown result type (might be due to invalid IL or missing references) //IL_03b1: Unknown result type (might be due to invalid IL or missing references) //IL_03b6: Unknown result type (might be due to invalid IL or missing references) //IL_03f7: Unknown result type (might be due to invalid IL or missing references) //IL_040b: Unknown result type (might be due to invalid IL or missing references) //IL_041f: Unknown result type (might be due to invalid IL or missing references) //IL_0424: Unknown result type (might be due to invalid IL or missing references) //IL_0429: Unknown result type (might be due to invalid IL or missing references) //IL_042e: Unknown result type (might be due to invalid IL or missing references) //IL_046f: Unknown result type (might be due to invalid IL or missing references) //IL_0483: Unknown result type (might be due to invalid IL or missing references) //IL_0497: Unknown result type (might be due to invalid IL or missing references) //IL_049c: Unknown result type (might be due to invalid IL or missing references) //IL_04a1: Unknown result type (might be due to invalid IL or missing references) //IL_04a6: Unknown result type (might be due to invalid IL or missing references) //IL_04e7: Unknown result type (might be due to invalid IL or missing references) //IL_04fb: Unknown result type (might be due to invalid IL or missing references) //IL_050f: Unknown result type (might be due to invalid IL or missing references) //IL_0514: Unknown result type (might be due to invalid IL or missing references) //IL_0519: Unknown result type (might be due to invalid IL or missing references) //IL_051e: Unknown result type (might be due to invalid IL or missing references) //IL_055f: Unknown result type (might be due to invalid IL or missing references) //IL_0573: Unknown result type (might be due to invalid IL or missing references) //IL_0587: Unknown result type (might be due to invalid IL or missing references) //IL_058c: Unknown result type (might be due to invalid IL or missing references) //IL_0591: Unknown result type (might be due to invalid IL or missing references) //IL_0596: Unknown result type (might be due to invalid IL or missing references) //IL_05d7: Unknown result type (might be due to invalid IL or missing references) //IL_05eb: Unknown result type (might be due to invalid IL or missing references) //IL_05ff: Unknown result type (might be due to invalid IL or missing references) //IL_0604: Unknown result type (might be due to invalid IL or missing references) //IL_0609: Unknown result type (might be due to invalid IL or missing references) //IL_060e: Unknown result type (might be due to invalid IL or missing references) //IL_064f: Unknown result type (might be due to invalid IL or missing references) //IL_0663: Unknown result type (might be due to invalid IL or missing references) //IL_0677: Unknown result type (might be due to invalid IL or missing references) //IL_067c: Unknown result type (might be due to invalid IL or missing references) //IL_0681: Unknown result type (might be due to invalid IL or missing references) //IL_0686: Unknown result type (might be due to invalid IL or missing references) //IL_06c7: Unknown result type (might be due to invalid IL or missing references) //IL_06db: Unknown result type (might be due to invalid IL or missing references) //IL_06ef: Unknown result type (might be due to invalid IL or missing references) //IL_06f4: Unknown result type (might be due to invalid IL or missing references) //IL_06f9: Unknown result type (might be due to invalid IL or missing references) //IL_06fe: Unknown result type (might be due to invalid IL or missing references) //IL_073f: Unknown result type (might be due to invalid IL or missing references) //IL_0753: Unknown result type (might be due to invalid IL or missing references) //IL_0767: Unknown result type (might be due to invalid IL or missing references) //IL_076c: Unknown result type (might be due to invalid IL or missing references) //IL_0771: Unknown result type (might be due to invalid IL or missing references) //IL_0776: Unknown result type (might be due to invalid IL or missing references) //IL_07b7: Unknown result type (might be due to invalid IL or missing references) //IL_07cb: Unknown result type (might be due to invalid IL or missing references) //IL_07df: Unknown result type (might be due to invalid IL or missing references) //IL_07e4: Unknown result type (might be due to invalid IL or missing references) //IL_07e9: Unknown result type (might be due to invalid IL or missing references) //IL_07ee: Unknown result type (might be due to invalid IL or missing references) //IL_082f: Unknown result type (might be due to invalid IL or missing references) //IL_0843: Unknown result type (might be due to invalid IL or missing references) //IL_0857: Unknown result type (might be due to invalid IL or missing references) //IL_085c: Unknown result type (might be due to invalid IL or missing references) //IL_0861: Unknown result type (might be due to invalid IL or missing references) //IL_0866: Unknown result type (might be due to invalid IL or missing references) //IL_08a7: Unknown result type (might be due to invalid IL or missing references) //IL_08bb: Unknown result type (might be due to invalid IL or missing references) //IL_08cf: Unknown result type (might be due to invalid IL or missing references) //IL_08d4: Unknown result type (might be due to invalid IL or missing references) //IL_08d9: Unknown result type (might be due to invalid IL or missing references) //IL_08de: Unknown result type (might be due to invalid IL or missing references) //IL_091f: Unknown result type (might be due to invalid IL or missing references) //IL_0933: Unknown result type (might be due to invalid IL or missing references) //IL_0947: Unknown result type (might be due to invalid IL or missing references) //IL_094c: Unknown result type (might be due to invalid IL or missing references) //IL_0951: Unknown result type (might be due to invalid IL or missing references) //IL_0956: Unknown result type (might be due to invalid IL or missing references) //IL_0997: Unknown result type (might be due to invalid IL or missing references) //IL_09ab: Unknown result type (might be due to invalid IL or missing references) //IL_09bf: Unknown result type (might be due to invalid IL or missing references) //IL_09c4: Unknown result type (might be due to invalid IL or missing references) //IL_09c9: Unknown result type (might be due to invalid IL or missing references) //IL_09ce: Unknown result type (might be due to invalid IL or missing references) //IL_0a0f: Unknown result type (might be due to invalid IL or missing references) //IL_0a23: Unknown result type (might be due to invalid IL or missing references) //IL_0a37: Unknown result type (might be due to invalid IL or missing references) //IL_0a3c: Unknown result type (might be due to invalid IL or missing references) //IL_0a41: Unknown result type (might be due to invalid IL or missing references) //IL_0a46: Unknown result type (might be due to invalid IL or missing references) //IL_0a87: Unknown result type (might be due to invalid IL or missing references) //IL_0a9b: Unknown result type (might be due to invalid IL or missing references) //IL_0aaf: Unknown result type (might be due to invalid IL or missing references) //IL_0ab4: Unknown result type (might be due to invalid IL or missing references) //IL_0ab9: Unknown result type (might be due to invalid IL or missing references) //IL_0abe: Unknown result type (might be due to invalid IL or missing references) //IL_0aff: Unknown result type (might be due to invalid IL or missing references) //IL_0b13: Unknown result type (might be due to invalid IL or missing references) //IL_0b27: Unknown result type (might be due to invalid IL or missing references) //IL_0b2c: Unknown result type (might be due to invalid IL or missing references) //IL_0b31: Unknown result type (might be due to invalid IL or missing references) //IL_0b36: Unknown result type (might be due to invalid IL or missing references) //IL_0b77: Unknown result type (might be due to invalid IL or missing references) //IL_0b8b: Unknown result type (might be due to invalid IL or missing references) //IL_0b9f: Unknown result type (might be due to invalid IL or missing references) //IL_0ba4: Unknown result type (might be due to invalid IL or missing references) //IL_0ba9: Unknown result type (might be due to invalid IL or missing references) //IL_0bae: Unknown result type (might be due to invalid IL or missing references) //IL_0bef: Unknown result type (might be due to invalid IL or missing references) //IL_0c03: Unknown result type (might be due to invalid IL or missing references) //IL_0c17: Unknown result type (might be due to invalid IL or missing references) //IL_0c1c: Unknown result type (might be due to invalid IL or missing references) //IL_0c21: Unknown result type (might be due to invalid IL or missing references) //IL_0c26: Unknown result type (might be due to invalid IL or missing references) //IL_0c67: Unknown result type (might be due to invalid IL or missing references) //IL_0c7b: Unknown result type (might be due to invalid IL or missing references) //IL_0c8f: Unknown result type (might be due to invalid IL or missing references) //IL_0c94: Unknown result type (might be due to invalid IL or missing references) //IL_0c99: Unknown result type (might be due to invalid IL or missing references) //IL_0c9e: Unknown result type (might be due to invalid IL or missing references) //IL_0cdf: Unknown result type (might be due to invalid IL or missing references) //IL_0cf3: Unknown result type (might be due to invalid IL or missing references) //IL_0d07: Unknown result type (might be due to invalid IL or missing references) //IL_0d0c: Unknown result type (might be due to invalid IL or missing references) //IL_0d11: Unknown result type (might be due to invalid IL or missing references) //IL_0d16: Unknown result type (might be due to invalid IL or missing references) //IL_0d57: Unknown result type (might be due to invalid IL or missing references) //IL_0d6b: Unknown result type (might be due to invalid IL or missing references) //IL_0d7f: Unknown result type (might be due to invalid IL or missing references) //IL_0d84: Unknown result type (might be due to invalid IL or missing references) //IL_0d89: Unknown result type (might be due to invalid IL or missing references) //IL_0d8e: Unknown result type (might be due to invalid IL or missing references) //IL_0dcf: Unknown result type (might be due to invalid IL or missing references) //IL_0de3: Unknown result type (might be due to invalid IL or missing references) //IL_0df7: Unknown result type (might be due to invalid IL or missing references) //IL_0dfc: Unknown result type (might be due to invalid IL or missing references) //IL_0e01: Unknown result type (might be due to invalid IL or missing references) //IL_0e06: Unknown result type (might be due to invalid IL or missing references) //IL_0e47: Unknown result type (might be due to invalid IL or missing references) //IL_0e5b: Unknown result type (might be due to invalid IL or missing references) //IL_0e6f: Unknown result type (might be due to invalid IL or missing references) //IL_0e74: Unknown result type (might be due to invalid IL or missing references) //IL_0e79: Unknown result type (might be due to invalid IL or missing references) //IL_0e7e: Unknown result type (might be due to invalid IL or missing references) //IL_0ea2: Unknown result type (might be due to invalid IL or missing references) //IL_0ea7: Unknown result type (might be due to invalid IL or missing references) //IL_0ecc: Unknown result type (might be due to invalid IL or missing references) //IL_0ee0: Unknown result type (might be due to invalid IL or missing references) //IL_0ef4: Unknown result type (might be due to invalid IL or missing references) //IL_0ef9: Unknown result type (might be due to invalid IL or missing references) //IL_0efe: Unknown result type (might be due to invalid IL or missing references) //IL_0f23: Unknown result type (might be due to invalid IL or missing references) //IL_0f37: Unknown result type (might be due to invalid IL or missing references) //IL_0f4b: Unknown result type (might be due to invalid IL or missing references) //IL_0f50: Unknown result type (might be due to invalid IL or missing references) //IL_0f55: Unknown result type (might be due to invalid IL or missing references) //IL_0f5a: Unknown result type (might be due to invalid IL or missing references) //IL_0f9b: Unknown result type (might be due to invalid IL or missing references) //IL_0faf: Unknown result type (might be due to invalid IL or missing references) //IL_0fc3: Unknown result type (might be due to invalid IL or missing references) //IL_0fc8: Unknown result type (might be due to invalid IL or missing references) //IL_0fcd: Unknown result type (might be due to invalid IL or missing references) //IL_0fd2: Unknown result type (might be due to invalid IL or missing references) //IL_1013: Unknown result type (might be due to invalid IL or missing references) //IL_1027: Unknown result type (might be due to invalid IL or missing references) //IL_103b: Unknown result type (might be due to invalid IL or missing references) //IL_1040: Unknown result type (might be due to invalid IL or missing references) //IL_1045: Unknown result type (might be due to invalid IL or missing references) //IL_104a: Unknown result type (might be due to invalid IL or missing references) //IL_108b: Unknown result type (might be due to invalid IL or missing references) //IL_109f: Unknown result type (might be due to invalid IL or missing references) //IL_10b3: Unknown result type (might be due to invalid IL or missing references) //IL_10b8: Unknown result type (might be due to invalid IL or missing references) //IL_10bd: Unknown result type (might be due to invalid IL or missing references) //IL_10c2: Unknown result type (might be due to invalid IL or missing references) //IL_1103: Unknown result type (might be due to invalid IL or missing references) //IL_1117: Unknown result type (might be due to invalid IL or missing references) //IL_112b: Unknown result type (might be due to invalid IL or missing references) //IL_1130: Unknown result type (might be due to invalid IL or missing references) //IL_1135: Unknown result type (might be due to invalid IL or missing references) //IL_113a: Unknown result type (might be due to invalid IL or missing references) //IL_117b: Unknown result type (might be due to invalid IL or missing references) //IL_118f: Unknown result type (might be due to invalid IL or missing references) //IL_11a3: Unknown result type (might be due to invalid IL or missing references) //IL_11a8: Unknown result type (might be due to invalid IL or missing references) //IL_11ad: Unknown result type (might be due to invalid IL or missing references) //IL_11b2: Unknown result type (might be due to invalid IL or missing references) //IL_11f3: Unknown result type (might be due to invalid IL or missing references) //IL_1207: Unknown result type (might be due to invalid IL or missing references) //IL_121b: Unknown result type (might be due to invalid IL or missing references) //IL_1220: Unknown result type (might be due to invalid IL or missing references) //IL_1225: Unknown result type (might be due to invalid IL or missing references) //IL_122a: Unknown result type (might be due to invalid IL or missing references) //IL_126b: Unknown result type (might be due to invalid IL or missing references) //IL_127f: Unknown result type (might be due to invalid IL or missing references) //IL_1293: Unknown result type (might be due to invalid IL or missing references) //IL_1298: Unknown result type (might be due to invalid IL or missing references) //IL_129d: Unknown result type (might be due to invalid IL or missing references) //IL_12a2: Unknown result type (might be due to invalid IL or missing references) //IL_12e3: Unknown result type (might be due to invalid IL or missing references) //IL_12f7: Unknown result type (might be due to invalid IL or missing references) //IL_130b: Unknown result type (might be due to invalid IL or missing references) //IL_1310: Unknown result type (might be due to invalid IL or missing references) //IL_1315: Unknown result type (might be due to invalid IL or missing references) //IL_131a: Unknown result type (might be due to invalid IL or missing references) //IL_135b: Unknown result type (might be due to invalid IL or missing references) //IL_136f: Unknown result type (might be due to invalid IL or missing references) //IL_1383: Unknown result type (might be due to invalid IL or missing references) //IL_1388: Unknown result type (might be due to invalid IL or missing references) //IL_138d: Unknown result type (might be due to invalid IL or missing references) //IL_13b2: Unknown result type (might be due to invalid IL or missing references) //IL_13c6: Unknown result type (might be due to invalid IL or missing references) //IL_13da: Unknown result type (might be due to invalid IL or missing references) //IL_13df: Unknown result type (might be due to invalid IL or missing references) //IL_13e4: Unknown result type (might be due to invalid IL or missing references) //IL_13e9: Unknown result type (might be due to invalid IL or missing references) //IL_142a: Unknown result type (might be due to invalid IL or missing references) //IL_143e: Unknown result type (might be due to invalid IL or missing references) //IL_1452: Unknown result type (might be due to invalid IL or missing references) //IL_1457: Unknown result type (might be due to invalid IL or missing references) //IL_145c: Unknown result type (might be due to invalid IL or missing references) //IL_1461: Unknown result type (might be due to invalid IL or missing references) //IL_14a2: Unknown result type (might be due to invalid IL or missing references) //IL_14b6: Unknown result type (might be due to invalid IL or missing references) //IL_14ca: Unknown result type (might be due to invalid IL or missing references) //IL_14cf: Unknown result type (might be due to invalid IL or missing references) //IL_14d4: Unknown result type (might be due to invalid IL or missing references) //IL_14d9: Unknown result type (might be due to invalid IL or missing references) //IL_151a: Unknown result type (might be due to invalid IL or missing references) //IL_152e: Unknown result type (might be due to invalid IL or missing references) //IL_1542: Unknown result type (might be due to invalid IL or missing references) //IL_1547: Unknown result type (might be due to invalid IL or missing references) //IL_154c: Unknown result type (might be due to invalid IL or missing references) //IL_1551: Unknown result type (might be due to invalid IL or missing references) //IL_1592: Unknown result type (might be due to invalid IL or missing references) //IL_15a6: Unknown result type (might be due to invalid IL or missing references) //IL_15ba: Unknown result type (might be due to invalid IL or missing references) //IL_15bf: Unknown result type (might be due to invalid IL or missing references) //IL_15c4: Unknown result type (might be due to invalid IL or missing references) //IL_15c9: Unknown result type (might be due to invalid IL or missing references) //IL_160a: Unknown result type (might be due to invalid IL or missing references) //IL_161e: Unknown result type (might be due to invalid IL or missing references) //IL_1632: Unknown result type (might be due to invalid IL or missing references) //IL_1637: Unknown result type (might be due to invalid IL or missing references) //IL_163c: Unknown result type (might be due to invalid IL or missing references) //IL_1641: Unknown result type (might be due to invalid IL or missing references) //IL_1682: Unknown result type (might be due to invalid IL or missing references) //IL_1696: Unknown result type (might be due to invalid IL or missing references) //IL_16aa: Unknown result type (might be due to invalid IL or missing references) //IL_16af: Unknown result type (might be due to invalid IL or missing references) //IL_16b4: Unknown result type (might be due to invalid IL or missing references) //IL_16b9: Unknown result type (might be due to invalid IL or missing references) //IL_16fa: Unknown result type (might be due to invalid IL or missing references) //IL_170e: Unknown result type (might be due to invalid IL or missing references) //IL_1722: Unknown result type (might be due to invalid IL or missing references) //IL_1727: Unknown result type (might be due to invalid IL or missing references) //IL_172c: Unknown result type (might be due to invalid IL or missing references) //IL_1731: Unknown result type (might be due to invalid IL or missing references) //IL_1772: Unknown result type (might be due to invalid IL or missing references) //IL_1786: Unknown result type (might be due to invalid IL or missing references) //IL_179a: Unknown result type (might be due to invalid IL or missing references) //IL_179f: Unknown result type (might be due to invalid IL or missing references) //IL_17a4: Unknown result type (might be due to invalid IL or missing references) //IL_17a9: Unknown result type (might be due to invalid IL or missing references) //IL_17ea: Unknown result type (might be due to invalid IL or missing references) //IL_17fe: Unknown result type (might be due to invalid IL or missing references) //IL_1812: Unknown result type (might be due to invalid IL or missing references) //IL_1817: Unknown result type (might be due to invalid IL or missing references) //IL_181c: Unknown result type (might be due to invalid IL or missing references) //IL_1821: Unknown result type (might be due to invalid IL or missing references) //IL_1862: Unknown result type (might be due to invalid IL or missing references) //IL_1876: Unknown result type (might be due to invalid IL or missing references) //IL_188a: Unknown result type (might be due to invalid IL or missing references) //IL_188f: Unknown result type (might be due to invalid IL or missing references) //IL_1894: Unknown result type (might be due to invalid IL or missing references) //IL_1899: Unknown result type (might be due to invalid IL or missing references) //IL_18da: Unknown result type (might be due to invalid IL or missing references) //IL_18ee: Unknown result type (might be due to invalid IL or missing references) //IL_1902: Unknown result type (might be due to invalid IL or missing references) //IL_1907: Unknown result type (might be due to invalid IL or missing references) //IL_190c: Unknown result type (might be due to invalid IL or missing references) //IL_1911: Unknown result type (might be due to invalid IL or missing references) //IL_1952: Unknown result type (might be due to invalid IL or missing references) //IL_1966: Unknown result type (might be due to invalid IL or missing references) //IL_197a: Unknown result type (might be due to invalid IL or missing references) //IL_197f: Unknown result type (might be due to invalid IL or missing references) //IL_1984: Unknown result type (might be due to invalid IL or missing references) //IL_1989: Unknown result type (might be due to invalid IL or missing references) //IL_19ca: Unknown result type (might be due to invalid IL or missing references) //IL_19de: Unknown result type (might be due to invalid IL or missing references) //IL_19f2: Unknown result type (might be due to invalid IL or missing references) //IL_19f7: Unknown result type (might be due to invalid IL or missing references) //IL_19fc: Unknown result type (might be due to invalid IL or missing references) //IL_1a01: Unknown result type (might be due to invalid IL or missing references) //IL_1a42: Unknown result type (might be due to invalid IL or missing references) //IL_1a56: Unknown result type (might be due to invalid IL or missing references) //IL_1a6a: Unknown result type (might be due to invalid IL or missing references) //IL_1a6f: Unknown result type (might be due to invalid IL or missing references) //IL_1a74: Unknown result type (might be due to invalid IL or missing references) //IL_1a79: Unknown result type (might be due to invalid IL or missing references) //IL_1aba: Unknown result type (might be due to invalid IL or missing references) //IL_1ace: Unknown result type (might be due to invalid IL or missing references) //IL_1ae2: Unknown result type (might be due to invalid IL or missing references) //IL_1ae7: Unknown result type (might be due to invalid IL or missing references) //IL_1aec: Unknown result type (might be due to invalid IL or missing references) //IL_1af1: Unknown result type (might be due to invalid IL or missing references) //IL_1b32: Unknown result type (might be due to invalid IL or missing references) //IL_1b46: Unknown result type (might be due to invalid IL or missing references) //IL_1b5a: Unknown result type (might be due to invalid IL or missing references) //IL_1b5f: Unknown result type (might be due to invalid IL or missing references) //IL_1b64: Unknown result type (might be due to invalid IL or missing references) //IL_1b69: Unknown result type (might be due to invalid IL or missing references) //IL_1baa: Unknown result type (might be due to invalid IL or missing references) //IL_1bbe: Unknown result type (might be due to invalid IL or missing references) //IL_1bd2: Unknown result type (might be due to invalid IL or missing references) //IL_1bd7: Unknown result type (might be due to invalid IL or missing references) //IL_1bdc: Unknown result type (might be due to invalid IL or missing references) //IL_1be1: Unknown result type (might be due to invalid IL or missing references) //IL_1c22: Unknown result type (might be due to invalid IL or missing references) //IL_1c36: Unknown result type (might be due to invalid IL or missing references) //IL_1c4a: Unknown result type (might be due to invalid IL or missing references) //IL_1c4f: Unknown result type (might be due to invalid IL or missing references) //IL_1c54: Unknown result type (might be due to invalid IL or missing references) //IL_1c5c: Unknown result type (might be due to invalid IL or missing references) //IL_1c61: Unknown result type (might be due to invalid IL or missing references) //IL_1c66: Unknown result type (might be due to invalid IL or missing references) //IL_1ca7: Unknown result type (might be due to invalid IL or missing references) //IL_1cbb: Unknown result type (might be due to invalid IL or missing references) //IL_1ccf: Unknown result type (might be due to invalid IL or missing references) //IL_1cd4: Unknown result type (might be due to invalid IL or missing references) //IL_1cd9: Unknown result type (might be due to invalid IL or missing references) //IL_1cde: Unknown result type (might be due to invalid IL or missing references) //IL_1d1f: Unknown result type (might be due to invalid IL or missing references) //IL_1d33: Unknown result type (might be due to invalid IL or missing references) //IL_1d47: Unknown result type (might be due to invalid IL or missing references) //IL_1d4c: Unknown result type (might be due to invalid IL or missing references) //IL_1d51: Unknown result type (might be due to invalid IL or missing references) //IL_1d56: Unknown result type (might be due to invalid IL or missing references) //IL_1d97: Unknown result type (might be due to invalid IL or missing references) //IL_1dab: Unknown result type (might be due to invalid IL or missing references) //IL_1dbf: Unknown result type (might be due to invalid IL or missing references) //IL_1dc4: Unknown result type (might be due to invalid IL or missing references) //IL_1dc9: Unknown result type (might be due to invalid IL or missing references) //IL_1dce: Unknown result type (might be due to invalid IL or missing references) //IL_1e0f: Unknown result type (might be due to invalid IL or missing references) //IL_1e23: Unknown result type (might be due to invalid IL or missing references) //IL_1e37: Unknown result type (might be due to invalid IL or missing references) //IL_1e3c: Unknown result type (might be due to invalid IL or missing references) //IL_1e41: Unknown result type (might be due to invalid IL or missing references) //IL_1e46: Unknown result type (might be due to invalid IL or missing references) //IL_1e87: Unknown result type (might be due to invalid IL or missing references) //IL_1e9b: Unknown result type (might be due to invalid IL or missing references) //IL_1eaf: Unknown result type (might be due to invalid IL or missing references) //IL_1eb4: Unknown result type (might be due to invalid IL or missing references) //IL_1eb9: Unknown result type (might be due to invalid IL or missing references) //IL_1ede: Unknown result type (might be due to invalid IL or missing references) //IL_1ef2: Unknown result type (might be due to invalid IL or missing references) //IL_1f06: Unknown result type (might be due to invalid IL or missing references) //IL_1f0b: Unknown result type (might be due to invalid IL or missing references) //IL_1f10: Unknown result type (might be due to invalid IL or missing references) //IL_1f15: Unknown result type (might be due to invalid IL or missing references) //IL_1f56: Unknown result type (might be due to invalid IL or missing references) //IL_1f6a: Unknown result type (might be due to invalid IL or missing references) //IL_1f7e: Unknown result type (might be due to invalid IL or missing references) //IL_1f83: Unknown result type (might be due to invalid IL or missing references) //IL_1f88: Unknown result type (might be due to invalid IL or missing references) //IL_1f8d: Unknown result type (might be due to invalid IL or missing references) //IL_1fce: Unknown result type (might be due to invalid IL or missing references) //IL_1fe2: Unknown result type (might be due to invalid IL or missing references) //IL_1ff6: Unknown result type (might be due to invalid IL or missing references) //IL_1ffb: Unknown result type (might be due to invalid IL or missing references) //IL_2000: Unknown result type (might be due to invalid IL or missing references) //IL_2005: Unknown result type (might be due to invalid IL or missing references) //IL_2046: Unknown result type (might be due to invalid IL or missing references) //IL_205a: Unknown result type (might be due to invalid IL or missing references) //IL_206e: Unknown result type (might be due to invalid IL or missing references) //IL_2073: Unknown result type (might be due to invalid IL or missing references) //IL_2078: Unknown result type (might be due to invalid IL or missing references) //IL_207d: Unknown result type (might be due to invalid IL or missing references) //IL_20be: Unknown result type (might be due to invalid IL or missing references) //IL_20d2: Unknown result type (might be due to invalid IL or missing references) //IL_20e6: Unknown result type (might be due to invalid IL or missing references) //IL_20eb: Unknown result type (might be due to invalid IL or missing references) //IL_20f0: Unknown result type (might be due to invalid IL or missing references) //IL_20f5: Unknown result type (might be due to invalid IL or missing references) //IL_2136: Unknown result type (might be due to invalid IL or missing references) //IL_214a: Unknown result type (might be due to invalid IL or missing references) //IL_215e: Unknown result type (might be due to invalid IL or missing references) //IL_2163: Unknown result type (might be due to invalid IL or missing references) //IL_2168: Unknown result type (might be due to invalid IL or missing references) //IL_216d: Unknown result type (might be due to invalid IL or missing references) //IL_21ae: Unknown result type (might be due to invalid IL or missing references) //IL_21c2: Unknown result type (might be due to invalid IL or missing references) //IL_21d6: Unknown result type (might be due to invalid IL or missing references) //IL_21db: Unknown result type (might be due to invalid IL or missing references) //IL_21e0: Unknown result type (might be due to invalid IL or missing references) //IL_21e5: Unknown result type (might be due to invalid IL or missing references) //IL_2226: Unknown result type (might be due to invalid IL or missing references) //IL_223a: Unknown result type (might be due to invalid IL or missing references) //IL_224e: Unknown result type (might be due to invalid IL or missing references) //IL_2253: Unknown result type (might be due to invalid IL or missing references) //IL_2258: Unknown result type (might be due to invalid IL or missing references) //IL_225d: Unknown result type (might be due to invalid IL or missing references) //IL_229e: Unknown result type (might be due to invalid IL or missing references) //IL_22b2: Unknown result type (might be due to invalid IL or missing references) //IL_22c6: Unknown result type (might be due to invalid IL or missing references) //IL_22cb: Unknown result type (might be due to invalid IL or missing references) //IL_22d0: Unknown result type (might be due to invalid IL or missing references) //IL_22d5: Unknown result type (might be due to invalid IL or missing references) //IL_2316: Unknown result type (might be due to invalid IL or missing references) //IL_232a: Unknown result type (might be due to invalid IL or missing references) //IL_233e: Unknown result type (might be due to invalid IL or missing references) //IL_2343: Unknown result type (might be due to invalid IL or missing references) //IL_2348: Unknown result type (might be due to invalid IL or missing references) //IL_234d: Unknown result type (might be due to invalid IL or missing references) //IL_238e: Unknown result type (might be due to invalid IL or missing references) //IL_23a2: Unknown result type (might be due to invalid IL or missing references) //IL_23b6: Unknown result type (might be due to invalid IL or missing references) //IL_23bb: Unknown result type (might be due to invalid IL or missing references) //IL_23c0: Unknown result type (might be due to invalid IL or missing references) //IL_23c5: Unknown result type (might be due to invalid IL or missing references) //IL_2406: Unknown result type (might be due to invalid IL or missing references) //IL_241a: Unknown result type (might be due to invalid IL or missing references) //IL_242e: Unknown result type (might be due to invalid IL or missing references) //IL_2433: Unknown result type (might be due to invalid IL or missing references) //IL_2438: Unknown result type (might be due to invalid IL or missing references) //IL_243d: Unknown result type (might be due to invalid IL or missing references) //IL_247e: Unknown result type (might be due to invalid IL or missing references) //IL_2492: Unknown result type (might be due to invalid IL or missing references) //IL_24a6: Unknown result type (might be due to invalid IL or missing references) //IL_24ab: Unknown result type (might be due to invalid IL or missing references) //IL_24b0: Unknown result type (might be due to invalid IL or missing references) //IL_24b5: Unknown result type (might be due to invalid IL or missing references) //IL_24f6: Unknown result type (might be due to invalid IL or missing references) //IL_250a: Unknown result type (might be due to invalid IL or missing references) //IL_251e: Unknown result type (might be due to invalid IL or missing references) //IL_2523: Unknown result type (might be due to invalid IL or missing references) //IL_2528: Unknown result type (might be due to invalid IL or missing references) //IL_252d: Unknown result type (might be due to invalid IL or missing references) //IL_256e: Unknown result type (might be due to invalid IL or missing references) //IL_2582: Unknown result type (might be due to invalid IL or missing references) //IL_2596: Unknown result type (might be due to invalid IL or missing references) //IL_259b: Unknown result type (might be due to invalid IL or missing references) //IL_25a0: Unknown result type (might be due to invalid IL or missing references) //IL_25a5: Unknown result type (might be due to invalid IL or missing references) //IL_25e6: Unknown result type (might be due to invalid IL or missing references) //IL_25fa: Unknown result type (might be due to invalid IL or missing references) //IL_260e: Unknown result type (might be due to invalid IL or missing references) //IL_2613: Unknown result type (might be due to invalid IL or missing references) //IL_2618: Unknown result type (might be due to invalid IL or missing references) //IL_261d: Unknown result type (might be due to invalid IL or missing references) //IL_265e: Unknown result type (might be due to invalid IL or missing references) //IL_2672: Unknown result type (might be due to invalid IL or missing references) //IL_2686: Unknown result type (might be due to invalid IL or missing references) //IL_268b: Unknown result type (might be due to invalid IL or missing references) //IL_2690: Unknown result type (might be due to invalid IL or missing references) //IL_2695: Unknown result type (might be due to invalid IL or missing references) //IL_26d6: Unknown result type (might be due to invalid IL or missing references) //IL_26ea: Unknown result type (might be due to invalid IL or missing references) //IL_26fe: Unknown result type (might be due to invalid IL or missing references) //IL_2703: Unknown result type (might be due to invalid IL or missing references) //IL_2708: Unknown result type (might be due to invalid IL or missing references) //IL_270d: Unknown result type (might be due to invalid IL or missing references) //IL_274e: Unknown result type (might be due to invalid IL or missing references) //IL_2762: Unknown result type (might be due to invalid IL or missing references) //IL_2776: Unknown result type (might be due to invalid IL or missing references) //IL_277b: Unknown result type (might be due to invalid IL or missing references) //IL_2780: Unknown result type (might be due to invalid IL or missing references) //IL_2785: Unknown result type (might be due to invalid IL or missing references) //IL_27c6: Unknown result type (might be due to invalid IL or missing references) //IL_27da: Unknown result type (might be due to invalid IL or missing references) //IL_27ee: Unknown result type (might be due to invalid IL or missing references) //IL_27f3: Unknown result type (might be due to invalid IL or missing references) //IL_27f8: Unknown result type (might be due to invalid IL or missing references) //IL_27fd: Unknown result type (might be due to invalid IL or missing references) //IL_283e: Unknown result type (might be due to invalid IL or missing references) //IL_2852: Unknown result type (might be due to invalid IL or missing references) //IL_2866: Unknown result type (might be due to invalid IL or missing references) //IL_286b: Unknown result type (might be due to invalid IL or missing references) //IL_2870: Unknown result type (might be due to invalid IL or missing references) //IL_2875: Unknown result type (might be due to invalid IL or missing references) //IL_28b6: Unknown result type (might be due to invalid IL or missing references) //IL_28ca: Unknown result type (might be due to invalid IL or missing references) //IL_28de: Unknown result type (might be due to invalid IL or missing references) //IL_28e3: Unknown result type (might be due to invalid IL or missing references) //IL_28e8: Unknown result type (might be due to invalid IL or missing references) //IL_28ed: Unknown result type (might be due to invalid IL or missing references) //IL_292e: Unknown result type (might be due to invalid IL or missing references) //IL_2942: Unknown result type (might be due to invalid IL or missing references) //IL_2956: Unknown result type (might be due to invalid IL or missing references) //IL_295b: Unknown result type (might be due to invalid IL or missing references) //IL_2960: Unknown result type (might be due to invalid IL or missing references) //IL_2965: Unknown result type (might be due to invalid IL or missing references) //IL_29a6: Unknown result type (might be due to invalid IL or missing references) //IL_29ba: Unknown result type (might be due to invalid IL or missing references) //IL_29ce: Unknown result type (might be due to invalid IL or missing references) //IL_29d3: Unknown result type (might be due to invalid IL or missing references) //IL_29d8: Unknown result type (might be due to invalid IL or missing references) //IL_29dd: Unknown result type (might be due to invalid IL or missing references) //IL_2a1e: Unknown result type (might be due to invalid IL or missing references) //IL_2a32: Unknown result type (might be due to invalid IL or missing references) //IL_2a46: Unknown result type (might be due to invalid IL or missing references) //IL_2a4b: Unknown result type (might be due to invalid IL or missing references) //IL_2a50: Unknown result type (might be due to invalid IL or missing references) //IL_2a75: Unknown result type (might be due to invalid IL or missing references) //IL_2a89: Unknown result type (might be due to invalid IL or missing references) //IL_2a9d: Unknown result type (might be due to invalid IL or missing references) //IL_2aa2: Unknown result type (might be due to invalid IL or missing references) //IL_2aa7: Unknown result type (might be due to invalid IL or missing references) //IL_2aac: Unknown result type (might be due to invalid IL or missing references) //IL_2aed: Unknown result type (might be due to invalid IL or missing references) //IL_2b01: Unknown result type (might be due to invalid IL or missing references) //IL_2b15: Unknown result type (might be due to invalid IL or missing references) //IL_2b1a: Unknown result type (might be due to invalid IL or missing references) //IL_2b1f: Unknown result type (might be due to invalid IL or missing references) //IL_2b24: Unknown result type (might be due to invalid IL or missing references) //IL_2b65: Unknown result type (might be due to invalid IL or missing references) //IL_2b79: Unknown result type (might be due to invalid IL or missing references) //IL_2b8d: Unknown result type (might be due to invalid IL or missing references) //IL_2b92: Unknown result type (might be due to invalid IL or missing references) //IL_2b97: Unknown result type (might be due to invalid IL or missing references) //IL_2b9c: Unknown result type (might be due to invalid IL or missing references) //IL_2bdd: Unknown result type (might be due to invalid IL or missing references) //IL_2bf1: Unknown result type (might be due to invalid IL or missing references) //IL_2c05: Unknown result type (might be due to invalid IL or missing references) //IL_2c0a: Unknown result type (might be due to invalid IL or missing references) //IL_2c0f: Unknown result type (might be due to invalid IL or missing references) //IL_2c14: Unknown result type (might be due to invalid IL or missing references) //IL_2c55: Unknown result type (might be due to invalid IL or missing references) //IL_2c69: Unknown result type (might be due to invalid IL or missing references) //IL_2c7d: Unknown result type (might be due to invalid IL or missing references) //IL_2c82: Unknown result type (might be due to invalid IL or missing references) //IL_2c87: Unknown result type (might be due to invalid IL or missing references) //IL_2c8c: Unknown result type (might be due to invalid IL or missing references) //IL_2ccd: Unknown result type (might be due to invalid IL or missing references) //IL_2ce1: Unknown result type (might be due to invalid IL or missing references) //IL_2cf5: Unknown result type (might be due to invalid IL or missing references) //IL_2cfa: Unknown result type (might be due to invalid IL or missing references) //IL_2cff: Unknown result type (might be due to invalid IL or missing references) //IL_2d04: Unknown result type (might be due to invalid IL or missing references) //IL_2d45: Unknown result type (might be due to invalid IL or missing references) //IL_2d59: Unknown result type (might be due to invalid IL or missing references) //IL_2d6d: Unknown result type (might be due to invalid IL or missing references) //IL_2d72: Unknown result type (might be due to invalid IL or missing references) //IL_2d77: Unknown result type (might be due to invalid IL or missing references) //IL_2d7c: Unknown result type (might be due to invalid IL or missing references) //IL_2dbd: Unknown result type (might be due to invalid IL or missing references) //IL_2dd1: Unknown result type (might be due to invalid IL or missing references) //IL_2de5: Unknown result type (might be due to invalid IL or missing references) //IL_2dea: Unknown result type (might be due to invalid IL or missing references) //IL_2def: Unknown result type (might be due to invalid IL or missing references) //IL_2df4: Unknown result type (might be due to invalid IL or missing references) //IL_2e35: Unknown result type (might be due to invalid IL or missing references) //IL_2e49: Unknown result type (might be due to invalid IL or missing references) //IL_2e5d: Unknown result type (might be due to invalid IL or missing references) //IL_2e62: Unknown result type (might be due to invalid IL or missing references) //IL_2e67: Unknown result type (might be due to invalid IL or missing references) //IL_2e6c: Unknown result type (might be due to invalid IL or missing references) //IL_2ead: Unknown result type (might be due to invalid IL or missing references) //IL_2ec1: Unknown result type (might be due to invalid IL or missing references) //IL_2ed5: Unknown result type (might be due to invalid IL or missing references) //IL_2eda: Unknown result type (might be due to invalid IL or missing references) //IL_2edf: Unknown result type (might be due to invalid IL or missing references) //IL_2ee4: Unknown result type (might be due to invalid IL or missing references) //IL_2f25: Unknown result type (might be due to invalid IL or missing references) //IL_2f39: Unknown result type (might be due to invalid IL or missing references) //IL_2f4d: Unknown result type (might be due to invalid IL or missing references) //IL_2f52: Unknown result type (might be due to invalid IL or missing references) //IL_2f57: Unknown result type (might be due to invalid IL or missing references) //IL_2f5c: Unknown result type (might be due to invalid IL or missing references) //IL_2f9d: Unknown result type (might be due to invalid IL or missing references) //IL_2fb1: Unknown result type (might be due to invalid IL or missing references) //IL_2fc5: Unknown result type (might be due to invalid IL or missing references) //IL_2fca: Unknown result type (might be due to invalid IL or missing references) //IL_2fcf: Unknown result type (might be due to invalid IL or missing references) //IL_2fd4: Unknown result type (might be due to invalid IL or missing references) //IL_3015: Unknown result type (might be due to invalid IL or missing references) //IL_3029: Unknown result type (might be due to invalid IL or missing references) //IL_303d: Unknown result type (might be due to invalid IL or missing references) //IL_3042: Unknown result type (might be due to invalid IL or missing references) //IL_3047: Unknown result type (might be due to invalid IL or missing references) //IL_304c: Unknown result type (might be due to invalid IL or missing references) //IL_308d: Unknown result type (might be due to invalid IL or missing references) //IL_30a1: Unknown result type (might be due to invalid IL or missing references) //IL_30b5: Unknown result type (might be due to invalid IL or missing references) //IL_30ba: Unknown result type (might be due to invalid IL or missing references) //IL_30bf: Unknown result type (might be due to invalid IL or missing references) //IL_30c4: Unknown result type (might be due to invalid IL or missing references) //IL_3105: Unknown result type (might be due to invalid IL or missing references) //IL_3119: Unknown result type (might be due to invalid IL or missing references) //IL_312d: Unknown result type (might be due to invalid IL or missing references) //IL_3132: Unknown result type (might be due to invalid IL or missing references) //IL_3137: Unknown result type (might be due to invalid IL or missing references) //IL_313c: Unknown result type (might be due to invalid IL or missing references) //IL_317d: Unknown result type (might be due to invalid IL or missing references) //IL_3191: Unknown result type (might be due to invalid IL or missing references) //IL_31a5: Unknown result type (might be due to invalid IL or missing references) //IL_31aa: Unknown result type (might be due to invalid IL or missing references) //IL_31af: Unknown result type (might be due to invalid IL or missing references) //IL_31b4: Unknown result type (might be due to invalid IL or missing references) //IL_31f5: Unknown result type (might be due to invalid IL or missing references) //IL_3209: Unknown result type (might be due to invalid IL or missing references) //IL_321d: Unknown result type (might be due to invalid IL or missing references) //IL_3222: Unknown result type (might be due to invalid IL or missing references) //IL_3227: Unknown result type (might be due to invalid IL or missing references) //IL_322c: Unknown result type (might be due to invalid IL or missing references) //IL_326d: Unknown result type (might be due to invalid IL or missing references) //IL_3281: Unknown result type (might be due to invalid IL or missing references) //IL_3295: Unknown result type (might be due to invalid IL or missing references) //IL_329a: Unknown result type (might be due to invalid IL or missing references) //IL_329f: Unknown result type (might be due to invalid IL or missing references) //IL_32c4: Unknown result type (might be due to invalid IL or missing references) //IL_32d8: Unknown result type (might be due to invalid IL or missing references) //IL_32ec: Unknown result type (might be due to invalid IL or missing references) //IL_32f1: Unknown result type (might be due to invalid IL or missing references) //IL_32f6: Unknown result type (might be due to invalid IL or missing references) //IL_32fb: Unknown result type (might be due to invalid IL or missing references) //IL_333c: Unknown result type (might be due to invalid IL or missing references) //IL_3350: Unknown result type (might be due to invalid IL or missing references) //IL_3364: Unknown result type (might be due to invalid IL or missing references) //IL_3369: Unknown result type (might be due to invalid IL or missing references) //IL_336e: Unknown result type (might be due to invalid IL or missing references) //IL_3373: Unknown result type (might be due to invalid IL or missing references) //IL_33b4: Unknown result type (might be due to invalid IL or missing references) //IL_33c8: Unknown result type (might be due to invalid IL or missing references) //IL_33dc: Unknown result type (might be due to invalid IL or missing references) //IL_33e1: Unknown result type (might be due to invalid IL or missing references) //IL_33e6: Unknown result type (might be due to invalid IL or missing references) //IL_33eb: Unknown result type (might be due to invalid IL or missing references) //IL_342c: Unknown result type (might be due to invalid IL or missing references) //IL_3440: Unknown result type (might be due to invalid IL or missing references) //IL_3454: Unknown result type (might be due to invalid IL or missing references) //IL_3459: Unknown result type (might be due to invalid IL or missing references) //IL_345e: Unknown result type (might be due to invalid IL or missing references) //IL_3463: Unknown result type (might be due to invalid IL or missing references) //IL_34a4: Unknown result type (might be due to invalid IL or missing references) //IL_34b8: Unknown result type (might be due to invalid IL or missing references) //IL_34cc: Unknown result type (might be due to invalid IL or missing references) //IL_34d1: Unknown result type (might be due to invalid IL or missing references) //IL_34d6: Unknown result type (might be due to invalid IL or missing references) //IL_34db: Unknown result type (might be due to invalid IL or missing references) //IL_351c: Unknown result type (might be due to invalid IL or missing references) //IL_3530: Unknown result type (might be due to invalid IL or missing references) //IL_3544: Unknown result type (might be due to invalid IL or missing references) //IL_3549: Unknown result type (might be due to invalid IL or missing references) //IL_354e: Unknown result type (might be due to invalid IL or missing references) //IL_3553: Unknown result type (might be due to invalid IL or missing references) //IL_3594: Unknown result type (might be due to invalid IL or missing references) //IL_35a8: Unknown result type (might be due to invalid IL or missing references) //IL_35bc: Unknown result type (might be due to invalid IL or missing references) //IL_35c1: Unknown result type (might be due to invalid IL or missing references) //IL_35c6: Unknown result type (might be due to invalid IL or missing references) //IL_35cb: Unknown result type (might be due to invalid IL or missing references) //IL_360c: Unknown result type (might be due to invalid IL or missing references) //IL_3620: Unknown result type (might be due to invalid IL or missing references) //IL_3634: Unknown result type (might be due to invalid IL or missing references) //IL_3639: Unknown result type (might be due to invalid IL or missing references) //IL_363e: Unknown result type (might be due to invalid IL or missing references) //IL_3643: Unknown result type (might be due to invalid IL or missing references) //IL_3684: Unknown result type (might be due to invalid IL or missing references) //IL_3698: Unknown result type (might be due to invalid IL or missing references) //IL_36ac: Unknown result type (might be due to invalid IL or missing references) //IL_36b1: Unknown result type (might be due to invalid IL or missing references) //IL_36b6: Unknown result type (might be due to invalid IL or missing references) //IL_36bb: Unknown result type (might be due to invalid IL or missing references) //IL_36fc: Unknown result type (might be due to invalid IL or missing references) //IL_3710: Unknown result type (might be due to invalid IL or missing references) //IL_3724: Unknown result type (might be due to invalid IL or missing references) //IL_3729: Unknown result type (might be due to invalid IL or missing references) //IL_372e: Unknown result type (might be due to invalid IL or missing references) //IL_3733: Unknown result type (might be due to invalid IL or missing references) //IL_3774: Unknown result type (might be due to invalid IL or missing references) //IL_3788: Unknown result type (might be due to invalid IL or missing references) //IL_379c: Unknown result type (might be due to invalid IL or missing references) //IL_37a1: Unknown result type (might be due to invalid IL or missing references) //IL_37a6: Unknown result type (might be due to invalid IL or missing references) //IL_37ab: Unknown result type (might be due to invalid IL or missing references) //IL_37ec: Unknown result type (might be due to invalid IL or missing references) //IL_3800: Unknown result type (might be due to invalid IL or missing references) //IL_3814: Unknown result type (might be due to invalid IL or missing references) //IL_3819: Unknown result type (might be due to invalid IL or missing references) //IL_381e: Unknown result type (might be due to invalid IL or missing references) //IL_3823: Unknown result type (might be due to invalid IL or missing references) //IL_3864: Unknown result type (might be due to invalid IL or missing references) //IL_3878: Unknown result type (might be due to invalid IL or missing references) //IL_388c: Unknown result type (might be due to invalid IL or missing references) //IL_3891: Unknown result type (might be due to invalid IL or missing references) //IL_3896: Unknown result type (might be due to invalid IL or missing references) //IL_389b: Unknown result type (might be due to invalid IL or missing references) //IL_38dc: Unknown result type (might be due to invalid IL or missing references) //IL_38f0: Unknown result type (might be due to invalid IL or missing references) //IL_3904: Unknown result type (might be due to invalid IL or missing references) //IL_3909: Unknown result type (might be due to invalid IL or missing references) //IL_390e: Unknown result type (might be due to invalid IL or missing references) //IL_3913: Unknown result type (might be due to invalid IL or missing references) //IL_3954: Unknown result type (might be due to invalid IL or missing references) //IL_3968: Unknown result type (might be due to invalid IL or missing references) //IL_397c: Unknown result type (might be due to invalid IL or missing references) //IL_3981: Unknown result type (might be due to invalid IL or missing references) //IL_3986: Unknown result type (might be due to invalid IL or missing references) //IL_398b: Unknown result type (might be due to invalid IL or missing references) //IL_39cc: Unknown result type (might be due to invalid IL or missing references) //IL_39e0: Unknown result type (might be due to invalid IL or missing references) //IL_39f4: Unknown result type (might be due to invalid IL or missing references) //IL_39f9: Unknown result type (might be due to invalid IL or missing references) //IL_39fe: Unknown result type (might be due to invalid IL or missing references) //IL_3a03: Unknown result type (might be due to invalid IL or missing references) //IL_3a44: Unknown result type (might be due to invalid IL or missing references) //IL_3a58: Unknown result type (might be due to invalid IL or missing references) //IL_3a6c: Unknown result type (might be due to invalid IL or missing references) //IL_3a71: Unknown result type (might be due to invalid IL or missing references) //IL_3a76: Unknown result type (might be due to invalid IL or missing references) //IL_3a7b: Unknown result type (might be due to invalid IL or missing references) //IL_3abc: Unknown result type (might be due to invalid IL or missing references) //IL_3ad0: Unknown result type (might be due to invalid IL or missing references) //IL_3ae4: Unknown result type (might be due to invalid IL or missing references) //IL_3ae9: Unknown result type (might be due to invalid IL or missing references) //IL_3aee: Unknown result type (might be due to invalid IL or missing references) //IL_3af3: Unknown result type (might be due to invalid IL or missing references) //IL_3b34: Unknown result type (might be due to invalid IL or missing references) //IL_3b48: Unknown result type (might be due to invalid IL or missing references) //IL_3b5c: Unknown result type (might be due to invalid IL or missing references) //IL_3b61: Unknown result type (might be due to invalid IL or missing references) //IL_3b66: Unknown result type (might be due to invalid IL or missing references) //IL_3b8b: Unknown result type (might be due to invalid IL or missing references) //IL_3b9f: Unknown result type (might be due to invalid IL or missing references) //IL_3bb3: Unknown result type (might be due to invalid IL or missing references) //IL_3bb8: Unknown result type (might be due to invalid IL or missing references) //IL_3bbd: Unknown result type (might be due to invalid IL or missing references) //IL_3be2: Unknown result type (might be due to invalid IL or missing references) //IL_3bf6: Unknown result type (might be due to invalid IL or missing references) //IL_3c0a: Unknown result type (might be due to invalid IL or missing references) //IL_3c0f: Unknown result type (might be due to invalid IL or missing references) //IL_3c14: Unknown result type (might be due to invalid IL or missing references) //IL_3c39: Unknown result type (might be due to invalid IL or missing references) //IL_3c4d: Unknown result type (might be due to invalid IL or missing references) //IL_3c61: Unknown result type (might be due to invalid IL or missing references) //IL_3c66: Unknown result type (might be due to invalid IL or missing references) //IL_3c6b: Unknown result type (might be due to invalid IL or missing references) //IL_3c90: Unknown result type (might be due to invalid IL or missing references) //IL_3ca4: Unknown result type (might be due to invalid IL or missing references) //IL_3cb8: Unknown result type (might be due to invalid IL or missing references) //IL_3cbd: Unknown result type (might be due to invalid IL or missing references) //IL_3cc2: Unknown result type (might be due to invalid IL or missing references) //IL_3ce7: Unknown result type (might be due to invalid IL or missing references) //IL_3cfb: Unknown result type (might be due to invalid IL or missing references) //IL_3d0f: Unknown result type (might be due to invalid IL or missing references) //IL_3d14: Unknown result type (might be due to invalid IL or missing references) //IL_3d19: Unknown result type (might be due to invalid IL or missing references) //IL_3d1e: Unknown result type (might be due to invalid IL or missing references) //IL_3d5f: Unknown result type (might be due to invalid IL or missing references) //IL_3d73: Unknown result type (might be due to invalid IL or missing references) //IL_3d87: Unknown result type (might be due to invalid IL or missing references) //IL_3d8c: Unknown result type (might be due to invalid IL or missing references) //IL_3d91: Unknown result type (might be due to invalid IL or missing references) //IL_3d96: Unknown result type (might be due to invalid IL or missing references) //IL_3dd7: Unknown result type (might be due to invalid IL or missing references) //IL_3deb: Unknown result type (might be due to invalid IL or missing references) //IL_3dff: Unknown result type (might be due to invalid IL or missing references) //IL_3e04: Unknown result type (might be due to invalid IL or missing references) //IL_3e09: Unknown result type (might be due to invalid IL or missing references) //IL_3e0e: Unknown result type (might be due to invalid IL or missing references) //IL_3e4f: Unknown result type (might be due to invalid IL or missing references) //IL_3e63: Unknown result type (might be due to invalid IL or missing references) //IL_3e77: Unknown result type (might be due to invalid IL or missing references) //IL_3e7c: Unknown result type (might be due to invalid IL or missing references) //IL_3e81: Unknown result type (might be due to invalid IL or missing references) //IL_3e86: Unknown result type (might be due to invalid IL or missing references) //IL_3ec7: Unknown result type (might be due to invalid IL or missing references) //IL_3edb: Unknown result type (might be due to invalid IL or missing references) //IL_3eef: Unknown result type (might be due to invalid IL or missing references) //IL_3ef4: Unknown result type (might be due to invalid IL or missing references) //IL_3ef9: Unknown result type (might be due to invalid IL or missing references) //IL_3f1e: Unknown result type (might be due to invalid IL or missing references) //IL_3f32: Unknown result type (might be due to invalid IL or missing references) //IL_3f46: Unknown result type (might be due to invalid IL or missing references) //IL_3f4b: Unknown result type (might be due to invalid IL or missing references) //IL_3f50: Unknown result type (might be due to invalid IL or missing references) //IL_3f55: Unknown result type (might be due to invalid IL or missing references) //IL_3f96: Unknown result type (might be due to invalid IL or missing references) //IL_3faa: Unknown result type (might be due to invalid IL or missing references) //IL_3fbe: Unknown result type (might be due to invalid IL or missing references) //IL_3fc3: Unknown result type (might be due to invalid IL or missing references) //IL_3fc8: Unknown result type (might be due to invalid IL or missing references) //IL_3fcd: Unknown result type (might be due to invalid IL or missing references) //IL_400e: Unknown result type (might be due to invalid IL or missing references) //IL_4022: Unknown result type (might be due to invalid IL or missing references) //IL_4036: Unknown result type (might be due to invalid IL or missing references) //IL_403b: Unknown result type (might be due to invalid IL or missing references) //IL_4040: Unknown result type (might be due to invalid IL or missing references) //IL_4045: Unknown result type (might be due to invalid IL or missing references) //IL_4086: Unknown result type (might be due to invalid IL or missing references) //IL_409a: Unknown result type (might be due to invalid IL or missing references) //IL_40ae: Unknown result type (might be due to invalid IL or missing references) //IL_40b3: Unknown result type (might be due to invalid IL or missing references) //IL_40b8: Unknown result type (might be due to invalid IL or missing references) //IL_40bd: Unknown result type (might be due to invalid IL or missing references) //IL_40fe: Unknown result type (might be due to invalid IL or missing references) //IL_4112: Unknown result type (might be due to invalid IL or missing references) //IL_4126: Unknown result type (might be due to invalid IL or missing references) //IL_412b: Unknown result type (might be due to invalid IL or missing references) //IL_4130: Unknown result type (might be due to invalid IL or missing references) //IL_4135: Unknown result type (might be due to invalid IL or missing references) //IL_4176: Unknown result type (might be due to invalid IL or missing references) //IL_418a: Unknown result type (might be due to invalid IL or missing references) //IL_419e: Unknown result type (might be due to invalid IL or missing references) //IL_41a3: Unknown result type (might be due to invalid IL or missing references) //IL_41a8: Unknown result type (might be due to invalid IL or missing references) //IL_41ad: Unknown result type (might be due to invalid IL or missing references) //IL_41ee: Unknown result type (might be due to invalid IL or missing references) //IL_4202: Unknown result type (might be due to invalid IL or missing references) //IL_4216: Unknown result type (might be due to invalid IL or missing references) //IL_421b: Unknown result type (might be due to invalid IL or missing references) //IL_4220: Unknown result type (might be due to invalid IL or missing references) //IL_4245: Unknown result type (might be due to invalid IL or missing references) //IL_4259: Unknown result type (might be due to invalid IL or missing references) //IL_426d: Unknown result type (might be due to invalid IL or missing references) //IL_4272: Unknown result type (might be due to invalid IL or missing references) //IL_4277: Unknown result type (might be due to invalid IL or missing references) //IL_427c: Unknown result type (might be due to invalid IL or missing references) //IL_42bd: Unknown result type (might be due to invalid IL or missing references) //IL_42d1: Unknown result type (might be due to invalid IL or missing references) //IL_42e5: Unknown result type (might be due to invalid IL or missing references) //IL_42ea: Unknown result type (might be due to invalid IL or missing references) //IL_42ef: Unknown result type (might be due to invalid IL or missing references) //IL_42f4: Unknown result type (might be due to invalid IL or missing references) //IL_4335: Unknown result type (might be due to invalid IL or missing references) //IL_4349: Unknown result type (might be due to invalid IL or missing references) //IL_435d: Unknown result type (might be due to invalid IL or missing references) //IL_4362: Unknown result type (might be due to invalid IL or missing references) //IL_4367: Unknown result type (might be due to invalid IL or missing references) //IL_436c: Unknown result type (might be due to invalid IL or missing references) //IL_43ad: Unknown result type (might be due to invalid IL or missing references) //IL_43c1: Unknown result type (might be due to invalid IL or missing references) //IL_43d5: Unknown result type (might be due to invalid IL or missing references) //IL_43da: Unknown result type (might be due to invalid IL or missing references) //IL_43df: Unknown result type (might be due to invalid IL or missing references) //IL_43e4: Unknown result type (might be due to invalid IL or missing references) //IL_4425: Unknown result type (might be due to invalid IL or missing references) //IL_4439: Unknown result type (might be due to invalid IL or missing references) //IL_444d: Unknown result type (might be due to invalid IL or missing references) //IL_4452: Unknown result type (might be due to invalid IL or missing references) //IL_4457: Unknown result type (might be due to invalid IL or missing references) //IL_445c: Unknown result type (might be due to invalid IL or missing references) //IL_449d: Unknown result type (might be due to invalid IL or missing references) //IL_44b1: Unknown result type (might be due to invalid IL or missing references) //IL_44c5: Unknown result type (might be due to invalid IL or missing references) //IL_44ca: Unknown result type (might be due to invalid IL or missing references) //IL_44cf: Unknown result type (might be due to invalid IL or missing references) //IL_44d4: Unknown result type (might be due to invalid IL or missing references) //IL_4515: Unknown result type (might be due to invalid IL or missing references) //IL_4529: Unknown result type (might be due to invalid IL or missing references) //IL_453d: Unknown result type (might be due to invalid IL or missing references) //IL_4542: Unknown result type (might be due to invalid IL or missing references) //IL_4547: Unknown result type (might be due to invalid IL or missing references) //IL_454c: Unknown result type (might be due to invalid IL or missing references) //IL_458d: Unknown result type (might be due to invalid IL or missing references) //IL_45a1: Unknown result type (might be due to invalid IL or missing references) //IL_45b5: Unknown result type (might be due to invalid IL or missing references) //IL_45ba: Unknown result type (might be due to invalid IL or missing references) //IL_45bf: Unknown result type (might be due to invalid IL or missing references) //IL_45c4: Unknown result type (might be due to invalid IL or missing references) //IL_4605: Unknown result type (might be due to invalid IL or missing references) //IL_4619: Unknown result type (might be due to invalid IL or missing references) //IL_462d: Unknown result type (might be due to invalid IL or missing references) //IL_4632: Unknown result type (might be due to invalid IL or missing references) //IL_4637: Unknown result type (might be due to invalid IL or missing references) //IL_463c: Unknown result type (might be due to invalid IL or missing references) //IL_467d: Unknown result type (might be due to invalid IL or missing references) //IL_4691: Unknown result type (might be due to invalid IL or missing references) //IL_46a5: Unknown result type (might be due to invalid IL or missing references) //IL_46aa: Unknown result type (might be due to invalid IL or missing references) //IL_46af: Unknown result type (might be due to invalid IL or missing references) //IL_46b4: Unknown result type (might be due to invalid IL or missing references) //IL_46f5: Unknown result type (might be due to invalid IL or missing references) //IL_4709: Unknown result type (might be due to invalid IL or missing references) //IL_471d: Unknown result type (might be due to invalid IL or missing references) //IL_4722: Unknown result type (might be due to invalid IL or missing references) //IL_4727: Unknown result type (might be due to invalid IL or missing references) //IL_474c: Unknown result type (might be due to invalid IL or missing references) //IL_4760: Unknown result type (might be due to invalid IL or missing references) //IL_4774: Unknown result type (might be due to invalid IL or missing references) //IL_4779: Unknown result type (might be due to invalid IL or missing references) //IL_477e: Unknown result type (might be due to invalid IL or missing references) //IL_4783: Unknown result type (might be due to invalid IL or missing references) //IL_47c4: Unknown result type (might be due to invalid IL or missing references) //IL_47d8: Unknown result type (might be due to invalid IL or missing references) //IL_47ec: Unknown result type (might be due to invalid IL or missing references) //IL_47f1: Unknown result type (might be due to invalid IL or missing references) //IL_47f6: Unknown result type (might be due to invalid IL or missing references) //IL_47fb: Unknown result type (might be due to invalid IL or missing references) //IL_483c: Unknown result type (might be due to invalid IL or missing references) //IL_4850: Unknown result type (might be due to invalid IL or missing references) //IL_4864: Unknown result type (might be due to invalid IL or missing references) //IL_4869: Unknown result type (might be due to invalid IL or missing references) //IL_486e: Unknown result type (might be due to invalid IL or missing references) //IL_4873: Unknown result type (might be due to invalid IL or missing references) //IL_48b4: Unknown result type (might be due to invalid IL or missing references) //IL_48c8: Unknown result type (might be due to invalid IL or missing references) //IL_48dc: Unknown result type (might be due to invalid IL or missing references) //IL_48e1: Unknown result type (might be due to invalid IL or missing references) //IL_48e6: Unknown result type (might be due to invalid IL or missing references) //IL_490b: Unknown result type (might be due to invalid IL or missing references) //IL_491f: Unknown result type (might be due to invalid IL or missing references) //IL_4933: Unknown result type (might be due to invalid IL or missing references) //IL_4938: Unknown result type (might be due to invalid IL or missing references) //IL_493d: Unknown result type (might be due to invalid IL or missing references) //IL_4942: Unknown result type (might be due to invalid IL or missing references) //IL_4983: Unknown result type (might be due to invalid IL or missing references) //IL_4997: Unknown result type (might be due to invalid IL or missing references) //IL_49ab: Unknown result type (might be due to invalid IL or missing references) //IL_49b0: Unknown result type (might be due to invalid IL or missing references) //IL_49b5: Unknown result type (might be due to invalid IL or missing references) //IL_49ba: Unknown result type (might be due to invalid IL or missing references) //IL_49fb: Unknown result type (might be due to invalid IL or missing references) //IL_4a0f: Unknown result type (might be due to invalid IL or missing references) //IL_4a23: Unknown result type (might be due to invalid IL or missing references) //IL_4a28: Unknown result type (might be due to invalid IL or missing references) //IL_4a2d: Unknown result type (might be due to invalid IL or missing references) //IL_4a32: Unknown result type (might be due to invalid IL or missing references) //IL_4a73: Unknown result type (might be due to invalid IL or missing references) //IL_4a87: Unknown result type (might be due to invalid IL or missing references) //IL_4a9b: Unknown result type (might be due to invalid IL or missing references) //IL_4aa0: Unknown result type (might be due to invalid IL or missing references) //IL_4aa5: Unknown result type (might be due to invalid IL or missing references) //IL_4aaa: Unknown result type (might be due to invalid IL or missing references) //IL_4aeb: Unknown result type (might be due to invalid IL or missing references) //IL_4aff: Unknown result type (might be due to invalid IL or missing references) //IL_4b13: Unknown result type (might be due to invalid IL or missing references) //IL_4b18: Unknown result type (might be due to invalid IL or missing references) //IL_4b1d: Unknown result type (might be due to invalid IL or missing references) //IL_4b22: Unknown result type (might be due to invalid IL or missing references) //IL_4b63: Unknown result type (might be due to invalid IL or missing references) //IL_4b77: Unknown result type (might be due to invalid IL or missing references) //IL_4b8b: Unknown result type (might be due to invalid IL or missing references) //IL_4b90: Unknown result type (might be due to invalid IL or missing references) //IL_4b95: Unknown result type (might be due to invalid IL or missing references) //IL_4b9a: Unknown result type (might be due to invalid IL or missing references) //IL_4bdb: Unknown result type (might be due to invalid IL or missing references) //IL_4bef: Unknown result type (might be due to invalid IL or missing references) //IL_4c03: Unknown result type (might be due to invalid IL or missing references) //IL_4c08: Unknown result type (might be due to invalid IL or missing references) //IL_4c0d: Unknown result type (might be due to invalid IL or missing references) //IL_4c12: Unknown result type (might be due to invalid IL or missing references) //IL_4c53: Unknown result type (might be due to invalid IL or missing references) //IL_4c67: Unknown result type (might be due to invalid IL or missing references) //IL_4c7b: Unknown result type (might be due to invalid IL or missing references) //IL_4c80: Unknown result type (might be due to invalid IL or missing references) //IL_4c85: Unknown result type (might be due to invalid IL or missing references) //IL_4c8a: Unknown result type (might be due to invalid IL or missing references) //IL_4ccb: Unknown result type (might be due to invalid IL or missing references) //IL_4cdf: Unknown result type (might be due to invalid IL or missing references) //IL_4cf3: Unknown result type (might be due to invalid IL or missing references) //IL_4cf8: Unknown result type (might be due to invalid IL or missing references) //IL_4cfd: Unknown result type (might be due to invalid IL or missing references) //IL_4d02: Unknown result type (might be due to invalid IL or missing references) //IL_4d43: Unknown result type (might be due to invalid IL or missing references) //IL_4d57: Unknown result type (might be due to invalid IL or missing references) //IL_4d6b: Unknown result type (might be due to invalid IL or missing references) //IL_4d70: Unknown result type (might be due to invalid IL or missing references) //IL_4d75: Unknown result type (might be due to invalid IL or missing references) //IL_4d7a: Unknown result type (might be due to invalid IL or missing references) //IL_4dbb: Unknown result type (might be due to invalid IL or missing references) //IL_4dcf: Unknown result type (might be due to invalid IL or missing references) //IL_4de3: Unknown result type (might be due to invalid IL or missing references) //IL_4de8: Unknown result type (might be due to invalid IL or missing references) //IL_4ded: Unknown result type (might be due to invalid IL or missing references) //IL_4df2: Unknown result type (might be due to invalid IL or missing references) //IL_4e33: Unknown result type (might be due to invalid IL or missing references) //IL_4e47: Unknown result type (might be due to invalid IL or missing references) //IL_4e5b: Unknown result type (might be due to invalid IL or missing references) //IL_4e60: Unknown result type (might be due to invalid IL or missing references) //IL_4e65: Unknown result type (might be due to invalid IL or missing references) //IL_4e6a: Unknown result type (might be due to invalid IL or missing references) //IL_4eab: Unknown result type (might be due to invalid IL or missing references) //IL_4ebf: Unknown result type (might be due to invalid IL or missing references) //IL_4ed3: Unknown result type (might be due to invalid IL or missing references) //IL_4ed8: Unknown result type (might be due to invalid IL or missing references) //IL_4edd: Unknown result type (might be due to invalid IL or missing references) //IL_4ee2: Unknown result type (might be due to invalid IL or missing references) //IL_4f23: Unknown result type (might be due to invalid IL or missing references) //IL_4f37: Unknown result type (might be due to invalid IL or missing references) //IL_4f4b: Unknown result type (might be due to invalid IL or missing references) //IL_4f50: Unknown result type (might be due to invalid IL or missing references) //IL_4f55: Unknown result type (might be due to invalid IL or missing references) //IL_4f5d: Unknown result type (might be due to invalid IL or missing references) //IL_4f62: Unknown result type (might be due to invalid IL or missing references) //IL_4f67: Unknown result type (might be due to invalid IL or missing references) //IL_4fa8: Unknown result type (might be due to invalid IL or missing references) //IL_4fbc: Unknown result type (might be due to invalid IL or missing references) //IL_4fd0: Unknown result type (might be due to invalid IL or missing references) //IL_4fd5: Unknown result type (might be due to invalid IL or missing references) //IL_4fda: Unknown result type (might be due to invalid IL or missing references) //IL_4fdf: Unknown result type (might be due to invalid IL or missing references) //IL_5020: Unknown result type (might be due to invalid IL or missing references) //IL_5034: Unknown result type (might be due to invalid IL or missing references) //IL_5048: Unknown result type (might be due to invalid IL or missing references) //IL_504d: Unknown result type (might be due to invalid IL or missing references) //IL_5052: Unknown result type (might be due to invalid IL or missing references) //IL_5057: Unknown result type (might be due to invalid IL or missing references) //IL_5098: Unknown result type (might be due to invalid IL or missing references) //IL_50ac: Unknown result type (might be due to invalid IL or missing references) //IL_50c0: Unknown result type (might be due to invalid IL or missing references) //IL_50c5: Unknown result type (might be due to invalid IL or missing references) //IL_50ca: Unknown result type (might be due to invalid IL or missing references) //IL_50cf: Unknown result type (might be due to invalid IL or missing references) //IL_5110: Unknown result type (might be due to invalid IL or missing references) //IL_5124: Unknown result type (might be due to invalid IL or missing references) //IL_5138: Unknown result type (might be due to invalid IL or missing references) //IL_513d: Unknown result type (might be due to invalid IL or missing references) //IL_5142: Unknown result type (might be due to invalid IL or missing references) //IL_5147: Unknown result type (might be due to invalid IL or missing references) //IL_5188: Unknown result type (might be due to invalid IL or missing references) //IL_519c: Unknown result type (might be due to invalid IL or missing references) //IL_51b0: Unknown result type (might be due to invalid IL or missing references) //IL_51b5: Unknown result type (might be due to invalid IL or missing references) //IL_51ba: Unknown result type (might be due to invalid IL or missing references) //IL_51bf: Unknown result type (might be due to invalid IL or missing references) //IL_5200: Unknown result type (might be due to invalid IL or missing references) //IL_5214: Unknown result type (might be due to invalid IL or missing references) //IL_5228: Unknown result type (might be due to invalid IL or missing references) //IL_522d: Unknown result type (might be due to invalid IL or missing references) //IL_5232: Unknown result type (might be due to invalid IL or missing references) //IL_5237: Unknown result type (might be due to invalid IL or missing references) //IL_5278: Unknown result type (might be due to invalid IL or missing references) //IL_528c: Unknown result type (might be due to invalid IL or missing references) //IL_52a0: Unknown result type (might be due to invalid IL or missing references) //IL_52a5: Unknown result type (might be due to invalid IL or missing references) //IL_52aa: Unknown result type (might be due to invalid IL or missing references) //IL_52af: Unknown result type (might be due to invalid IL or missing references) //IL_52f0: Unknown result type (might be due to invalid IL or missing references) //IL_5304: Unknown result type (might be due to invalid IL or missing references) //IL_5318: Unknown result type (might be due to invalid IL or missing references) //IL_531d: Unknown result type (might be due to invalid IL or missing references) //IL_5322: Unknown result type (might be due to invalid IL or missing references) //IL_5327: Unknown result type (might be due to invalid IL or missing references) //IL_5368: Unknown result type (might be due to invalid IL or missing references) //IL_537c: Unknown result type (might be due to invalid IL or missing references) //IL_5390: Unknown result type (might be due to invalid IL or missing references) //IL_5395: Unknown result type (might be due to invalid IL or missing references) //IL_539a: Unknown result type (might be due to invalid IL or missing references) //IL_539f: Unknown result type (might be due to invalid IL or missing references) //IL_53e0: Unknown result type (might be due to invalid IL or missing references) //IL_53f4: Unknown result type (might be due to invalid IL or missing references) //IL_5408: Unknown result type (might be due to invalid IL or missing references) //IL_540d: Unknown result type (might be due to invalid IL or missing references) //IL_5412: Unknown result type (might be due to invalid IL or missing references) //IL_5417: Unknown result type (might be due to invalid IL or missing references) //IL_5458: Unknown result type (might be due to invalid IL or missing references) //IL_546c: Unknown result type (might be due to invalid IL or missing references) //IL_5480: Unknown result type (might be due to invalid IL or missing references) //IL_5485: Unknown result type (might be due to invalid IL or missing references) //IL_548a: Unknown result type (might be due to invalid IL or missing references) //IL_548f: Unknown result type (might be due to invalid IL or missing references) itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["AlienHead"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayAlienHead"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["ArmorPlate"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayRepulsionArmorPlate"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["ArmorReductionOnHit"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayWarhammer"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["AttackSpeedAndMoveSpeed"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayCoffee"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["AttackSpeedOnCrit"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayWolfPelt"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["AutoCastEquipment"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayFossil"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["Bandolier"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayBandolier"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["BarrierOnKill"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayBrooch"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["BarrierOnOverHeal"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayAegis"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["Bear"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayBear"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["BearVoid"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayBearVoid"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["BeetleGland"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayBeetleGland"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["Behemoth"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayBehemoth"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["BleedOnHit"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayTriTip"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["BleedOnHitAndExplode"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayBleedOnHitAndExplode"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["BleedOnHitVoid"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayTriTipVoid"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["BonusGoldPackOnKill"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayTome"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["BossDamageBonus"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayAPRound"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["BounceNearby"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayHook"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["ChainLightning"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayUkulele"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["ChainLightningVoid"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayUkuleleVoid"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["Clover"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayClover"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["CloverVoid"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayCloverVoid"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["CooldownOnCrit"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplaySkull"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["CritDamage"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayLaserSight"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["CritGlasses"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayGlasses"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["CritGlassesVoid"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayGlassesVoid"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["Crowbar"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayCrowbar"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["Dagger"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayDagger"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["DeathMark"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayDeathMark"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["ElementalRingVoid"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayVoidRing"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["EmpowerAlways"], ItemDisplays.CreateLimbMaskDisplayRule((LimbFlags)1), ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplaySunHeadNeck"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)), ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplaySunHead"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["EnergizedOnEquipmentUse"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayWarHorn"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["EquipmentMagazine"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayBattery"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["EquipmentMagazineVoid"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayFuelCellVoid"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["ExecuteLowHealthElite"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayGuillotine"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["ExplodeOnDeath"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayWilloWisp"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["ExplodeOnDeathVoid"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayWillowWispVoid"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["ExtraLife"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayHippo"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["ExtraLifeVoid"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayHippoVoid"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["FallBoots"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayGravBoots"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)), ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayGravBoots"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["Feather"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayFeather"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["FireballsOnHit"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayFireballsOnHit"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["FireRing"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayFireRing"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["Firework"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayFirework"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["FlatHealth"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplaySteakCurved"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["FocusConvergence"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayFocusedConvergence"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["FragileDamageBonus"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayDelicateWatch"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["FreeChest"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayShippingRequestForm"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["GhostOnKill"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayMask"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["GoldOnHit"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayBoneCrown"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["GoldOnHurt"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayRollOfPennies"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["HalfAttackSpeedHalfCooldowns"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayLunarShoulderNature"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["HalfSpeedDoubleHealth"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayLunarShoulderStone"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["HeadHunter"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplaySkullcrown"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["HealingPotion"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayHealingPotion"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["HealOnCrit"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayScythe"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["HealWhileSafe"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplaySnail"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["Hoof"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayHoof"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)), ItemDisplays.CreateLimbMaskDisplayRule((LimbFlags)8))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["IceRing"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayIceRing"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["Icicle"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayFrostRelic"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["IgniteOnKill"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayGasoline"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["ImmuneToDebuff"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayRainCoatBelt"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["IncreaseHealing"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayAntler"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)), ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayAntler"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["Incubator"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayAncestralIncubator"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["Infusion"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayInfusion"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["JumpBoost"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayWaxBird"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["KillEliteFrenzy"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayBrainstalk"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["Knurl"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayKnurl"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["LaserTurbine"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayLaserTurbine"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["LightningStrikeOnHit"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayChargedPerforator"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["LunarDagger"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayLunarDagger"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["LunarPrimaryReplacement"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayBirdEye"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["LunarSecondaryReplacement"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayBirdClaw"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["LunarSpecialReplacement"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayBirdHeart"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["LunarTrinket"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayBeads"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["LunarUtilityReplacement"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayBirdFoot"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["Medkit"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayMedkit"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["MinorConstructOnKill"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayDefenseNucleus"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["Missile"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayMissileLauncher"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["MissileVoid"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayMissileLauncherVoid"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["MonstersOnShrineUse"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayMonstersOnShrineUse"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["MoreMissile"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayICBM"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["MoveSpeedOnKill"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayGrappleHook"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["Mushroom"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayMushroom"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["MushroomVoid"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayMushroomVoid"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["NearbyDamageBonus"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayDiamond"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["NovaOnHeal"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayDevilHorns"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)), ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayDevilHorns"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["NovaOnLowHealth"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayJellyGuts"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["OutOfCombatArmor"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayOddlyShapedOpal"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["ParentEgg"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayParentEgg"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["Pearl"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayPearl"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["PermanentDebuffOnHit"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayScorpion"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["PersonalShield"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayShieldGenerator"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["Phasing"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayStealthkit"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["Plant"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayInterstellarDeskPlant"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["PrimarySkillShuriken"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayShuriken"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["RandomDamageZone"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayRandomDamageZone"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["RandomEquipmentTrigger"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayBottledChaos"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["RandomlyLunar"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayDomino"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["RegeneratingScrap"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayRegeneratingScrap"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["RepeatHeal"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayCorpseflower"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["SecondarySkillMagazine"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayDoubleMag"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["Seed"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplaySeed"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["ShieldOnly"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayShieldBug"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)), ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayShieldBug"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["ShinyPearl"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayShinyPearl"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["ShockNearby"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayTeslaCoil"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["SiphonOnLowHealth"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplaySiphonOnLowHealth"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["SlowOnHit"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayBauble"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["SlowOnHitVoid"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayBaubleVoid"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["SprintArmor"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayBuckler"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["SprintBonus"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplaySoda"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["SprintOutOfCombat"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayWhip"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["SprintWisp"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayBrokenMask"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["Squid"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplaySquidTurret"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["StickyBomb"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayStickyBomb"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["StrengthenBurn"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayGasTank"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["StunChanceOnHit"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayStunGrenade"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["Syringe"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplaySyringeCluster"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["Talisman"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayTalisman"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["Thorns"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayRazorwireLeft"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["TitanGoldDuringTP"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayGoldHeart"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["Tooth"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayToothNecklaceDecal"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)), ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayToothMeshLarge"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)), ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayToothMeshSmall1"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)), ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayToothMeshSmall2"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)), ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayToothMeshSmall2"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)), ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayToothMeshSmall1"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["TPHealingNova"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayGlowFlower"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["TreasureCache"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayKey"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["TreasureCacheVoid"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayKeyVoid"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["UtilitySkillMagazine"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayAfterburnerShoulderRing"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)), ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayAfterburnerShoulderRing"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["VoidMegaCrabItem"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayMegaCrabItem"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["WarCryOnMultiKill"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayPauldron"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["WardOnLevel"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayWarbanner"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["BFG"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayBFG"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["Blackhole"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayGravCube"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["BossHunter"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayTricornGhost"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)), ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayBlunderbuss"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["BossHunterConsumed"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayTricornUsed"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["BurnNearby"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayPotion"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["Cleanse"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayWaterPack"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["CommandMissile"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayMissileRack"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["CrippleWard"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayEffigy"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["CritOnUse"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayNeuralImplant"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["DeathProjectile"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayDeathProjectile"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["DroneBackup"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayRadio"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["EliteEarthEquipment"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayEliteMendingAntlers"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["EliteFireEquipment"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayEliteHorn"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)), ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayEliteHorn"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["EliteHauntedEquipment"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayEliteStealthCrown"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["EliteIceEquipment"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayEliteIceCrown"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["EliteLightningEquipment"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayEliteRhinoHorn"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)), ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayEliteRhinoHorn"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["EliteLunarEquipment"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayEliteLunar,Eye"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["ElitePoisonEquipment"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayEliteUrchinCrown"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["EliteVoidEquipment"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayAffixVoid"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["FireBallDash"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayEgg"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["Fruit"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayFruit"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["GainArmor"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayElephantFigure"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["Gateway"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayVase"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["GoldGat"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayGoldGat"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["GummyClone"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayGummyClone"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["IrradiatingLaser"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayIrradiatingLaser"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["Jetpack"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayBugWings"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["LifestealOnHit"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayLifestealOnHit"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["Lightning"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayLightningArmRight"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)), ItemDisplays.CreateLimbMaskDisplayRule((LimbFlags)2))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["LunarPortalOnUse"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayLunarPortalOnUse"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["Meteor"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayMeteor"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["Molotov"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayMolotov"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["MultiShopCard"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayExecutiveCard"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["QuestVolatileBattery"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayBatteryArray"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["Recycle"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayRecycler"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["Saw"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplaySawmerangFollower"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["Scanner"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayScanner"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["TeamWarCry"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayTeamWarCry"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["Tonic"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayTonic"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); itemDisplayRules.Add(ItemDisplays.CreateDisplayRuleGroupWithRules(ItemDisplays.KeyAssets["VendingMachine"], ItemDisplays.CreateDisplayRule(ItemDisplays.LoadDisplay("DisplayVendingMachine"), "Chest", new Vector3(2f, 2f, 2f), new Vector3(0f, 0f, 0f), new Vector3(1f, 1f, 1f)))); } } public static class BayoStates { public static void Init() { Content.AddEntityState(typeof(BayoCharacterMain)); Content.AddEntityState(typeof(BaseEmote)); Content.AddEntityState(typeof(BasePunch)); Content.AddEntityState(typeof(Punch1)); Content.AddEntityState(typeof(Punch2)); Content.AddEntityState(typeof(Punch3)); Content.AddEntityState(typeof(Punch4)); Content.AddEntityState(typeof(FlurryStart)); Content.AddEntityState(typeof(Flurry)); Content.AddEntityState(typeof(FlurryEnd)); Content.AddEntityState(typeof(M2Entry)); Content.AddEntityState(typeof(FallingKickStart)); Content.AddEntityState(typeof(FallingKick)); Content.AddEntityState(typeof(FallingKickEnd)); Content.AddEntityState(typeof(HeelSlide)); Content.AddEntityState(typeof(HeelKick)); Content.AddEntityState(typeof(RisingKick)); Content.AddEntityState(typeof(RisingFinisher)); Content.AddEntityState(typeof(ABK)); Content.AddEntityState(typeof(ABKEnd)); Content.AddEntityState(typeof(SpinStart)); Content.AddEntityState(typeof(Spin)); Content.AddEntityState(typeof(BreakStart)); Content.AddEntityState(typeof(Break)); Content.AddEntityState(typeof(Tetsu)); Content.AddEntityState(typeof(WeaveEntry)); Content.AddEntityState(typeof(WeaveDummy)); Content.AddEntityState(typeof(Stomp)); Content.AddEntityState(typeof(Dodge)); Content.AddEntityState(typeof(Stance)); Content.AddEntityState(typeof(Emote1)); Content.AddEntityState(typeof(Emote2)); Content.AddEntityState(typeof(e2temp)); Content.AddEntityState(typeof(Strut)); Content.AddEntityState(typeof(StrutNew)); Content.AddEntityState(typeof(Kiss)); Content.AddEntityState(typeof(BayoFreeze)); Content.AddEntityState(typeof(LetsDance)); Content.AddEntityState(typeof(LetsDance2)); Content.AddEntityState(typeof(PunishStun)); Content.AddEntityState(typeof(PunishEntry)); Content.AddEntityState(typeof(StepStart)); Content.AddEntityState(typeof(Step)); Content.AddEntityState(typeof(StepEnd)); Content.AddEntityState(typeof(SmackStart)); Content.AddEntityState(typeof(Smack)); Content.AddEntityState(typeof(SmackEnd)); Content.AddEntityState(typeof(GrabStart)); Content.AddEntityState(typeof(Grab)); Content.AddEntityState(typeof(Throw)); Content.AddEntityState(typeof(EnemyFreeze)); Content.AddEntityState(typeof(ClimaxEntry)); Content.AddEntityState(typeof(GrabStun)); Content.AddEntityState(typeof(SummonGom)); Content.AddEntityState(typeof(BatsWithinChargeUp)); Content.AddEntityState(typeof(BatsWithin)); Content.AddEntityState(typeof(Land)); } } public static class BayoStaticValues { public const float swordDamageCoefficient = 2.8f; public const float gunDamageCoefficient = 0.5f; internal static List BLACKLIST_STATES = new List(); public static void AddBlacklistStates() { BLACKLIST_STATES.Add(typeof(SpellChannelState)); BLACKLIST_STATES.Add(typeof(SpellChannelEnterState)); BLACKLIST_STATES.Add(typeof(SpellChannelExitState)); } } public static class BayoTokens { public static void Init() { AddBayoTokens(); } public static void AddBayoTokens() { string text = "PSYCHE_BAYO_"; string text2 = "Bayonetta is a versatile melee-ranged hybrid, able to weave in and out of danger in order to dish out high damage." + Environment.NewLine + Environment.NewLine + "< ! > If bayonetta dodges while in using Bullet Arts, she'll continue the combo sequence where she left off as long as the button for Bullet Arts is held." + Environment.NewLine + Environment.NewLine + "< ! > The added armor and slow effect from witch time gives Bayonetta a much needed layer of protection from up-close threats. Use witch time as an opportunity to close the gap and use Bayonetta's high-damaging short range options." + Environment.NewLine + Environment.NewLine + "< ! > Many of Bayonetta's moves can be cancelled early with a jump. All of Bayonetta's moves are cancellable with Dodge." + Environment.NewLine + Environment.NewLine + "< ! > Similar to the effects of witch time, heavier enemies below half health will also receive more knockback from Bayonetta's moves." + Environment.NewLine + Environment.NewLine + "< ! > Repeatedly pressing the primary skill button during a punish attack will speed up the attack." + Environment.NewLine + Environment.NewLine; string text3 = "..and so she left, still in search for answers to her mysterious destiny."; string text4 = "..and so she vanished, but as long as there is light, THE SHADOW REMAINS CAST!"; Language.Add(text + "NAME", "Bayonetta"); Language.Add(text + "DESCRIPTION", text2); Language.Add(text + "SUBTITLE", "The Left Eye of Darkness"); Language.Add(text + "LORE", "girl idfk its just bayonetta"); Language.Add(text + "OUTRO_FLAVOR", text3); Language.Add(text + "OUTRO_FAILURE", text4); Language.Add(text + "PUNISH_PROMPT", "Punish!"); Language.Add(text + "BAYO1_SKIN_NAME", "Remembrance"); Language.Add(text + "BAYO2_SKIN_NAME", "Famed"); Language.Add(text + "ART_SKIN_NAME", "Rogue"); Language.Add(text + "PASSIVE_NAME", "Bayonetta passive"); Language.Add(text + "PASSIVE_DESCRIPTION", "Sample text."); Language.Add(text + "PRIMARY_COMBO_NAME", "Bullet Arts"); Language.Add(text + "PRIMARY_COMBO_DESCRIPTION", $"Perform a 5 hit punch sequence, dealing {200f}% damage for the first four hits." + $" The last hit is a flurry attack that deals {165f}% damage each hit and summons a wicked weave when released, dealing {1250f}% damage." + $" Bayonetta will also continuously fire her guns during the sequence, each shot dealing {50f}% damage."); Language.Add(text + "SECONDARY_ABK_NAME", "Umbran Techniques"); Language.Add(text + "SECONDARY_ABK_DESCRIPTION", "Perform a variety of different moves depending on movement inputs and whether or not Bayonetta is grounded"); LanguageAPI.Add("KEYWORD_BAYO_ABK", $"After Burner Kick Input: aerial, hold forward + m2. Launch into the air with a blazing kick, knocking back lighter enemies and dealing {375f}% damage."); LanguageAPI.Add("KEYWORD_BAYO_SPIN", $"Heel Tornado Input: aerial, hold neutral + m2. Perform a spinning kick, continuously dealing {150f}% damage. Knocks away lighter enemies."); LanguageAPI.Add("KEYWORD_BAYO_DOWN", $"Death Drop Input: aerial, hold back + m2. Quickly descend with a spiking kick, continuously dealing {250f}% damage and knocking down enemies."); LanguageAPI.Add("KEYWORD_BAYO_HEEL", $"Heel Slide Input: grounded, hold forward + m2. Slide forwards at high speed, dealing {100f}% damage." + $" Continue holding the move down after stopping to perform a rising kick, launching lighter enemies and dealing {300f}% damage."); LanguageAPI.Add("KEYWORD_BAYO_BREAK", $"Breakdance Input: grounded, hold neutral + m2. Perform a breakdance, continuously dealing {120f}% damage per hit."); LanguageAPI.Add("KEYWORD_BAYO_RISE", $"Full Moon Shoot Input: grounded, hold back + m2. Perform a backflip that launches lighter enemies, dealing {395f}% damage." + $" Continue holding the move down to keep spinning, continuously dealing {100f}% damage."); Language.Add(text + "UTILITY_DODGE_NAME", "Dodge"); Language.Add(text + "UTILITY_DODGE_DESCRIPTION", "Dodge a short distance, gaining brief invincibility and 100 armor. If you are hit during the invincibility, activate Witch Time."); LanguageAPI.Add("KEYWORD_BAYO_WT", "Witch Time Gain 350 armor. Enemies and projectiles near Bayonetta are greatly slowed, and moves that normally only launch lighter enemies will now launch all non-boss enemies."); Language.Add(text + "SPECIAL_WEAVEIN_NAME", "Tetsuzanko/Heel Stomp"); Language.Add(text + "SPECIAL_WEAVEIN_DESCRIPTION", "Lock onto enemies and use primary or secondary buttons to summon a wicked weave at their location."); Language.Add(text + "SPECIAL_TETSU_NAME", "Tetsuzanko"); Language.Add(text + "SPECIAL_TETSU_DESCRIPTION", "juninhiyandiayooo"); Language.Add(text + "SPECIAL_WEEAVEOUT_NAME", "Cancel"); Language.Add(text + "SPECIAL_WEAVEOUT_DESCRIPTION", "Cancel"); Language.Add(text + "SPECIAL_STOMP_NAME", "Heel Stomp"); Language.Add(text + "SPECIAL_STOMP_DESCRIPTION", "TEYIAHHH"); LanguageAPI.Add("KEYWORD_BAYO_TETS", $"Tetsuzanko Input: Primary (M1) Summon a demon fist that knocks enemies away, dealing {1250f}% damage."); LanguageAPI.Add("KEYWORD_BAYO_HSTOMP", $"Heel Stomp Input: Secondary (M2) Summon a demon foot that knocks down enemies, sending them downwards and dealing {1250f}% damage."); LanguageAPI.Add("KEYWORD_BAYO_KD", "Knocked Down Enemies who are knocked down are stunned for a extended duration. If Bayonetta is grounded and close enough to a knocked down enemy, she can use the Interact button to perform a punish attack"); Language.Add(Tokens.GetAchievementNameToken("PSYCHE_BAYO_masteryAchievement"), "Bayonetta: Mastery"); Language.Add(Tokens.GetAchievementDescriptionToken("PSYCHE_BAYO_masteryAchievement"), "She doesn't have a mastery skin yet sorry"); } } public static class BayoUnlockables { public static UnlockableDef characterUnlockableDef; public static UnlockableDef masterySkinUnlockableDef; public static void Init() { masterySkinUnlockableDef = Content.CreateAndAddUnlockbleDef("PSYCHE_BAYO_masteryUnlockable", Tokens.GetAchievementNameToken("PSYCHE_BAYO_masteryAchievement"), CharacterBase.instance.assetBundle.LoadAsset("texMasteryAchievement")); } } } namespace BayoMod.Survivors.Bayo.SkillStates { public class Dodge : BaseSkillState { public static float duration = 1.5f; public static float initialSpeedCoefficient = 2.5f; public static float finalSpeedCoefficient = 2f; protected bool cancel; public static string dodgeSoundString = "dodge"; private float rollSpeed; private float mSpeed; private Vector3 forwardDirection; private Animator animator; private Vector3 previousPosition; public int currentSwing = -1; protected float earlyExit = 0.525f; protected bool jumped; protected float stopwatch; private float baseSpeed; private float speedMult; protected float evadeWatch; private bool inEvade = false; private bool evadeDone = false; private bool slowed = false; protected float evadeTime = 0.4f; private HitStopCachedState hitStopCachedState; private CameraParamsOverrideHandle cameraParamsOverrideHandle; private CharacterCameraParams dodgeCam; public static CharacterCameraParams cameraParams; protected bool rlyGoodTiming = false; private float dodgeTime; private float armorTime; private bool buffDone = false; public override void OnEnter() { //IL_004a: Unknown result type (might be due to invalid IL or missing references) //IL_004f: Unknown result type (might be due to invalid IL or missing references) //IL_006e: 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_0073: 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_00d1: 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_00d6: Unknown result type (might be due to invalid IL or missing references) //IL_00d7: Unknown result type (might be due to invalid IL or missing references) //IL_00dc: Unknown result type (might be due to invalid IL or missing references) //IL_00dd: Unknown result type (might be due to invalid IL or missing references) //IL_00e2: Unknown result type (might be due to invalid IL or missing references) //IL_0156: Unknown result type (might be due to invalid IL or missing references) //IL_0161: Unknown result type (might be due to invalid IL or missing references) //IL_0166: Unknown result type (might be due to invalid IL or missing references) //IL_0199: Unknown result type (might be due to invalid IL or missing references) //IL_019b: Unknown result type (might be due to invalid IL or missing references) //IL_01bb: Unknown result type (might be due to invalid IL or missing references) //IL_01ae: Unknown result type (might be due to invalid IL or missing references) //IL_01c0: Unknown result type (might be due to invalid IL or missing references) //IL_01c8: Unknown result type (might be due to invalid IL or missing references) //IL_01cd: Unknown result type (might be due to invalid IL or missing references) //IL_01ce: Unknown result type (might be due to invalid IL or missing references) //IL_01d3: Unknown result type (might be due to invalid IL or missing references) ((BaseState)this).OnEnter(); animator = ((EntityState)this).GetModelAnimator(); CreateCamera(); if (((EntityState)this).isAuthority && Object.op_Implicit((Object)(object)((EntityState)this).inputBank) && Object.op_Implicit((Object)(object)((EntityState)this).characterDirection)) { Vector3 val = ((((EntityState)this).inputBank.moveVector == Vector3.zero) ? ((EntityState)this).characterDirection.forward : ((EntityState)this).inputBank.moveVector); forwardDirection = ((Vector3)(ref val)).normalized; } if (((EntityState)this).isAuthority && ((EntityState)this).inputBank.skill1.down) { ((EntityState)this).skillLocator.primary.Reset(); } Vector3 val2 = (Object.op_Implicit((Object)(object)((EntityState)this).characterDirection) ? ((EntityState)this).characterDirection.forward : forwardDirection); Vector3 val3 = Vector3.Cross(Vector3.up, val2); mSpeed = ((BaseState)this).moveSpeedStat; if (((EntityState)this).inputBank.skill1.down) { mSpeed = 6.5f; } else { mSpeed = Math.Max(mSpeed, 6.5f); } RecalculateRollSpeed(); if (Object.op_Implicit((Object)(object)((EntityState)this).characterMotor) && Object.op_Implicit((Object)(object)((EntityState)this).characterDirection)) { Vector3 velocity = forwardDirection * rollSpeed; velocity.y = Math.Min(Math.Max(((EntityState)this).characterMotor.velocity.y, -10f), 20f); ((EntityState)this).characterMotor.velocity = velocity; } Vector3 val4 = (Object.op_Implicit((Object)(object)((EntityState)this).characterMotor) ? ((EntityState)this).characterMotor.velocity : Vector3.zero); previousPosition = ((EntityState)this).transform.position - val4; ((EntityState)this).PlayAnimation("Body", "Roll", "Roll.playbackRate", duration, 0f); Util.PlaySound(dodgeSoundString, ((EntityState)this).gameObject); Util.PlaySound("evade", ((EntityState)this).gameObject); baseSpeed = 7f; if (((EntityState)this).characterBody.isSprinting) { baseSpeed *= ((EntityState)this).characterBody.sprintingSpeedMultiplier; } armorTime = earlyExit + 0.13333333f; dodgeTime = 0.25f; if (((BaseState)this).moveSpeedStat - baseSpeed > 0f) { speedMult = 1f + (((BaseState)this).moveSpeedStat - baseSpeed) / baseSpeed; armorTime *= speedMult; armorTime = Math.Min(armorTime, 1f); dodgeTime *= speedMult; dodgeTime = Math.Min(dodgeTime, earlyExit + 0.13333333f); } if (NetworkServer.active) { ((EntityState)this).characterBody.AddTimedBuff(BayoBuffs.armorBuff, armorTime); if (((EntityState)this).characterBody.HasBuff(BayoBuffs.wtBuff) || ((EntityState)this).characterBody.HasBuff(BayoBuffs.wtCoolDown)) { ((EntityState)this).characterBody.AddTimedBuff(Buffs.HiddenInvincibility, dodgeTime); } else { ((EntityState)this).characterBody.AddTimedBuff(BayoBuffs.dodgeBuff, dodgeTime); } } } private void RecalculateRollSpeed() { rollSpeed = mSpeed * Mathf.Lerp(initialSpeedCoefficient, finalSpeedCoefficient, stopwatch / earlyExit); if (((EntityState)this).isAuthority && stopwatch >= earlyExit) { rollSpeed = mSpeed * Mathf.Lerp(finalSpeedCoefficient, 0f, stopwatch / duration); } } private void DetermineCancel() { //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) if (Object.op_Implicit((Object)(object)((EntityState)this).characterMotor) && !((EntityState)this).characterMotor.isGrounded) { cancel = true; } if (Object.op_Implicit((Object)(object)((EntityState)this).inputBank)) { if (((EntityState)this).inputBank.skill1.down) { cancel = true; } if (((EntityState)this).inputBank.skill2.down) { cancel = true; } if (((EntityState)this).inputBank.skill3.down) { cancel = true; } if (((EntityState)this).inputBank.skill4.down) { cancel = true; } if (((EntityState)this).inputBank.jump.down) { cancel = true; jumped = true; } if (((EntityState)this).inputBank.moveVector != Vector3.zero) { cancel = true; } } } public override void FixedUpdate() { //IL_0033: 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_01cc: Unknown result type (might be due to invalid IL or missing references) //IL_01d2: Unknown result type (might be due to invalid IL or missing references) //IL_01d7: Unknown result type (might be due to invalid IL or missing references) //IL_01dc: Unknown result type (might be due to invalid IL or missing references) //IL_01e0: Unknown result type (might be due to invalid IL or missing references) //IL_01e5: Unknown result type (might be due to invalid IL or missing references) //IL_00e0: Unknown result type (might be due to invalid IL or missing references) //IL_00ed: Unknown result type (might be due to invalid IL or missing references) //IL_00f2: Unknown result type (might be due to invalid IL or missing references) //IL_0103: Unknown result type (might be due to invalid IL or missing references) //IL_010a: 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_0200: Unknown result type (might be due to invalid IL or missing references) //IL_0201: Unknown result type (might be due to invalid IL or missing references) //IL_0277: Unknown result type (might be due to invalid IL or missing references) //IL_027c: Unknown result type (might be due to invalid IL or missing references) //IL_0215: Unknown result type (might be due to invalid IL or missing references) //IL_021c: Unknown result type (might be due to invalid IL or missing references) //IL_0221: Unknown result type (might be due to invalid IL or missing references) //IL_0223: Unknown result type (might be due to invalid IL or missing references) //IL_0226: Unknown result type (might be due to invalid IL or missing references) //IL_023d: Unknown result type (might be due to invalid IL or missing references) //IL_0244: Unknown result type (might be due to invalid IL or missing references) //IL_0249: Unknown result type (might be due to invalid IL or missing references) //IL_0268: Unknown result type (might be due to invalid IL or missing references) //IL_026a: Unknown result type (might be due to invalid IL or missing references) //IL_0197: Unknown result type (might be due to invalid IL or missing references) //IL_01a1: Unknown result type (might be due to invalid IL or missing references) //IL_01a6: Unknown result type (might be due to invalid IL or missing references) //IL_01ad: Unknown result type (might be due to invalid IL or missing references) ((EntityState)this).FixedUpdate(); RecalculateRollSpeed(); cancel = false; jumped = false; if (Object.op_Implicit((Object)(object)((EntityState)this).characterDirection)) { ((EntityState)this).characterDirection.forward = forwardDirection; } if (!inEvade) { stopwatch += Time.fixedDeltaTime; HandleBuffs(); } else { evadeWatch -= Time.fixedDeltaTime; if (!slowed) { slowed = true; hitStopCachedState = ((BaseState)this).CreateHitStopCachedState(((EntityState)this).characterMotor, animator, "Roll.playbackRate"); mSpeed *= 1f / 3f; if (Object.op_Implicit((Object)(object)((EntityState)this).cameraTargetParams)) { cameraParamsOverrideHandle = ((EntityState)this).cameraTargetParams.AddParamsOverride(new CameraParamsOverrideRequest { cameraParamsData = cameraParams.data, priority = 1f }, 0.35f); } } if (Object.op_Implicit((Object)(object)animator)) { animator.SetFloat("Roll.playbackRate", 0.33333f); } if (evadeWatch < 0f && !evadeDone) { inEvade = false; evadeDone = true; mSpeed *= 3f; earlyExit -= 0.13333f; cameraParamsOverrideHandle = ((EntityState)this).cameraTargetParams.RemoveParamsOverride(cameraParamsOverrideHandle, 0.25f); ((BaseState)this).ConsumeHitStopCachedState(hitStopCachedState, ((EntityState)this).characterMotor, animator); } } Vector3 val = ((EntityState)this).transform.position - previousPosition; Vector3 normalized = ((Vector3)(ref val)).normalized; if (Object.op_Implicit((Object)(object)((EntityState)this).characterMotor) && Object.op_Implicit((Object)(object)((EntityState)this).characterDirection) && normalized != Vector3.zero) { Vector3 val2 = normalized * rollSpeed; float num = Mathf.Max(Vector3.Dot(val2, forwardDirection), 0f); val2 = forwardDirection * num; val2.y = ((EntityState)this).characterMotor.velocity.y; ((EntityState)this).characterMotor.velocity = val2; } previousPosition = ((EntityState)this).transform.position; if (((EntityState)this).isAuthority && stopwatch > dodgeTime && !buffDone) { buffDone = true; } if (((EntityState)this).isAuthority && stopwatch >= earlyExit && !inEvade) { DetermineCancel(); if (((EntityState)this).inputBank.skill1.down) { SetStep(); return; } if (jumped) { ((ButtonState)(ref ((EntityState)this).inputBank.jump)).PushState(false); } if (cancel) { ((EntityState)this).outer.SetNextStateToMain(); return; } } if (((EntityState)this).isAuthority && stopwatch >= duration) { ((EntityState)this).outer.SetNextState((EntityState)(object)new Stance()); } } public override void OnExit() { int value = Config.wtdur.Value; int value2 = Config.wtpdur.Value; int itemCount = ((EntityState)this).characterBody.inventory.GetItemCount(Items.UtilitySkillMagazine); value += itemCount * 3; value2 += itemCount * 3; if (cancel) { ((EntityState)this).PlayAnimation("FullBody, Override", "BufferEmpty"); } if (evadeDone && NetworkServer.active) { Util.PlaySound("wtv", ((EntityState)this).gameObject); if (rlyGoodTiming) { for (int i = 1; i <= value2; i++) { ((EntityState)this).characterBody.AddTimedBuff(BayoBuffs.wtBuff, (float)i); } } else { for (int j = 1; j <= value; j++) { ((EntityState)this).characterBody.AddTimedBuff(BayoBuffs.wtBuff, (float)j); } } } ((EntityState)this).OnExit(); ((EntityState)this).characterMotor.disableAirControlUntilCollision = false; } public override void OnSerialize(NetworkWriter writer) { //IL_000b: Unknown result type (might be due to invalid IL or missing references) ((BaseSkillState)this).OnSerialize(writer); writer.Write(forwardDirection); } public override void OnDeserialize(NetworkReader reader) { //IL_000b: Unknown result type (might be due to invalid IL or missing references) //IL_0010: Unknown result type (might be due to invalid IL or missing references) ((BaseSkillState)this).OnDeserialize(reader); forwardDirection = reader.ReadVector3(); } public override InterruptPriority GetMinimumInterruptPriority() { //IL_001c: Unknown result type (might be due to invalid IL or missing references) //IL_0018: Unknown result type (might be due to invalid IL or missing references) //IL_001f: Unknown result type (might be due to invalid IL or missing references) if (stopwatch >= earlyExit) { return (InterruptPriority)0; } return (InterruptPriority)1; } public void SetStep() { switch (currentSwing) { case -1: ((EntityState)this).outer.SetNextState((EntityState)(object)new Punch1 { swingIndex = 0 }); break; case 0: ((EntityState)this).outer.SetNextState((EntityState)(object)new Punch2 { swingIndex = 1 }); break; case 1: ((EntityState)this).outer.SetNextState((EntityState)(object)new Punch3 { swingIndex = 2 }); break; case 2: ((EntityState)this).outer.SetNextState((EntityState)(object)new Punch4 { swingIndex = 3 }); break; case 3: ((EntityState)this).outer.SetNextState((EntityState)(object)new FlurryStart()); break; case 4: ((EntityState)this).outer.SetNextState((EntityState)(object)new FlurryEnd()); break; } } private void HandleBuffs() { if (((EntityState)this).characterBody.HasBuff(BayoBuffs.evadeSuccess)) { Util.PlaySound("ds", ((EntityState)this).gameObject); inEvade = true; evadeWatch = evadeTime; float num = 0.1f; if (((BaseState)this).moveSpeedStat - baseSpeed > 0f) { num *= speedMult; num = Math.Min(num, earlyExit + 0.13333333f); } if (stopwatch <= num) { rlyGoodTiming = true; } if (NetworkServer.active) { ((EntityState)this).characterBody.RemoveBuff(BayoBuffs.evadeSuccess); ((EntityState)this).characterBody.AddTimedBuff(Buffs.HiddenInvincibility, earlyExit - stopwatch + evadeTime); } } } private void CreateCamera() { //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_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) //IL_005b: Unknown result type (might be due to invalid IL or missing references) dodgeCam = ScriptableObject.CreateInstance(); ((Object)dodgeCam).name = "dodgeCam"; dodgeCam.data.wallCushion = BlendableFloat.op_Implicit(0.1f); dodgeCam.data.idealLocalCameraPos = BlendableVector3.op_Implicit(new Vector3(0f, -1f, -5f)); cameraParams = dodgeCam; } } public class FallingKick : BaseSkillState { public static float airControl = GroundSlam.airControl; public static float minimumDuration = GroundSlam.minimumDuration; public static string enterSoundString = GroundSlam.enterSoundString; public static float initialVerticalVelocity = GroundSlam.initialVerticalVelocity * 1.2f; public static float verticalAcceleration = GroundSlam.verticalAcceleration * 0.8f; private float previousAirControl; protected string hitboxGroupName = "FallGroup"; protected string hitboxName = "FallHitbox"; private OverlapAttack fallAttack; protected DamageType damageType = (DamageType)0; protected float fallDamage = 2.5f; protected float fireAge = 0f; protected float procCoefficient = 1f; protected Vector3 downForce = Vector3.down * 0.8f; protected GameObject hitEffectPrefab; protected NetworkSoundEventIndex impactSound = (NetworkSoundEventIndex)(-1); protected string kickSoundString = "falling"; protected string hitSoundString = "hit"; protected float attackRecoil = 1f; protected float hitStopDuration = 0f; protected float fireFreq = 0.25f; private bool hasFired; private float hitPauseTimer; protected bool inHitPause; protected Animator animator; private HitStopCachedState hitStopCachedState; protected string playbackRateParam = "Slash.playbackRate"; protected readonly List results = new List(); private bool launch = true; private GameObject swingEffectPrefab = BayoAssets.fall; private GameObject loopEffectInstance; private bool refunded = false; public override void OnEnter() { //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) //IL_0064: Unknown result type (might be due to invalid IL or missing references) //IL_0091: 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_0099: Unknown result type (might be due to invalid IL or missing references) ((BaseState)this).OnEnter(); animator = ((EntityState)this).GetModelAnimator(); hasFired = false; fireFreq /= ((BaseState)this).attackSpeedStat; SetupFallAttack(); if (((EntityState)this).isAuthority) { ((EntityState)this).characterMotor.velocity.y = initialVerticalVelocity; } CharacterBody characterBody = ((EntityState)this).characterBody; characterBody.bodyFlags = (BodyFlags)(characterBody.bodyFlags | 1); previousAirControl = ((EntityState)this).characterMotor.airControl; ((EntityState)this).characterMotor.airControl = airControl; CharacterDirection characterDirection = ((EntityState)this).characterDirection; Ray aimRay = ((BaseState)this).GetAimRay(); characterDirection.forward = ((Ray)(ref aimRay)).direction; ((EntityState)this).PlayAnimation("Body", "FallKick"); } private void SetupFallAttack() { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_000c: Expected O, but got Unknown //IL_0013: Unknown result type (might be due to invalid IL or missing references) //IL_0018: Unknown result type (might be due to invalid IL or missing references) //IL_001d: Unknown result type (might be due to invalid IL or missing references) //IL_004b: Unknown result type (might be due to invalid IL or missing references) //IL_0050: Unknown result type (might be due to invalid IL or missing references) //IL_00be: Unknown result type (might be due to invalid IL or missing references) //IL_00c3: Unknown result type (might be due to invalid IL or missing references) fallAttack = new OverlapAttack(); fallAttack.damageType = DamageTypeCombo.op_Implicit(damageType); fallAttack.attacker = ((EntityState)this).gameObject; fallAttack.inflictor = ((EntityState)this).gameObject; fallAttack.teamIndex = ((BaseState)this).GetTeam(); fallAttack.damage = fallDamage * ((BaseState)this).damageStat; fallAttack.procCoefficient = procCoefficient; fallAttack.hitEffectPrefab = hitEffectPrefab; fallAttack.hitBoxGroup = ((BaseState)this).FindHitBoxGroup(hitboxGroupName); fallAttack.isCrit = ((BaseState)this).RollCrit(); fallAttack.impactSound = impactSound; } private void FireFallAttack() { //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) //IL_00e7: Unknown result type (might be due to invalid IL or missing references) //IL_00f1: Unknown result type (might be due to invalid IL or missing references) //IL_00f6: Unknown result type (might be due to invalid IL or missing references) //IL_00fa: Unknown result type (might be due to invalid IL or missing references) //IL_00ff: Unknown result type (might be due to invalid IL or missing references) //IL_0101: Unknown result type (might be due to invalid IL or missing references) //IL_0103: Unknown result type (might be due to invalid IL or missing references) //IL_0105: Unknown result type (might be due to invalid IL or missing references) //IL_010c: Unknown result type (might be due to invalid IL or missing references) //IL_015e: Unknown result type (might be due to invalid IL or missing references) //IL_0163: Unknown result type (might be due to invalid IL or missing references) //IL_0193: Unknown result type (might be due to invalid IL or missing references) if (!hasFired) { hasFired = true; if (((EntityState)this).isAuthority) { ((BaseState)this).AddRecoil(-1f * attackRecoil, -2f * attackRecoil, -0.5f * attackRecoil, 0.5f * attackRecoil); } } if (fireAge >= fireFreq) { fireAge = 0f; fallAttack.ResetIgnoredHealthComponents(); hasFired = false; results.Clear(); } if (((EntityState)this).isAuthority && fallAttack.Fire((List)null)) { OnHitEnemyAuthority(); } if (!NetworkServer.active) { return; } Transform val = ((BaseState)this).FindModelChild(hitboxName); Vector3 position = val.position; Vector3 val2 = val.localScale * 0.5f; Quaternion rotation = val.rotation; Collider[] array = Physics.OverlapBox(position, val2, rotation, LayerMask.op_Implicit(((LayerIndex)(ref LayerIndex.entityPrecise)).mask)); for (int i = 0; i < array.Length; i++) { HurtBox component = ((Component)array[i]).GetComponent(); if (!Object.op_Implicit((Object)(object)component)) { continue; } HealthComponent healthComponent = component.healthComponent; if (!Object.op_Implicit((Object)(object)healthComponent)) { continue; } TeamIndex team = ((BaseState)this).GetTeam(); if (!results.Contains(healthComponent)) { results.Add(healthComponent); HealthComponent val3 = healthComponent; if (FriendlyFireManager.ShouldDirectHitProceed(val3, team) && (!val3.body.isChampion || (((Object)((Component)val3).gameObject).name.Contains("Brother") && ((Object)((Component)val3).gameObject).name.Contains("Body"))) && Object.op_Implicit((Object)(object)val3) && Object.op_Implicit((Object)(object)((Component)val3).transform)) { ApplyForce(val3); } } } } protected bool CanDodge() { if (((EntityState)this).inputBank.skill3.down && Object.op_Implicit((Object)(object)((EntityState)this).skillLocator.utility) && (!((EntityState)this).skillLocator.utility.mustKeyPress || !((EntityState)this).inputBank.skill3.hasPressBeenClaimed) && ((EntityState)this).skillLocator.utility.ExecuteIfReady()) { return true; } return false; } public override void FixedUpdate() { //IL_0064: Unknown result type (might be due to invalid IL or missing references) //IL_007b: Unknown result type (might be due to invalid IL or missing references) //IL_0080: Unknown result type (might be due to invalid IL or missing references) //IL_008c: Unknown result type (might be due to invalid IL or missing references) //IL_0091: Unknown result type (might be due to invalid IL or missing references) //IL_0094: Unknown result type (might be due to invalid IL or missing references) ((EntityState)this).FixedUpdate(); if (CanDodge()) { ((EntityState)this).outer.SetNextState((EntityState)(object)new Dodge()); ((EntityState)this).inputBank.skill3.hasPressBeenClaimed = true; return; } if (((EntityState)this).isAuthority && Object.op_Implicit((Object)(object)((EntityState)this).characterMotor)) { ((EntityState)this).characterMotor.moveDirection = ((EntityState)this).inputBank.moveVector; ((EntityState)this).characterDirection.moveVector = ((EntityState)this).characterMotor.moveDirection; CharacterDirection characterDirection = ((EntityState)this).characterDirection; Ray aimRay = ((BaseState)this).GetAimRay(); characterDirection.forward = ((Ray)(ref aimRay)).direction; ((EntityState)this).characterMotor.velocity.y += verticalAcceleration * Time.fixedDeltaTime; if (((EntityState)this).fixedAge >= minimumDuration && ((BaseCharacterController)((EntityState)this).characterMotor).Motor.GroundingStatus.IsStableOnGround) { ((EntityState)this).outer.SetNextState((EntityState)(object)new FallingKickEnd()); } } if (hitPauseTimer <= 0f && inHitPause) { RemoveHitstop(); } if (!inHitPause) { fireAge += Time.fixedDeltaTime; } else { hitPauseTimer -= Time.fixedDeltaTime; if (Object.op_Implicit((Object)(object)animator)) { animator.SetFloat(playbackRateParam, 0f); } } FireFallAttack(); } protected virtual void OnHitEnemyAuthority() { Util.PlaySound(hitSoundString, ((EntityState)this).gameObject); if (!refunded) { if (((EntityState)this).skillLocator.secondary.stock < ((EntityState)this).skillLocator.secondary.maxStock) { GenericSkill secondary = ((EntityState)this).skillLocator.secondary; secondary.rechargeStopwatch += 2.5f; } refunded = true; } ApplyHitstop(); } protected void ApplyHitstop() { //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) if (!inHitPause && hitStopDuration > 0f) { hitStopCachedState = ((BaseState)this).CreateHitStopCachedState(((EntityState)this).characterMotor, animator, playbackRateParam); hitPauseTimer = hitStopDuration / ((BaseState)this).attackSpeedStat; inHitPause = true; } } private void RemoveHitstop() { //IL_0003: Unknown result type (might be due to invalid IL or missing references) ((BaseState)this).ConsumeHitStopCachedState(hitStopCachedState, ((EntityState)this).characterMotor, animator); inHitPause = false; } public override void OnExit() { //IL_0019: Unknown result type (might be due to invalid IL or missing references) //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_0021: Unknown result type (might be due to invalid IL or missing references) ((EntityState)this).characterMotor.airControl = previousAirControl; CharacterBody characterBody = ((EntityState)this).characterBody; characterBody.bodyFlags = (BodyFlags)(characterBody.bodyFlags & -2); results.Clear(); ((EntityState)this).OnExit(); } private void ApplyForce(HealthComponent item) { //IL_00e5: 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_00f0: Unknown result type (might be due to invalid IL or missing references) //IL_00f2: Unknown result type (might be due to invalid IL or missing references) CharacterBody body = item.body; float num = 100f; if (Object.op_Implicit((Object)(object)body.characterMotor)) { if (!body.characterMotor.isGrounded) { num = body.characterMotor.mass; body.characterMotor.velocity.x = 0f; body.characterMotor.velocity.z = 0f; body.AddTimedBuff(BayoBuffs.punishable, 2f); SetStateOnHurt component = ((Component)item).GetComponent(); if (component != null) { component.SetStun(2f); } } } else if (Object.op_Implicit((Object)(object)((Component)item).GetComponent())) { num = body.rigidbody.mass; body.AddTimedBuff(BayoBuffs.punishable, 2f); SetStateOnHurt component2 = ((Component)item).GetComponent(); if (component2 != null) { component2.SetStun(2f); } } num *= 24f; Vector3 val = downForce * num; item.TakeDamageForce(val, true, true); } } public class FallingKickEnd : HeelKick { public override void OnEnter() { //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) //IL_005b: Unknown result type (might be due to invalid IL or missing references) swing = "land"; sEffect = BayoAssets.slam; if (((EntityState)this).isAuthority) { EffectManager.SimpleMuzzleFlash(BayoAssets.falle, ((EntityState)this).gameObject, muzzleString, true); } base.OnEnter(); duration = 0.85f; upForce = 8f * Vector3.up; attackStartPercentTime = 0f; earlyExit = 0.2f; hitboxGroupName = "FallHitbox"; ((EntityState)this).PlayAnimation("Body", "FallKickExit", "Slash.playbackRate", duration, 0f); } } public class FallingKickStart : BaseSkillState { public static string enterSoundString = "fallslide"; protected float duration = 0.44f; private RootMotionAccumulator rootMotionAccumulator; private GameObject swingEffectPrefab; private GameObject loopEffectInstance; public override void OnEnter() { //IL_0095: Unknown result type (might be due to invalid IL or missing references) //IL_009a: Unknown result type (might be due to invalid IL or missing references) //IL_009d: Unknown result type (might be due to invalid IL or missing references) //IL_0116: Unknown result type (might be due to invalid IL or missing references) //IL_011b: Unknown result type (might be due to invalid IL or missing references) //IL_0134: Unknown result type (might be due to invalid IL or missing references) //IL_0139: Unknown result type (might be due to invalid IL or missing references) ((BaseState)this).OnEnter(); rootMotionAccumulator = ((EntityState)this).GetModelRootMotionAccumulator(); ((EntityState)this).PlayAnimation("Body", "FallKickStart", "Slash.playbackRate", duration, 0f); Util.PlaySound(enterSoundString, ((EntityState)this).gameObject); Util.PlaySound("fallstart", ((EntityState)this).gameObject); ((BaseCharacterController)((EntityState)this).characterMotor).Motor.ForceUnground(0.1f); ((EntityState)this).characterMotor.disableAirControlUntilCollision = false; ((EntityState)this).characterMotor.velocity.y = 0f; CharacterDirection characterDirection = ((EntityState)this).characterDirection; Ray aimRay = ((BaseState)this).GetAimRay(); characterDirection.forward = ((Ray)(ref aimRay)).direction; ChildLocator modelChildLocator = ((EntityState)this).GetModelChildLocator(); SkinDef val = SkinCatalog.FindCurrentSkinDefForBodyInstance(((Component)((EntityState)this).characterBody).gameObject); if ((Object)(object)val == (Object)(object)BayoSurvivor.defaultSkin) { swingEffectPrefab = BayoAssets.fallk; } else { swingEffectPrefab = BayoAssets.fallk2; } if (Object.op_Implicit((Object)(object)modelChildLocator)) { Transform val2 = modelChildLocator.FindChild("SwingCenter") ?? ((EntityState)this).characterBody.coreTransform; Quaternion rotation = val2.rotation; if (Object.op_Implicit((Object)(object)val2)) { loopEffectInstance = Object.Instantiate(swingEffectPrefab, val2.position, rotation); loopEffectInstance.transform.parent = val2; } } } public override void FixedUpdate() { //IL_000f: 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_0017: Unknown result type (might be due to invalid IL or missing references) //IL_0038: Unknown result type (might be due to invalid IL or missing references) //IL_003d: Unknown result type (might be due to invalid IL or missing references) //IL_003e: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) //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_0073: Unknown result type (might be due to invalid IL or missing references) //IL_0078: Unknown result type (might be due to invalid IL or missing references) ((EntityState)this).FixedUpdate(); CharacterDirection characterDirection = ((EntityState)this).characterDirection; Ray aimRay = ((BaseState)this).GetAimRay(); characterDirection.forward = ((Ray)(ref aimRay)).direction; if (Object.op_Implicit((Object)(object)rootMotionAccumulator)) { Vector3 val = rootMotionAccumulator.ExtractRootMotion(); if (val != Vector3.zero && ((EntityState)this).isAuthority && Object.op_Implicit((Object)(object)((EntityState)this).characterMotor)) { CharacterMotor characterMotor = ((EntityState)this).characterMotor; characterMotor.rootMotion += val; } } if (((EntityState)this).fixedAge > duration) { ((EntityState)this).outer.SetNextState((EntityState)(object)new FallingKick()); } } public override void OnExit() { loopEffectInstance.transform.parent = null; ((EntityState)this).OnExit(); } } public class HeelKick : BaseMeleeAttack { private RootMotionAccumulator rootMotionAccumulator; private bool cancel; private bool jumped; protected float earlyExit = 0.3f; protected string swing = "heelkick"; protected GameObject sEffect = BayoAssets.heelk; protected Vector3 upForce = 16f * Vector3.up; public override void OnEnter() { //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) //IL_0106: Unknown result type (might be due to invalid IL or missing references) //IL_0110: Unknown result type (might be due to invalid IL or missing references) //IL_0115: Unknown result type (might be due to invalid IL or missing references) duration = 0.75f; attackStartPercentTime = 0.1f; attackEndPercentTime = 0.75f; hitboxGroupName = "CoverGroup"; hitboxName = "Envelop"; damageCoefficient = 3f; procCoefficient = 1f; damageType = DamageTypeCombo.op_Implicit((DamageType)32); pushForce = 0f; hitStopDuration = 0.05f; attackRecoil = 1f; hitHopVelocity = 4f; exitToStance = true; launch = true; swingSoundString = swing; swingEffectPrefab = sEffect; rootMotionAccumulator = ((EntityState)this).GetModelRootMotionAccumulator(); ((EntityState)this).PlayAnimation("Body", "HeelKick", "Slash.playbackRate", duration, 0f); if (Object.op_Implicit((Object)(object)((EntityState)this).characterMotor) && Object.op_Implicit((Object)(object)((EntityState)this).characterDirection)) { ((EntityState)this).characterMotor.velocity = ((EntityState)this).characterMotor.velocity * 0f; } base.OnEnter(); } private void DetermineCancel() { //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) if (!Object.op_Implicit((Object)(object)((EntityState)this).inputBank)) { return; } if ((double)stopwatch >= (double)(duration * earlyExit) + 0.012) { if (((EntityState)this).inputBank.skill1.down) { cancel = true; } if (((EntityState)this).inputBank.skill3.down) { cancel = true; } if (((EntityState)this).inputBank.skill4.down) { cancel = true; } if (((EntityState)this).inputBank.moveVector != Vector3.zero) { cancel = true; } } if (((EntityState)this).inputBank.jump.down) { cancel = true; jumped = true; } } public override void FixedUpdate() { //IL_00ca: 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_00da: Unknown result type (might be due to invalid IL or missing references) //IL_00fe: Unknown result type (might be due to invalid IL or missing references) //IL_0103: Unknown result type (might be due to invalid IL or missing references) //IL_0105: 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_0178: Unknown result type (might be due to invalid IL or missing references) //IL_0182: Unknown result type (might be due to invalid IL or missing references) //IL_0187: Unknown result type (might be due to invalid IL or missing references) //IL_0137: Unknown result type (might be due to invalid IL or missing references) //IL_013c: Unknown result type (might be due to invalid IL or missing references) //IL_013e: Unknown result type (might be due to invalid IL or missing references) //IL_0143: Unknown result type (might be due to invalid IL or missing references) cancel = false; jumped = false; if (stopwatch >= duration * earlyExit) { DetermineCancel(); if (jumped) { ((ButtonState)(ref ((EntityState)this).inputBank.jump)).PushState(false); } if (cancel) { ((EntityState)this).outer.SetNextStateToMain(); return; } } if (CanDodge()) { cancel = true; ((EntityState)this).outer.SetNextState((EntityState)(object)new Dodge()); ((EntityState)this).inputBank.skill3.hasPressBeenClaimed = true; return; } if (((EntityState)this).isAuthority && Object.op_Implicit((Object)(object)((EntityState)this).characterMotor)) { ((EntityState)this).inputBank.moveVector = Vector3.zero; ((EntityState)this).characterMotor.moveDirection = Vector3.zero; } if (Object.op_Implicit((Object)(object)rootMotionAccumulator)) { Vector3 val = rootMotionAccumulator.ExtractRootMotion(); if (val != Vector3.zero && ((EntityState)this).isAuthority && Object.op_Implicit((Object)(object)((EntityState)this).characterMotor)) { CharacterMotor characterMotor = ((EntityState)this).characterMotor; characterMotor.rootMotion += val; } } if (Object.op_Implicit((Object)(object)((EntityState)this).characterMotor) && Object.op_Implicit((Object)(object)((EntityState)this).characterDirection)) { ((EntityState)this).characterMotor.velocity = ((EntityState)this).characterMotor.velocity * 0f; } base.FixedUpdate(); } protected override void ApplyForce() { //IL_0136: Unknown result type (might be due to invalid IL or missing references) //IL_013c: Unknown result type (might be due to invalid IL or missing references) //IL_0141: Unknown result type (might be due to invalid IL or missing references) //IL_0165: Unknown result type (might be due to invalid IL or missing references) //IL_0153: Unknown result type (might be due to invalid IL or missing references) //IL_0159: Unknown result type (might be due to invalid IL or missing references) //IL_015e: Unknown result type (might be due to invalid IL or missing references) CharacterBody body = item.body; float num = 1f; bool flag = body.healthComponent.combinedHealth <= body.maxHealth * 0.5f; if (Object.op_Implicit((Object)(object)((Component)body).GetComponent())) { ((Component)body).GetComponent().ForceUnground(0.1f); } if (Object.op_Implicit((Object)(object)body.characterMotor)) { num = ((!(body.HasBuff(BayoBuffs.wtDebuff) || flag) && !(body.characterMotor.mass < 300f)) ? 100f : body.characterMotor.mass); body.characterMotor.velocity.x = 0f; body.characterMotor.velocity.z = 0f; } else if (Object.op_Implicit((Object)(object)((Component)item).GetComponent())) { num = ((!(body.HasBuff(BayoBuffs.wtDebuff) || flag) && !(body.rigidbody.mass < 300f)) ? 50f : (body.rigidbody.mass / 2f)); } Vector3 val = upForce * num; if (body.HasBuff(BayoBuffs.wtDebuff)) { val *= 0.8f; } item.TakeDamageForce(val, true, true); } } public class RisingFinisher : BaseMeleeAttack { protected float fireAge; protected float fireFreq = 0.15f; protected bool hasEnded; protected float damage = 1f; protected float dur = 1.25f; protected float attackStart = 0.1f; protected float attackEnd = 0.8f; protected float earlyEnd = 1f; protected string muzName = "muzlf"; protected float gDam = 0f; protected float frTime = 0.1f; protected ModelLocator component; protected ChildLocator component2; protected Ray gunRay; protected string hgn = "CoverGroup"; protected string hbn = "Envelop"; protected float blastDamage = 0.3f; protected float blastRadius = 10f; private float blastStopwatch; protected Vector3 forwardDir; protected bool cancel = false; protected bool jumped = false; protected bool clear = true; protected GameObject effect = BayoAssets.backs; protected GameObject effect2 = BayoAssets.backs2; public override void OnEnter() { //IL_00e7: Unknown result type (might be due to invalid IL or missing references) //IL_00ec: Unknown result type (might be due to invalid IL or missing references) //IL_00ef: Unknown result type (might be due to invalid IL or missing references) //IL_00f4: 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_01b8: Unknown result type (might be due to invalid IL or missing references) //IL_01bd: Unknown result type (might be due to invalid IL or missing references) //IL_0194: Unknown result type (might be due to invalid IL or missing references) //IL_019b: Unknown result type (might be due to invalid IL or missing references) //IL_01a1: Unknown result type (might be due to invalid IL or missing references) //IL_01a6: Unknown result type (might be due to invalid IL or missing references) //IL_01ab: Unknown result type (might be due to invalid IL or missing references) //IL_01b0: Unknown result type (might be due to invalid IL or missing references) duration = dur; attackStartPercentTime = attackStart; attackEndPercentTime = attackEnd; earlyExitPercentTime = earlyEnd; hasEnded = false; damageCoefficient = damage; procCoefficient = 0.5f; pushForce = 0f; hitStopDuration = 0.012f; attackRecoil = 1f; hitHopVelocity = 4f; exitToStance = false; fireAge = 0f; ((BaseState)this).StartAimMode(0.5f + duration, false); launch = true; juggleHop = 2f; hitboxGroupName = hgn; hitboxName = hbn; PlayAnim(); ReplacePrefabs(effect, effect2); Ray aimRay = ((BaseState)this).GetAimRay(); forwardDir = ((Ray)(ref aimRay)).direction; ((EntityState)this).characterDirection.forward = forwardDir; component = ((EntityState)this).gameObject.GetComponent(); component2 = ((Component)component.modelTransform).GetComponent(); if (Object.op_Implicit((Object)(object)component2)) { int num = component2.FindChildIndex(muzName); Transform val = component2.FindChild(num); int num2 = component2.FindChildIndex(muzName + "f"); Transform val2 = component2.FindChild(num2); gunRay = new Ray(((EntityState)this).transform.position, val2.position - val.position); } shootRay = gunRay; gunName = muzName; gunDamage = gDam; fireTime = frTime; base.OnEnter(); fireFreq /= ((BaseState)this).attackSpeedStat; } protected virtual void PlayAnim() { //IL_003e: 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) ((EntityState)this).PlayAnimation("Body", "BackSpin"); if (Object.op_Implicit((Object)(object)((EntityState)this).characterMotor) && Object.op_Implicit((Object)(object)((EntityState)this).characterDirection)) { ((EntityState)this).characterMotor.velocity = ((EntityState)this).characterMotor.velocity * 0f; } } protected override void FireAttack() { if (fireAge >= fireFreq) { fireAge = 0f; attack.ResetIgnoredHealthComponents(); hasFired = false; if (clear) { results.Clear(); } } base.FireAttack(); } protected virtual void DetermineCancel() { //IL_0078: 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) if (!Object.op_Implicit((Object)(object)((EntityState)this).inputBank)) { return; } if (hasEnded) { if (((EntityState)this).inputBank.skill1.down) { cancel = true; } if (((EntityState)this).inputBank.skill3.down) { cancel = true; } if (((EntityState)this).inputBank.skill4.down) { cancel = true; } if (((EntityState)this).inputBank.moveVector != Vector3.zero) { cancel = true; } } if (((EntityState)this).inputBank.jump.down) { cancel = true; jumped = true; } } protected virtual void FinisherSpecific() { //IL_0061: 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_006e: Unknown result type (might be due to invalid IL or missing references) //IL_0073: Unknown result type (might be due to invalid IL or missing references) //IL_0078: 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_00a6: 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_00b6: 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_00fa: Unknown result type (might be due to invalid IL or missing references) //IL_00ff: Unknown result type (might be due to invalid IL or missing references) //IL_010b: Unknown result type (might be due to invalid IL or missing references) if (Object.op_Implicit((Object)(object)component2)) { int num = component2.FindChildIndex(muzName); Transform val = component2.FindChild(num); int num2 = component2.FindChildIndex(muzName + "f"); Transform val2 = component2.FindChild(num2); gunRay = new Ray(((EntityState)this).transform.position, val2.position - val.position); } if (((EntityState)this).isAuthority && Object.op_Implicit((Object)(object)((EntityState)this).characterMotor)) { ((EntityState)this).inputBank.moveVector = Vector3.zero; ((EntityState)this).characterMotor.moveDirection = Vector3.zero; } if (Object.op_Implicit((Object)(object)((EntityState)this).characterMotor) && Object.op_Implicit((Object)(object)((EntityState)this).characterDirection)) { ((EntityState)this).characterMotor.velocity = ((EntityState)this).characterMotor.velocity * 0f; ((EntityState)this).characterDirection.forward = forwardDir; } if (stopwatch >= earlyExitPercentTime && !hasEnded) { hasEnded = true; fireTime = 9999f; ((EntityState)this).PlayAnimation("Body", "BackKickExit", playbackRateParam, duration - earlyExitPercentTime, 0f); } } public override void FixedUpdate() { //IL_00ea: Unknown result type (might be due to invalid IL or missing references) //IL_00ef: 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) cancel = false; jumped = false; if (stopwatch >= earlyExitPercentTime) { DetermineCancel(); if (jumped) { ((ButtonState)(ref ((EntityState)this).inputBank.jump)).PushState(false); } if (cancel) { ((EntityState)this).outer.SetNextStateToMain(); return; } } if (CanDodge()) { ((EntityState)this).outer.SetNextState((EntityState)(object)new Dodge()); ((EntityState)this).inputBank.skill3.hasPressBeenClaimed = true; return; } blastStopwatch += Time.fixedDeltaTime; if (blastStopwatch >= fireTime && ((EntityState)this).isAuthority) { blastStopwatch -= fireTime; DetonateAuthority(); } FinisherSpecific(); shootRay = gunRay; fireAge += Time.fixedDeltaTime; base.FixedUpdate(); } protected Result DetonateAuthority() { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Expected O, but got Unknown //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_004b: 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_0057: 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_007f: Unknown result type (might be due to invalid IL or missing references) //IL_0086: Unknown result type (might be due to invalid IL or missing references) //IL_0092: Unknown result type (might be due to invalid IL or missing references) //IL_0097: Unknown result type (might be due to invalid IL or missing references) //IL_00a3: 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_00ae: Unknown result type (might be due to invalid IL or missing references) //IL_00b3: Unknown result type (might be due to invalid IL or missing references) //IL_00bb: Unknown result type (might be due to invalid IL or missing references) //IL_00c1: Unknown result type (might be due to invalid IL or missing references) //IL_00c6: Unknown result type (might be due to invalid IL or missing references) //IL_00c9: Unknown result type (might be due to invalid IL or missing references) BlastAttack val = new BlastAttack(); val.attacker = ((EntityState)this).gameObject; val.baseDamage = ((BaseState)this).damageStat * blastDamage; val.baseForce = BaseNailgunState.force; val.bonusForce = Vector3.zero; val.crit = ((BaseState)this).RollCrit(); val.damageType = DamageTypeCombo.op_Implicit((DamageType)32); val.falloffModel = (FalloffModel)1; val.procCoefficient = 0.25f; val.radius = blastRadius; val.position = ((EntityState)this).characterBody.footPosition; val.attackerFiltering = (AttackerFiltering)2; val.impactEffect = EffectCatalog.FindEffectIndexFromPrefab(gunEffectPrefab); val.teamIndex = ((EntityState)this).teamComponent.teamIndex; val.damageType = DamageTypeCombo.GenericSpecial; val.damageColorIndex = (DamageColorIndex)9; return val.Fire(); } } } namespace BayoMod.Survivors.Bayo.SkillStates.PunishStates { public class Grab : BaseMeleeAttack { protected float fireAge; protected float fireFreq = 0.44f; protected float damage = 1.75f; protected float dur = 2.64f; protected float attackStart = 0f; protected float attackEnd = 1f; private int counter = 8; private float curSpeed = 1f; private float curAngle = 0f; public float y; private float modifY = 0f; private bool voiced = false; private float speedUpTimer = 0f; private float speedUpInterval = 0.2f; public CharacterBody enemyBody; public Vector3 forwardDir; private Vector3 direction; public static CharacterCameraParams cameraParams; protected CameraParamsOverrideHandle cameraParamsOverrideHandle; protected ModelLocator component; protected ChildLocator component2; private Transform modelTrans; public override void OnEnter() { //IL_0083: 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) //IL_0115: Unknown result type (might be due to invalid IL or missing references) //IL_011a: Unknown result type (might be due to invalid IL or missing references) //IL_011b: 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_0130: Unknown result type (might be due to invalid IL or missing references) //IL_0137: Unknown result type (might be due to invalid IL or missing references) //IL_013d: Unknown result type (might be due to invalid IL or missing references) //IL_0142: Unknown result type (might be due to invalid IL or missing references) //IL_0147: Unknown result type (might be due to invalid IL or missing references) //IL_01fc: Unknown result type (might be due to invalid IL or missing references) //IL_0201: Unknown result type (might be due to invalid IL or missing references) //IL_0254: Unknown result type (might be due to invalid IL or missing references) //IL_0259: Unknown result type (might be due to invalid IL or missing references) //IL_025e: Unknown result type (might be due to invalid IL or missing references) //IL_02db: Unknown result type (might be due to invalid IL or missing references) //IL_027e: Unknown result type (might be due to invalid IL or missing references) //IL_028b: Unknown result type (might be due to invalid IL or missing references) //IL_0290: Unknown result type (might be due to invalid IL or missing references) //IL_02a1: Unknown result type (might be due to invalid IL or missing references) //IL_02a8: Unknown result type (might be due to invalid IL or missing references) //IL_02ad: Unknown result type (might be due to invalid IL or missing references) duration = dur; attackStartPercentTime = attackStart; attackEndPercentTime = attackEnd; hitSoundString = ""; damageCoefficient = damage; procCoefficient = 0.5f; pushForce = 0f; hitStopDuration = 0.012f; attackRecoil = 1f; exitToStance = false; durOverride = true; fireAge = 0f; damageType = DamageTypeCombo.op_Implicit((DamageType)1); enemyBody = ((EntityState)this).GetComponent().GetTrackingTarget().healthComponent.body; if (Object.op_Implicit((Object)(object)enemyBody) && Object.op_Implicit((Object)(object)enemyBody.healthComponent) && enemyBody.healthComponent.alive) { modelTrans = enemyBody.modelLocator.modelTransform; if (Object.op_Implicit((Object)(object)modelTrans)) { Quaternion rotation = ((EntityState)this).characterBody.modelLocator.modelTransform.rotation; rotation *= Quaternion.AngleAxis(135f, Vector3.up); modelTrans.rotation = rotation * Quaternion.AngleAxis(90f, Vector3.right); } if (NetworkServer.active) { ((EntityState)this).characterBody.AddBuff(Buffs.Slow50); } cameraParams = ScriptableObject.CreateInstance(); ((Object)cameraParams).name = "PunishZoomFrFr"; cameraParams.data.wallCushion = BlendableFloat.op_Implicit(0.1f); if (y >= 1f) { modifY = y - 1f; } cameraParams.data.idealLocalCameraPos = BlendableVector3.op_Implicit(new Vector3(0f, 0f, -10f - modifY * 2f)); if (Object.op_Implicit((Object)(object)((EntityState)this).cameraTargetParams)) { cameraParamsOverrideHandle = ((EntityState)this).cameraTargetParams.AddParamsOverride(new CameraParamsOverrideRequest { cameraParamsData = cameraParams.data, priority = 1f }, 1.5f); } PlayAnim(); base.OnEnter(); fireFreq /= ((BaseState)this).attackSpeedStat; ((EntityState)this).characterDirection.forward = forwardDir; } else { if (NetworkServer.active && ((EntityState)this).characterBody.HasBuff(Buffs.HiddenInvincibility)) { ((EntityState)this).characterBody.RemoveBuff(Buffs.HiddenInvincibility); } if (Object.op_Implicit((Object)(object)((EntityState)this).GetComponent())) { ((EntityState)this).GetComponent().punishing = false; } ((EntityState)this).outer.SetNextStateToMain(); } } protected virtual void PlayAnim() { ((EntityState)this).PlayAnimation("Body", "Grab"); } protected override void FireAttack() { fireAge += Time.fixedDeltaTime; if (fireAge >= fireFreq) { fireAge = 0f; Util.PlaySound("p4", ((EntityState)this).gameObject); attack.ResetIgnoredHealthComponents(); hasFired = false; } base.FireAttack(); } public override void FixedUpdate() { //IL_0053: 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_00a6: 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_007f: Unknown result type (might be due to invalid IL or missing references) //IL_0081: Unknown result type (might be due to invalid IL or missing references) //IL_0086: Unknown result type (might be due to invalid IL or missing references) //IL_008b: Unknown result type (might be due to invalid IL or missing references) //IL_011a: 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_012f: Unknown result type (might be due to invalid IL or missing references) //IL_0136: Unknown result type (might be due to invalid IL or missing references) //IL_013c: Unknown result type (might be due to invalid IL or missing references) //IL_0141: Unknown result type (might be due to invalid IL or missing references) //IL_0146: Unknown result type (might be due to invalid IL or missing references) //IL_01b1: Unknown result type (might be due to invalid IL or missing references) //IL_01b6: Unknown result type (might be due to invalid IL or missing references) //IL_01ea: Unknown result type (might be due to invalid IL or missing references) //IL_01ef: Unknown result type (might be due to invalid IL or missing references) //IL_01f6: Unknown result type (might be due to invalid IL or missing references) //IL_01fb: Unknown result type (might be due to invalid IL or missing references) //IL_0207: Unknown result type (might be due to invalid IL or missing references) //IL_0223: Unknown result type (might be due to invalid IL or missing references) //IL_022e: Unknown result type (might be due to invalid IL or missing references) //IL_0235: Unknown result type (might be due to invalid IL or missing references) //IL_023a: Unknown result type (might be due to invalid IL or missing references) //IL_0245: Unknown result type (might be due to invalid IL or missing references) //IL_024a: Unknown result type (might be due to invalid IL or missing references) //IL_0255: Unknown result type (might be due to invalid IL or missing references) //IL_025a: Unknown result type (might be due to invalid IL or missing references) //IL_025f: Unknown result type (might be due to invalid IL or missing references) //IL_0263: Unknown result type (might be due to invalid IL or missing references) //IL_0377: Unknown result type (might be due to invalid IL or missing references) //IL_038e: Unknown result type (might be due to invalid IL or missing references) //IL_0393: Unknown result type (might be due to invalid IL or missing references) base.FixedUpdate(); speedUpTimer += Time.fixedDeltaTime; float num = 360f / fireFreq; num *= -1f; curAngle += num * Time.fixedDeltaTime; Quaternion val = Quaternion.Euler(0f, curAngle, 0f); if (((EntityState)this).isAuthority && Object.op_Implicit((Object)(object)((EntityState)this).characterDirection)) { ((EntityState)this).characterDirection.forward = ((EntityState)this).transform.TransformVector(val * forwardDir); } Quaternion rotation = ((EntityState)this).characterBody.modelLocator.modelTransform.rotation; if (Object.op_Implicit((Object)(object)enemyBody) && ((Object.op_Implicit((Object)(object)enemyBody.healthComponent) && enemyBody.healthComponent.alive) || (((EntityState)this).isAuthority && stopwatch >= 2f))) { if (Object.op_Implicit((Object)(object)modelTrans)) { rotation *= Quaternion.AngleAxis(135f, Vector3.up); modelTrans.rotation = rotation * Quaternion.AngleAxis(90f, Vector3.right); } component = ((EntityState)this).gameObject.GetComponent(); component2 = ((Component)component.modelTransform).GetComponent(); if (Object.op_Implicit((Object)(object)component2)) { int num2 = component2.FindChildIndex("muzrh"); Transform val2 = component2.FindChild(num2); Vector3 position = val2.position; CharacterMotor characterMotor = enemyBody.characterMotor; Rigidbody rigidbody = enemyBody.rigidbody; if (Object.op_Implicit((Object)(object)characterMotor)) { characterMotor.disableAirControlUntilCollision = true; characterMotor.velocity = Vector3.zero; characterMotor.rootMotion = Vector3.zero; ((BaseCharacterController)characterMotor).Motor.SetPosition(position, true); } else if (Object.op_Implicit((Object)(object)rigidbody)) { rigidbody.velocity = Vector3.zero; position += Quaternion.AngleAxis(135f, Vector3.up) * ((EntityState)this).characterDirection.forward * y; rigidbody.position = position; } } if (speedUpTimer >= speedUpInterval && counter > 0) { speedUpTimer = 0f; counter--; float num3 = fireFreq / 6f; float num4 = (fireFreq - num3) / 8f; fireFreq -= num4; } if (((EntityState)this).characterMotor.isGrounded && ((EntityState)this).isAuthority && Object.op_Implicit((Object)(object)((EntityState)this).characterMotor)) { ((EntityState)this).characterMotor.moveDirection = ((EntityState)this).inputBank.moveVector; ((EntityState)this).characterDirection.moveVector = ((EntityState)this).characterMotor.moveDirection; } if (((EntityState)this).isAuthority && stopwatch >= duration - 0.2f && !voiced) { voiced = true; Util.PlaySound("punishend", ((EntityState)this).gameObject); } if (((EntityState)this).isAuthority && stopwatch >= duration) { SetNext(); } } else { if (NetworkServer.active && ((EntityState)this).characterBody.HasBuff(Buffs.HiddenInvincibility)) { ((EntityState)this).characterBody.RemoveBuff(Buffs.HiddenInvincibility); } if (Object.op_Implicit((Object)(object)((EntityState)this).GetComponent())) { ((EntityState)this).GetComponent().punishing = false; } ((EntityState)this).outer.SetNextStateToMain(); } } protected virtual void SetNext() { //IL_0013: Unknown result type (might be due to invalid IL or missing references) //IL_0018: Unknown result type (might be due to invalid IL or missing references) ((EntityState)this).outer.SetNextState((EntityState)(object)new Throw { forwardDir = ((EntityState)this).characterDirection.forward }); } public override void OnExit() { //IL_0043: Unknown result type (might be due to invalid IL or missing references) //IL_004d: Unknown result type (might be due to invalid IL or missing references) //IL_0052: Unknown result type (might be due to invalid IL or missing references) if (NetworkServer.active) { ((EntityState)this).characterBody.RemoveBuff(Buffs.Slow50); } if (Object.op_Implicit((Object)(object)((EntityState)this).cameraTargetParams) && ((CameraParamsOverrideHandle)(ref cameraParamsOverrideHandle)).isValid) { cameraParamsOverrideHandle = ((EntityState)this).cameraTargetParams.RemoveParamsOverride(cameraParamsOverrideHandle, 0.5f); } base.OnExit(); } public override void OnSerialize(NetworkWriter writer) { //IL_000b: Unknown result type (might be due to invalid IL or missing references) ((BaseSkillState)this).OnSerialize(writer); writer.Write(forwardDir); } public override void OnDeserialize(NetworkReader reader) { //IL_000b: Unknown result type (might be due to invalid IL or missing references) //IL_0010: Unknown result type (might be due to invalid IL or missing references) ((BaseSkillState)this).OnDeserialize(reader); forwardDir = reader.ReadVector3(); } } public class Step : BaseMeleeAttack { protected float fireAge; protected float fireFreq = 0.44f; protected float damage = 1.75f; protected float dur = 2.2f; protected float attackStart = 0.1286f; protected float attackEnd = 1f; private int counter = 8; private float curSpeed = 1f; private float speedUpTimer = 0f; private float speedUpInterval = 0.2f; public CharacterBody enemyBody; public CameraParamsOverrideHandle cameraParamsOverrideHandle; public Vector3 forwardDir; public Vector3 cameraDir; public float lookY; public float oldDur; private CameraRigController Camera; protected Quaternion rotation = Quaternion.AngleAxis(120f, Vector3.up); protected Quaternion rotation2 = Quaternion.AngleAxis(165f, Vector3.up); protected float zoomOut = 1f; public override void OnEnter() { //IL_0078: 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_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_010b: Unknown result type (might be due to invalid IL or missing references) //IL_0110: 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_012e: Unknown result type (might be due to invalid IL or missing references) //IL_0133: Unknown result type (might be due to invalid IL or missing references) duration = dur; attackStartPercentTime = attackStart; attackEndPercentTime = attackEnd; damageCoefficient = damage; procCoefficient = 0.5f; pushForce = 0f; hitStopDuration = 0.012f; attackRecoil = 1f; exitToStance = false; durOverride = true; fireAge = 0f; damageType = DamageTypeCombo.op_Implicit((DamageType)1); enemyBody = ((EntityState)this).GetComponent().GetTrackingTarget().healthComponent.body; if (Object.op_Implicit((Object)(object)((EntityState)this).cameraTargetParams) && Object.op_Implicit((Object)(object)((EntityState)this).characterBody.master.playerCharacterMasterController.networkUser)) { Camera = ((EntityState)this).characterBody.master.playerCharacterMasterController.networkUser.cameraRigController; } PlayAnim(); forwardDir = ((EntityState)this).characterDirection.forward; ((EntityState)this).inputBank.moveVector = Vector3.zero; ((EntityState)this).characterMotor.moveDirection = forwardDir; ((EntityState)this).characterDirection.moveVector = forwardDir; base.OnEnter(); fireFreq /= ((BaseState)this).attackSpeedStat; } protected virtual void PlayAnim() { //IL_004e: 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) ((EntityState)this).PlayAnimation("Body", "Step", "Slash.playbackRate", fireFreq, 0f); if (Object.op_Implicit((Object)(object)((EntityState)this).characterMotor) && Object.op_Implicit((Object)(object)((EntityState)this).characterDirection)) { ((EntityState)this).characterMotor.velocity = ((EntityState)this).characterMotor.velocity * 0f; } } protected override void FireAttack() { fireAge += Time.fixedDeltaTime; if (fireAge >= fireFreq) { fireAge = 0f; attack.ResetIgnoredHealthComponents(); hasFired = false; } if (speedUpTimer >= speedUpInterval && counter > 0) { speedUpTimer = 0f; counter--; float num = fireFreq / 6f; float num2 = (fireFreq - num) / 8f; fireFreq -= num2; float num3 = 1f * ((BaseState)this).attackSpeedStat; float num4 = num3 * 3f; num2 = (num4 - num3) / 8f; curSpeed += num2; if (Object.op_Implicit((Object)(object)animator)) { animator.SetFloat("Slash.playbackRate", curSpeed); } } base.FireAttack(); } public override void FixedUpdate() { //IL_0030: 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_0055: 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_0093: 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_00a0: Unknown result type (might be due to invalid IL or missing references) //IL_00a5: 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_00b9: Unknown result type (might be due to invalid IL or missing references) //IL_00bb: Unknown result type (might be due to invalid IL or missing references) //IL_00c0: Unknown result type (might be due to invalid IL or missing references) //IL_00c3: Unknown result type (might be due to invalid IL or missing references) //IL_00c8: Unknown result type (might be due to invalid IL or missing references) //IL_00ca: 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_00df: 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_00ff: Unknown result type (might be due to invalid IL or missing references) //IL_0104: Unknown result type (might be due to invalid IL or missing references) //IL_011f: Unknown result type (might be due to invalid IL or missing references) //IL_0129: Unknown result type (might be due to invalid IL or missing references) //IL_012f: Unknown result type (might be due to invalid IL or missing references) base.FixedUpdate(); speedUpTimer += Time.fixedDeltaTime; if (Object.op_Implicit((Object)(object)((EntityState)this).characterDirection)) { ((EntityState)this).characterDirection.forward = forwardDir; } if (Object.op_Implicit((Object)(object)((EntityState)this).inputBank)) { ((EntityState)this).inputBank.moveVector = Vector3.zero; } if (Object.op_Implicit((Object)(object)((EntityState)this).characterMotor)) { ((EntityState)this).characterMotor.moveDirection = Vector3.zero; } if (Object.op_Implicit((Object)(object)Camera)) { Vector3 forward = ((EntityState)this).characterDirection.forward; Vector3 forward2 = ((EntityState)this).characterDirection.forward; forward.y = 0f; forward = rotation * forward; forward2 = rotation2 * forward2; forward.y = lookY; cameraDir = Vector3.Lerp(forward2, forward, Mathf.SmoothStep(0f, 1f, stopwatch + oldDur)); ((InstanceData)Camera.cameraMode.camToRawInstanceData[UnityObjectWrapperKey.op_Implicit(Camera)]).SetPitchYawFromLookVector(cameraDir); } if (!Object.op_Implicit((Object)(object)enemyBody) || ((!Object.op_Implicit((Object)(object)enemyBody.healthComponent) || !enemyBody.healthComponent.alive) && ((EntityState)this).isAuthority && stopwatch <= 2f)) { if (NetworkServer.active && ((EntityState)this).characterBody.HasBuff(Buffs.HiddenInvincibility)) { ((EntityState)this).characterBody.RemoveBuff(Buffs.HiddenInvincibility); } if (Object.op_Implicit((Object)(object)((EntityState)this).GetComponent())) { ((EntityState)this).GetComponent().punishing = false; } ((EntityState)this).outer.SetNextStateToMain(); } else if (((EntityState)this).isAuthority && stopwatch >= duration) { SetNext(); } } protected virtual void SetNext() { //IL_000e: Unknown result type (might be due to invalid IL or missing references) //IL_0013: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_001f: Unknown result type (might be due to invalid IL or missing references) ((EntityState)this).outer.SetNextState((EntityState)(object)new StepEnd { cameraDir = cameraDir, cameraParamsOverrideHandle = cameraParamsOverrideHandle }); } public override void OnSerialize(NetworkWriter writer) { //IL_000b: Unknown result type (might be due to invalid IL or missing references) ((BaseSkillState)this).OnSerialize(writer); writer.Write(cameraDir); } public override void OnDeserialize(NetworkReader reader) { //IL_000b: Unknown result type (might be due to invalid IL or missing references) //IL_0010: Unknown result type (might be due to invalid IL or missing references) ((BaseSkillState)this).OnDeserialize(reader); cameraDir = reader.ReadVector3(); } public override void OnExit() { //IL_0029: 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_0038: Unknown result type (might be due to invalid IL or missing references) if (Object.op_Implicit((Object)(object)((EntityState)this).cameraTargetParams) && ((CameraParamsOverrideHandle)(ref cameraParamsOverrideHandle)).isValid) { cameraParamsOverrideHandle = ((EntityState)this).cameraTargetParams.RemoveParamsOverride(cameraParamsOverrideHandle, 1f); } base.OnExit(); } } } namespace BayoMod.Survivors.Bayo.Components { internal class BayoController : MonoBehaviour { public enum WeaponState { Guns, Open, Break } public WeaponState currentWeapon = WeaponState.Guns; private int RHOpen; private int RHGun; private int LHOpen; private int LHGun; private int GunsTop; private ChildLocator component2; private float stopwatch; public string oldMusic = ""; public float musicDur = 18.35f; private BaseConVar convar; private void Awake() { ModelLocator component = ((Component)this).gameObject.GetComponent(); component2 = ((Component)component.modelTransform).GetComponent(); if (Object.op_Implicit((Object)(object)component2)) { RHOpen = component2.FindChildIndex("RHO"); RHGun = component2.FindChildIndex("RHG"); LHOpen = component2.FindChildIndex("LHO"); LHGun = component2.FindChildIndex("LHG"); GunsTop = component2.FindChildIndex("GHands"); } } private void OnDisable() { if (Object.op_Implicit((Object)(object)component2)) { EnableMesh(RHOpen); DisableMesh(RHGun); EnableMesh(LHOpen); DisableMesh(LHGun); EnableMesh(GunsTop); } } private void OnDestroy() { if (Object.op_Implicit((Object)(object)component2)) { EnableMesh(RHOpen); DisableMesh(RHGun); EnableMesh(LHOpen); DisableMesh(LHGun); EnableMesh(GunsTop); } if (oldMusic != "" && Object.op_Implicit((Object)(object)((Component)this).gameObject.GetComponent()) && ((NetworkBehaviour)((Component)this).gameObject.GetComponent()).hasAuthority) { convar = Console.instance.FindConVar("volume_music"); if (convar != null) { convar.SetString(oldMusic); } stopwatch = 0f; oldMusic = ""; } } private void EnableMesh(int childIndex) { GameObject gameObject = ((Component)component2.FindChild(childIndex)).gameObject; if (!((Renderer)gameObject.GetComponent()).enabled) { ((Renderer)gameObject.GetComponent()).enabled = true; } } private void DisableMesh(int childIndex) { GameObject gameObject = ((Component)component2.FindChild(childIndex)).gameObject; if (((Renderer)gameObject.GetComponent()).enabled) { ((Renderer)gameObject.GetComponent()).enabled = false; } } private void LateUpdate() { if (Object.op_Implicit((Object)(object)component2)) { switch (currentWeapon) { case WeaponState.Guns: DisableMesh(RHOpen); EnableMesh(RHGun); DisableMesh(LHOpen); EnableMesh(LHGun); EnableMesh(GunsTop); break; case WeaponState.Open: EnableMesh(RHOpen); DisableMesh(RHGun); EnableMesh(LHOpen); DisableMesh(LHGun); DisableMesh(GunsTop); break; case WeaponState.Break: DisableMesh(RHOpen); EnableMesh(RHGun); DisableMesh(LHOpen); EnableMesh(LHGun); DisableMesh(GunsTop); break; } } } private void FixedUpdate() { if (!(oldMusic != "")) { return; } stopwatch += Time.deltaTime; if (stopwatch >= musicDur && Object.op_Implicit((Object)(object)((Component)this).gameObject.GetComponent()) && ((NetworkBehaviour)((Component)this).gameObject.GetComponent()).hasAuthority) { convar = Console.instance.FindConVar("volume_music"); if (convar != null) { convar.SetString(oldMusic); } stopwatch = 0f; oldMusic = ""; } } } } namespace BayoMod.Survivors.Bayo.Achievements { [RegisterAchievement("PSYCHE_BAYO_masteryAchievement", "PSYCHE_BAYO_masteryUnlockable", null, 5u, null)] public class BayoMasteryAchievement : BaseMasteryAchievement { public const string identifier = "PSYCHE_BAYO_masteryAchievement"; public const string unlockableIdentifier = "PSYCHE_BAYO_masteryUnlockable"; public override string RequiredCharacterBody => CharacterBase.instance.bodyName; public override float RequiredDifficultyCoefficient => 3f; } }