using System; 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.Logging; using HarmonyLib; using Microsoft.CodeAnalysis; using REPOLib.Modules; using UnityEngine; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")] [assembly: IgnoresAccessChecksTo("Assembly-CSharp-firstpass")] [assembly: IgnoresAccessChecksTo("Assembly-CSharp")] [assembly: IgnoresAccessChecksTo("Autodesk.Fbx")] [assembly: IgnoresAccessChecksTo("Discord.Sdk")] [assembly: IgnoresAccessChecksTo("Domain_Reload")] [assembly: IgnoresAccessChecksTo("Facepunch.Steamworks.Win64")] [assembly: IgnoresAccessChecksTo("FbxBuildTestAssets")] [assembly: IgnoresAccessChecksTo("Klattersynth")] [assembly: IgnoresAccessChecksTo("Photon3Unity3D")] [assembly: IgnoresAccessChecksTo("PhotonChat")] [assembly: IgnoresAccessChecksTo("PhotonRealtime")] [assembly: IgnoresAccessChecksTo("PhotonUnityNetworking")] [assembly: IgnoresAccessChecksTo("PhotonUnityNetworking.Utilities")] [assembly: IgnoresAccessChecksTo("PhotonVoice.API")] [assembly: IgnoresAccessChecksTo("PhotonVoice")] [assembly: IgnoresAccessChecksTo("PhotonVoice.PUN")] [assembly: IgnoresAccessChecksTo("SingularityGroup.HotReload.Runtime.Public")] [assembly: IgnoresAccessChecksTo("Sirenix.OdinInspector.Attributes")] [assembly: IgnoresAccessChecksTo("Sirenix.OdinInspector.Modules.Unity.Addressables")] [assembly: IgnoresAccessChecksTo("Sirenix.OdinInspector.Modules.UnityLocalization")] [assembly: IgnoresAccessChecksTo("Sirenix.Serialization.Config")] [assembly: IgnoresAccessChecksTo("Sirenix.Serialization")] [assembly: IgnoresAccessChecksTo("Sirenix.Utilities")] [assembly: IgnoresAccessChecksTo("Unity.Addressables")] [assembly: IgnoresAccessChecksTo("Unity.AI.Navigation")] [assembly: IgnoresAccessChecksTo("Unity.Burst")] [assembly: IgnoresAccessChecksTo("Unity.Burst.Unsafe")] [assembly: IgnoresAccessChecksTo("Unity.Collections")] [assembly: IgnoresAccessChecksTo("Unity.Collections.LowLevel.ILSupport")] [assembly: IgnoresAccessChecksTo("Unity.Formats.Fbx.Runtime")] [assembly: IgnoresAccessChecksTo("Unity.InputSystem")] [assembly: IgnoresAccessChecksTo("Unity.InputSystem.ForUI")] [assembly: IgnoresAccessChecksTo("Unity.InternalAPIEngineBridge.013")] [assembly: IgnoresAccessChecksTo("Unity.Localization")] [assembly: IgnoresAccessChecksTo("Unity.Mathematics")] [assembly: IgnoresAccessChecksTo("Unity.MemoryProfiler")] [assembly: IgnoresAccessChecksTo("Unity.Postprocessing.Runtime")] [assembly: IgnoresAccessChecksTo("Unity.Profiling.Core")] [assembly: IgnoresAccessChecksTo("Unity.RenderPipelines.Core.Runtime")] [assembly: IgnoresAccessChecksTo("Unity.RenderPipelines.Core.ShaderLibrary")] [assembly: IgnoresAccessChecksTo("Unity.RenderPipelines.ShaderGraph.ShaderGraphLibrary")] [assembly: IgnoresAccessChecksTo("Unity.ResourceManager")] [assembly: IgnoresAccessChecksTo("Unity.ScriptableBuildPipeline")] [assembly: IgnoresAccessChecksTo("Unity.Splines")] [assembly: IgnoresAccessChecksTo("Unity.TextMeshPro")] [assembly: IgnoresAccessChecksTo("Unity.Timeline")] [assembly: IgnoresAccessChecksTo("Unity.VisualScripting.Antlr3.Runtime")] [assembly: IgnoresAccessChecksTo("Unity.VisualScripting.Core")] [assembly: IgnoresAccessChecksTo("Unity.VisualScripting.Flow")] [assembly: IgnoresAccessChecksTo("Unity.VisualScripting.State")] [assembly: IgnoresAccessChecksTo("UnityEngine.ARModule")] [assembly: IgnoresAccessChecksTo("UnityEngine.NVIDIAModule")] [assembly: IgnoresAccessChecksTo("UnityEngine.UI")] [assembly: IgnoresAccessChecksTo("websocket-sharp")] [assembly: AssemblyCompany("Marlin404")] [assembly: AssemblyConfiguration("Debug")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0")] [assembly: AssemblyProduct("MogzItem")] [assembly: AssemblyTitle("MogzItem")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.0.0.0")] [module: UnverifiableCode] [module: RefSafetyRules(11)] namespace Microsoft.CodeAnalysis { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] internal sealed class EmbeddedAttribute : Attribute { } } namespace System.Runtime.CompilerServices { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.Class | AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Event | AttributeTargets.Parameter | AttributeTargets.ReturnValue | AttributeTargets.GenericParameter, AllowMultiple = false, Inherited = false)] internal sealed class NullableAttribute : Attribute { public readonly byte[] NullableFlags; public NullableAttribute(byte P_0) { NullableFlags = new byte[1] { P_0 }; } public NullableAttribute(byte[] P_0) { NullableFlags = P_0; } } [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Method | AttributeTargets.Interface | AttributeTargets.Delegate, AllowMultiple = false, Inherited = false)] internal sealed class NullableContextAttribute : Attribute { public readonly byte Flag; public NullableContextAttribute(byte P_0) { Flag = P_0; } } [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.Module, AllowMultiple = false, Inherited = false)] internal sealed class RefSafetyRulesAttribute : Attribute { public readonly int Version; public RefSafetyRulesAttribute(int P_0) { Version = P_0; } } } namespace MogzItem { [BepInPlugin("Marlin404.MogzItem", "MogzItem", "1.0.2")] [BepInDependency(/*Could not decode attribute arguments.*/)] public class MogzItem : BaseUnityPlugin { internal static MogzItem Instance { get; private set; } internal static ManualLogSource Logger => Instance._logger; private ManualLogSource _logger => ((BaseUnityPlugin)this).Logger; internal Harmony? Harmony { get; set; } private void Awake() { Instance = this; ((Component)this).gameObject.transform.parent = null; ((Object)((Component)this).gameObject).hideFlags = (HideFlags)61; Patch(); Logger.LogInfo((object)$"{((BaseUnityPlugin)this).Info.Metadata.GUID} v{((BaseUnityPlugin)this).Info.Metadata.Version} has loaded!"); string directoryName = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); AssetBundle val = AssetBundle.LoadFromFile(Path.Combine(directoryName, "mogzplush.assets")); GameObject val2 = val.LoadAsset("Valuable Mogz"); GameObject val3 = val.LoadAsset("Valuable MogzBig"); GameObject val4 = val.LoadAsset("Valuable MogzGold"); GameObject val5 = val.LoadAsset("Valuable MogzVintage"); Valuables.RegisterValuable(val2); Valuables.RegisterValuable(val3); Valuables.RegisterValuable(val4); Valuables.RegisterValuable(val5); } internal void Patch() { //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_001f: Unknown result type (might be due to invalid IL or missing references) //IL_0021: Expected O, but got Unknown //IL_0026: Expected O, but got Unknown if (Harmony == null) { Harmony val = new Harmony(((BaseUnityPlugin)this).Info.Metadata.GUID); Harmony val2 = val; Harmony = val; } Harmony.PatchAll(); } internal void Unpatch() { Harmony? harmony = Harmony; if (harmony != null) { harmony.UnpatchSelf(); } } private void Update() { } } public class MogzPlushTrap : Trap { public enum SoundType { Pickup, HurtLight, HurtMedium, HurtHeavy, TailBreak, Destroyed } private PhysGrabObject? physgrabobject; [Space] [Header("Mogz Plush Components")] public GameObject? leftEye; public GameObject? rightEye; public GameObject? leftPupil; public GameObject? rightPupil; public GameObject? tail; private Rigidbody? rb; private ParticleScriptExplosion? particleScriptExplosion; public ParticleSystem? particleBitsTailBreak; private bool tailBroken; private bool eyeTracking; private PlayerAvatar? lastPlayerGrabbed; private bool prevUpdateGrabbed; public float playerPupilDilationSize = 3f; [Space] public Transform? Center; public bool changePitch; [Space] [Header("Sounds")] public Sound? pickup; public Sound? hurtLight; public Sound? hurtMedium; public Sound? hurtHeavy; public Sound? tailbroke; public Sound? destroyed; private DateTime lastTimeCalled; private DateTime lastTimeHeld; public override void Start() { //IL_0037: Unknown result type (might be due to invalid IL or missing references) //IL_0041: Unknown result type (might be due to invalid IL or missing references) //IL_0057: Unknown result type (might be due to invalid IL or missing references) //IL_0061: Unknown result type (might be due to invalid IL or missing references) ((Trap)this).Start(); rb = ((Component)this).GetComponent(); physgrabobject = ((Component)this).GetComponent(); particleScriptExplosion = ((Component)this).GetComponent(); leftPupil.transform.localScale = Vector3.one * 2f; rightPupil.transform.localScale = Vector3.one * 2f; } public override void Update() { if (base.physGrabObject.grabbedLocal) { PlayerAvatar instance = PlayerAvatar.instance; if (playerPupilDilationSize != 1f) { instance.OverridePupilSize(playerPupilDilationSize, 4, 1f, 1f, 5f, 0.5f, 0.1f); } } ((Trap)this).Update(); } private void FixedUpdate() { //IL_00b5: Unknown result type (might be due to invalid IL or missing references) //IL_00ba: Unknown result type (might be due to invalid IL or missing references) //IL_00e2: Unknown result type (might be due to invalid IL or missing references) //IL_00f5: Unknown result type (might be due to invalid IL or missing references) PhysGrabObject component = ((Component)this).GetComponent(); PlayerAvatar lastPlayerGrabbing = component.lastPlayerGrabbing; if (component.grabbed && !prevUpdateGrabbed) { prevUpdateGrabbed = true; PlayPickupSound(); } else if (!component.grabbed && prevUpdateGrabbed) { prevUpdateGrabbed = false; lastTimeHeld = DateTime.Now; } if (eyeTracking) { if ((Object)(object)lastPlayerGrabbing != (Object)null && (Object)(object)lastPlayerGrabbing != (Object)(object)lastPlayerGrabbed) { lastPlayerGrabbed = lastPlayerGrabbing; } if ((Object)(object)lastPlayerGrabbed != (Object)null) { Vector3 position = ((Component)lastPlayerGrabbed).transform.position; bool flag = true; position.y = lastPlayerGrabbed.PlayerVisionTarget.TargetPosition; rightEye.transform.LookAt(position); leftEye.transform.LookAt(position); } } } public void TailBreak() { if (!tailBroken) { particleBitsTailBreak.Play(); tailBroken = true; tail.SetActive(false); StartEyeTracking(); tailBroken = true; SoundManager(SoundType.TailBreak); } } public void StartEyeTracking() { eyeTracking = true; } public void PlayPickupSound() { SoundManager(SoundType.Pickup); } public void PlayHurtSound() { if ((DateTime.Now - lastTimeHeld).TotalSeconds < 3.0) { SoundManager(SoundType.HurtLight); } } public void PlayHurtSoundMedium() { SoundManager(SoundType.HurtMedium); } public void PlayHurtSoundHeavy() { SoundManager(SoundType.HurtHeavy); } public void TrapStop() { SoundManager(SoundType.Destroyed); } private void SoundManager(SoundType SoundNum) { //IL_01dc: Unknown result type (might be due to invalid IL or missing references) //IL_00f8: Unknown result type (might be due to invalid IL or missing references) //IL_021a: 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_0166: Unknown result type (might be due to invalid IL or missing references) //IL_019d: Unknown result type (might be due to invalid IL or missing references) DateTime now = DateTime.Now; if ((now - lastTimeCalled).TotalSeconds < 0.05) { try { if (SoundNum == SoundType.Pickup) { pickup.Stop(); } if (SoundNum == SoundType.HurtLight) { hurtLight.Stop(); } if (SoundNum >= SoundType.HurtMedium) { hurtMedium.Stop(); } if (SoundNum >= SoundType.HurtHeavy) { hurtHeavy.Stop(); } if (SoundNum >= SoundType.TailBreak) { tailbroke.Stop(); } } catch (Exception) { } } if ((now - lastTimeCalled).TotalSeconds > 0.75) { if (SoundNum == SoundType.Pickup) { pickup.Play(base.physGrabObject.centerPoint, 1f, 1f, 1f, 1f); } if (SoundNum == SoundType.HurtLight) { hurtLight.Play(base.physGrabObject.centerPoint, 1f, 1f, 1f, 1f); } if (SoundNum == SoundType.HurtMedium) { hurtMedium.Play(base.physGrabObject.centerPoint, 1f, 1f, 1f, 1f); } if (SoundNum == SoundType.HurtHeavy) { hurtHeavy.Play(base.physGrabObject.centerPoint, 1f, 1f, 1f, 1f); } lastTimeCalled = now; } if (SoundNum == SoundType.TailBreak) { tailbroke.Play(base.physGrabObject.centerPoint, 1f, 1f, 1f, 1f); lastTimeCalled = now; } if (SoundNum == SoundType.Destroyed) { destroyed.Play(base.physGrabObject.centerPoint, 1f, 1f, 1f, 1f); lastTimeCalled = now; } } } }