The BepInEx console will not appear when launching like it does for other games on Thunderstore (you can turn it back on in your BepInEx.cfg file). If your PEAK crashes on startup, add -dx12 to your launch parameters.
Decompiled source of Walk On Boarding v1.1.0
tony4twentys-Walk On Boarding.dll
Decompiled a month agousing System; using System.Collections; using System.Collections.Generic; using System.Diagnostics; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Runtime.Versioning; using BepInEx; using BepInEx.Configuration; using Photon.Pun; using UnityEngine; using UnityEngine.SceneManagement; using UnityEngine.UI; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: AssemblyTitle("Board Flight")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("Board Flight")] [assembly: AssemblyCopyright("Copyright © 2025")] [assembly: AssemblyTrademark("")] [assembly: ComVisible(false)] [assembly: Guid("088bdbe1-e2f4-43bb-9b89-3fa225dca6ff")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: TargetFramework(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")] [assembly: AssemblyVersion("1.0.0.0")] namespace WalkOnBoarding; [BepInPlugin("tony4twenty.Walk_On_Boarding", "Walk On Boarding", "1.1.0")] public class WalkOnBoardPlugin : BaseUnityPlugin { [CompilerGenerated] private sealed class <CheckLoop>d__14 : IEnumerator<object>, IDisposable, IEnumerator { private int <>1__state; private object <>2__current; public WalkOnBoardPlugin <>4__this; private Button <startButton>5__1; private Character[] <characters>5__2; private Character[] <>s__3; private int <>s__4; private Character <character>5__5; private CharacterData <data>5__6; private Vector3 <groundPos>5__7; private AirportCheckInKiosk <kiosk>5__8; object IEnumerator<object>.Current { [DebuggerHidden] get { return <>2__current; } } object IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public <CheckLoop>d__14(int <>1__state) { this.<>1__state = <>1__state; } [DebuggerHidden] void IDisposable.Dispose() { <startButton>5__1 = null; <characters>5__2 = null; <>s__3 = null; <character>5__5 = null; <data>5__6 = null; <kiosk>5__8 = null; <>1__state = -2; } private bool MoveNext() { //IL_0261: Unknown result type (might be due to invalid IL or missing references) //IL_0266: Unknown result type (might be due to invalid IL or missing references) //IL_0246: Unknown result type (might be due to invalid IL or missing references) //IL_0250: Expected O, but got Unknown //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_0148: Unknown result type (might be due to invalid IL or missing references) switch (<>1__state) { default: return false; case 0: <>1__state = -1; break; case 1: <>1__state = -1; break; } Scene activeScene = SceneManager.GetActiveScene(); if (((Scene)(ref activeScene)).name == "Airport") { if (PhotonNetwork.IsMasterClient && !<>4__this.gameStarted) { GameObject obj = GameObject.Find("StartGameButton"); <startButton>5__1 = ((obj != null) ? obj.GetComponent<Button>() : null); if ((Object)(object)<startButton>5__1 != (Object)null && !((Selectable)<startButton>5__1).interactable) { <>4__this.gameStarted = true; ((BaseUnityPlugin)<>4__this).Logger.LogInfo((object)"Start game button is disabled, game likely started. Preventing kiosk reopen."); } else { <characters>5__2 = Object.FindObjectsByType<Character>((FindObjectsSortMode)0); <>s__3 = <characters>5__2; for (<>s__4 = 0; <>s__4 < <>s__3.Length; <>s__4++) { <character>5__5 = <>s__3[<>s__4]; if (((MonoBehaviourPun)<character>5__5).photonView.IsMine) { <data>5__6 = ((Component)<character>5__5).GetComponent<CharacterData>(); if ((Object)(object)<data>5__6 == (Object)null) { continue; } <groundPos>5__7 = <data>5__6.groundPos; if (<>4__this.IsInsideTriggerBox(<groundPos>5__7)) { if (!<>4__this.triggeredBoarding) { ((BaseUnityPlugin)<>4__this).Logger.LogInfo((object)"Host is inside trigger zone. Triggering Interact_CastFinished..."); <kiosk>5__8 = Object.FindFirstObjectByType<AirportCheckInKiosk>(); if ((Object)(object)<kiosk>5__8 != (Object)null) { <kiosk>5__8.Interact_CastFinished(<character>5__5); <>4__this.triggeredBoarding = true; } else { ((BaseUnityPlugin)<>4__this).Logger.LogWarning((object)"Could not find AirportCheckInKiosk to trigger interaction."); } <kiosk>5__8 = null; } } else { <>4__this.triggeredBoarding = false; } <data>5__6 = null; } <character>5__5 = null; } <>s__3 = null; <characters>5__2 = null; } <startButton>5__1 = null; } <>2__current = (object)new WaitForSeconds(1f); <>1__state = 1; return true; } 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(); } } private GameObject boardingPanel; private bool triggeredBoarding = false; private bool gameStarted = false; private Coroutine checkLoop; private Vector3 boxMin = new Vector3(30f, 0f, 90f); private Vector3 boxMax = new Vector3(43f, 2f, 97f); private static readonly Vector3 beginCornerA = new Vector3(2.3922f, 0.5546f, 107.3045f); private static readonly Vector3 beginCornerB = new Vector3(22.0822f, 0.568f, 99.7617f); private ConfigEntry<bool> useBeginningCfg; private void Awake() { useBeginningCfg = ((BaseUnityPlugin)this).Config.Bind<bool>("Trigger", "Use beginning of hallway?", false, "If true, uses beginning-of-hallway trigger box; otherwise uses end-of-hallway."); ApplyBoxFromConfig(); } private void ApplyBoxFromConfig() { //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_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_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_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) if (useBeginningCfg != null && useBeginningCfg.Value) { float num = Mathf.Min(beginCornerA.x, beginCornerB.x); float num2 = Mathf.Min(beginCornerA.y, beginCornerB.y); float num3 = Mathf.Min(beginCornerA.z, beginCornerB.z); float num4 = Mathf.Max(beginCornerA.x, beginCornerB.x); float num5 = Mathf.Max(beginCornerA.y, beginCornerB.y); float num6 = Mathf.Max(beginCornerA.z, beginCornerB.z); boxMin = new Vector3(num, num2, num3); boxMax = new Vector3(num4, num5, num6); } else { boxMin = new Vector3(30f, 0f, 90f); boxMax = new Vector3(43f, 2f, 97f); } } private void OnEnable() { SceneManager.sceneLoaded += OnSceneLoaded; } private void OnDisable() { SceneManager.sceneLoaded -= OnSceneLoaded; } private void OnSceneLoaded(Scene scene, LoadSceneMode mode) { if (((Scene)(ref scene)).name == "Airport") { ((BaseUnityPlugin)this).Logger.LogInfo((object)"Airport scene loaded. Attempting to remove sliding doors and kiosk visuals..."); RemoveSlidingDoors(); RemoveCheckInKiosk(); triggeredBoarding = false; gameStarted = false; if (checkLoop != null) { ((MonoBehaviour)this).StopCoroutine(checkLoop); } checkLoop = ((MonoBehaviour)this).StartCoroutine(CheckLoop()); } else if (checkLoop != null) { ((MonoBehaviour)this).StopCoroutine(checkLoop); checkLoop = null; } } [IteratorStateMachine(typeof(<CheckLoop>d__14))] private IEnumerator CheckLoop() { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new <CheckLoop>d__14(0) { <>4__this = this }; } private bool IsInsideTriggerBox(Vector3 pos) { //IL_0001: 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_0027: 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_004d: 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) return pos.x >= boxMin.x && pos.x <= boxMax.x && pos.y >= boxMin.y && pos.y <= boxMax.y && pos.z >= boxMin.z && pos.z <= boxMax.z; } private void RemoveSlidingDoors() { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0006: Unknown result type (might be due to invalid IL or missing references) Scene activeScene = SceneManager.GetActiveScene(); GameObject[] rootGameObjects = ((Scene)(ref activeScene)).GetRootGameObjects(); GameObject[] array = rootGameObjects; foreach (GameObject val in array) { Transform val2 = FindDeepChild(val.transform, "Sliding Doors"); if ((Object)(object)val2 != (Object)null) { ((BaseUnityPlugin)this).Logger.LogInfo((object)"Found 'Sliding Doors' GameObject. Removing MeshRenderer, MeshFilter, and Collider..."); Object.DestroyImmediate((Object)(object)((Component)val2).GetComponent<MeshRenderer>()); Object.DestroyImmediate((Object)(object)((Component)val2).GetComponent<MeshFilter>()); Object.DestroyImmediate((Object)(object)((Component)val2).GetComponent<Collider>()); return; } } ((BaseUnityPlugin)this).Logger.LogWarning((object)"Could not find 'Sliding Doors' GameObject in Airport scene."); } private void RemoveCheckInKiosk() { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0006: Unknown result type (might be due to invalid IL or missing references) Scene activeScene = SceneManager.GetActiveScene(); GameObject[] rootGameObjects = ((Scene)(ref activeScene)).GetRootGameObjects(); GameObject[] array = rootGameObjects; foreach (GameObject val in array) { Transform val2 = FindDeepChild(val.transform, "AirportGateKiosk"); if ((Object)(object)val2 != (Object)null) { ((BaseUnityPlugin)this).Logger.LogInfo((object)"Found 'AirportGateKiosk'. Removing MeshRenderer, MeshFilter, and Collider..."); Object.DestroyImmediate((Object)(object)((Component)val2).GetComponent<MeshRenderer>()); Object.DestroyImmediate((Object)(object)((Component)val2).GetComponent<MeshFilter>()); Object.DestroyImmediate((Object)(object)((Component)val2).GetComponent<Collider>()); return; } } ((BaseUnityPlugin)this).Logger.LogWarning((object)"Could not find 'AirportGateKiosk' GameObject in Airport scene."); } private Transform FindDeepChild(Transform parent, string name) { //IL_0011: Unknown result type (might be due to invalid IL or missing references) //IL_0017: Expected O, but got Unknown foreach (Transform item in parent) { Transform val = item; if (((Object)val).name == name) { return val; } Transform val2 = FindDeepChild(val, name); if ((Object)(object)val2 != (Object)null) { return val2; } } return null; } }