Please disclose if any significant portion of your mod was created using AI tools by adding the 'AI Generated' category. Failing to do so may result in the mod being removed from Thunderstore.
Decompiled source of TheUltimateNumber v1.0.2
MBCollector672.TheUltimateNumber.dll
Decompiled 5 days agousing System; using System.Collections; using System.Collections.Generic; using System.Diagnostics; using System.IO; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using System.Security; using System.Security.Permissions; using BepInEx; using BepInEx.Configuration; using BepInEx.Logging; using HarmonyLib; using LethalLib.Modules; using MBCollector672.TheUltimateNumber.NetcodePatcher; using Microsoft.CodeAnalysis; using TheUltimateNumber; using Unity.Netcode; using UnityEngine; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)] [assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")] [assembly: AssemblyCompany("MBCollector672.TheUltimateNumber")] [assembly: AssemblyConfiguration("Release")] [assembly: AssemblyFileVersion("1.0.1.0")] [assembly: AssemblyInformationalVersion("1.0.1+863ac5a56163e6445feb063a3e3c93ac310f0b3b")] [assembly: AssemblyProduct("TheUltimateNumber")] [assembly: AssemblyTitle("MBCollector672.TheUltimateNumber")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.0.1.0")] [module: UnverifiableCode] [module: RefSafetyRules(11)] [module: NetcodePatchedAssembly] 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 UltimateNumberManipulator : AnimatedItem { [CompilerGenerated] private sealed class <PlayExplodeNumberSound>d__121 : IEnumerator<object>, IEnumerator, IDisposable { private int <>1__state; private object <>2__current; public UltimateNumberManipulator <>4__this; object? IEnumerator<object>.Current { [DebuggerHidden] get { return <>2__current; } } object? IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public <PlayExplodeNumberSound>d__121(int <>1__state) { this.<>1__state = <>1__state; } [DebuggerHidden] void IDisposable.Dispose() { <>1__state = -2; } private bool MoveNext() { //IL_0035: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Expected O, but got Unknown int num = <>1__state; UltimateNumberManipulator ultimateNumberManipulator = <>4__this; switch (num) { default: return false; case 0: <>1__state = -1; ultimateNumberManipulator.playOopsAudioServerRpc(); <>2__current = (object)new WaitForSeconds(ultimateNumberManipulator.oopsAudioSource.clip.length); <>1__state = 1; return true; case 1: <>1__state = -1; ultimateNumberManipulator.ExplodeNumberServerRpc(); return false; } } bool IEnumerator.MoveNext() { //ILSpy generated this explicit interface implementation from .override directive in MoveNext return this.MoveNext(); } [DebuggerHidden] void IEnumerator.Reset() { throw new NotSupportedException(); } } [CompilerGenerated] private sealed class <PlayNormalNumberAudio>d__115 : IEnumerator<object>, IEnumerator, IDisposable { private int <>1__state; private object <>2__current; public UltimateNumberManipulator <>4__this; private bool <playedMinus>5__2; private byte <clip1>5__3; private byte <clip2>5__4; private byte <clip3>5__5; private byte <clip4>5__6; private byte <clip5>5__7; private byte <clip6>5__8; private byte <clip7>5__9; private byte <clip8>5__10; private byte <clip9>5__11; private byte <clip10>5__12; private sbyte <i>5__13; object? IEnumerator<object>.Current { [DebuggerHidden] get { return <>2__current; } } object? IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public <PlayNormalNumberAudio>d__115(int <>1__state) { this.<>1__state = <>1__state; } [DebuggerHidden] void IDisposable.Dispose() { <>1__state = -2; } private bool MoveNext() { //IL_07a1: Unknown result type (might be due to invalid IL or missing references) //IL_07ab: Expected O, but got Unknown //IL_01c2: Unknown result type (might be due to invalid IL or missing references) //IL_01cc: Expected O, but got Unknown //IL_013c: Unknown result type (might be due to invalid IL or missing references) //IL_0146: Expected O, but got Unknown //IL_028b: Unknown result type (might be due to invalid IL or missing references) //IL_0295: Expected O, but got Unknown //IL_0318: Unknown result type (might be due to invalid IL or missing references) //IL_0322: Expected O, but got Unknown //IL_03a5: Unknown result type (might be due to invalid IL or missing references) //IL_03af: Expected O, but got Unknown //IL_0432: Unknown result type (might be due to invalid IL or missing references) //IL_043c: Expected O, but got Unknown //IL_04bf: Unknown result type (might be due to invalid IL or missing references) //IL_04c9: Expected O, but got Unknown //IL_054c: Unknown result type (might be due to invalid IL or missing references) //IL_0556: Expected O, but got Unknown //IL_05d9: Unknown result type (might be due to invalid IL or missing references) //IL_05e3: Expected O, but got Unknown //IL_0667: Unknown result type (might be due to invalid IL or missing references) //IL_0671: Expected O, but got Unknown //IL_06f5: Unknown result type (might be due to invalid IL or missing references) //IL_06ff: Expected O, but got Unknown //IL_0780: Unknown result type (might be due to invalid IL or missing references) //IL_078a: Expected O, but got Unknown int num = <>1__state; UltimateNumberManipulator ultimateNumberManipulator = <>4__this; sbyte b; switch (num) { default: return false; case 0: <>1__state = -1; global::TheUltimateNumber.TheUltimateNumber.Logger.LogDebug((object)"Trying to play audio"); b = 0; <playedMinus>5__2 = false; <clip1>5__3 = ultimateNumberManipulator.place1; <clip2>5__4 = ultimateNumberManipulator.place2; <clip3>5__5 = ultimateNumberManipulator.place3; <clip4>5__6 = ultimateNumberManipulator.place4; <clip5>5__7 = ultimateNumberManipulator.place5; <clip6>5__8 = ultimateNumberManipulator.place6; <clip7>5__9 = ultimateNumberManipulator.place7; <clip8>5__10 = ultimateNumberManipulator.place8; <clip9>5__11 = ultimateNumberManipulator.place9; <clip10>5__12 = ultimateNumberManipulator.place10; <i>5__13 = 0; goto IL_07cd; case 1: <>1__state = -1; goto IL_0156; case 2: <>1__state = -1; goto IL_01dc; case 3: <>1__state = -1; goto IL_079b; case 4: <>1__state = -1; goto IL_079b; case 5: <>1__state = -1; goto IL_079b; case 6: <>1__state = -1; goto IL_079b; case 7: <>1__state = -1; goto IL_079b; case 8: <>1__state = -1; goto IL_079b; case 9: <>1__state = -1; goto IL_079b; case 10: <>1__state = -1; goto IL_079b; case 11: <>1__state = -1; goto IL_079b; case 12: <>1__state = -1; goto IL_079b; case 13: { <>1__state = -1; <i>5__13++; goto IL_07cd; } IL_07cd: if (<i>5__13 < 10) { if (<i>5__13 < 10) { if (((AnimatedItem)ultimateNumberManipulator).wasInPocket || (Object)(object)((GrabbableObject)ultimateNumberManipulator).playerHeldBy == (Object)null) { global::TheUltimateNumber.TheUltimateNumber.Logger.LogDebug((object)"Item has been dropped/pocketed!"); <i>5__13 = (sbyte)(<i>5__13 + TEN); <>2__current = (object)new WaitForSeconds(0f); <>1__state = 1; return true; } goto IL_0156; } goto IL_079b; } return false; IL_0156: if (!<playedMinus>5__2 && ultimateNumberManipulator.ScrapValueSyncer < 0m) { global::TheUltimateNumber.TheUltimateNumber.Logger.LogDebug((object)"Negative! Playing minus audio"); ((AnimatedItem)ultimateNumberManipulator).itemAudio.clip = ultimateNumberManipulator.minusAudio; ((AnimatedItem)ultimateNumberManipulator).itemAudio.Play(); <i>5__13--; <playedMinus>5__2 = true; <>2__current = (object)new WaitForSeconds(((AnimatedItem)ultimateNumberManipulator).itemAudio.clip.length); <>1__state = 2; return true; } goto IL_01dc; IL_079b: <>2__current = (object)new WaitForSeconds(0f); <>1__state = 13; return true; IL_01dc: b = <i>5__13; switch (<i>5__13) { case 0: if (<clip10>5__12 < 10) { ((AnimatedItem)ultimateNumberManipulator).itemAudio.clip = ultimateNumberManipulator.normalAudioArray[<clip10>5__12]; global::TheUltimateNumber.TheUltimateNumber.Logger.LogDebug((object)("Playing AudioClip " + (object)ultimateNumberManipulator.normalAudioArray[<clip10>5__12])); ((AnimatedItem)ultimateNumberManipulator).itemAudio.Play(); <>2__current = (object)new WaitForSeconds(((AnimatedItem)ultimateNumberManipulator).itemAudio.clip.length); <>1__state = 3; return true; } break; case 1: if (<clip9>5__11 < 10) { ((AnimatedItem)ultimateNumberManipulator).itemAudio.clip = ultimateNumberManipulator.normalAudioArray[<clip9>5__11]; global::TheUltimateNumber.TheUltimateNumber.Logger.LogDebug((object)("Playing AudioClip " + (object)ultimateNumberManipulator.normalAudioArray[<clip9>5__11])); ((AnimatedItem)ultimateNumberManipulator).itemAudio.Play(); <>2__current = (object)new WaitForSeconds(((AnimatedItem)ultimateNumberManipulator).itemAudio.clip.length); <>1__state = 4; return true; } break; case 2: if (<clip8>5__10 < 10) { ((AnimatedItem)ultimateNumberManipulator).itemAudio.clip = ultimateNumberManipulator.normalAudioArray[<clip8>5__10]; global::TheUltimateNumber.TheUltimateNumber.Logger.LogDebug((object)("Playing AudioClip " + (object)ultimateNumberManipulator.normalAudioArray[<clip8>5__10])); ((AnimatedItem)ultimateNumberManipulator).itemAudio.Play(); <>2__current = (object)new WaitForSeconds(((AnimatedItem)ultimateNumberManipulator).itemAudio.clip.length); <>1__state = 5; return true; } break; case 3: if (<clip7>5__9 < 10) { ((AnimatedItem)ultimateNumberManipulator).itemAudio.clip = ultimateNumberManipulator.normalAudioArray[<clip7>5__9]; global::TheUltimateNumber.TheUltimateNumber.Logger.LogDebug((object)("Playing AudioClip " + (object)ultimateNumberManipulator.normalAudioArray[<clip7>5__9])); ((AnimatedItem)ultimateNumberManipulator).itemAudio.Play(); <>2__current = (object)new WaitForSeconds(((AnimatedItem)ultimateNumberManipulator).itemAudio.clip.length); <>1__state = 6; return true; } break; case 4: if (<clip6>5__8 < 10) { ((AnimatedItem)ultimateNumberManipulator).itemAudio.clip = ultimateNumberManipulator.normalAudioArray[<clip6>5__8]; global::TheUltimateNumber.TheUltimateNumber.Logger.LogDebug((object)("Playing AudioClip " + (object)ultimateNumberManipulator.normalAudioArray[<clip6>5__8])); ((AnimatedItem)ultimateNumberManipulator).itemAudio.Play(); <>2__current = (object)new WaitForSeconds(((AnimatedItem)ultimateNumberManipulator).itemAudio.clip.length); <>1__state = 7; return true; } break; case 5: if (<clip5>5__7 < 10) { ((AnimatedItem)ultimateNumberManipulator).itemAudio.clip = ultimateNumberManipulator.normalAudioArray[<clip5>5__7]; global::TheUltimateNumber.TheUltimateNumber.Logger.LogDebug((object)("Playing AudioClip " + (object)ultimateNumberManipulator.normalAudioArray[<clip5>5__7])); ((AnimatedItem)ultimateNumberManipulator).itemAudio.Play(); <>2__current = (object)new WaitForSeconds(((AnimatedItem)ultimateNumberManipulator).itemAudio.clip.length); <>1__state = 8; return true; } break; case 6: if (<clip4>5__6 < 10) { ((AnimatedItem)ultimateNumberManipulator).itemAudio.clip = ultimateNumberManipulator.normalAudioArray[<clip4>5__6]; global::TheUltimateNumber.TheUltimateNumber.Logger.LogDebug((object)("Playing AudioClip " + (object)ultimateNumberManipulator.normalAudioArray[<clip4>5__6])); ((AnimatedItem)ultimateNumberManipulator).itemAudio.Play(); <>2__current = (object)new WaitForSeconds(((AnimatedItem)ultimateNumberManipulator).itemAudio.clip.length); <>1__state = 9; return true; } break; case 7: if (<clip3>5__5 < 10) { ((AnimatedItem)ultimateNumberManipulator).itemAudio.clip = ultimateNumberManipulator.normalAudioArray[<clip3>5__5]; global::TheUltimateNumber.TheUltimateNumber.Logger.LogDebug((object)("Playing AudioClip " + (object)ultimateNumberManipulator.normalAudioArray[<clip3>5__5])); ((AnimatedItem)ultimateNumberManipulator).itemAudio.Play(); <>2__current = (object)new WaitForSeconds(((AnimatedItem)ultimateNumberManipulator).itemAudio.clip.length); <>1__state = 10; return true; } break; case 8: if (<clip2>5__4 < 10) { ((AnimatedItem)ultimateNumberManipulator).itemAudio.clip = ultimateNumberManipulator.normalAudioArray[<clip2>5__4]; global::TheUltimateNumber.TheUltimateNumber.Logger.LogDebug((object)("Playing AudioClip " + (object)ultimateNumberManipulator.normalAudioArray[<clip2>5__4])); ((AnimatedItem)ultimateNumberManipulator).itemAudio.Play(); <>2__current = (object)new WaitForSeconds(((AnimatedItem)ultimateNumberManipulator).itemAudio.clip.length); <>1__state = 11; return true; } break; case 9: if (<clip1>5__3 < 10) { ((AnimatedItem)ultimateNumberManipulator).itemAudio.clip = ultimateNumberManipulator.normalAudioArray[<clip1>5__3]; global::TheUltimateNumber.TheUltimateNumber.Logger.LogDebug((object)("Playing AudioClip " + (object)ultimateNumberManipulator.normalAudioArray[<clip1>5__3])); ((AnimatedItem)ultimateNumberManipulator).itemAudio.Play(); <>2__current = (object)new WaitForSeconds(((AnimatedItem)ultimateNumberManipulator).itemAudio.clip.length); <>1__state = 12; return true; } break; } goto IL_079b; } } bool IEnumerator.MoveNext() { //ILSpy generated this explicit interface implementation from .override directive in MoveNext return this.MoveNext(); } [DebuggerHidden] void IEnumerator.Reset() { throw new NotSupportedException(); } } [CompilerGenerated] private sealed class <WaitTenSeconds>d__118 : IEnumerator<object>, IEnumerator, IDisposable { private int <>1__state; private object <>2__current; public UltimateNumberManipulator <>4__this; private byte <i>5__2; object? IEnumerator<object>.Current { [DebuggerHidden] get { return <>2__current; } } object? IEnumerator.Current { [DebuggerHidden] get { return <>2__current; } } [DebuggerHidden] public <WaitTenSeconds>d__118(int <>1__state) { this.<>1__state = <>1__state; } [DebuggerHidden] void IDisposable.Dispose() { <>1__state = -2; } private bool MoveNext() { //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_0072: Expected O, but got Unknown //IL_0048: Unknown result type (might be due to invalid IL or missing references) //IL_0052: Expected O, but got Unknown int num = <>1__state; UltimateNumberManipulator ultimateNumberManipulator = <>4__this; switch (num) { default: return false; case 0: <>1__state = -1; <i>5__2 = 0; goto IL_0093; case 1: <>1__state = -1; goto IL_0062; case 2: { <>1__state = -1; <i>5__2++; goto IL_0093; } IL_0093: if (<i>5__2 < 2) { if (<i>5__2 == 1) { ultimateNumberManipulator.HasWaited = true; <>2__current = (object)new WaitForSeconds(0f); <>1__state = 1; return true; } goto IL_0062; } return false; IL_0062: <>2__current = (object)new WaitForSeconds(10f); <>1__state = 2; return true; } } bool IEnumerator.MoveNext() { //ILSpy generated this explicit interface implementation from .override directive in MoveNext return this.MoveNext(); } [DebuggerHidden] void IEnumerator.Reset() { throw new NotSupportedException(); } } public decimal calculatedValue; private static readonly byte TEN = 10; private static readonly byte HUNDRED = 100; private static readonly short THOUSAND = 1000; private static readonly short TEN_THOUSAND = 10000; private static readonly int HUNDRED_THOUSAND = 100000; private static readonly int MILLION = 1000000; private static readonly int TEN_MILLION = 10000000; private static readonly int HUNDRED_MILLION = 100000000; private static readonly int BILLION = 1000000000; private static readonly int INT_LIMIT = int.MaxValue; private static readonly float COLLIDER_SCALE_FACTOR = 3.44f; public AudioClip? zeroAudio; public AudioClip? oneAudio; public AudioClip? twoAudio; public AudioClip? threeAudio; public AudioClip? fourAudio; public AudioClip? fiveAudio; public AudioClip? sixAudio; public AudioClip? sevenAudio; public AudioClip? eightAudio; public AudioClip? nineAudio; public AudioClip? minusAudio; public AudioClip? oopsAudio; public AudioSource? oopsAudioSource; [HideInInspector] public bool hasGeneratedValue; public Transform? ones; public Transform? tens; public Transform? hundreds; public Transform? thousands; public Transform? tenthousands; public Transform? hundredthousands; public Transform? millions; public Transform? tenmillions; public Transform? hundredmillions; public Transform? billions; public Transform? questionmark; [HideInInspector] public Transform[]? numberPlacesArray; [HideInInspector] public string[]? gameObjectNumberSuffix; [HideInInspector] private GameObject? currentGameObject; [HideInInspector] private ScanNodeProperties? currentScanNodeProperties; [HideInInspector] public BoxCollider? baseBoxCollider; [HideInInspector] public int numberID; [HideInInspector] public readonly NetworkVariable<int> _scrapValueSyncer = new NetworkVariable<int>(0, (NetworkVariableReadPermission)0, (NetworkVariableWritePermission)0); [HideInInspector] public bool haventMovedNumbersYet = true; [HideInInspector] public readonly NetworkVariable<byte> _place1 = new NetworkVariable<byte>((byte)0, (NetworkVariableReadPermission)0, (NetworkVariableWritePermission)0); [HideInInspector] public readonly NetworkVariable<byte> _place2 = new NetworkVariable<byte>((byte)0, (NetworkVariableReadPermission)0, (NetworkVariableWritePermission)0); [HideInInspector] public readonly NetworkVariable<byte> _place3 = new NetworkVariable<byte>((byte)0, (NetworkVariableReadPermission)0, (NetworkVariableWritePermission)0); [HideInInspector] public readonly NetworkVariable<byte> _place4 = new NetworkVariable<byte>((byte)0, (NetworkVariableReadPermission)0, (NetworkVariableWritePermission)0); [HideInInspector] public readonly NetworkVariable<byte> _place5 = new NetworkVariable<byte>((byte)0, (NetworkVariableReadPermission)0, (NetworkVariableWritePermission)0); [HideInInspector] public readonly NetworkVariable<byte> _place6 = new NetworkVariable<byte>((byte)0, (NetworkVariableReadPermission)0, (NetworkVariableWritePermission)0); [HideInInspector] public readonly NetworkVariable<byte> _place7 = new NetworkVariable<byte>((byte)0, (NetworkVariableReadPermission)0, (NetworkVariableWritePermission)0); [HideInInspector] public readonly NetworkVariable<byte> _place8 = new NetworkVariable<byte>((byte)0, (NetworkVariableReadPermission)0, (NetworkVariableWritePermission)0); [HideInInspector] public readonly NetworkVariable<byte> _place9 = new NetworkVariable<byte>((byte)0, (NetworkVariableReadPermission)0, (NetworkVariableWritePermission)0); [HideInInspector] public readonly NetworkVariable<byte> _place10 = new NetworkVariable<byte>((byte)0, (NetworkVariableReadPermission)0, (NetworkVariableWritePermission)0); [HideInInspector] public byte[] numbersInOrder; [HideInInspector] public AudioClip[]? normalAudioArray; public List<SpecialAudioClip> specialAudioClips = new List<SpecialAudioClip>(); [HideInInspector] public readonly NetworkVariable<bool> _hasWaited = new NetworkVariable<bool>(false, (NetworkVariableReadPermission)0, (NetworkVariableWritePermission)0); [HideInInspector] public readonly NetworkVariable<bool> _isExploding = new NetworkVariable<bool>(false, (NetworkVariableReadPermission)0, (NetworkVariableWritePermission)0); [HideInInspector] public readonly NetworkVariable<bool> _hasUpdatedYet = new NetworkVariable<bool>(false, (NetworkVariableReadPermission)0, (NetworkVariableWritePermission)0); public List<Material> normalMat; public List<Material> orangeMat; [HideInInspector] public bool previously672; public Transform sixTransform; public Transform sevenTransform; public Transform twoTransform; [HideInInspector] public decimal ScrapValueSyncer { get { return _scrapValueSyncer.Value; } set { _scrapValueSyncer.Value = (int)value; } } [HideInInspector] public byte place1 { get { return _place1.Value; } set { _place1.Value = value; } } [HideInInspector] public byte place2 { get { return _place2.Value; } set { _place2.Value = value; } } [HideInInspector] public byte place3 { get { return _place3.Value; } set { _place3.Value = value; } } [HideInInspector] public byte place4 { get { return _place4.Value; } set { _place4.Value = value; } } [HideInInspector] public byte place5 { get { return _place5.Value; } set { _place5.Value = value; } } [HideInInspector] public byte place6 { get { return _place6.Value; } set { _place6.Value = value; } } [HideInInspector] public byte place7 { get { return _place7.Value; } set { _place7.Value = value; } } [HideInInspector] public byte place8 { get { return _place8.Value; } set { _place8.Value = value; } } [HideInInspector] public byte place9 { get { return _place9.Value; } set { _place9.Value = value; } } [HideInInspector] public byte place10 { get { return _place10.Value; } set { _place10.Value = value; } } [HideInInspector] public bool HasWaited { get { return _hasWaited.Value; } set { _hasWaited.Value = value; } } [HideInInspector] public bool IsExploding { get { return _isExploding.Value; } set { _isExploding.Value = value; } } [HideInInspector] public bool HasUpdatedYet { get { return _hasUpdatedYet.Value; } set { _hasUpdatedYet.Value = value; } } public override void Start() { ((AnimatedItem)this).Start(); currentGameObject = ((Component)this).gameObject; baseBoxCollider = ((Component)this).gameObject.GetComponent<BoxCollider>(); numberID = ((Object)currentGameObject).GetInstanceID(); Transform val = ((Component)this).transform.Find("ScanNode"); GameObject gameObject = ((Component)val).gameObject; currentScanNodeProperties = gameObject.GetComponent<ScanNodeProperties>(); numbersInOrder = new byte[10] { place1, place2, place3, place4, place5, place6, place7, place8, place9, place10 }; numberPlacesArray = (Transform[]?)(object)new Transform[10] { ones, tens, hundreds, thousands, tenthousands, hundredthousands, millions, tenmillions, hundredmillions, billions }; gameObjectNumberSuffix = new string[10] { "one", "ten", "hundred", "thousand", "10thousand", "100thousand", "million", "10million", "100million", "billion" }; normalAudioArray = (AudioClip[]?)(object)new AudioClip[10] { zeroAudio, oneAudio, twoAudio, threeAudio, fourAudio, fiveAudio, sixAudio, sevenAudio, eightAudio, nineAudio }; oopsAudioSource.clip = oopsAudio; if (((NetworkBehaviour)this).IsServer) { IsExploding = false; HasWaited = false; ((MonoBehaviour)this).StartCoroutine(WaitTenSeconds()); HasUpdatedYet = false; } ((Component)questionmark).gameObject.SetActive(false); Transform[] array = numberPlacesArray; foreach (Transform val2 in array) { ((Component)val2).gameObject.SetActive(true); } oopsAudioSource.volume = global::TheUltimateNumber.TheUltimateNumber.UltimateConfig.numberAudioSourceVolume.Value; base.itemAudio.volume = global::TheUltimateNumber.TheUltimateNumber.UltimateConfig.numberAudioSourceVolume.Value; oopsAudioSource.minDistance = global::TheUltimateNumber.TheUltimateNumber.UltimateConfig.numberAudioSourceMinDistance.Value; base.itemAudio.maxDistance = global::TheUltimateNumber.TheUltimateNumber.UltimateConfig.numberAudioSourceMaxDistance.Value; oopsAudioSource.maxDistance = global::TheUltimateNumber.TheUltimateNumber.UltimateConfig.numberAudioSourceMaxDistance.Value; base.itemAudio.minDistance = global::TheUltimateNumber.TheUltimateNumber.UltimateConfig.numberAudioSourceMinDistance.Value; } public override void Update() { ((AnimatedItem)this).Update(); if (ScrapValueSyncer == 0m && HasWaited && !IsExploding) { ((MonoBehaviour)this).StartCoroutine(PlayExplodeNumberSound()); } if (((NetworkBehaviour)this).IsServer) { if (ScrapValueSyncer != calculatedValue) { ScrapValueSyncer = calculatedValue; } if ((!GameNetworkManager.Instance.gameHasStarted && StartOfRound.Instance.gameStats.daysSpent == 0 && !hasGeneratedValue) || (GameNetworkManager.Instance.gameHasStarted && !hasGeneratedValue)) { global::TheUltimateNumber.TheUltimateNumber.Logger.LogDebug((object)"Calculating scrap value as this scrap just spawned in"); calculatedValue = CalcValue(); ((GrabbableObject)this).scrapValue = (int)calculatedValue; currentScanNodeProperties.subText = "Value: $" + calculatedValue; currentScanNodeProperties.scrapValue = (int)calculatedValue; syncTotalScrapValueServerRpc((int)calculatedValue); MoveNumbers(calculatedValue); return; } hasGeneratedValue = true; if (calculatedValue != (decimal)((GrabbableObject)this).scrapValue || haventMovedNumbersYet || ((GrabbableObject)this).scrapValue == -67) { if (((GrabbableObject)this).scrapValue == -67) { ((GrabbableObject)this).scrapValue = (int)calculatedValue; currentScanNodeProperties.subText = "Value: $" + calculatedValue; currentScanNodeProperties.scrapValue = (int)calculatedValue; ScrapValueSyncer = (int)calculatedValue; syncTotalScrapValueServerRpc((int)calculatedValue, -67f); HasUpdatedYet = true; return; } global::TheUltimateNumber.TheUltimateNumber.Logger.LogDebug((object)("Value of TheUltimateNumber ID " + numberID + " has changed from " + calculatedValue + " to " + ((GrabbableObject)this).scrapValue + ". Updating...")); calculatedValue = ((GrabbableObject)this).scrapValue; currentScanNodeProperties.subText = "Value: $" + calculatedValue; currentScanNodeProperties.scrapValue = (int)calculatedValue; global::TheUltimateNumber.TheUltimateNumber.Logger.LogDebug((object)("Value of TheUltimateNumber ID " + numberID + " has changed. Updating...")); MoveNumbers(calculatedValue); } } else if (!((NetworkBehaviour)this).IsServer && (ScrapValueSyncer != (decimal)((GrabbableObject)this).scrapValue || haventMovedNumbersYet)) { global::TheUltimateNumber.TheUltimateNumber.Logger.LogDebug((object)("Value of TheUltimateNumber ID " + numberID + " has desynced. Updating...")); ((GrabbableObject)this).scrapValue = (int)ScrapValueSyncer; currentScanNodeProperties.subText = "Value: $" + ScrapValueSyncer; currentScanNodeProperties.scrapValue = (int)ScrapValueSyncer; MoveNumbers(ScrapValueSyncer); hasGeneratedValue = true; } } private void MoveNumbers(decimal value) { //IL_001a: 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_003b: Unknown result type (might be due to invalid IL or missing references) //IL_004a: Unknown result type (might be due to invalid IL or missing references) //IL_00b8: Unknown result type (might be due to invalid IL or missing references) //IL_00bd: Unknown result type (might be due to invalid IL or missing references) //IL_00d0: Unknown result type (might be due to invalid IL or missing references) //IL_01ca: Unknown result type (might be due to invalid IL or missing references) //IL_01cf: Unknown result type (might be due to invalid IL or missing references) //IL_01e2: 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_01f3: Unknown result type (might be due to invalid IL or missing references) //IL_0206: Unknown result type (might be due to invalid IL or missing references) //IL_02b9: Unknown result type (might be due to invalid IL or missing references) //IL_02be: Unknown result type (might be due to invalid IL or missing references) //IL_02d1: Unknown result type (might be due to invalid IL or missing references) //IL_02dd: Unknown result type (might be due to invalid IL or missing references) //IL_02e2: Unknown result type (might be due to invalid IL or missing references) //IL_02f5: Unknown result type (might be due to invalid IL or missing references) //IL_0301: Unknown result type (might be due to invalid IL or missing references) //IL_0306: Unknown result type (might be due to invalid IL or missing references) //IL_0319: Unknown result type (might be due to invalid IL or missing references) //IL_012a: Unknown result type (might be due to invalid IL or missing references) //IL_012f: Unknown result type (might be due to invalid IL or missing references) //IL_03cc: Unknown result type (might be due to invalid IL or missing references) //IL_03d1: Unknown result type (might be due to invalid IL or missing references) //IL_03e4: Unknown result type (might be due to invalid IL or missing references) //IL_03f0: Unknown result type (might be due to invalid IL or missing references) //IL_03f5: Unknown result type (might be due to invalid IL or missing references) //IL_0408: Unknown result type (might be due to invalid IL or missing references) //IL_0414: Unknown result type (might be due to invalid IL or missing references) //IL_0419: Unknown result type (might be due to invalid IL or missing references) //IL_042c: Unknown result type (might be due to invalid IL or missing references) //IL_0438: Unknown result type (might be due to invalid IL or missing references) //IL_043d: Unknown result type (might be due to invalid IL or missing references) //IL_0450: Unknown result type (might be due to invalid IL or missing references) //IL_0260: Unknown result type (might be due to invalid IL or missing references) //IL_0265: Unknown result type (might be due to invalid IL or missing references) //IL_027e: Unknown result type (might be due to invalid IL or missing references) //IL_016b: Unknown result type (might be due to invalid IL or missing references) //IL_0527: Unknown result type (might be due to invalid IL or missing references) //IL_052c: Unknown result type (might be due to invalid IL or missing references) //IL_053f: Unknown result type (might be due to invalid IL or missing references) //IL_054b: Unknown result type (might be due to invalid IL or missing references) //IL_0550: Unknown result type (might be due to invalid IL or missing references) //IL_0563: Unknown result type (might be due to invalid IL or missing references) //IL_056f: Unknown result type (might be due to invalid IL or missing references) //IL_0574: Unknown result type (might be due to invalid IL or missing references) //IL_0587: Unknown result type (might be due to invalid IL or missing references) //IL_0593: Unknown result type (might be due to invalid IL or missing references) //IL_0598: Unknown result type (might be due to invalid IL or missing references) //IL_05ab: Unknown result type (might be due to invalid IL or missing references) //IL_05b7: Unknown result type (might be due to invalid IL or missing references) //IL_05bc: Unknown result type (might be due to invalid IL or missing references) //IL_05cf: Unknown result type (might be due to invalid IL or missing references) //IL_0373: Unknown result type (might be due to invalid IL or missing references) //IL_0378: Unknown result type (might be due to invalid IL or missing references) //IL_0391: Unknown result type (might be due to invalid IL or missing references) //IL_06a6: Unknown result type (might be due to invalid IL or missing references) //IL_06ab: Unknown result type (might be due to invalid IL or missing references) //IL_06be: Unknown result type (might be due to invalid IL or missing references) //IL_06ca: Unknown result type (might be due to invalid IL or missing references) //IL_06cf: Unknown result type (might be due to invalid IL or missing references) //IL_06e2: Unknown result type (might be due to invalid IL or missing references) //IL_06ee: Unknown result type (might be due to invalid IL or missing references) //IL_06f3: Unknown result type (might be due to invalid IL or missing references) //IL_0706: Unknown result type (might be due to invalid IL or missing references) //IL_0712: Unknown result type (might be due to invalid IL or missing references) //IL_0717: Unknown result type (might be due to invalid IL or missing references) //IL_072a: Unknown result type (might be due to invalid IL or missing references) //IL_0736: Unknown result type (might be due to invalid IL or missing references) //IL_073b: Unknown result type (might be due to invalid IL or missing references) //IL_074e: Unknown result type (might be due to invalid IL or missing references) //IL_075a: Unknown result type (might be due to invalid IL or missing references) //IL_075f: Unknown result type (might be due to invalid IL or missing references) //IL_0772: Unknown result type (might be due to invalid IL or missing references) //IL_04aa: Unknown result type (might be due to invalid IL or missing references) //IL_04af: Unknown result type (might be due to invalid IL or missing references) //IL_04c8: Unknown result type (might be due to invalid IL or missing references) //IL_0849: Unknown result type (might be due to invalid IL or missing references) //IL_084e: Unknown result type (might be due to invalid IL or missing references) //IL_0861: Unknown result type (might be due to invalid IL or missing references) //IL_086d: Unknown result type (might be due to invalid IL or missing references) //IL_0872: Unknown result type (might be due to invalid IL or missing references) //IL_0885: Unknown result type (might be due to invalid IL or missing references) //IL_0891: Unknown result type (might be due to invalid IL or missing references) //IL_0896: Unknown result type (might be due to invalid IL or missing references) //IL_08a9: Unknown result type (might be due to invalid IL or missing references) //IL_08b5: Unknown result type (might be due to invalid IL or missing references) //IL_08ba: Unknown result type (might be due to invalid IL or missing references) //IL_08cd: Unknown result type (might be due to invalid IL or missing references) //IL_08d9: Unknown result type (might be due to invalid IL or missing references) //IL_08de: Unknown result type (might be due to invalid IL or missing references) //IL_08f1: Unknown result type (might be due to invalid IL or missing references) //IL_08fd: Unknown result type (might be due to invalid IL or missing references) //IL_0902: Unknown result type (might be due to invalid IL or missing references) //IL_0915: Unknown result type (might be due to invalid IL or missing references) //IL_0921: Unknown result type (might be due to invalid IL or missing references) //IL_0926: Unknown result type (might be due to invalid IL or missing references) //IL_0939: Unknown result type (might be due to invalid IL or missing references) //IL_0629: Unknown result type (might be due to invalid IL or missing references) //IL_062e: Unknown result type (might be due to invalid IL or missing references) //IL_0647: Unknown result type (might be due to invalid IL or missing references) //IL_0a10: Unknown result type (might be due to invalid IL or missing references) //IL_0a15: Unknown result type (might be due to invalid IL or missing references) //IL_0a28: Unknown result type (might be due to invalid IL or missing references) //IL_0a34: Unknown result type (might be due to invalid IL or missing references) //IL_0a39: Unknown result type (might be due to invalid IL or missing references) //IL_0a4c: Unknown result type (might be due to invalid IL or missing references) //IL_0a58: Unknown result type (might be due to invalid IL or missing references) //IL_0a5d: Unknown result type (might be due to invalid IL or missing references) //IL_0a70: Unknown result type (might be due to invalid IL or missing references) //IL_0a7c: Unknown result type (might be due to invalid IL or missing references) //IL_0a81: Unknown result type (might be due to invalid IL or missing references) //IL_0a94: Unknown result type (might be due to invalid IL or missing references) //IL_0aa0: Unknown result type (might be due to invalid IL or missing references) //IL_0aa5: Unknown result type (might be due to invalid IL or missing references) //IL_0ab8: Unknown result type (might be due to invalid IL or missing references) //IL_0ac4: Unknown result type (might be due to invalid IL or missing references) //IL_0ac9: Unknown result type (might be due to invalid IL or missing references) //IL_0adc: Unknown result type (might be due to invalid IL or missing references) //IL_0ae8: Unknown result type (might be due to invalid IL or missing references) //IL_0aed: Unknown result type (might be due to invalid IL or missing references) //IL_0b00: Unknown result type (might be due to invalid IL or missing references) //IL_0b0c: Unknown result type (might be due to invalid IL or missing references) //IL_0b11: Unknown result type (might be due to invalid IL or missing references) //IL_0b24: Unknown result type (might be due to invalid IL or missing references) //IL_07cc: Unknown result type (might be due to invalid IL or missing references) //IL_07d1: Unknown result type (might be due to invalid IL or missing references) //IL_07ea: Unknown result type (might be due to invalid IL or missing references) //IL_0df5: Unknown result type (might be due to invalid IL or missing references) //IL_0dfa: Unknown result type (might be due to invalid IL or missing references) //IL_0e0d: Unknown result type (might be due to invalid IL or missing references) //IL_0e19: Unknown result type (might be due to invalid IL or missing references) //IL_0e1e: Unknown result type (might be due to invalid IL or missing references) //IL_0e31: Unknown result type (might be due to invalid IL or missing references) //IL_0e3d: Unknown result type (might be due to invalid IL or missing references) //IL_0e42: Unknown result type (might be due to invalid IL or missing references) //IL_0e55: Unknown result type (might be due to invalid IL or missing references) //IL_0e61: Unknown result type (might be due to invalid IL or missing references) //IL_0e66: Unknown result type (might be due to invalid IL or missing references) //IL_0e79: Unknown result type (might be due to invalid IL or missing references) //IL_0e85: Unknown result type (might be due to invalid IL or missing references) //IL_0e8a: Unknown result type (might be due to invalid IL or missing references) //IL_0e9d: Unknown result type (might be due to invalid IL or missing references) //IL_0ea9: Unknown result type (might be due to invalid IL or missing references) //IL_0eae: Unknown result type (might be due to invalid IL or missing references) //IL_0ec1: Unknown result type (might be due to invalid IL or missing references) //IL_0ecd: Unknown result type (might be due to invalid IL or missing references) //IL_0ed2: Unknown result type (might be due to invalid IL or missing references) //IL_0ee5: Unknown result type (might be due to invalid IL or missing references) //IL_0ef1: Unknown result type (might be due to invalid IL or missing references) //IL_0ef6: Unknown result type (might be due to invalid IL or missing references) //IL_0f09: Unknown result type (might be due to invalid IL or missing references) //IL_0f15: Unknown result type (might be due to invalid IL or missing references) //IL_0f1a: Unknown result type (might be due to invalid IL or missing references) //IL_0f2d: Unknown result type (might be due to invalid IL or missing references) //IL_0f39: Unknown result type (might be due to invalid IL or missing references) //IL_0f3e: Unknown result type (might be due to invalid IL or missing references) //IL_0f51: Unknown result type (might be due to invalid IL or missing references) //IL_0bfb: Unknown result type (might be due to invalid IL or missing references) //IL_0c00: Unknown result type (might be due to invalid IL or missing references) //IL_0c13: Unknown result type (might be due to invalid IL or missing references) //IL_0c1f: Unknown result type (might be due to invalid IL or missing references) //IL_0c24: Unknown result type (might be due to invalid IL or missing references) //IL_0c37: Unknown result type (might be due to invalid IL or missing references) //IL_0c43: Unknown result type (might be due to invalid IL or missing references) //IL_0c48: Unknown result type (might be due to invalid IL or missing references) //IL_0c5b: Unknown result type (might be due to invalid IL or missing references) //IL_0c67: Unknown result type (might be due to invalid IL or missing references) //IL_0c6c: Unknown result type (might be due to invalid IL or missing references) //IL_0c7f: Unknown result type (might be due to invalid IL or missing references) //IL_0c8b: Unknown result type (might be due to invalid IL or missing references) //IL_0c90: Unknown result type (might be due to invalid IL or missing references) //IL_0ca3: Unknown result type (might be due to invalid IL or missing references) //IL_0caf: Unknown result type (might be due to invalid IL or missing references) //IL_0cb4: Unknown result type (might be due to invalid IL or missing references) //IL_0cc7: Unknown result type (might be due to invalid IL or missing references) //IL_0cd3: Unknown result type (might be due to invalid IL or missing references) //IL_0cd8: Unknown result type (might be due to invalid IL or missing references) //IL_0ceb: Unknown result type (might be due to invalid IL or missing references) //IL_0cf7: Unknown result type (might be due to invalid IL or missing references) //IL_0cfc: Unknown result type (might be due to invalid IL or missing references) //IL_0d0f: Unknown result type (might be due to invalid IL or missing references) //IL_0d1b: Unknown result type (might be due to invalid IL or missing references) //IL_0d20: Unknown result type (might be due to invalid IL or missing references) //IL_0d33: Unknown result type (might be due to invalid IL or missing references) //IL_0993: Unknown result type (might be due to invalid IL or missing references) //IL_0998: Unknown result type (might be due to invalid IL or missing references) //IL_09b1: Unknown result type (might be due to invalid IL or missing references) //IL_0b7e: Unknown result type (might be due to invalid IL or missing references) //IL_0b83: Unknown result type (might be due to invalid IL or missing references) //IL_0b9c: Unknown result type (might be due to invalid IL or missing references) //IL_0f8c: Unknown result type (might be due to invalid IL or missing references) //IL_0f91: Unknown result type (might be due to invalid IL or missing references) //IL_0faa: Unknown result type (might be due to invalid IL or missing references) //IL_0d8d: Unknown result type (might be due to invalid IL or missing references) //IL_0d92: Unknown result type (might be due to invalid IL or missing references) //IL_0dab: Unknown result type (might be due to invalid IL or missing references) //IL_10ac: Unknown result type (might be due to invalid IL or missing references) //IL_10b3: Expected O, but got Unknown bool flag = false; if (value < 0m) { flag = true; } decimal num = Math.Abs(value); Vector3 val = default(Vector3); Transform[] array = numberPlacesArray; foreach (Transform val2 in array) { val = val2.localPosition; val.x = -0.3112598f; val2.localPosition = val; } global::TheUltimateNumber.TheUltimateNumber.Logger.LogDebug((object)("Value of absoluteValue is " + num)); if (num < (decimal)TEN) { global::TheUltimateNumber.TheUltimateNumber.Logger.LogDebug((object)("TheUltimateNumber ID " + numberID + "'s value has one digit. Moving GameObjects appropriately...")); val = ones.localPosition; val.x = -0.3112598f; ones.localPosition = val; Transform[] array2 = numberPlacesArray; foreach (Transform val3 in array2) { if (Array.IndexOf(numberPlacesArray, val3) == 0) { ((Component)val3).gameObject.SetActive(true); } else { ((Component)val3).gameObject.SetActive(false); } } try { val = baseBoxCollider.size; } catch (Exception) { global::TheUltimateNumber.TheUltimateNumber.Logger.LogWarning((object)"Couldn't find BoxCollider. Object is likely invalid and will be destroyed."); Object.Destroy((Object)(object)currentGameObject); return; } val.x = COLLIDER_SCALE_FACTOR * 1f; baseBoxCollider.size = val; } else if (num >= (decimal)TEN && num < (decimal)HUNDRED) { global::TheUltimateNumber.TheUltimateNumber.Logger.LogDebug((object)("TheUltimateNumber ID " + numberID + "'s value has two digits. Moving GameObjects appropriately...")); val = ones.localPosition; val.x = -2.03f; ones.localPosition = val; val = tens.localPosition; val.x = 1.41f; tens.localPosition = val; Transform[] array3 = numberPlacesArray; foreach (Transform val4 in array3) { if (Array.IndexOf(numberPlacesArray, val4) <= 1) { ((Component)val4).gameObject.SetActive(true); } else { ((Component)val4).gameObject.SetActive(false); } } val = baseBoxCollider.size; val.x = COLLIDER_SCALE_FACTOR * 2f; baseBoxCollider.size = val; } else if (num >= (decimal)HUNDRED && num < (decimal)THOUSAND) { val = ones.localPosition; val.x = -3.75126f; ones.localPosition = val; val = tens.localPosition; val.x = -0.3112599f; tens.localPosition = val; val = hundreds.localPosition; val.x = 3.12874f; hundreds.localPosition = val; Transform[] array4 = numberPlacesArray; foreach (Transform val5 in array4) { if (Array.IndexOf(numberPlacesArray, val5) <= 2) { ((Component)val5).gameObject.SetActive(true); } else { ((Component)val5).gameObject.SetActive(false); } } val = baseBoxCollider.size; val.x = COLLIDER_SCALE_FACTOR * 3f; baseBoxCollider.size = val; } else if (num >= (decimal)THOUSAND && num < (decimal)TEN_THOUSAND) { val = ones.localPosition; val.x = -5.47f; ones.localPosition = val; val = tens.localPosition; val.x = -2.03f; tens.localPosition = val; val = hundreds.localPosition; val.x = 1.41f; hundreds.localPosition = val; val = thousands.localPosition; val.x = 4.85f; thousands.localPosition = val; Transform[] array5 = numberPlacesArray; foreach (Transform val6 in array5) { if (Array.IndexOf(numberPlacesArray, val6) <= 3) { ((Component)val6).gameObject.SetActive(true); } else { ((Component)val6).gameObject.SetActive(false); } } val = baseBoxCollider.size; val.x = COLLIDER_SCALE_FACTOR * 4f; baseBoxCollider.size = val; } else if (num >= (decimal)TEN_THOUSAND && num < (decimal)HUNDRED_THOUSAND) { global::TheUltimateNumber.TheUltimateNumber.Logger.LogDebug((object)("TheUltimateNumber ID " + numberID + "'s value has five digits. Moving GameObjects appropriately...")); val = ones.localPosition; val.x = -7.191259f; ones.localPosition = val; val = tens.localPosition; val.x = -3.751259f; tens.localPosition = val; val = hundreds.localPosition; val.x = -0.3112594f; hundreds.localPosition = val; val = thousands.localPosition; val.x = 3.12874f; thousands.localPosition = val; val = tenthousands.localPosition; val.x = 6.56874f; tenthousands.localPosition = val; Transform[] array6 = numberPlacesArray; foreach (Transform val7 in array6) { if (Array.IndexOf(numberPlacesArray, val7) <= 4) { ((Component)val7).gameObject.SetActive(true); } else { ((Component)val7).gameObject.SetActive(false); } } val = baseBoxCollider.size; val.x = COLLIDER_SCALE_FACTOR * 5f; baseBoxCollider.size = val; } else if (num >= (decimal)HUNDRED_THOUSAND && num < (decimal)MILLION) { global::TheUltimateNumber.TheUltimateNumber.Logger.LogDebug((object)("TheUltimateNumber ID " + numberID + "'s value has six digits. Moving GameObjects appropriately...")); val = ones.localPosition; val.x = -8.91f; ones.localPosition = val; val = tens.localPosition; val.x = -5.47f; tens.localPosition = val; val = hundreds.localPosition; val.x = -2.03f; hundreds.localPosition = val; val = thousands.localPosition; val.x = 1.409999f; thousands.localPosition = val; val = tenthousands.localPosition; val.x = 4.849999f; tenthousands.localPosition = val; val = hundredthousands.localPosition; val.x = 8.289999f; hundredthousands.localPosition = val; Transform[] array7 = numberPlacesArray; foreach (Transform val8 in array7) { if (Array.IndexOf(numberPlacesArray, val8) <= 5) { ((Component)val8).gameObject.SetActive(true); } else { ((Component)val8).gameObject.SetActive(false); } } val = baseBoxCollider.size; val.x = COLLIDER_SCALE_FACTOR * 6f; baseBoxCollider.size = val; } else if (num >= (decimal)MILLION && num < (decimal)TEN_MILLION) { global::TheUltimateNumber.TheUltimateNumber.Logger.LogDebug((object)("TheUltimateNumber ID " + numberID + "'s value has seven digits. Moving GameObjects appropriately...")); val = ones.localPosition; val.x = -10.63126f; ones.localPosition = val; val = tens.localPosition; val.x = -7.191259f; tens.localPosition = val; val = hundreds.localPosition; val.x = -3.751259f; hundreds.localPosition = val; val = thousands.localPosition; val.x = -0.3112596f; thousands.localPosition = val; val = tenthousands.localPosition; val.x = 3.12874f; tenthousands.localPosition = val; val = hundredthousands.localPosition; val.x = 6.56874f; hundredthousands.localPosition = val; val = millions.localPosition; val.x = 10.00874f; millions.localPosition = val; Transform[] array8 = numberPlacesArray; foreach (Transform val9 in array8) { if (Array.IndexOf(numberPlacesArray, val9) <= 6) { ((Component)val9).gameObject.SetActive(true); } else { ((Component)val9).gameObject.SetActive(false); } } val = baseBoxCollider.size; val.x = COLLIDER_SCALE_FACTOR * 7f; baseBoxCollider.size = val; } else if (num >= (decimal)TEN_MILLION && num < (decimal)HUNDRED_MILLION) { global::TheUltimateNumber.TheUltimateNumber.Logger.LogDebug((object)("TheUltimateNumber ID " + numberID + "'s value has eight digits. Moving GameObjects appropriately...")); val = ones.localPosition; val.x = -12.35f; ones.localPosition = val; val = tens.localPosition; val.x = -8.91f; tens.localPosition = val; val = hundreds.localPosition; val.x = -5.47f; hundreds.localPosition = val; val = thousands.localPosition; val.x = -2.03f; thousands.localPosition = val; val = tenthousands.localPosition; val.x = 1.41f; tenthousands.localPosition = val; val = hundredthousands.localPosition; val.x = 4.849999f; hundredthousands.localPosition = val; val = millions.localPosition; val.x = 8.29f; millions.localPosition = val; val = tenmillions.localPosition; val.x = 11.73f; tenmillions.localPosition = val; Transform[] array9 = numberPlacesArray; foreach (Transform val10 in array9) { if (Array.IndexOf(numberPlacesArray, val10) <= 7) { ((Component)val10).gameObject.SetActive(true); } else { ((Component)val10).gameObject.SetActive(false); } } val = baseBoxCollider.size; val.x = COLLIDER_SCALE_FACTOR * 8f; baseBoxCollider.size = val; } else if (num >= (decimal)HUNDRED_MILLION && num < (decimal)BILLION) { global::TheUltimateNumber.TheUltimateNumber.Logger.LogDebug((object)("TheUltimateNumber ID " + numberID + "'s value has nine digits. Moving GameObjects appropriately...")); val = ones.localPosition; val.x = -14.07126f; ones.localPosition = val; val = tens.localPosition; val.x = -10.63126f; tens.localPosition = val; val = hundreds.localPosition; val.x = -7.19126f; hundreds.localPosition = val; val = thousands.localPosition; val.x = -3.75126f; thousands.localPosition = val; val = tenthousands.localPosition; val.x = -0.31126f; tenthousands.localPosition = val; val = hundredthousands.localPosition; val.x = 3.128739f; hundredthousands.localPosition = val; val = millions.localPosition; val.x = 6.56874f; millions.localPosition = val; val = tenmillions.localPosition; val.x = 10.00874f; tenmillions.localPosition = val; val = hundredmillions.localPosition; val.x = 13.44874f; hundredmillions.localPosition = val; Transform[] array10 = numberPlacesArray; foreach (Transform val11 in array10) { if (Array.IndexOf(numberPlacesArray, val11) <= 8) { ((Component)val11).gameObject.SetActive(true); } else { ((Component)val11).gameObject.SetActive(false); } } val = baseBoxCollider.size; val.x = COLLIDER_SCALE_FACTOR * 9f; baseBoxCollider.size = val; } else if (num >= (decimal)BILLION) { global::TheUltimateNumber.TheUltimateNumber.Logger.LogDebug((object)("TheUltimateNumber ID " + numberID + "'s value has ten digits. Moving GameObjects appropriately...")); val = ones.localPosition; val.x = -15.79f; ones.localPosition = val; val = tens.localPosition; val.x = -12.35f; tens.localPosition = val; val = hundreds.localPosition; val.x = -8.909999f; hundreds.localPosition = val; val = thousands.localPosition; val.x = -5.469999f; thousands.localPosition = val; val = tenthousands.localPosition; val.x = -2.029999f; tenthousands.localPosition = val; val = hundredthousands.localPosition; val.x = 1.41f; hundredthousands.localPosition = val; val = millions.localPosition; val.x = 4.85f; millions.localPosition = val; val = tenmillions.localPosition; val.x = 8.29f; tenmillions.localPosition = val; val = hundredmillions.localPosition; val.x = 11.73f; hundredmillions.localPosition = val; val = billions.localPosition; val.x = 15.17f; billions.localPosition = val; Transform[] array11 = numberPlacesArray; foreach (Transform val12 in array11) { ((Component)val12).gameObject.SetActive(true); } val = baseBoxCollider.size; val.x = COLLIDER_SCALE_FACTOR * 10f; baseBoxCollider.size = val; } else { global::TheUltimateNumber.TheUltimateNumber.Logger.LogError((object)("Something went wrong! TheUltimateNumber ID " + numberID + "'s value is invalid with value " + value)); } int num7 = 1; long num8 = 10L; Transform val13 = null; byte b = 0; byte b2 = 0; if (((NetworkBehaviour)this).IsServer) { global::TheUltimateNumber.TheUltimateNumber.Logger.LogDebug((object)"We're sever so setting a bunch of placeX values"); place1 = byte.MaxValue; place2 = byte.MaxValue; place3 = byte.MaxValue; place4 = byte.MaxValue; place5 = byte.MaxValue; place6 = byte.MaxValue; place7 = byte.MaxValue; place8 = byte.MaxValue; place9 = byte.MaxValue; place10 = byte.MaxValue; } Transform[] array12 = numberPlacesArray; foreach (Transform val14 in array12) { if (((Component)val14).gameObject.activeSelf) { foreach (Transform item in val14) { Transform val15 = item; ((Component)val15).gameObject.SetActive(false); } byte b3 = (byte)Math.Truncate(num % (decimal)num8 / (decimal)num7); global::TheUltimateNumber.TheUltimateNumber.Logger.LogDebug((object)("Looking for a GameObject named " + b3 + gameObjectNumberSuffix[b2])); Transform val16 = ((Component)val14).transform.Find(b3 + gameObjectNumberSuffix[b2]); global::TheUltimateNumber.TheUltimateNumber.Logger.LogDebug((object)("Found Transform " + (object)val16)); ((Component)val16).gameObject.SetActive(true); global::TheUltimateNumber.TheUltimateNumber.Logger.LogDebug((object)"Set Transform as active!"); val13 = val14; b = b2; if (((NetworkBehaviour)this).IsServer) { switch (b2) { case 0: place1 = b3; global::TheUltimateNumber.TheUltimateNumber.Logger.LogDebug((object)("Setting place1 to " + b3)); break; case 1: place2 = b3; global::TheUltimateNumber.TheUltimateNumber.Logger.LogDebug((object)("Setting place2 to " + b3)); break; case 2: place3 = b3; global::TheUltimateNumber.TheUltimateNumber.Logger.LogDebug((object)("Setting place3 to " + b3)); break; case 3: place4 = b3; global::TheUltimateNumber.TheUltimateNumber.Logger.LogDebug((object)("Setting place4 to " + b3)); break; case 4: place5 = b3; global::TheUltimateNumber.TheUltimateNumber.Logger.LogDebug((object)("Setting place5 to " + b3)); break; case 5: place6 = b3; global::TheUltimateNumber.TheUltimateNumber.Logger.LogDebug((object)("Setting place6 to " + b3)); break; case 6: place7 = b3; global::TheUltimateNumber.TheUltimateNumber.Logger.LogDebug((object)("Setting place7 to " + b3)); break; case 7: place8 = b3; global::TheUltimateNumber.TheUltimateNumber.Logger.LogDebug((object)("Setting place8 to " + b3)); break; case 8: place9 = b3; global::TheUltimateNumber.TheUltimateNumber.Logger.LogDebug((object)("Setting place9 to " + b3)); break; case 9: place10 = b3; global::TheUltimateNumber.TheUltimateNumber.Logger.LogDebug((object)("Setting place10 to " + b3)); break; default: global::TheUltimateNumber.TheUltimateNumber.Logger.LogError((object)"Genuinely how did this happen. The numberPlace switch statement broke lol"); break; } } } num7 *= TEN; num8 *= TEN; b2++; } if (flag) { global::TheUltimateNumber.TheUltimateNumber.Logger.LogDebug((object)("Looking for a GameObject named -" + gameObjectNumberSuffix[b])); Transform val17 = ((Component)val13).transform.Find("-" + gameObjectNumberSuffix[b]); ((Component)val17).gameObject.SetActive(true); } if (value == 672m) { ((Renderer)((Component)sixTransform).gameObject.GetComponent<MeshRenderer>()).SetMaterials(orangeMat); ((Renderer)((Component)sevenTransform).gameObject.GetComponent<MeshRenderer>()).SetMaterials(orangeMat); ((Renderer)((Component)twoTransform).gameObject.GetComponent<MeshRenderer>()).SetMaterials(orangeMat); previously672 = true; } else if (value != 672m && previously672) { ((Renderer)((Component)sixTransform).gameObject.GetComponent<MeshRenderer>()).SetMaterials(normalMat); ((Renderer)((Component)sevenTransform).gameObject.GetComponent<MeshRenderer>()).SetMaterials(normalMat); ((Renderer)((Component)twoTransform).gameObject.GetComponent<MeshRenderer>()).SetMaterials(normalMat); previously672 = false; } haventMovedNumbersYet = false; } public override void OnNetworkSpawn() { ((NetworkBehaviour)this).OnNetworkSpawn(); ((NetworkVariableBase)_scrapValueSyncer).Initialize((NetworkBehaviour)(object)this); ((NetworkVariableBase)_place1).Initialize((NetworkBehaviour)(object)this); ((NetworkVariableBase)_place2).Initialize((NetworkBehaviour)(object)this); ((NetworkVariableBase)_place3).Initialize((NetworkBehaviour)(object)this); ((NetworkVariableBase)_place4).Initialize((NetworkBehaviour)(object)this); ((NetworkVariableBase)_place5).Initialize((NetworkBehaviour)(object)this); ((NetworkVariableBase)_place6).Initialize((NetworkBehaviour)(object)this); ((NetworkVariableBase)_place7).Initialize((NetworkBehaviour)(object)this); ((NetworkVariableBase)_place8).Initialize((NetworkBehaviour)(object)this); ((NetworkVariableBase)_place9).Initialize((NetworkBehaviour)(object)this); ((NetworkVariableBase)_place10).Initialize((NetworkBehaviour)(object)this); ((NetworkVariableBase)_hasWaited).Initialize((NetworkBehaviour)(object)this); ((NetworkVariableBase)_isExploding).Initialize((NetworkBehaviour)(object)this); ((NetworkVariableBase)_hasUpdatedYet).Initialize((NetworkBehaviour)(object)this); } public int CalcValue() { int minValue = 0; int num = TEN; Random random = new Random(); double num2 = random.NextDouble() * 100.0; if (num2 <= global::TheUltimateNumber.TheUltimateNumber.UltimateConfig.hundredsChance.Value) { minValue = num; num = HUNDRED; num2 = random.NextDouble() * 100.0; if (num2 <= global::TheUltimateNumber.TheUltimateNumber.UltimateConfig.thousandsChance.Value) { minValue = num; num = THOUSAND; num2 = random.NextDouble() * 100.0; if (num2 <= global::TheUltimateNumber.TheUltimateNumber.UltimateConfig.tenThousandsChance.Value) { minValue = num; num = TEN_THOUSAND; num2 = random.NextDouble() * 100.0; if (num2 <= global::TheUltimateNumber.TheUltimateNumber.UltimateConfig.hundredThousandsChance.Value) { minValue = num; num = HUNDRED_THOUSAND; num2 = random.NextDouble() * 100.0; if (num2 <= global::TheUltimateNumber.TheUltimateNumber.UltimateConfig.millionsChance.Value) { minValue = num; num = MILLION; num2 = random.NextDouble() * 100.0; if (num2 <= global::TheUltimateNumber.TheUltimateNumber.UltimateConfig.tenMillionsChance.Value) { minValue = num; num = TEN_MILLION; num2 = random.NextDouble() * 100.0; if (num2 <= global::TheUltimateNumber.TheUltimateNumber.UltimateConfig.hundredMillionsChance.Value) { minValue = num; num = HUNDRED_MILLION; num2 = random.NextDouble() * 100.0; if (num2 <= global::TheUltimateNumber.TheUltimateNumber.UltimateConfig.billionsChance.Value) { minValue = num; num = BILLION; num2 = random.NextDouble() * 100.0; if (num2 <= global::TheUltimateNumber.TheUltimateNumber.UltimateConfig.intLimitChance.Value) { minValue = num; num = INT_LIMIT; } } } } } } } } } int num3; for (num3 = random.Next(minValue, num); num3 == 0; num3 = random.Next(minValue, num)) { } if (num3 == INT_LIMIT - 1) { global::TheUltimateNumber.TheUltimateNumber.Logger.LogWarning((object)"Jesus christ. Never expected this code to be used. Good luck with the dice roll."); num3 += random.Next(0, 2); } global::TheUltimateNumber.TheUltimateNumber.Logger.LogDebug((object)("Calculated a scrap value of " + num3 + " for TheUltimateNumber ID " + numberID)); hasGeneratedValue = true; return num3; } public override void EquipItem() { ((AnimatedItem)this).EquipItem(); global::TheUltimateNumber.TheUltimateNumber.Logger.LogDebug((object)"Equipping item and trying to play audio"); if (!hasGeneratedValue) { return; } foreach (SpecialAudioClip specialAudioClip in specialAudioClips) { if ((Object)(object)specialAudioClip.clip != (Object)null && (decimal)specialAudioClip.value == ScrapValueSyncer) { if (specialAudioClip.explodeAfter) { oopsAudioSource.clip = specialAudioClip.clip; ((MonoBehaviour)this).StartCoroutine(PlayExplodeNumberSound()); } else { base.itemAudio.clip = specialAudioClip.clip; base.itemAudio.Play(); } return; } } global::TheUltimateNumber.TheUltimateNumber.Logger.LogDebug((object)"No special audio clip matches value"); ((MonoBehaviour)this).StartCoroutine(PlayNormalNumberAudio()); global::TheUltimateNumber.TheUltimateNumber.Logger.LogDebug((object)"Tried to play audio"); } [IteratorStateMachine(typeof(<PlayNormalNumberAudio>d__115))] public IEnumerator PlayNormalNumberAudio() { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new <PlayNormalNumberAudio>d__115(0) { <>4__this = this }; } public override void DiscardItem() { IntPtr functionPointer = typeof(GrabbableObject).GetMethod("DiscardItem").MethodHandle.GetFunctionPointer(); Action action = (Action)Activator.CreateInstance(typeof(Action), this, functionPointer); action(); } public override void PocketItem() { ((AnimatedItem)this).PocketItem(); base.itemAudio.volume = global::TheUltimateNumber.TheUltimateNumber.UltimateConfig.numberAudioSourceVolume.Value; } [IteratorStateMachine(typeof(<WaitTenSeconds>d__118))] public IEnumerator WaitTenSeconds() { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new <WaitTenSeconds>d__118(0) { <>4__this = this }; } [ServerRpc(RequireOwnership = false)] public void ExplodeNumberServerRpc() { //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Invalid comparison between Unknown and I4 //IL_008c: Unknown result type (might be due to invalid IL or missing references) //IL_0096: Invalid comparison between Unknown and I4 //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Unknown result type (might be due to invalid IL or missing references) //IL_007c: Unknown result type (might be due to invalid IL or missing references) //IL_00c1: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager; if (networkManager != null && networkManager.IsListening) { if ((int)((NetworkBehaviour)this).__rpc_exec_stage != 1 && (networkManager.IsClient || networkManager.IsHost)) { ServerRpcParams val = default(ServerRpcParams); FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendServerRpc(640149591u, val, (RpcDelivery)0); ((NetworkBehaviour)this).__endSendServerRpc(ref val2, 640149591u, val, (RpcDelivery)0); } if ((int)((NetworkBehaviour)this).__rpc_exec_stage == 1 && (networkManager.IsServer || networkManager.IsHost)) { ((NetworkBehaviour)this).__rpc_exec_stage = (__RpcExecStage)0; ExplodeNumberClientRpc(); } } } [ClientRpc] public void ExplodeNumberClientRpc() { //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Invalid comparison between Unknown and I4 //IL_008c: Unknown result type (might be due to invalid IL or missing references) //IL_0096: Invalid comparison between Unknown and I4 //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Unknown result type (might be due to invalid IL or missing references) //IL_007c: Unknown result type (might be due to invalid IL or missing references) //IL_00c1: Unknown result type (might be due to invalid IL or missing references) //IL_0110: Unknown result type (might be due to invalid IL or missing references) //IL_00da: Unknown result type (might be due to invalid IL or missing references) //IL_00e0: Unknown result type (might be due to invalid IL or missing references) //IL_00e3: Unknown result type (might be due to invalid IL or missing references) //IL_00e9: Unknown result type (might be due to invalid IL or missing references) //IL_00ec: 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_00f5: Unknown result type (might be due to invalid IL or missing references) //IL_00fb: Unknown result type (might be due to invalid IL or missing references) //IL_00fe: Unknown result type (might be due to invalid IL or missing references) //IL_0104: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager; if (networkManager == null || !networkManager.IsListening) { return; } if ((int)((NetworkBehaviour)this).__rpc_exec_stage != 1 && (networkManager.IsServer || networkManager.IsHost)) { ClientRpcParams val = default(ClientRpcParams); FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendClientRpc(2443973414u, val, (RpcDelivery)0); ((NetworkBehaviour)this).__endSendClientRpc(ref val2, 2443973414u, val, (RpcDelivery)0); } if ((int)((NetworkBehaviour)this).__rpc_exec_stage == 1 && (networkManager.IsClient || networkManager.IsHost)) { ((NetworkBehaviour)this).__rpc_exec_stage = (__RpcExecStage)0; if (((GrabbableObject)this).isHeld) { ((GrabbableObject)this).playerHeldBy.DropAllHeldItems(true, false, false, false, default(Vector3), default(Vector3), default(Vector3), default(Vector3), default(Vector3)); } Landmine.SpawnExplosion(((Component)this).transform.position, true, 5f, 6f, 50, global::TheUltimateNumber.TheUltimateNumber.UltimateConfig.explosionPhysicsForce.Value, (GameObject)null, false); Object.Destroy((Object)(object)((Component)this).gameObject); } } [IteratorStateMachine(typeof(<PlayExplodeNumberSound>d__121))] public IEnumerator PlayExplodeNumberSound() { //yield-return decompiler failed: Unexpected instruction in Iterator.Dispose() return new <PlayExplodeNumberSound>d__121(0) { <>4__this = this }; } [ServerRpc(RequireOwnership = false)] public void playOopsAudioServerRpc() { //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Invalid comparison between Unknown and I4 //IL_008c: Unknown result type (might be due to invalid IL or missing references) //IL_0096: Invalid comparison between Unknown and I4 //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Unknown result type (might be due to invalid IL or missing references) //IL_007c: Unknown result type (might be due to invalid IL or missing references) //IL_00c1: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager; if (networkManager != null && networkManager.IsListening) { if ((int)((NetworkBehaviour)this).__rpc_exec_stage != 1 && (networkManager.IsClient || networkManager.IsHost)) { ServerRpcParams val = default(ServerRpcParams); FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendServerRpc(3518729144u, val, (RpcDelivery)0); ((NetworkBehaviour)this).__endSendServerRpc(ref val2, 3518729144u, val, (RpcDelivery)0); } if ((int)((NetworkBehaviour)this).__rpc_exec_stage == 1 && (networkManager.IsServer || networkManager.IsHost)) { ((NetworkBehaviour)this).__rpc_exec_stage = (__RpcExecStage)0; playOopsAudioClientRpc(); } } } [ClientRpc] public void playOopsAudioClientRpc() { //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Invalid comparison between Unknown and I4 //IL_008c: Unknown result type (might be due to invalid IL or missing references) //IL_0096: Invalid comparison between Unknown and I4 //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Unknown result type (might be due to invalid IL or missing references) //IL_007c: Unknown result type (might be due to invalid IL or missing references) //IL_00c1: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager; if (networkManager != null && networkManager.IsListening) { if ((int)((NetworkBehaviour)this).__rpc_exec_stage != 1 && (networkManager.IsServer || networkManager.IsHost)) { ClientRpcParams val = default(ClientRpcParams); FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendClientRpc(4108114188u, val, (RpcDelivery)0); ((NetworkBehaviour)this).__endSendClientRpc(ref val2, 4108114188u, val, (RpcDelivery)0); } if ((int)((NetworkBehaviour)this).__rpc_exec_stage == 1 && (networkManager.IsClient || networkManager.IsHost)) { ((NetworkBehaviour)this).__rpc_exec_stage = (__RpcExecStage)0; IsExploding = true; oopsAudioSource.Play(); } } } [ServerRpc(RequireOwnership = false)] public void syncTotalScrapValueServerRpc(float plusval = 0f, float minusval = 0f) { //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Invalid comparison between Unknown and I4 //IL_00c2: Unknown result type (might be due to invalid IL or missing references) //IL_00cc: Invalid comparison between Unknown and I4 //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Unknown result type (might be due to invalid IL or missing references) //IL_007d: Unknown result type (might be due to invalid IL or missing references) //IL_0083: Unknown result type (might be due to invalid IL or missing references) //IL_0098: 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_00b2: 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) NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager; if (networkManager != null && networkManager.IsListening) { if ((int)((NetworkBehaviour)this).__rpc_exec_stage != 1 && (networkManager.IsClient || networkManager.IsHost)) { ServerRpcParams val = default(ServerRpcParams); FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendServerRpc(3047672134u, val, (RpcDelivery)0); ((FastBufferWriter)(ref val2)).WriteValueSafe<float>(ref plusval, default(ForPrimitives)); ((FastBufferWriter)(ref val2)).WriteValueSafe<float>(ref minusval, default(ForPrimitives)); ((NetworkBehaviour)this).__endSendServerRpc(ref val2, 3047672134u, val, (RpcDelivery)0); } if ((int)((NetworkBehaviour)this).__rpc_exec_stage == 1 && (networkManager.IsServer || networkManager.IsHost)) { ((NetworkBehaviour)this).__rpc_exec_stage = (__RpcExecStage)0; syncTotalScrapValueClientRpc(plusval, minusval); } } } [ClientRpc] public void syncTotalScrapValueClientRpc(float plusval, float minusval) { //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Invalid comparison between Unknown and I4 //IL_00c2: Unknown result type (might be due to invalid IL or missing references) //IL_00cc: Invalid comparison between Unknown and I4 //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0068: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Unknown result type (might be due to invalid IL or missing references) //IL_007d: Unknown result type (might be due to invalid IL or missing references) //IL_0083: Unknown result type (might be due to invalid IL or missing references) //IL_0098: 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_00b2: 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) NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager; if (networkManager != null && networkManager.IsListening) { if ((int)((NetworkBehaviour)this).__rpc_exec_stage != 1 && (networkManager.IsServer || networkManager.IsHost)) { ClientRpcParams val = default(ClientRpcParams); FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendClientRpc(3561509306u, val, (RpcDelivery)0); ((FastBufferWriter)(ref val2)).WriteValueSafe<float>(ref plusval, default(ForPrimitives)); ((FastBufferWriter)(ref val2)).WriteValueSafe<float>(ref minusval, default(ForPrimitives)); ((NetworkBehaviour)this).__endSendClientRpc(ref val2, 3561509306u, val, (RpcDelivery)0); } if ((int)((NetworkBehaviour)this).__rpc_exec_stage == 1 && (networkManager.IsClient || networkManager.IsHost)) { ((NetworkBehaviour)this).__rpc_exec_stage = (__RpcExecStage)0; global::TheUltimateNumber.TheUltimateNumber.Logger.LogDebug((object)("Total scrap value before adding is " + RoundManager.Instance.totalScrapValueInLevel)); RoundManager.Instance.totalScrapValueInLevel = RoundManager.Instance.totalScrapValueInLevel + plusval - minusval; global::TheUltimateNumber.TheUltimateNumber.Logger.LogDebug((object)("Total scrap value after adding is " + RoundManager.Instance.totalScrapValueInLevel)); } } } protected override void __initializeVariables() { if (_scrapValueSyncer == null) { throw new Exception("UltimateNumberManipulator._scrapValueSyncer cannot be null. All NetworkVariableBase instances must be initialized."); } ((NetworkVariableBase)_scrapValueSyncer).Initialize((NetworkBehaviour)(object)this); ((NetworkBehaviour)this).__nameNetworkVariable((NetworkVariableBase)(object)_scrapValueSyncer, "_scrapValueSyncer"); ((NetworkBehaviour)this).NetworkVariableFields.Add((NetworkVariableBase)(object)_scrapValueSyncer); if (_place1 == null) { throw new Exception("UltimateNumberManipulator._place1 cannot be null. All NetworkVariableBase instances must be initialized."); } ((NetworkVariableBase)_place1).Initialize((NetworkBehaviour)(object)this); ((NetworkBehaviour)this).__nameNetworkVariable((NetworkVariableBase)(object)_place1, "_place1"); ((NetworkBehaviour)this).NetworkVariableFields.Add((NetworkVariableBase)(object)_place1); if (_place2 == null) { throw new Exception("UltimateNumberManipulator._place2 cannot be null. All NetworkVariableBase instances must be initialized."); } ((NetworkVariableBase)_place2).Initialize((NetworkBehaviour)(object)this); ((NetworkBehaviour)this).__nameNetworkVariable((NetworkVariableBase)(object)_place2, "_place2"); ((NetworkBehaviour)this).NetworkVariableFields.Add((NetworkVariableBase)(object)_place2); if (_place3 == null) { throw new Exception("UltimateNumberManipulator._place3 cannot be null. All NetworkVariableBase instances must be initialized."); } ((NetworkVariableBase)_place3).Initialize((NetworkBehaviour)(object)this); ((NetworkBehaviour)this).__nameNetworkVariable((NetworkVariableBase)(object)_place3, "_place3"); ((NetworkBehaviour)this).NetworkVariableFields.Add((NetworkVariableBase)(object)_place3); if (_place4 == null) { throw new Exception("UltimateNumberManipulator._place4 cannot be null. All NetworkVariableBase instances must be initialized."); } ((NetworkVariableBase)_place4).Initialize((NetworkBehaviour)(object)this); ((NetworkBehaviour)this).__nameNetworkVariable((NetworkVariableBase)(object)_place4, "_place4"); ((NetworkBehaviour)this).NetworkVariableFields.Add((NetworkVariableBase)(object)_place4); if (_place5 == null) { throw new Exception("UltimateNumberManipulator._place5 cannot be null. All NetworkVariableBase instances must be initialized."); } ((NetworkVariableBase)_place5).Initialize((NetworkBehaviour)(object)this); ((NetworkBehaviour)this).__nameNetworkVariable((NetworkVariableBase)(object)_place5, "_place5"); ((NetworkBehaviour)this).NetworkVariableFields.Add((NetworkVariableBase)(object)_place5); if (_place6 == null) { throw new Exception("UltimateNumberManipulator._place6 cannot be null. All NetworkVariableBase instances must be initialized."); } ((NetworkVariableBase)_place6).Initialize((NetworkBehaviour)(object)this); ((NetworkBehaviour)this).__nameNetworkVariable((NetworkVariableBase)(object)_place6, "_place6"); ((NetworkBehaviour)this).NetworkVariableFields.Add((NetworkVariableBase)(object)_place6); if (_place7 == null) { throw new Exception("UltimateNumberManipulator._place7 cannot be null. All NetworkVariableBase instances must be initialized."); } ((NetworkVariableBase)_place7).Initialize((NetworkBehaviour)(object)this); ((NetworkBehaviour)this).__nameNetworkVariable((NetworkVariableBase)(object)_place7, "_place7"); ((NetworkBehaviour)this).NetworkVariableFields.Add((NetworkVariableBase)(object)_place7); if (_place8 == null) { throw new Exception("UltimateNumberManipulator._place8 cannot be null. All NetworkVariableBase instances must be initialized."); } ((NetworkVariableBase)_place8).Initialize((NetworkBehaviour)(object)this); ((NetworkBehaviour)this).__nameNetworkVariable((NetworkVariableBase)(object)_place8, "_place8"); ((NetworkBehaviour)this).NetworkVariableFields.Add((NetworkVariableBase)(object)_place8); if (_place9 == null) { throw new Exception("UltimateNumberManipulator._place9 cannot be null. All NetworkVariableBase instances must be initialized."); } ((NetworkVariableBase)_place9).Initialize((NetworkBehaviour)(object)this); ((NetworkBehaviour)this).__nameNetworkVariable((NetworkVariableBase)(object)_place9, "_place9"); ((NetworkBehaviour)this).NetworkVariableFields.Add((NetworkVariableBase)(object)_place9); if (_place10 == null) { throw new Exception("UltimateNumberManipulator._place10 cannot be null. All NetworkVariableBase instances must be initialized."); } ((NetworkVariableBase)_place10).Initialize((NetworkBehaviour)(object)this); ((NetworkBehaviour)this).__nameNetworkVariable((NetworkVariableBase)(object)_place10, "_place10"); ((NetworkBehaviour)this).NetworkVariableFields.Add((NetworkVariableBase)(object)_place10); if (_hasWaited == null) { throw new Exception("UltimateNumberManipulator._hasWaited cannot be null. All NetworkVariableBase instances must be initialized."); } ((NetworkVariableBase)_hasWaited).Initialize((NetworkBehaviour)(object)this); ((NetworkBehaviour)this).__nameNetworkVariable((NetworkVariableBase)(object)_hasWaited, "_hasWaited"); ((NetworkBehaviour)this).NetworkVariableFields.Add((NetworkVariableBase)(object)_hasWaited); if (_isExploding == null) { throw new Exception("UltimateNumberManipulator._isExploding cannot be null. All NetworkVariableBase instances must be initialized."); } ((NetworkVariableBase)_isExploding).Initialize((NetworkBehaviour)(object)this); ((NetworkBehaviour)this).__nameNetworkVariable((NetworkVariableBase)(object)_isExploding, "_isExploding"); ((NetworkBehaviour)this).NetworkVariableFields.Add((NetworkVariableBase)(object)_isExploding); if (_hasUpdatedYet == null) { throw new Exception("UltimateNumberManipulator._hasUpdatedYet cannot be null. All NetworkVariableBase instances must be initialized."); } ((NetworkVariableBase)_hasUpdatedYet).Initialize((NetworkBehaviour)(object)this); ((NetworkBehaviour)this).__nameNetworkVariable((NetworkVariableBase)(object)_hasUpdatedYet, "_hasUpdatedYet"); ((NetworkBehaviour)this).NetworkVariableFields.Add((NetworkVariableBase)(object)_hasUpdatedYet); ((AnimatedItem)this).__initializeVariables(); } protected override void __initializeRpcs() { //IL_000d: Unknown result type (might be due to invalid IL or missing references) //IL_001c: Expected O, but got Unknown //IL_0029: Unknown result type (might be due to invalid IL or missing references) //IL_0038: Expected O, but got Unknown //IL_0045: Unknown result type (might be due to invalid IL or missing references) //IL_0054: Expected O, but got Unknown //IL_0061: Unknown result type (might be due to invalid IL or missing references) //IL_0070: Expected O, but got Unknown //IL_007d: Unknown result type (might be due to invalid IL or missing references) //IL_008c: Expected O, but got Unknown //IL_0099: Unknown result type (might be due to invalid IL or missing references) //IL_00a8: Expected O, but got Unknown ((NetworkBehaviour)this).__registerRpc(640149591u, new RpcReceiveHandler(__rpc_handler_640149591), "ExplodeNumberServerRpc"); ((NetworkBehaviour)this).__registerRpc(2443973414u, new RpcReceiveHandler(__rpc_handler_2443973414), "ExplodeNumberClientRpc"); ((NetworkBehaviour)this).__registerRpc(3518729144u, new RpcReceiveHandler(__rpc_handler_3518729144), "playOopsAudioServerRpc"); ((NetworkBehaviour)this).__registerRpc(4108114188u, new RpcReceiveHandler(__rpc_handler_4108114188), "playOopsAudioClientRpc"); ((NetworkBehaviour)this).__registerRpc(3047672134u, new RpcReceiveHandler(__rpc_handler_3047672134), "syncTotalScrapValueServerRpc"); ((NetworkBehaviour)this).__registerRpc(3561509306u, new RpcReceiveHandler(__rpc_handler_3561509306), "syncTotalScrapValueClientRpc"); ((AnimatedItem)this).__initializeRpcs(); } private static void __rpc_handler_640149591(NetworkBehaviour? target, FastBufferReader reader, __RpcParams rpcParams) { //IL_0029: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = target.NetworkManager; if (networkManager != null && networkManager.IsListening) { target.__rpc_exec_stage = (__RpcExecStage)1; ((UltimateNumberManipulator)(object)target).ExplodeNumberServerRpc(); target.__rpc_exec_stage = (__RpcExecStage)0; } } private static void __rpc_handler_2443973414(NetworkBehaviour? target, FastBufferReader reader, __RpcParams rpcParams) { //IL_0029: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = target.NetworkManager; if (networkManager != null && networkManager.IsListening) { target.__rpc_exec_stage = (__RpcExecStage)1; ((UltimateNumberManipulator)(object)target).ExplodeNumberClientRpc(); target.__rpc_exec_stage = (__RpcExecStage)0; } } private static void __rpc_handler_3518729144(NetworkBehaviour? target, FastBufferReader reader, __RpcParams rpcParams) { //IL_0029: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = target.NetworkManager; if (networkManager != null && networkManager.IsListening) { target.__rpc_exec_stage = (__RpcExecStage)1; ((UltimateNumberManipulator)(object)target).playOopsAudioServerRpc(); target.__rpc_exec_stage = (__RpcExecStage)0; } } private static void __rpc_handler_4108114188(NetworkBehaviour? target, FastBufferReader reader, __RpcParams rpcParams) { //IL_0029: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = target.NetworkManager; if (networkManager != null && networkManager.IsListening) { target.__rpc_exec_stage = (__RpcExecStage)1; ((UltimateNumberManipulator)(object)target).playOopsAudioClientRpc(); target.__rpc_exec_stage = (__RpcExecStage)0; } } private static void __rpc_handler_3047672134(NetworkBehaviour? target, FastBufferReader reader, __RpcParams rpcParams) { //IL_002f: Unknown result type (might be due to invalid IL or missing references) //IL_0035: Unknown result type (might be due to invalid IL or missing references) //IL_004a: Unknown result type (might be due to invalid IL or missing references) //IL_0050: 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_007d: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = target.NetworkManager; if (networkManager != null && networkManager.IsListening) { float plusval = default(float); ((FastBufferReader)(ref reader)).ReadValueSafe<float>(ref plusval, default(ForPrimitives)); float minusval = default(float); ((FastBufferReader)(ref reader)).ReadValueSafe<float>(ref minusval, default(ForPrimitives)); target.__rpc_exec_stage = (__RpcExecStage)1; ((UltimateNumberManipulator)(object)target).syncTotalScrapValueServerRpc(plusval, minusval); target.__rpc_exec_stage = (__RpcExecStage)0; } } private static void __rpc_handler_3561509306(NetworkBehaviour? target, FastBufferReader reader, __RpcParams rpcParams) { //IL_002f: Unknown result type (might be due to invalid IL or missing references) //IL_0035: Unknown result type (might be due to invalid IL or missing references) //IL_004a: Unknown result type (might be due to invalid IL or missing references) //IL_0050: 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_007d: Unknown result type (might be due to invalid IL or missing references) NetworkManager networkManager = target.NetworkManager; if (networkManager != null && networkManager.IsListening) { float plusval = default(float); ((FastBufferReader)(ref reader)).ReadValueSafe<float>(ref plusval, default(ForPrimitives)); float minusval = default(float); ((FastBufferReader)(ref reader)).ReadValueSafe<float>(ref minusval, default(ForPrimitives)); target.__rpc_exec_stage = (__RpcExecStage)1; ((UltimateNumberManipulator)(object)target).syncTotalScrapValueClientRpc(plusval, minusval); target.__rpc_exec_stage = (__RpcExecStage)0; } } [MethodImpl(MethodImplOptions.NoInlining)] protected internal override string? __getTypeName() { return "UltimateNumberManipulator"; } } namespace TheUltimateNumber { [CreateAssetMenu] public class SpecialAudioClip : ScriptableObject { public AudioClip clip = new AudioClip(); public int value; public bool explodeAfter; } [BepInPlugin("MBCollector672.TheUltimateNumber", "TheUltimateNumber", "1.0.1")] [BepInDependency(/*Could not decode attribute arguments.*/)] public class TheUltimateNumber : BaseUnityPlugin { public static TheUltimateNumber Instance { get; private set; } internal static ManualLogSource Logger { get; private set; } internal static Harmony? Harmony { get; set; } internal static UltimateNumberConfig UltimateConfig { get; private set; } private void Awake() { UltimateConfig = new UltimateNumberConfig(((BaseUnityPlugin)this).Config); Logger = ((BaseUnityPlugin)this).Logger; Instance = this; Type[] types = Assembly.GetExecutingAssembly().GetTypes(); Type[] array = types; foreach (Type type in array) { MethodInfo[] methods = type.GetMethods(BindingFlags.Instance | BindingFlags.Static | BindingFlags.NonPublic); MethodInfo[] array2 = methods; foreach (MethodInfo methodInfo in array2) { object[] customAttributes = methodInfo.GetCustomAttributes(typeof(RuntimeInitializeOnLoadMethodAttribute), inherit: false); if (customAttributes.Length != 0) { methodInfo.Invoke(null, null); } } } string text = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), "TheUltimateNumber.numbabundle"); AssetBundle val = AssetBundle.LoadFromFile(text); Item val2 = val.LoadAsset<Item>("Assets/LethalCompany/Mods/TheUltimateNumber/items/TheUltimateNumber.asset"); NetworkPrefabs.RegisterNetworkPrefab(val2.spawnPrefab); Utilities.FixMixerGroups(val2.spawnPrefab); if (UltimateConfig.isOnAllMoons.Value) { Items.RegisterScrap(val2, UltimateConfig.numberRarity.Value, (LevelTypes)(-1)); } else { Items.RegisterScrap(val2, UltimateConfig.numberRarity.Value, (LevelTypes)1); } Patch(); Logger.LogInfo((object)"MBCollector672.TheUltimateNumber v1.0.1 has loaded!"); } internal static void Patch() { //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_0017: Expected O, but got Unknown if (Harmony == null) { Harmony = new Harmony("MBCollector672.TheUltimateNumber"); } Logger.LogDebug((object)"Patching..."); Harmony.PatchAll(); Logger.LogDebug((object)"Finished patching!"); } internal static void Unpatch() { Logger.LogDebug((object)"Unpatching..."); Harmony? harmony = Harmony; if (harmony != null) { harmony.UnpatchSelf(); } Logger.LogDebug((object)"Finished unpatching!"); } } internal class UltimateNumberConfig { public readonly ConfigEntry<double>? hundredsChance; public readonly ConfigEntry<double>? thousandsChance; public readonly ConfigEntry<double>? tenThousandsChance; public readonly ConfigEntry<double>? hundredThousandsChance; public readonly ConfigEntry<double>? millionsChance; public readonly ConfigEntry<double>? tenMillionsChance; public readonly ConfigEntry<double>? hundredMillionsChance; public readonly ConfigEntry<double>? billionsChance; public readonly ConfigEntry<double>? intLimitChance; public readonly ConfigEntry<float>? numberAudioSourceVolume; public readonly ConfigEntry<float>? numberAudioSourceMinDistance; public readonly ConfigEntry<float>? numberAudioSourceMaxDistance; public readonly ConfigEntry<float>? explosionPhysicsForce; public readonly ConfigEntry<bool>? isOnAllMoons; public readonly ConfigEntry<int>? numberRarity; public UltimateNumberConfig(ConfigFile ultimateConfig) { ultimateConfig.SaveOnConfigSet = false; hundredsChance = ultimateConfig.Bind<double>("Number Value Chances", "tensChance", 50.0, "(0-100) Percent chance of The Ultimate Number's value being upgraded from 1-9 -> 10-99. Default: 50.0"); thousandsChance = ultimateConfig.Bind<double>("Number Value Chances", "hundredsChance", 20.0, "(0-100) Percent chance of The Ultimate Number's value being upgraded from 10-99 -> 100-999. Default: 20.0"); tenThousandsChance = ultimateConfig.Bind<double>("Number Value Chances", "thousandsChance", 10.0, "(0-100) Percent chance of The Ultimate Number's value being upgraded from 100-999 -> 1,000-9,999. Default: 10.0"); hundredThousandsChance = ultimateConfig.Bind<double>("Number Value Chances", "tenThousandsChance", 10.0, "(0-100) Percent chance of The Ultimate Number's value being upgraded from 1,000-9,999 -> 10,000-99,999. Default: 10.0"); millionsChance = ultimateConfig.Bind<double>("Number Value Chances", "hundredThousandsChance", 10.0, "(0-100) Percent chance of The Ultimate Number's value being upgraded from 10,000-99,999 -> 100,000-999,999. Default: 10.0"); tenMillionsChance = ultimateConfig.Bind<double>("Number Value Chances", "millionsChance", 10.0, "(0-100) Percent chance of The Ultimate Number's value being upgraded from 100,000-999,999 -> 1,000,000-9,999,999. Default: 10.0"); hundredMillionsChance = ultimateConfig.Bind<double>("Number Value Chances", "tenMillionsChance", 10.0, "(0-100) Percent chance of The Ultimate Number's value being upgraded from 1,000,000-9,999,999 -> 10,000,000-99,999,999. Default: 10.0"); billionsChance = ultimateConfig.Bind<double>("Number Value Chances", "hundredMillionsChance", 10.0, "(0-100) Percent chance of The Ultimate Number's value being upgraded from 10,000,000-99,999,999 -> 100,000,000-999,999,999. Default: 10.0"); intLimitChance = ultimateConfig.Bind<double>("Number Value Chances", "billionsChance", 50.0, "(0-100) Percent chance of The Ultimate Number's value being upgraded from 100,000,000-999,999,999 -> 1,000,000,000-2,147,483,647. Default: 50.0"); numberAudioSourceVolume = ultimateConfig.Bind<float>("Number Audio Source Properties", "numberAudioSourceVolume", 1f, "(0-1) Volume of The Ultimate Number's audio source. Default: 1.0"); numberAudioSourceMinDistance = ultimateConfig.Bind<float>("Number Audio Source Properties", "minDistance", 4f, "The maximum distance from The Ultimate Number's audio source where audio will be played at maximum volume. Default: 4"); numberAudioSourceMaxDistance = ultimateConfig.Bind<float>("Number Audio Source Properties", "maxDistance", 17f, "The maximum distance from The Ultimate Number's audio source where audio will be played. Default: 17"); isOnAllMoons = ultimateConfig.Bind<bool>("Spawning", "isOnAllMoons", true, "Whether or not The Ultimate Number spawns on all moons. Disable only if you want to individually configure where the number spawns in something like Lethal Level Loader. Default: true"); numberRarity = ultimateConfig.Bind<int>("Spawning", "numberRarity", 10, "(0-100) Rarity of The Ultimate Number if it's set to spawn on all moons. Default: 10"); explosionPhysicsForce = ultimateConfig.Bind<float>("Other Number Properties", "explosionPhysicsForce", 0f, "The extra physics force applied to any explosions. Default: 0.0"); ClearOrphanedEntries(ultimateConfig); ultimateConfig.Save(); ultimateConfig.SaveOnConfigSet = true; } private static void ClearOrphanedEntries(ConfigFile ultimateConfig) { PropertyInfo propertyInfo = AccessTools.Property(typeof(ConfigFile), "OrphanedEntries"); Dictionary<ConfigDefinition, string> dictionary = (Dictionary<ConfigDefinition, string>)propertyInfo.GetValue(ultimateConfig); dictionary.Clear(); } } public static class MyPluginInfo { public const string PLUGIN_GUID = "MBCollector672.TheUltimateNumber"; public const string PLUGIN_NAME = "TheUltimateNumber"; public const string PLUGIN_VERSION = "1.0.1"; } } namespace __GEN { internal class NetworkVariableSerializationHelper { [RuntimeInitializeOnLoadMethod] internal static void InitializeSerialization() { NetworkVariableSerializationTypes.InitializeSerializer_UnmanagedByMemcpy<byte>(); NetworkVariableSerializationTypes.InitializeEqualityChecker_UnmanagedIEquatable<byte>(); NetworkVariableSerializationTypes.InitializeSerializer_UnmanagedByMemcpy<bool>(); NetworkVariableSerializationTypes.InitializeEqualityChecker_UnmanagedIEquatable<bool>(); } } } namespace MBCollector672.TheUltimateNumber.NetcodePatcher { [AttributeUsage(AttributeTargets.Module)] internal class NetcodePatchedAssemblyAttribute : Attribute { } }