Decompiled source of TheUltimateNumber v1.0.6

MBCollector672.TheUltimateNumber.dll

Decompiled 2 weeks ago
using 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 TheUltimateNumber.Patches;
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.3.0")]
[assembly: AssemblyInformationalVersion("1.0.3+7b8b856787ce17a7f889b58c07808e0dfe338b38")]
[assembly: AssemblyProduct("TheUltimateNumber")]
[assembly: AssemblyTitle("MBCollector672.TheUltimateNumber")]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("1.0.3.0")]
[module: UnverifiableCode]
[module: RefSafetyRules(11)]
[module: NetcodePatchedAssembly]
namespace Microsoft.CodeAnalysis
{
	[CompilerGenerated]
	[Embedded]
	internal sealed class EmbeddedAttribute : Attribute
	{
	}
}
namespace System.Runtime.CompilerServices
{
	[CompilerGenerated]
	[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]
	[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]
	[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
{
	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 bool needToFixValue;

	[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;
			HasUpdatedYet = false;
			((MonoBehaviour)this).StartCoroutine(WaitTenSeconds());
		}
		((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;
		if (((NetworkBehaviour)this).IsServer)
		{
			global::TheUltimateNumber.TheUltimateNumber.Logger.LogDebug((object)"Server! Subscribing");
			ScrapSyncCheck.ScrapSyncedEvent += FixValue;
		}
		else
		{
			global::TheUltimateNumber.TheUltimateNumber.Logger.LogDebug((object)"Not server");
		}
		global::TheUltimateNumber.TheUltimateNumber.Logger.LogDebug((object)"start ran lol");
	}

	private void FixValue(object sender, EventArgs e)
	{
		needToFixValue = true;
	}

	public override void Update()
	{
		((AnimatedItem)this).Update();
		if (needToFixValue)
		{
			if (!HasUpdatedYet)
			{
				if (_scrapValueSyncer == null)
				{
					Console.WriteLine("_scrapValueSyncer doesn't exist!");
				}
				global::TheUltimateNumber.TheUltimateNumber.Logger.LogDebug((object)"Fixing number value!");
				int scrapValue = ((GrabbableObject)this).scrapValue;
				global::TheUltimateNumber.TheUltimateNumber.Logger.LogDebug((object)("Old value is " + scrapValue + " new will be " + calculatedValue));
				((GrabbableObject)this).scrapValue = (int)calculatedValue;
				currentScanNodeProperties.subText = "Value: $" + calculatedValue;
				currentScanNodeProperties.scrapValue = (int)calculatedValue;
				ScrapValueSyncer = (int)calculatedValue;
				syncTotalScrapValueServerRpc((int)calculatedValue, scrapValue);
				global::TheUltimateNumber.TheUltimateNumber.Logger.LogDebug((object)"Done fixing value");
				HasUpdatedYet = true;
				needToFixValue = false;
			}
			else
			{
				global::TheUltimateNumber.TheUltimateNumber.Logger.LogDebug((object)("Not updating because it's already been updated! " + HasUpdatedYet));
				needToFixValue = false;
			}
		}
		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)
			{
				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");
	}

	public IEnumerator PlayNormalNumberAudio()
	{
		global::TheUltimateNumber.TheUltimateNumber.Logger.LogDebug((object)"Trying to play audio");
		bool playedMinus = false;
		byte clip1 = place1;
		byte clip2 = place2;
		byte clip3 = place3;
		byte clip4 = place4;
		byte clip5 = place5;
		byte clip6 = place6;
		byte clip7 = place7;
		byte clip8 = place8;
		byte clip9 = place9;
		byte clip10 = place10;
		for (sbyte i = 0; i < 10; i++)
		{
			if (i < 10)
			{
				if (base.wasInPocket || (Object)(object)((GrabbableObject)this).playerHeldBy == (Object)null)
				{
					global::TheUltimateNumber.TheUltimateNumber.Logger.LogDebug((object)"Item has been dropped/pocketed!");
					i = (sbyte)(i + TEN);
					yield return (object)new WaitForSeconds(0f);
				}
				if (!playedMinus && ScrapValueSyncer < 0m)
				{
					global::TheUltimateNumber.TheUltimateNumber.Logger.LogDebug((object)"Negative! Playing minus audio");
					base.itemAudio.clip = minusAudio;
					base.itemAudio.Play();
					i--;
					playedMinus = true;
					yield return (object)new WaitForSeconds(base.itemAudio.clip.length);
				}
				switch (i)
				{
				case 0:
					if (clip10 < 10)
					{
						base.itemAudio.clip = normalAudioArray[clip10];
						global::TheUltimateNumber.TheUltimateNumber.Logger.LogDebug((object)("Playing AudioClip " + (object)normalAudioArray[clip10]));
						base.itemAudio.Play();
						yield return (object)new WaitForSeconds(base.itemAudio.clip.length);
					}
					break;
				case 1:
					if (clip9 < 10)
					{
						base.itemAudio.clip = normalAudioArray[clip9];
						global::TheUltimateNumber.TheUltimateNumber.Logger.LogDebug((object)("Playing AudioClip " + (object)normalAudioArray[clip9]));
						base.itemAudio.Play();
						yield return (object)new WaitForSeconds(base.itemAudio.clip.length);
					}
					break;
				case 2:
					if (clip8 < 10)
					{
						base.itemAudio.clip = normalAudioArray[clip8];
						global::TheUltimateNumber.TheUltimateNumber.Logger.LogDebug((object)("Playing AudioClip " + (object)normalAudioArray[clip8]));
						base.itemAudio.Play();
						yield return (object)new WaitForSeconds(base.itemAudio.clip.length);
					}
					break;
				case 3:
					if (clip7 < 10)
					{
						base.itemAudio.clip = normalAudioArray[clip7];
						global::TheUltimateNumber.TheUltimateNumber.Logger.LogDebug((object)("Playing AudioClip " + (object)normalAudioArray[clip7]));
						base.itemAudio.Play();
						yield return (object)new WaitForSeconds(base.itemAudio.clip.length);
					}
					break;
				case 4:
					if (clip6 < 10)
					{
						base.itemAudio.clip = normalAudioArray[clip6];
						global::TheUltimateNumber.TheUltimateNumber.Logger.LogDebug((object)("Playing AudioClip " + (object)normalAudioArray[clip6]));
						base.itemAudio.Play();
						yield return (object)new WaitForSeconds(base.itemAudio.clip.length);
					}
					break;
				case 5:
					if (clip5 < 10)
					{
						base.itemAudio.clip = normalAudioArray[clip5];
						global::TheUltimateNumber.TheUltimateNumber.Logger.LogDebug((object)("Playing AudioClip " + (object)normalAudioArray[clip5]));
						base.itemAudio.Play();
						yield return (object)new WaitForSeconds(base.itemAudio.clip.length);
					}
					break;
				case 6:
					if (clip4 < 10)
					{
						base.itemAudio.clip = normalAudioArray[clip4];
						global::TheUltimateNumber.TheUltimateNumber.Logger.LogDebug((object)("Playing AudioClip " + (object)normalAudioArray[clip4]));
						base.itemAudio.Play();
						yield return (object)new WaitForSeconds(base.itemAudio.clip.length);
					}
					break;
				case 7:
					if (clip3 < 10)
					{
						base.itemAudio.clip = normalAudioArray[clip3];
						global::TheUltimateNumber.TheUltimateNumber.Logger.LogDebug((object)("Playing AudioClip " + (object)normalAudioArray[clip3]));
						base.itemAudio.Play();
						yield return (object)new WaitForSeconds(base.itemAudio.clip.length);
					}
					break;
				case 8:
					if (clip2 < 10)
					{
						base.itemAudio.clip = normalAudioArray[clip2];
						global::TheUltimateNumber.TheUltimateNumber.Logger.LogDebug((object)("Playing AudioClip " + (object)normalAudioArray[clip2]));
						base.itemAudio.Play();
						yield return (object)new WaitForSeconds(base.itemAudio.clip.length);
					}
					break;
				case 9:
					if (clip1 < 10)
					{
						base.itemAudio.clip = normalAudioArray[clip1];
						global::TheUltimateNumber.TheUltimateNumber.Logger.LogDebug((object)("Playing AudioClip " + (object)normalAudioArray[clip1]));
						base.itemAudio.Play();
						yield return (object)new WaitForSeconds(base.itemAudio.clip.length);
					}
					break;
				}
			}
			yield return (object)new WaitForSeconds(0f);
		}
	}

	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;
	}

	public IEnumerator WaitTenSeconds()
	{
		for (byte i = 0; i < 2; i++)
		{
			if (i == 1)
			{
				HasWaited = true;
				yield return (object)new WaitForSeconds(0f);
			}
			yield return (object)new WaitForSeconds(10f);
		}
	}

	[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 val2 = default(ServerRpcParams);
				FastBufferWriter val = ((NetworkBehaviour)this).__beginSendServerRpc(640149591u, val2, (RpcDelivery)0);
				((NetworkBehaviour)this).__endSendServerRpc(ref val, 640149591u, val2, (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 val2 = default(ClientRpcParams);
			FastBufferWriter val = ((NetworkBehaviour)this).__beginSendClientRpc(2443973414u, val2, (RpcDelivery)0);
			((NetworkBehaviour)this).__endSendClientRpc(ref val, 2443973414u, val2, (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);
		}
	}

	public IEnumerator PlayExplodeNumberSound()
	{
		playOopsAudioServerRpc();
		yield return (object)new WaitForSeconds(oopsAudioSource.clip.length);
		ExplodeNumberServerRpc();
	}

	[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 val2 = default(ServerRpcParams);
				FastBufferWriter val = ((NetworkBehaviour)this).__beginSendServerRpc(3518729144u, val2, (RpcDelivery)0);
				((NetworkBehaviour)this).__endSendServerRpc(ref val, 3518729144u, val2, (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 val2 = default(ClientRpcParams);
				FastBufferWriter val = ((NetworkBehaviour)this).__beginSendClientRpc(4108114188u, val2, (RpcDelivery)0);
				((NetworkBehaviour)this).__endSendClientRpc(ref val, 4108114188u, val2, (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 val2 = default(ServerRpcParams);
				FastBufferWriter val = ((NetworkBehaviour)this).__beginSendServerRpc(3047672134u, val2, (RpcDelivery)0);
				((FastBufferWriter)(ref val)).WriteValueSafe<float>(ref plusval, default(ForPrimitives));
				((FastBufferWriter)(ref val)).WriteValueSafe<float>(ref minusval, default(ForPrimitives));
				((NetworkBehaviour)this).__endSendServerRpc(ref val, 3047672134u, val2, (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 val2 = default(ClientRpcParams);
				FastBufferWriter val = ((NetworkBehaviour)this).__beginSendClientRpc(3561509306u, val2, (RpcDelivery)0);
				((FastBufferWriter)(ref val)).WriteValueSafe<float>(ref plusval, default(ForPrimitives));
				((FastBufferWriter)(ref val)).WriteValueSafe<float>(ref minusval, default(ForPrimitives));
				((NetworkBehaviour)this).__endSendClientRpc(ref val, 3561509306u, val2, (RpcDelivery)0);
			}
			if ((int)((NetworkBehaviour)this).__rpc_exec_stage == 1 && (networkManager.IsClient || networkManager.IsHost))
			{
				((NetworkBehaviour)this).__rpc_exec_stage = (__RpcExecStage)0;
				Console.WriteLine("Total scrap value before adding is " + RoundManager.Instance.totalScrapValueInLevel);
				Console.WriteLine("Adding  " + plusval + " and subtracting " + minusval);
				RoundManager.Instance.totalScrapValueInLevel = RoundManager.Instance.totalScrapValueInLevel + plusval - minusval;
				Console.WriteLine("Total scrap value after adding is " + RoundManager.Instance.totalScrapValueInLevel);
			}
		}
	}

	public override void OnDestroy()
	{
		((GrabbableObject)this).OnDestroy();
		ScrapSyncCheck.ScrapSyncedEvent -= FixValue;
	}

	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.3")]
	[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.3 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.3";
	}
}
namespace TheUltimateNumber.Patches
{
	[HarmonyPatch]
	public static class ScrapSyncCheck
	{
		public static object ScrapSyncedSender;

		public static event EventHandler ScrapSyncedEvent;

		[HarmonyPatch(typeof(RoundManager), "SyncScrapValuesClientRpc")]
		[HarmonyPostfix]
		public static void SyncScrapValuesClientRpc_Postfix()
		{
			Console.WriteLine("Scrap spawned! Applying postfix!");
			OnScrapSynced();
		}

		public static void OnScrapSynced()
		{
			ScrapSyncCheck.ScrapSyncedEvent?.Invoke(ScrapSyncedSender, EventArgs.Empty);
			Console.WriteLine("Invoked event!");
		}
	}
}
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
	{
	}
}