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 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.0.0")]
[assembly: AssemblyInformationalVersion("1.0.0+d5ed65d925d6c9d4fcebbdab902ff3a7ea90e80d")]
[assembly: AssemblyProduct("TheUltimateNumber")]
[assembly: AssemblyTitle("MBCollector672.TheUltimateNumber")]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("1.0.0.0")]
[module: UnverifiableCode]
[module: RefSafetyRules(11)]
[module: NetcodePatchedAssembly]
namespace Microsoft.CodeAnalysis
{
[CompilerGenerated]
[Microsoft.CodeAnalysis.Embedded]
internal sealed class EmbeddedAttribute : Attribute
{
}
}
namespace System.Runtime.CompilerServices
{
[CompilerGenerated]
[Microsoft.CodeAnalysis.Embedded]
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Event | AttributeTargets.Parameter | AttributeTargets.ReturnValue | AttributeTargets.GenericParameter, AllowMultiple = false, Inherited = false)]
internal sealed class NullableAttribute : Attribute
{
public readonly byte[] NullableFlags;
public NullableAttribute(byte P_0)
{
NullableFlags = new byte[1] { P_0 };
}
public NullableAttribute(byte[] P_0)
{
NullableFlags = P_0;
}
}
[CompilerGenerated]
[Microsoft.CodeAnalysis.Embedded]
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Method | AttributeTargets.Interface | AttributeTargets.Delegate, AllowMultiple = false, Inherited = false)]
internal sealed class NullableContextAttribute : Attribute
{
public readonly byte Flag;
public NullableContextAttribute(byte P_0)
{
Flag = P_0;
}
}
[CompilerGenerated]
[Microsoft.CodeAnalysis.Embedded]
[AttributeUsage(AttributeTargets.Module, AllowMultiple = false, Inherited = false)]
internal sealed class RefSafetyRulesAttribute : Attribute
{
public readonly int Version;
public RefSafetyRulesAttribute(int P_0)
{
Version = P_0;
}
}
}
public class UltimateNumberManipulator : AnimatedItem
{
[CompilerGenerated]
private sealed class <PlayExplodeNumberSound>d__121 : IEnumerator<object>, IEnumerator, IDisposable
{
private int <>1__state;
private object <>2__current;
public UltimateNumberManipulator <>4__this;
object? IEnumerator<object>.Current
{
[DebuggerHidden]
get
{
return <>2__current;
}
}
object? IEnumerator.Current
{
[DebuggerHidden]
get
{
return <>2__current;
}
}
[DebuggerHidden]
public <PlayExplodeNumberSound>d__121(int <>1__state)
{
this.<>1__state = <>1__state;
}
[DebuggerHidden]
void IDisposable.Dispose()
{
<>1__state = -2;
}
private bool MoveNext()
{
//IL_0035: Unknown result type (might be due to invalid IL or missing references)
//IL_003f: Expected O, but got Unknown
int num = <>1__state;
UltimateNumberManipulator ultimateNumberManipulator = <>4__this;
switch (num)
{
default:
return false;
case 0:
<>1__state = -1;
ultimateNumberManipulator.playOopsAudioServerRpc();
<>2__current = (object)new WaitForSeconds(ultimateNumberManipulator.oopsAudioSource.clip.length);
<>1__state = 1;
return true;
case 1:
<>1__state = -1;
ultimateNumberManipulator.ExplodeNumberServerRpc();
return false;
}
}
bool IEnumerator.MoveNext()
{
//ILSpy generated this explicit interface implementation from .override directive in MoveNext
return this.MoveNext();
}
[DebuggerHidden]
void IEnumerator.Reset()
{
throw new NotSupportedException();
}
}
[CompilerGenerated]
private sealed class <PlayNormalNumberAudio>d__115 : IEnumerator<object>, IEnumerator, IDisposable
{
private int <>1__state;
private object <>2__current;
public UltimateNumberManipulator <>4__this;
private bool <playedMinus>5__2;
private byte <clip1>5__3;
private byte <clip2>5__4;
private byte <clip3>5__5;
private byte <clip4>5__6;
private byte <clip5>5__7;
private byte <clip6>5__8;
private byte <clip7>5__9;
private byte <clip8>5__10;
private byte <clip9>5__11;
private byte <clip10>5__12;
private sbyte <i>5__13;
object? IEnumerator<object>.Current
{
[DebuggerHidden]
get
{
return <>2__current;
}
}
object? IEnumerator.Current
{
[DebuggerHidden]
get
{
return <>2__current;
}
}
[DebuggerHidden]
public <PlayNormalNumberAudio>d__115(int <>1__state)
{
this.<>1__state = <>1__state;
}
[DebuggerHidden]
void IDisposable.Dispose()
{
<>1__state = -2;
}
private bool MoveNext()
{
//IL_07a1: Unknown result type (might be due to invalid IL or missing references)
//IL_07ab: Expected O, but got Unknown
//IL_01c2: Unknown result type (might be due to invalid IL or missing references)
//IL_01cc: Expected O, but got Unknown
//IL_013c: Unknown result type (might be due to invalid IL or missing references)
//IL_0146: Expected O, but got Unknown
//IL_028b: Unknown result type (might be due to invalid IL or missing references)
//IL_0295: Expected O, but got Unknown
//IL_0318: Unknown result type (might be due to invalid IL or missing references)
//IL_0322: Expected O, but got Unknown
//IL_03a5: Unknown result type (might be due to invalid IL or missing references)
//IL_03af: Expected O, but got Unknown
//IL_0432: Unknown result type (might be due to invalid IL or missing references)
//IL_043c: Expected O, but got Unknown
//IL_04bf: Unknown result type (might be due to invalid IL or missing references)
//IL_04c9: Expected O, but got Unknown
//IL_054c: Unknown result type (might be due to invalid IL or missing references)
//IL_0556: Expected O, but got Unknown
//IL_05d9: Unknown result type (might be due to invalid IL or missing references)
//IL_05e3: Expected O, but got Unknown
//IL_0667: Unknown result type (might be due to invalid IL or missing references)
//IL_0671: Expected O, but got Unknown
//IL_06f5: Unknown result type (might be due to invalid IL or missing references)
//IL_06ff: Expected O, but got Unknown
//IL_0780: Unknown result type (might be due to invalid IL or missing references)
//IL_078a: Expected O, but got Unknown
int num = <>1__state;
UltimateNumberManipulator ultimateNumberManipulator = <>4__this;
sbyte b;
switch (num)
{
default:
return false;
case 0:
<>1__state = -1;
global::TheUltimateNumber.TheUltimateNumber.Logger.LogDebug((object)"Trying to play audio");
b = 0;
<playedMinus>5__2 = false;
<clip1>5__3 = ultimateNumberManipulator.place1;
<clip2>5__4 = ultimateNumberManipulator.place2;
<clip3>5__5 = ultimateNumberManipulator.place3;
<clip4>5__6 = ultimateNumberManipulator.place4;
<clip5>5__7 = ultimateNumberManipulator.place5;
<clip6>5__8 = ultimateNumberManipulator.place6;
<clip7>5__9 = ultimateNumberManipulator.place7;
<clip8>5__10 = ultimateNumberManipulator.place8;
<clip9>5__11 = ultimateNumberManipulator.place9;
<clip10>5__12 = ultimateNumberManipulator.place10;
<i>5__13 = 0;
goto IL_07cd;
case 1:
<>1__state = -1;
goto IL_0156;
case 2:
<>1__state = -1;
goto IL_01dc;
case 3:
<>1__state = -1;
goto IL_079b;
case 4:
<>1__state = -1;
goto IL_079b;
case 5:
<>1__state = -1;
goto IL_079b;
case 6:
<>1__state = -1;
goto IL_079b;
case 7:
<>1__state = -1;
goto IL_079b;
case 8:
<>1__state = -1;
goto IL_079b;
case 9:
<>1__state = -1;
goto IL_079b;
case 10:
<>1__state = -1;
goto IL_079b;
case 11:
<>1__state = -1;
goto IL_079b;
case 12:
<>1__state = -1;
goto IL_079b;
case 13:
{
<>1__state = -1;
<i>5__13++;
goto IL_07cd;
}
IL_07cd:
if (<i>5__13 < 10)
{
if (<i>5__13 < 10)
{
if (((AnimatedItem)ultimateNumberManipulator).wasInPocket || (Object)(object)((GrabbableObject)ultimateNumberManipulator).playerHeldBy == (Object)null)
{
global::TheUltimateNumber.TheUltimateNumber.Logger.LogDebug((object)"Item has been dropped/pocketed!");
<i>5__13 = (sbyte)(<i>5__13 + TEN);
<>2__current = (object)new WaitForSeconds(0f);
<>1__state = 1;
return true;
}
goto IL_0156;
}
goto IL_079b;
}
return false;
IL_0156:
if (!<playedMinus>5__2 && ultimateNumberManipulator.ScrapValueSyncer < 0m)
{
global::TheUltimateNumber.TheUltimateNumber.Logger.LogDebug((object)"Negative! Playing minus audio");
((AnimatedItem)ultimateNumberManipulator).itemAudio.clip = ultimateNumberManipulator.minusAudio;
((AnimatedItem)ultimateNumberManipulator).itemAudio.Play();
<i>5__13--;
<playedMinus>5__2 = true;
<>2__current = (object)new WaitForSeconds(((AnimatedItem)ultimateNumberManipulator).itemAudio.clip.length);
<>1__state = 2;
return true;
}
goto IL_01dc;
IL_079b:
<>2__current = (object)new WaitForSeconds(0f);
<>1__state = 13;
return true;
IL_01dc:
b = <i>5__13;
switch (<i>5__13)
{
case 0:
if (<clip10>5__12 < 10)
{
((AnimatedItem)ultimateNumberManipulator).itemAudio.clip = ultimateNumberManipulator.normalAudioArray[<clip10>5__12];
global::TheUltimateNumber.TheUltimateNumber.Logger.LogDebug((object)("Playing AudioClip " + (object)ultimateNumberManipulator.normalAudioArray[<clip10>5__12]));
((AnimatedItem)ultimateNumberManipulator).itemAudio.Play();
<>2__current = (object)new WaitForSeconds(((AnimatedItem)ultimateNumberManipulator).itemAudio.clip.length);
<>1__state = 3;
return true;
}
break;
case 1:
if (<clip9>5__11 < 10)
{
((AnimatedItem)ultimateNumberManipulator).itemAudio.clip = ultimateNumberManipulator.normalAudioArray[<clip9>5__11];
global::TheUltimateNumber.TheUltimateNumber.Logger.LogDebug((object)("Playing AudioClip " + (object)ultimateNumberManipulator.normalAudioArray[<clip9>5__11]));
((AnimatedItem)ultimateNumberManipulator).itemAudio.Play();
<>2__current = (object)new WaitForSeconds(((AnimatedItem)ultimateNumberManipulator).itemAudio.clip.length);
<>1__state = 4;
return true;
}
break;
case 2:
if (<clip8>5__10 < 10)
{
((AnimatedItem)ultimateNumberManipulator).itemAudio.clip = ultimateNumberManipulator.normalAudioArray[<clip8>5__10];
global::TheUltimateNumber.TheUltimateNumber.Logger.LogDebug((object)("Playing AudioClip " + (object)ultimateNumberManipulator.normalAudioArray[<clip8>5__10]));
((AnimatedItem)ultimateNumberManipulator).itemAudio.Play();
<>2__current = (object)new WaitForSeconds(((AnimatedItem)ultimateNumberManipulator).itemAudio.clip.length);
<>1__state = 5;
return true;
}
break;
case 3:
if (<clip7>5__9 < 10)
{
((AnimatedItem)ultimateNumberManipulator).itemAudio.clip = ultimateNumberManipulator.normalAudioArray[<clip7>5__9];
global::TheUltimateNumber.TheUltimateNumber.Logger.LogDebug((object)("Playing AudioClip " + (object)ultimateNumberManipulator.normalAudioArray[<clip7>5__9]));
((AnimatedItem)ultimateNumberManipulator).itemAudio.Play();
<>2__current = (object)new WaitForSeconds(((AnimatedItem)ultimateNumberManipulator).itemAudio.clip.length);
<>1__state = 6;
return true;
}
break;
case 4:
if (<clip6>5__8 < 10)
{
((AnimatedItem)ultimateNumberManipulator).itemAudio.clip = ultimateNumberManipulator.normalAudioArray[<clip6>5__8];
global::TheUltimateNumber.TheUltimateNumber.Logger.LogDebug((object)("Playing AudioClip " + (object)ultimateNumberManipulator.normalAudioArray[<clip6>5__8]));
((AnimatedItem)ultimateNumberManipulator).itemAudio.Play();
<>2__current = (object)new WaitForSeconds(((AnimatedItem)ultimateNumberManipulator).itemAudio.clip.length);
<>1__state = 7;
return true;
}
break;
case 5:
if (<clip5>5__7 < 10)
{
((AnimatedItem)ultimateNumberManipulator).itemAudio.clip = ultimateNumberManipulator.normalAudioArray[<clip5>5__7];
global::TheUltimateNumber.TheUltimateNumber.Logger.LogDebug((object)("Playing AudioClip " + (object)ultimateNumberManipulator.normalAudioArray[<clip5>5__7]));
((AnimatedItem)ultimateNumberManipulator).itemAudio.Play();
<>2__current = (object)new WaitForSeconds(((AnimatedItem)ultimateNumberManipulator).itemAudio.clip.length);
<>1__state = 8;
return true;
}
break;
case 6:
if (<clip4>5__6 < 10)
{
((AnimatedItem)ultimateNumberManipulator).itemAudio.clip = ultimateNumberManipulator.normalAudioArray[<clip4>5__6];
global::TheUltimateNumber.TheUltimateNumber.Logger.LogDebug((object)("Playing AudioClip " + (object)ultimateNumberManipulator.normalAudioArray[<clip4>5__6]));
((AnimatedItem)ultimateNumberManipulator).itemAudio.Play();
<>2__current = (object)new WaitForSeconds(((AnimatedItem)ultimateNumberManipulator).itemAudio.clip.length);
<>1__state = 9;
return true;
}
break;
case 7:
if (<clip3>5__5 < 10)
{
((AnimatedItem)ultimateNumberManipulator).itemAudio.clip = ultimateNumberManipulator.normalAudioArray[<clip3>5__5];
global::TheUltimateNumber.TheUltimateNumber.Logger.LogDebug((object)("Playing AudioClip " + (object)ultimateNumberManipulator.normalAudioArray[<clip3>5__5]));
((AnimatedItem)ultimateNumberManipulator).itemAudio.Play();
<>2__current = (object)new WaitForSeconds(((AnimatedItem)ultimateNumberManipulator).itemAudio.clip.length);
<>1__state = 10;
return true;
}
break;
case 8:
if (<clip2>5__4 < 10)
{
((AnimatedItem)ultimateNumberManipulator).itemAudio.clip = ultimateNumberManipulator.normalAudioArray[<clip2>5__4];
global::TheUltimateNumber.TheUltimateNumber.Logger.LogDebug((object)("Playing AudioClip " + (object)ultimateNumberManipulator.normalAudioArray[<clip2>5__4]));
((AnimatedItem)ultimateNumberManipulator).itemAudio.Play();
<>2__current = (object)new WaitForSeconds(((AnimatedItem)ultimateNumberManipulator).itemAudio.clip.length);
<>1__state = 11;
return true;
}
break;
case 9:
if (<clip1>5__3 < 10)
{
((AnimatedItem)ultimateNumberManipulator).itemAudio.clip = ultimateNumberManipulator.normalAudioArray[<clip1>5__3];
global::TheUltimateNumber.TheUltimateNumber.Logger.LogDebug((object)("Playing AudioClip " + (object)ultimateNumberManipulator.normalAudioArray[<clip1>5__3]));
((AnimatedItem)ultimateNumberManipulator).itemAudio.Play();
<>2__current = (object)new WaitForSeconds(((AnimatedItem)ultimateNumberManipulator).itemAudio.clip.length);
<>1__state = 12;
return true;
}
break;
}
goto IL_079b;
}
}
bool IEnumerator.MoveNext()
{
//ILSpy generated this explicit interface implementation from .override directive in MoveNext
return this.MoveNext();
}
[DebuggerHidden]
void IEnumerator.Reset()
{
throw new NotSupportedException();
}
}
[CompilerGenerated]
private sealed class <WaitTenSeconds>d__118 : IEnumerator<object>, IEnumerator, IDisposable
{
private int <>1__state;
private object <>2__current;
public UltimateNumberManipulator <>4__this;
private byte <i>5__2;
object? IEnumerator<object>.Current
{
[DebuggerHidden]
get
{
return <>2__current;
}
}
object? IEnumerator.Current
{
[DebuggerHidden]
get
{
return <>2__current;
}
}
[DebuggerHidden]
public <WaitTenSeconds>d__118(int <>1__state)
{
this.<>1__state = <>1__state;
}
[DebuggerHidden]
void IDisposable.Dispose()
{
<>1__state = -2;
}
private bool MoveNext()
{
//IL_0068: Unknown result type (might be due to invalid IL or missing references)
//IL_0072: Expected O, but got Unknown
//IL_0048: Unknown result type (might be due to invalid IL or missing references)
//IL_0052: Expected O, but got Unknown
int num = <>1__state;
UltimateNumberManipulator ultimateNumberManipulator = <>4__this;
switch (num)
{
default:
return false;
case 0:
<>1__state = -1;
<i>5__2 = 0;
goto IL_0093;
case 1:
<>1__state = -1;
goto IL_0062;
case 2:
{
<>1__state = -1;
<i>5__2++;
goto IL_0093;
}
IL_0093:
if (<i>5__2 < 2)
{
if (<i>5__2 == 1)
{
ultimateNumberManipulator.HasWaited = true;
<>2__current = (object)new WaitForSeconds(0f);
<>1__state = 1;
return true;
}
goto IL_0062;
}
return false;
IL_0062:
<>2__current = (object)new WaitForSeconds(10f);
<>1__state = 2;
return true;
}
}
bool IEnumerator.MoveNext()
{
//ILSpy generated this explicit interface implementation from .override directive in MoveNext
return this.MoveNext();
}
[DebuggerHidden]
void IEnumerator.Reset()
{
throw new NotSupportedException();
}
}
public decimal calculatedValue;
private static readonly byte TEN = 10;
private static readonly byte HUNDRED = 100;
private static readonly short THOUSAND = 1000;
private static readonly short TEN_THOUSAND = 10000;
private static readonly int HUNDRED_THOUSAND = 100000;
private static readonly int MILLION = 1000000;
private static readonly int TEN_MILLION = 10000000;
private static readonly int HUNDRED_MILLION = 100000000;
private static readonly int BILLION = 1000000000;
private static readonly int INT_LIMIT = int.MaxValue;
private static readonly float COLLIDER_SCALE_FACTOR = 3.44f;
public AudioClip? zeroAudio;
public AudioClip? oneAudio;
public AudioClip? twoAudio;
public AudioClip? threeAudio;
public AudioClip? fourAudio;
public AudioClip? fiveAudio;
public AudioClip? sixAudio;
public AudioClip? sevenAudio;
public AudioClip? eightAudio;
public AudioClip? nineAudio;
public AudioClip? minusAudio;
public AudioClip? oopsAudio;
public AudioSource? oopsAudioSource;
[HideInInspector]
public bool hasGeneratedValue;
public Transform? ones;
public Transform? tens;
public Transform? hundreds;
public Transform? thousands;
public Transform? tenthousands;
public Transform? hundredthousands;
public Transform? millions;
public Transform? tenmillions;
public Transform? hundredmillions;
public Transform? billions;
public Transform? questionmark;
[HideInInspector]
public Transform[]? numberPlacesArray;
[HideInInspector]
public string[]? gameObjectNumberSuffix;
[HideInInspector]
private GameObject? currentGameObject;
[HideInInspector]
private ScanNodeProperties? currentScanNodeProperties;
[HideInInspector]
public BoxCollider? baseBoxCollider;
[HideInInspector]
public int numberID;
[HideInInspector]
public readonly NetworkVariable<int> _scrapValueSyncer = new NetworkVariable<int>(0, (NetworkVariableReadPermission)0, (NetworkVariableWritePermission)0);
[HideInInspector]
public bool haventMovedNumbersYet = true;
[HideInInspector]
public readonly NetworkVariable<byte> _place1 = new NetworkVariable<byte>((byte)0, (NetworkVariableReadPermission)0, (NetworkVariableWritePermission)0);
[HideInInspector]
public readonly NetworkVariable<byte> _place2 = new NetworkVariable<byte>((byte)0, (NetworkVariableReadPermission)0, (NetworkVariableWritePermission)0);
[HideInInspector]
public readonly NetworkVariable<byte> _place3 = new NetworkVariable<byte>((byte)0, (NetworkVariableReadPermission)0, (NetworkVariableWritePermission)0);
[HideInInspector]
public readonly NetworkVariable<byte> _place4 = new NetworkVariable<byte>((byte)0, (NetworkVariableReadPermission)0, (NetworkVariableWritePermission)0);
[HideInInspector]
public readonly NetworkVariable<byte> _place5 = new NetworkVariable<byte>((byte)0, (NetworkVariableReadPermission)0, (NetworkVariableWritePermission)0);
[HideInInspector]
public readonly NetworkVariable<byte> _place6 = new NetworkVariable<byte>((byte)0, (NetworkVariableReadPermission)0, (NetworkVariableWritePermission)0);
[HideInInspector]
public readonly NetworkVariable<byte> _place7 = new NetworkVariable<byte>((byte)0, (NetworkVariableReadPermission)0, (NetworkVariableWritePermission)0);
[HideInInspector]
public readonly NetworkVariable<byte> _place8 = new NetworkVariable<byte>((byte)0, (NetworkVariableReadPermission)0, (NetworkVariableWritePermission)0);
[HideInInspector]
public readonly NetworkVariable<byte> _place9 = new NetworkVariable<byte>((byte)0, (NetworkVariableReadPermission)0, (NetworkVariableWritePermission)0);
[HideInInspector]
public readonly NetworkVariable<byte> _place10 = new NetworkVariable<byte>((byte)0, (NetworkVariableReadPermission)0, (NetworkVariableWritePermission)0);
[HideInInspector]
public byte[] numbersInOrder;
[HideInInspector]
public AudioClip[]? normalAudioArray;
public List<SpecialAudioClip> specialAudioClips = new List<SpecialAudioClip>();
[HideInInspector]
public readonly NetworkVariable<bool> _hasWaited = new NetworkVariable<bool>(false, (NetworkVariableReadPermission)0, (NetworkVariableWritePermission)0);
[HideInInspector]
public readonly NetworkVariable<bool> _isExploding = new NetworkVariable<bool>(false, (NetworkVariableReadPermission)0, (NetworkVariableWritePermission)0);
[HideInInspector]
public readonly NetworkVariable<bool> _hasUpdatedYet = new NetworkVariable<bool>(false, (NetworkVariableReadPermission)0, (NetworkVariableWritePermission)0);
public List<Material> normalMat;
public List<Material> orangeMat;
[HideInInspector]
public bool previously672;
public Transform sixTransform;
public Transform sevenTransform;
public Transform twoTransform;
[HideInInspector]
public decimal ScrapValueSyncer
{
get
{
return _scrapValueSyncer.Value;
}
set
{
_scrapValueSyncer.Value = (int)value;
}
}
[HideInInspector]
public byte place1
{
get
{
return _place1.Value;
}
set
{
_place1.Value = value;
}
}
[HideInInspector]
public byte place2
{
get
{
return _place2.Value;
}
set
{
_place2.Value = value;
}
}
[HideInInspector]
public byte place3
{
get
{
return _place3.Value;
}
set
{
_place3.Value = value;
}
}
[HideInInspector]
public byte place4
{
get
{
return _place4.Value;
}
set
{
_place4.Value = value;
}
}
[HideInInspector]
public byte place5
{
get
{
return _place5.Value;
}
set
{
_place5.Value = value;
}
}
[HideInInspector]
public byte place6
{
get
{
return _place6.Value;
}
set
{
_place6.Value = value;
}
}
[HideInInspector]
public byte place7
{
get
{
return _place7.Value;
}
set
{
_place7.Value = value;
}
}
[HideInInspector]
public byte place8
{
get
{
return _place8.Value;
}
set
{
_place8.Value = value;
}
}
[HideInInspector]
public byte place9
{
get
{
return _place9.Value;
}
set
{
_place9.Value = value;
}
}
[HideInInspector]
public byte place10
{
get
{
return _place10.Value;
}
set
{
_place10.Value = value;
}
}
[HideInInspector]
public bool HasWaited
{
get
{
return _hasWaited.Value;
}
set
{
_hasWaited.Value = value;
}
}
[HideInInspector]
public bool IsExploding
{
get
{
return _isExploding.Value;
}
set
{
_isExploding.Value = value;
}
}
[HideInInspector]
public bool HasUpdatedYet
{
get
{
return _hasUpdatedYet.Value;
}
set
{
_hasUpdatedYet.Value = value;
}
}
public override void Start()
{
((AnimatedItem)this).Start();
currentGameObject = ((Component)this).gameObject;
baseBoxCollider = ((Component)this).gameObject.GetComponent<BoxCollider>();
numberID = ((Object)currentGameObject).GetInstanceID();
Transform val = ((Component)this).transform.Find("ScanNode");
GameObject gameObject = ((Component)val).gameObject;
currentScanNodeProperties = gameObject.GetComponent<ScanNodeProperties>();
numbersInOrder = new byte[10] { place1, place2, place3, place4, place5, place6, place7, place8, place9, place10 };
numberPlacesArray = (Transform[]?)(object)new Transform[10] { ones, tens, hundreds, thousands, tenthousands, hundredthousands, millions, tenmillions, hundredmillions, billions };
gameObjectNumberSuffix = new string[10] { "one", "ten", "hundred", "thousand", "10thousand", "100thousand", "million", "10million", "100million", "billion" };
normalAudioArray = (AudioClip[]?)(object)new AudioClip[10] { zeroAudio, oneAudio, twoAudio, threeAudio, fourAudio, fiveAudio, sixAudio, sevenAudio, eightAudio, nineAudio };
oopsAudioSource.clip = oopsAudio;
if (((NetworkBehaviour)this).IsServer)
{
IsExploding = false;
HasWaited = false;
((MonoBehaviour)this).StartCoroutine(WaitTenSeconds());
HasUpdatedYet = false;
}
((Component)questionmark).gameObject.SetActive(false);
Transform[] array = numberPlacesArray;
foreach (Transform val2 in array)
{
((Component)val2).gameObject.SetActive(true);
}
oopsAudioSource.volume = global::TheUltimateNumber.TheUltimateNumber.UltimateConfig.numberAudioSourceVolume.Value;
base.itemAudio.volume = global::TheUltimateNumber.TheUltimateNumber.UltimateConfig.numberAudioSourceVolume.Value;
oopsAudioSource.minDistance = global::TheUltimateNumber.TheUltimateNumber.UltimateConfig.numberAudioSourceMinDistance.Value;
base.itemAudio.maxDistance = global::TheUltimateNumber.TheUltimateNumber.UltimateConfig.numberAudioSourceMaxDistance.Value;
oopsAudioSource.maxDistance = global::TheUltimateNumber.TheUltimateNumber.UltimateConfig.numberAudioSourceMaxDistance.Value;
base.itemAudio.minDistance = global::TheUltimateNumber.TheUltimateNumber.UltimateConfig.numberAudioSourceMinDistance.Value;
}
public override void Update()
{
((AnimatedItem)this).Update();
if (ScrapValueSyncer == 0m && HasWaited && !IsExploding)
{
((MonoBehaviour)this).StartCoroutine(PlayExplodeNumberSound());
}
if (((NetworkBehaviour)this).IsServer)
{
if (ScrapValueSyncer != calculatedValue)
{
ScrapValueSyncer = calculatedValue;
}
if ((!GameNetworkManager.Instance.gameHasStarted && StartOfRound.Instance.gameStats.daysSpent == 0 && !hasGeneratedValue) || (GameNetworkManager.Instance.gameHasStarted && !hasGeneratedValue))
{
global::TheUltimateNumber.TheUltimateNumber.Logger.LogDebug((object)"Calculating scrap value as this scrap just spawned in");
calculatedValue = CalcValue();
((GrabbableObject)this).scrapValue = (int)calculatedValue;
currentScanNodeProperties.subText = "Value: $" + calculatedValue;
currentScanNodeProperties.scrapValue = (int)calculatedValue;
syncTotalScrapValueServerRpc((int)calculatedValue);
MoveNumbers(calculatedValue);
return;
}
hasGeneratedValue = true;
if (calculatedValue != (decimal)((GrabbableObject)this).scrapValue || haventMovedNumbersYet || ((GrabbableObject)this).scrapValue == -67)
{
if (((GrabbableObject)this).scrapValue == -67)
{
((GrabbableObject)this).scrapValue = (int)calculatedValue;
currentScanNodeProperties.subText = "Value: $" + calculatedValue;
currentScanNodeProperties.scrapValue = (int)calculatedValue;
ScrapValueSyncer = (int)calculatedValue;
syncTotalScrapValueServerRpc((int)calculatedValue, -67f);
HasUpdatedYet = true;
return;
}
global::TheUltimateNumber.TheUltimateNumber.Logger.LogDebug((object)("Value of TheUltimateNumber ID " + numberID + " has changed from " + calculatedValue + " to " + ((GrabbableObject)this).scrapValue + ". Updating..."));
calculatedValue = ((GrabbableObject)this).scrapValue;
currentScanNodeProperties.subText = "Value: $" + calculatedValue;
currentScanNodeProperties.scrapValue = (int)calculatedValue;
global::TheUltimateNumber.TheUltimateNumber.Logger.LogDebug((object)("Value of TheUltimateNumber ID " + numberID + " has changed. Updating..."));
MoveNumbers(calculatedValue);
}
}
else if (!((NetworkBehaviour)this).IsServer && (ScrapValueSyncer != (decimal)((GrabbableObject)this).scrapValue || haventMovedNumbersYet))
{
global::TheUltimateNumber.TheUltimateNumber.Logger.LogDebug((object)("Value of TheUltimateNumber ID " + numberID + " has desynced. Updating..."));
((GrabbableObject)this).scrapValue = (int)ScrapValueSyncer;
currentScanNodeProperties.subText = "Value: $" + ScrapValueSyncer;
currentScanNodeProperties.scrapValue = (int)ScrapValueSyncer;
MoveNumbers(ScrapValueSyncer);
hasGeneratedValue = true;
}
}
private void MoveNumbers(decimal value)
{
//IL_001a: Unknown result type (might be due to invalid IL or missing references)
//IL_0036: Unknown result type (might be due to invalid IL or missing references)
//IL_003b: Unknown result type (might be due to invalid IL or missing references)
//IL_004a: Unknown result type (might be due to invalid IL or missing references)
//IL_00b8: Unknown result type (might be due to invalid IL or missing references)
//IL_00bd: Unknown result type (might be due to invalid IL or missing references)
//IL_00d0: Unknown result type (might be due to invalid IL or missing references)
//IL_01ca: Unknown result type (might be due to invalid IL or missing references)
//IL_01cf: Unknown result type (might be due to invalid IL or missing references)
//IL_01e2: Unknown result type (might be due to invalid IL or missing references)
//IL_01ee: Unknown result type (might be due to invalid IL or missing references)
//IL_01f3: Unknown result type (might be due to invalid IL or missing references)
//IL_0206: Unknown result type (might be due to invalid IL or missing references)
//IL_02b9: Unknown result type (might be due to invalid IL or missing references)
//IL_02be: Unknown result type (might be due to invalid IL or missing references)
//IL_02d1: Unknown result type (might be due to invalid IL or missing references)
//IL_02dd: Unknown result type (might be due to invalid IL or missing references)
//IL_02e2: Unknown result type (might be due to invalid IL or missing references)
//IL_02f5: Unknown result type (might be due to invalid IL or missing references)
//IL_0301: Unknown result type (might be due to invalid IL or missing references)
//IL_0306: Unknown result type (might be due to invalid IL or missing references)
//IL_0319: Unknown result type (might be due to invalid IL or missing references)
//IL_012a: Unknown result type (might be due to invalid IL or missing references)
//IL_012f: Unknown result type (might be due to invalid IL or missing references)
//IL_03cc: Unknown result type (might be due to invalid IL or missing references)
//IL_03d1: Unknown result type (might be due to invalid IL or missing references)
//IL_03e4: Unknown result type (might be due to invalid IL or missing references)
//IL_03f0: Unknown result type (might be due to invalid IL or missing references)
//IL_03f5: Unknown result type (might be due to invalid IL or missing references)
//IL_0408: Unknown result type (might be due to invalid IL or missing references)
//IL_0414: Unknown result type (might be due to invalid IL or missing references)
//IL_0419: Unknown result type (might be due to invalid IL or missing references)
//IL_042c: Unknown result type (might be due to invalid IL or missing references)
//IL_0438: Unknown result type (might be due to invalid IL or missing references)
//IL_043d: Unknown result type (might be due to invalid IL or missing references)
//IL_0450: Unknown result type (might be due to invalid IL or missing references)
//IL_0260: Unknown result type (might be due to invalid IL or missing references)
//IL_0265: Unknown result type (might be due to invalid IL or missing references)
//IL_027e: Unknown result type (might be due to invalid IL or missing references)
//IL_016b: Unknown result type (might be due to invalid IL or missing references)
//IL_0527: Unknown result type (might be due to invalid IL or missing references)
//IL_052c: Unknown result type (might be due to invalid IL or missing references)
//IL_053f: Unknown result type (might be due to invalid IL or missing references)
//IL_054b: Unknown result type (might be due to invalid IL or missing references)
//IL_0550: Unknown result type (might be due to invalid IL or missing references)
//IL_0563: Unknown result type (might be due to invalid IL or missing references)
//IL_056f: Unknown result type (might be due to invalid IL or missing references)
//IL_0574: Unknown result type (might be due to invalid IL or missing references)
//IL_0587: Unknown result type (might be due to invalid IL or missing references)
//IL_0593: Unknown result type (might be due to invalid IL or missing references)
//IL_0598: Unknown result type (might be due to invalid IL or missing references)
//IL_05ab: Unknown result type (might be due to invalid IL or missing references)
//IL_05b7: Unknown result type (might be due to invalid IL or missing references)
//IL_05bc: Unknown result type (might be due to invalid IL or missing references)
//IL_05cf: Unknown result type (might be due to invalid IL or missing references)
//IL_0373: Unknown result type (might be due to invalid IL or missing references)
//IL_0378: Unknown result type (might be due to invalid IL or missing references)
//IL_0391: Unknown result type (might be due to invalid IL or missing references)
//IL_06a6: Unknown result type (might be due to invalid IL or missing references)
//IL_06ab: Unknown result type (might be due to invalid IL or missing references)
//IL_06be: Unknown result type (might be due to invalid IL or missing references)
//IL_06ca: Unknown result type (might be due to invalid IL or missing references)
//IL_06cf: Unknown result type (might be due to invalid IL or missing references)
//IL_06e2: Unknown result type (might be due to invalid IL or missing references)
//IL_06ee: Unknown result type (might be due to invalid IL or missing references)
//IL_06f3: Unknown result type (might be due to invalid IL or missing references)
//IL_0706: Unknown result type (might be due to invalid IL or missing references)
//IL_0712: Unknown result type (might be due to invalid IL or missing references)
//IL_0717: Unknown result type (might be due to invalid IL or missing references)
//IL_072a: Unknown result type (might be due to invalid IL or missing references)
//IL_0736: Unknown result type (might be due to invalid IL or missing references)
//IL_073b: Unknown result type (might be due to invalid IL or missing references)
//IL_074e: Unknown result type (might be due to invalid IL or missing references)
//IL_075a: Unknown result type (might be due to invalid IL or missing references)
//IL_075f: Unknown result type (might be due to invalid IL or missing references)
//IL_0772: Unknown result type (might be due to invalid IL or missing references)
//IL_04aa: Unknown result type (might be due to invalid IL or missing references)
//IL_04af: Unknown result type (might be due to invalid IL or missing references)
//IL_04c8: Unknown result type (might be due to invalid IL or missing references)
//IL_0849: Unknown result type (might be due to invalid IL or missing references)
//IL_084e: Unknown result type (might be due to invalid IL or missing references)
//IL_0861: Unknown result type (might be due to invalid IL or missing references)
//IL_086d: Unknown result type (might be due to invalid IL or missing references)
//IL_0872: Unknown result type (might be due to invalid IL or missing references)
//IL_0885: Unknown result type (might be due to invalid IL or missing references)
//IL_0891: Unknown result type (might be due to invalid IL or missing references)
//IL_0896: Unknown result type (might be due to invalid IL or missing references)
//IL_08a9: Unknown result type (might be due to invalid IL or missing references)
//IL_08b5: Unknown result type (might be due to invalid IL or missing references)
//IL_08ba: Unknown result type (might be due to invalid IL or missing references)
//IL_08cd: Unknown result type (might be due to invalid IL or missing references)
//IL_08d9: Unknown result type (might be due to invalid IL or missing references)
//IL_08de: Unknown result type (might be due to invalid IL or missing references)
//IL_08f1: Unknown result type (might be due to invalid IL or missing references)
//IL_08fd: Unknown result type (might be due to invalid IL or missing references)
//IL_0902: Unknown result type (might be due to invalid IL or missing references)
//IL_0915: Unknown result type (might be due to invalid IL or missing references)
//IL_0921: Unknown result type (might be due to invalid IL or missing references)
//IL_0926: Unknown result type (might be due to invalid IL or missing references)
//IL_0939: Unknown result type (might be due to invalid IL or missing references)
//IL_0629: Unknown result type (might be due to invalid IL or missing references)
//IL_062e: Unknown result type (might be due to invalid IL or missing references)
//IL_0647: Unknown result type (might be due to invalid IL or missing references)
//IL_0a10: Unknown result type (might be due to invalid IL or missing references)
//IL_0a15: Unknown result type (might be due to invalid IL or missing references)
//IL_0a28: Unknown result type (might be due to invalid IL or missing references)
//IL_0a34: Unknown result type (might be due to invalid IL or missing references)
//IL_0a39: Unknown result type (might be due to invalid IL or missing references)
//IL_0a4c: Unknown result type (might be due to invalid IL or missing references)
//IL_0a58: Unknown result type (might be due to invalid IL or missing references)
//IL_0a5d: Unknown result type (might be due to invalid IL or missing references)
//IL_0a70: Unknown result type (might be due to invalid IL or missing references)
//IL_0a7c: Unknown result type (might be due to invalid IL or missing references)
//IL_0a81: Unknown result type (might be due to invalid IL or missing references)
//IL_0a94: Unknown result type (might be due to invalid IL or missing references)
//IL_0aa0: Unknown result type (might be due to invalid IL or missing references)
//IL_0aa5: Unknown result type (might be due to invalid IL or missing references)
//IL_0ab8: Unknown result type (might be due to invalid IL or missing references)
//IL_0ac4: Unknown result type (might be due to invalid IL or missing references)
//IL_0ac9: Unknown result type (might be due to invalid IL or missing references)
//IL_0adc: Unknown result type (might be due to invalid IL or missing references)
//IL_0ae8: Unknown result type (might be due to invalid IL or missing references)
//IL_0aed: Unknown result type (might be due to invalid IL or missing references)
//IL_0b00: Unknown result type (might be due to invalid IL or missing references)
//IL_0b0c: Unknown result type (might be due to invalid IL or missing references)
//IL_0b11: Unknown result type (might be due to invalid IL or missing references)
//IL_0b24: Unknown result type (might be due to invalid IL or missing references)
//IL_07cc: Unknown result type (might be due to invalid IL or missing references)
//IL_07d1: Unknown result type (might be due to invalid IL or missing references)
//IL_07ea: Unknown result type (might be due to invalid IL or missing references)
//IL_0df5: Unknown result type (might be due to invalid IL or missing references)
//IL_0dfa: Unknown result type (might be due to invalid IL or missing references)
//IL_0e0d: Unknown result type (might be due to invalid IL or missing references)
//IL_0e19: Unknown result type (might be due to invalid IL or missing references)
//IL_0e1e: Unknown result type (might be due to invalid IL or missing references)
//IL_0e31: Unknown result type (might be due to invalid IL or missing references)
//IL_0e3d: Unknown result type (might be due to invalid IL or missing references)
//IL_0e42: Unknown result type (might be due to invalid IL or missing references)
//IL_0e55: Unknown result type (might be due to invalid IL or missing references)
//IL_0e61: Unknown result type (might be due to invalid IL or missing references)
//IL_0e66: Unknown result type (might be due to invalid IL or missing references)
//IL_0e79: Unknown result type (might be due to invalid IL or missing references)
//IL_0e85: Unknown result type (might be due to invalid IL or missing references)
//IL_0e8a: Unknown result type (might be due to invalid IL or missing references)
//IL_0e9d: Unknown result type (might be due to invalid IL or missing references)
//IL_0ea9: Unknown result type (might be due to invalid IL or missing references)
//IL_0eae: Unknown result type (might be due to invalid IL or missing references)
//IL_0ec1: Unknown result type (might be due to invalid IL or missing references)
//IL_0ecd: Unknown result type (might be due to invalid IL or missing references)
//IL_0ed2: Unknown result type (might be due to invalid IL or missing references)
//IL_0ee5: Unknown result type (might be due to invalid IL or missing references)
//IL_0ef1: Unknown result type (might be due to invalid IL or missing references)
//IL_0ef6: Unknown result type (might be due to invalid IL or missing references)
//IL_0f09: Unknown result type (might be due to invalid IL or missing references)
//IL_0f15: Unknown result type (might be due to invalid IL or missing references)
//IL_0f1a: Unknown result type (might be due to invalid IL or missing references)
//IL_0f2d: Unknown result type (might be due to invalid IL or missing references)
//IL_0f39: Unknown result type (might be due to invalid IL or missing references)
//IL_0f3e: Unknown result type (might be due to invalid IL or missing references)
//IL_0f51: Unknown result type (might be due to invalid IL or missing references)
//IL_0bfb: Unknown result type (might be due to invalid IL or missing references)
//IL_0c00: Unknown result type (might be due to invalid IL or missing references)
//IL_0c13: Unknown result type (might be due to invalid IL or missing references)
//IL_0c1f: Unknown result type (might be due to invalid IL or missing references)
//IL_0c24: Unknown result type (might be due to invalid IL or missing references)
//IL_0c37: Unknown result type (might be due to invalid IL or missing references)
//IL_0c43: Unknown result type (might be due to invalid IL or missing references)
//IL_0c48: Unknown result type (might be due to invalid IL or missing references)
//IL_0c5b: Unknown result type (might be due to invalid IL or missing references)
//IL_0c67: Unknown result type (might be due to invalid IL or missing references)
//IL_0c6c: Unknown result type (might be due to invalid IL or missing references)
//IL_0c7f: Unknown result type (might be due to invalid IL or missing references)
//IL_0c8b: Unknown result type (might be due to invalid IL or missing references)
//IL_0c90: Unknown result type (might be due to invalid IL or missing references)
//IL_0ca3: Unknown result type (might be due to invalid IL or missing references)
//IL_0caf: Unknown result type (might be due to invalid IL or missing references)
//IL_0cb4: Unknown result type (might be due to invalid IL or missing references)
//IL_0cc7: Unknown result type (might be due to invalid IL or missing references)
//IL_0cd3: Unknown result type (might be due to invalid IL or missing references)
//IL_0cd8: Unknown result type (might be due to invalid IL or missing references)
//IL_0ceb: Unknown result type (might be due to invalid IL or missing references)
//IL_0cf7: Unknown result type (might be due to invalid IL or missing references)
//IL_0cfc: Unknown result type (might be due to invalid IL or missing references)
//IL_0d0f: Unknown result type (might be due to invalid IL or missing references)
//IL_0d1b: Unknown result type (might be due to invalid IL or missing references)
//IL_0d20: Unknown result type (might be due to invalid IL or missing references)
//IL_0d33: Unknown result type (might be due to invalid IL or missing references)
//IL_0993: Unknown result type (might be due to invalid IL or missing references)
//IL_0998: Unknown result type (might be due to invalid IL or missing references)
//IL_09b1: Unknown result type (might be due to invalid IL or missing references)
//IL_0b7e: Unknown result type (might be due to invalid IL or missing references)
//IL_0b83: Unknown result type (might be due to invalid IL or missing references)
//IL_0b9c: Unknown result type (might be due to invalid IL or missing references)
//IL_0f8c: Unknown result type (might be due to invalid IL or missing references)
//IL_0f91: Unknown result type (might be due to invalid IL or missing references)
//IL_0faa: Unknown result type (might be due to invalid IL or missing references)
//IL_0d8d: Unknown result type (might be due to invalid IL or missing references)
//IL_0d92: Unknown result type (might be due to invalid IL or missing references)
//IL_0dab: Unknown result type (might be due to invalid IL or missing references)
//IL_10ac: Unknown result type (might be due to invalid IL or missing references)
//IL_10b3: Expected O, but got Unknown
bool flag = false;
if (value < 0m)
{
flag = true;
}
decimal num = Math.Abs(value);
Vector3 val = default(Vector3);
Transform[] array = numberPlacesArray;
foreach (Transform val2 in array)
{
val = val2.localPosition;
val.x = -0.3112598f;
val2.localPosition = val;
}
global::TheUltimateNumber.TheUltimateNumber.Logger.LogDebug((object)("Value of absoluteValue is " + num));
if (num < (decimal)TEN)
{
global::TheUltimateNumber.TheUltimateNumber.Logger.LogDebug((object)("TheUltimateNumber ID " + numberID + "'s value has one digit. Moving GameObjects appropriately..."));
val = ones.localPosition;
val.x = -0.3112598f;
ones.localPosition = val;
Transform[] array2 = numberPlacesArray;
foreach (Transform val3 in array2)
{
if (Array.IndexOf(numberPlacesArray, val3) == 0)
{
((Component)val3).gameObject.SetActive(true);
}
else
{
((Component)val3).gameObject.SetActive(false);
}
}
try
{
val = baseBoxCollider.size;
}
catch (Exception)
{
global::TheUltimateNumber.TheUltimateNumber.Logger.LogWarning((object)"Couldn't find BoxCollider. Object is likely invalid and will be destroyed.");
Object.Destroy((Object)(object)currentGameObject);
return;
}
val.x = COLLIDER_SCALE_FACTOR * 1f;
baseBoxCollider.size = val;
}
else if (num >= (decimal)TEN && num < (decimal)HUNDRED)
{
global::TheUltimateNumber.TheUltimateNumber.Logger.LogDebug((object)("TheUltimateNumber ID " + numberID + "'s value has two digits. Moving GameObjects appropriately..."));
val = ones.localPosition;
val.x = -2.03f;
ones.localPosition = val;
val = tens.localPosition;
val.x = 1.41f;
tens.localPosition = val;
Transform[] array3 = numberPlacesArray;
foreach (Transform val4 in array3)
{
if (Array.IndexOf(numberPlacesArray, val4) <= 1)
{
((Component)val4).gameObject.SetActive(true);
}
else
{
((Component)val4).gameObject.SetActive(false);
}
}
val = baseBoxCollider.size;
val.x = COLLIDER_SCALE_FACTOR * 2f;
baseBoxCollider.size = val;
}
else if (num >= (decimal)HUNDRED && num < (decimal)THOUSAND)
{
val = ones.localPosition;
val.x = -3.75126f;
ones.localPosition = val;
val = tens.localPosition;
val.x = -0.3112599f;
tens.localPosition = val;
val = hundreds.localPosition;
val.x = 3.12874f;
hundreds.localPosition = val;
Transform[] array4 = numberPlacesArray;
foreach (Transform val5 in array4)
{
if (Array.IndexOf(numberPlacesArray, val5) <= 2)
{
((Component)val5).gameObject.SetActive(true);
}
else
{
((Component)val5).gameObject.SetActive(false);
}
}
val = baseBoxCollider.size;
val.x = COLLIDER_SCALE_FACTOR * 3f;
baseBoxCollider.size = val;
}
else if (num >= (decimal)THOUSAND && num < (decimal)TEN_THOUSAND)
{
val = ones.localPosition;
val.x = -5.47f;
ones.localPosition = val;
val = tens.localPosition;
val.x = -2.03f;
tens.localPosition = val;
val = hundreds.localPosition;
val.x = 1.41f;
hundreds.localPosition = val;
val = thousands.localPosition;
val.x = 4.85f;
thousands.localPosition = val;
Transform[] array5 = numberPlacesArray;
foreach (Transform val6 in array5)
{
if (Array.IndexOf(numberPlacesArray, val6) <= 3)
{
((Component)val6).gameObject.SetActive(true);
}
else
{
((Component)val6).gameObject.SetActive(false);
}
}
val = baseBoxCollider.size;
val.x = COLLIDER_SCALE_FACTOR * 4f;
baseBoxCollider.size = val;
}
else if (num >= (decimal)TEN_THOUSAND && num < (decimal)HUNDRED_THOUSAND)
{
global::TheUltimateNumber.TheUltimateNumber.Logger.LogDebug((object)("TheUltimateNumber ID " + numberID + "'s value has five digits. Moving GameObjects appropriately..."));
val = ones.localPosition;
val.x = -7.191259f;
ones.localPosition = val;
val = tens.localPosition;
val.x = -3.751259f;
tens.localPosition = val;
val = hundreds.localPosition;
val.x = -0.3112594f;
hundreds.localPosition = val;
val = thousands.localPosition;
val.x = 3.12874f;
thousands.localPosition = val;
val = tenthousands.localPosition;
val.x = 6.56874f;
tenthousands.localPosition = val;
Transform[] array6 = numberPlacesArray;
foreach (Transform val7 in array6)
{
if (Array.IndexOf(numberPlacesArray, val7) <= 4)
{
((Component)val7).gameObject.SetActive(true);
}
else
{
((Component)val7).gameObject.SetActive(false);
}
}
val = baseBoxCollider.size;
val.x = COLLIDER_SCALE_FACTOR * 5f;
baseBoxCollider.size = val;
}
else if (num >= (decimal)HUNDRED_THOUSAND && num < (decimal)MILLION)
{
global::TheUltimateNumber.TheUltimateNumber.Logger.LogDebug((object)("TheUltimateNumber ID " + numberID + "'s value has six digits. Moving GameObjects appropriately..."));
val = ones.localPosition;
val.x = -8.91f;
ones.localPosition = val;
val = tens.localPosition;
val.x = -5.47f;
tens.localPosition = val;
val = hundreds.localPosition;
val.x = -2.03f;
hundreds.localPosition = val;
val = thousands.localPosition;
val.x = 1.409999f;
thousands.localPosition = val;
val = tenthousands.localPosition;
val.x = 4.849999f;
tenthousands.localPosition = val;
val = hundredthousands.localPosition;
val.x = 8.289999f;
hundredthousands.localPosition = val;
Transform[] array7 = numberPlacesArray;
foreach (Transform val8 in array7)
{
if (Array.IndexOf(numberPlacesArray, val8) <= 5)
{
((Component)val8).gameObject.SetActive(true);
}
else
{
((Component)val8).gameObject.SetActive(false);
}
}
val = baseBoxCollider.size;
val.x = COLLIDER_SCALE_FACTOR * 6f;
baseBoxCollider.size = val;
}
else if (num >= (decimal)MILLION && num < (decimal)TEN_MILLION)
{
global::TheUltimateNumber.TheUltimateNumber.Logger.LogDebug((object)("TheUltimateNumber ID " + numberID + "'s value has seven digits. Moving GameObjects appropriately..."));
val = ones.localPosition;
val.x = -10.63126f;
ones.localPosition = val;
val = tens.localPosition;
val.x = -7.191259f;
tens.localPosition = val;
val = hundreds.localPosition;
val.x = -3.751259f;
hundreds.localPosition = val;
val = thousands.localPosition;
val.x = -0.3112596f;
thousands.localPosition = val;
val = tenthousands.localPosition;
val.x = 3.12874f;
tenthousands.localPosition = val;
val = hundredthousands.localPosition;
val.x = 6.56874f;
hundredthousands.localPosition = val;
val = millions.localPosition;
val.x = 10.00874f;
millions.localPosition = val;
Transform[] array8 = numberPlacesArray;
foreach (Transform val9 in array8)
{
if (Array.IndexOf(numberPlacesArray, val9) <= 6)
{
((Component)val9).gameObject.SetActive(true);
}
else
{
((Component)val9).gameObject.SetActive(false);
}
}
val = baseBoxCollider.size;
val.x = COLLIDER_SCALE_FACTOR * 7f;
baseBoxCollider.size = val;
}
else if (num >= (decimal)TEN_MILLION && num < (decimal)HUNDRED_MILLION)
{
global::TheUltimateNumber.TheUltimateNumber.Logger.LogDebug((object)("TheUltimateNumber ID " + numberID + "'s value has eight digits. Moving GameObjects appropriately..."));
val = ones.localPosition;
val.x = -12.35f;
ones.localPosition = val;
val = tens.localPosition;
val.x = -8.91f;
tens.localPosition = val;
val = hundreds.localPosition;
val.x = -5.47f;
hundreds.localPosition = val;
val = thousands.localPosition;
val.x = -2.03f;
thousands.localPosition = val;
val = tenthousands.localPosition;
val.x = 1.41f;
tenthousands.localPosition = val;
val = hundredthousands.localPosition;
val.x = 4.849999f;
hundredthousands.localPosition = val;
val = millions.localPosition;
val.x = 8.29f;
millions.localPosition = val;
val = tenmillions.localPosition;
val.x = 11.73f;
tenmillions.localPosition = val;
Transform[] array9 = numberPlacesArray;
foreach (Transform val10 in array9)
{
if (Array.IndexOf(numberPlacesArray, val10) <= 7)
{
((Component)val10).gameObject.SetActive(true);
}
else
{
((Component)val10).gameObject.SetActive(false);
}
}
val = baseBoxCollider.size;
val.x = COLLIDER_SCALE_FACTOR * 8f;
baseBoxCollider.size = val;
}
else if (num >= (decimal)HUNDRED_MILLION && num < (decimal)BILLION)
{
global::TheUltimateNumber.TheUltimateNumber.Logger.LogDebug((object)("TheUltimateNumber ID " + numberID + "'s value has nine digits. Moving GameObjects appropriately..."));
val = ones.localPosition;
val.x = -14.07126f;
ones.localPosition = val;
val = tens.localPosition;
val.x = -10.63126f;
tens.localPosition = val;
val = hundreds.localPosition;
val.x = -7.19126f;
hundreds.localPosition = val;
val = thousands.localPosition;
val.x = -3.75126f;
thousands.localPosition = val;
val = tenthousands.localPosition;
val.x = -0.31126f;
tenthousands.localPosition = val;
val = hundredthousands.localPosition;
val.x = 3.128739f;
hundredthousands.localPosition = val;
val = millions.localPosition;
val.x = 6.56874f;
millions.localPosition = val;
val = tenmillions.localPosition;
val.x = 10.00874f;
tenmillions.localPosition = val;
val = hundredmillions.localPosition;
val.x = 13.44874f;
hundredmillions.localPosition = val;
Transform[] array10 = numberPlacesArray;
foreach (Transform val11 in array10)
{
if (Array.IndexOf(numberPlacesArray, val11) <= 8)
{
((Component)val11).gameObject.SetActive(true);
}
else
{
((Component)val11).gameObject.SetActive(false);
}
}
val = baseBoxCollider.size;
val.x = COLLIDER_SCALE_FACTOR * 9f;
baseBoxCollider.size = val;
}
else if (num >= (decimal)BILLION)
{
global::TheUltimateNumber.TheUltimateNumber.Logger.LogDebug((object)("TheUltimateNumber ID " + numberID + "'s value has ten digits. Moving GameObjects appropriately..."));
val = ones.localPosition;
val.x = -15.79f;
ones.localPosition = val;
val = tens.localPosition;
val.x = -12.35f;
tens.localPosition = val;
val = hundreds.localPosition;
val.x = -8.909999f;
hundreds.localPosition = val;
val = thousands.localPosition;
val.x = -5.469999f;
thousands.localPosition = val;
val = tenthousands.localPosition;
val.x = -2.029999f;
tenthousands.localPosition = val;
val = hundredthousands.localPosition;
val.x = 1.41f;
hundredthousands.localPosition = val;
val = millions.localPosition;
val.x = 4.85f;
millions.localPosition = val;
val = tenmillions.localPosition;
val.x = 8.29f;
tenmillions.localPosition = val;
val = hundredmillions.localPosition;
val.x = 11.73f;
hundredmillions.localPosition = val;
val = billions.localPosition;
val.x = 15.17f;
billions.localPosition = val;
Transform[] array11 = numberPlacesArray;
foreach (Transform val12 in array11)
{
((Component)val12).gameObject.SetActive(true);
}
val = baseBoxCollider.size;
val.x = COLLIDER_SCALE_FACTOR * 10f;
baseBoxCollider.size = val;
}
else
{
global::TheUltimateNumber.TheUltimateNumber.Logger.LogError((object)("Something went wrong! TheUltimateNumber ID " + numberID + "'s value is invalid with value " + value));
}
int num7 = 1;
long num8 = 10L;
Transform val13 = null;
byte b = 0;
byte b2 = 0;
if (((NetworkBehaviour)this).IsServer)
{
global::TheUltimateNumber.TheUltimateNumber.Logger.LogDebug((object)"We're sever so setting a bunch of placeX values");
place1 = byte.MaxValue;
place2 = byte.MaxValue;
place3 = byte.MaxValue;
place4 = byte.MaxValue;
place5 = byte.MaxValue;
place6 = byte.MaxValue;
place7 = byte.MaxValue;
place8 = byte.MaxValue;
place9 = byte.MaxValue;
place10 = byte.MaxValue;
}
Transform[] array12 = numberPlacesArray;
foreach (Transform val14 in array12)
{
if (((Component)val14).gameObject.activeSelf)
{
foreach (Transform item in val14)
{
Transform val15 = item;
((Component)val15).gameObject.SetActive(false);
}
byte b3 = (byte)Math.Truncate(num % (decimal)num8 / (decimal)num7);
global::TheUltimateNumber.TheUltimateNumber.Logger.LogDebug((object)("Looking for a GameObject named " + b3 + gameObjectNumberSuffix[b2]));
Transform val16 = ((Component)val14).transform.Find(b3 + gameObjectNumberSuffix[b2]);
global::TheUltimateNumber.TheUltimateNumber.Logger.LogDebug((object)("Found Transform " + (object)val16));
((Component)val16).gameObject.SetActive(true);
global::TheUltimateNumber.TheUltimateNumber.Logger.LogDebug((object)"Set Transform as active!");
val13 = val14;
b = b2;
if (((NetworkBehaviour)this).IsServer)
{
switch (b2)
{
case 0:
place1 = b3;
global::TheUltimateNumber.TheUltimateNumber.Logger.LogDebug((object)("Setting place1 to " + b3));
break;
case 1:
place2 = b3;
global::TheUltimateNumber.TheUltimateNumber.Logger.LogDebug((object)("Setting place2 to " + b3));
break;
case 2:
place3 = b3;
global::TheUltimateNumber.TheUltimateNumber.Logger.LogDebug((object)("Setting place3 to " + b3));
break;
case 3:
place4 = b3;
global::TheUltimateNumber.TheUltimateNumber.Logger.LogDebug((object)("Setting place4 to " + b3));
break;
case 4:
place5 = b3;
global::TheUltimateNumber.TheUltimateNumber.Logger.LogDebug((object)("Setting place5 to " + b3));
break;
case 5:
place6 = b3;
global::TheUltimateNumber.TheUltimateNumber.Logger.LogDebug((object)("Setting place6 to " + b3));
break;
case 6:
place7 = b3;
global::TheUltimateNumber.TheUltimateNumber.Logger.LogDebug((object)("Setting place7 to " + b3));
break;
case 7:
place8 = b3;
global::TheUltimateNumber.TheUltimateNumber.Logger.LogDebug((object)("Setting place8 to " + b3));
break;
case 8:
place9 = b3;
global::TheUltimateNumber.TheUltimateNumber.Logger.LogDebug((object)("Setting place9 to " + b3));
break;
case 9:
place10 = b3;
global::TheUltimateNumber.TheUltimateNumber.Logger.LogDebug((object)("Setting place10 to " + b3));
break;
default:
global::TheUltimateNumber.TheUltimateNumber.Logger.LogError((object)"Genuinely how did this happen. The numberPlace switch statement broke lol");
break;
}
}
}
num7 *= TEN;
num8 *= TEN;
b2++;
}
if (flag)
{
global::TheUltimateNumber.TheUltimateNumber.Logger.LogDebug((object)("Looking for a GameObject named -" + gameObjectNumberSuffix[b]));
Transform val17 = ((Component)val13).transform.Find("-" + gameObjectNumberSuffix[b]);
((Component)val17).gameObject.SetActive(true);
}
if (value == 672m)
{
((Renderer)((Component)sixTransform).gameObject.GetComponent<MeshRenderer>()).SetMaterials(orangeMat);
((Renderer)((Component)sevenTransform).gameObject.GetComponent<MeshRenderer>()).SetMaterials(orangeMat);
((Renderer)((Component)twoTransform).gameObject.GetComponent<MeshRenderer>()).SetMaterials(orangeMat);
previously672 = true;
}
else if (value != 672m && previously672)
{
((Renderer)((Component)sixTransform).gameObject.GetComponent<MeshRenderer>()).SetMaterials(normalMat);
((Renderer)((Component)sevenTransform).gameObject.GetComponent<MeshRenderer>()).SetMaterials(normalMat);
((Renderer)((Component)twoTransform).gameObject.GetComponent<MeshRenderer>()).SetMaterials(normalMat);
previously672 = false;
}
haventMovedNumbersYet = false;
}
public override void OnNetworkSpawn()
{
((NetworkBehaviour)this).OnNetworkSpawn();
((NetworkVariableBase)_scrapValueSyncer).Initialize((NetworkBehaviour)(object)this);
((NetworkVariableBase)_place1).Initialize((NetworkBehaviour)(object)this);
((NetworkVariableBase)_place2).Initialize((NetworkBehaviour)(object)this);
((NetworkVariableBase)_place3).Initialize((NetworkBehaviour)(object)this);
((NetworkVariableBase)_place4).Initialize((NetworkBehaviour)(object)this);
((NetworkVariableBase)_place5).Initialize((NetworkBehaviour)(object)this);
((NetworkVariableBase)_place6).Initialize((NetworkBehaviour)(object)this);
((NetworkVariableBase)_place7).Initialize((NetworkBehaviour)(object)this);
((NetworkVariableBase)_place8).Initialize((NetworkBehaviour)(object)this);
((NetworkVariableBase)_place9).Initialize((NetworkBehaviour)(object)this);
((NetworkVariableBase)_place10).Initialize((NetworkBehaviour)(object)this);
((NetworkVariableBase)_hasWaited).Initialize((NetworkBehaviour)(object)this);
((NetworkVariableBase)_isExploding).Initialize((NetworkBehaviour)(object)this);
((NetworkVariableBase)_hasUpdatedYet).Initialize((NetworkBehaviour)(object)this);
}
public int CalcValue()
{
int minValue = 0;
int num = TEN;
Random random = new Random();
double num2 = random.NextDouble() * 100.0;
if (num2 <= global::TheUltimateNumber.TheUltimateNumber.UltimateConfig.hundredsChance.Value)
{
minValue = num;
num = HUNDRED;
num2 = random.NextDouble() * 100.0;
if (num2 <= global::TheUltimateNumber.TheUltimateNumber.UltimateConfig.thousandsChance.Value)
{
minValue = num;
num = THOUSAND;
num2 = random.NextDouble() * 100.0;
if (num2 <= global::TheUltimateNumber.TheUltimateNumber.UltimateConfig.tenThousandsChance.Value)
{
minValue = num;
num = TEN_THOUSAND;
num2 = random.NextDouble() * 100.0;
if (num2 <= global::TheUltimateNumber.TheUltimateNumber.UltimateConfig.hundredThousandsChance.Value)
{
minValue = num;
num = HUNDRED_THOUSAND;
num2 = random.NextDouble() * 100.0;
if (num2 <= global::TheUltimateNumber.TheUltimateNumber.UltimateConfig.millionsChance.Value)
{
minValue = num;
num = MILLION;
num2 = random.NextDouble() * 100.0;
if (num2 <= global::TheUltimateNumber.TheUltimateNumber.UltimateConfig.tenMillionsChance.Value)
{
minValue = num;
num = TEN_MILLION;
num2 = random.NextDouble() * 100.0;
if (num2 <= global::TheUltimateNumber.TheUltimateNumber.UltimateConfig.hundredMillionsChance.Value)
{
minValue = num;
num = HUNDRED_MILLION;
num2 = random.NextDouble() * 100.0;
if (num2 <= global::TheUltimateNumber.TheUltimateNumber.UltimateConfig.billionsChance.Value)
{
minValue = num;
num = BILLION;
num2 = random.NextDouble() * 100.0;
if (num2 <= global::TheUltimateNumber.TheUltimateNumber.UltimateConfig.intLimitChance.Value)
{
minValue = num;
num = INT_LIMIT;
}
}
}
}
}
}
}
}
}
int num3;
for (num3 = random.Next(minValue, num); num3 == 0; num3 = random.Next(minValue, num))
{
}
if (num3 == INT_LIMIT - 1)
{
global::TheUltimateNumber.TheUltimateNumber.Logger.LogWarning((object)"Jesus christ. Never expected this code to be used. Good luck with the dice roll.");
num3 += random.Next(0, 2);
}
global::TheUltimateNumber.TheUltimateNumber.Logger.LogDebug((object)("Calculated a scrap value of " + num3 + " for TheUltimateNumber ID " + numberID));
hasGeneratedValue = true;
return num3;
}
public override void EquipItem()
{
((AnimatedItem)this).EquipItem();
global::TheUltimateNumber.TheUltimateNumber.Logger.LogDebug((object)"Equipping item and trying to play audio");
if (!hasGeneratedValue)
{
return;
}
foreach (SpecialAudioClip specialAudioClip in specialAudioClips)
{
if ((Object)(object)specialAudioClip.clip != (Object)null && (decimal)specialAudioClip.value == ScrapValueSyncer)
{
if (specialAudioClip.explodeAfter)
{
oopsAudioSource.clip = specialAudioClip.clip;
((MonoBehaviour)this).StartCoroutine(PlayExplodeNumberSound());
}
else
{
base.itemAudio.clip = specialAudioClip.clip;
base.itemAudio.Play();
}
return;
}
}
global::TheUltimateNumber.TheUltimateNumber.Logger.LogDebug((object)"No special audio clip matches value");
((MonoBehaviour)this).StartCoroutine(PlayNormalNumberAudio());
global::TheUltimateNumber.TheUltimateNumber.Logger.LogDebug((object)"Tried to play audio");
}
[IteratorStateMachine(typeof(<PlayNormalNumberAudio>d__115))]
public IEnumerator PlayNormalNumberAudio()
{
//yield-return decompiler failed: Unexpected instruction in Iterator.Dispose()
return new <PlayNormalNumberAudio>d__115(0)
{
<>4__this = this
};
}
public override void DiscardItem()
{
IntPtr functionPointer = typeof(GrabbableObject).GetMethod("DiscardItem").MethodHandle.GetFunctionPointer();
Action action = (Action)Activator.CreateInstance(typeof(Action), this, functionPointer);
action();
}
public override void PocketItem()
{
((AnimatedItem)this).PocketItem();
base.itemAudio.volume = global::TheUltimateNumber.TheUltimateNumber.UltimateConfig.numberAudioSourceVolume.Value;
}
[IteratorStateMachine(typeof(<WaitTenSeconds>d__118))]
public IEnumerator WaitTenSeconds()
{
//yield-return decompiler failed: Unexpected instruction in Iterator.Dispose()
return new <WaitTenSeconds>d__118(0)
{
<>4__this = this
};
}
[ServerRpc(RequireOwnership = false)]
public void ExplodeNumberServerRpc()
{
//IL_0024: Unknown result type (might be due to invalid IL or missing references)
//IL_002e: Invalid comparison between Unknown and I4
//IL_008c: Unknown result type (might be due to invalid IL or missing references)
//IL_0096: Invalid comparison between Unknown and I4
//IL_005f: Unknown result type (might be due to invalid IL or missing references)
//IL_0068: Unknown result type (might be due to invalid IL or missing references)
//IL_006d: Unknown result type (might be due to invalid IL or missing references)
//IL_007c: Unknown result type (might be due to invalid IL or missing references)
//IL_00c1: Unknown result type (might be due to invalid IL or missing references)
NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager;
if (networkManager != null && networkManager.IsListening)
{
if ((int)((NetworkBehaviour)this).__rpc_exec_stage != 1 && (networkManager.IsClient || networkManager.IsHost))
{
ServerRpcParams val = default(ServerRpcParams);
FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendServerRpc(640149591u, val, (RpcDelivery)0);
((NetworkBehaviour)this).__endSendServerRpc(ref val2, 640149591u, val, (RpcDelivery)0);
}
if ((int)((NetworkBehaviour)this).__rpc_exec_stage == 1 && (networkManager.IsServer || networkManager.IsHost))
{
((NetworkBehaviour)this).__rpc_exec_stage = (__RpcExecStage)0;
ExplodeNumberClientRpc();
}
}
}
[ClientRpc]
public void ExplodeNumberClientRpc()
{
//IL_0024: Unknown result type (might be due to invalid IL or missing references)
//IL_002e: Invalid comparison between Unknown and I4
//IL_008c: Unknown result type (might be due to invalid IL or missing references)
//IL_0096: Invalid comparison between Unknown and I4
//IL_005f: Unknown result type (might be due to invalid IL or missing references)
//IL_0068: Unknown result type (might be due to invalid IL or missing references)
//IL_006d: Unknown result type (might be due to invalid IL or missing references)
//IL_007c: Unknown result type (might be due to invalid IL or missing references)
//IL_00c1: Unknown result type (might be due to invalid IL or missing references)
//IL_00e1: Unknown result type (might be due to invalid IL or missing references)
NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager;
if (networkManager == null || !networkManager.IsListening)
{
return;
}
if ((int)((NetworkBehaviour)this).__rpc_exec_stage != 1 && (networkManager.IsServer || networkManager.IsHost))
{
ClientRpcParams val = default(ClientRpcParams);
FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendClientRpc(2443973414u, val, (RpcDelivery)0);
((NetworkBehaviour)this).__endSendClientRpc(ref val2, 2443973414u, val, (RpcDelivery)0);
}
if ((int)((NetworkBehaviour)this).__rpc_exec_stage == 1 && (networkManager.IsClient || networkManager.IsHost))
{
((NetworkBehaviour)this).__rpc_exec_stage = (__RpcExecStage)0;
if (((GrabbableObject)this).isHeld)
{
((GrabbableObject)this).playerHeldBy.DropAllHeldItems(true, false);
}
Landmine.SpawnExplosion(((Component)this).transform.position, true, 5f, 6f, 50, global::TheUltimateNumber.TheUltimateNumber.UltimateConfig.explosionPhysicsForce.Value, (GameObject)null, false);
Object.Destroy((Object)(object)((Component)this).gameObject);
}
}
[IteratorStateMachine(typeof(<PlayExplodeNumberSound>d__121))]
public IEnumerator PlayExplodeNumberSound()
{
//yield-return decompiler failed: Unexpected instruction in Iterator.Dispose()
return new <PlayExplodeNumberSound>d__121(0)
{
<>4__this = this
};
}
[ServerRpc(RequireOwnership = false)]
public void playOopsAudioServerRpc()
{
//IL_0024: Unknown result type (might be due to invalid IL or missing references)
//IL_002e: Invalid comparison between Unknown and I4
//IL_008c: Unknown result type (might be due to invalid IL or missing references)
//IL_0096: Invalid comparison between Unknown and I4
//IL_005f: Unknown result type (might be due to invalid IL or missing references)
//IL_0068: Unknown result type (might be due to invalid IL or missing references)
//IL_006d: Unknown result type (might be due to invalid IL or missing references)
//IL_007c: Unknown result type (might be due to invalid IL or missing references)
//IL_00c1: Unknown result type (might be due to invalid IL or missing references)
NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager;
if (networkManager != null && networkManager.IsListening)
{
if ((int)((NetworkBehaviour)this).__rpc_exec_stage != 1 && (networkManager.IsClient || networkManager.IsHost))
{
ServerRpcParams val = default(ServerRpcParams);
FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendServerRpc(3518729144u, val, (RpcDelivery)0);
((NetworkBehaviour)this).__endSendServerRpc(ref val2, 3518729144u, val, (RpcDelivery)0);
}
if ((int)((NetworkBehaviour)this).__rpc_exec_stage == 1 && (networkManager.IsServer || networkManager.IsHost))
{
((NetworkBehaviour)this).__rpc_exec_stage = (__RpcExecStage)0;
playOopsAudioClientRpc();
}
}
}
[ClientRpc]
public void playOopsAudioClientRpc()
{
//IL_0024: Unknown result type (might be due to invalid IL or missing references)
//IL_002e: Invalid comparison between Unknown and I4
//IL_008c: Unknown result type (might be due to invalid IL or missing references)
//IL_0096: Invalid comparison between Unknown and I4
//IL_005f: Unknown result type (might be due to invalid IL or missing references)
//IL_0068: Unknown result type (might be due to invalid IL or missing references)
//IL_006d: Unknown result type (might be due to invalid IL or missing references)
//IL_007c: Unknown result type (might be due to invalid IL or missing references)
//IL_00c1: Unknown result type (might be due to invalid IL or missing references)
NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager;
if (networkManager != null && networkManager.IsListening)
{
if ((int)((NetworkBehaviour)this).__rpc_exec_stage != 1 && (networkManager.IsServer || networkManager.IsHost))
{
ClientRpcParams val = default(ClientRpcParams);
FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendClientRpc(4108114188u, val, (RpcDelivery)0);
((NetworkBehaviour)this).__endSendClientRpc(ref val2, 4108114188u, val, (RpcDelivery)0);
}
if ((int)((NetworkBehaviour)this).__rpc_exec_stage == 1 && (networkManager.IsClient || networkManager.IsHost))
{
((NetworkBehaviour)this).__rpc_exec_stage = (__RpcExecStage)0;
IsExploding = true;
oopsAudioSource.Play();
}
}
}
[ServerRpc(RequireOwnership = false)]
public void syncTotalScrapValueServerRpc(float plusval = 0f, float minusval = 0f)
{
//IL_0024: Unknown result type (might be due to invalid IL or missing references)
//IL_002e: Invalid comparison between Unknown and I4
//IL_00c2: Unknown result type (might be due to invalid IL or missing references)
//IL_00cc: Invalid comparison between Unknown and I4
//IL_005f: Unknown result type (might be due to invalid IL or missing references)
//IL_0068: Unknown result type (might be due to invalid IL or missing references)
//IL_006d: Unknown result type (might be due to invalid IL or missing references)
//IL_007d: Unknown result type (might be due to invalid IL or missing references)
//IL_0083: Unknown result type (might be due to invalid IL or missing references)
//IL_0098: Unknown result type (might be due to invalid IL or missing references)
//IL_009e: Unknown result type (might be due to invalid IL or missing references)
//IL_00b2: Unknown result type (might be due to invalid IL or missing references)
//IL_00f7: Unknown result type (might be due to invalid IL or missing references)
NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager;
if (networkManager != null && networkManager.IsListening)
{
if ((int)((NetworkBehaviour)this).__rpc_exec_stage != 1 && (networkManager.IsClient || networkManager.IsHost))
{
ServerRpcParams val = default(ServerRpcParams);
FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendServerRpc(3047672134u, val, (RpcDelivery)0);
((FastBufferWriter)(ref val2)).WriteValueSafe<float>(ref plusval, default(ForPrimitives));
((FastBufferWriter)(ref val2)).WriteValueSafe<float>(ref minusval, default(ForPrimitives));
((NetworkBehaviour)this).__endSendServerRpc(ref val2, 3047672134u, val, (RpcDelivery)0);
}
if ((int)((NetworkBehaviour)this).__rpc_exec_stage == 1 && (networkManager.IsServer || networkManager.IsHost))
{
((NetworkBehaviour)this).__rpc_exec_stage = (__RpcExecStage)0;
syncTotalScrapValueClientRpc(plusval, minusval);
}
}
}
[ClientRpc]
public void syncTotalScrapValueClientRpc(float plusval, float minusval)
{
//IL_0024: Unknown result type (might be due to invalid IL or missing references)
//IL_002e: Invalid comparison between Unknown and I4
//IL_00c2: Unknown result type (might be due to invalid IL or missing references)
//IL_00cc: Invalid comparison between Unknown and I4
//IL_005f: Unknown result type (might be due to invalid IL or missing references)
//IL_0068: Unknown result type (might be due to invalid IL or missing references)
//IL_006d: Unknown result type (might be due to invalid IL or missing references)
//IL_007d: Unknown result type (might be due to invalid IL or missing references)
//IL_0083: Unknown result type (might be due to invalid IL or missing references)
//IL_0098: Unknown result type (might be due to invalid IL or missing references)
//IL_009e: Unknown result type (might be due to invalid IL or missing references)
//IL_00b2: Unknown result type (might be due to invalid IL or missing references)
//IL_00f7: Unknown result type (might be due to invalid IL or missing references)
NetworkManager networkManager = ((NetworkBehaviour)this).NetworkManager;
if (networkManager != null && networkManager.IsListening)
{
if ((int)((NetworkBehaviour)this).__rpc_exec_stage != 1 && (networkManager.IsServer || networkManager.IsHost))
{
ClientRpcParams val = default(ClientRpcParams);
FastBufferWriter val2 = ((NetworkBehaviour)this).__beginSendClientRpc(3561509306u, val, (RpcDelivery)0);
((FastBufferWriter)(ref val2)).WriteValueSafe<float>(ref plusval, default(ForPrimitives));
((FastBufferWriter)(ref val2)).WriteValueSafe<float>(ref minusval, default(ForPrimitives));
((NetworkBehaviour)this).__endSendClientRpc(ref val2, 3561509306u, val, (RpcDelivery)0);
}
if ((int)((NetworkBehaviour)this).__rpc_exec_stage == 1 && (networkManager.IsClient || networkManager.IsHost))
{
((NetworkBehaviour)this).__rpc_exec_stage = (__RpcExecStage)0;
global::TheUltimateNumber.TheUltimateNumber.Logger.LogDebug((object)("Total scrap value before adding is " + RoundManager.Instance.totalScrapValueInLevel));
RoundManager.Instance.totalScrapValueInLevel = RoundManager.Instance.totalScrapValueInLevel + plusval - minusval;
global::TheUltimateNumber.TheUltimateNumber.Logger.LogDebug((object)("Total scrap value after adding is " + RoundManager.Instance.totalScrapValueInLevel));
}
}
}
protected override void __initializeVariables()
{
if (_scrapValueSyncer == null)
{
throw new Exception("UltimateNumberManipulator._scrapValueSyncer cannot be null. All NetworkVariableBase instances must be initialized.");
}
((NetworkVariableBase)_scrapValueSyncer).Initialize((NetworkBehaviour)(object)this);
((NetworkBehaviour)this).__nameNetworkVariable((NetworkVariableBase)(object)_scrapValueSyncer, "_scrapValueSyncer");
((NetworkBehaviour)this).NetworkVariableFields.Add((NetworkVariableBase)(object)_scrapValueSyncer);
if (_place1 == null)
{
throw new Exception("UltimateNumberManipulator._place1 cannot be null. All NetworkVariableBase instances must be initialized.");
}
((NetworkVariableBase)_place1).Initialize((NetworkBehaviour)(object)this);
((NetworkBehaviour)this).__nameNetworkVariable((NetworkVariableBase)(object)_place1, "_place1");
((NetworkBehaviour)this).NetworkVariableFields.Add((NetworkVariableBase)(object)_place1);
if (_place2 == null)
{
throw new Exception("UltimateNumberManipulator._place2 cannot be null. All NetworkVariableBase instances must be initialized.");
}
((NetworkVariableBase)_place2).Initialize((NetworkBehaviour)(object)this);
((NetworkBehaviour)this).__nameNetworkVariable((NetworkVariableBase)(object)_place2, "_place2");
((NetworkBehaviour)this).NetworkVariableFields.Add((NetworkVariableBase)(object)_place2);
if (_place3 == null)
{
throw new Exception("UltimateNumberManipulator._place3 cannot be null. All NetworkVariableBase instances must be initialized.");
}
((NetworkVariableBase)_place3).Initialize((NetworkBehaviour)(object)this);
((NetworkBehaviour)this).__nameNetworkVariable((NetworkVariableBase)(object)_place3, "_place3");
((NetworkBehaviour)this).NetworkVariableFields.Add((NetworkVariableBase)(object)_place3);
if (_place4 == null)
{
throw new Exception("UltimateNumberManipulator._place4 cannot be null. All NetworkVariableBase instances must be initialized.");
}
((NetworkVariableBase)_place4).Initialize((NetworkBehaviour)(object)this);
((NetworkBehaviour)this).__nameNetworkVariable((NetworkVariableBase)(object)_place4, "_place4");
((NetworkBehaviour)this).NetworkVariableFields.Add((NetworkVariableBase)(object)_place4);
if (_place5 == null)
{
throw new Exception("UltimateNumberManipulator._place5 cannot be null. All NetworkVariableBase instances must be initialized.");
}
((NetworkVariableBase)_place5).Initialize((NetworkBehaviour)(object)this);
((NetworkBehaviour)this).__nameNetworkVariable((NetworkVariableBase)(object)_place5, "_place5");
((NetworkBehaviour)this).NetworkVariableFields.Add((NetworkVariableBase)(object)_place5);
if (_place6 == null)
{
throw new Exception("UltimateNumberManipulator._place6 cannot be null. All NetworkVariableBase instances must be initialized.");
}
((NetworkVariableBase)_place6).Initialize((NetworkBehaviour)(object)this);
((NetworkBehaviour)this).__nameNetworkVariable((NetworkVariableBase)(object)_place6, "_place6");
((NetworkBehaviour)this).NetworkVariableFields.Add((NetworkVariableBase)(object)_place6);
if (_place7 == null)
{
throw new Exception("UltimateNumberManipulator._place7 cannot be null. All NetworkVariableBase instances must be initialized.");
}
((NetworkVariableBase)_place7).Initialize((NetworkBehaviour)(object)this);
((NetworkBehaviour)this).__nameNetworkVariable((NetworkVariableBase)(object)_place7, "_place7");
((NetworkBehaviour)this).NetworkVariableFields.Add((NetworkVariableBase)(object)_place7);
if (_place8 == null)
{
throw new Exception("UltimateNumberManipulator._place8 cannot be null. All NetworkVariableBase instances must be initialized.");
}
((NetworkVariableBase)_place8).Initialize((NetworkBehaviour)(object)this);
((NetworkBehaviour)this).__nameNetworkVariable((NetworkVariableBase)(object)_place8, "_place8");
((NetworkBehaviour)this).NetworkVariableFields.Add((NetworkVariableBase)(object)_place8);
if (_place9 == null)
{
throw new Exception("UltimateNumberManipulator._place9 cannot be null. All NetworkVariableBase instances must be initialized.");
}
((NetworkVariableBase)_place9).Initialize((NetworkBehaviour)(object)this);
((NetworkBehaviour)this).__nameNetworkVariable((NetworkVariableBase)(object)_place9, "_place9");
((NetworkBehaviour)this).NetworkVariableFields.Add((NetworkVariableBase)(object)_place9);
if (_place10 == null)
{
throw new Exception("UltimateNumberManipulator._place10 cannot be null. All NetworkVariableBase instances must be initialized.");
}
((NetworkVariableBase)_place10).Initialize((NetworkBehaviour)(object)this);
((NetworkBehaviour)this).__nameNetworkVariable((NetworkVariableBase)(object)_place10, "_place10");
((NetworkBehaviour)this).NetworkVariableFields.Add((NetworkVariableBase)(object)_place10);
if (_hasWaited == null)
{
throw new Exception("UltimateNumberManipulator._hasWaited cannot be null. All NetworkVariableBase instances must be initialized.");
}
((NetworkVariableBase)_hasWaited).Initialize((NetworkBehaviour)(object)this);
((NetworkBehaviour)this).__nameNetworkVariable((NetworkVariableBase)(object)_hasWaited, "_hasWaited");
((NetworkBehaviour)this).NetworkVariableFields.Add((NetworkVariableBase)(object)_hasWaited);
if (_isExploding == null)
{
throw new Exception("UltimateNumberManipulator._isExploding cannot be null. All NetworkVariableBase instances must be initialized.");
}
((NetworkVariableBase)_isExploding).Initialize((NetworkBehaviour)(object)this);
((NetworkBehaviour)this).__nameNetworkVariable((NetworkVariableBase)(object)_isExploding, "_isExploding");
((NetworkBehaviour)this).NetworkVariableFields.Add((NetworkVariableBase)(object)_isExploding);
if (_hasUpdatedYet == null)
{
throw new Exception("UltimateNumberManipulator._hasUpdatedYet cannot be null. All NetworkVariableBase instances must be initialized.");
}
((NetworkVariableBase)_hasUpdatedYet).Initialize((NetworkBehaviour)(object)this);
((NetworkBehaviour)this).__nameNetworkVariable((NetworkVariableBase)(object)_hasUpdatedYet, "_hasUpdatedYet");
((NetworkBehaviour)this).NetworkVariableFields.Add((NetworkVariableBase)(object)_hasUpdatedYet);
((AnimatedItem)this).__initializeVariables();
}
protected override void __initializeRpcs()
{
//IL_000d: Unknown result type (might be due to invalid IL or missing references)
//IL_001c: Expected O, but got Unknown
//IL_0029: Unknown result type (might be due to invalid IL or missing references)
//IL_0038: Expected O, but got Unknown
//IL_0045: Unknown result type (might be due to invalid IL or missing references)
//IL_0054: Expected O, but got Unknown
//IL_0061: Unknown result type (might be due to invalid IL or missing references)
//IL_0070: Expected O, but got Unknown
//IL_007d: Unknown result type (might be due to invalid IL or missing references)
//IL_008c: Expected O, but got Unknown
//IL_0099: Unknown result type (might be due to invalid IL or missing references)
//IL_00a8: Expected O, but got Unknown
((NetworkBehaviour)this).__registerRpc(640149591u, new RpcReceiveHandler(__rpc_handler_640149591), "ExplodeNumberServerRpc");
((NetworkBehaviour)this).__registerRpc(2443973414u, new RpcReceiveHandler(__rpc_handler_2443973414), "ExplodeNumberClientRpc");
((NetworkBehaviour)this).__registerRpc(3518729144u, new RpcReceiveHandler(__rpc_handler_3518729144), "playOopsAudioServerRpc");
((NetworkBehaviour)this).__registerRpc(4108114188u, new RpcReceiveHandler(__rpc_handler_4108114188), "playOopsAudioClientRpc");
((NetworkBehaviour)this).__registerRpc(3047672134u, new RpcReceiveHandler(__rpc_handler_3047672134), "syncTotalScrapValueServerRpc");
((NetworkBehaviour)this).__registerRpc(3561509306u, new RpcReceiveHandler(__rpc_handler_3561509306), "syncTotalScrapValueClientRpc");
((AnimatedItem)this).__initializeRpcs();
}
private static void __rpc_handler_640149591(NetworkBehaviour? target, FastBufferReader reader, __RpcParams rpcParams)
{
//IL_0029: Unknown result type (might be due to invalid IL or missing references)
//IL_003f: Unknown result type (might be due to invalid IL or missing references)
NetworkManager networkManager = target.NetworkManager;
if (networkManager != null && networkManager.IsListening)
{
target.__rpc_exec_stage = (__RpcExecStage)1;
((UltimateNumberManipulator)(object)target).ExplodeNumberServerRpc();
target.__rpc_exec_stage = (__RpcExecStage)0;
}
}
private static void __rpc_handler_2443973414(NetworkBehaviour? target, FastBufferReader reader, __RpcParams rpcParams)
{
//IL_0029: Unknown result type (might be due to invalid IL or missing references)
//IL_003f: Unknown result type (might be due to invalid IL or missing references)
NetworkManager networkManager = target.NetworkManager;
if (networkManager != null && networkManager.IsListening)
{
target.__rpc_exec_stage = (__RpcExecStage)1;
((UltimateNumberManipulator)(object)target).ExplodeNumberClientRpc();
target.__rpc_exec_stage = (__RpcExecStage)0;
}
}
private static void __rpc_handler_3518729144(NetworkBehaviour? target, FastBufferReader reader, __RpcParams rpcParams)
{
//IL_0029: Unknown result type (might be due to invalid IL or missing references)
//IL_003f: Unknown result type (might be due to invalid IL or missing references)
NetworkManager networkManager = target.NetworkManager;
if (networkManager != null && networkManager.IsListening)
{
target.__rpc_exec_stage = (__RpcExecStage)1;
((UltimateNumberManipulator)(object)target).playOopsAudioServerRpc();
target.__rpc_exec_stage = (__RpcExecStage)0;
}
}
private static void __rpc_handler_4108114188(NetworkBehaviour? target, FastBufferReader reader, __RpcParams rpcParams)
{
//IL_0029: Unknown result type (might be due to invalid IL or missing references)
//IL_003f: Unknown result type (might be due to invalid IL or missing references)
NetworkManager networkManager = target.NetworkManager;
if (networkManager != null && networkManager.IsListening)
{
target.__rpc_exec_stage = (__RpcExecStage)1;
((UltimateNumberManipulator)(object)target).playOopsAudioClientRpc();
target.__rpc_exec_stage = (__RpcExecStage)0;
}
}
private static void __rpc_handler_3047672134(NetworkBehaviour? target, FastBufferReader reader, __RpcParams rpcParams)
{
//IL_002f: Unknown result type (might be due to invalid IL or missing references)
//IL_0035: Unknown result type (might be due to invalid IL or missing references)
//IL_004a: Unknown result type (might be due to invalid IL or missing references)
//IL_0050: Unknown result type (might be due to invalid IL or missing references)
//IL_005f: Unknown result type (might be due to invalid IL or missing references)
//IL_007d: Unknown result type (might be due to invalid IL or missing references)
NetworkManager networkManager = target.NetworkManager;
if (networkManager != null && networkManager.IsListening)
{
float plusval = default(float);
((FastBufferReader)(ref reader)).ReadValueSafe<float>(ref plusval, default(ForPrimitives));
float minusval = default(float);
((FastBufferReader)(ref reader)).ReadValueSafe<float>(ref minusval, default(ForPrimitives));
target.__rpc_exec_stage = (__RpcExecStage)1;
((UltimateNumberManipulator)(object)target).syncTotalScrapValueServerRpc(plusval, minusval);
target.__rpc_exec_stage = (__RpcExecStage)0;
}
}
private static void __rpc_handler_3561509306(NetworkBehaviour? target, FastBufferReader reader, __RpcParams rpcParams)
{
//IL_002f: Unknown result type (might be due to invalid IL or missing references)
//IL_0035: Unknown result type (might be due to invalid IL or missing references)
//IL_004a: Unknown result type (might be due to invalid IL or missing references)
//IL_0050: Unknown result type (might be due to invalid IL or missing references)
//IL_005f: Unknown result type (might be due to invalid IL or missing references)
//IL_007d: Unknown result type (might be due to invalid IL or missing references)
NetworkManager networkManager = target.NetworkManager;
if (networkManager != null && networkManager.IsListening)
{
float plusval = default(float);
((FastBufferReader)(ref reader)).ReadValueSafe<float>(ref plusval, default(ForPrimitives));
float minusval = default(float);
((FastBufferReader)(ref reader)).ReadValueSafe<float>(ref minusval, default(ForPrimitives));
target.__rpc_exec_stage = (__RpcExecStage)1;
((UltimateNumberManipulator)(object)target).syncTotalScrapValueClientRpc(plusval, minusval);
target.__rpc_exec_stage = (__RpcExecStage)0;
}
}
[MethodImpl(MethodImplOptions.NoInlining)]
protected internal override string? __getTypeName()
{
return "UltimateNumberManipulator";
}
}
namespace TheUltimateNumber
{
[CreateAssetMenu]
public class SpecialAudioClip : ScriptableObject
{
public AudioClip clip = new AudioClip();
public int value;
public bool explodeAfter;
}
[BepInPlugin("MBCollector672.TheUltimateNumber", "TheUltimateNumber", "1.0.0")]
[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.0 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.0";
}
}
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
{
}
}