using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using System.Security; using System.Security.Permissions; using BepInEx; using Microsoft.CodeAnalysis; using Photon.Pun; using UnityEngine; using UnityEngine.Events; using UnityEngine.Serialization; [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")] [assembly: IgnoresAccessChecksTo("SingularityGroup.HotReload.Runtime.Public")] [assembly: IgnoresAccessChecksTo("Sirenix.OdinInspector.Attributes")] [assembly: IgnoresAccessChecksTo("Sirenix.Serialization.Config")] [assembly: IgnoresAccessChecksTo("Sirenix.Serialization")] [assembly: IgnoresAccessChecksTo("Sirenix.Utilities")] [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.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.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("AriIcedT")] [assembly: AssemblyConfiguration("Debug")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0")] [assembly: AssemblyProduct("Minecraft Stronghold Scripts")] [assembly: AssemblyTitle("Minecraft Stronghold Scripts")] [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; } } } public class ButtonScript : MonoBehaviour { public Animator ButtonToggleAnimation; public Sound ButtonOnSound; public Sound DoorOpenSound; private PhotonView photonView; private StaticGrabObject staticGrabObject; private void Start() { photonView = ((Component)this).GetComponent(); staticGrabObject = ((Component)this).GetComponent(); } public void animatorStart() { if (SemiFunc.IsMultiplayer()) { if (SemiFunc.IsMasterClient()) { photonView.RPC("animatorStartRPC", (RpcTarget)0, Array.Empty()); } } else { animatorStartRPC(); } } [PunRPC] public void animatorStartRPC() { //IL_0033: Unknown result type (might be due to invalid IL or missing references) //IL_0062: Unknown result type (might be due to invalid IL or missing references) //IL_007e: Unknown result type (might be due to invalid IL or missing references) //IL_00a9: Unknown result type (might be due to invalid IL or missing references) Animator component = ((Component)this).GetComponent(); component.SetTrigger("buttonOn"); GameDirector.instance.CameraShake.ShakeDistance(2f, 1f, 2f, ((Component)this).transform.position, 0.1f); GameDirector.instance.CameraImpact.ShakeDistance(2f, 1f, 3f, ((Component)this).transform.position, 0.1f); ButtonOnSound.Play(((Component)this).transform.position, 1f, 1f, 1f, 1f); DoorOpenSound.Play(((Component)this).transform.position, 1f, 1f, 1f, 1f); } } public class FireworkBoom : MonoBehaviour { private FireworkScriptExplosion FireworkScriptExplosion; public Sound soundBlast; private void Start() { FireworkScriptExplosion = ((Component)this).GetComponent(); } public void Explosion() { //IL_000d: Unknown result type (might be due to invalid IL or missing references) //IL_0038: Unknown result type (might be due to invalid IL or missing references) soundBlast.Play(((Component)this).transform.position, 1f, 1f, 1f, 1f); FireworkScriptExplosion.Spawn(((Component)this).transform.position, 1.2f, 75, 160, 4f); } } public class FireworkParticlePrefabExplosion : MonoBehaviour { public ParticleSystem particleCharge; private float lightIntensityCurveProgress; internal float explosionSize = 1f; internal float particleSizeMultiplier = 0f; internal int explosionDamage; internal int explosionDamageEnemy; private float chargeNullCheckTimer; [HideInInspector] public float forceMultiplier = 1f; public bool onlyParticleEffect; internal bool SkipHurtColliderSetup; public HurtCollider HurtCollider; private bool HurtColliderActive = true; private bool HurtColliderFirstSetup = true; private bool HurtColliderSecondSetup = true; private float HurtColliderTimer; private void Start() { //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_000c: Unknown result type (might be due to invalid IL or missing references) MainModule main = particleCharge.main; particleCharge.Play(); } private void Update() { //IL_0113: 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_0188: Unknown result type (might be due to invalid IL or missing references) //IL_018e: Invalid comparison between Unknown and I4 //IL_00dd: Unknown result type (might be due to invalid IL or missing references) //IL_00cd: Unknown result type (might be due to invalid IL or missing references) //IL_01da: Unknown result type (might be due to invalid IL or missing references) //IL_019e: Unknown result type (might be due to invalid IL or missing references) //IL_01a4: Unknown result type (might be due to invalid IL or missing references) //IL_01a5: Unknown result type (might be due to invalid IL or missing references) if (!onlyParticleEffect && HurtColliderActive) { HurtColliderTimer += Time.deltaTime; if (HurtColliderFirstSetup) { if (!SkipHurtColliderSetup) { HurtCollider.playerDamage = explosionDamage; HurtCollider.enemyDamage = explosionDamageEnemy; HurtCollider.physHitForce = (float)explosionDamage * 0.5f; if (explosionDamage >= 50) { HurtCollider.physImpact = (BreakImpact)3; HurtCollider.physHingeDestroy = true; } else if (explosionDamage >= 15) { HurtCollider.physImpact = (BreakImpact)2; } else { HurtCollider.physImpact = (BreakImpact)1; } } ((Component)HurtCollider).gameObject.SetActive(true); ((Component)HurtCollider).transform.localScale = new Vector3(explosionSize, explosionSize, explosionSize); HurtColliderFirstSetup = false; } if (HurtColliderSecondSetup && HurtColliderTimer > 0.2f) { HurtCollider.playerDamage = 0; HurtCollider hurtCollider = HurtCollider; hurtCollider.playerHitForce *= 0.25f; HurtCollider hurtCollider2 = HurtCollider; hurtCollider2.physHitForce *= 0.25f; if ((int)HurtCollider.physImpact > 0) { HurtCollider hurtCollider3 = HurtCollider; hurtCollider3.physImpact = (BreakImpact)(hurtCollider3.physImpact - 1); } ((Component)HurtCollider).transform.localScale = new Vector3(explosionSize * 2f, explosionSize * 2f, explosionSize * 2f); HurtColliderSecondSetup = false; } if (HurtColliderTimer > 0.5f) { ((Component)HurtCollider).gameObject.SetActive(false); HurtColliderActive = false; } } chargeNullCheckTimer += Time.deltaTime; if (chargeNullCheckTimer > 1f) { if (!Object.op_Implicit((Object)(object)particleCharge)) { Object.Destroy((Object)(object)((Component)this).gameObject); } chargeNullCheckTimer = 0f; } } } public class FireworkScriptExplosion : MonoBehaviour { public GameObject FireworkExplosionPrefab; private void Start() { } public FireworkParticlePrefabExplosion Spawn(Vector3 position, float size, int damage, int enemyDamage, float forceMulti = 1f, bool onlyParticleEffect = false, bool disableSound = false, float shakeMultiplier = 1f) { //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) FireworkParticlePrefabExplosion component = Object.Instantiate(FireworkExplosionPrefab, position, Quaternion.identity).GetComponent(); component.explosionSize = size; component.explosionDamage = damage / 3; component.explosionDamageEnemy = enemyDamage / 2; component.particleCharge.Play(); return component; } } public class FireworkTrap : MonoBehaviour { public UnityEvent FireworkDetonate; private ItemToggle itemToggle; private ItemAttributes itemAttributes; internal bool isActive; private float grenadeTimer; public float tickTime = 3f; private PhotonView photonView; private PhysGrabObjectImpactDetector physGrabObjectImpactDetector; public Sound soundLaunch; private ItemEquippable itemEquippable; private Vector3 grenadeStartPosition; private Quaternion grenadeStartRotation; private PhysGrabObject physGrabObject; private Vector3 prevPosition; [Space] private Quaternion initialBottleRotation; private Vector3 randomTorque; private int timeToTwist; public ParticleSystem TrailParticleSystem; public GameObject FireworkMesh; [FormerlySerializedAs("isThiefGrenade")] [HideInInspector] public bool isSpawnedGrenade; private Rigidbody rb; private void Start() { //IL_0044: Unknown result type (might be due to invalid IL or missing references) //IL_0049: Unknown result type (might be due to invalid IL or missing references) //IL_0055: Unknown result type (might be due to invalid IL or missing references) //IL_005a: Unknown result type (might be due to invalid IL or missing references) itemEquippable = ((Component)this).GetComponent(); itemToggle = ((Component)this).GetComponent(); itemAttributes = ((Component)this).GetComponent(); photonView = ((Component)this).GetComponent(); physGrabObjectImpactDetector = ((Component)this).GetComponent(); grenadeStartPosition = ((Component)this).transform.position; grenadeStartRotation = ((Component)this).transform.rotation; physGrabObject = ((Component)this).GetComponent(); rb = ((Component)this).GetComponent(); } private void FixedUpdate() { //IL_0041: Unknown result type (might be due to invalid IL or missing references) //IL_0047: Unknown result type (might be due to invalid IL or missing references) //IL_004c: Unknown result type (might be due to invalid IL or missing references) //IL_0056: Unknown result type (might be due to invalid IL or missing references) //IL_005b: Unknown result type (might be due to invalid IL or missing references) //IL_0062: 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_0072: Unknown result type (might be due to invalid IL or missing references) //IL_0075: Unknown result type (might be due to invalid IL or missing references) //IL_0082: Unknown result type (might be due to invalid IL or missing references) //IL_0087: Unknown result type (might be due to invalid IL or missing references) //IL_002f: Unknown result type (might be due to invalid IL or missing references) //IL_0034: Unknown result type (might be due to invalid IL or missing references) if (itemEquippable.isEquipped || itemEquippable.wasEquippedTimer > 0f) { prevPosition = rb.position; return; } Vector3 val = (rb.position - prevPosition) / Time.fixedDeltaTime; Vector3 val2 = rb.position - prevPosition; _ = ((Vector3)(ref val2)).normalized; prevPosition = rb.position; } private void Update() { //IL_00b7: 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_00cb: Unknown result type (might be due to invalid IL or missing references) //IL_00d5: Unknown result type (might be due to invalid IL or missing references) //IL_00df: Unknown result type (might be due to invalid IL or missing references) //IL_00f1: Unknown result type (might be due to invalid IL or missing references) //IL_00fb: Unknown result type (might be due to invalid IL or missing references) //IL_0105: Unknown result type (might be due to invalid IL or missing references) //IL_010f: Unknown result type (might be due to invalid IL or missing references) //IL_0119: Unknown result type (might be due to invalid IL or missing references) //IL_012c: Unknown result type (might be due to invalid IL or missing references) //IL_0136: Unknown result type (might be due to invalid IL or missing references) //IL_0140: Unknown result type (might be due to invalid IL or missing references) //IL_014a: Unknown result type (might be due to invalid IL or missing references) //IL_016e: Unknown result type (might be due to invalid IL or missing references) //IL_0173: Unknown result type (might be due to invalid IL or missing references) //IL_0177: Unknown result type (might be due to invalid IL or missing references) //IL_018b: Unknown result type (might be due to invalid IL or missing references) //IL_0190: Unknown result type (might be due to invalid IL or missing references) //IL_01a2: 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_01db: Unknown result type (might be due to invalid IL or missing references) //IL_01e5: Unknown result type (might be due to invalid IL or missing references) //IL_01f8: Unknown result type (might be due to invalid IL or missing references) //IL_0202: Unknown result type (might be due to invalid IL or missing references) if (itemEquippable.isEquipped) { if (isActive) { TrailParticleSystem.Stop(false); isActive = false; grenadeTimer = 0f; itemToggle.ToggleItem(false, -1); } } else { if (!SemiFunc.IsMasterClientOrSingleplayer()) { return; } if (itemToggle.toggleState && !isActive) { isActive = true; TickStart(); TrailParticleSystem.Play(false); } if (!isActive) { return; } rb.AddForce(((Component)this).transform.up * 0.45f * 25f * Time.fixedDeltaTime * 25f, (ForceMode)0); rb.AddForce(Vector3.up * 0.15f * 15f * Time.fixedDeltaTime * 25f, (ForceMode)0); rb.AddTorque(randomTorque * 25f * Time.fixedDeltaTime * 25f, (ForceMode)0); if (timeToTwist > 200) { Vector3 val = Random.insideUnitSphere; randomTorque = ((Vector3)(ref val)).normalized * Random.Range(0f, 0.5f); timeToTwist = 0; val = rb.velocity; if (((Vector3)(ref val)).magnitude < 0.5f && !physGrabObject.grabbed) { rb.AddForce(((Component)this).transform.up * 3f, (ForceMode)1); rb.AddTorque(randomTorque * 15f, (ForceMode)1); } } grenadeTimer += Time.deltaTime; if (grenadeTimer >= tickTime) { grenadeTimer = 0f; TickEnd(); } } } private void GrenadeReset() { //IL_0046: 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) isActive = false; DeparentAndDestroy(TrailParticleSystem); grenadeTimer = 0f; itemToggle.ToggleItem(false, -1); if (!SemiFunc.IsMasterClientOrSingleplayer()) { return; } rb.velocity = Vector3.zero; rb.angularVelocity = Vector3.zero; foreach (PhysGrabber item in physGrabObject.playerGrabbing.ToList()) { if (!SemiFunc.IsMultiplayer()) { item.ReleaseObject(photonView.ViewID, 0.1f); continue; } item.photonView.RPC("ReleaseObjectRPC", (RpcTarget)0, new object[3] { false, 0.1f, photonView.ViewID }); } } private void DeparentAndDestroy(ParticleSystem particleSystem) { //IL_002b: Unknown result type (might be due to invalid IL or missing references) //IL_0030: Unknown result type (might be due to invalid IL or missing references) if ((Object)(object)particleSystem != (Object)null && particleSystem.isPlaying) { ((Component)particleSystem).gameObject.transform.parent = null; MainModule main = particleSystem.main; ((MainModule)(ref main)).stopAction = (ParticleSystemStopAction)2; particleSystem.Stop(false); particleSystem = null; } } private void TickStart() { //IL_0029: Unknown result type (might be due to invalid IL or missing references) //IL_002f: Unknown result type (might be due to invalid IL or missing references) if (SemiFunc.IsMasterClient()) { photonView.RPC("TickStartRPC", (RpcTarget)0, Array.Empty()); } else { TickStartRPC(); } } private void TickEnd() { //IL_0029: Unknown result type (might be due to invalid IL or missing references) //IL_002f: Unknown result type (might be due to invalid IL or missing references) if (SemiFunc.IsMasterClient()) { photonView.RPC("TickEndRPC", (RpcTarget)0, Array.Empty()); } else { TickEndRPC(); } } [PunRPC] private void TickStartRPC(PhotonMessageInfo _info = default(PhotonMessageInfo)) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0018: Unknown result type (might be due to invalid IL or missing references) if (SemiFunc.MasterOnlyRPC(_info)) { soundLaunch.Play(((Component)this).transform.position, 1f, 1f, 1f, 1f); isActive = true; } } [PunRPC] private void TickEndRPC(PhotonMessageInfo _info = default(PhotonMessageInfo)) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_00d2: Unknown result type (might be due to invalid IL or missing references) //IL_00d8: Unknown result type (might be due to invalid IL or missing references) if (!SemiFunc.MasterOnlyRPC(_info) || itemEquippable.isEquipped) { return; } FireworkDetonate.Invoke(); if (SemiFunc.IsMasterClientOrSingleplayer()) { if (!SemiFunc.RunIsShop() || isSpawnedGrenade) { if (!isSpawnedGrenade) { StatsManager.instance.ItemRemove(itemAttributes.instanceName); } Object.Destroy((Object)(object)((Component)this).gameObject, 15f); Object.Destroy((Object)(object)((Component)this).GetComponent()); Object.Destroy((Object)(object)FireworkMesh); Object.Destroy((Object)(object)((Component)this).GetComponent()); TrailParticleSystem.Stop(false); Object.Destroy((Object)(object)TrailParticleSystem, 15f); } else { physGrabObject.Teleport(grenadeStartPosition, grenadeStartRotation); } } if (SemiFunc.RunIsShop() && !isSpawnedGrenade) { GrenadeReset(); } } } public class LeverScript : MonoBehaviour { public Animator LeverToggleAnimation; public Sound ButtonOnSound; public Sound ButtonOffSound; private PhotonView photonView; private StaticGrabObject staticGrabObject; private void Start() { photonView = ((Component)this).GetComponent(); staticGrabObject = ((Component)this).GetComponent(); } public void animatorStart() { if (SemiFunc.IsMultiplayer()) { if (SemiFunc.IsMasterClient()) { photonView.RPC("animatorStartRPC", (RpcTarget)0, Array.Empty()); } } else { animatorStartRPC(); } } [PunRPC] public void animatorStartRPC() { //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_006e: Unknown result type (might be due to invalid IL or missing references) //IL_008a: Unknown result type (might be due to invalid IL or missing references) Animator component = ((Component)this).GetComponent(); component.SetTrigger("leverOn"); component.ResetTrigger("leverOff"); GameDirector.instance.CameraShake.ShakeDistance(2f, 1f, 2f, ((Component)this).transform.position, 0.1f); GameDirector.instance.CameraImpact.ShakeDistance(2f, 1f, 3f, ((Component)this).transform.position, 0.1f); ButtonOnSound.Play(((Component)this).transform.position, 1f, 1f, 1f, 1f); } public void animatorStay() { if (SemiFunc.IsMultiplayer()) { if (SemiFunc.IsMasterClient()) { photonView.RPC("animatorStartRPC", (RpcTarget)0, Array.Empty()); } } else { animatorStayRPC(); } } [PunRPC] public void animatorStayRPC() { Animator component = ((Component)this).GetComponent(); component.SetTrigger("leverOn"); component.ResetTrigger("leverOff"); } public void animatorStop() { if (SemiFunc.IsMultiplayer()) { if (SemiFunc.IsMasterClient()) { photonView.RPC("animatorStartRPC", (RpcTarget)0, Array.Empty()); } } else { animatorStopRPC(); } } [PunRPC] public void animatorStopRPC() { //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_006e: Unknown result type (might be due to invalid IL or missing references) //IL_008a: Unknown result type (might be due to invalid IL or missing references) Animator component = ((Component)this).GetComponent(); component.SetTrigger("leverOff"); component.ResetTrigger("leverOn"); GameDirector.instance.CameraShake.ShakeDistance(2f, 1f, 2f, ((Component)this).transform.position, 0.1f); GameDirector.instance.CameraImpact.ShakeDistance(2f, 1f, 3f, ((Component)this).transform.position, 0.1f); ButtonOffSound.Play(((Component)this).transform.position, 1f, 1f, 1f, 1f); } } public class ObjectAreaTrigger : MonoBehaviour { [SerializeField] private UnityEvent onTriggerEnter; [SerializeField] private UnityEvent onTriggerStay; [SerializeField] private UnityEvent onTriggerExit; private PhotonView photonView; private void OnTriggerEnter(Collider other) { onTriggerEnter.Invoke(); } private void OnTriggerStay(Collider other) { onTriggerStay.Invoke(); } private void OnTriggerExit(Collider other) { onTriggerExit.Invoke(); } } public class PotionDanceTrigger : MonoBehaviour { public enum State { start, levitate, end, inactive } private PhotonView photonView; internal State state = State.inactive; private bool stateStart = true; public Transform sphereEffects; public float range = 3f; private List capturedPlayerAvatars = new List(); private float checkTimer; private int particleCount; private float stateTimer; private void StateMachine() { switch (state) { case State.start: StateStart(); break; case State.levitate: StateLevitate(); break; case State.end: StateEnd(); break; case State.inactive: StateInactive(); break; } } private void Reset() { //IL_0025: Unknown result type (might be due to invalid IL or missing references) checkTimer = 0f; particleCount = 0; capturedPlayerAvatars.Clear(); sphereEffects.localScale = Vector3.zero; ((Component)sphereEffects).gameObject.SetActive(false); } private void StateInactive() { if (stateStart) { Reset(); stateStart = false; ((Component)this).gameObject.SetActive(false); } } private void StateEnd() { //IL_0035: Unknown result type (might be due to invalid IL or missing references) //IL_003a: 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_005b: Unknown result type (might be due to invalid IL or missing references) if (stateStart) { stateStart = false; } if (((Component)sphereEffects).gameObject.activeSelf) { sphereEffects.localScale = Vector3.Lerp(sphereEffects.localScale, Vector3.zero, Time.deltaTime * 20f); if (sphereEffects.localScale.x < 0.01f) { StateSet(State.inactive); } } else { StateSet(State.inactive); } } private void StateStart() { //IL_0039: Unknown result type (might be due to invalid IL or missing references) //IL_003e: Unknown result type (might be due to invalid IL or missing references) //IL_0048: 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_0069: Unknown result type (might be due to invalid IL or missing references) //IL_0085: Unknown result type (might be due to invalid IL or missing references) //IL_008f: Unknown result type (might be due to invalid IL or missing references) if (stateStart) { Reset(); ((Component)sphereEffects).gameObject.SetActive(true); stateStart = false; } sphereEffects.localScale = Vector3.Lerp(sphereEffects.localScale, Vector3.one * 1.2f, Time.deltaTime * 6f); if (sphereEffects.localScale.x > 1.19f) { sphereEffects.localScale = Vector3.one * 1.2f; StateSet(State.levitate); } } private void StateLevitate() { if (stateStart) { stateTimer = 0f; stateStart = false; GetAllWithinRange(); } if (checkTimer > 0.35f) { GetAllWithinRange(); checkTimer = 0f; } checkTimer += Time.deltaTime; stateTimer += Time.deltaTime; } private void RemoveAllOutOfRange() { //IL_0046: Unknown result type (might be due to invalid IL or missing references) //IL_0056: Unknown result type (might be due to invalid IL or missing references) //IL_0066: 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_007b: Unknown result type (might be due to invalid IL or missing references) for (int num = capturedPlayerAvatars.Count - 1; num >= 0; num--) { PlayerAvatar val = capturedPlayerAvatars[num]; if (!Object.op_Implicit((Object)(object)val)) { capturedPlayerAvatars.RemoveAt(num); } else if (Vector3.Distance(new Vector3(((Component)val).transform.position.x, ((Component)this).transform.position.y, ((Component)val).transform.position.z), ((Component)this).transform.position) > range * 1.2f) { capturedPlayerAvatars.RemoveAt(num); } } } private void StateLevitateFixed() { //IL_0034: Unknown result type (might be due to invalid IL or missing references) //IL_0039: Unknown result type (might be due to invalid IL or missing references) //IL_008a: Unknown result type (might be due to invalid IL or missing references) //IL_008f: Unknown result type (might be due to invalid IL or missing references) //IL_00b6: Unknown result type (might be due to invalid IL or missing references) //IL_00c0: Unknown result type (might be due to invalid IL or missing references) //IL_00c5: Unknown result type (might be due to invalid IL or missing references) //IL_00ce: Unknown result type (might be due to invalid IL or missing references) //IL_00e0: Unknown result type (might be due to invalid IL or missing references) //IL_00e1: Unknown result type (might be due to invalid IL or missing references) //IL_00e3: Unknown result type (might be due to invalid IL or missing references) //IL_00e8: Unknown result type (might be due to invalid IL or missing references) if (state != State.levitate) { return; } int count = capturedPlayerAvatars.Count; if (particleCount < count) { Vector3 val = Vector3.zero; bool flag = false; if (particleCount < capturedPlayerAvatars.Count) { if (Object.op_Implicit((Object)(object)capturedPlayerAvatars[particleCount])) { val = ((Component)capturedPlayerAvatars[particleCount]).transform.position; flag = true; } } else { int num = particleCount - capturedPlayerAvatars.Count; } if (flag) { Vector3 val2 = Random.insideUnitSphere * 2f; val2.y = 0f - Mathf.Abs(val2.y); val += val2; } particleCount++; } else { particleCount = 0; } } private void FixedUpdate() { if (state != State.levitate) { return; } foreach (PlayerAvatar capturedPlayerAvatar in capturedPlayerAvatars) { if (Object.op_Implicit((Object)(object)capturedPlayerAvatar) && capturedPlayerAvatar.isLocal && Object.op_Implicit((Object)(object)PlayerController.instance)) { float num = Mathf.Sin(Time.time * 11.5f) * 0.7f; float num2 = Mathf.Sin(Time.time * 11.5f) * 25f; CameraAim.Instance.AdditiveAimY(num); PlayerExpressionsUI.instance.playerAvatarVisuals.playerAvatar.playerExpression.OverrideExpressionSet(4, 100f); PlayerExpressionsUI.instance.playerExpression.OverrideExpressionSet(4, 100f); PlayerExpressionsUI.instance.playerAvatarVisuals.HeadTiltOverride(num2 * 0.5f); } } if (SemiFunc.IsMasterClientOrSingleplayer()) { StateLevitateFixed(); } } private void Update() { StateMachine(); } public void StateSet(State _state) { if (state != _state) { state = _state; stateStart = true; } } public void GetAllWithinRange() { //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_001d: Unknown result type (might be due to invalid IL or missing references) //IL_0023: Unknown result type (might be due to invalid IL or missing references) RemoveAllOutOfRange(); foreach (PlayerAvatar item in SemiFunc.PlayerGetAllPlayerAvatarWithinRange(range, ((Component)this).transform.position, false, default(LayerMask))) { if (!capturedPlayerAvatars.Contains(item)) { capturedPlayerAvatars.Add(item); } } } private void OnEnable() { StateSet(State.start); } private void OnDisable() { StateSet(State.inactive); StateInactive(); } } namespace Minecraft_Stronghold_Scripts { [BepInPlugin("MinecraftStrongholdLevel", "MinecraftStrongholdLevel", "1.0.0")] [BepInDependency(/*Could not decode attribute arguments.*/)] public class Minecraft_Stronghold_Scripts : BaseUnityPlugin { private void Awake() { } } public static class MyPluginInfo { public const string PLUGIN_GUID = "MinecraftStrongholdLevel"; public const string PLUGIN_NAME = "MinecraftStrongholdLevel"; public const string PLUGIN_VERSION = "1.0.0"; } } namespace Minecraft_Stronghold_Scripts.StrongholdLevelAssets { public class FoodValuable : MonoBehaviour { public int healAmount; private ItemToggle itemToggle; private ItemEquippable itemEquippable; private ItemAttributes itemAttributes; private PhotonView photonView; private PhysGrabObject physGrabObject; private ValuableObject ValuableObject; [Space] public ParticleSystem[] particles; public ParticleSystem[] rejectParticles; [Space] public AnimationCurve lightIntensityCurve; private float lightIntensityLerp; public MeshRenderer mesh; private Material material; private Color materialEmissionOriginal; private int materialPropertyEmission = Shader.PropertyToID("_EmissionColor"); [Space] public Sound soundUse; public Sound soundReject; private bool used; private void Start() { //IL_005b: Unknown result type (might be due to invalid IL or missing references) //IL_0060: Unknown result type (might be due to invalid IL or missing references) itemToggle = ((Component)this).GetComponent(); itemEquippable = ((Component)this).GetComponent(); itemAttributes = ((Component)this).GetComponent(); photonView = ((Component)this).GetComponent(); physGrabObject = ((Component)this).GetComponent(); material = ((Renderer)mesh).material; materialEmissionOriginal = material.GetColor(materialPropertyEmission); ValuableObject = ((Component)this).GetComponent(); ((Behaviour)ValuableObject).enabled = false; } private void Update() { //IL_017f: Unknown result type (might be due to invalid IL or missing references) //IL_0185: Unknown result type (might be due to invalid IL or missing references) //IL_00b9: Unknown result type (might be due to invalid IL or missing references) //IL_00bf: 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) //IL_00eb: Unknown result type (might be due to invalid IL or missing references) //IL_010d: Unknown result type (might be due to invalid IL or missing references) //IL_0112: Unknown result type (might be due to invalid IL or missing references) //IL_011c: Unknown result type (might be due to invalid IL or missing references) if (SemiFunc.RunIsShop() || RunManager.instance.levelIsShop || !SemiFunc.IsMasterClientOrSingleplayer() || !itemToggle.toggleState || used) { return; } PlayerAvatar val = SemiFunc.PlayerAvatarGetFromPhotonID(itemToggle.playerTogglePhotonID); if (!Object.op_Implicit((Object)(object)val)) { return; } if (val.playerHealth.health >= val.playerHealth.maxHealth) { if (SemiFunc.IsMultiplayer()) { photonView.RPC("RejectRPC", (RpcTarget)0, Array.Empty()); } else { RejectRPC(); } itemToggle.ToggleItem(false, -1); physGrabObject.rb.AddForce(Vector3.up * 2f, (ForceMode)1); physGrabObject.rb.AddTorque(-((Component)physGrabObject).transform.right * 0.05f, (ForceMode)1); } else { val.playerHealth.HealOther(healAmount, true); StatsManager.instance.ItemRemove(itemAttributes.instanceName); if (SemiFunc.IsMultiplayer()) { photonView.RPC("UsedRPC", (RpcTarget)0, Array.Empty()); } else { UsedRPC(); } itemToggle.ToggleDisable(true); } } [PunRPC] private void UsedRPC(PhotonMessageInfo _info = default(PhotonMessageInfo)) { //IL_0001: 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_0094: Unknown result type (might be due to invalid IL or missing references) if (SemiFunc.MasterOnlyRPC(_info)) { ((Behaviour)ValuableObject).enabled = true; GameDirector.instance.CameraImpact.ShakeDistance(5f, 1f, 6f, ((Component)this).transform.position, 0.2f); itemAttributes.DisableUI(true); Object.Destroy((Object)(object)itemEquippable); ParticleSystem[] array = particles; for (int i = 0; i < array.Length; i++) { array[i].Play(); } soundUse.Play(((Component)this).transform.position, 1f, 1f, 1f, 1f); used = true; } } [PunRPC] private void RejectRPC(PhotonMessageInfo _info = default(PhotonMessageInfo)) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_00ee: Unknown result type (might be due to invalid IL or missing references) //IL_010a: Unknown result type (might be due to invalid IL or missing references) if (!SemiFunc.MasterOnlyRPC(_info)) { return; } PlayerAvatar val = SemiFunc.PlayerAvatarGetFromPhotonID(itemToggle.playerTogglePhotonID); if (val.isLocal) { if (SemiFunc.IsMultiplayer()) { val.physGrabber.photonView.RPC("ReleaseObjectRPC", (RpcTarget)0, new object[3] { false, 1f, photonView.ViewID }); } else { val.physGrabber.ReleaseObject(photonView.ViewID, 1f); } } ParticleSystem[] array = rejectParticles; for (int i = 0; i < array.Length; i++) { array[i].Play(); } GameDirector.instance.CameraImpact.ShakeDistance(5f, 1f, 6f, ((Component)this).transform.position, 0.2f); soundReject.Play(((Component)this).transform.position, 1f, 1f, 1f, 1f); } public void OnDestroy() { //IL_003a: 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) //IL_0098: Unknown result type (might be due to invalid IL or missing references) //IL_009d: Unknown result type (might be due to invalid IL or missing references) ParticleSystem[] array = particles; ParticleSystem[] array2 = array; foreach (ParticleSystem val in array2) { if (Object.op_Implicit((Object)(object)val) && val.isPlaying) { ((Component)val).transform.SetParent((Transform)null); MainModule main = val.main; ((MainModule)(ref main)).stopAction = (ParticleSystemStopAction)2; } } array = rejectParticles; ParticleSystem[] array3 = array; foreach (ParticleSystem val2 in array3) { if (Object.op_Implicit((Object)(object)val2) && val2.isPlaying) { ((Component)val2).transform.SetParent((Transform)null); MainModule main2 = val2.main; ((MainModule)(ref main2)).stopAction = (ParticleSystemStopAction)2; } } } } }