Decompiled source of Emergency Dice REPOED v1.0.10
RepoDice.dll
Decompiled 2 weeks ago
The result has been truncated due to the large size, download it to view full contents!
using System; using System.Collections; using System.Collections.Generic; using System.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 BepInEx; using BepInEx.Bootstrap; using BepInEx.Configuration; using BepInEx.Logging; using HarmonyLib; using Microsoft.CodeAnalysis; using MoreUpgrades; using MoreUpgrades.Classes; using Newtonsoft.Json; using Photon.Pun; using REPOLib.Modules; using RepoDice; using RepoDice.Dice; using RepoDice.Effects; using RepoDice.Patches; using RepoDice.Visual; using TMPro; using Unity.VisualScripting; using UnityEngine; using UnityEngine.EventSystems; using UnityEngine.Events; using UnityEngine.InputSystem; using UnityEngine.Rendering; 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: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")] [assembly: IgnoresAccessChecksTo("Assembly-CSharp-firstpass")] [assembly: IgnoresAccessChecksTo("Assembly-CSharp")] [assembly: IgnoresAccessChecksTo("Autodesk.Fbx")] [assembly: IgnoresAccessChecksTo("Facepunch.Steamworks.Win64")] [assembly: IgnoresAccessChecksTo("FbxBuildTestAssets")] [assembly: IgnoresAccessChecksTo("Klattersynth")] [assembly: IgnoresAccessChecksTo("Photon3Unity3D")] [assembly: IgnoresAccessChecksTo("PhotonChat")] [assembly: IgnoresAccessChecksTo("PhotonRealtime")] [assembly: IgnoresAccessChecksTo("PhotonUnityNetworking")] [assembly: IgnoresAccessChecksTo("PhotonUnityNetworking.Utilities")] [assembly: IgnoresAccessChecksTo("PhotonVoice.API")] [assembly: IgnoresAccessChecksTo("PhotonVoice")] [assembly: IgnoresAccessChecksTo("PhotonVoice.PUN")] [assembly: IgnoresAccessChecksTo("SingularityGroup.HotReload.Runtime")] [assembly: IgnoresAccessChecksTo("SingularityGroup.HotReload.Runtime.Public")] [assembly: IgnoresAccessChecksTo("Sirenix.OdinInspector.Attributes")] [assembly: IgnoresAccessChecksTo("Sirenix.Serialization.Config")] [assembly: IgnoresAccessChecksTo("Sirenix.Serialization")] [assembly: IgnoresAccessChecksTo("Sirenix.Utilities")] [assembly: IgnoresAccessChecksTo("Unity.AI.Navigation")] [assembly: IgnoresAccessChecksTo("Unity.Formats.Fbx.Runtime")] [assembly: IgnoresAccessChecksTo("Unity.InputSystem")] [assembly: IgnoresAccessChecksTo("Unity.InputSystem.ForUI")] [assembly: IgnoresAccessChecksTo("Unity.Postprocessing.Runtime")] [assembly: IgnoresAccessChecksTo("Unity.RenderPipelines.Core.Runtime")] [assembly: IgnoresAccessChecksTo("Unity.RenderPipelines.Core.ShaderLibrary")] [assembly: IgnoresAccessChecksTo("Unity.RenderPipelines.ShaderGraph.ShaderGraphLibrary")] [assembly: IgnoresAccessChecksTo("Unity.TextMeshPro")] [assembly: IgnoresAccessChecksTo("Unity.Timeline")] [assembly: IgnoresAccessChecksTo("Unity.VisualScripting.Antlr3.Runtime")] [assembly: IgnoresAccessChecksTo("Unity.VisualScripting.Core")] [assembly: IgnoresAccessChecksTo("Unity.VisualScripting.Flow")] [assembly: IgnoresAccessChecksTo("Unity.VisualScripting.State")] [assembly: IgnoresAccessChecksTo("UnityEngine.ARModule")] [assembly: IgnoresAccessChecksTo("UnityEngine.NVIDIAModule")] [assembly: IgnoresAccessChecksTo("UnityEngine.UI")] [assembly: IgnoresAccessChecksTo("websocket-sharp")] [assembly: AssemblyCompany("Slayer6409")] [assembly: AssemblyConfiguration("Debug")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0+815bb6c53c93a8e2ef17a27ada4cfa9a848b5d7c")] [assembly: AssemblyProduct("RepoDice")] [assembly: AssemblyTitle("RepoDice")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.0.0.0")] [module: UnverifiableCode] [module: RefSafetyRules(11)] namespace Microsoft.CodeAnalysis { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] internal sealed class EmbeddedAttribute : Attribute { } } namespace System.Runtime.CompilerServices { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.Class | AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Event | AttributeTargets.Parameter | AttributeTargets.ReturnValue | AttributeTargets.GenericParameter, AllowMultiple = false, Inherited = false)] internal sealed class NullableAttribute : Attribute { public readonly byte[] NullableFlags; public NullableAttribute(byte P_0) { NullableFlags = new byte[1] { P_0 }; } public NullableAttribute(byte[] P_0) { NullableFlags = P_0; } } [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Method | AttributeTargets.Interface | AttributeTargets.Delegate, AllowMultiple = false, Inherited = false)] internal sealed class NullableContextAttribute : Attribute { public readonly byte Flag; public NullableContextAttribute(byte P_0) { Flag = P_0; } } [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.Module, AllowMultiple = false, Inherited = false)] internal sealed class RefSafetyRulesAttribute : Attribute { public readonly int Version; public RefSafetyRulesAttribute(int P_0) { Version = P_0; } } } public class CycleSigns : MonoBehaviour { private class DiceVisuals { public Sprite Sprite; public Color ModelColor; public Color EmissionColor; public float Emission; public DiceVisuals(Sprite sprite, Color color, Color emissionColor, float emission) { //IL_0010: Unknown result type (might be due to invalid IL or missing references) //IL_0011: Unknown result type (might be due to invalid IL or missing references) //IL_0017: Unknown result type (might be due to invalid IL or missing references) //IL_0018: Unknown result type (might be due to invalid IL or missing references) Sprite = sprite; ModelColor = color; EmissionColor = emissionColor; Emission = emission; } } public float CycleTime = 1f; private float CurrentTimer = 0f; private int CurrentSprite = 0; private bool Stop = false; private SpriteRenderer SignSpriteRenderer; private SpriteRenderer SignSpriteRenderer2; private SpriteRenderer SignSpriteRenderer3; private Renderer DiceRenderer; private List<DiceVisuals> Visuals = new List<DiceVisuals>(); private void Start() { //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_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_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_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) Visuals.Add(new DiceVisuals(global::RepoDice.RepoDice.WarningExclamation, Color.yellow, Color.yellow, 40f)); Visuals.Add(new DiceVisuals(global::RepoDice.RepoDice.WarningDeath, Color.red, Color.red, 100f)); Visuals.Add(new DiceVisuals(global::RepoDice.RepoDice.WarningLuck, Color.green, Color.green, 300f)); if (Misc.isGlitchOrConfig()) { Visuals.Add(new DiceVisuals(global::RepoDice.RepoDice.WarningGlitch, Color.magenta, Color.magenta, 300f)); } SignSpriteRenderer = ((Component)((Component)this).transform.Find("Emergency Sign")).gameObject.GetComponent<SpriteRenderer>(); SignSpriteRenderer2 = ((Component)((Component)this).transform.Find("Emergency Sign2")).gameObject.GetComponent<SpriteRenderer>(); DiceRenderer = ((Component)this).gameObject.GetComponent<Renderer>(); } private void Update() { if (!Stop) { CurrentTimer -= Time.deltaTime; if (CurrentTimer <= 0f) { CurrentTimer = CycleTime; CycleSprite(); } } } private void CycleSprite() { //IL_0095: 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_00dc: Unknown result type (might be due to invalid IL or missing references) CurrentSprite++; if (CurrentSprite >= Visuals.Count) { CurrentSprite = 0; } SignSpriteRenderer.sprite = Visuals[CurrentSprite].Sprite; SignSpriteRenderer2.sprite = Visuals[CurrentSprite].Sprite; DiceRenderer.material.SetColor("_Color", Visuals[CurrentSprite].ModelColor); DiceRenderer.material.SetColor("_EmissionColor", Visuals[CurrentSprite].EmissionColor * Visuals[CurrentSprite].Emission); } public void HideSigns() { Stop = true; ((Renderer)((Component)SignSpriteRenderer).GetComponent<SpriteRenderer>()).enabled = false; ((Renderer)((Component)SignSpriteRenderer2).GetComponent<SpriteRenderer>()).enabled = false; } } namespace RepoDice { public class DebugMenu : MonoBehaviour { public class RightClickHandler2 : MonoBehaviour, IPointerClickHandler, IEventSystemHandler { public string effectName; public string category; public bool fromSaint = false; public void OnPointerClick(PointerEventData eventData) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Invalid comparison between Unknown and I4 if ((int)eventData.button == 1) { FavoriteEffectManager.FavoriteData favoriteData = FavoriteEffectManager.LoadFavorites(); switch (category) { case "Favorites": ToggleFavorite(effectName, favoriteData.Favorites); break; case "FavoriteScraps": ToggleFavorite(effectName, favoriteData.FavoriteScraps); break; case "FavoriteShopItems": ToggleFavorite(effectName, favoriteData.FavoriteShopItems); break; } FavoriteEffectManager.SaveFavorites(favoriteData); clearMainViewport(); switch (category) { case "Favorites": ShowSelectMenu(fromSaint); break; case "FavoriteScraps": spawnScrap(); break; case "FavoriteShopItems": spawnShopItems(); break; } } } private void ToggleFavorite(string name, List<string> favorites) { if (favorites.Contains(name)) { favorites.Remove(name); } else { favorites.Add(name); } } } [Serializable] [CompilerGenerated] private sealed class <>c { public static readonly <>c <>9 = new <>c(); public static Action<CallbackContext> <>9__19_0; public static UnityAction <>9__19_2; public static UnityAction <>9__19_3; public static UnityAction <>9__19_4; public static UnityAction <>9__19_5; public static UnityAction <>9__20_0; public static UnityAction <>9__20_1; public static UnityAction <>9__20_2; public static Func<PlayerAvatar, string> <>9__21_0; public static Func<IGrouping<string, PlayerAvatar>, PlayerAvatar> <>9__21_1; public static Func<PlayerAvatar, string> <>9__21_2; public static UnityAction<bool> <>9__23_0; public static UnityAction<bool> <>9__23_1; public static UnityAction <>9__23_3; public static Action<CallbackContext> <>9__24_0; public static Func<IEffect, string> <>9__29_1; public static UnityAction <>9__31_0; public static UnityAction <>9__31_1; public static UnityAction <>9__31_2; public static UnityAction <>9__31_3; public static UnityAction <>9__31_4; public static Func<EnemySetup, string> <>9__32_0; public static Func<IGrouping<string, EnemySetup>, EnemySetup> <>9__32_1; public static Func<EnemySetup, string> <>9__32_3; public static Func<Item, string> <>9__33_0; public static Func<IGrouping<string, Item>, Item> <>9__33_1; public static Func<Item, string> <>9__33_3; public static UnityAction <>9__34_1; public static UnityAction <>9__34_0; public static UnityAction <>9__34_2; public static Func<KeyValuePair<string, AudioClip>, string> <>9__35_0; public static UnityAction <>9__37_0; public static Func<string, string> <>9__39_1; internal void <showDebugMenu>b__19_0(CallbackContext ctx) { CloseSelectMenu(); } internal void <showDebugMenu>b__19_2() { clearMainViewport(); ShowSelectMenu(); } internal void <showDebugMenu>b__19_3() { clearSubViewport(); spawnFunctions(); } internal void <showDebugMenu>b__19_4() { clearSubViewport(); playerFunctions(); } internal void <showDebugMenu>b__19_5() { clearSubViewport(); specialFunctions(isSpecial()); } internal void <playerFunctions>b__20_0() { clearMainViewport(); RevivePlayer(); } internal void <playerFunctions>b__20_1() { clearMainViewport(); TeleportPlayer(); } internal void <playerFunctions>b__20_2() { clearMainViewport(); TeleportPlayer(bring: true); } internal string <TeleportPlayer>b__21_0(PlayerAvatar x) { return x.playerName; } internal PlayerAvatar <TeleportPlayer>b__21_1(IGrouping<string, PlayerAvatar> g) { return g.First(); } internal string <TeleportPlayer>b__21_2(PlayerAvatar x) { return x.playerName; } internal void <setupButtons>b__23_0(bool isOn) { RepoDice.DebugMenuColorUsesPlayerColor.Value = isOn; } internal void <setupButtons>b__23_1(bool isOn) { RepoDice.DebugMenuClosesAfter.Value = !isOn; } internal void <setupButtons>b__23_3() { CloseSelectMenu(force: true); } internal void <ShowSelectEffectMenu>b__24_0(CallbackContext ctx) { CloseSelectMenu(); } internal string <getOrdered>b__29_1(IEffect effect) { return effect.Name; } internal void <spawnFunctions>b__31_0() { //IL_0007: Unknown result type (might be due to invalid IL or missing references) clearMainViewport(); spawnEnemy(Vector3.one); } internal void <spawnFunctions>b__31_1() { //IL_0016: Unknown result type (might be due to invalid IL or missing references) clearMainViewport(); spawnEnemy(new Vector3(2.5f, 2.5f, 2.5f)); } internal void <spawnFunctions>b__31_2() { //IL_0016: Unknown result type (might be due to invalid IL or missing references) clearMainViewport(); spawnEnemy(new Vector3(0.5f, 0.5f, 0.5f)); } internal void <spawnFunctions>b__31_3() { clearMainViewport(); spawnScrap(); } internal void <spawnFunctions>b__31_4() { clearMainViewport(); spawnShopItems(); } internal string <spawnEnemy>b__32_0(EnemySetup x) { return ((Object)x).name; } internal EnemySetup <spawnEnemy>b__32_1(IGrouping<string, EnemySetup> g) { return g.First(); } internal string <spawnEnemy>b__32_3(EnemySetup e) { return ((Object)e).name; } internal string <spawnShopItems>b__33_0(Item x) { return x.itemName; } internal Item <spawnShopItems>b__33_1(IGrouping<string, Item> g) { return g.First(); } internal string <spawnShopItems>b__33_3(Item s) { return s.itemName; } internal void <specialFunctions>b__34_1() { clearMainViewport(); ShowSoundMenu(); } internal void <specialFunctions>b__34_0() { clearMainViewport(); poiTeleports(); } internal void <specialFunctions>b__34_2() { clearMainViewport(); jail(); } internal string <ShowSoundMenu>b__35_0(KeyValuePair<string, AudioClip> x) { return x.Key; } internal void <poiTeleports>b__37_0() { //IL_003f: 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) ((MonoBehaviourPun)Networker.Instance).photonView.RPC("ForceTeleportRPC", (RpcTarget)0, new object[3] { PlayerAvatar.instance.photonView.ViewID, ((Component)LevelGenerator.Instance.LevelPathTruck).transform.position, ((Component)LevelGenerator.Instance.LevelPathTruck).transform.rotation }); CloseSelectMenu(); } internal string <spawnScrap>b__39_1(string s) { return s; } } public static Color mainColor = new Color(13f / 85f, 0f, 27f / 85f, 1f); public static Color ButtonColor = new Color(0.6430231f, 0.2783019f, 1f, 1f); public static Color TextColor = new Color(0.9607844f, 43f / 85f, 0.9803922f, 1f); public static Color FavoriteTextColor = new Color(0.9607844f, 0.2058824f, 0.2803922f, 1f); public static Color BackgroundColor = new Color(0.6039216f, 0.2392157f, 1f, 0.2f); public static Color AccentColor = new Color(0.6078432f, 0.2588235f, 0.9921569f, 0.4627451f); public static GameObject EffectMenu = null; public static bool ran; public static List<Image> backgroundImages = new List<Image>(); public static List<Image> accentImages = new List<Image>(); public static List<Image> buttonImages = new List<Image>(); public static List<TMP_Text> textElements = new List<TMP_Text>(); public static List<Text> textElements2 = new List<Text>(); public static Transform mainScrollContent; public static Transform subScrollContent; public static void SetupColors() { //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_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_0093: 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_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_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_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) //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_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_00cf: 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_0043: Unknown result type (might be due to invalid IL or missing references) if (!RepoDice.DebugMenuColorUsesPlayerColor.Value) { if (!ColorUtility.TryParseHtmlString(RepoDice.DebugMenuColor.Value, ref mainColor)) { ColorUtility.TryParseHtmlString("#270051", ref mainColor); } BackgroundColor = mainColor; BackgroundColor.a = 0.46f; } else { mainColor = PlayerAvatar.instance.playerAvatarVisuals.color; BackgroundColor = PlayerAvatar.instance.playerAvatarVisuals.color; BackgroundColor.a = 0.46f; } (Color brighter, Color darker) tuple = ColorHelper.GenerateColors(mainColor); Color item = tuple.brighter; Color item2 = tuple.darker; ButtonColor = item; AccentColor = item2; TextColor = ColorHelper.GetReadableTextColor(mainColor); FavoriteTextColor = ColorHelper.GetEmphasisTextColor(mainColor); } public static void setupElements() { buttonImages.Add(RepoDice.DebugSubButtonPrefab.GetComponent<Image>()); buttonImages.Add(RepoDice.DebugMenuButtonPrefab.GetComponent<Image>()); textElements.Add(RepoDice.DebugSubButtonPrefab.GetComponentInChildren<TMP_Text>()); textElements.Add(RepoDice.DebugMenuButtonPrefab.GetComponentInChildren<TMP_Text>()); buttonImages.Add(((Component)RepoDice.DebugMenuPrefab.transform.Find("DebugMenu/Background/Scroll View/Scrollbar Vertical")).GetComponent<Image>()); buttonImages.Add(((Component)RepoDice.DebugMenuPrefab.transform.Find("DebugMenu/Background/ClearButton")).GetComponent<Image>()); backgroundImages.Add(((Component)RepoDice.DebugMenuPrefab.transform.Find("DebugMenu/TopPart")).GetComponent<Image>()); backgroundImages.Add(((Component)RepoDice.DebugMenuPrefab.transform.Find("DebugMenu/Background/Image")).GetComponent<Image>()); backgroundImages.Add(((Component)RepoDice.DebugMenuPrefab.transform.Find("DebugMenu/Background")).GetComponent<Image>()); accentImages.Add(((Component)RepoDice.DebugMenuPrefab.transform.Find("DebugMenu/Background/Border")).GetComponent<Image>()); accentImages.Add(((Component)RepoDice.DebugMenuPrefab.transform.Find("DebugMenu/Background/Scroll View")).GetComponent<Image>()); textElements.Add(((Component)RepoDice.DebugMenuPrefab.transform.Find("DebugMenu/TopPart/Border/Title")).GetComponent<TMP_Text>()); accentImages.Add(((Component)RepoDice.DebugMenuPrefab.transform.Find("DebugMenu/TopPart/Border")).GetComponent<Image>()); buttonImages.Add(((Component)RepoDice.DebugMenuPrefab.transform.Find("DebugMenu/Select Effect")).GetComponent<Image>()); textElements.Add(((Component)RepoDice.DebugMenuPrefab.transform.Find("DebugMenu/Select Effect/Text (TMP)")).GetComponent<TMP_Text>()); textElements.Add(((Component)RepoDice.DebugMenuPrefab.transform.Find("DebugMenu/Background/ClearButton/Text (TMP)")).GetComponent<TMP_Text>()); buttonImages.Add(((Component)RepoDice.DebugMenuPrefab.transform.Find("DebugMenu/Spawn Menu")).GetComponent<Image>()); textElements.Add(((Component)RepoDice.DebugMenuPrefab.transform.Find("DebugMenu/Spawn Menu/Text (TMP)")).GetComponent<TMP_Text>()); buttonImages.Add(((Component)RepoDice.DebugMenuPrefab.transform.Find("DebugMenu/Player Functions")).GetComponent<Image>()); textElements.Add(((Component)RepoDice.DebugMenuPrefab.transform.Find("DebugMenu/Player Functions/Text (TMP)")).GetComponent<TMP_Text>()); buttonImages.Add(((Component)RepoDice.DebugMenuPrefab.transform.Find("DebugMenu/Special Functions")).GetComponent<Image>()); textElements.Add(((Component)RepoDice.DebugMenuPrefab.transform.Find("DebugMenu/Special Functions/Text (TMP)")).GetComponent<TMP_Text>()); buttonImages.Add(((Component)RepoDice.DebugMenuPrefab.transform.Find("DebugMenu/Grant Admin")).GetComponent<Image>()); textElements.Add(((Component)RepoDice.DebugMenuPrefab.transform.Find("DebugMenu/Grant Admin/Text (TMP)")).GetComponent<TMP_Text>()); accentImages.Add(((Component)RepoDice.DebugMenuPrefab.transform.Find("DebugMenu/Scroll View")).GetComponent<Image>()); textElements2.Add(((Component)RepoDice.DebugMenuPrefab.transform.Find("DebugMenu/KeepOpen/Label")).GetComponent<Text>()); textElements2.Add(((Component)RepoDice.DebugMenuPrefab.transform.Find("DebugMenu/Bald/Label")).GetComponent<Text>()); textElements.Add(((Component)RepoDice.SelectMenuPrefab.transform.Find("DebugMenu/ColorPlayer/Label")).GetComponent<TMP_Text>()); setupSelectElements(); ran = true; } public static void setupSelectElements() { buttonImages.Add(((Component)RepoDice.SelectMenuPrefab.transform.Find("DebugMenu/Background/Scroll View/Scrollbar Vertical")).GetComponent<Image>()); buttonImages.Add(((Component)RepoDice.SelectMenuPrefab.transform.Find("DebugMenu/Background/ClearButton")).GetComponent<Image>()); backgroundImages.Add(((Component)RepoDice.SelectMenuPrefab.transform.Find("DebugMenu/TopPart")).GetComponent<Image>()); backgroundImages.Add(((Component)RepoDice.SelectMenuPrefab.transform.Find("DebugMenu/Background/Image")).GetComponent<Image>()); backgroundImages.Add(((Component)RepoDice.SelectMenuPrefab.transform.Find("DebugMenu/Background")).GetComponent<Image>()); accentImages.Add(((Component)RepoDice.SelectMenuPrefab.transform.Find("DebugMenu/Background/Border")).GetComponent<Image>()); accentImages.Add(((Component)RepoDice.SelectMenuPrefab.transform.Find("DebugMenu/Background/Scroll View")).GetComponent<Image>()); textElements.Add(((Component)RepoDice.SelectMenuPrefab.transform.Find("DebugMenu/TopPart/Border/Title")).GetComponent<TMP_Text>()); accentImages.Add(((Component)RepoDice.SelectMenuPrefab.transform.Find("DebugMenu/TopPart/Border")).GetComponent<Image>()); textElements.Add(((Component)RepoDice.SelectMenuPrefab.transform.Find("DebugMenu/Background/ClearButton/Text (TMP)")).GetComponent<TMP_Text>()); textElements2.Add(((Component)RepoDice.SelectMenuPrefab.transform.Find("DebugMenu/Bald/Label")).GetComponent<Text>()); textElements.Add(((Component)RepoDice.SelectMenuPrefab.transform.Find("DebugMenu/KeepOpen/Label")).GetComponent<TMP_Text>()); textElements.Add(((Component)RepoDice.SelectMenuPrefab.transform.Find("DebugMenu/ColorPlayer/Label")).GetComponent<TMP_Text>()); } public static void setColors() { //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_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_0041: 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_005b: 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_0075: 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_009c: 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_0100: 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_0182: 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) ColorBlock colors = ((Selectable)((Component)RepoDice.DebugMenuPrefab.transform.Find("DebugMenu/Background/Scroll View/Scrollbar Vertical")).GetComponent<Scrollbar>()).colors; ColorBlock colors2 = ((Selectable)((Component)RepoDice.SelectMenuPrefab.transform.Find("DebugMenu/Background/Scroll View/Scrollbar Vertical")).GetComponent<Scrollbar>()).colors; ((ColorBlock)(ref colors)).normalColor = TextColor; ((ColorBlock)(ref colors)).highlightedColor = TextColor; ((ColorBlock)(ref colors)).pressedColor = TextColor; ((ColorBlock)(ref colors)).selectedColor = TextColor; ((ColorBlock)(ref colors2)).normalColor = TextColor; ((ColorBlock)(ref colors2)).highlightedColor = TextColor; ((ColorBlock)(ref colors2)).pressedColor = TextColor; ((ColorBlock)(ref colors2)).selectedColor = TextColor; foreach (Image buttonImage in buttonImages) { ((Graphic)buttonImage).color = ButtonColor; } foreach (TMP_Text textElement in textElements) { ((Graphic)textElement).color = TextColor; } foreach (Text item in textElements2) { ((Graphic)item).color = TextColor; } foreach (Image accentImage in accentImages) { ((Graphic)accentImage).color = AccentColor; } foreach (Image backgroundImage in backgroundImages) { ((Graphic)backgroundImage).color = BackgroundColor; } } public static void showDebugMenu() { //IL_0060: Unknown result type (might be due to invalid IL or missing references) //IL_0066: Expected O, but got Unknown //IL_00d3: 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_00fd: 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_01d8: Expected O, but got Unknown //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_0254: Expected O, but got Unknown //IL_02ab: 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_02b6: Expected O, but got Unknown //IL_030d: Unknown result type (might be due to invalid IL or missing references) //IL_0312: Unknown result type (might be due to invalid IL or missing references) //IL_0318: Expected O, but got Unknown //IL_0354: Unknown result type (might be due to invalid IL or missing references) //IL_0359: Unknown result type (might be due to invalid IL or missing references) //IL_035f: Expected O, but got Unknown SetupColors(); if (!ran) { setupElements(); } if (ran) { setColors(); } if ((Object)(object)EffectMenu != (Object)null) { Object.Destroy((Object)(object)EffectMenu); EffectMenu = null; } InputAction val = new InputAction((string)null, (InputActionType)0, "<Keyboard>/escape", (string)null, (string)null, (string)null); val.performed += delegate { CloseSelectMenu(); }; val.Enable(); EffectMenu = Object.Instantiate<GameObject>(RepoDice.DebugMenuPrefab); Canvas component = EffectMenu.GetComponent<Canvas>(); component.renderMode = (RenderMode)0; component.overrideSorting = true; component.sortingOrder = 999; EffectMenu.transform.localPosition = Vector3.zero; EffectMenu.transform.localScale = Vector3.one; EffectMenu.transform.localRotation = Quaternion.identity; if ((Object)(object)EffectMenu == (Object)null) { Debug.LogError((object)"EffectMenu is null after instantiation!"); return; } subScrollContent = EffectMenu.transform.Find("DebugMenu/Scroll View/Viewport/Content"); mainScrollContent = EffectMenu.transform.Find("DebugMenu/Background/Scroll View/Viewport/Content"); TMP_InputField searchInput = ((Component)EffectMenu.transform.Find("DebugMenu/Background/SearchField")).GetComponent<TMP_InputField>(); ((UnityEvent<string>)(object)searchInput.onValueChanged).AddListener((UnityAction<string>)FilterItems); Button component2 = ((Component)EffectMenu.transform.Find("DebugMenu/Background/ClearButton")).GetComponent<Button>(); ((UnityEvent)component2.onClick).AddListener((UnityAction)delegate { searchInput.text = ""; }); DebugMenuController debugMenuController = EffectMenu.AddComponent<DebugMenuController>(); debugMenuController.EffectMenu = EffectMenu; setupButtons(); Button component3 = ((Component)EffectMenu.transform.Find("DebugMenu/Select Effect")).GetComponent<Button>(); TMP_Text component4 = ((Component)EffectMenu.transform.Find("DebugMenu/Select Effect/Text (TMP)")).GetComponent<TMP_Text>(); ButtonClickedEvent onClick = component3.onClick; object obj = <>c.<>9__19_2; if (obj == null) { UnityAction val2 = delegate { clearMainViewport(); ShowSelectMenu(); }; <>c.<>9__19_2 = val2; obj = (object)val2; } ((UnityEvent)onClick).AddListener((UnityAction)obj); Button component5 = ((Component)EffectMenu.transform.Find("DebugMenu/Spawn Menu")).GetComponent<Button>(); TMP_Text component6 = ((Component)EffectMenu.transform.Find("DebugMenu/Spawn Menu/Text (TMP)")).GetComponent<TMP_Text>(); ButtonClickedEvent onClick2 = component5.onClick; object obj2 = <>c.<>9__19_3; if (obj2 == null) { UnityAction val3 = delegate { clearSubViewport(); spawnFunctions(); }; <>c.<>9__19_3 = val3; obj2 = (object)val3; } ((UnityEvent)onClick2).AddListener((UnityAction)obj2); Button component7 = ((Component)EffectMenu.transform.Find("DebugMenu/Player Functions")).GetComponent<Button>(); TMP_Text component8 = ((Component)EffectMenu.transform.Find("DebugMenu/Player Functions/Text (TMP)")).GetComponent<TMP_Text>(); ButtonClickedEvent onClick3 = component7.onClick; object obj3 = <>c.<>9__19_4; if (obj3 == null) { UnityAction val4 = delegate { clearSubViewport(); playerFunctions(); }; <>c.<>9__19_4 = val4; obj3 = (object)val4; } ((UnityEvent)onClick3).AddListener((UnityAction)obj3); Button component9 = ((Component)EffectMenu.transform.Find("DebugMenu/Special Functions")).GetComponent<Button>(); ButtonClickedEvent onClick4 = component9.onClick; object obj4 = <>c.<>9__19_5; if (obj4 == null) { UnityAction val5 = delegate { clearSubViewport(); specialFunctions(isSpecial()); }; <>c.<>9__19_5 = val5; obj4 = (object)val5; } ((UnityEvent)onClick4).AddListener((UnityAction)obj4); Button component10 = ((Component)EffectMenu.transform.Find("DebugMenu/Grant Admin")).GetComponent<Button>(); Object.Destroy((Object)(object)((Component)component10).gameObject); Cursor.visible = true; Cursor.lockState = (CursorLockMode)0; } public static void playerFunctions() { //IL_0061: 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_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_00cf: Expected O, but got Unknown //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) //IL_0132: Expected O, but got Unknown Transform val = EffectMenu.transform.Find("DebugMenu/Scroll View/Viewport/Content"); GameObject val2 = Object.Instantiate<GameObject>(RepoDice.DebugSubButtonPrefab, val); TMP_Text component = ((Component)val2.transform.GetChild(0)).GetComponent<TMP_Text>(); component.text = "Revive Player"; Button component2 = val2.GetComponent<Button>(); ButtonClickedEvent onClick = component2.onClick; object obj = <>c.<>9__20_0; if (obj == null) { UnityAction val3 = delegate { clearMainViewport(); RevivePlayer(); }; <>c.<>9__20_0 = val3; obj = (object)val3; } ((UnityEvent)onClick).AddListener((UnityAction)obj); GameObject val4 = Object.Instantiate<GameObject>(RepoDice.DebugSubButtonPrefab, val); TMP_Text component3 = ((Component)val4.transform.GetChild(0)).GetComponent<TMP_Text>(); component3.text = "Teleport to Player"; Button component4 = val4.GetComponent<Button>(); ButtonClickedEvent onClick2 = component4.onClick; object obj2 = <>c.<>9__20_1; if (obj2 == null) { UnityAction val5 = delegate { clearMainViewport(); TeleportPlayer(); }; <>c.<>9__20_1 = val5; obj2 = (object)val5; } ((UnityEvent)onClick2).AddListener((UnityAction)obj2); GameObject val6 = Object.Instantiate<GameObject>(RepoDice.DebugSubButtonPrefab, val); TMP_Text component5 = ((Component)val6.transform.GetChild(0)).GetComponent<TMP_Text>(); component5.text = "Bring Player"; Button component6 = val6.GetComponent<Button>(); ButtonClickedEvent onClick3 = component6.onClick; object obj3 = <>c.<>9__20_2; if (obj3 == null) { UnityAction val7 = delegate { clearMainViewport(); TeleportPlayer(bring: true); }; <>c.<>9__20_2 = val7; obj3 = (object)val7; } ((UnityEvent)onClick3).AddListener((UnityAction)obj3); } public static void TeleportPlayer(bool bring = false) { //IL_0139: Unknown result type (might be due to invalid IL or missing references) //IL_0143: Expected O, but got Unknown Transform val = EffectMenu.transform.Find("DebugMenu/Background/Scroll View/Viewport/Content"); List<PlayerAvatar> source = SemiFunc.PlayerGetAll(); source = (from x in source group x by x.playerName into g select g.First() into x orderby x.playerName select x).ToList(); foreach (PlayerAvatar player in source) { if (player.playerHealth.health < 1) { continue; } GameObject val2 = Object.Instantiate<GameObject>(RepoDice.DebugMenuButtonPrefab, val); TMP_Text component = ((Component)val2.transform.GetChild(0)).GetComponent<TMP_Text>(); component.text = player.playerName ?? ""; Button component2 = val2.GetComponent<Button>(); ((UnityEvent)component2.onClick).AddListener((UnityAction)delegate { //IL_0099: 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_00c2: 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_006f: Unknown result type (might be due to invalid IL or missing references) CloseSelectMenu(); PlayerAvatar instance = PlayerAvatar.instance; if (instance.playerHealth.health <= 0 && bring) { Networker.Instance.ForceTeleportRPC(player.photonView.ViewID, ((Component)instance).transform.position + new Vector3(0f, 1f, 0f), ((Component)instance).transform.rotation); } else { Networker.Instance.ForceTeleportRPC(instance.photonView.ViewID, ((Component)player).transform.position + new Vector3(0f, 1f, 0f), ((Component)player).transform.rotation); } }); } } public static bool isSpecial() { if (PlayerAvatar.instance.steamID == RepoDice.slayerSteamID) { return true; } if (PlayerAvatar.instance.steamID == RepoDice.glitchSteamID) { return true; } if (PlayerAvatar.instance.steamID == RepoDice.lizzieSteamID) { return true; } return false; } public static void setupButtons(bool fromSaint = false) { //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_01b0: Expected O, but got Unknown Toggle component = ((Component)EffectMenu.transform.Find("DebugMenu/ColorPlayer")).GetComponent<Toggle>(); component.isOn = RepoDice.DebugMenuColorUsesPlayerColor.Value; Toggle component2 = ((Component)EffectMenu.transform.Find("DebugMenu/KeepOpen")).GetComponent<Toggle>(); if (fromSaint) { ((Component)component2).gameObject.SetActive(false); } component2.isOn = !RepoDice.DebugMenuClosesAfter.Value; ((UnityEvent<bool>)(object)component.onValueChanged).AddListener((UnityAction<bool>)delegate(bool isOn) { RepoDice.DebugMenuColorUsesPlayerColor.Value = isOn; }); if (((Component)component2).gameObject.activeInHierarchy) { ((UnityEvent<bool>)(object)component2.onValueChanged).AddListener((UnityAction<bool>)delegate(bool isOn) { RepoDice.DebugMenuClosesAfter.Value = !isOn; }); } Toggle component3 = ((Component)EffectMenu.transform.Find("DebugMenu/Bald")).GetComponent<Toggle>(); component3.isOn = RepoDice.Bald.Value; GameObject BaldImage = ((Component)EffectMenu.transform.Find("DebugMenu/Background/Image")).gameObject; ((UnityEvent<bool>)(object)component3.onValueChanged).AddListener((UnityAction<bool>)delegate(bool isOn) { RepoDice.Bald.Value = isOn; BaldImage.SetActive(isOn); }); if (RepoDice.Bald.Value) { BaldImage.SetActive(true); } else { BaldImage.SetActive(false); } Button component4 = ((Component)EffectMenu.transform.Find("DebugMenu/CloseButton")).GetComponent<Button>(); ButtonClickedEvent onClick = component4.onClick; object obj = <>c.<>9__23_3; if (obj == null) { UnityAction val = delegate { CloseSelectMenu(force: true); }; <>c.<>9__23_3 = val; obj = (object)val; } ((UnityEvent)onClick).AddListener((UnityAction)obj); } public static void ShowSelectEffectMenu(bool fromSaint = false) { //IL_0098: 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_00c2: 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_00f6: Expected O, but got Unknown //IL_0195: Unknown result type (might be due to invalid IL or missing references) //IL_019f: Expected O, but got Unknown SetupColors(); if (!ran) { setupElements(); } if (ran) { setColors(); } if ((Object)(object)EffectMenu != (Object)null) { Object.Destroy((Object)(object)EffectMenu); EffectMenu = null; } EffectMenu = Object.Instantiate<GameObject>(RepoDice.SelectMenuPrefab, (Transform)null, false); Canvas component = EffectMenu.GetComponent<Canvas>(); component.renderMode = (RenderMode)0; component.overrideSorting = true; component.sortingOrder = 999; EffectMenu.transform.localPosition = Vector3.zero; EffectMenu.transform.localScale = Vector3.one; EffectMenu.transform.localRotation = Quaternion.identity; mainScrollContent = EffectMenu.transform.Find("DebugMenu/Background/Scroll View/Viewport/Content"); InputAction val = new InputAction((string)null, (InputActionType)0, "<Keyboard>/escape", (string)null, (string)null, (string)null); val.performed += delegate { CloseSelectMenu(); }; val.Enable(); TMP_InputField searchInput = ((Component)EffectMenu.transform.Find("DebugMenu/Background/SearchField")).GetComponent<TMP_InputField>(); ((UnityEvent<string>)(object)searchInput.onValueChanged).AddListener((UnityAction<string>)FilterItems); Button component2 = ((Component)EffectMenu.transform.Find("DebugMenu/Background/ClearButton")).GetComponent<Button>(); ((UnityEvent)component2.onClick).AddListener((UnityAction)delegate { searchInput.text = ""; }); if ((Object)(object)EffectMenu == (Object)null) { Debug.LogError((object)"EffectMenu is null after instantiation!"); return; } DebugMenuController debugMenuController = EffectMenu.AddComponent<DebugMenuController>(); debugMenuController.EffectMenu = EffectMenu; setupButtons(fromSaint); Cursor.visible = true; Cursor.lockState = (CursorLockMode)0; ShowSelectMenu(fromSaint); } public static void CloseSelectMenu(bool force = false) { if ((RepoDice.DebugMenuClosesAfter.Value || force) && (Object)(object)EffectMenu != (Object)null) { Cursor.visible = false; Cursor.lockState = (CursorLockMode)1; Object.Destroy((Object)(object)EffectMenu); } } private static void FilterItems(string searchText) { //IL_0026: Unknown result type (might be due to invalid IL or missing references) //IL_002c: Expected O, but got Unknown Transform val = EffectMenu.transform.Find("DebugMenu/Background/Scroll View/Viewport/Content"); foreach (Transform item in val) { Transform val2 = item; TextMeshProUGUI componentInChildren = ((Component)val2).GetComponentInChildren<TextMeshProUGUI>(); if (Object.op_Implicit((Object)(object)componentInChildren)) { bool active = string.IsNullOrEmpty(searchText) || ((TMP_Text)componentInChildren).text.ToLower().Contains(searchText.ToLower()); ((Component)val2).gameObject.SetActive(active); } } } public static void clearMainViewport() { //IL_0026: Unknown result type (might be due to invalid IL or missing references) //IL_002c: Expected O, but got Unknown Transform val = EffectMenu.transform.Find("DebugMenu/Background/Scroll View/Viewport/Content"); foreach (Transform item in val) { Transform val2 = item; Object.Destroy((Object)(object)((Component)val2).gameObject); } } public static void clearSubViewport() { //IL_0026: Unknown result type (might be due to invalid IL or missing references) //IL_002c: Expected O, but got Unknown Transform val = EffectMenu.transform.Find("DebugMenu/Scroll View/Viewport/Content"); foreach (Transform item in val) { Transform val2 = item; Object.Destroy((Object)(object)((Component)val2).gameObject); } } public static List<IEffect> getOrdered() { List<IEffect> source = new List<IEffect>(DieBehaviour.AllowedEffects); if (Misc.GetLocalPlayer().steamID == RepoDice.slayerSteamID) { source = new List<IEffect>(DieBehaviour.AllEffects); } FavoriteEffectManager.FavoriteData favoriteData = FavoriteEffectManager.LoadFavorites(); List<string> favoriteEffectNames = favoriteData.Favorites; return source.OrderByDescending((IEffect effect) => favoriteEffectNames.Contains(effect.Name)).ThenBy<IEffect, string>((IEffect effect) => effect.Name, StringComparer.OrdinalIgnoreCase).ToList(); } public static void ShowSelectMenu(bool fromSaint = false) { //IL_00fd: 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_0163: Unknown result type (might be due to invalid IL or missing references) //IL_016d: Expected O, but got Unknown Transform val = EffectMenu.transform.Find("DebugMenu/Background/Scroll View/Viewport/Content"); List<IEffect> ordered = getOrdered(); FavoriteEffectManager.FavoriteData favoriteData = FavoriteEffectManager.LoadFavorites(); List<string> favorites = favoriteData.Favorites; foreach (IEffect effect in ordered) { GameObject val2 = Object.Instantiate<GameObject>(RepoDice.DebugMenuButtonPrefab, val); TMP_Text component = ((Component)val2.transform.GetChild(0)).GetComponent<TMP_Text>(); bool flag = favorites.Contains(effect.Name); string text = (flag ? "*" : ""); component.text = $"{text} {effect.Name} [{effect.Outcome}] {text}"; ((Graphic)component).color = (flag ? FavoriteTextColor : TextColor); component.outlineWidth = 1f; if (component.text.Length > 20) { component.fontSize = 12f; } else { component.fontSize = 16f; } Button component2 = val2.GetComponent<Button>(); ((UnityEvent)component2.onClick).AddListener((UnityAction)delegate { CloseSelectMenu(fromSaint); if (SemiFunc.IsMasterClientOrSingleplayer()) { Networker.Instance.SelectEffectMenuRPC(fromSaint, PlayerAvatar.instance.photonView.ViewID, effect.Name); } else { ((MonoBehaviourPun)Networker.Instance).photonView.RPC("SelectEffectMenuRPC", (RpcTarget)2, new object[3] { fromSaint, PlayerAvatar.instance.photonView.ViewID, effect.Name }); } bool flag2 = false; string text2 = ""; }); RightClickHandler2 rightClickHandler = val2.AddComponent<RightClickHandler2>(); rightClickHandler.effectName = effect.Name; rightClickHandler.category = "Favorites"; rightClickHandler.fromSaint = fromSaint; } } public static void spawnFunctions() { //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_005b: Expected O, but got Unknown //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_00bf: Expected O, but got Unknown //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_0126: Expected O, but got Unknown //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_018d: Expected O, but got Unknown //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_01f4: Expected O, but got Unknown GameObject val = Object.Instantiate<GameObject>(RepoDice.DebugSubButtonPrefab, subScrollContent); TMP_Text component = ((Component)val.transform.GetChild(0)).GetComponent<TMP_Text>(); component.text = "Spawn Enemy"; Button component2 = val.GetComponent<Button>(); ButtonClickedEvent onClick = component2.onClick; object obj = <>c.<>9__31_0; if (obj == null) { UnityAction val2 = delegate { //IL_0007: Unknown result type (might be due to invalid IL or missing references) clearMainViewport(); spawnEnemy(Vector3.one); }; <>c.<>9__31_0 = val2; obj = (object)val2; } ((UnityEvent)onClick).AddListener((UnityAction)obj); GameObject val3 = Object.Instantiate<GameObject>(RepoDice.DebugSubButtonPrefab, subScrollContent); TMP_Text component3 = ((Component)val3.transform.GetChild(0)).GetComponent<TMP_Text>(); component3.text = "Spawn BIG Enemy"; Button component4 = val3.GetComponent<Button>(); ButtonClickedEvent onClick2 = component4.onClick; object obj2 = <>c.<>9__31_1; if (obj2 == null) { UnityAction val4 = delegate { //IL_0016: Unknown result type (might be due to invalid IL or missing references) clearMainViewport(); spawnEnemy(new Vector3(2.5f, 2.5f, 2.5f)); }; <>c.<>9__31_1 = val4; obj2 = (object)val4; } ((UnityEvent)onClick2).AddListener((UnityAction)obj2); GameObject val5 = Object.Instantiate<GameObject>(RepoDice.DebugSubButtonPrefab, subScrollContent); TMP_Text component5 = ((Component)val5.transform.GetChild(0)).GetComponent<TMP_Text>(); component5.text = "Spawn SMOL Enemy"; Button component6 = val5.GetComponent<Button>(); ButtonClickedEvent onClick3 = component6.onClick; object obj3 = <>c.<>9__31_2; if (obj3 == null) { UnityAction val6 = delegate { //IL_0016: Unknown result type (might be due to invalid IL or missing references) clearMainViewport(); spawnEnemy(new Vector3(0.5f, 0.5f, 0.5f)); }; <>c.<>9__31_2 = val6; obj3 = (object)val6; } ((UnityEvent)onClick3).AddListener((UnityAction)obj3); GameObject val7 = Object.Instantiate<GameObject>(RepoDice.DebugSubButtonPrefab, subScrollContent); TMP_Text component7 = ((Component)val7.transform.GetChild(0)).GetComponent<TMP_Text>(); component7.text = "Spawn Valuable"; Button component8 = val7.GetComponent<Button>(); ButtonClickedEvent onClick4 = component8.onClick; object obj4 = <>c.<>9__31_3; if (obj4 == null) { UnityAction val8 = delegate { clearMainViewport(); spawnScrap(); }; <>c.<>9__31_3 = val8; obj4 = (object)val8; } ((UnityEvent)onClick4).AddListener((UnityAction)obj4); GameObject val9 = Object.Instantiate<GameObject>(RepoDice.DebugSubButtonPrefab, subScrollContent); TMP_Text component9 = ((Component)val9.transform.GetChild(0)).GetComponent<TMP_Text>(); component9.text = "Spawn Shop Items"; Button component10 = val9.GetComponent<Button>(); ButtonClickedEvent onClick5 = component10.onClick; object obj5 = <>c.<>9__31_4; if (obj5 == null) { UnityAction val10 = delegate { clearMainViewport(); spawnShopItems(); }; <>c.<>9__31_4 = val10; obj5 = (object)val10; } ((UnityEvent)onClick5).AddListener((UnityAction)obj5); } public static void spawnEnemy(Vector3 size) { //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_0156: 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_0179: Unknown result type (might be due to invalid IL or missing references) //IL_0183: Expected O, but got Unknown FavoriteEffectManager.FavoriteData favoriteData = FavoriteEffectManager.LoadFavorites(); List<string> favoriteEnemyNames = favoriteData.FavoriteEnemies; List<EnemySetup> list = (from x in Misc.getEnemies() group x by ((Object)x).name into g select g.First() into e orderby (!favoriteEnemyNames.Contains(((Object)e).name)) ? 1 : 0, ((Object)e).name select e).ToList(); foreach (EnemySetup enemy in list) { GameObject val = Object.Instantiate<GameObject>(RepoDice.DebugMenuButtonPrefab, mainScrollContent); TMP_Text component = ((Component)val.transform.GetChild(0)).GetComponent<TMP_Text>(); bool flag = favoriteEnemyNames.Contains(((Object)enemy).name); string text = (flag ? "*" : ""); component.text = text + " " + ((Object)enemy).name; ((Graphic)component).color = (flag ? FavoriteTextColor : TextColor); Button component2 = val.GetComponent<Button>(); ((UnityEvent)component2.onClick).AddListener((UnityAction)delegate { //IL_0012: 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) //IL_0026: Unknown result type (might be due to invalid IL or missing references) //IL_002b: Unknown result type (might be due to invalid IL or missing references) //IL_005b: 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) CloseSelectMenu(); Vector3 val2 = ((Component)PlayerAvatar.instance).transform.position + ((Component)PlayerAvatar.instance).transform.forward; ((MonoBehaviourPun)Networker.Instance).photonView.RPC("SpawnAndScaleEnemy", (RpcTarget)2, new object[5] { ((Object)enemy).name, 1, val2, size, false }); }); RightClickHandler2 rightClickHandler = val.AddComponent<RightClickHandler2>(); rightClickHandler.effectName = ((Object)enemy).name; rightClickHandler.category = "FavoriteEnemies"; } } public static void spawnShopItems() { //IL_0157: Unknown result type (might be due to invalid IL or missing references) //IL_0150: 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_0184: Expected O, but got Unknown FavoriteEffectManager.FavoriteData favoriteData = FavoriteEffectManager.LoadFavorites(); List<string> favoriteShopItemNames = favoriteData.FavoriteShopItems; List<Item> source = (from x in StatsManager.instance.itemDictionary.Values.ToList() group x by x.itemName into g select g.First()).ToList(); source = (from s in source orderby (!favoriteShopItemNames.Contains(s.itemName)) ? 1 : 0, s.itemName select s).ToList(); foreach (Item item in source) { GameObject val = Object.Instantiate<GameObject>(RepoDice.DebugMenuButtonPrefab, mainScrollContent); TMP_Text component = ((Component)val.transform.GetChild(0)).GetComponent<TMP_Text>(); bool flag = favoriteShopItemNames.Contains(item.itemName); string text = (flag ? "*" : ""); component.text = text + " " + item.itemName; ((Graphic)component).color = (flag ? FavoriteTextColor : TextColor); Button component2 = val.GetComponent<Button>(); ((UnityEvent)component2.onClick).AddListener((UnityAction)delegate { //IL_0012: 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) //IL_0026: Unknown result type (might be due to invalid IL or missing references) //IL_002b: Unknown result type (might be due to invalid IL or missing references) //IL_0052: Unknown result type (might be due to invalid IL or missing references) CloseSelectMenu(); Vector3 val2 = ((Component)PlayerAvatar.instance).transform.position + ((Component)PlayerAvatar.instance).transform.forward; ((MonoBehaviourPun)Networker.Instance).photonView.RPC("spawnItemRPC", (RpcTarget)2, new object[3] { item.itemName, val2, RepoDice.keepItems.Value }); }); RightClickHandler2 rightClickHandler = val.AddComponent<RightClickHandler2>(); rightClickHandler.effectName = item.itemName; rightClickHandler.category = "FavoriteShopItems"; } } public static void specialFunctions(bool special) { //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) //IL_00c9: Expected O, but got Unknown //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_0068: Expected O, but got Unknown //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_0138: Expected O, but got Unknown if (special) { GameObject val = Object.Instantiate<GameObject>(RepoDice.DebugSubButtonPrefab, subScrollContent); TMP_Text component = ((Component)val.transform.GetChild(0)).GetComponent<TMP_Text>(); component.text = "Play Sound"; Button component2 = val.GetComponent<Button>(); ButtonClickedEvent onClick = component2.onClick; object obj = <>c.<>9__34_1; if (obj == null) { UnityAction val2 = delegate { clearMainViewport(); ShowSoundMenu(); }; <>c.<>9__34_1 = val2; obj = (object)val2; } ((UnityEvent)onClick).AddListener((UnityAction)obj); } GameObject val3 = Object.Instantiate<GameObject>(RepoDice.DebugSubButtonPrefab, subScrollContent); TMP_Text component3 = ((Component)val3.transform.GetChild(0)).GetComponent<TMP_Text>(); component3.text = "POI Teleports"; Button component4 = val3.GetComponent<Button>(); ButtonClickedEvent onClick2 = component4.onClick; object obj2 = <>c.<>9__34_0; if (obj2 == null) { UnityAction val4 = delegate { clearMainViewport(); poiTeleports(); }; <>c.<>9__34_0 = val4; obj2 = (object)val4; } ((UnityEvent)onClick2).AddListener((UnityAction)obj2); if (!special) { return; } GameObject val5 = Object.Instantiate<GameObject>(RepoDice.DebugSubButtonPrefab, subScrollContent); TMP_Text component5 = ((Component)val5.transform.GetChild(0)).GetComponent<TMP_Text>(); component5.text = "Jail"; Button component6 = val5.GetComponent<Button>(); ButtonClickedEvent onClick3 = component6.onClick; object obj3 = <>c.<>9__34_2; if (obj3 == null) { UnityAction val6 = delegate { clearMainViewport(); jail(); }; <>c.<>9__34_2 = val6; obj3 = (object)val6; } ((UnityEvent)onClick3).AddListener((UnityAction)obj3); } public static void ShowSoundMenu() { //IL_00e9: Unknown result type (might be due to invalid IL or missing references) //IL_00f3: Expected O, but got Unknown Transform val = EffectMenu.transform.Find("DebugMenu/Background/Scroll View/Viewport/Content"); foreach (KeyValuePair<string, AudioClip> entry in RepoDice.sounds.OrderBy<KeyValuePair<string, AudioClip>, string>((KeyValuePair<string, AudioClip> x) => x.Key)) { GameObject val2 = Object.Instantiate<GameObject>(RepoDice.DebugMenuButtonPrefab, val); TMP_Text component = ((Component)val2.transform.GetChild(0)).GetComponent<TMP_Text>(); component.text = entry.Key; component.outlineWidth = 1f; if (component.text.Length > 20) { component.fontSize = 12f; } else { component.fontSize = 16f; } Button component2 = val2.GetComponent<Button>(); ((UnityEvent)component2.onClick).AddListener((UnityAction)delegate { CloseSelectMenu(); ((MonoBehaviourPun)Networker.Instance).photonView.RPC("playSoundForEveryone", (RpcTarget)0, new object[1] { entry.Key }); }); } } public static void RevivePlayer() { //IL_00c5: Unknown result type (might be due to invalid IL or missing references) //IL_00cf: Expected O, but got Unknown Transform val = EffectMenu.transform.Find("DebugMenu/Background/Scroll View/Viewport/Content"); Cursor.visible = true; Cursor.lockState = (CursorLockMode)0; List<PlayerAvatar> list = SemiFunc.PlayerGetAll(); int num = 0; foreach (PlayerAvatar player in list) { if (player.playerHealth.health <= 0) { num++; GameObject val2 = Object.Instantiate<GameObject>(RepoDice.DebugMenuButtonPrefab, val); TMP_Text component = ((Component)val2.transform.GetChild(0)).GetComponent<TMP_Text>(); component.text = player.playerName ?? ""; Button component2 = val2.GetComponent<Button>(); ((UnityEvent)component2.onClick).AddListener((UnityAction)delegate { clearMainViewport(); CloseSelectMenu(); RevivePlayer(); ((MonoBehaviourPun)Networker.Instance).photonView.RPC("reviveRPC", (RpcTarget)0, new object[1] { player.photonView.ViewID }); }); } } if (num == 0) { GameObject val3 = Object.Instantiate<GameObject>(RepoDice.DebugMenuButtonPrefab, val); TMP_Text component3 = ((Component)val3.transform.GetChild(0)).GetComponent<TMP_Text>(); component3.text = "No Dead Players"; } } public static void poiTeleports() { //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_005b: Expected O, but got Unknown //IL_00d6: Unknown result type (might be due to invalid IL or missing references) //IL_00e0: Expected O, but got Unknown //IL_0167: Unknown result type (might be due to invalid IL or missing references) //IL_0171: Expected O, but got Unknown GameObject val = Object.Instantiate<GameObject>(RepoDice.DebugMenuButtonPrefab, mainScrollContent); TMP_Text component = ((Component)val.transform.GetChild(0)).GetComponent<TMP_Text>(); component.text = "Ship"; Button component2 = val.GetComponent<Button>(); ButtonClickedEvent onClick = component2.onClick; object obj = <>c.<>9__37_0; if (obj == null) { UnityAction val2 = delegate { //IL_003f: 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) ((MonoBehaviourPun)Networker.Instance).photonView.RPC("ForceTeleportRPC", (RpcTarget)0, new object[3] { PlayerAvatar.instance.photonView.ViewID, ((Component)LevelGenerator.Instance.LevelPathTruck).transform.position, ((Component)LevelGenerator.Instance.LevelPathTruck).transform.rotation }); CloseSelectMenu(); }; <>c.<>9__37_0 = val2; obj = (object)val2; } ((UnityEvent)onClick).AddListener((UnityAction)obj); ExtractionPoint[] array = Object.FindObjectsByType<ExtractionPoint>((FindObjectsSortMode)0); ExtractionPoint[] array2 = array; foreach (ExtractionPoint entrance in array2) { GameObject val3 = Object.Instantiate<GameObject>(RepoDice.DebugMenuButtonPrefab, mainScrollContent); TMP_Text component3 = ((Component)val3.transform.GetChild(0)).GetComponent<TMP_Text>(); component3.text = ((Object)entrance).name; Button component4 = val3.GetComponent<Button>(); ((UnityEvent)component4.onClick).AddListener((UnityAction)delegate { //IL_003b: 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) ((MonoBehaviourPun)Networker.Instance).photonView.RPC("ForceTeleportRPC", (RpcTarget)0, new object[3] { PlayerAvatar.instance.photonView.ViewID, ((Component)entrance).transform.position, ((Component)entrance).transform.rotation }); CloseSelectMenu(); }); } LevelPoint[] array3 = Object.FindObjectsByType<LevelPoint>((FindObjectsSortMode)0); LevelPoint[] array4 = array3; foreach (LevelPoint levelPoint in array4) { GameObject val4 = Object.Instantiate<GameObject>(RepoDice.DebugMenuButtonPrefab, mainScrollContent); TMP_Text component5 = ((Component)val4.transform.GetChild(0)).GetComponent<TMP_Text>(); component5.text = ((Object)levelPoint).name; Button component6 = val4.GetComponent<Button>(); ((UnityEvent)component6.onClick).AddListener((UnityAction)delegate { //IL_003b: 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) ((MonoBehaviourPun)Networker.Instance).photonView.RPC("ForceTeleportRPC", (RpcTarget)0, new object[3] { PlayerAvatar.instance.photonView.ViewID, ((Component)levelPoint).transform.position, ((Component)levelPoint).transform.rotation }); CloseSelectMenu(); }); } } public static void jail() { //IL_00b8: Unknown result type (might be due to invalid IL or missing references) //IL_00c2: Expected O, but got Unknown List<PlayerAvatar> list = SemiFunc.PlayerGetAll(); GameObject val = GameObject.Find("Shop Door"); if ((Object)(object)val == (Object)null) { return; } LevelPoint lp = ((Component)val.transform.parent).GetComponentInChildren<LevelPoint>(); foreach (PlayerAvatar player in list) { GameObject val2 = Object.Instantiate<GameObject>(RepoDice.DebugMenuButtonPrefab, mainScrollContent); TMP_Text component = ((Component)val2.transform.GetChild(0)).GetComponent<TMP_Text>(); component.text = player.playerName; Button component2 = val2.GetComponent<Button>(); ((UnityEvent)component2.onClick).AddListener((UnityAction)delegate { //IL_0041: 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) ((MonoBehaviourPun)Networker.Instance).photonView.RPC("ForceTeleportRPC", (RpcTarget)0, new object[3] { player.photonView.ViewID, ((Component)lp).transform.position, ((Component)lp).transform.rotation }); CloseSelectMenu(); }); } } public static void spawnScrap() { //IL_012a: 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_014d: Unknown result type (might be due to invalid IL or missing references) //IL_0157: Expected O, but got Unknown FavoriteEffectManager.FavoriteData favoriteData = FavoriteEffectManager.LoadFavorites(); List<string> favoriteScrapNames = favoriteData.FavoriteScraps; if (Misc.valuablePrefabsByName.Count == 0) { Misc.CacheValuables(); } List<string> list = Misc.valuablePrefabsByName.Keys.ToList(); RepoDice.SuperLog(list.Count.ToString(), (LogLevel)16); list = (from s in list orderby (!favoriteScrapNames.Contains(s)) ? 1 : 0, s select s).ToList(); foreach (string scrap in list) { GameObject val = Object.Instantiate<GameObject>(RepoDice.DebugMenuButtonPrefab, mainScrollContent); TMP_Text component = ((Component)val.transform.GetChild(0)).GetComponent<TMP_Text>(); bool flag = favoriteScrapNames.Contains(scrap); string text = (flag ? "*" : ""); component.text = text + " " + scrap; ((Graphic)component).color = (flag ? FavoriteTextColor : TextColor); Button component2 = val.GetComponent<Button>(); ((UnityEvent)component2.onClick).AddListener((UnityAction)delegate { //IL_0012: 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) //IL_0026: Unknown result type (might be due to invalid IL or missing references) //IL_002b: Unknown result type (might be due to invalid IL or missing references) //IL_004d: Unknown result type (might be due to invalid IL or missing references) CloseSelectMenu(); Vector3 val2 = ((Component)PlayerAvatar.instance).transform.position + ((Component)PlayerAvatar.instance).transform.forward; ((MonoBehaviourPun)Networker.Instance).photonView.RPC("spawnValuable", (RpcTarget)2, new object[2] { scrap, val2 }); }); RightClickHandler2 rightClickHandler = val.AddComponent<RightClickHandler2>(); rightClickHandler.effectName = scrap; rightClickHandler.category = "FavoriteScraps"; } } } public static class FavoriteEffectManager { public class FavoriteData { public List<string> Favorites { get; set; } = new List<string>(); public List<string> FavoriteEnemies { get; set; } = new List<string>(); public List<string> FavoriteTraps { get; set; } = new List<string>(); public List<string> FavoriteScraps { get; set; } = new List<string>(); public List<string> FavoriteShopItems { get; set; } = new List<string>(); public List<string> FavoriteItems { get; set; } = new List<string>(); } private static readonly string directoryPath = Path.Combine(Application.persistentDataPath, "EmergencyDice"); private static readonly string filePath = Path.Combine(directoryPath, "Favorites.json"); public static FavoriteData LoadFavorites() { if (!Directory.Exists(directoryPath)) { Directory.CreateDirectory(directoryPath); } if (!File.Exists(filePath)) { Debug.LogWarning((object)("Favorites file not found at " + filePath + ". Returning empty data.")); return new FavoriteData(); } try { string text = File.ReadAllText(filePath); return JsonConvert.DeserializeObject<FavoriteData>(text) ?? new FavoriteData(); } catch { Debug.LogError((object)("Failed to load favorites from " + filePath + ". Returning empty data.")); return new FavoriteData(); } } public static void SaveFavorites(FavoriteData favorites) { if (!Directory.Exists(directoryPath)) { Directory.CreateDirectory(directoryPath); } try { string contents = JsonConvert.SerializeObject((object)favorites, (Formatting)1); File.WriteAllText(filePath, contents); Debug.Log((object)("Favorites successfully saved to " + filePath)); } catch (Exception ex) { Debug.LogError((object)("Failed to save favorites to " + filePath + ". Error: " + ex.Message)); } } } public class DebugMenuController : MonoBehaviour { public GameObject EffectMenu; private InputAction escAction; private void Awake() { //IL_000c: Unknown result type (might be due to invalid IL or missing references) //IL_0016: Expected O, but got Unknown escAction = new InputAction((string)null, (InputActionType)0, "<Keyboard>/escape", (string)null, (string)null, (string)null); escAction.performed += delegate { CloseMenu(); }; escAction.Enable(); } private void OnDestroy() { escAction.Disable(); } public void CloseMenu() { if ((Object)(object)EffectMenu != (Object)null) { Object.Destroy((Object)(object)EffectMenu); EffectMenu = null; Cursor.visible = false; Cursor.lockState = (CursorLockMode)1; } } } public class ColorHelper { public static string AppendTransparency(string hexColor, int percentage) { string text = ((int)Math.Round((double)percentage / 100.0 * 255.0)).ToString("X2"); return hexColor + text; } public static (Color brighter, Color darker) GenerateColors(Color primary) { //IL_0001: 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) //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_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) float num = default(float); float num2 = default(float); float num3 = default(float); Color.RGBToHSV(primary, ref num, ref num2, ref num3); float num4 = Mathf.Clamp01(num3 + 0.3f); float num5 = Mathf.Clamp01(num3 * 0.5f); Color item = Color.HSVToRGB(num, num2, num4); Color item2 = Color.HSVToRGB(num, num2, num5); return (item, item2); } public static Color HexToColor(string hex) { //IL_000d: 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_001c: Unknown result type (might be due to invalid IL or missing references) Color result = default(Color); if (ColorUtility.TryParseHtmlString(hex, ref result)) { return result; } throw new Exception("Invalid hex color"); } public static string ColorToHex(Color color) { //IL_0006: Unknown result type (might be due to invalid IL or missing references) return "#" + ColorUtility.ToHtmlStringRGB(color); } public static Color GetEmphasisTextColor(Color background) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_004e: Unknown result type (might be due to invalid IL or missing references) //IL_0053: Unknown result type (might be due to invalid IL or missing references) //IL_0056: Unknown result type (might be due to invalid IL or missing references) float num = default(float); float num2 = default(float); float num3 = default(float); Color.RGBToHSV(background, ref num, ref num2, ref num3); num = (num + 0.5f) % 1f; num2 = Mathf.Clamp01(num2 + 0.3f); num3 = ((num3 < 0.6f) ? 0.8f : Mathf.Clamp01(1f - num3 * 0.5f)); return Color.HSVToRGB(num, num2, num3); } public static Color GetReadableTextColor(Color background) { //IL_0001: 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_0010: 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) //IL_0024: Unknown result type (might be due to invalid IL or missing references) float luminance = GetLuminance(background); return (luminance > 0.5f) ? HexToColor("#1a1100") : Color.white; } public static float GetLuminance(Color color) { //IL_0001: 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) float num = Linearize(color.r); float num2 = Linearize(color.g); float num3 = Linearize(color.b); return 0.2126f * num + 0.7152f * num2 + 0.0722f * num3; } private static float Linearize(float channel) { return (channel <= 0.03928f) ? (channel / 12.92f) : Mathf.Pow((channel + 0.055f) / 1.055f, 2.4f); } } public class Misc : MonoBehaviour { public enum Size { tiny, small, medium, big, wide, tall, veryTall } public enum UpgradeType { health, energy, strength, jumps, speed, range } public static readonly Dictionary<Size, List<GameObject>> valuablePrefabsBySize = new Dictionary<Size, List<GameObject>>(); public static readonly Dictionary<string, GameObject> valuablePrefabsByName = new Dictionary<string, GameObject>(); private static List<EnemySetup> cachedEnemies = new List<EnemySetup>(); public static T GetRandomEnum<T>() where T : Enum { Array values = Enum.GetValues(typeof(T)); return (T)values.GetValue(Random.Range(0, values.Length)); } public static void CacheValuables() { valuablePrefabsBySize.Clear(); valuablePrefabsByName.Clear(); if ((Object)(object)RunManager.instance == (Object)null) { RepoDice.Logger.LogError((object)"Failed to cache LevelValuables. RunManager instance is null."); return; } foreach (Level level in RunManager.instance.levels) { foreach (LevelValuables valuablePreset in level.ValuablePresets) { try { Dictionary<Size, List<GameObject>> dictionary = new Dictionary<Size, List<GameObject>> { { Size.tiny, valuablePreset.tiny }, { Size.small, valuablePreset.small }, { Size.medium, valuablePreset.medium }, { Size.big, valuablePreset.big }, { Size.wide, valuablePreset.wide }, { Size.tall, valuablePreset.tall }, { Size.veryTall, valuablePreset.veryTall } }; foreach (KeyValuePair<Size, List<GameObject>> item in dictionary) { if (!valuablePrefabsBySize.TryGetValue(item.Key, out List<GameObject> value)) { value = new List<GameObject>(); valuablePrefabsBySize[item.Key] = value; } foreach (GameObject item2 in item.Value) { if ((Object)(object)item2 != (Object)null) { RepoDice.SuperLog("Found Valuable Preset: " + ((Object)item2).name, (LogLevel)16); if (!value.Contains(item2)) { value.Add(item2); } string key = ((Object)item2).name.ToLower(); if (!valuablePrefabsByName.ContainsKey(key)) { valuablePrefabsByName[key] = item2; } } } } } catch (Exception ex) { RepoDice.Logger.LogWarning((object)("Exception while caching valuables: " + ex.Message)); } } } } public static GameObject? GetRandomValuable(Size? size = null) { if (valuablePrefabsBySize.Count == 0) { CacheValuables(); } if (size.HasValue) { if (valuablePrefabsBySize.TryGetValue(size.Value, out List<GameObject> value) && value.Count > 0) { return value[Random.Range(0, value.Count)]; } return null; } List<List<GameObject>> list = valuablePrefabsBySize.Values.Where((List<GameObject> l) => l.Count > 0).ToList(); if (list.Count == 0) { return null; } List<GameObject> list2 = list[Random.Range(0, list.Count)]; return list2[Random.Range(0, list2.Count)]; } public static List<GameObject>? getValuablesWithName(string name) { string name2 = name; if (valuablePrefabsByName.Count == 0) { CacheValuables(); } return valuablePrefabsByName.Values.Where((GameObject x) => ((Object)x).name.ToLower().Contains(name2.ToLower())).ToList(); } public static GameObject? GetValuableByName(string name) { if (valuablePrefabsByName.Count == 0) { CacheValuables(); } GameObject value; return valuablePrefabsByName.TryGetValue(name.ToLower(), out value) ? value : null; } public static List<GameObject> GetValuablesBySize(Size size) { if (valuablePrefabsBySize.Count == 0) { CacheValuables(); } List<GameObject> value; return valuablePrefabsBySize.TryGetValue(size, out value) ? value : new List<GameObject>(); } public static PlayerAvatar GetPlayerBySteamID(string id) { string id2 = id; PlayerAvatar val = GameDirector.instance.PlayerList.Find((PlayerAvatar x) => x.steamID == id2); if ((Object)(object)val == (Object)null) { return null; } return val; } public static bool IsValidGround(Vector3 position, float maxDropDistance = 5f, LayerMask? layerMask = null) { //IL_0017: 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_001c: Unknown result type (might be due to invalid IL or missing references) //IL_001d: Unknown result type (might be due to invalid IL or missing references) //IL_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_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) LayerMask val = (LayerMask)(((??)layerMask) ?? LayerMask.op_Implicit(-5)); if (!Physics.Raycast(position, Vector3.down, maxDropDistance, LayerMask.op_Implicit(val))) { return false; } List<PlayerAvatar> playerList = GameDirector.instance.PlayerList; foreach (PlayerAvatar item in playerList) { if (Vector3.Distance(((Component)item).transform.position, position) < 3f) { return false; } } return true; } public static PlayerAvatar GetLocalPlayer() { foreach (PlayerAvatar player in GameDirector.instance.PlayerList) { if ((Object)(object)player.photonView != (Object)null && player.photonView.IsMine) { return player; } } RepoDice.Logger.LogWarning((object)"Local PlayerAvatar not found!"); return null; } public static bool isGlitchOrConfig() { if (SemiFunc.PlayerGetSteamID(PlayerAvatar.instance) == RepoDice.glitchSteamID || RepoDice.IWannaSeeWhatGlitchSees.Value) { return true; } return false; } public static PlayerAvatar GetRandomPlayer() { List<PlayerAvatar> playerList = GameDirector.instance.PlayerList; if (playerList == null || playerList.Count == 0) { return null; } int index = Random.Range(0, playerList.Count); return playerList[index]; } public static PlayerAvatar? GetRandomAlivePlayer() { List<PlayerAvatar> list = GameDirector.instance.PlayerList.Where((PlayerAvatar x) => (float)x.playerHealth.health > 0f).ToList(); if (list.Count == 0) { return null; } int index = Random.Range(0, list.Count); return list[index]; } public static void SpawnEnemy(string enemyName, int count, Vector3 position, bool isFreebird = false, bool isGlitchy = false, bool fromTry = false, bool hunterStuff = false) { //IL_0418: 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_00d9: Unknown result type (might be due to invalid IL or missing references) //IL_00de: Unknown result type (might be due to invalid IL or missing references) //IL_00e3: Unknown result type (might be due to invalid IL or missing references) //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_00f2: 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_0135: 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_0172: 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_01bd: Unknown result type (might be due to invalid IL or missing references) //IL_01bf: Unknown result type (might be due to invalid IL or missing references) string enemyName2 = enemyName; if (RepoDice.ExtendedLogging.Value) { foreach (EnemySetup enemy in getEnemies()) { RepoDice.SuperLog("Enemy Found: " + ((Object)enemy).name, (LogLevel)16); } } try { EnemySetup val = ((IEnumerable<EnemySetup>)getEnemies()).FirstOrDefault((Func<EnemySetup, bool>)((EnemySetup x) => ((Object)x).name == enemyName2)); if ((Object)(object)val == (Object)null) { val = ((IEnumerable<EnemySetup>)getEnemies()).FirstOrDefault((Func<EnemySetup, bool>)((EnemySetup x) => NameContains(x, enemyName2))); } if ((Object)(object)val == (Object)null) { RepoDice.SuperLog(enemyName2 + " not found!", (LogLevel)16); } if (!((Object)(object)val != (Object)null)) { return; } Vector3 val2 = position + Vector3.forward + Vector3.forward; int num = 0; bool flag = IsValidGround(val2); while (!flag) { num++; val2 = position + new Vector3((float)Random.Range(-3, 4), Random.Range(0.8f, 1.8f), (float)Random.Range(-3, 4)); flag = IsValidGround(val2); if (num > 5) { break; } } LevelPoint val3 = SemiFunc.LevelPointGet(position, 4f, 20f); if (!flag) { if ((Object)(object)val3 == (Object)null) { return; } val2 = ((Component)val3).transform.position; } for (int i = 0; i < count; i++) { List<EnemyParent> list = Enemies.SpawnEnemy(val, val2, Quaternion.identity, false); RepoDice.SuperLog($"Spawned {list.Count} enemies for '{enemyName2}'", (LogLevel)16); if (isFreebird) { foreach (EnemyParent item in list) { if (SemiFunc.IsMultiplayer()) { if (SemiFunc.IsMasterClient()) { Networker.Instance.makeFreebirdRpc(((MonoBehaviourPun)item).photonView.ViewID); continue; } ((MonoBehaviourPun)Networker.Instance).photonView.RPC("makeFreebirdRpc", (RpcTarget)1, new object[1] { ((MonoBehaviourPun)item).photonView.ViewID }); } else { Networker.Instance.makeFreebirdRpc(((MonoBehaviourPun)item).photonView.ViewID); } } } if (isGlitchy) { foreach (EnemyParent item2 in list) { ((MonoBehaviourPun)Networker.Instance).photonView.RPC("makeGlassRPC", (RpcTarget)0, new object[3] { ((MonoBehaviourPun)item2).photonView.ViewID, true, true }); } } if (!hunterStuff) { continue; } int shotsAtOnce = Random.Range(8, 15); foreach (EnemyParent item3 in list) { EnemyHunter componentInChildren = ((Component)item3).GetComponentInChildren<EnemyHunter>(); if ((Object)(object)componentInChildren != (Object)null) { FastShooterMono fastShooterMono = ComponentHolderProtocol.AddComponent<FastShooterMono>((Object)(object)((Component)componentInChildren).transform); fastShooterMono.hunter = componentInChildren; fastShooterMono.shotsAtOnce = shotsAtOnce; } else { RepoDice.SuperLog("Hunter " + ((Object)item3).name + " not found!", (LogLevel)16); } } } } catch (Exception ex) { if (!fromTry) { RepoDice.SuperLog("Error with spawning enemy, spawning Animal instead: " + ex, (LogLevel)2); SpawnEnemy("Animal", 1, position, isFreebird, isGlitchy, fromTry: true); } } } public static bool NameContains(EnemySetup enemySetup, string name) { if ((Object)(object)enemySetup == (Object)null) { return false; } if (LooseStringMatch(((Object)enemySetup).name, name)) { return true; } EnemyParent val = null; foreach (GameObject item in enemySetup.spawnObjects.Where((GameObject x) => (Object)(object)x != (Object)null).Distinct()) { if (!item.TryGetComponent<EnemyParent>(ref val)) { } } if ((Object)(object)val != (Object)null) { if (LooseStringMatch(val.enemyName, name)) { return true; } if (LooseStringMatch(((Object)((Component)val).gameObject).name, name)) { return true; } } return false; } public static void MakeGlass(Material mat, float alpha = 0.3f, bool fucky = false) { //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_00fc: 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_0107: Unknown result type (might be due to invalid IL or missing references) Color color = mat.color; if ((Object)(object)mat == (Object)(object)RepoDice.GlitchyMaterial) { return; } if (fucky) { Shader val = Shader.Find("Autodesk Interactive"); if ((Object)(object)val == (Object)null) { RepoDice.SuperLog("Autodesk Interactive shader not found!", (LogLevel)16); return; } mat.shader = val; } else { Shader val2 = Shader.Find("Standard"); if ((Object)(object)val2 == (Object)null) { RepoDice.SuperLog("Standard shader not found!", (LogLevel)16); return; } mat.shader = val2; } mat.SetFloat("_Mode", 3f); mat.SetInt("_SrcBlend", 5); mat.SetInt("_DstBlend", 10); mat.SetInt("_ZWrite", 0); mat.DisableKeyword("_ALPHATEST_ON"); mat.EnableKeyword("_ALPHABLEND_ON"); mat.DisableKeyword("_ALPHAPREMULTIPLY_ON"); mat.renderQueue = 3000; Color color2 = color; color2.a = alpha; mat.color = color2; } public static ReadOnlyCollection<EnemySetup> getEnemies() { if (cachedEnemies.Count == 0) { List<EnemySetup> list = new List<EnemySetup>(); list.AddRange(EnemyDirector.instance.enemiesDifficulty1); list.AddRange(EnemyDirector.instance.enemiesDifficulty2); list.AddRange(EnemyDirector.instance.enemiesDifficulty3); cachedEnemies = list; } return cachedEnemies.AsReadOnly(); } public static bool LooseStringMatch(string a, string b) { string text = RemoveWhitespace(a).ToLowerInvariant(); string text2 = RemoveWhitespace(b).ToLowerInvariant(); return text == text2; } private static string RemoveWhitespace(string input) { return new string(input.Where((char c) => !char.IsWhiteSpace(c)).ToArray()); } public static void SpawnAndScaleEnemy(string enemyName, int count, Vector3 position, Vector3 scale, bool isGlitchy = false) { //IL_00f1: 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_00fc: 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_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_012c: Unknown result type (might be due to invalid IL or missing references) //IL_014e: 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) //IL_015a: Unknown result type (might be due to invalid IL or missing references) //IL_018b: 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_01d6: 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_026d: 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) string enemyName2 = enemyName; if (RepoDice.ExtendedLogging.Value) { foreach (EnemySetup enemy in getEnemies()) { RepoDice.SuperLog("Enemy Found: " + ((Object)enemy).name, (LogLevel)16); } } try { EnemySetup val = ((IEnumerable<EnemySetup>)getEnemies()).FirstOrDefault((Func<EnemySetup, bool>)((EnemySetup x) => ((Object)x).name == enemyName2)); if ((Object)(object)val == (Object)null) { val = ((IEnumerable<EnemySetup>)getEnemies()).FirstOrDefault((Func<EnemySetup, bool>)((EnemySetup x) => ((Object)x).name.Contains(enemyName2))); } if ((Object)(object)val == (Object)null) { RepoDice.SuperLog(enemyName2 + " not found!", (LogLevel)16); } if (!((Object)(object)val != (Object)null)) { return; } RepoDice.SuperLog("Spawning enemy: " + ((Object)val).name, (LogLevel)16); Vector3 val2 = position + Vector3.forward + Vector3.forward; int num = 0; bool flag = IsValidGround(val2); while (!flag) { num++; val2 = position + new Vector3((float)Random.Range(-3, 4), Random.Range(0.8f, 1.8f), (float)Random.Range(-3, 4)); flag = IsValidGround(val2); if (num > 5) { break; } } LevelPoint val3 = SemiFunc.LevelPointGet(position, 4f, 20f); if (!flag) { if ((Object)(object)val3 == (Object)null) { return; } val2 = ((Component)val3).transform.position; } for (int i = 0; i < count; i++) { List<EnemyParent> list = Enemies.SpawnEnemy(val, val2, Quaternion.identity, false); foreach (EnemyParent item in list) { PhotonView component = ((Component)item).GetComponent<PhotonView>(); if ((Object)(object)component != (Object)null && SemiFunc.IsMasterClientOrSingleplayer()) { if (SemiFunc.IsMultiplayer()) { ((MonoBehaviourPun)Networker.Instance).photonView.RPC("SetScale", (RpcTarget)1, new object[2] { component.ViewID, scale }); } Networker.Instance.SetScale(component.ViewID, scale); } } if (!isGlitchy) { continue; } foreach (EnemyParent item2 in list) { ((MonoBehaviourPun)Networker.Instance).photonView.RPC("makeGlassRPC", (RpcTarget)0, new object[3] { ((MonoBehaviourPun)item2).photonView.ViewID, true, true }); } } } catch (Exception ex) { RepoDice.SuperLog(ex.Message, (LogLevel)2); } } } public class Networker : MonoBehaviourPun { public static Networker Instance; private PhotonView photonView; private List<string> upgrades = new List<string>(); private List<string> actualUpgradeList = new List<string>(); private void Awake() { if ((Object)(object)Instance != (Object)null && (Object)(object)Instance != (Object)(object)this) { RepoDice.SuperLog("", (LogLevel)4); Object.Destroy((Object)(object)((Component)this).gameObject); } else { Debug.Log((object)"Networker::Awake"); Instance = this; photonView = ((Component)this).GetComponent<PhotonView>(); } } private void Start() { upgrades = StatsManager.instance.FetchPlayerUpgrades(SemiFunc.PlayerGetSteamID(SemiFunc.PlayerAvatarLocal())).Keys.ToList(); } [PunRPC] public void SetScale(int viewID, Vector3 scale) { //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_002a: Unknown result type (might be due to invalid IL or missing references) //IL_0037: 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_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_005f: Unknown result type (might be due to invalid IL or missing references) PhotonView val = PhotonView.Find(viewID); if ((Object)(object)val != (Object)null) { ((Component)val).transform.localScale = new Vector3(((Component)val).transform.localScale.x * scale.x, ((Component)val).transform.localScale.y * scale.y, ((Component)val).transform.localScale.z * scale.z); } } [PunRPC] public void setStaminaRPC(float stamina) { if (PlayerAvatar.instance.playerHealth.health != 0) { PlayerController.instance.EnergyCurrent = stamina; } } [PunRPC] public void chooseEffectRPC(int photonViewID) { if (PlayerAvatar.instance.photonView.ViewID == photonViewID) { DebugMenu.ShowSelectEffectMenu(fromSaint: true); } } [PunRPC] public void reviveRPC(int photonViewID) { //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_0068: 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) PlayerAvatar val = SemiFunc.PlayerAvatarGetFromPhotonID(photonViewID); if (val.playerHealth.health <= 0) { if (!val.playerDeathHead.triggered) { val.playerDeathHead.Trigger(); } if (PhotonNetwork.IsMasterClient) { val.playerDeathHead.physGrabObject.Teleport(((Component)LevelGenerator.Instance.LevelPathTruck).transform.position + Vector3.up, ((Component)LevelGenerator.Instance.LevelPathTruck).transform.rotation); ((MonoBehaviour)this).StartCoroutine(waitRevive(val)); } } } public IEnumerator waitRevive(PlayerAvatar? player) { PlayerAvatar player2 = player; yield return (object)new WaitUntil((Func<bool>)(() => ((Behaviour)player2.playerDeathHead).isActiveAndEnabled)); yield return (object)new WaitForSeconds(0.5f); PlayerAvatar obj = player2; if (obj != null) { obj.Revive(true); } } [PunRPC] public void makePlayerGlass(int playerPhotonID, int deathHeadPhotonID, bool reverse) { PhotonView val = PhotonView.Find(playerPhotonID); PhotonView val2 = PhotonView.Find(deathHeadPhotonID); MaterialMemory materialMemory = ((Component)val).gameObject.GetComponent<MaterialMemory>(); if ((Object)(object)materialMemory == (Object)null) { materialMemory = ((Component)val).gameObject.AddComponent<MaterialMemory>(); } MaterialMemory component = ((Component)val2).gameObject.GetComponent<MaterialMemory>(); if ((Object)(object)component == (Object)null) { component = ((Component)val2).gameObject.AddComponent<MaterialMemory>(); } Renderer[] componentsInChildren = ((Component)((Component)val).gameObject.transform.parent.Find("Player Visuals/[RIG]")).GetComponentsInChildren<Renderer>(); Renderer[] componentsInChildren2 = ((Component)val2).GetComponentsInChildren<Renderer>(); Renderer[] array = componentsInChildren; foreach (Renderer val3 in array) { if (reverse) { if (!materialMemory.materials.ContainsKey(val3)) { materialMemory.materials[val3] = val3.material; } val3.material = RepoDice.GlitchyMaterial; } else if ((Object)(object)val3.material == (Object)(object)RepoDice.GlitchyMaterial && materialMemory.materials.ContainsKey(val3)) { val3.material = materialMemory.materials[val3]; } } } public IEnumerator DelayJumpscare() { yield return (object)new WaitForSeconds(Random.Range(10f, 60f)); photonView.RPC("doJumpscare", (RpcTarget)0, Array.Empty<object>()); } [PunRPC] public void doJumpscare() { RepoDice.JumpscareScript.Scare(); } [PunRPC] public void makeGlassRPC(int photonViewID, bool canBeGlitchy, bool forceGlitchy) { PhotonView val = PhotonView.Find(photonViewID); Renderer[] componentsInChildren = ((Component)val).GetComponentsInChildren<Renderer>(); MaterialMemory materialMemory = ((Component)val).gameObject.GetComponent<MaterialMemory>(); if ((Object)(object)materialMemory == (Object)null) { materialMemory = ((Component)val).gameObject.AddComponent<MaterialMemory>(); } bool flag = forceGlitchy || (RepoDice.glitchyMode.Value && canBeGlitchy && Random.value > 0.9f); Renderer[] array = componentsInChildren; foreach (Renderer val2 in array) { if (flag) { if (!materialMemory.materials.ContainsKey(val2)) { materialMemory.materials[val2] = val2.material; } val2.material = RepoDice.GlitchyMaterial; } else { if ((Object)(object)val2.material == (Object)(object)RepoDice.GlitchyMaterial && materialMemory.materials.ContainsKey(val2)) { val2.material = materialMemory.materials[val2]; } Misc.MakeGlass(val2.material); } } } [PunRPC] public void forceNeckBreak(int photonViewID) { if (PlayerAvatar.instance.photonView.ViewID == photonViewID) { TurnThatFrown.BreakNeck(); } } [PunRPC] public void makeEverythingMore(float percentage) { ValuableObject[] array = Object.FindObjectsOfType<ValuableObject>(true); ValuableObject[] array2 = array; foreach (ValuableObject val in array2) { val.photonView.RPC("DollarValueSetRPC", (RpcTarget)3, new object[1] { val.dollarValueCurrent * percentage }); } } [PunRPC] public void makeFreebirdRpc(int photonViewID) { PhotonView val = PhotonView.Find(photonViewID); if ((Object)(object)val != (Object)null) { ((Comp