using System; using System.Diagnostics; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using Microsoft.CodeAnalysis; 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("TerrasScrap")] [assembly: AssemblyConfiguration("Release")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0")] [assembly: AssemblyProduct("TerrasScrap")] [assembly: AssemblyTitle("TerrasScrap")] [assembly: AssemblyVersion("1.0.0.0")] 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; } } } namespace TerrasScrap { public class EggTimerItem : PhysicsProp { public string ringingBoolString; public Animator itemAnimator; public AudioSource itemAudio; public AudioLowPassFilter itemAudioLowPassFilter; public AudioClip ringAudio; public AudioClip clickingAudio; public AudioClip clickAudio; public Transform handleObject; public float noiseRange; public float noiseLoudness; private bool eggTimerSet; private bool eggTimerGrabbed; private float eggTimerTime; private int timesPlayedInOneSpot; private float makeNoiseInterval; private Vector3 lastPosition; public override void Start() { //IL_0024: 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_0072: Unknown result type (might be due to invalid IL or missing references) //IL_0084: Unknown result type (might be due to invalid IL or missing references) ((GrabbableObject)this).Start(); if (!((GrabbableObject)this).isInShipRoom && (float)new Random(StartOfRound.Instance.randomMapSeed + 10 + (int)((Component)this).transform.position.x + (int)((Component)this).transform.position.z).Next(0, 100) < 55f) { eggTimerSet = true; eggTimerTime = new Random(StartOfRound.Instance.randomMapSeed + 50 + (int)((Component)this).transform.position.x + (int)((Component)this).transform.position.z).Next(5, 177); Debug.Log((object)("Egg timer was set for " + eggTimerTime + " seconds.")); } } public override void EquipItem() { ((PhysicsProp)this).EquipItem(); if (eggTimerSet && !eggTimerGrabbed) { Debug.Log((object)("Egg timer of " + eggTimerTime + " seconds was grabbed!")); eggTimerGrabbed = true; itemAudio.clip = clickingAudio; itemAudio.loop = true; itemAudio.Play(); } if ((Object)(object)itemAudio != (Object)null) { if ((Object)(object)itemAudioLowPassFilter != (Object)null) { itemAudioLowPassFilter.cutoffFrequency = 20000f; } itemAudio.volume = 1f; } } public override void DiscardItem() { ((GrabbableObject)this).DiscardItem(); if ((Object)(object)itemAudio != (Object)null) { if ((Object)(object)itemAudioLowPassFilter != (Object)null) { itemAudioLowPassFilter.cutoffFrequency = 20000f; } itemAudio.volume = 1f; } } public override void PocketItem() { ((GrabbableObject)this).PocketItem(); if ((Object)(object)itemAudio != (Object)null) { if ((Object)(object)itemAudioLowPassFilter != (Object)null) { itemAudioLowPassFilter.cutoffFrequency = 1700f; } itemAudio.volume = 0.5f; } } public override void ItemActivate(bool used, bool buttonDown = true) { ((GrabbableObject)this).ItemActivate(used, buttonDown); if ((Object)(object)GameNetworkManager.Instance.localPlayerController == (Object)null || !itemAnimator.GetBool(ringingBoolString)) { return; } itemAnimator.SetBool(ringingBoolString, false); if ((Object)(object)itemAudio != (Object)null) { itemAudio.Stop(); if ((Object)(object)clickAudio != (Object)null) { itemAudio.loop = false; itemAudio.PlayOneShot(clickAudio); WalkieTalkie.TransmitOneShotAudio(itemAudio, clickAudio, 1f); } } ((GrabbableObject)this).SetControlTipsForItem(); } public override void SetControlTipsForItem() { string[] toolTips = ((GrabbableObject)this).itemProperties.toolTips; if (toolTips.Length < 1) { Debug.LogError((object)"Egg timer control tips array length is too short to set tips!"); return; } if (itemAnimator.GetBool(ringingBoolString)) { toolTips[0] = "Stop Egg timer : [RMB]"; } else { toolTips[0] = ""; } HUDManager.Instance.ChangeControlTipMultiple(toolTips, true, ((GrabbableObject)this).itemProperties); } public override void Update() { //IL_014a: Unknown result type (might be due to invalid IL or missing references) //IL_01a7: Unknown result type (might be due to invalid IL or missing references) //IL_01b2: Unknown result type (might be due to invalid IL or missing references) //IL_0237: Unknown result type (might be due to invalid IL or missing references) //IL_01ed: Unknown result type (might be due to invalid IL or missing references) ((GrabbableObject)this).Update(); if (((GrabbableObject)this).isInShipRoom && StartOfRound.Instance.inShipPhase && !StartOfRound.Instance.shipIsLeaving) { eggTimerTime = 0f; itemAnimator.SetBool(ringingBoolString, false); itemAudio.Stop(); eggTimerSet = false; if (((NetworkBehaviour)this).IsOwner && (Object)(object)((GrabbableObject)this).playerHeldBy != (Object)null && !((GrabbableObject)this).isPocketed) { ((GrabbableObject)this).SetControlTipsForItem(); } } if (eggTimerSet && eggTimerGrabbed && eggTimerTime > 0f) { eggTimerTime -= Time.deltaTime; if (eggTimerTime <= 0f) { eggTimerTime = 0f; itemAnimator.SetBool(ringingBoolString, true); itemAudio.clip = ringAudio; itemAudio.loop = true; itemAudio.Play(); eggTimerSet = false; if (((NetworkBehaviour)this).IsOwner && (Object)(object)((GrabbableObject)this).playerHeldBy != (Object)null && !((GrabbableObject)this).isPocketed) { ((GrabbableObject)this).SetControlTipsForItem(); } } } handleObject.localRotation = Quaternion.Euler(0f, eggTimerTime * 2f, 0f); if ((Object)(object)itemAudio == (Object)null || !itemAudio.isPlaying) { return; } if (makeNoiseInterval <= 0f && (Object)(object)itemAudio.clip == (Object)(object)ringAudio) { makeNoiseInterval = 0.75f; if (Vector3.Distance(lastPosition, ((Component)this).transform.position) < 4f) { timesPlayedInOneSpot++; } else { timesPlayedInOneSpot = 0; } if (((GrabbableObject)this).isPocketed) { RoundManager.Instance.PlayAudibleNoise(((Component)this).transform.position, noiseRange / 2f, noiseLoudness / 2f, timesPlayedInOneSpot, ((GrabbableObject)this).isInElevator && StartOfRound.Instance.hangarDoorsClosed, 0); } else { RoundManager.Instance.PlayAudibleNoise(((Component)this).transform.position, noiseRange, noiseLoudness, timesPlayedInOneSpot, ((GrabbableObject)this).isInElevator && StartOfRound.Instance.hangarDoorsClosed, 0); } } else { makeNoiseInterval -= Time.deltaTime; } } } public class FireTruckItem : AnimatedItem { public Light light1; public Light light2; public override void Update() { ((AnimatedItem)this).Update(); if (base.itemAudio.isPlaying && !((GrabbableObject)this).isPocketed) { ((Component)light1).gameObject.SetActive(true); ((Component)light2).gameObject.SetActive(true); } else { ((Component)light1).gameObject.SetActive(false); ((Component)light2).gameObject.SetActive(false); } } } public class LavaLampItem : PhysicsProp { public Light light; private static readonly int Color = Shader.PropertyToID("Color"); public override void Start() { //IL_0019: Unknown result type (might be due to invalid IL or missing references) //IL_002b: Unknown result type (might be due to invalid IL or missing references) //IL_0058: Unknown result type (might be due to invalid IL or missing references) //IL_005d: 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_0096: Unknown result type (might be due to invalid IL or missing references) ((GrabbableObject)this).Start(); Color val = Color.HSVToRGB((float)new Random(StartOfRound.Instance.randomMapSeed + 10 + (int)((Component)this).transform.position.x + (int)((Component)this).transform.position.z).Next(0, 360) / 360f, 0.5f, 1f); if ((Object)(object)((GrabbableObject)this).mainObjectRenderer != (Object)null) { ((Renderer)((GrabbableObject)this).mainObjectRenderer).material.SetColor("_Color", val); } if ((Object)(object)light != (Object)null) { light.color = val; } } } }