Please disclose if any significant portion of your mod was created using AI tools by adding the 'AI Generated' category. Failing to do so may result in the mod being removed from Thunderstore.
Decompiled source of EmergencyDice v1.0.6
BepInEx/plugins/MysteryDice.dll
Decompiled 2 years agousing System; using System.CodeDom.Compiler; using System.Collections; using System.Collections.Generic; using System.Configuration; using System.Diagnostics; using System.IO; using System.Linq; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Runtime.Versioning; using BepInEx; using BepInEx.Logging; using GameNetcodeStuff; using HarmonyLib; using LethalLib.Modules; using MysteryDice.Effects; using MysteryDice.Patches; using Unity.Netcode; using UnityEngine; using UnityEngine.AI; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: AssemblyTitle("MysteryDice")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("MysteryDice")] [assembly: AssemblyCopyright("Copyright © 2024")] [assembly: AssemblyTrademark("")] [assembly: ComVisible(false)] [assembly: Guid("c247d947-5d1a-411b-8d87-6f0bc33e5234")] [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")] internal class <Module> { static <Module>() { } } namespace MysteryDice { [BepInPlugin("Theronguard.MysteryDice", "Mystery Dice", "1.0.0")] public class MysteryDice : BaseUnityPlugin { public class CustomItemBehaviour : PhysicsProp { public override void ItemActivate(bool used, bool buttonDown = true) { //IL_00e8: 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_013d: Unknown result type (might be due to invalid IL or missing references) ((GrabbableObject)this).ItemActivate(used, buttonDown); if (!buttonDown || (Object)(object)StartOfRound.Instance == (Object)null || StartOfRound.Instance.inShipPhase || !StartOfRound.Instance.shipHasLanded) { return; } int num = Random.Range(1, 7); List<IEffect> list = new List<IEffect>(); foreach (IEffect registeredEffect in RegisteredEffects) { if (registeredEffect.DiceNums.Contains(num)) { list.Add(registeredEffect); } } int index = Random.Range(0, list.Count); IEffect effect = list[index]; effect.Use(); if (num == 1) { AudioSource.PlayClipAtPoint(AwfulEffectSFX, ((Component)GameNetworkManager.Instance.localPlayerController).transform.position); } if (num == 2) { AudioSource.PlayClipAtPoint(BadEffectSFX, ((Component)GameNetworkManager.Instance.localPlayerController).transform.position); } if (num >= 3) { AudioSource.PlayClipAtPoint(GoodEffectSFX, ((Component)GameNetworkManager.Instance.localPlayerController).transform.position); } if (effect.ShowDefaultTooltip) { switch (num) { case 1: HUDManager.Instance.DisplayTip($"Rolled {num}", ":)", false, false, "LC_Tip1"); break; case 2: HUDManager.Instance.DisplayTip($"Rolled {num}", "Uh oh", false, false, "LC_Tip1"); break; case 3: HUDManager.Instance.DisplayTip($"Rolled {num}", "Enjoy.", false, false, "LC_Tip1"); break; case 4: HUDManager.Instance.DisplayTip($"Rolled {num}", "Enjoy.", false, false, "LC_Tip1"); break; case 5: HUDManager.Instance.DisplayTip($"Rolled {num}", "Enjoy.", false, false, "LC_Tip1"); break; case 6: HUDManager.Instance.DisplayTip($"Rolled {num}", "Enjoy.", false, false, "LC_Tip1"); break; } } else { HUDManager.Instance.DisplayTip($"Rolled {num}", effect.Tooltip, false, false, "LC_Tip1"); } ((GrabbableObject)this).DestroyObjectInHand(GameNetworkManager.Instance.localPlayerController); } protected override void __initializeVariables() { ((PhysicsProp)this).__initializeVariables(); } protected internal override string __getTypeName() { return "CustomItemBehaviour"; } } private const string modGUID = "Theronguard.MysteryDice"; private const string modName = "Mystery Dice"; private const string modVersion = "1.0.0"; private readonly Harmony harmony = new Harmony("Theronguard.MysteryDice"); public static ManualLogSource CustomLogger; public static AssetBundle LoadedAssets; public static GameObject NetworkerPrefab; public static List<IEffect> RegisteredEffects = new List<IEffect>(); public static AudioClip ExplosionSFX; public static AudioClip DetonateSFX; public static AudioClip MineSFX; public static AudioClip AwfulEffectSFX; public static AudioClip BadEffectSFX; public static AudioClip GoodEffectSFX; private void Awake() { NetcodeWeaver(); CustomLogger = Logger.CreateLogSource("Theronguard.MysteryDice"); LoadedAssets = AssetBundle.LoadFromFile(Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), "mysterydice")); ExplosionSFX = LoadedAssets.LoadAsset<AudioClip>("MineDetonate"); MineSFX = LoadedAssets.LoadAsset<AudioClip>("MineTrigger"); AwfulEffectSFX = LoadedAssets.LoadAsset<AudioClip>("Bell2"); BadEffectSFX = LoadedAssets.LoadAsset<AudioClip>("Bad1"); GoodEffectSFX = LoadedAssets.LoadAsset<AudioClip>("Good2"); NetworkerPrefab = LoadedAssets.LoadAsset<GameObject>("Networker"); NetworkerPrefab.AddComponent<Networker>(); RegisteredEffects.Add(new ModifyPitch()); RegisteredEffects.Add(new MineOverflowOutside()); RegisteredEffects.Add(new InstaJester()); RegisteredEffects.Add(new FakeFireExits()); RegisteredEffects.Add(new FireExitBlock()); RegisteredEffects.Add(new ReturnToShip()); RegisteredEffects.Add(new TeleportInside()); RegisteredEffects.Add(new BugPlague()); RegisteredEffects.Add(new ZombieApocalypse()); RegisteredEffects.Add(new Revive()); RegisteredEffects.Add(new Detonate()); Item val = LoadedAssets.LoadAsset<Item>("MysteryDiceItem"); val.minValue = 100; val.maxValue = 130; CustomItemBehaviour customItemBehaviour = val.spawnPrefab.AddComponent<CustomItemBehaviour>(); ((GrabbableObject)customItemBehaviour).grabbable = true; ((GrabbableObject)customItemBehaviour).grabbableToEnemies = true; ((GrabbableObject)customItemBehaviour).itemProperties = val; NetworkPrefabs.RegisterNetworkPrefab(val.spawnPrefab); Utilities.FixMixerGroups(val.spawnPrefab); Items.RegisterScrap(val, 66, (LevelTypes)(-1)); harmony.PatchAll(); CustomLogger.LogInfo((object)"The Mystery dice mod was initialized!"); } private static void NetcodeWeaver() { Type[] types = Assembly.GetExecutingAssembly().GetTypes(); Type[] array = types; foreach (Type type in array) { MethodInfo[] methods = type.GetMethods(BindingFlags.Instance | BindingFlags.Static | BindingFlags.NonPublic); MethodInfo[] array2 = methods; foreach (MethodInfo methodInfo in array2) { object[] customAttributes = methodInfo.GetCustomAttributes(typeof(RuntimeInitializeOnLoadMethodAttribute), inherit: false); if (customAttributes.Length != 0) { methodInfo.Invoke(null, null); } } } } } internal class Networker : NetworkBehaviour { public static Networker Instance; private static Vector2 TimerRange = new Vector2(3f, 6f); private static ulong PlayerIDToExplode; private static float ExplosionTimer = 0f; public override void OnNetworkSpawn() { Instance = this; ((NetworkBehaviour)this).OnNetworkSpawn(); } private void FixedUpdate() { UpdateMineTimers(); } private void Update() { ModifyPitch.PitchFluctuate(); } public static bool IsPlayerAlive(PlayerControllerB player) { return !player.isPlayerDead && ((Behaviour)player).isActiveAndEnabled && ((NetworkBehaviour)player).IsSpawned && player.isPlayerControlled; } public void UpdateMineTimers() { if (ExplosionTimer >= 0f) { ExplosionTimer -= Time.fixedDeltaTime; if (ExplosionTimer < 0f) { DetonateRandomPlayerClientRpc(PlayerIDToExplode); } } } public void StartDoomCountdown(ulong playerID) { PlayerIDToExplode = playerID; ExplosionTimer = Random.Range(TimerRange.x, TimerRange.y); } [ServerRpc(RequireOwnership = false)] public void DetonateRandomPlayerServerRpc() { //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Invalid comparison between Unknown and I4 //IL_008c: Unknown result type (might be due to invalid IL or missing references) //IL_0096: Invalid comparison between Unknown and I4 //IL_005f: 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_007c: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager; if (networkManager == null || !networkManager.IsListening) { return; } if ((int)base.__rpc_exec_stage != 1 && (networkManager.IsClient || networkManager.IsHost)) { ServerRpcParams val = default(ServerRpcParams); FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendServerRpc(1471895020u, val, (RpcDelivery)0); ((NetworkBehaviour)this).__endSendServerRpc(ref val2, 1471895020u, val, (RpcDelivery)0); } if ((int)base.__rpc_exec_stage != 1 || (!networkManager.IsServer && !networkManager.IsHost) || (Object)(object)StartOfRound.Instance == (Object)null || StartOfRound.Instance.inShipPhase || !StartOfRound.Instance.shipHasLanded) { return; } List<PlayerControllerB> list = new List<PlayerControllerB>(); GameObject[] allPlayerObjects = StartOfRound.Instance.allPlayerObjects; foreach (GameObject val3 in allPlayerObjects) { PlayerControllerB component = val3.GetComponent<PlayerControllerB>(); if (IsPlayerAlive(component)) { list.Add(component); } } PlayerControllerB val4 = list[Random.Range(0, list.Count)]; MysteryDice.CustomLogger.LogWarning((object)val4.playerUsername); StartDoomCountdown(val4.playerClientId); } [ClientRpc] public void DetonateRandomPlayerClientRpc(ulong clientID) { //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Invalid comparison between Unknown and I4 //IL_0099: Unknown result type (might be due to invalid IL or missing references) //IL_00a3: Invalid comparison between Unknown and I4 //IL_005f: 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_0071: 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_012f: 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) NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager; if (networkManager == null || !networkManager.IsListening) { return; } if ((int)base.__rpc_exec_stage != 2 && (networkManager.IsServer || networkManager.IsHost)) { ClientRpcParams val = default(ClientRpcParams); FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendClientRpc(1863607810u, val, (RpcDelivery)0); BytePacker.WriteValueBitPacked(val2, clientID); ((NetworkBehaviour)this).__endSendClientRpc(ref val2, 1863607810u, val, (RpcDelivery)0); } if ((int)base.__rpc_exec_stage != 2 || (!networkManager.IsClient && !networkManager.IsHost) || StartOfRound.Instance.inShipPhase || !StartOfRound.Instance.shipHasLanded) { return; } GameObject[] allPlayerObjects = StartOfRound.Instance.allPlayerObjects; foreach (GameObject val3 in allPlayerObjects) { PlayerControllerB component = val3.GetComponent<PlayerControllerB>(); if (component.playerClientId == clientID && IsPlayerAlive(component)) { AudioSource.PlayClipAtPoint(MysteryDice.MineSFX, ((Component)component).transform.position); ((MonoBehaviour)this).StartCoroutine(SpawnExplosionAfterSFX(((Component)component).transform.position)); break; } } } private IEnumerator SpawnExplosionAfterSFX(Vector3 position) { //IL_000e: Unknown result type (might be due to invalid IL or missing references) //IL_000f: Unknown result type (might be due to invalid IL or missing references) yield return (object)new WaitForSeconds(0.5f); Landmine.SpawnExplosion(position, true, 1f, 5f); } [ServerRpc(RequireOwnership = false)] public void ReviveAllPlayersServerRpc() { //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Invalid comparison between Unknown and I4 //IL_008c: Unknown result type (might be due to invalid IL or missing references) //IL_0096: Invalid comparison between Unknown and I4 //IL_005f: 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_007c: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager; if (networkManager != null && networkManager.IsListening) { if ((int)base.__rpc_exec_stage != 1 && (networkManager.IsClient || networkManager.IsHost)) { ServerRpcParams val = default(ServerRpcParams); FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendServerRpc(3123714467u, val, (RpcDelivery)0); ((NetworkBehaviour)this).__endSendServerRpc(ref val2, 3123714467u, val, (RpcDelivery)0); } if ((int)base.__rpc_exec_stage == 1 && (networkManager.IsServer || networkManager.IsHost) && !((Object)(object)StartOfRound.Instance == (Object)null)) { ReviveAllPlayersClientRpc(); } } } [ClientRpc] public void ReviveAllPlayersClientRpc() { //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Invalid comparison between Unknown and I4 //IL_008c: Unknown result type (might be due to invalid IL or missing references) //IL_0096: Invalid comparison between Unknown and I4 //IL_005f: 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_007c: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager; if (networkManager != null && networkManager.IsListening) { if ((int)base.__rpc_exec_stage != 2 && (networkManager.IsServer || networkManager.IsHost)) { ClientRpcParams val = default(ClientRpcParams); FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendClientRpc(954997453u, val, (RpcDelivery)0); ((NetworkBehaviour)this).__endSendClientRpc(ref val2, 954997453u, val, (RpcDelivery)0); } if ((int)base.__rpc_exec_stage == 2 && (networkManager.IsClient || networkManager.IsHost) && !((Object)(object)StartOfRound.Instance == (Object)null)) { StartOfRound.Instance.ReviveDeadPlayers(); } } } [ServerRpc(RequireOwnership = false)] public void TeleportInsideServerRPC(ulong clientID, Vector3 teleportPos) { //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Invalid comparison between Unknown and I4 //IL_00a6: Unknown result type (might be due to invalid IL or missing references) //IL_00b0: Invalid comparison between Unknown and I4 //IL_005f: 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_0071: 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_00d8: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager; if (networkManager != null && networkManager.IsListening) { if ((int)base.__rpc_exec_stage != 1 && (networkManager.IsClient || networkManager.IsHost)) { ServerRpcParams val = default(ServerRpcParams); FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendServerRpc(905465244u, val, (RpcDelivery)0); BytePacker.WriteValueBitPacked(val2, clientID); ((FastBufferWriter)(ref val2)).WriteValueSafe(ref teleportPos); ((NetworkBehaviour)this).__endSendServerRpc(ref val2, 905465244u, val, (RpcDelivery)0); } if ((int)base.__rpc_exec_stage == 1 && (networkManager.IsServer || networkManager.IsHost)) { TeleportInsideClientRPC(clientID, teleportPos); } } } [ClientRpc] public void TeleportInsideClientRPC(ulong clientID, Vector3 teleportPos) { //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Invalid comparison between Unknown and I4 //IL_00a6: Unknown result type (might be due to invalid IL or missing references) //IL_00b0: Invalid comparison between Unknown and I4 //IL_005f: 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_0071: 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_00d7: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager; if (networkManager != null && networkManager.IsListening) { if ((int)base.__rpc_exec_stage != 2 && (networkManager.IsServer || networkManager.IsHost)) { ClientRpcParams val = default(ClientRpcParams); FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendClientRpc(2679626543u, val, (RpcDelivery)0); BytePacker.WriteValueBitPacked(val2, clientID); ((FastBufferWriter)(ref val2)).WriteValueSafe(ref teleportPos); ((NetworkBehaviour)this).__endSendClientRpc(ref val2, 2679626543u, val, (RpcDelivery)0); } if ((int)base.__rpc_exec_stage == 2 && (networkManager.IsClient || networkManager.IsHost)) { TeleportInside.TeleportPlayerInside(clientID, teleportPos); } } } [ServerRpc(RequireOwnership = false)] public void TeleportToShipServerRPC(ulong clientID) { //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Invalid comparison between Unknown and I4 //IL_0099: Unknown result type (might be due to invalid IL or missing references) //IL_00a3: Invalid comparison between Unknown and I4 //IL_005f: 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_0071: 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) NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager; if (networkManager != null && networkManager.IsListening) { if ((int)base.__rpc_exec_stage != 1 && (networkManager.IsClient || networkManager.IsHost)) { ServerRpcParams val = default(ServerRpcParams); FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendServerRpc(658849964u, val, (RpcDelivery)0); BytePacker.WriteValueBitPacked(val2, clientID); ((NetworkBehaviour)this).__endSendServerRpc(ref val2, 658849964u, val, (RpcDelivery)0); } if ((int)base.__rpc_exec_stage == 1 && (networkManager.IsServer || networkManager.IsHost)) { TeleportToShipClientRPC(clientID); } } } [ClientRpc] public void TeleportToShipClientRPC(ulong clientID) { //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Invalid comparison between Unknown and I4 //IL_0099: Unknown result type (might be due to invalid IL or missing references) //IL_00a3: Invalid comparison between Unknown and I4 //IL_005f: 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_0071: 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) NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager; if (networkManager != null && networkManager.IsListening) { if ((int)base.__rpc_exec_stage != 2 && (networkManager.IsServer || networkManager.IsHost)) { ClientRpcParams val = default(ClientRpcParams); FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendClientRpc(1685682683u, val, (RpcDelivery)0); BytePacker.WriteValueBitPacked(val2, clientID); ((NetworkBehaviour)this).__endSendClientRpc(ref val2, 1685682683u, val, (RpcDelivery)0); } if ((int)base.__rpc_exec_stage == 2 && (networkManager.IsClient || networkManager.IsHost)) { ReturnToShip.TeleportPlayerToShip(clientID); } } } [ServerRpc(RequireOwnership = false)] public void BlockFireExitsServerRPC() { //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Invalid comparison between Unknown and I4 //IL_008c: Unknown result type (might be due to invalid IL or missing references) //IL_0096: Invalid comparison between Unknown and I4 //IL_005f: 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_007c: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager; if (networkManager != null && networkManager.IsListening) { if ((int)base.__rpc_exec_stage != 1 && (networkManager.IsClient || networkManager.IsHost)) { ServerRpcParams val = default(ServerRpcParams); FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendServerRpc(758899621u, val, (RpcDelivery)0); ((NetworkBehaviour)this).__endSendServerRpc(ref val2, 758899621u, val, (RpcDelivery)0); } if ((int)base.__rpc_exec_stage == 1 && (networkManager.IsServer || networkManager.IsHost)) { BlockFireExitsClientRPC(); } } } [ClientRpc] public void BlockFireExitsClientRPC() { //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Invalid comparison between Unknown and I4 //IL_008c: Unknown result type (might be due to invalid IL or missing references) //IL_0096: Invalid comparison between Unknown and I4 //IL_005f: 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_007c: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager; if (networkManager != null && networkManager.IsListening) { if ((int)base.__rpc_exec_stage != 2 && (networkManager.IsServer || networkManager.IsHost)) { ClientRpcParams val = default(ClientRpcParams); FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendClientRpc(905636504u, val, (RpcDelivery)0); ((NetworkBehaviour)this).__endSendClientRpc(ref val2, 905636504u, val, (RpcDelivery)0); } if ((int)base.__rpc_exec_stage == 2 && (networkManager.IsClient || networkManager.IsHost)) { FireExitPatch.AreFireExitsBlocked = true; } } } [ServerRpc(RequireOwnership = false)] public void FakeFireExitsServerRPC() { //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Invalid comparison between Unknown and I4 //IL_008c: Unknown result type (might be due to invalid IL or missing references) //IL_0096: Invalid comparison between Unknown and I4 //IL_005f: 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_007c: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager; if (networkManager != null && networkManager.IsListening) { if ((int)base.__rpc_exec_stage != 1 && (networkManager.IsClient || networkManager.IsHost)) { ServerRpcParams val = default(ServerRpcParams); FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendServerRpc(3750907622u, val, (RpcDelivery)0); ((NetworkBehaviour)this).__endSendServerRpc(ref val2, 3750907622u, val, (RpcDelivery)0); } if ((int)base.__rpc_exec_stage == 1 && (networkManager.IsServer || networkManager.IsHost)) { FakeFireExitsClientRPC(); } } } [ClientRpc] public void FakeFireExitsClientRPC() { //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Invalid comparison between Unknown and I4 //IL_008c: Unknown result type (might be due to invalid IL or missing references) //IL_0096: Invalid comparison between Unknown and I4 //IL_005f: 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_007c: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager; if (networkManager == null || !networkManager.IsListening) { return; } if ((int)base.__rpc_exec_stage != 2 && (networkManager.IsServer || networkManager.IsHost)) { ClientRpcParams val = default(ClientRpcParams); FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendClientRpc(2557817672u, val, (RpcDelivery)0); ((NetworkBehaviour)this).__endSendClientRpc(ref val2, 2557817672u, val, (RpcDelivery)0); } if ((int)base.__rpc_exec_stage != 2 || (!networkManager.IsClient && !networkManager.IsHost)) { return; } GameObject[] array = Object.FindObjectsOfType<GameObject>(true); for (int i = 0; i < array.Length; i++) { if (((Object)array[i]).name.Contains("AlleyExitDoorContainer")) { MysteryDice.CustomLogger.LogMessage((object)((Object)array[i]).name); array[i].SetActive(true); } } } [ServerRpc(RequireOwnership = false)] public void InstaJesterServerRPC() { //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Invalid comparison between Unknown and I4 //IL_008c: Unknown result type (might be due to invalid IL or missing references) //IL_0096: Invalid comparison between Unknown and I4 //IL_005f: 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_007c: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager; if (networkManager != null && networkManager.IsListening) { if ((int)base.__rpc_exec_stage != 1 && (networkManager.IsClient || networkManager.IsHost)) { ServerRpcParams val = default(ServerRpcParams); FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendServerRpc(642114377u, val, (RpcDelivery)0); ((NetworkBehaviour)this).__endSendServerRpc(ref val2, 642114377u, val, (RpcDelivery)0); } if ((int)base.__rpc_exec_stage == 1 && (networkManager.IsServer || networkManager.IsHost)) { InstaJester.SpawnInstaJester(); } } } [ServerRpc(RequireOwnership = false)] public void OutsideBrackenServerRPC() { //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Invalid comparison between Unknown and I4 //IL_008c: Unknown result type (might be due to invalid IL or missing references) //IL_0096: Invalid comparison between Unknown and I4 //IL_005f: 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_007c: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager; if (networkManager != null && networkManager.IsListening) { if ((int)base.__rpc_exec_stage != 1 && (networkManager.IsClient || networkManager.IsHost)) { ServerRpcParams val = default(ServerRpcParams); FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendServerRpc(117164783u, val, (RpcDelivery)0); ((NetworkBehaviour)this).__endSendServerRpc(ref val2, 117164783u, val, (RpcDelivery)0); } if ((int)base.__rpc_exec_stage == 1 && (networkManager.IsServer || networkManager.IsHost)) { OutsideBracken.SpawnOutsideBracken(); } } } [ClientRpc] public void SetNavmeshBrackenClientRPC() { //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Invalid comparison between Unknown and I4 //IL_008c: Unknown result type (might be due to invalid IL or missing references) //IL_0096: Invalid comparison between Unknown and I4 //IL_005f: 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_007c: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager; if (networkManager != null && networkManager.IsListening) { if ((int)base.__rpc_exec_stage != 2 && (networkManager.IsServer || networkManager.IsHost)) { ClientRpcParams val = default(ClientRpcParams); FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendClientRpc(689662337u, val, (RpcDelivery)0); ((NetworkBehaviour)this).__endSendClientRpc(ref val2, 689662337u, val, (RpcDelivery)0); } if ((int)base.__rpc_exec_stage == 2 && (networkManager.IsClient || networkManager.IsHost)) { OutsideBracken.SetNavmeshBrackenClient(); } } } [ServerRpc(RequireOwnership = false)] public void MineOverflowServerRPC() { //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Invalid comparison between Unknown and I4 //IL_008c: Unknown result type (might be due to invalid IL or missing references) //IL_0096: Invalid comparison between Unknown and I4 //IL_005f: 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_007c: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager; if (networkManager != null && networkManager.IsListening) { if ((int)base.__rpc_exec_stage != 1 && (networkManager.IsClient || networkManager.IsHost)) { ServerRpcParams val = default(ServerRpcParams); FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendServerRpc(1822380635u, val, (RpcDelivery)0); ((NetworkBehaviour)this).__endSendServerRpc(ref val2, 1822380635u, val, (RpcDelivery)0); } if ((int)base.__rpc_exec_stage == 1 && (networkManager.IsServer || networkManager.IsHost)) { MineOverflow.SpawnMoreMines(); } } } [ServerRpc(RequireOwnership = false)] public void MineOverflowOutsideServerRPC() { //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Invalid comparison between Unknown and I4 //IL_008c: Unknown result type (might be due to invalid IL or missing references) //IL_0096: Invalid comparison between Unknown and I4 //IL_005f: 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_007c: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager; if (networkManager != null && networkManager.IsListening) { if ((int)base.__rpc_exec_stage != 1 && (networkManager.IsClient || networkManager.IsHost)) { ServerRpcParams val = default(ServerRpcParams); FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendServerRpc(3354025460u, val, (RpcDelivery)0); ((NetworkBehaviour)this).__endSendServerRpc(ref val2, 3354025460u, val, (RpcDelivery)0); } if ((int)base.__rpc_exec_stage == 1 && (networkManager.IsServer || networkManager.IsHost)) { MineOverflowOutside.SpawnMoreMinesOutside(); } } } [ServerRpc(RequireOwnership = false)] public void ModifyPitchNotifyServerRPC() { //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Invalid comparison between Unknown and I4 //IL_008c: Unknown result type (might be due to invalid IL or missing references) //IL_0096: Invalid comparison between Unknown and I4 //IL_005f: 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_007c: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager; if (networkManager != null && networkManager.IsListening) { if ((int)base.__rpc_exec_stage != 1 && (networkManager.IsClient || networkManager.IsHost)) { ServerRpcParams val = default(ServerRpcParams); FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendServerRpc(2611363842u, val, (RpcDelivery)0); ((NetworkBehaviour)this).__endSendServerRpc(ref val2, 2611363842u, val, (RpcDelivery)0); } if ((int)base.__rpc_exec_stage == 1 && (networkManager.IsServer || networkManager.IsHost)) { ModifyPitchNotifyClientRPC(); } } } [ClientRpc] public void ModifyPitchNotifyClientRPC() { //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Invalid comparison between Unknown and I4 //IL_008c: Unknown result type (might be due to invalid IL or missing references) //IL_0096: Invalid comparison between Unknown and I4 //IL_005f: 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_007c: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager; if (networkManager != null && networkManager.IsListening) { if ((int)base.__rpc_exec_stage != 2 && (networkManager.IsServer || networkManager.IsHost)) { ClientRpcParams val = default(ClientRpcParams); FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendClientRpc(2473680354u, val, (RpcDelivery)0); ((NetworkBehaviour)this).__endSendClientRpc(ref val2, 2473680354u, val, (RpcDelivery)0); } if ((int)base.__rpc_exec_stage == 2 && (networkManager.IsClient || networkManager.IsHost)) { ModifyPitch.FluctuatePitch = true; } } } protected override void __initializeVariables() { ((NetworkBehaviour)this).__initializeVariables(); } [RuntimeInitializeOnLoadMethod] internal static void InitializeRPCS_Networker() { //IL_0011: Unknown result type (might be due to invalid IL or missing references) //IL_001b: 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_0047: Unknown result type (might be due to invalid IL or missing references) //IL_0051: 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_007d: Unknown result type (might be due to invalid IL or missing references) //IL_0087: 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_00b3: Unknown result type (might be due to invalid IL or missing references) //IL_00bd: 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_00e9: Unknown result type (might be due to invalid IL or missing references) //IL_00f3: 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_011f: Unknown result type (might be due to invalid IL or missing references) //IL_0129: Expected O, but got Unknown //IL_013a: Unknown result type (might be due to invalid IL or missing references) //IL_0144: Expected O, but got Unknown //IL_0155: Unknown result type (might be due to invalid IL or missing references) //IL_015f: Expected O, but got Unknown //IL_0170: Unknown result type (might be due to invalid IL or missing references) //IL_017a: Expected O, but got Unknown //IL_018b: Unknown result type (might be due to invalid IL or missing references) //IL_0195: Expected O, but got Unknown //IL_01a6: Unknown result type (might be due to invalid IL or missing references) //IL_01b0: Expected O, but got Unknown //IL_01c1: Unknown result type (might be due to invalid IL or missing references) //IL_01cb: Expected O, but got Unknown //IL_01dc: Unknown result type (might be due to invalid IL or missing references) //IL_01e6: Expected O, but got Unknown //IL_01f7: Unknown result type (might be due to invalid IL or missing references) //IL_0201: Expected O, but got Unknown NetworkManager.__rpc_func_table.Add(1471895020u, new RpcReceiveHandler(__rpc_handler_1471895020)); NetworkManager.__rpc_func_table.Add(1863607810u, new RpcReceiveHandler(__rpc_handler_1863607810)); NetworkManager.__rpc_func_table.Add(3123714467u, new RpcReceiveHandler(__rpc_handler_3123714467)); NetworkManager.__rpc_func_table.Add(954997453u, new RpcReceiveHandler(__rpc_handler_954997453)); NetworkManager.__rpc_func_table.Add(905465244u, new RpcReceiveHandler(__rpc_handler_905465244)); NetworkManager.__rpc_func_table.Add(2679626543u, new RpcReceiveHandler(__rpc_handler_2679626543)); NetworkManager.__rpc_func_table.Add(658849964u, new RpcReceiveHandler(__rpc_handler_658849964)); NetworkManager.__rpc_func_table.Add(1685682683u, new RpcReceiveHandler(__rpc_handler_1685682683)); NetworkManager.__rpc_func_table.Add(758899621u, new RpcReceiveHandler(__rpc_handler_758899621)); NetworkManager.__rpc_func_table.Add(905636504u, new RpcReceiveHandler(__rpc_handler_905636504)); NetworkManager.__rpc_func_table.Add(3750907622u, new RpcReceiveHandler(__rpc_handler_3750907622)); NetworkManager.__rpc_func_table.Add(2557817672u, new RpcReceiveHandler(__rpc_handler_2557817672)); NetworkManager.__rpc_func_table.Add(642114377u, new RpcReceiveHandler(__rpc_handler_642114377)); NetworkManager.__rpc_func_table.Add(117164783u, new RpcReceiveHandler(__rpc_handler_117164783)); NetworkManager.__rpc_func_table.Add(689662337u, new RpcReceiveHandler(__rpc_handler_689662337)); NetworkManager.__rpc_func_table.Add(1822380635u, new RpcReceiveHandler(__rpc_handler_1822380635)); NetworkManager.__rpc_func_table.Add(3354025460u, new RpcReceiveHandler(__rpc_handler_3354025460)); NetworkManager.__rpc_func_table.Add(2611363842u, new RpcReceiveHandler(__rpc_handler_2611363842)); NetworkManager.__rpc_func_table.Add(2473680354u, new RpcReceiveHandler(__rpc_handler_2473680354)); } private static void __rpc_handler_1471895020(NetworkBehaviour target, FastBufferReader reader, __RpcParams rpcParams) { //IL_0029: 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) NetworkManager networkManager = target.NetworkManager; if (networkManager != null && networkManager.IsListening) { target.__rpc_exec_stage = (__RpcExecStage)1; ((Networker)(object)target).DetonateRandomPlayerServerRpc(); target.__rpc_exec_stage = (__RpcExecStage)0; } } private static void __rpc_handler_1863607810(NetworkBehaviour target, FastBufferReader reader, __RpcParams rpcParams) { //IL_0023: 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_0050: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = target.NetworkManager; if (networkManager != null && networkManager.IsListening) { ulong clientID = default(ulong); ByteUnpacker.ReadValueBitPacked(reader, ref clientID); target.__rpc_exec_stage = (__RpcExecStage)2; ((Networker)(object)target).DetonateRandomPlayerClientRpc(clientID); target.__rpc_exec_stage = (__RpcExecStage)0; } } private static void __rpc_handler_3123714467(NetworkBehaviour target, FastBufferReader reader, __RpcParams rpcParams) { //IL_0029: 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) NetworkManager networkManager = target.NetworkManager; if (networkManager != null && networkManager.IsListening) { target.__rpc_exec_stage = (__RpcExecStage)1; ((Networker)(object)target).ReviveAllPlayersServerRpc(); target.__rpc_exec_stage = (__RpcExecStage)0; } } private static void __rpc_handler_954997453(NetworkBehaviour target, FastBufferReader reader, __RpcParams rpcParams) { //IL_0029: 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) NetworkManager networkManager = target.NetworkManager; if (networkManager != null && networkManager.IsListening) { target.__rpc_exec_stage = (__RpcExecStage)2; ((Networker)(object)target).ReviveAllPlayersClientRpc(); target.__rpc_exec_stage = (__RpcExecStage)0; } } private static void __rpc_handler_905465244(NetworkBehaviour target, FastBufferReader reader, __RpcParams rpcParams) { //IL_0023: 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_0052: 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) NetworkManager networkManager = target.NetworkManager; if (networkManager != null && networkManager.IsListening) { ulong clientID = default(ulong); ByteUnpacker.ReadValueBitPacked(reader, ref clientID); Vector3 teleportPos = default(Vector3); ((FastBufferReader)(ref reader)).ReadValueSafe(ref teleportPos); target.__rpc_exec_stage = (__RpcExecStage)1; ((Networker)(object)target).TeleportInsideServerRPC(clientID, teleportPos); target.__rpc_exec_stage = (__RpcExecStage)0; } } private static void __rpc_handler_2679626543(NetworkBehaviour target, FastBufferReader reader, __RpcParams rpcParams) { //IL_0023: 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_0052: 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) NetworkManager networkManager = target.NetworkManager; if (networkManager != null && networkManager.IsListening) { ulong clientID = default(ulong); ByteUnpacker.ReadValueBitPacked(reader, ref clientID); Vector3 teleportPos = default(Vector3); ((FastBufferReader)(ref reader)).ReadValueSafe(ref teleportPos); target.__rpc_exec_stage = (__RpcExecStage)2; ((Networker)(object)target).TeleportInsideClientRPC(clientID, teleportPos); target.__rpc_exec_stage = (__RpcExecStage)0; } } private static void __rpc_handler_658849964(NetworkBehaviour target, FastBufferReader reader, __RpcParams rpcParams) { //IL_0023: 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_0050: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = target.NetworkManager; if (networkManager != null && networkManager.IsListening) { ulong clientID = default(ulong); ByteUnpacker.ReadValueBitPacked(reader, ref clientID); target.__rpc_exec_stage = (__RpcExecStage)1; ((Networker)(object)target).TeleportToShipServerRPC(clientID); target.__rpc_exec_stage = (__RpcExecStage)0; } } private static void __rpc_handler_1685682683(NetworkBehaviour target, FastBufferReader reader, __RpcParams rpcParams) { //IL_0023: 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_0050: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = target.NetworkManager; if (networkManager != null && networkManager.IsListening) { ulong clientID = default(ulong); ByteUnpacker.ReadValueBitPacked(reader, ref clientID); target.__rpc_exec_stage = (__RpcExecStage)2; ((Networker)(object)target).TeleportToShipClientRPC(clientID); target.__rpc_exec_stage = (__RpcExecStage)0; } } private static void __rpc_handler_758899621(NetworkBehaviour target, FastBufferReader reader, __RpcParams rpcParams) { //IL_0029: 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) NetworkManager networkManager = target.NetworkManager; if (networkManager != null && networkManager.IsListening) { target.__rpc_exec_stage = (__RpcExecStage)1; ((Networker)(object)target).BlockFireExitsServerRPC(); target.__rpc_exec_stage = (__RpcExecStage)0; } } private static void __rpc_handler_905636504(NetworkBehaviour target, FastBufferReader reader, __RpcParams rpcParams) { //IL_0029: 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) NetworkManager networkManager = target.NetworkManager; if (networkManager != null && networkManager.IsListening) { target.__rpc_exec_stage = (__RpcExecStage)2; ((Networker)(object)target).BlockFireExitsClientRPC(); target.__rpc_exec_stage = (__RpcExecStage)0; } } private static void __rpc_handler_3750907622(NetworkBehaviour target, FastBufferReader reader, __RpcParams rpcParams) { //IL_0029: 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) NetworkManager networkManager = target.NetworkManager; if (networkManager != null && networkManager.IsListening) { target.__rpc_exec_stage = (__RpcExecStage)1; ((Networker)(object)target).FakeFireExitsServerRPC(); target.__rpc_exec_stage = (__RpcExecStage)0; } } private static void __rpc_handler_2557817672(NetworkBehaviour target, FastBufferReader reader, __RpcParams rpcParams) { //IL_0029: 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) NetworkManager networkManager = target.NetworkManager; if (networkManager != null && networkManager.IsListening) { target.__rpc_exec_stage = (__RpcExecStage)2; ((Networker)(object)target).FakeFireExitsClientRPC(); target.__rpc_exec_stage = (__RpcExecStage)0; } } private static void __rpc_handler_642114377(NetworkBehaviour target, FastBufferReader reader, __RpcParams rpcParams) { //IL_0029: 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) NetworkManager networkManager = target.NetworkManager; if (networkManager != null && networkManager.IsListening) { target.__rpc_exec_stage = (__RpcExecStage)1; ((Networker)(object)target).InstaJesterServerRPC(); target.__rpc_exec_stage = (__RpcExecStage)0; } } private static void __rpc_handler_117164783(NetworkBehaviour target, FastBufferReader reader, __RpcParams rpcParams) { //IL_0029: 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) NetworkManager networkManager = target.NetworkManager; if (networkManager != null && networkManager.IsListening) { target.__rpc_exec_stage = (__RpcExecStage)1; ((Networker)(object)target).OutsideBrackenServerRPC(); target.__rpc_exec_stage = (__RpcExecStage)0; } } private static void __rpc_handler_689662337(NetworkBehaviour target, FastBufferReader reader, __RpcParams rpcParams) { //IL_0029: 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) NetworkManager networkManager = target.NetworkManager; if (networkManager != null && networkManager.IsListening) { target.__rpc_exec_stage = (__RpcExecStage)2; ((Networker)(object)target).SetNavmeshBrackenClientRPC(); target.__rpc_exec_stage = (__RpcExecStage)0; } } private static void __rpc_handler_1822380635(NetworkBehaviour target, FastBufferReader reader, __RpcParams rpcParams) { //IL_0029: 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) NetworkManager networkManager = target.NetworkManager; if (networkManager != null && networkManager.IsListening) { target.__rpc_exec_stage = (__RpcExecStage)1; ((Networker)(object)target).MineOverflowServerRPC(); target.__rpc_exec_stage = (__RpcExecStage)0; } } private static void __rpc_handler_3354025460(NetworkBehaviour target, FastBufferReader reader, __RpcParams rpcParams) { //IL_0029: 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) NetworkManager networkManager = target.NetworkManager; if (networkManager != null && networkManager.IsListening) { target.__rpc_exec_stage = (__RpcExecStage)1; ((Networker)(object)target).MineOverflowOutsideServerRPC(); target.__rpc_exec_stage = (__RpcExecStage)0; } } private static void __rpc_handler_2611363842(NetworkBehaviour target, FastBufferReader reader, __RpcParams rpcParams) { //IL_0029: 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) NetworkManager networkManager = target.NetworkManager; if (networkManager != null && networkManager.IsListening) { target.__rpc_exec_stage = (__RpcExecStage)1; ((Networker)(object)target).ModifyPitchNotifyServerRPC(); target.__rpc_exec_stage = (__RpcExecStage)0; } } private static void __rpc_handler_2473680354(NetworkBehaviour target, FastBufferReader reader, __RpcParams rpcParams) { //IL_0029: 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) NetworkManager networkManager = target.NetworkManager; if (networkManager != null && networkManager.IsListening) { target.__rpc_exec_stage = (__RpcExecStage)2; ((Networker)(object)target).ModifyPitchNotifyClientRPC(); target.__rpc_exec_stage = (__RpcExecStage)0; } } protected internal override string __getTypeName() { return "Networker"; } } internal class Misc { public static void SpawnEnemy(SpawnableEnemyWithRarity enemy, int amount, bool isInside) { //IL_004d: 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) if (!((NetworkBehaviour)Networker.Instance).IsHost || !isInside) { return; } for (int i = 0; i < amount; i++) { RoundManager instance = RoundManager.Instance; EnemyVent val = instance.allEnemyVents[Random.Range(0, instance.allEnemyVents.Length)]; instance.SpawnEnemyOnServer(val.floorNode.position, val.floorNode.eulerAngles.y, instance.currentLevel.Enemies.IndexOf(enemy)); foreach (SpawnableEnemyWithRarity enemy2 in instance.currentLevel.Enemies) { MysteryDice.CustomLogger.LogWarning((object)enemy2.enemyType.enemyName); } } } public static void SpawnEnemyForced(SpawnableEnemyWithRarity enemy, int amount, bool isInside) { if (!RoundManager.Instance.currentLevel.Enemies.Contains(enemy)) { RoundManager.Instance.currentLevel.Enemies.Add(enemy); SpawnEnemy(enemy, amount, isInside); RoundManager.Instance.currentLevel.Enemies.Remove(enemy); } else { SpawnEnemy(enemy, amount, isInside); } } public static float Map(float x, float inMin, float inMax, float outMin, float outMax) { return (x - inMin) * (outMax - outMin) / (inMax - inMin) + outMin; } } } namespace MysteryDice.Properties { [CompilerGenerated] [GeneratedCode("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.7.0.0")] internal sealed class Settings : ApplicationSettingsBase { private static Settings defaultInstance = (Settings)(object)SettingsBase.Synchronized((SettingsBase)(object)new Settings()); public static Settings Default => defaultInstance; } } namespace MysteryDice.Patches { [HarmonyPatch(typeof(EntranceTeleport))] internal class FireExitPatch { public static bool AreFireExitsBlocked; [HarmonyPatch("TeleportPlayer")] [HarmonyPrefix] public static bool BlockEntrance(EntranceTeleport __instance) { if (AreFireExitsBlocked && __instance.entranceId != 0) { HUDManager.Instance.DisplayTip("Locked", "Something locked the fire exit?", false, false, "LC_Tip1"); return false; } return true; } } [HarmonyPatch(typeof(HUDManager))] internal class ChatPatch { [HarmonyPatch("SubmitChat_performed")] [HarmonyPrefix] private static void GameMasterCommands(HUDManager __instance) { if (__instance.chatTextField.text == "test") { MysteryDice.CustomLogger.LogMessage((object)"ENEMIES CURRENT:"); foreach (SpawnableEnemyWithRarity enemy in RoundManager.Instance.currentLevel.Enemies) { MysteryDice.CustomLogger.LogMessage((object)enemy.enemyType.enemyName); } } if (__instance.chatTextField.text == "dice") { MysteryDice.RegisteredEffects.First().Use(); } } } [HarmonyPatch(typeof(GameNetworkManager))] internal class GameNetworkManagerPatch { [HarmonyPostfix] [HarmonyPatch("Start")] public static void AddPrefab(ref GameNetworkManager __instance) { ((Component)__instance).GetComponent<NetworkManager>().AddNetworkPrefab(MysteryDice.NetworkerPrefab); } } [HarmonyPatch(typeof(Terminal))] internal class GetEnemies { public static SpawnableEnemyWithRarity Masked; public static SpawnableEnemyWithRarity HoardingBug; public static SpawnableEnemyWithRarity Centipede; public static SpawnableEnemyWithRarity Jester; public static SpawnableEnemyWithRarity Bracken; public static SpawnableEnemyWithRarity Stomper; [HarmonyPatch("Start")] [HarmonyPostfix] private static void GetEnemy(Terminal __instance) { SelectableLevel[] moonsCatalogueList = __instance.moonsCatalogueList; foreach (SelectableLevel val in moonsCatalogueList) { foreach (SpawnableEnemyWithRarity enemy in val.Enemies) { MysteryDice.CustomLogger.LogWarning((object)((Object)enemy.enemyType).name); if (enemy.enemyType.enemyName == "Masked") { Masked = enemy; } if (enemy.enemyType.enemyName == "Hoarding bug") { HoardingBug = enemy; } if (enemy.enemyType.enemyName == "Centipede") { Centipede = enemy; } if (enemy.enemyType.enemyName == "Jester") { Jester = enemy; } if (enemy.enemyType.enemyName == "Flowerman") { Bracken = enemy; } if (enemy.enemyType.enemyName == "Crawler") { Stomper = enemy; } } } } } [HarmonyPatch(typeof(RoundManager))] internal class RoundManagerPatch { public static List<Vector3> MapObjectsPositions = new List<Vector3>(); [HarmonyPostfix] [HarmonyPatch("Start")] public static void StartRoundManager(RoundManager __instance) { } [HarmonyPrefix] [HarmonyPatch("SpawnMapObjects")] public static void SpawnMapObjectsPatch(RoundManager __instance) { //IL_0060: 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) if (__instance.currentLevel.spawnableMapObjects.Length != 0) { Random random = new Random(StartOfRound.Instance.randomMapSeed + 587); __instance.mapPropsContainer = GameObject.FindGameObjectWithTag("MapPropsContainer"); RandomMapObject[] array = Object.FindObjectsOfType<RandomMapObject>(); RandomMapObject[] array2 = array; foreach (RandomMapObject val in array2) { MysteryDice.CustomLogger.LogError((object)((Component)val).transform.position); MysteryDice.CustomLogger.LogError((object)val.spawnRange); MapObjectsPositions.Add(((Component)val).transform.position); } } } } [HarmonyPatch(typeof(StartOfRound))] internal class StartOfRoundPatch { public static SpawnableMapObject SpawnableLandmine; [HarmonyPostfix] [HarmonyPatch("Start")] public static void InstantiateNetworker(StartOfRound __instance) { //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) if (NetworkManager.Singleton.IsHost || NetworkManager.Singleton.IsServer) { GameObject val = Object.Instantiate<GameObject>(MysteryDice.NetworkerPrefab, Vector3.zero, Quaternion.identity); val.GetComponent<NetworkObject>().Spawn(false); } } [HarmonyPostfix] [HarmonyPatch("StartGame")] public static void OnStartGame(StartOfRound __instance) { FireExitPatch.AreFireExitsBlocked = false; ModifyPitch.ResetPitch(); SpawnableMapObject[] spawnableMapObjects = __instance.currentLevel.spawnableMapObjects; foreach (SpawnableMapObject val in spawnableMapObjects) { if (((Object)val.prefabToSpawn).name == "Landmine") { SpawnableLandmine = val; break; } } } [HarmonyPostfix] [HarmonyPatch("EndGameClientRpc")] public static void OnEndGameClient(StartOfRound __instance) { ModifyPitch.ResetPitch(); } } } namespace MysteryDice.Effects { internal class ModifyPitch : IEffect { private const float PitchSwitchTime = 0.05f; private static float PitchSwitchTimer; public static bool FluctuatePitch; private static float CumulativeRandomFreq; public int[] DiceNums => new int[1] { 2 }; public bool ShowDefaultTooltip => true; public string Tooltip => "Good luck communicating"; public void Use() { Networker.Instance.ModifyPitchNotifyServerRPC(); } public static void ResetPitch() { FluctuatePitch = false; for (int i = 0; i < StartOfRound.Instance.allPlayerScripts.Length; i++) { SoundManager.Instance.SetPlayerPitch(1f, i); } } public static void PitchFluctuate() { if (!FluctuatePitch) { return; } CumulativeRandomFreq += Random.Range(-0.5f, 0.5f); CumulativeRandomFreq = Mathf.Clamp(CumulativeRandomFreq, -1f, 1f) * Time.deltaTime; PitchSwitchTimer -= Time.deltaTime; if (!(PitchSwitchTimer <= 0f)) { return; } PitchSwitchTimer = 0.05f; for (int i = 0; i < StartOfRound.Instance.allPlayerScripts.Length; i++) { if (StartOfRound.Instance.allPlayerScripts[i].isPlayerControlled && !StartOfRound.Instance.allPlayerScripts[i].isPlayerDead) { SoundManager.Instance.SetPlayerPitch(Misc.Map(Mathf.Sin((2f + CumulativeRandomFreq) * MathF.PI * Time.time + (float)i), -1f, 1f, 0.6f, 1.4f), i); } } } } internal class MineOverflowOutside : IEffect { public static int MaxMinesToSpawn = 80; public int[] DiceNums => new int[1] { 2 }; public bool ShowDefaultTooltip => true; public string Tooltip => "Mines spawned outside!"; public void Use() { Networker.Instance.MineOverflowOutsideServerRPC(); } public static void SpawnMoreMinesOutside() { //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_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_0076: 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_0082: 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_00b3: 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_00d1: 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_0104: 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) List<Vector3> list = new List<Vector3>(); int num = 0; Random random = new Random(StartOfRound.Instance.randomMapSeed); GameObject[] outsideAINodes = RoundManager.Instance.outsideAINodes; foreach (GameObject val in outsideAINodes) { Vector3 position = val.transform.position; for (int j = 0; j < 8; j++) { if (num > MaxMinesToSpawn) { return; } Vector3 randomNavMeshPositionInBoxPredictable = RoundManager.Instance.GetRandomNavMeshPositionInBoxPredictable(position, 15f, RoundManager.Instance.navHit, random, -1); MysteryDice.CustomLogger.LogWarning((object)randomNavMeshPositionInBoxPredictable); if (!(MineOverflow.GetShortestDistanceSqr(randomNavMeshPositionInBoxPredictable, list) < 1f)) { GameObject val2 = Object.Instantiate<GameObject>(StartOfRoundPatch.SpawnableLandmine.prefabToSpawn, randomNavMeshPositionInBoxPredictable, Quaternion.identity, RoundManager.Instance.mapPropsContainer.transform); list.Add(randomNavMeshPositionInBoxPredictable); val2.transform.eulerAngles = new Vector3(val2.transform.eulerAngles.x, (float)Random.Range(0, 360), val2.transform.eulerAngles.z); val2.GetComponent<NetworkObject>().Spawn(true); num++; } } } } } internal class MineOverflow : IEffect { public static int MaxMinesToSpawn = 50; public int[] DiceNums => new int[1] { 2 }; public bool ShowDefaultTooltip => true; public string Tooltip => "More mines spawned inside!"; public void Use() { Networker.Instance.MineOverflowServerRPC(); } public static void SpawnMoreMines() { //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) //IL_0055: 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_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_00a4: 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_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_00e6: 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) //IL_0119: 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) List<Vector3> list = new List<Vector3>(); int num = 0; Random random = new Random(StartOfRound.Instance.randomMapSeed); foreach (Vector3 mapObjectsPosition in RoundManagerPatch.MapObjectsPositions) { for (int i = 0; i < 8; i++) { if (num > MaxMinesToSpawn) { return; } Vector3 val = RoundManager.Instance.GetRandomNavMeshPositionInBoxPredictable(mapObjectsPosition, 10f, default(NavMeshHit), random, -5); if (i > 3) { val = RoundManager.Instance.insideAINodes[Random.Range(0, RoundManager.Instance.insideAINodes.Length)].transform.position; } if (!(GetShortestDistanceSqr(val, list) < 1f)) { GameObject val2 = Object.Instantiate<GameObject>(StartOfRoundPatch.SpawnableLandmine.prefabToSpawn, val, Quaternion.identity, RoundManager.Instance.mapPropsContainer.transform); list.Add(val); val2.transform.eulerAngles = new Vector3(val2.transform.eulerAngles.x, (float)Random.Range(0, 360), val2.transform.eulerAngles.z); val2.GetComponent<NetworkObject>().Spawn(true); num++; } } } } public static float GetShortestDistanceSqr(Vector3 position, List<Vector3> positions) { //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_001a: Unknown result type (might be due to invalid IL or missing references) //IL_001b: Unknown result type (might be due to invalid IL or missing references) //IL_001c: 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) float num = float.MaxValue; foreach (Vector3 position2 in positions) { Vector3 val = position - position2; float sqrMagnitude = ((Vector3)(ref val)).sqrMagnitude; if (sqrMagnitude < num) { num = sqrMagnitude; } } return num; } } internal class OutsideBracken : IEffect { public int[] DiceNums => new int[1] { 1 }; public bool ShowDefaultTooltip => true; public string Tooltip => "Spawned a bracken outside!"; public void Use() { Networker.Instance.OutsideBrackenServerRPC(); } public static void SpawnOutsideBracken() { if (GetEnemies.Bracken != null) { RoundManager.Instance.currentOutsideEnemyPower = 0; Misc.SpawnEnemyForced(GetEnemies.Bracken, 1, isInside: true); MysteryDice.CustomLogger.LogInfo((object)"SPAWNED BRACKEN1"); ((MonoBehaviour)Networker.Instance).StartCoroutine(DelayedBrackenTeleportOutside()); } } public static IEnumerator DelayedBrackenTeleportOutside() { yield return (object)new WaitForSeconds(3f); foreach (EnemyAI enemy in RoundManager.Instance.SpawnedEnemies) { if (!(enemy is FlowermanAI)) { continue; } FlowermanAI bracken = (FlowermanAI)enemy; EntranceTeleport[] allEntrances = Object.FindObjectsOfType<EntranceTeleport>(); EntranceTeleport mainEntrance = null; for (int i = 0; i < allEntrances.Length; i++) { if (allEntrances[i].isEntranceToBuilding) { mainEntrance = allEntrances[i]; break; } } if (!((Object)(object)mainEntrance == (Object)null)) { ((EnemyAI)bracken).allAINodes = GameObject.FindGameObjectsWithTag("OutsideAINode"); ((EnemyAI)bracken).isOutside = true; ((EnemyAI)bracken).ChangeOwnershipOfEnemy(GameNetworkManager.Instance.localPlayerController.actualClientId); ((EnemyAI)bracken).serverPosition = mainEntrance.entrancePoint.position; ((Component)bracken).transform.position = ((EnemyAI)bracken).serverPosition; ((EnemyAI)bracken).agent.Warp(((EnemyAI)bracken).serverPosition); ((EnemyAI)bracken).SyncPositionToClients(); ((EnemyAI)bracken).EnableEnemyMesh(true, false); continue; } yield break; } } public static void SetNavmeshBrackenClient() { //IL_002c: Unknown result type (might be due to invalid IL or missing references) //IL_0032: Expected O, but got Unknown foreach (EnemyAI spawnedEnemy in RoundManager.Instance.SpawnedEnemies) { if (spawnedEnemy is FlowermanAI) { FlowermanAI val = (FlowermanAI)spawnedEnemy; ((EnemyAI)val).allAINodes = GameObject.FindGameObjectsWithTag("OutsideAINode"); } } } } internal class InstaJester : IEffect { public int[] DiceNums => new int[1] { 1 }; public bool ShowDefaultTooltip => true; public string Tooltip => "Spawned a popped jester!"; public void Use() { Networker.Instance.InstaJesterServerRPC(); } public static void SpawnInstaJester() { //IL_0047: Unknown result type (might be due to invalid IL or missing references) //IL_004e: Expected O, but got Unknown if (GetEnemies.Jester == null) { return; } Misc.SpawnEnemyForced(GetEnemies.Jester, 1, isInside: true); foreach (EnemyAI spawnedEnemy in RoundManager.Instance.SpawnedEnemies) { if (spawnedEnemy is JesterAI) { JesterAI val = (JesterAI)spawnedEnemy; ((EnemyAI)val).SwitchToBehaviourState(1); ((MonoBehaviour)val).StartCoroutine(DelayPop(val)); } } } public static IEnumerator DelayPop(JesterAI jester) { yield return (object)new WaitForSeconds(1f); ((EnemyAI)jester).SwitchToBehaviourState(2); } } internal class BugPlague : IEffect { public int[] DiceNums => new int[1] { 2 }; public bool ShowDefaultTooltip => true; public string Tooltip => "Spawned a lot of bugs!"; public void Use() { int amount = Random.Range(15, 30); int amount2 = Random.Range(15, 30); if (GetEnemies.HoardingBug != null && GetEnemies.Centipede != null) { Misc.SpawnEnemyForced(GetEnemies.HoardingBug, amount2, isInside: true); Misc.SpawnEnemyForced(GetEnemies.Centipede, amount, isInside: true); } } } internal class FakeFireExits : IEffect { public int[] DiceNums => new int[1] { 2 }; public bool ShowDefaultTooltip => true; public string Tooltip => "More fire exits!"; public void Use() { Networker.Instance.FakeFireExitsServerRPC(); } } internal class FireExitBlock : IEffect { public int[] DiceNums => new int[1] { 2 }; public bool ShowDefaultTooltip => true; public string Tooltip => "Fire exit blocked!"; public void Use() { Networker.Instance.BlockFireExitsServerRPC(); } } internal class ReturnToShip : IEffect { public int[] DiceNums => new int[4] { 3, 4, 5, 6 }; public bool ShowDefaultTooltip => false; public string Tooltip => "Returning to ship with items!"; public void Use() { Networker.Instance.TeleportToShipServerRPC(StartOfRound.Instance.localPlayerController.playerClientId); } public static void TeleportPlayerToShip(ulong clientID) { //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_00ae: Unknown result type (might be due to invalid IL or missing references) PlayerControllerB val = null; GameObject[] allPlayerObjects = StartOfRound.Instance.allPlayerObjects; foreach (GameObject val2 in allPlayerObjects) { PlayerControllerB component = val2.GetComponent<PlayerControllerB>(); if (component.playerClientId == clientID) { val = component; break; } } if (!((Object)(object)val == (Object)null)) { if (Object.op_Implicit((Object)(object)Object.FindObjectOfType<AudioReverbPresets>())) { Object.FindObjectOfType<AudioReverbPresets>().audioPresets[3].ChangeAudioReverbForPlayer(val); } val.isInElevator = true; val.isInHangarShipRoom = true; val.isInsideFactory = false; val.averageVelocity = 0f; val.velocityLastFrame = Vector3.zero; val.TeleportPlayer(StartOfRound.Instance.middleOfShipNode.position, true, 160f, false, true); val.beamOutParticle.Play(); if ((Object)(object)val == (Object)(object)GameNetworkManager.Instance.localPlayerController) { HUDManager.Instance.ShakeCamera((ScreenShakeType)1); } } } } internal class TeleportInside : IEffect { public int[] DiceNums => new int[1] { 2 }; public bool IsNegative => true; public bool ShowDefaultTooltip => true; public string Tooltip => "Teleported inside"; public void Use() { //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_0059: Unknown result type (might be due to invalid IL or missing references) Vector3 position = RoundManager.Instance.insideAINodes[Random.Range(0, RoundManager.Instance.insideAINodes.Length)].transform.position; HUDManager.Instance.DisplayTip(":)", "", false, false, "LC_Tip1"); Networker.Instance.TeleportInsideServerRPC(StartOfRound.Instance.localPlayerController.playerClientId, position); } public static void TeleportPlayerInside(ulong clientID, Vector3 teleportPos) { //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_00a4: Unknown result type (might be due to invalid IL or missing references) PlayerControllerB val = null; GameObject[] allPlayerObjects = StartOfRound.Instance.allPlayerObjects; foreach (GameObject val2 in allPlayerObjects) { PlayerControllerB component = val2.GetComponent<PlayerControllerB>(); if (component.playerClientId == clientID) { val = component; break; } } if (!((Object)(object)val == (Object)null)) { if (Object.op_Implicit((Object)(object)Object.FindObjectOfType<AudioReverbPresets>())) { Object.FindObjectOfType<AudioReverbPresets>().audioPresets[2].ChangeAudioReverbForPlayer(val); } val.isInElevator = false; val.isInHangarShipRoom = false; val.isInsideFactory = true; val.averageVelocity = 0f; val.velocityLastFrame = Vector3.zero; val.TeleportPlayer(teleportPos, false, 0f, false, true); val.beamOutParticle.Play(); if ((Object)(object)val == (Object)(object)GameNetworkManager.Instance.localPlayerController) { HUDManager.Instance.ShakeCamera((ScreenShakeType)1); } } } } internal class ZombieApocalypse : IEffect { public int[] DiceNums => new int[1] { 1 }; public bool ShowDefaultTooltip => true; public string Tooltip => "Zombie apocalypse!"; public void Use() { int amount = Random.Range(8, 20); HUDManager.Instance.DisplayTip(":)", "", false, false, "LC_Tip1"); if (GetEnemies.Masked != null) { Misc.SpawnEnemyForced(GetEnemies.Masked, amount, isInside: true); } } } internal class Revive : IEffect { public int[] DiceNums => new int[4] { 3, 4, 5, 6 }; public bool IsNegative => false; public bool ShowDefaultTooltip => false; public string Tooltip => "Reviving everyone"; public void Use() { Networker.Instance.ReviveAllPlayersServerRpc(); } } internal class Detonate : IEffect { public int[] DiceNums => new int[1] { 1 }; public bool ShowDefaultTooltip => true; public string Tooltip => "A random player will soon explode"; public void Use() { Networker.Instance.DetonateRandomPlayerServerRpc(); } } public interface IEffect { int[] DiceNums { get; } bool ShowDefaultTooltip { get; } string Tooltip { get; } void Use(); } }