Please disclose if any significant portion of your mod was created using AI tools by adding the 'AI Generated' category. Failing to do so may result in the mod being removed from Thunderstore.
Decompiled source of StarTrekValuables v1.1.6
StarTrekValuables.dll
Decompiled a year agousing System.CodeDom.Compiler; using System.Collections; using System.Collections.Generic; using System.ComponentModel; using System.Diagnostics; using System.IO; using System.Reflection; using System.Runtime.CompilerServices; using BepInEx; using BepInEx.Configuration; using BepInEx.Logging; using HarmonyLib; using REPOLib; using StarTrekValuables.Scripts; using UnityEngine; using UnityEngine.Events; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)] [assembly: AssemblyVersion("0.0.0.0")] public class TrapTasha : Trap { public GameObject Hologram; public Animator HologramAnimator; public Light HologramLight; private bool HologramPlaying; protected override void Start() { ((Trap)this).Start(); base.physGrabObject = ((Component)this).GetComponent<PhysGrabObject>(); Hologram.gameObject.SetActive(false); ((Behaviour)HologramLight).enabled = false; if (GameManager.instance.gameMode == 0) { base.isLocal = true; } } public void StartHologram() { base.trapActive = true; base.trapTriggered = true; HologramPlaying = true; Hologram.gameObject.SetActive(true); ((Behaviour)HologramLight).enabled = true; HologramAnimator.Play("hologram_turnon"); } public void StopHologram() { if (HologramPlaying) { HologramAnimator.Play("hologram_turnoff"); } base.trapActive = false; base.trapStart = false; HologramPlaying = false; } public void HologramShutOff() { Hologram.gameObject.SetActive(false); ((Behaviour)HologramLight).enabled = false; } protected override void Update() { ((Trap)this).Update(); if (base.physGrabObject.grabbed) { base.trapStart = true; } else { StopHologram(); } if (base.trapStart && !HologramPlaying) { StartHologram(); } if (base.trapActive) { base.enemyInvestigate = true; } } } [CompilerGenerated] [EditorBrowsable(EditorBrowsableState.Never)] [GeneratedCode("Unity.MonoScriptGenerator.MonoScriptInfoGenerator", null)] internal class UnitySourceGeneratedAssemblyMonoScriptTypes_v1 { private struct MonoScriptData { public byte[] FilePathsData; public byte[] TypesData; public int TotalTypes; public int TotalFiles; public bool IsEditorOnly; } [MethodImpl(MethodImplOptions.AggressiveInlining)] private static MonoScriptData Get() { MonoScriptData result = default(MonoScriptData); result.FilePathsData = new byte[695] { 0, 0, 0, 1, 0, 0, 0, 54, 92, 65, 115, 115, 101, 116, 115, 92, 77, 111, 100, 115, 92, 83, 116, 97, 114, 84, 114, 101, 107, 86, 97, 108, 117, 97, 98, 108, 101, 115, 92, 66, 101, 112, 105, 110, 101, 120, 80, 108, 117, 103, 105, 110, 92, 65, 115, 115, 101, 116, 115, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 61, 92, 65, 115, 115, 101, 116, 115, 92, 77, 111, 100, 115, 92, 83, 116, 97, 114, 84, 114, 101, 107, 86, 97, 108, 117, 97, 98, 108, 101, 115, 92, 66, 101, 112, 105, 110, 101, 120, 80, 108, 117, 103, 105, 110, 92, 67, 111, 110, 102, 105, 103, 77, 97, 110, 97, 103, 101, 114, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 60, 92, 65, 115, 115, 101, 116, 115, 92, 77, 111, 100, 115, 92, 83, 116, 97, 114, 84, 114, 101, 107, 86, 97, 108, 117, 97, 98, 108, 101, 115, 92, 66, 101, 112, 105, 110, 101, 120, 80, 108, 117, 103, 105, 110, 92, 77, 121, 80, 108, 117, 103, 105, 110, 73, 110, 102, 111, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 83, 92, 65, 115, 115, 101, 116, 115, 92, 77, 111, 100, 115, 92, 83, 116, 97, 114, 84, 114, 101, 107, 86, 97, 108, 117, 97, 98, 108, 101, 115, 92, 66, 101, 112, 105, 110, 101, 120, 80, 108, 117, 103, 105, 110, 92, 80, 97, 116, 99, 104, 101, 115, 92, 86, 97, 108, 117, 97, 98, 108, 101, 79, 98, 106, 101, 99, 116, 68, 105, 115, 99, 111, 118, 101, 114, 80, 97, 116, 99, 104, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 54, 92, 65, 115, 115, 101, 116, 115, 92, 77, 111, 100, 115, 92, 83, 116, 97, 114, 84, 114, 101, 107, 86, 97, 108, 117, 97, 98, 108, 101, 115, 92, 66, 101, 112, 105, 110, 101, 120, 80, 108, 117, 103, 105, 110, 92, 80, 108, 117, 103, 105, 110, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 61, 92, 65, 115, 115, 101, 116, 115, 92, 77, 111, 100, 115, 92, 83, 116, 97, 114, 84, 114, 101, 107, 86, 97, 108, 117, 97, 98, 108, 101, 115, 92, 77, 111, 110, 111, 66, 101, 104, 97, 118, 105, 111, 117, 114, 115, 92, 67, 97, 109, 101, 114, 97, 70, 97, 99, 105, 110, 103, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 55, 92, 65, 115, 115, 101, 116, 115, 92, 77, 111, 100, 115, 92, 83, 116, 97, 114, 84, 114, 101, 107, 86, 97, 108, 117, 97, 98, 108, 101, 115, 92, 77, 111, 110, 111, 66, 101, 104, 97, 118, 105, 111, 117, 114, 115, 92, 68, 97, 120, 77, 117, 103, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 59, 92, 65, 115, 115, 101, 116, 115, 92, 77, 111, 100, 115, 92, 83, 116, 97, 114, 84, 114, 101, 107, 86, 97, 108, 117, 97, 98, 108, 101, 115, 92, 77, 111, 110, 111, 66, 101, 104, 97, 118, 105, 111, 117, 114, 115, 92, 77, 97, 115, 97, 107, 97, 77, 97, 115, 107, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 70, 92, 65, 115, 115, 101, 116, 115, 92, 77, 111, 100, 115, 92, 83, 116, 97, 114, 84, 114, 101, 107, 86, 97, 108, 117, 97, 98, 108, 101, 115, 92, 77, 111, 110, 111, 66, 101, 104, 97, 118, 105, 111, 117, 114, 115, 92, 80, 104, 111, 116, 111, 110, 84, 111, 114, 112, 101, 100, 111, 86, 97, 108, 117, 97, 98, 108, 101, 46, 99, 115, 0, 0, 0, 1, 0, 0, 0, 58, 92, 65, 115, 115, 101, 116, 115, 92, 77, 111, 100, 115, 92, 83, 116, 97, 114, 84, 114, 101, 107, 86, 97, 108, 117, 97, 98, 108, 101, 115, 92, 77, 111, 110, 111, 66, 101, 104, 97, 118, 105, 111, 117, 114, 115, 92, 84, 114, 97, 112, 84, 97, 115, 104, 97, 46, 99, 115 }; result.TypesData = new byte[343] { 0, 0, 0, 0, 24, 83, 116, 97, 114, 84, 114, 101, 107, 86, 97, 108, 117, 97, 98, 108, 101, 115, 124, 65, 115, 115, 101, 116, 115, 0, 0, 0, 0, 31, 83, 116, 97, 114, 84, 114, 101, 107, 86, 97, 108, 117, 97, 98, 108, 101, 115, 124, 67, 111, 110, 102, 105, 103, 77, 97, 110, 97, 103, 101, 114, 0, 0, 0, 0, 30, 83, 116, 97, 114, 84, 114, 101, 107, 86, 97, 108, 117, 97, 98, 108, 101, 115, 124, 77, 121, 80, 108, 117, 103, 105, 110, 73, 110, 102, 111, 0, 0, 0, 0, 45, 83, 116, 97, 114, 84, 114, 101, 107, 86, 97, 108, 117, 97, 98, 108, 101, 115, 124, 86, 97, 108, 117, 97, 98, 108, 101, 79, 98, 106, 101, 99, 116, 68, 105, 115, 99, 111, 118, 101, 114, 80, 97, 116, 99, 104, 0, 0, 0, 0, 24, 83, 116, 97, 114, 84, 114, 101, 107, 86, 97, 108, 117, 97, 98, 108, 101, 115, 124, 80, 108, 117, 103, 105, 110, 0, 0, 0, 0, 30, 83, 116, 97, 114, 84, 114, 101, 107, 86, 97, 108, 117, 97, 98, 108, 101, 115, 124, 67, 97, 109, 101, 114, 97, 70, 97, 99, 105, 110, 103, 0, 0, 0, 0, 32, 83, 116, 97, 114, 84, 114, 101, 107, 86, 97, 108, 117, 97, 98, 108, 101, 115, 46, 83, 99, 114, 105, 112, 116, 115, 124, 68, 97, 120, 77, 117, 103, 0, 0, 0, 0, 28, 83, 116, 97, 114, 84, 114, 101, 107, 86, 97, 108, 117, 97, 98, 108, 101, 115, 124, 77, 97, 115, 97, 107, 97, 77, 97, 115, 107, 0, 0, 0, 0, 39, 83, 116, 97, 114, 84, 114, 101, 107, 86, 97, 108, 117, 97, 98, 108, 101, 115, 124, 80, 104, 111, 116, 111, 110, 84, 111, 114, 112, 101, 100, 111, 86, 97, 108, 117, 97, 98, 108, 101, 0, 0, 0, 0, 10, 124, 84, 114, 97, 112, 84, 97, 115, 104, 97 }; result.TotalFiles = 10; result.TotalTypes = 10; result.IsEditorOnly = false; return result; } } namespace StarTrekValuables { internal static class Assets { } internal static class ConfigManager { public static ConfigFile ConfigFile { get; private set; } public static void Initialize(ConfigFile configFile) { ConfigFile = configFile; BindConfigs(); } private static void BindConfigs() { } } public static class MyPluginInfo { public const string PLUGIN_GUID = "StarTrekValuables"; public const string PLUGIN_NAME = "StarTrekValuables"; public const string PLUGIN_VERSION = "1.0.4"; } [HarmonyPatch(typeof(ValuableObject), "Discover")] internal static class ValuableObjectDiscoverPatch { private static bool Prefix(ValuableObject __instance, State _state) { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_0002: Invalid comparison between Unknown and I4 if ((int)_state == 2) { return true; } DaxMug daxMug = default(DaxMug); if (((Component)__instance).TryGetComponent<DaxMug>(ref daxMug)) { daxMug.DiscoverScare(); __instance.Discover((State)2); return false; } return true; } } [BepInPlugin("StarTrekValuables", "StarTrekValuables", "1.0.4")] [BepInDependency(/*Could not decode attribute arguments.*/)] public class Plugin : BaseUnityPlugin { internal static Harmony harmony; internal static Plugin Instance { get; private set; } internal static ManualLogSource Logger { get; private set; } private void Awake() { //IL_0036: Unknown result type (might be due to invalid IL or missing references) //IL_0040: Expected O, but got Unknown if ((Object)(object)Instance == (Object)null) { Instance = this; } Logger = Logger.CreateLogSource("StarTrekValuables"); Logger.LogInfo((object)"Plugin StarTrekValuables awake!"); harmony = new Harmony("StarTrekValuables"); harmony.PatchAll(); BundleLoader.LoadBundle(Path.Combine(Path.GetDirectoryName(((BaseUnityPlugin)Instance).Info.Location), "StarTrekValuables_assets"), ""); ConfigManager.Initialize(((BaseUnityPlugin)this).Config); } } public class CameraFacing : MonoBehaviour { public Transform RootTransform; public MeshRenderer Hologram; private Material hologramMaterial; private void Start() { if ((Object)(object)RootTransform == (Object)null) { RootTransform = ((Component)this).gameObject.transform.parent.parent; } hologramMaterial = ((Renderer)Hologram).material; } private void Update() { //IL_000a: Unknown result type (might be due to invalid IL or missing references) //IL_0015: Unknown result type (might be due to invalid IL or missing references) //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_0020: Unknown result type (might be due to invalid IL or missing references) //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_0028: Unknown result type (might be due to invalid IL or missing references) //IL_002d: Unknown result type (might be due to invalid IL or missing references) //IL_0032: Unknown result type (might be due to invalid IL or missing references) //IL_0037: Unknown result type (might be due to invalid IL or missing references) //IL_0064: Unknown result type (might be due to invalid IL or missing references) //IL_0070: Unknown result type (might be due to invalid IL or missing references) //IL_00b7: Unknown result type (might be due to invalid IL or missing references) //IL_0046: Unknown result type (might be due to invalid IL or missing references) //IL_004d: Unknown result type (might be due to invalid IL or missing references) //IL_0052: 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_005e: Unknown result type (might be due to invalid IL or missing references) Vector3 val = PlayerAvatar.instance.localCameraTransform.position - ((Component)this).transform.position; val -= Vector3.Project(val, RootTransform.up); if (((Vector3)(ref val)).sqrMagnitude > 0.001f) { Quaternion rotation = Quaternion.LookRotation(val, RootTransform.up); ((Component)this).transform.rotation = rotation; } float num = Mathf.Abs(Vector3.Dot(val, ((Component)Hologram).transform.up)); num = Mathf.Clamp(Mathf.Pow(num, 0.7f) + 0.05f, 0f, 1f); hologramMaterial.color = new Color(1f, 1f, 1f, num); } } public class MasakaMask : MonoBehaviour { private enum State { Idle, Active } private PhysGrabObject physGrabObject; private State currentState; private float coolDownUntilNextSentence = 3f; [SerializeField] private List<string> phrases = new List<string>(); private int lastPhraseIndex = -1; private FieldInfo grabbedPhysGrabObjectField; private void Start() { physGrabObject = ((Component)this).GetComponent<PhysGrabObject>(); } private void Update() { if (grabbedPhysGrabObjectField == null) { grabbedPhysGrabObjectField = AccessTools.Field(typeof(PhysGrabber), "grabbedPhysGrabObject"); } if (currentState == State.Idle) { StateIdle(); } if (currentState == State.Active) { StateActive(); } } private void StateIdle() { //IL_00c3: Unknown result type (might be due to invalid IL or missing references) if (coolDownUntilNextSentence > 0f && physGrabObject.grabbed) { coolDownUntilNextSentence -= Time.deltaTime; } else if (!((Object)(object)PhysGrabber.instance == (Object)null) && !(grabbedPhysGrabObjectField == null)) { object? value = grabbedPhysGrabObjectField.GetValue(PhysGrabber.instance); PhysGrabObject val = (PhysGrabObject)((value is PhysGrabObject) ? value : null); if (PhysGrabber.instance.grabbed && (Object)(object)val != (Object)null && (Object)(object)val == (Object)(object)physGrabObject) { string text = PickMessage(); currentState = State.Active; Color val2 = default(Color); ((Color)(ref val2))..ctor(1f, 1f, 1f, 1f); ChatManager.instance.PossessChatScheduleStart(10); ChatManager.instance.PossessChat((PossessChatID)1, text, 1f, val2, 0f, false, 0, (UnityEvent)null); ChatManager.instance.PossessChatScheduleEnd(); } } } private void StateActive() { if (!(grabbedPhysGrabObjectField == null)) { object? value = grabbedPhysGrabObjectField.GetValue(PhysGrabber.instance); PhysGrabObject val = (PhysGrabObject)((value is PhysGrabObject) ? value : null); if (PhysGrabber.instance.grabbed && Object.op_Implicit((Object)(object)val) && (Object)(object)val != (Object)(object)physGrabObject) { currentState = State.Idle; coolDownUntilNextSentence = Random.Range(5f, 15f); } else if (!ChatManager.instance.StateIsPossessed()) { currentState = State.Idle; coolDownUntilNextSentence = Random.Range(5f, 15f); } } } private string PickMessage() { int num; for (num = Random.Range(0, phrases.Count); num == lastPhraseIndex; num = Random.Range(0, phrases.Count)) { } lastPhraseIndex = num; return phrases[num]; } } public class PhotonTorpedoValuable : MonoBehaviour { private ParticleScriptExplosion particleScriptExplosion; private PhysGrabObjectImpactDetector physGrabObjectImpactDetector; private ValuableObject valuableObject; public Sound AlarmSound; private bool triggered; public Transform Center; private void Start() { particleScriptExplosion = ((Component)this).GetComponent<ParticleScriptExplosion>(); physGrabObjectImpactDetector = ((Component)this).GetComponent<PhysGrabObjectImpactDetector>(); valuableObject = ((Component)this).GetComponent<ValuableObject>(); } private void Update() { if (!triggered) { CheckIfHealthLow(); } } public void CheckIfHealthLow() { if (!triggered && Object.op_Implicit((Object)(object)valuableObject) && valuableObject.dollarValueCurrent < valuableObject.dollarValueOriginal * 0.4f && (!Object.op_Implicit((Object)(object)valuableObject) || valuableObject.dollarValueCurrent != 100f)) { triggered = true; ((MonoBehaviour)this).StartCoroutine(Countdown()); } } private IEnumerator Countdown() { yield return (object)new WaitForSeconds(1f); AlarmSound.Play(Center.position, 1f, 1f, 1f, 1f); yield return (object)new WaitForSeconds(1f); AlarmSound.Play(Center.position, 1f, 1f, 1f, 1f); yield return (object)new WaitForSeconds(1f); AlarmSound.Play(Center.position, 1f, 1f, 1f, 1f); yield return (object)new WaitForSeconds(1f); AlarmSound.Play(Center.position, 1f, 1f, 1f, 1f); yield return (object)new WaitForSeconds(1f); physGrabObjectImpactDetector.DestroyObject(true); } public void Explode() { //IL_000c: Unknown result type (might be due to invalid IL or missing references) particleScriptExplosion.Spawn(Center.position, 5f, 80, 50, 3f, false, false, 4f); } } } namespace StarTrekValuables.Scripts { public class DaxMug : MonoBehaviour { private bool localSeen; private bool localSeenEffect; private float localSeenEffectTimer = 2f; public AudioClip seenSound; private PhysGrabObject physGrabObject; private void Start() { physGrabObject = ((Component)this).GetComponent<PhysGrabObject>(); } private void Update() { //IL_004b: Unknown result type (might be due to invalid IL or missing references) if (localSeenEffect) { localSeenEffectTimer -= Time.deltaTime; CameraZoom.Instance.OverrideZoomSet(75f, 0.1f, 0.25f, 0.25f, ((Component)this).gameObject, 150); PostProcessing.Instance.VignetteOverride(Color.black, 0.4f, 1f, 1f, 0.5f, 0.1f, ((Component)this).gameObject); PostProcessing.Instance.SaturationOverride(-50f, 1f, 0.5f, 0.1f, ((Component)this).gameObject); PostProcessing.Instance.ContrastOverride(5f, 1f, 0.5f, 0.1f, ((Component)this).gameObject); GameDirector.instance.CameraImpact.Shake(10f * Time.deltaTime, 0.1f); GameDirector.instance.CameraShake.Shake(10f * Time.deltaTime, 1f); if (localSeenEffectTimer <= 0f) { localSeenEffect = false; } } } public void DiscoverScare() { localSeenEffect = true; CameraGlitch.Instance.PlayLong(); GameDirector.instance.CameraImpact.Shake(2f, 0.5f); GameDirector.instance.CameraShake.Shake(2f, 1f); localSeen = true; AudioScare.instance.PlayCustom(seenSound, 0.3f, 60f); } } }