using System; using System.Collections; using System.Collections.Generic; using System.ComponentModel; using System.Diagnostics; using System.IO; using System.Linq; using System.Reflection; using System.Runtime.CompilerServices; using System.Security; using System.Security.Permissions; using System.Xml.Serialization; using Atlas; using Atlas.MappingComponents.Sandbox; using BepInEx; using BepInEx.Bootstrap; using BepInEx.Logging; using CustomSosigLoader; using EFT_Frame; using EFT_MeatStore; using FistVR; using FistVR.Ugc; using HarmonyLib; using JerryComponent; using Sodalite.Api; using Sodalite.Utilities; using UnityEngine; using UnityEngine.SceneManagement; using UnityEngine.UI; using Valve.VR; [assembly: Debuggable(DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("0.0.0.0")] [module: UnverifiableCode] namespace JerryComponent { public class AlphaCase : MonoBehaviour { public GameObject BoxPos; public GameObject box; public Collider colgrab; public Collider colgrabalt; public FVRPhysicalObject mainobj; public GameObject lock1; public GameObject lock2; public GameObject savevalue; public GameObject WaX; public GameObject WaY; public GameObject WaZ; public WaggleJoint X; public WaggleJoint Y; public WaggleJoint Z; public PlayerCrouch PC; public GameObject rot; public GameObject phymain; public GameObject phylid; public FVRInteractiveObject althold; private void Awake() { } private void Update() { //IL_02f8: Unknown result type (might be due to invalid IL or missing references) //IL_02fd: Unknown result type (might be due to invalid IL or missing references) //IL_03a0: Unknown result type (might be due to invalid IL or missing references) //IL_03a5: Unknown result type (might be due to invalid IL or missing references) //IL_0349: Unknown result type (might be due to invalid IL or missing references) //IL_034e: 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_0088: Unknown result type (might be due to invalid IL or missing references) //IL_00c4: 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) //IL_03f7: Unknown result type (might be due to invalid IL or missing references) //IL_03fc: Unknown result type (might be due to invalid IL or missing references) //IL_03c2: Unknown result type (might be due to invalid IL or missing references) //IL_03c7: Unknown result type (might be due to invalid IL or missing references) //IL_0187: Unknown result type (might be due to invalid IL or missing references) //IL_01ac: Unknown result type (might be due to invalid IL or missing references) //IL_041a: Unknown result type (might be due to invalid IL or missing references) //IL_041f: Unknown result type (might be due to invalid IL or missing references) //IL_0274: Unknown result type (might be due to invalid IL or missing references) //IL_0298: Unknown result type (might be due to invalid IL or missing references) //IL_02bc: Unknown result type (might be due to invalid IL or missing references) //IL_02ec: 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_0213: Unknown result type (might be due to invalid IL or missing references) Object.DontDestroyOnLoad((Object)(object)((Component)this).gameObject); if ((Object)(object)GM.CurrentPlayerBody != (Object)null) { if ((Object)(object)((FVRInteractiveObject)mainobj).m_hand == (Object)null && (Object)(object)althold.m_hand == (Object)null) { BoxPos.transform.localPosition = new Vector3(0f, 0f, 0f); BoxPos.transform.localEulerAngles = new Vector3(0f, 0f, 0f); phymain.SetActive(false); phylid.SetActive(false); ((Component)this).gameObject.transform.position = ((Component)GM.CurrentPlayerBody.Head).transform.position; ((Component)this).gameObject.transform.eulerAngles = ((Component)GM.CurrentPlayerBody.Head).transform.eulerAngles; ((Behaviour)X).enabled = true; ((Behaviour)Y).enabled = true; ((Behaviour)Z).enabled = true; ((Behaviour)PC).enabled = true; } else if ((Object)(object)((FVRInteractiveObject)mainobj).m_hand != (Object)null || (Object)(object)althold.m_hand != (Object)null) { if ((Object)(object)((FVRInteractiveObject)mainobj).m_hand != (Object)null) { BoxPos.transform.position = ((Component)((FVRInteractiveObject)mainobj).m_hand).transform.position; BoxPos.transform.eulerAngles = ((Component)((FVRInteractiveObject)mainobj).m_hand).transform.eulerAngles; } else if ((Object)(object)althold.m_hand != (Object)null) { BoxPos.transform.position = ((Component)althold.m_hand).transform.position; BoxPos.transform.eulerAngles = ((Component)althold.m_hand).transform.eulerAngles; } phymain.SetActive(true); phylid.SetActive(true); ((Behaviour)X).enabled = false; ((Behaviour)Y).enabled = false; ((Behaviour)Z).enabled = false; WaX.transform.localEulerAngles = new Vector3(0f, 0f, 0f); WaY.transform.localEulerAngles = new Vector3(0f, 0f, 0f); WaZ.transform.localEulerAngles = new Vector3(0f, 0f, 0f); ((Behaviour)PC).enabled = false; rot.transform.localEulerAngles = new Vector3(0f, 0f, 0f); } } Scene activeScene = SceneManager.GetActiveScene(); if (((Scene)(ref activeScene)).name == "MainMenu3" || GM.IsDead()) { box.SetActive(false); colgrab.enabled = false; colgrabalt.enabled = false; } else { Scene activeScene2 = SceneManager.GetActiveScene(); if (((Scene)(ref activeScene2)).name != "MainMenu3" && !GM.IsDead()) { box.SetActive(true); colgrab.enabled = true; colgrabalt.enabled = true; } } if (lock1.transform.localEulerAngles.x > 15f && lock2.transform.localEulerAngles.x > 15f) { savevalue.SetActive(true); } else if (lock1.transform.localEulerAngles.x < 15f || lock2.transform.localEulerAngles.x < 15f) { savevalue.SetActive(false); } } } public class PlayerCrouch : MonoBehaviour { public GameObject crouch; [SerializeField] private Transform body; public Ray ray; public float rayLength; [SerializeField] private LayerMask terrainLayer; public float rayStartYOffset = 0f; public float rayMul; public float dis; public RaycastHit rayhit; private void Start() { } private void Update() { //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_000d: 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) //IL_001d: Unknown result type (might be due to invalid IL or missing references) //IL_0022: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_002c: 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_00db: Unknown result type (might be due to invalid IL or missing references) //IL_0097: 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_00f6: Unknown result type (might be due to invalid IL or missing references) //IL_013e: Unknown result type (might be due to invalid IL or missing references) //IL_0143: Unknown result type (might be due to invalid IL or missing references) //IL_0123: Unknown result type (might be due to invalid IL or missing references) //IL_0170: Unknown result type (might be due to invalid IL or missing references) ray = new Ray(body.position + Vector3.up * rayStartYOffset, Vector3.down); Physics.Raycast(ray, ref rayhit, rayLength, ((LayerMask)(ref terrainLayer)).value); if (((RaycastHit)(ref rayhit)).distance > 0.6f) { dis = 0.6f * rayMul; crouch.transform.localEulerAngles = new Vector3(dis, 0f, 0f); } else { dis = ((RaycastHit)(ref rayhit)).distance * rayMul; crouch.transform.localEulerAngles = new Vector3(dis, 0f, 0f); } if (crouch.transform.localEulerAngles.x > 60f) { crouch.transform.localEulerAngles = new Vector3(60f, 0f, 0f); } else if (crouch.transform.localEulerAngles.x < 0f) { crouch.transform.localEulerAngles = new Vector3(0f, 0f, 0f); } } } public class VolumeSlot : MonoBehaviour { public Transform parent; private void OnTriggerStay(Collider other) { //IL_002d: 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_009b: Unknown result type (might be due to invalid IL or missing references) //IL_00ac: 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) GameObject gameObject = ((Component)other).gameObject; FVRPhysicalObject component = gameObject.GetComponent(); if (!((Object)(object)component != (Object)null) || !((Object)(object)gameObject != (Object)(object)parent) || (int)component.QBSlotType != 0 || ((FVRInteractiveObject)component).m_isHeld || !((Object)(object)component.m_quickbeltSlot == (Object)null) || !((Object)(object)((Component)component).gameObject.GetComponent() == (Object)null) || !((Object)(object)((Component)component).gameObject.GetComponent() == (Object)null)) { return; } float num = Vector3.Distance(((Component)component).transform.position, ((Component)GM.CurrentPlayerBody.LeftHand).transform.position); float num2 = Vector3.Distance(((Component)component).transform.position, ((Component)GM.CurrentPlayerBody.RightHand).transform.position); if (num < 0.25f || num2 < 0.25f) { Rigidbody component2 = gameObject.GetComponent(); if ((Object)(object)component2 != (Object)null) { gameObject.transform.SetParent(((Component)parent).transform); component2.useGravity = false; component2.isKinematic = true; } } } private void OnTriggerExit(Collider other) { //IL_002d: Unknown result type (might be due to invalid IL or missing references) //IL_0095: Unknown result type (might be due to invalid IL or missing references) //IL_009a: Unknown result type (might be due to invalid IL or missing references) //IL_00a8: Unknown result type (might be due to invalid IL or missing references) GameObject gameObject = ((Component)other).gameObject; FVRPhysicalObject component = gameObject.GetComponent(); if ((Object)(object)component != (Object)null && (Object)(object)gameObject != (Object)(object)parent && (int)component.QBSlotType == 0 && ((FVRInteractiveObject)component).m_isHeld && (Object)(object)component.m_quickbeltSlot == (Object)null && (Object)(object)((Component)component).gameObject.GetComponent() == (Object)null && (Object)(object)((Component)component).gameObject.GetComponent() == (Object)null) { Rigidbody component2 = gameObject.GetComponent(); if ((Object)(object)component2 != (Object)null) { Scene activeScene = SceneManager.GetActiveScene(); gameObject.transform.SetParent((Transform)null); SceneManager.MoveGameObjectToScene(gameObject, activeScene); component2.useGravity = true; component2.isKinematic = false; } } } } public class Beacon : MonoBehaviour { private void Start() { } private void Update() { } } public class DeathActivate : MonoBehaviour { public float countdown = 2f; public float timer = 1f; public string savedLoadoutName = "EFT_PMC_Standard_Edition_LoadOut"; public bool loadouted = false; public string leftHandObj = "EFT_PMC_LeftHand"; public string rightHandObj = "EFT_PMC_RightHand"; private void Start() { } public static bool TryLoadCustomLoadOut(VaultFile vf) { //IL_000f: Unknown result type (might be due to invalid IL or missing references) string text = default(string); return VaultSystem.SpawnObjects((VaultFileType)2, vf, ref text, ((Component)GM.CurrentPlayerBody).transform, Vector3.zero); } private void EnterWithLoadOut() { if (countdown >= 0f) { countdown -= Time.deltaTime; } if (loadouted || !(countdown < 0f)) { return; } VaultFile[] allItems = UgcManager.GetAllItems(); foreach (VaultFile val in allItems) { if (val.FileName == savedLoadoutName && val.Objects.Count > 0) { bool flag = TryLoadCustomLoadOut(val); Debug.Log((object)"loadout"); } } loadouted = true; } private void FixedUpdate() { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0006: 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_0061: Unknown result type (might be due to invalid IL or missing references) Scene activeScene = SceneManager.GetActiveScene(); if (!(((Scene)(ref activeScene)).name == "FactoryExt")) { return; } timer -= Time.deltaTime; if (timer <= 0f) { timer = 0f; if (Vector3.Distance(((Component)this).transform.position, GM.CurrentMovementManager.Head.position) < 0.25f) { EnterWithLoadOut(); } } } } public class DeathBody : MonoBehaviour { public GameObject deathswitch; public GameObject body; public Transform spawnpoint; public GameObject player; public bool dead = false; private DropItems deadbody; public FVRQuickBeltSlot headslotalive; public FVRQuickBeltSlot bodyslotalive; public FVRQuickBeltSlot maskslotalive; public FVRQuickBeltSlot armorslotalive; public FVRQuickBeltSlot beltslotalive; private FVRPhysicalObject helmet; private FVRPhysicalObject vest; private FVRPhysicalObject mask; private FVRPhysicalObject armor; private FVRPhysicalObject belt; public MeshRenderer armband; private void Start() { } private void Update() { //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_0030: 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_0116: Unknown result type (might be due to invalid IL or missing references) //IL_013b: 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_0198: Unknown result type (might be due to invalid IL or missing references) //IL_01d0: Unknown result type (might be due to invalid IL or missing references) //IL_01f5: Unknown result type (might be due to invalid IL or missing references) //IL_022d: Unknown result type (might be due to invalid IL or missing references) //IL_0252: Unknown result type (might be due to invalid IL or missing references) //IL_0610: Unknown result type (might be due to invalid IL or missing references) //IL_0620: Unknown result type (might be due to invalid IL or missing references) //IL_028a: Unknown result type (might be due to invalid IL or missing references) //IL_02af: Unknown result type (might be due to invalid IL or missing references) if (deathswitch.transform.localEulerAngles.x < 45f) { } if (!(deathswitch.transform.localEulerAngles.x > 45f)) { return; } if ((Object)(object)deadbody == (Object)null || !dead || (Object)(object)helmet == (Object)null || (Object)(object)vest == (Object)null || (Object)(object)mask == (Object)null || (Object)(object)armor == (Object)null || (Object)(object)belt == (Object)null) { } if ((Object)(object)deadbody != (Object)null && dead) { deadbody.dc.isdead = true; if ((Object)(object)helmet != (Object)null) { ((Component)helmet).gameObject.transform.position = deadbody.headslot.position; ((Component)helmet).gameObject.transform.eulerAngles = deadbody.headslot.eulerAngles; } if ((Object)(object)vest != (Object)null) { ((Component)vest).gameObject.transform.position = deadbody.bodyslot.position; ((Component)vest).gameObject.transform.eulerAngles = deadbody.bodyslot.eulerAngles; } if ((Object)(object)mask != (Object)null) { ((Component)mask).gameObject.transform.position = deadbody.maskslot.position; ((Component)mask).gameObject.transform.eulerAngles = deadbody.maskslot.eulerAngles; } if ((Object)(object)armor != (Object)null) { ((Component)armor).gameObject.transform.position = deadbody.armorslot.position; ((Component)armor).gameObject.transform.eulerAngles = deadbody.armorslot.eulerAngles; } if ((Object)(object)belt != (Object)null) { ((Component)belt).gameObject.transform.position = deadbody.beltslot.position; ((Component)belt).gameObject.transform.eulerAngles = deadbody.beltslot.eulerAngles; } if ((Object)(object)headslotalive.CurObject != (Object)null) { helmet = headslotalive.CurObject; headslotalive.CurObject.ClearQuickbeltState(); } if ((Object)(object)maskslotalive.CurObject != (Object)null) { mask = maskslotalive.CurObject; maskslotalive.CurObject.ClearQuickbeltState(); } if ((Object)(object)bodyslotalive.CurObject != (Object)null) { vest = bodyslotalive.CurObject; bodyslotalive.CurObject.ClearQuickbeltState(); } if ((Object)(object)armorslotalive.CurObject != (Object)null) { armor = armorslotalive.CurObject; armorslotalive.CurObject.ClearQuickbeltState(); } if ((Object)(object)beltslotalive.CurObject != (Object)null) { belt = beltslotalive.CurObject; beltslotalive.CurObject.ClearQuickbeltState(); } } if (GM.IsDead()) { for (int num = GM.CurrentPlayerBody.QuickbeltSlots.Count - 1; num >= 0; num--) { if ((Object)(object)GM.CurrentPlayerBody.QuickbeltSlots[num] != (Object)null && (Object)(object)GM.CurrentPlayerBody.QuickbeltSlots[num].CurObject != (Object)null) { FVRPhysicalObject curObject = GM.CurrentPlayerBody.QuickbeltSlots[num].CurObject; curObject.ClearQuickbeltState(); curObject.DeRegisterQuickbeltSlots(); curObject.SetIsKinematicLocked(false); curObject.SetQuickBeltSlot((FVRQuickBeltSlot)null); curObject.SetParentage((Transform)null); ((FVRInteractiveObject)curObject).SetAllCollidersToLayer(false, "Default"); ((FVRInteractiveObject)curObject).BeginInteraction(GM.CurrentMovementManager.Hands[0]); ((FVRInteractiveObject)curObject).EndInteraction(GM.CurrentMovementManager.Hands[0]); GM.CurrentPlayerBody.QuickbeltSlots[num].CurObject = null; } } if ((Object)(object)GM.CurrentMovementManager.Hands[0].CurrentInteractable != (Object)null) { GM.CurrentMovementManager.Hands[0].CurrentInteractable.IsHeld = false; GM.CurrentMovementManager.Hands[0].CurrentInteractable.EndInteraction(GM.CurrentMovementManager.Hands[0]); GM.CurrentMovementManager.Hands[0].EndInteractionIfHeld(GM.CurrentMovementManager.Hands[0].CurrentInteractable); } if ((Object)(object)GM.CurrentMovementManager.Hands[1].CurrentInteractable != (Object)null) { GM.CurrentMovementManager.Hands[1].CurrentInteractable.IsHeld = false; GM.CurrentMovementManager.Hands[1].CurrentInteractable.EndInteraction(GM.CurrentMovementManager.Hands[1]); GM.CurrentMovementManager.Hands[1].EndInteractionIfHeld(GM.CurrentMovementManager.Hands[1].CurrentInteractable); } DropQuickbeltContents(); ((Renderer)armband).enabled = false; player.SetActive(false); if (!dead) { int quickbeltPreset = GM.Options.QuickbeltOptions.QuickbeltPreset; GM.CurrentPlayerBody.ConfigureQuickbelt(quickbeltPreset + 1); deadbody = Object.Instantiate(body, ((Component)spawnpoint).transform.position, ((Component)spawnpoint).transform.rotation).GetComponent(); dead = true; } } if (!GM.IsDead()) { if ((Object)(object)deadbody != (Object)null) { deadbody.dc.cam.SetActive(false); deadbody.dc.isdead = false; } if (dead) { int quickbeltPreset2 = GM.Options.QuickbeltOptions.QuickbeltPreset; GM.CurrentPlayerBody.ConfigureQuickbelt(quickbeltPreset2); } if ((Object)(object)helmet != (Object)null) { ((Component)helmet).transform.SetParent((Transform)null); } if ((Object)(object)vest != (Object)null) { ((Component)vest).transform.SetParent((Transform)null); } if ((Object)(object)mask != (Object)null) { ((Component)mask).transform.SetParent((Transform)null); } if ((Object)(object)armor != (Object)null) { ((Component)armor).transform.SetParent((Transform)null); } if ((Object)(object)belt != (Object)null) { ((Component)belt).transform.SetParent((Transform)null); } helmet = null; vest = null; mask = null; armor = null; belt = null; ((Renderer)armband).enabled = true; player.SetActive(true); dead = false; } } public void DropQuickbeltContents() { } } public class DeathCamera : MonoBehaviour { public bool spawned = true; public bool isdead = true; public GameObject cam; public GameObject cam2; public GameObject camholderpos; public GameObject camholderrot; private void Start() { cam.SetActive(false); spawned = true; } private void Update() { //IL_002e: 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_005c: Unknown result type (might be due to invalid IL or missing references) //IL_00d1: Unknown result type (might be due to invalid IL or missing references) //IL_00d6: 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_00a6: Unknown result type (might be due to invalid IL or missing references) if (isdead) { cam.SetActive(true); ((Component)GM.CurrentMovementManager).transform.eulerAngles = cam2.transform.eulerAngles; camholderpos.transform.localPosition = -((Component)GM.CurrentPlayerBody.Head).gameObject.transform.localPosition; spawned = false; } if (!isdead) { cam.SetActive(false); if (!spawned) { ((Component)GM.CurrentMovementManager).transform.position = GM.CurrentSceneSettings.DeathResetPoint.position; spawned = true; } ((Component)GM.CurrentMovementManager).transform.eulerAngles = new Vector3(0f, ((Component)GM.CurrentMovementManager).transform.eulerAngles.y, 0f); } } private void OnDestroy() { cam.SetActive(false); } } public class DestroyOnAudioStop : MonoBehaviour { public GameObject thisobj; public AudioSource thisaudio; private void Start() { Object.DontDestroyOnLoad((Object)(object)thisobj); } private void Update() { if (!thisaudio.isPlaying) { Object.Destroy((Object)(object)thisobj); } } } public class DropItems : MonoBehaviour { public DeathCamera dc; public Rigidbody head; public Rigidbody pelvis; public Rigidbody spine; public Rigidbody thighL; public Rigidbody thighR; public Rigidbody calfL; public Rigidbody calfR; public Rigidbody upperarmL; public Rigidbody upperarmR; public Rigidbody forearmL; public Rigidbody forearmR; public Transform headslot; public Transform bodyslot; public Transform maskslot; public Transform armorslot; public Transform beltslot; private void Start() { } private void Update() { head.isKinematic = false; pelvis.isKinematic = false; spine.isKinematic = false; thighL.isKinematic = false; thighR.isKinematic = false; calfL.isKinematic = false; calfR.isKinematic = false; upperarmL.isKinematic = false; upperarmR.isKinematic = false; forearmL.isKinematic = false; forearmR.isKinematic = false; } } public class AmmoSpawnPoint : MonoBehaviour { public FVRPhysicalObject mainobj; public bool dumped = false; public Transform Cartpos; public GameObject Cartobj; public GameObject Lid; public bool Cartspawned; public FVRFireArmRound CartPhys; public string CartIDs; public GameObject downward; private void Start() { } private void Update() { //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_0081: Unknown result type (might be due to invalid IL or missing references) //IL_0086: Unknown result type (might be due to invalid IL or missing references) //IL_01af: Unknown result type (might be due to invalid IL or missing references) //IL_01b4: Unknown result type (might be due to invalid IL or missing references) //IL_0135: Unknown result type (might be due to invalid IL or missing references) //IL_0145: Unknown result type (might be due to invalid IL or missing references) //IL_0204: Unknown result type (might be due to invalid IL or missing references) //IL_0209: Unknown result type (might be due to invalid IL or missing references) //IL_022e: Unknown result type (might be due to invalid IL or missing references) //IL_024e: Unknown result type (might be due to invalid IL or missing references) //IL_0253: Unknown result type (might be due to invalid IL or missing references) //IL_0267: Unknown result type (might be due to invalid IL or missing references) //IL_026c: Unknown result type (might be due to invalid IL or missing references) //IL_0286: Unknown result type (might be due to invalid IL or missing references) //IL_028b: Unknown result type (might be due to invalid IL or missing references) //IL_02aa: Unknown result type (might be due to invalid IL or missing references) //IL_02af: Unknown result type (might be due to invalid IL or missing references) //IL_02c3: Unknown result type (might be due to invalid IL or missing references) //IL_02c8: 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_02e7: 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_030b: Unknown result type (might be due to invalid IL or missing references) //IL_031f: Unknown result type (might be due to invalid IL or missing references) //IL_0324: Unknown result type (might be due to invalid IL or missing references) //IL_033e: Unknown result type (might be due to invalid IL or missing references) //IL_0343: Unknown result type (might be due to invalid IL or missing references) //IL_0357: Unknown result type (might be due to invalid IL or missing references) if (Lid.transform.localEulerAngles.x <= 10f) { if (!dumped && Cartspawned && (Object)(object)Cartobj != (Object)null && (Object)(object)CartPhys != (Object)null) { Object.Destroy((Object)(object)Cartobj); Cartspawned = false; } } else { if (!(Lid.transform.localEulerAngles.x > 10f)) { return; } if ((Object)(object)Cartobj == (Object)null || (Object)(object)CartPhys == (Object)null) { } if (!Cartspawned) { if ((Object)(object)((FVRInteractiveObject)mainobj).m_hand != (Object)null && IM.OD.ContainsKey(CartIDs)) { AnvilCallback gameObjectAsync = ((AnvilAsset)IM.OD[CartIDs]).GetGameObjectAsync(); if (Object.op_Implicit((Object)(object)gameObjectAsync.Result)) { Cartobj = Object.Instantiate(gameObjectAsync.Result, ((Component)Cartpos).transform.position, ((Component)Cartpos).transform.rotation); CartPhys = Cartobj.GetComponent(); } } Cartspawned = true; } if (Cartspawned && (Object)(object)CartPhys != (Object)null) { if ((Object)(object)((FVRInteractiveObject)CartPhys).m_hand != (Object)null || downward.transform.localPosition.y > 0.25f) { CartPhys = null; Cartobj = null; dumped = true; } else if ((Object)(object)((FVRInteractiveObject)CartPhys).m_hand == (Object)null && downward.transform.localPosition.y <= 0.25f) { Cartobj.transform.position = Cartpos.position; Cartobj.transform.eulerAngles = new Vector3(Mathf.Clamp(Cartobj.transform.eulerAngles.x, ((Component)Cartpos).transform.eulerAngles.x - 2.5f, ((Component)Cartpos).transform.eulerAngles.x + 2.5f), Mathf.Clamp(Cartobj.transform.eulerAngles.y, ((Component)Cartpos).transform.eulerAngles.y - 2.5f, ((Component)Cartpos).transform.eulerAngles.y + 2.5f), Mathf.Clamp(Cartobj.transform.eulerAngles.z, ((Component)Cartpos).transform.eulerAngles.z - 2.5f, ((Component)Cartpos).transform.eulerAngles.z + 2.5f)); } } } } } public class EFT_AmmoBox : MonoBehaviour { public Collider trigger; public GameObject GEO; public FVRPhysicalObject mainobj; public Collider grabcol; public GameObject Phys; public GameObject Plid; public GameObject PleafF; public GameObject PleafL; public GameObject PleafR; public GameObject Lid; public Rigidbody down; private void Start() { } private void Update() { down.isKinematic = false; down.useGravity = true; if ((Object)(object)((FVRInteractiveObject)mainobj).m_hand != (Object)null) { grabcol.enabled = false; trigger.enabled = true; } else if ((Object)(object)((FVRInteractiveObject)mainobj).m_hand == (Object)null) { grabcol.enabled = true; trigger.enabled = false; } } } public class EFTMode : MonoBehaviour { public MEATStoreGlobalObj MSGO; public TextMesh countdowntext; public GameObject countdownboard; public float countdownstart = 3f; public bool startcount = false; public bool tele = true; public GameObject playerdetectpoint; public bool m_isLoading = false; public GameObject death; public GameObject escape; public float deathcountdownnum = 15f; public float cdtp = 1f; public bool spawned = false; public bool addcomp = false; private void Start() { if (MSGO == null) { MSGO = MEATStoreGlobalObj.GetInstance(); } escape.SetActive(false); death.SetActive(false); } private void FixedUpdate() { //IL_01e2: Unknown result type (might be due to invalid IL or missing references) //IL_0201: Unknown result type (might be due to invalid IL or missing references) //IL_026c: Unknown result type (might be due to invalid IL or missing references) //IL_02c5: Unknown result type (might be due to invalid IL or missing references) //IL_02da: Unknown result type (might be due to invalid IL or missing references) if (MSGO == null) { MSGO = MEATStoreGlobalObj.GetInstance(); } if (startcount) { countdownboard.SetActive(true); countdownstart -= Time.deltaTime; countdowntext.text = "SpawnLoadout" + countdownstart.ToString("f1"); } if (countdownstart < 0f) { countdownboard.SetActive(false); startcount = false; if (MSGO == null) { MSGO = MEATStoreGlobalObj.GetInstance(); } if (MSGO != null && !spawned) { MSGO.ReadConfig(); if ((Object)(object)GM.CurrentPlayerBody != (Object)null) { if (MSGO.Config.currentHealth <= 0f) { GM.CurrentPlayerBody.Health = 100f; GM.CurrentPlayerBody.m_startingHealth = 100f; } else if (MSGO.Config.currentHealth > 0f) { GM.CurrentPlayerBody.Health = MSGO.Config.currentHealth; GM.CurrentPlayerBody.m_startingHealth = MSGO.Config.maxHealth; } } spawned = true; } } if (!addcomp && (Object)(object)GM.CurrentPlayerBody != (Object)null && (Object)(object)Object.FindObjectOfType() == (Object)null) { playerdetectpoint.AddComponent(); startcount = true; addcomp = true; } if ((Object)(object)GM.CurrentMovementManager != (Object)null) { playerdetectpoint.transform.position = GM.CurrentMovementManager.Head.position; playerdetectpoint.transform.eulerAngles = GM.CurrentMovementManager.Head.eulerAngles; } if (!GM.IsDead()) { return; } deathcountdownnum -= 1f * Time.deltaTime; if (deathcountdownnum < 10f) { death.SetActive(true); if (tele) { SteamVR_Fade.Start(new Color(0f, 0f, 0f, 1f), 1f, true); if (cdtp > 0f) { cdtp -= Time.deltaTime; } if (cdtp <= 0f) { GM.CurrentMovementManager.TeleportToPoint(new Vector3(0f, 0f, 0f), true, new Vector3(0f, 0f, 0f)); tele = false; } } } if (!m_isLoading && deathcountdownnum < 0f) { m_isLoading = true; } } public void SAVEHANDS() { if (MSGO != null) { MSGO.Config.currentHealth = GM.CurrentPlayerBody.GetPlayerHealthRaw(); MSGO.Config.maxHealth = GM.CurrentPlayerBody.GetMaxHealthPlayerRaw(); MSGO.StoreConfig(); } } } } namespace EFTHideOut { public class MapAudioScript : MonoBehaviour { public AudioSource TargetSource; public float RandomDelayRangeMin = 1f; public float RandomDelayRangeMax = 4f; public List Clips = new List(); private float nextdelay = 1f; private float t; private void Update() { if (((Component)this).gameObject.activeInHierarchy && !TargetSource.isPlaying) { t += Time.deltaTime; if (t >= nextdelay) { TargetSource.clip = SodaliteUtils.GetRandom((IList)Clips); TargetSource.Play(); t -= nextdelay; nextdelay = Random.Range(RandomDelayRangeMin, RandomDelayRangeMax); } } } public void VolumeChange(float Volume) { AudioSource targetSource = TargetSource; targetSource.volume += Volume; } public void RangeChange(float Range) { AudioSource targetSource = TargetSource; targetSource.maxDistance += Range; } } public class MapLevelScript : MonoBehaviour { public bool scenechanged = false; private int LV = 3; public bool IsLit = true; public SpawnAIScene AI; public GameObject LV3LitSound; public GameObject LV3DarkSound; public SpawnPrefabOnPoint SPOP; public GameObject lightswitch; public GameObject lightswitchbase; private void Start() { SceneManager.LoadScene("EFHideOut_LV3Lit", (LoadSceneMode)1); } private void LV3Lit() { SceneManager.UnloadSceneAsync("EFHideOut_LV3Dark"); SceneManager.LoadScene("EFHideOut_LV3Lit", (LoadSceneMode)1); LV3LitSound.SetActive(true); LV3DarkSound.SetActive(false); AI.spawn = false; IsLit = true; } private void LV3Dark() { SceneManager.UnloadSceneAsync("EFHideOut_LV3Lit"); SceneManager.LoadScene("EFHideOut_LV3Dark", (LoadSceneMode)1); LV3LitSound.SetActive(false); LV3DarkSound.SetActive(true); AI.spawn = true; IsLit = false; } public void FixedUpdate() { //IL_009f: 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_00c4: Unknown result type (might be due to invalid IL or missing references) //IL_00d6: Unknown result type (might be due to invalid IL or missing references) //IL_00fa: 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_0114: Unknown result type (might be due to invalid IL or missing references) //IL_014b: Unknown result type (might be due to invalid IL or missing references) //IL_0150: Unknown result type (might be due to invalid IL or missing references) if ((Object)(object)SPOP.obj != (Object)null) { lightswitch = SPOP.obj; } else if (!((Object)(object)SPOP.obj == (Object)null) && !((Object)(object)lightswitch == (Object)null)) { } if (!((Object)(object)lightswitch != (Object)null)) { return; } lightswitch.transform.SetParent(lightswitchbase.transform); lightswitch.transform.localPosition = new Vector3(0f, 0f, 0f); lightswitch.transform.localEulerAngles = new Vector3(lightswitch.transform.localEulerAngles.x, 0f, 0f); lightswitch.transform.localScale = new Vector3(1f, 1f, 1f); if (lightswitch.transform.localEulerAngles.x > 45f) { if (IsLit) { LV3Dark(); } } else if (lightswitch.transform.localEulerAngles.x < 45f && !IsLit) { LV3Lit(); } } } } namespace JerryComponent { public class Extractpoint : MonoBehaviour { public float telecountdown = 1f; public bool telecount = false; public bool telecount2 = false; public GameObject motherboard; public bool startcountdown = false; public EFTMode modemain; public float countdownnum = 12f; public bool sceneswitched = false; public GameObject countdownboard; public Transform hidepoint; public TextMesh countdowntext; public MEATStoreGlobalObj MSGO; public bool isKIA = false; public EFTMode mode; public string savedLoadoutName = "EFT_PMC_Standard_Edition_LoadOut"; private void OnTriggerStay(Collider other) { if ((Object)(object)((Component)other).gameObject == (Object)(object)modemain.playerdetectpoint) { startcountdown = true; } } private void OnTriggerExit(Collider other) { ((MonoBehaviour)this).StartCoroutine(DelayedSave()); if ((Object)(object)((Component)other).gameObject == (Object)(object)modemain.playerdetectpoint) { startcountdown = false; } } private IEnumerator DelayedSave() { yield return null; Save(); } private void Start() { if (MSGO == null) { MSGO = MEATStoreGlobalObj.GetInstance(); } motherboard.SetActive(true); } private void OnApplicationQuit() { VaultFile[] allItems = UgcManager.GetAllItems(); foreach (VaultFile val in allItems) { if (val.FileName == savedLoadoutName) { val.Objects.Clear(); SaveVaultFileToDisk(val, val.FileName); } } } private void FixedUpdate() { //IL_0171: Unknown result type (might be due to invalid IL or missing references) //IL_0123: Unknown result type (might be due to invalid IL or missing references) //IL_0134: Unknown result type (might be due to invalid IL or missing references) //IL_01ec: Unknown result type (might be due to invalid IL or missing references) //IL_0210: Unknown result type (might be due to invalid IL or missing references) if (GM.CurrentPlayerBody.GetPlayerHealth() <= 0f) { isKIA = true; } if (isKIA) { VaultFile[] allItems = UgcManager.GetAllItems(); foreach (VaultFile val in allItems) { if (val.FileName == savedLoadoutName) { val.Objects.Clear(); SaveVaultFileToDisk(val, val.FileName); } } MSGO.Config.currentHealth = 100f; MSGO.Config.maxHealth = 5000f; MSGO.StoreConfig(); isKIA = false; } if (telecount) { telecountdown -= Time.deltaTime; } if (telecountdown < 0f && !telecount2) { telecount = false; telecount2 = true; modemain.escape.SetActive(true); GM.CurrentMovementManager.TeleportToPoint(((Component)hidepoint).transform.position, true, ((Component)hidepoint).transform.localEulerAngles); } if (countdownnum < 2f) { motherboard.SetActive(false); SteamVR_Fade.Start(new Color(0f, 0f, 0f, 1f), 0.25f, false); telecount = true; } if (countdownnum < 0f && !sceneswitched) { Escape(); startcountdown = false; sceneswitched = true; } if (startcountdown) { countdownboard.SetActive(true); countdownboard.transform.position = ((Component)GM.CurrentMovementManager.Head).transform.position; countdownboard.transform.eulerAngles = ((Component)GM.CurrentMovementManager.Head).transform.eulerAngles; countdowntext.text = "Extract" + (countdownnum - 2f).ToString("f1"); countdownnum -= 1f * Time.deltaTime; } if (!startcountdown) { countdownboard.SetActive(false); countdowntext.text = "Extract10"; countdownnum = 12f; } } private void Save() { VaultFile[] allItems = UgcManager.GetAllItems(); Debug.Log((object)("Save 开始,共 " + allItems.Length + " 个 VaultFile")); VaultFile[] array = allItems; foreach (VaultFile val in array) { Debug.Log((object)("遍历文件: " + val.FileName)); if (string.Equals(val.FileName, savedLoadoutName, StringComparison.OrdinalIgnoreCase)) { val.Objects.Clear(); if (VaultSystem.FindAndScanObjectsInQuickbelt(val)) { SaveVaultFileToDisk(val, val.FileName); Debug.Log((object)("已保存负载: " + val.FileName)); } else { Debug.LogError((object)("扫描装备失败: " + val.FileName)); } return; } } Debug.LogError((object)("未找到负载: " + savedLoadoutName)); } private bool SaveVaultFileToDisk(VaultFile vf, string fileName) { string text = default(string); bool flag = CynJson.Save(VaultSystem.rootFolderName, "VaultFile", "", "loadout_EFT_PMC_Standard_Edition_LoadOut.VaultFile.json", (object)vf, ref text); if (!flag) { Debug.LogError((object)("保存失败 " + fileName + ": {error}")); } return flag; } private void Escape() { for (int i = 0; i < GM.CurrentSceneSettings.QuitReceivers.Count; i++) { GM.CurrentSceneSettings.QuitReceivers[i].BroadcastMessage("QUIT", (SendMessageOptions)1); } if (((AnvilCallbackBase)GM.LoadingCallback).IsCompleted) { SteamVR_LoadLevel.Begin("EFTHideOut_SafeHouse", false, 0f, 0f, 0f, 0f, 1f); mode.SAVEHANDS(); } } } public class Humansig : MonoBehaviour { public GameObject handL; public GameObject handR; public Sosig sosig; public GameObject body; private void Start() { sosig = ((Component)this).GetComponentInParent(); } private void Update() { //IL_002c: 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_0062: Unknown result type (might be due to invalid IL or missing references) //IL_0101: Unknown result type (might be due to invalid IL or missing references) //IL_012b: Unknown result type (might be due to invalid IL or missing references) //IL_0167: Unknown result type (might be due to invalid IL or missing references) //IL_0191: Unknown result type (might be due to invalid IL or missing references) if ((Object)(object)sosig == (Object)null) { } if ((Object)(object)sosig != (Object)null) { if ((int)sosig.BodyState != 0) { Object.Instantiate(body, ((Component)sosig).gameObject.transform.position, ((Component)sosig).gameObject.transform.rotation); Object.Destroy((Object)(object)((Component)sosig).gameObject); Object.Destroy((Object)(object)this); } sosig.Renderers[0].enabled = false; sosig.Renderers[1].enabled = false; sosig.Renderers[2].enabled = false; sosig.Renderers[3].enabled = false; if (sosig.Hand_Primary != null) { handR.transform.position = ((Component)sosig.Hand_Primary.Root).transform.position; handR.transform.eulerAngles = ((Component)sosig.Hand_Primary.Root).transform.eulerAngles; } if (sosig.Hand_Secondary != null) { handL.transform.position = ((Component)sosig.Hand_Secondary.Root).transform.position; handL.transform.eulerAngles = ((Component)sosig.Hand_Secondary.Root).transform.eulerAngles; } } } } public class Humansigconv : MonoBehaviour { public float countdown = 2f; public bool conved = false; public FVRObject body; public FVRObject bodySCAVBoss; private void Start() { } private void Update() { //IL_0165: 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_02a9: Unknown result type (might be due to invalid IL or missing references) //IL_02c9: Unknown result type (might be due to invalid IL or missing references) if (!conved) { countdown -= Time.deltaTime; } if (!(countdown < 0f) || conved) { return; } conved = true; Sosig[] array = Object.FindObjectsOfType(); if (array == null) { return; } Sosig[] array2 = array; foreach (Sosig val in array2) { Debug.Log((object)"sosig found"); if (((Object)((Component)val).gameObject).name == "Zosig_Rot(Clone)" && val.Renderers[0].enabled && (Object)(object)val.Links[0] != (Object)null) { GameObject val2 = Object.Instantiate(((AnvilAsset)bodySCAVBoss).GetGameObject(), ((Component)val.Links[0]).transform); val.CanBeKnockedOut = false; val.DoesDropWeaponsOnBallistic = false; val.DamMult_Blunt = 0.25f; val.DamMult_Chilling = 0.25f; val.DamMult_Cutting = 0.25f; val.DamMult_EMP = 0.15f; val.DamMult_Explosive = 0.55f; val.DamMult_Melee = 0.35f; val.DamMult_Piercing = 0.1f; val.DamMult_Projectile = 0.1f; val.DamMult_Thermal = 0.1f; if ((Object)(object)val2 != (Object)null) { val2.transform.localPosition = new Vector3(0f, 0f, 0f); val2.transform.localEulerAngles = new Vector3(0f, 0f, 0f); Humansig component = val2.GetComponent(); if ((Object)(object)component != (Object)null) { component.sosig = val; } } Debug.Log((object)"SCAVboss spawned on sosig"); } if (!(((Object)((Component)val).gameObject).name != "Zosig_Rot(Clone)") || !val.Renderers[0].enabled || !((Object)(object)val.Links[0] != (Object)null)) { continue; } GameObject val3 = Object.Instantiate(((AnvilAsset)body).GetGameObject(), ((Component)val.Links[0]).transform); val.DamMult_Blunt = 0.75f; val.DamMult_Chilling = 1f; val.DamMult_Cutting = 0.75f; val.DamMult_EMP = 0.5f; val.DamMult_Explosive = 1f; val.DamMult_Melee = 1.5f; val.DamMult_Piercing = 0.5f; val.DamMult_Projectile = 0.5f; val.DamMult_Thermal = 0.5f; if ((Object)(object)val3 != (Object)null) { val3.transform.localPosition = new Vector3(0f, 0f, 0f); val3.transform.localEulerAngles = new Vector3(0f, 0f, 0f); Humansig component2 = val3.GetComponent(); if ((Object)(object)component2 != (Object)null) { component2.sosig = val; } } Debug.Log((object)"USEC spawned on sosig"); } } } public class AmITheFirst : MonoBehaviour { public string objname; public GameObject objtoenable; public FVRObject theobjname; private void Start() { if ((Object)(object)GameObject.Find(objname) == (Object)null) { objtoenable.SetActive(true); Object.Instantiate(((AnvilAsset)theobjname).GetGameObject(), ((Component)this).transform); Debug.Log((object)"first"); } if ((Object)(object)GameObject.Find(objname) != (Object)null) { objtoenable.SetActive(false); Debug.Log((object)"not first"); } } private void Update() { } } public class SpawnFVROBJ : MonoBehaviour { public bool spawnpicked = false; public Random Rand; public ObjectSpawnPoint[] IDs; public ObjectSpawnPoint ID; public int length; private void Start() { IDs = ((Component)this).GetComponents(); RandomPick(); } private void FixedUpdate() { if ((Object)(object)ID == (Object)null) { Debug.Log((object)"Null"); } } private void RandomPick() { if (!spawnpicked) { int num = Random.Range(0, IDs.Length); ID = IDs[num]; if ((Object)(object)ID != (Object)null) { ((Behaviour)ID).enabled = true; Debug.Log((object)"Loot spawned"); } spawnpicked = true; } } } public class DrawDecal : MonoBehaviour { private void OnTriggerEnter(Collider other) { if (((Object)((Component)other).gameObject).name == "MarkeTail") { Object.Destroy((Object)(object)this); } } private void Start() { } private void Update() { } } public class DrawingTool : MonoBehaviour { public GameObject penref; public GameObject decal; private void OnTriggerStay(Collider other) { //IL_0032: 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_0058: Unknown result type (might be due to invalid IL or missing references) if (((Object)((Component)other).gameObject).name == "MarkerTip") { penref.transform.position = ((Component)other).gameObject.transform.position; Object.Instantiate(decal, penref.transform.position, ((Component)this).transform.rotation, ((Component)this).transform); } } private void Start() { } private void FixedUpdate() { } } public class SnapToPointRigidbody : MonoBehaviour { public Transform snapTo; [NonSerialized] private Rigidbody body; public float snapTime = 2f; [NonSerialized] private float dropTimer; public void Start() { body = ((Component)this).GetComponent(); } public void FixedUpdate() { //IL_0099: 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_00ae: 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_006b: 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_00f6: Unknown result type (might be due to invalid IL or missing references) //IL_0108: Unknown result type (might be due to invalid IL or missing references) //IL_011e: Unknown result type (might be due to invalid IL or missing references) //IL_0129: Unknown result type (might be due to invalid IL or missing references) //IL_013b: Unknown result type (might be due to invalid IL or missing references) //IL_00cf: Unknown result type (might be due to invalid IL or missing references) //IL_00d4: Unknown result type (might be due to invalid IL or missing references) dropTimer += Time.deltaTime / (snapTime / 2f); body.isKinematic = dropTimer > 1f; if (dropTimer > 1f) { ((Component)this).transform.position = snapTo.position; ((Component)this).transform.rotation = snapTo.rotation; return; } float num = Mathf.Pow(35f, dropTimer); body.velocity = Vector3.Lerp(body.velocity, Vector3.zero, Time.fixedDeltaTime * 4f); if (body.useGravity) { body.AddForce(-Physics.gravity); } ((Component)this).transform.position = Vector3.Lerp(((Component)this).transform.position, snapTo.position, Time.fixedDeltaTime * num * 3f); ((Component)this).transform.rotation = Quaternion.Slerp(((Component)this).transform.rotation, snapTo.rotation, Time.fixedDeltaTime * num * 2f); } } } namespace JerryAr.EFT_HideOut_SafeHouse { [BepInPlugin("JerryAr.EFT_HideOut_SafeHouse", "EFT_HideOut_SafeHouse", "2.0.0")] [BepInProcess("h3vr.exe")] [Description("Built with MeatKit")] [BepInDependency("nrgill28.Atlas", "1.0.1")] [BepInDependency("nrgill28.Sodalite", "1.4.1")] public class EFT_HideOut_SafeHousePlugin : BaseUnityPlugin { private static readonly string BasePath = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); internal static ManualLogSource Logger; private void Awake() { Logger = ((BaseUnityPlugin)this).Logger; LoadAssets(); } private void LoadAssets() { Harmony.CreateAndPatchAll(Assembly.GetExecutingAssembly(), "JerryAr.EFT_HideOut_SafeHouse"); AtlasPlugin.RegisterScene(Path.Combine(BasePath, "efthideout_safehouse")); GameAPI.PreloadAllAssets(Path.Combine(BasePath, "eft_hideout_safehouse_preload")); } } } namespace EFT_MeatStore { public static class MEATStoreConfig { public static string GetUserProfilePath() { return Environment.ExpandEnvironmentVariables("%USERPROFILE%\\AppData\\LocalLow\\RUST LTD\\Hot Dogs Horseshoes and Hand Grenades"); } public static string CheckEFConfigFolder(string SubName) { string userProfilePath = GetUserProfilePath(); string text = userProfilePath + "\\EF\\" + SubName + "\\"; if (!Directory.Exists(text)) { Directory.CreateDirectory(text); } return text; } public static string CheckEFConfigFile(string SubName, string FileName) { string userProfilePath = GetUserProfilePath(); string text = userProfilePath + "\\EF\\" + SubName + "\\" + FileName; if (!File.Exists(text)) { File.Create(text); } return text; } public static void Store(string path, MEATStoreSetting Target) { XmlSerializer xmlSerializer = new XmlSerializer(typeof(MEATStoreSetting)); FileStream fileStream = File.OpenWrite(path); fileStream.Seek(0L, SeekOrigin.Begin); fileStream.SetLength(0L); xmlSerializer.Serialize(fileStream, Target); fileStream.Flush(); fileStream.Close(); } public static MEATStoreSetting Read(string path) { FileStream fileStream = new FileStream(path, FileMode.Open); XmlSerializer xmlSerializer = new XmlSerializer(typeof(MEATStoreSetting)); MEATStoreSetting mEATStoreSetting = new MEATStoreSetting(); mEATStoreSetting = (MEATStoreSetting)xmlSerializer.Deserialize(fileStream); fileStream.Close(); return mEATStoreSetting; } } public class MEATStoreEFT : MonoBehaviour { public bool readyforsale = false; public Text prapor; public Transform spawnpoint; public Collider detectcol; public AudioEvent cantbuy; public AudioEvent canbuy; public AudioEvent click; public string curitemname; public FVRPhysicalObject curitemforsell; public Text DepositBUY; public Text LevelBUY; public Text DepositSELL; public Text PriceBUY; public Text PriceSELL; public Text LvlBUY; public Text LvlSELL; public Text ItemBUY; public Text ItemSell; public Text curEXPTxt; public Text nxtEXPTxt; public Text CatigoryType; public int curType = 0; public int curItem = 0; public int deposit = 5000; public int level = 1; public float nxtEXP = 1000f; public int curprice = 0; public int curlevel = 1; private MEATStoreGlobalObj GO; public GameObject SoBPage; public GameObject SellPage; public GameObject BuyPage; public GameObject TypePage; public string[] Types = new string[9]; public string[] Food = new string[7]; public string[] Medical = new string[7]; public string[] Ammo = new string[10]; public string[] Grenade = new string[5]; public string[] Attachment = new string[55]; public string[] Weapon = new string[27]; public string[] Helmet = new string[66]; public string[] Magazine = new string[32]; public string[] Valuables = new string[17]; public int[] FoodP = new int[7]; public int[] MedicalP = new int[7]; public int[] AmmoP = new int[10]; public int[] GrenadeP = new int[5]; public int[] AttachmentP = new int[55]; public int[] WeaponP = new int[27]; public int[] HelmetP = new int[66]; public int[] MagazineP = new int[32]; public int[] ValuablesP = new int[17]; public int[] FoodE = new int[7]; public int[] MedicalE = new int[7]; public int[] AmmoE = new int[10]; public int[] GrenadeE = new int[5]; public int[] AttachmentE = new int[55]; public int[] WeaponE = new int[27]; public int[] HelmetE = new int[66]; public int[] MagazineE = new int[32]; public void OnTriggerEnter(Collider other) { //IL_010a: Unknown result type (might be due to invalid IL or missing references) //IL_021c: Unknown result type (might be due to invalid IL or missing references) //IL_032e: Unknown result type (might be due to invalid IL or missing references) //IL_0440: Unknown result type (might be due to invalid IL or missing references) //IL_0555: Unknown result type (might be due to invalid IL or missing references) //IL_09b0: Unknown result type (might be due to invalid IL or missing references) //IL_066d: Unknown result type (might be due to invalid IL or missing references) //IL_0785: Unknown result type (might be due to invalid IL or missing references) //IL_089d: Unknown result type (might be due to invalid IL or missing references) //IL_0b82: Unknown result type (might be due to invalid IL or missing references) //IL_0bcd: Unknown result type (might be due to invalid IL or missing references) if (!((Object)(object)((Component)other).gameObject.GetComponent() != (Object)null)) { return; } curitemforsell = ((Component)other).gameObject.GetComponent(); if (Food.Contains(curitemforsell.ObjectWrapper.ItemID)) { for (int i = 0; i < Food.Count() - 1; i++) { if (Food[i] == curitemforsell.ObjectWrapper.ItemID) { curitemname = curitemforsell.ObjectWrapper.ItemID; ItemSell.text = curitemforsell.ObjectWrapper.ItemID.ToString(); curprice = (int)((float)FoodP[i] * 0.75f); PriceSELL.text = curprice.ToString(); prapor.text = "How did you know I'm hungry?!"; Debug.Log((object)"How did you know I'm hungry?!"); SM.PlayCoreSound((FVRPooledAudioType)41, click, ((Component)this).gameObject.transform.position); readyforsale = true; } } } else if (Medical.Contains(curitemforsell.ObjectWrapper.ItemID)) { for (int j = 0; j < Medical.Count() - 1; j++) { if (Medical[j] == curitemforsell.ObjectWrapper.ItemID) { curitemname = curitemforsell.ObjectWrapper.ItemID; ItemSell.text = curitemforsell.ObjectWrapper.ItemID.ToString(); curprice = (int)((float)MedicalP[j] * 0.75f); PriceSELL.text = curprice.ToString(); prapor.text = "Therapist will love this!"; Debug.Log((object)"Therapist will love this!"); SM.PlayCoreSound((FVRPooledAudioType)41, click, ((Component)this).gameObject.transform.position); readyforsale = true; } } } else if (Weapon.Contains(curitemforsell.ObjectWrapper.ItemID)) { for (int k = 0; k < Weapon.Count() - 1; k++) { if (Weapon[k] == curitemforsell.ObjectWrapper.ItemID) { curitemname = curitemforsell.ObjectWrapper.ItemID; ItemSell.text = curitemforsell.ObjectWrapper.ItemID.ToString(); curprice = (int)((float)WeaponP[k] * 0.75f); PriceSELL.text = curprice.ToString(); prapor.text = "Gun? I LOVE guns!"; Debug.Log((object)"Gun? I LOVE guns!"); SM.PlayCoreSound((FVRPooledAudioType)41, click, ((Component)this).gameObject.transform.position); readyforsale = true; } } } else if (Magazine.Contains(curitemforsell.ObjectWrapper.ItemID)) { for (int l = 0; l < Magazine.Count() - 1; l++) { if (Magazine[l] == curitemforsell.ObjectWrapper.ItemID) { curitemname = curitemforsell.ObjectWrapper.ItemID; ItemSell.text = curitemforsell.ObjectWrapper.ItemID.ToString(); curprice = (int)((float)MagazineP[l] * 0.75f); PriceSELL.text = curprice.ToString(); prapor.text = "Would be better to come with a gun next time."; Debug.Log((object)"Would be better to come with a gun next time."); SM.PlayCoreSound((FVRPooledAudioType)41, click, ((Component)this).gameObject.transform.position); readyforsale = true; } } } else if (Ammo.Contains(curitemforsell.ObjectWrapper.ItemID)) { for (int m = 0; m < Ammo.Count() - 1; m++) { if (Ammo[m] == curitemforsell.ObjectWrapper.ItemID) { curitemname = curitemforsell.ObjectWrapper.ItemID; ItemSell.text = curitemforsell.ObjectWrapper.ItemID.ToString(); curprice = (int)((float)AmmoP[m] * 0.75f); PriceSELL.text = curprice.ToString(); prapor.text = "So you are selling me loose rounds???"; Debug.Log((object)"So you are selling me loose rounds???"); SM.PlayCoreSound((FVRPooledAudioType)41, click, ((Component)this).gameObject.transform.position); readyforsale = true; } } } else if (Attachment.Contains(curitemforsell.ObjectWrapper.ItemID)) { for (int n = 0; n < Attachment.Count() - 1; n++) { if (Attachment[n] == curitemforsell.ObjectWrapper.ItemID) { curitemname = curitemforsell.ObjectWrapper.ItemID; ItemSell.text = curitemforsell.ObjectWrapper.ItemID.ToString(); curprice = (int)((float)AttachmentP[n] * 0.75f); PriceSELL.text = curprice.ToString(); prapor.text = "Never too many mods!"; Debug.Log((object)"Never too many mods!"); SM.PlayCoreSound((FVRPooledAudioType)41, click, ((Component)this).gameObject.transform.position); readyforsale = true; } } } else if (Grenade.Contains(curitemforsell.ObjectWrapper.ItemID)) { for (int num = 0; num < Grenade.Count() - 1; num++) { if (Grenade[num] == curitemforsell.ObjectWrapper.ItemID) { curitemname = curitemforsell.ObjectWrapper.ItemID; ItemSell.text = curitemforsell.ObjectWrapper.ItemID.ToString(); curprice = (int)((float)GrenadeP[num] * 0.75f); PriceSELL.text = curprice.ToString(); prapor.text = "HA HA! Explosives!"; Debug.Log((object)"HA HA! Explosives!"); SM.PlayCoreSound((FVRPooledAudioType)41, click, ((Component)this).gameObject.transform.position); readyforsale = true; } } } else if (Helmet.Contains(curitemforsell.ObjectWrapper.ItemID)) { for (int num2 = 0; num2 < Helmet.Count() - 1; num2++) { if (Helmet[num2] == curitemforsell.ObjectWrapper.ItemID) { curitemname = curitemforsell.ObjectWrapper.ItemID; ItemSell.text = curitemforsell.ObjectWrapper.ItemID.ToString(); curprice = (int)((float)HelmetP[num2] * 0.75f); PriceSELL.text = curprice.ToString(); prapor.text = "Wearables? Am I becoming Ragman?"; Debug.Log((object)"Wearables? Am I becoming Ragman?"); SM.PlayCoreSound((FVRPooledAudioType)41, click, ((Component)this).gameObject.transform.position); readyforsale = true; } } } if (Valuables.Contains(curitemforsell.ObjectWrapper.ItemID)) { for (int num3 = 0; num3 < Valuables.Count() - 1; num3++) { if (Valuables[num3] == curitemforsell.ObjectWrapper.ItemID) { curitemname = curitemforsell.ObjectWrapper.ItemID; ItemSell.text = curitemforsell.ObjectWrapper.ItemID.ToString(); curprice = (int)((float)ValuablesP[num3] * 0.75f); PriceSELL.text = curprice.ToString(); prapor.text = "Random stuffs? Hmmmmm......"; Debug.Log((object)"Random stuffs? Hmmmmm......"); SM.PlayCoreSound((FVRPooledAudioType)41, click, ((Component)this).gameObject.transform.position); readyforsale = true; } } } else if (!Valuables.Contains(ItemSell.text) && !Food.Contains(ItemSell.text) && !Medical.Contains(ItemSell.text) && !Weapon.Contains(ItemSell.text) && !Magazine.Contains(ItemSell.text) && !Ammo.Contains(ItemSell.text) && !Attachment.Contains(ItemSell.text) && !Grenade.Contains(ItemSell.text) && !Helmet.Contains(ItemSell.text)) { if (curitemforsell.ObjectWrapper.ItemID == "F-1 Russia Assembled(Remastered)") { curitemname = curitemforsell.ObjectWrapper.ItemID; ItemSell.text = curitemforsell.ObjectWrapper.ItemID.ToString(); curprice = 600; PriceSELL.text = curprice.ToString(); prapor.text = "Is that a grenade? ......"; Debug.Log((object)"Is that a grenade?......"); SM.PlayCoreSound((FVRPooledAudioType)41, click, ((Component)this).gameObject.transform.position); readyforsale = true; } else if (curitemforsell.ObjectWrapper.ItemID != "F-1 Russia Assembled(Remastered)") { SM.PlayCoreSound((FVRPooledAudioType)41, cantbuy, ((Component)this).gameObject.transform.position); prapor.text = "I don't need your garbage!"; Debug.Log((object)"I don't need your garbage!"); readyforsale = false; } } } public void OnTriggerExit(Collider other) { //IL_0051: Unknown result type (might be due to invalid IL or missing references) if ((Object)(object)((Component)other).gameObject.GetComponent() != (Object)null && ((Component)other).gameObject.GetComponent().ObjectWrapper.ItemID == curitemname) { SM.PlayCoreSound((FVRPooledAudioType)41, cantbuy, ((Component)this).gameObject.transform.position); curitemname = null; curitemforsell = null; ItemSell.text = "Canceled"; curprice = 0; PriceSELL.text = curprice.ToString(); prapor.text = "Changed you mind huh?"; readyforsale = false; } } public void Awake() { curItem = 0; curType = 0; curprice = 0; CatigoryType.text = curType.ToString(); prapor.text = "Huh so you wanna go shopping? They call me Prapor, let's make a deal."; detectcol.enabled = false; SoBPage.SetActive(true); SellPage.SetActive(false); BuyPage.SetActive(false); TypePage.SetActive(false); } public void Start() { GO = MEATStoreGlobalObj.GetInstance(); GO.ReadConfig(); RefreshUIStat(); prapor.text = "Huh so you wanna go shopping? They call me Prapor, let's make a deal."; Types[0] = "Weapon"; Types[1] = "Magazine"; Types[2] = "Ammo"; Types[3] = "Attachment"; Types[4] = "Grenade"; Types[5] = "Rig"; Types[6] = "Food"; Types[7] = "Medical"; Food[0] = "EFT BeefCan"; Food[1] = "EFT MRE"; Food[2] = "EFT Kolbasa"; Food[3] = "EFT WatterBottle"; Food[4] = "EFT JuiceBox Green"; Food[5] = "EFT JuiceBox Red"; Food[6] = "EFT JuiceBox Yellow"; Medical[0] = "Med_Analgin"; Medical[1] = "Med_Bandage"; Medical[2] = "Med_CAT"; Medical[3] = "Med_CMSK"; Medical[4] = "Med_GoldenStar"; Medical[5] = "Med_Propital"; Medical[6] = "AI2 Medkit"; Weapon[0] = "AKS74U"; Weapon[1] = "AK74N"; Weapon[2] = "AKS74UTactical"; Weapon[3] = "AKM"; Weapon[4] = "RPK"; Weapon[5] = "AKMTactical"; Weapon[6] = "Mk18Mod0"; Weapon[7] = "H416"; Weapon[8] = "M16"; Weapon[9] = "M4A1Block2CQBR"; Weapon[10] = "SV98"; Weapon[11] = "Toz106"; Weapon[12] = "MosinM1891"; Weapon[13] = "Mosin91_30"; Weapon[14] = "MosinM38"; Weapon[15] = "ASVAL"; Weapon[16] = "SR3M"; Weapon[17] = "VSSVintorez"; Weapon[18] = "Dragonuv"; Weapon[19] = "FaTactical"; Weapon[20] = "Fal"; Weapon[21] = "FalPara"; Weapon[22] = "IZh18_12g"; Weapon[23] = "KS23"; Weapon[24] = "I37Classic"; Weapon[25] = "M2ThreeGun"; Weapon[26] = "Saiga12k"; Magazine[0] = "MagazineAK74_10rnd"; Magazine[1] = "MagazineAK74_20rnd"; Magazine[2] = "MagazineAKS74U"; Magazine[3] = "MagazineAKS74U2"; Magazine[4] = "MagazineAK74N"; Magazine[5] = "MagazineAK12"; Magazine[6] = "MagazineAK74Drum"; Magazine[7] = "MagazineAKMTactical10rnd"; Magazine[8] = "MagazineAKMTactical20rnd"; Magazine[9] = "MagazineAKM"; Magazine[10] = "MagazineAKMTactical"; Magazine[11] = "MagazineRPK"; Magazine[12] = "MagazineAKMDrum"; Magazine[13] = "MagazineAKMHeirloom"; Magazine[14] = "MagazineStanagUSGI5rnd"; Magazine[15] = "MagazineStanagUSGI10rnd"; Magazine[16] = "MagazineStanagUSGI20rnd"; Magazine[17] = "MagazineStanagUSGI25rnd"; Magazine[18] = "MagazineStanagUSGI30rnd"; Magazine[19] = "MagazineStanagUSGI30rndCustom"; Magazine[20] = "Magazine_Stanag_PM_30rnd"; Magazine[21] = "MagazineStanagPDDrum60rnd"; Magazine[22] = "MagazineStanagSM60rnd"; Magazine[23] = "MagazineSV98"; Magazine[24] = "MagazineToz106"; Magazine[25] = "762x54mmRStripperClip"; Magazine[26] = "MagazineVSSVintorez10rnd"; Magazine[27] = "MagazineASVal20Rnd"; Magazine[28] = "MagazineDragonuv"; Magazine[29] = "MagazineFal20rnd"; Magazine[30] = "MagazineSaiga12k12rnd"; Magazine[31] = "MagazineSaiga12k20rnd"; Ammo[0] = "545x39mmCartridgeAP"; Ammo[1] = "762x39mmCartridgeAP"; Ammo[2] = "556x45mmCartridgeAP"; Ammo[3] = "762x54mmRCartridgeAP"; Ammo[4] = "9x39mmCartridgeAP"; Ammo[5] = "762x51mmCartridgeAP"; Ammo[6] = "12GaugeShell00Buckshot"; Ammo[7] = "12GaugeShellDragonsBreath"; Ammo[8] = "23x75mmR_Buckshot"; Ammo[9] = "23x75mmR_Flash"; Grenade[0] = "PinnedGrenadeRG5"; Grenade[1] = "F-1 Russia (Remastered)"; Grenade[2] = "PinnedGrenadeRGO"; Grenade[3] = "PinnedGrenadeRGN"; Grenade[4] = "PinnedGrenadeM67"; Attachment[0] = "TacticalFlashlight"; Attachment[1] = "KlashLight"; Attachment[2] = "CompactFlashlight2"; Attachment[3] = "AKForeB10"; Attachment[4] = "ForegripLarge"; Attachment[5] = "ForegripLDAG"; Attachment[6] = "ForegripMVG"; Attachment[7] = "ForegripOffset"; Attachment[8] = "ForegripRKO"; Attachment[9] = "ForegripShift"; Attachment[10] = "ForegripValk"; Attachment[11] = "ForegripZG106"; Attachment[12] = "HandstopKAG"; Attachment[13] = "H416IronsFront"; Attachment[14] = "H416IronsRear"; Attachment[15] = "CantedSightsFront"; Attachment[16] = "CantedSightsRear"; Attachment[17] = "ANPEQ15"; Attachment[18] = "TacticalLaser2"; Attachment[19] = "Perst3Laser"; Attachment[20] = "MuzzleBrakeCobra"; Attachment[21] = "MuzzleBrakeCharon"; Attachment[22] = "MuzzleBrakeOrbit"; Attachment[23] = "MuzzleBrakeTruepoint"; Attachment[24] = "RailRiserTall"; Attachment[25] = "RailRiserShort"; Attachment[26] = "RailRiserMed"; Attachment[27] = "ReflexEG1"; Attachment[28] = "ReflexOKP7OSA"; Attachment[29] = "ReflexPK01VS"; Attachment[30] = "ReflexPK120"; Attachment[31] = "ReflexHolosightLong"; Attachment[32] = "ReflexHolosightShort"; Attachment[33] = "MagnifierPSO1"; Attachment[34] = "T12Scope"; Attachment[35] = "ScopeVRZ_6_36x56mmBronze"; Attachment[36] = "ScopeVRZ_6_36x56mmBlack"; Attachment[37] = "ScopeHAMComboScope4x24"; Attachment[38] = "MagnifierGhostDRFDE"; Attachment[39] = "MagnifierGhostDR"; Attachment[40] = "ScopeEVU110x28mm"; Attachment[41] = "ScopeAcog4x32"; Attachment[42] = "ScopePVS30"; Attachment[43] = "ScopePVS14"; Attachment[44] = "SuppressorPBS4"; Attachment[45] = "SuppressorPBS1"; Attachment[46] = "SuppressorCorded"; Attachment[47] = "SuppressorCordedTan"; Attachment[48] = "SuppressorWrapped"; Attachment[49] = "SuppressorSalvo"; Attachment[50] = "AttachableBipodH"; Attachment[51] = "RailAdapterRussianToPicatinny"; Attachment[52] = "ScopeMosinPU"; Attachment[53] = "AKForeShark"; Attachment[54] = "AKForeRomanian"; Helmet[0] = "BackpackWartech"; Helmet[1] = "FTW.EXFILShieldB.helmet"; Helmet[2] = "FTW.FASTAirsoft.helmetTan"; Helmet[3] = "FTW.FastShield.attachment"; Helmet[4] = "FTW.FastPic.attachment"; Helmet[5] = "FTW.HeavyTrooper.attachment"; Helmet[6] = "FTW.RysT.helmet"; Helmet[7] = "FTW.RysTMask.helmet"; Helmet[8] = "FTW.helmet.LSHZMask"; Helmet[9] = "FTW.FastEars.attachment"; Helmet[10] = "FTW.TC800.helmet"; Helmet[11] = "FTW.Helmet.Jason"; Helmet[12] = "ftw.altynmask.helmet"; Helmet[13] = "FTW.EXFILShieldT.helmet"; Helmet[14] = "FTW.SLAPPPlate.attachement"; Helmet[15] = "FTW.FastVisor.attachment"; Helmet[16] = "FTW.HeavyTrooper.attachmentB"; Helmet[17] = "FTW.Caiman.helmet"; Helmet[18] = "FTW.FAST.helmet"; Helmet[19] = "FTW.EXFILt.helmet"; Helmet[20] = "FTW.ZshShield.helmet"; Helmet[21] = "FTW.HeavyTrooper.attachmentWolfe"; Helmet[22] = "ftw.Airframe.helmet"; Helmet[23] = "FTW.Kiver.helmet"; Helmet[24] = "FTW.HeavyTrooper.attachmentT"; Helmet[25] = "ftw.Bastion.helmet"; Helmet[26] = "ftw.Bastionshield.helmet"; Helmet[27] = "FTW.helmet.LSHZAventail"; Helmet[28] = "FTW.FastEars.attachmentTan"; Helmet[29] = "ftw.altyn.helmet"; Helmet[30] = "FTW.EXFILEars.helmetB"; Helmet[31] = "FTW.CaimanShield.helmet"; Helmet[32] = "FTW.KiverShield.helmet"; Helmet[33] = "FTW.FASTTan.helmet"; Helmet[34] = "FTW.UNHelmet.helmet"; Helmet[35] = "FTW.EXFILt.helmetTan"; Helmet[36] = "FTW.FastMandible.attachment"; Helmet[37] = "FTW.ZSH.helmet"; Helmet[38] = "FTW.CaimanMandible.helmet"; Helmet[39] = "FTW.CaimanFixedVisor.helmet"; Helmet[40] = "FTW.Ushanka.helmet"; Helmet[41] = "FTW.Helmet.Ronin"; Helmet[42] = "FTW.EXFILEars.helmet"; Helmet[43] = "ftw.Airframe.helmetEars"; Helmet[44] = "FTW.HeavyTrooper.attachmentBT"; Helmet[45] = "ftw.Airframe.helmetChops"; Helmet[46] = "FTW.helmet.LSHZ"; Helmet[47] = "FTW.TankHelmet.helmet"; Helmet[48] = "6B5ArmourCamo"; Helmet[49] = "6B5ArmourGreen"; Helmet[50] = "6B5ArmourYellow"; Helmet[51] = "Brobber"; Helmet[52] = "Blackrock"; Helmet[53] = "CommandoTan"; Helmet[54] = "6SH112"; Helmet[55] = "Triton"; Helmet[56] = "TV109"; Helmet[57] = "RigTV110"; Helmet[58] = "AlphaRig"; Helmet[59] = "ARSPC"; Helmet[60] = "ScavVest"; Helmet[61] = "6B13ArmourEMR"; Helmet[62] = "6B13ArmourFlora"; Helmet[63] = "6B13ArmourTan"; Helmet[64] = "6b13BackPlate"; Helmet[65] = "6b13FrontPlate"; Valuables[0] = "EFT_BitCoin"; Valuables[1] = "EFT_CarbonCase"; Valuables[2] = "EFT_Chemcontainer"; Valuables[3] = "EFT_CPUChip"; Valuables[4] = "EFT_CPUCooler"; Valuables[5] = "EFT_DVD"; Valuables[6] = "EFT_ElectronicCase"; Valuables[7] = "EFT_Envelope"; Valuables[8] = "EFT_Fuelconditioner"; Valuables[9] = "EFT_Geger"; Valuables[10] = "EFT_HandDrill"; Valuables[11] = "EFT_Laptop"; Valuables[12] = "EFT_Parcel"; Valuables[13] = "EFT_Photograph"; Valuables[14] = "EFT_RadioJammer"; Valuables[15] = "EFT_Ratchetwrench"; Valuables[16] = "EFT_SSD"; FoodP[0] = 250; FoodP[1] = 500; FoodP[2] = 100; FoodP[3] = 250; FoodP[4] = 500; FoodP[5] = 500; FoodP[6] = 500; MedicalP[0] = 250; MedicalP[1] = 250; MedicalP[2] = 500; MedicalP[3] = 1000; MedicalP[4] = 250; MedicalP[5] = 1000; MedicalP[6] = 2000; WeaponP[0] = 1000; WeaponP[1] = 1200; WeaponP[2] = 1500; WeaponP[3] = 1000; WeaponP[4] = 1200; WeaponP[5] = 2000; WeaponP[6] = 2000; WeaponP[7] = 3000; WeaponP[8] = 1500; WeaponP[9] = 2000; WeaponP[10] = 2000; WeaponP[11] = 500; WeaponP[12] = 750; WeaponP[13] = 800; WeaponP[14] = 1000; WeaponP[15] = 3000; WeaponP[16] = 2500; WeaponP[17] = 2500; WeaponP[18] = 1500; WeaponP[19] = 2500; WeaponP[20] = 2000; WeaponP[21] = 3000; WeaponP[22] = 1000; WeaponP[23] = 2000; WeaponP[24] = 1500; WeaponP[25] = 2000; WeaponP[26] = 3000; MagazineP[0] = 100; MagazineP[1] = 200; MagazineP[2] = 300; MagazineP[3] = 300; MagazineP[4] = 300; MagazineP[5] = 350; MagazineP[6] = 1000; MagazineP[7] = 100; MagazineP[8] = 200; MagazineP[9] = 300; MagazineP[10] = 350; MagazineP[11] = 500; MagazineP[12] = 1000; MagazineP[13] = 350; MagazineP[14] = 50; MagazineP[15] = 100; MagazineP[16] = 200; MagazineP[17] = 250; MagazineP[18] = 300; MagazineP[19] = 350; MagazineP[20] = 350; MagazineP[21] = 1000; MagazineP[22] = 1500; MagazineP[23] = 200; MagazineP[24] = 50; MagazineP[25] = 25; MagazineP[26] = 200; MagazineP[27] = 400; MagazineP[28] = 200; MagazineP[29] = 200; MagazineP[30] = 500; MagazineP[31] = 1000; AmmoP[0] = 10; AmmoP[1] = 5; AmmoP[2] = 15; AmmoP[3] = 20; AmmoP[4] = 25; AmmoP[5] = 20; AmmoP[6] = 5; AmmoP[7] = 10; AmmoP[8] = 15; AmmoP[9] = 50; GrenadeP[0] = 500; GrenadeP[1] = 750; GrenadeP[2] = 1000; GrenadeP[3] = 1000; GrenadeP[4] = 750; AttachmentP[0] = 750; AttachmentP[1] = 500; AttachmentP[2] = 500; AttachmentP[3] = 450; AttachmentP[4] = 200; AttachmentP[5] = 200; AttachmentP[6] = 250; AttachmentP[7] = 250; AttachmentP[8] = 300; AttachmentP[9] = 300; AttachmentP[10] = 300; AttachmentP[11] = 250; AttachmentP[12] = 200; AttachmentP[13] = 150; AttachmentP[14] = 150; AttachmentP[15] = 100; AttachmentP[16] = 100; AttachmentP[17] = 500; AttachmentP[18] = 100; AttachmentP[19] = 750; AttachmentP[20] = 200; AttachmentP[21] = 250; AttachmentP[22] = 250; AttachmentP[23] = 200; AttachmentP[24] = 300; AttachmentP[25] = 200; AttachmentP[26] = 250; AttachmentP[27] = 750; AttachmentP[28] = 250; AttachmentP[29] = 500; AttachmentP[30] = 750; AttachmentP[31] = 800; AttachmentP[32] = 900; AttachmentP[33] = 750; AttachmentP[34] = 500; AttachmentP[35] = 1500; AttachmentP[36] = 1500; AttachmentP[37] = 850; AttachmentP[38] = 1000; AttachmentP[39] = 1000; AttachmentP[40] = 750; AttachmentP[41] = 750; AttachmentP[42] = 5000; AttachmentP[43] = 4500; AttachmentP[44] = 350; AttachmentP[45] = 500; AttachmentP[46] = 750; AttachmentP[47] = 750; AttachmentP[48] = 750; AttachmentP[49] = 900; AttachmentP[50] = 100; AttachmentP[51] = 250; AttachmentP[52] = 500; AttachmentP[53] = 200; AttachmentP[54] = 250; HelmetP[0] = 750; HelmetP[1] = 500; HelmetP[2] = 250; HelmetP[3] = 500; HelmetP[4] = 200; HelmetP[5] = 750; HelmetP[6] = 500; HelmetP[7] = 450; HelmetP[8] = 500; HelmetP[9] = 500; HelmetP[10] = 750; HelmetP[11] = 120; HelmetP[12] = 750; HelmetP[13] = 500; HelmetP[14] = 400; HelmetP[15] = 500; HelmetP[16] = 400; HelmetP[17] = 600; HelmetP[18] = 700; HelmetP[19] = 800; HelmetP[20] = 500; HelmetP[21] = 500; HelmetP[22] = 650; HelmetP[23] = 500; HelmetP[24] = 350; HelmetP[25] = 600; HelmetP[26] = 400; HelmetP[27] = 400; HelmetP[28] = 300; HelmetP[29] = 1500; HelmetP[30] = 500; HelmetP[31] = 750; HelmetP[32] = 200; HelmetP[33] = 700; HelmetP[34] = 250; HelmetP[35] = 750; HelmetP[36] = 350; HelmetP[37] = 1000; HelmetP[38] = 350; HelmetP[39] = 400; HelmetP[40] = 50; HelmetP[41] = 10; HelmetP[42] = 150; HelmetP[43] = 250; HelmetP[44] = 350; HelmetP[45] = 320; HelmetP[46] = 710; HelmetP[47] = 100; HelmetP[48] = 2500; HelmetP[49] = 2500; HelmetP[50] = 2500; HelmetP[51] = 75; HelmetP[52] = 500; HelmetP[53] = 1000; HelmetP[54] = 500; HelmetP[55] = 750; HelmetP[56] = 200; HelmetP[57] = 1000; HelmetP[58] = 500; HelmetP[59] = 1000; HelmetP[60] = 75; HelmetP[61] = 10000; HelmetP[62] = 10000; HelmetP[63] = 10000; HelmetP[64] = 2500; HelmetP[65] = 3000; ValuablesP[0] = 1000000; ValuablesP[1] = 250000; ValuablesP[2] = 10000; ValuablesP[3] = 5000; ValuablesP[4] = 3500; ValuablesP[5] = 2500; ValuablesP[6] = 7500; ValuablesP[7] = 5000; ValuablesP[8] = 2000; ValuablesP[9] = 2500; ValuablesP[10] = 6500; ValuablesP[11] = 10000; ValuablesP[12] = 15000; ValuablesP[13] = 2000; ValuablesP[14] = 7500; ValuablesP[15] = 3500; ValuablesP[16] = 6000; FoodE[0] = 1; FoodE[1] = 2; FoodE[2] = 1; FoodE[3] = 1; FoodE[4] = 2; FoodE[5] = 2; FoodE[6] = 2; MedicalE[0] = 2; MedicalE[1] = 1; MedicalE[2] = 1; MedicalE[3] = 2; MedicalE[4] = 1; MedicalE[5] = 3; MedicalE[6] = 2; WeaponE[0] = 1; WeaponE[1] = 1; WeaponE[2] = 3; WeaponE[3] = 1; WeaponE[4] = 2; WeaponE[5] = 3; WeaponE[6] = 3; WeaponE[7] = 4; WeaponE[8] = 2; WeaponE[9] = 3; WeaponE[10] = 2; WeaponE[11] = 1; WeaponE[12] = 1; WeaponE[13] = 2; WeaponE[14] = 1; WeaponE[15] = 4; WeaponE[16] = 3; WeaponE[17] = 3; WeaponE[18] = 2; WeaponE[19] = 3; WeaponE[20] = 1; WeaponE[21] = 2; WeaponE[22] = 1; WeaponE[23] = 3; WeaponE[24] = 2; WeaponE[25] = 3; WeaponE[26] = 4; MagazineE[0] = 1; MagazineE[1] = 1; MagazineE[2] = 1; MagazineE[3] = 1; MagazineE[4] = 1; MagazineE[5] = 2; MagazineE[6] = 3; MagazineE[7] = 1; MagazineE[8] = 1; MagazineE[9] = 1; MagazineE[10] = 2; MagazineE[11] = 3; MagazineE[12] = 3; MagazineE[13] = 2; MagazineE[14] = 1; MagazineE[15] = 1; MagazineE[16] = 1; MagazineE[17] = 1; MagazineE[18] = 2; MagazineE[19] = 2; MagazineE[20] = 2; MagazineE[21] = 3; MagazineE[22] = 4; MagazineE[23] = 2; MagazineE[24] = 1; MagazineE[25] = 1; MagazineE[26] = 1; MagazineE[27] = 2; MagazineE[28] = 2; MagazineE[29] = 1; MagazineE[30] = 3; MagazineE[31] = 5; AmmoE[0] = 2; AmmoE[1] = 1; AmmoE[2] = 3; AmmoE[3] = 3; AmmoE[4] = 4; AmmoE[5] = 3; AmmoE[6] = 1; AmmoE[7] = 3; AmmoE[8] = 2; AmmoE[9] = 4; GrenadeE[0] = 1; GrenadeE[1] = 2; GrenadeE[2] = 3; GrenadeE[3] = 3; GrenadeE[4] = 2; AttachmentE[0] = 2; AttachmentE[1] = 2; AttachmentE[2] = 2; AttachmentE[3] = 2; AttachmentE[4] = 1; AttachmentE[5] = 1; AttachmentE[6] = 1; AttachmentE[7] = 2; AttachmentE[8] = 2; AttachmentE[9] = 2; AttachmentE[10] = 2; AttachmentE[11] = 2; AttachmentE[12] = 3; AttachmentE[13] = 1; AttachmentE[14] = 1; AttachmentE[15] = 1; AttachmentE[16] = 1; AttachmentE[17] = 3; AttachmentE[18] = 2; AttachmentE[19] = 3; AttachmentE[20] = 1; AttachmentE[21] = 1; AttachmentE[22] = 2; AttachmentE[23] = 2; AttachmentE[24] = 3; AttachmentE[25] = 1; AttachmentE[26] = 2; AttachmentE[27] = 3; AttachmentE[28] = 1; AttachmentE[29] = 2; AttachmentE[30] = 3; AttachmentE[31] = 2; AttachmentE[32] = 3; AttachmentE[33] = 3; AttachmentE[34] = 2; AttachmentE[35] = 3; AttachmentE[36] = 3; AttachmentE[37] = 4; AttachmentE[38] = 3; AttachmentE[39] = 3; AttachmentE[40] = 3; AttachmentE[41] = 3; AttachmentE[42] = 4; AttachmentE[43] = 4; AttachmentE[44] = 2; AttachmentE[45] = 2; AttachmentE[46] = 3; AttachmentE[47] = 3; AttachmentE[48] = 3; AttachmentE[49] = 4; AttachmentE[50] = 3; AttachmentE[51] = 2; AttachmentE[52] = 2; AttachmentE[53] = 2; AttachmentE[54] = 2; HelmetE[0] = 1; HelmetE[1] = 2; HelmetE[2] = 1; HelmetE[3] = 3; HelmetE[4] = 1; HelmetE[5] = 2; HelmetE[6] = 2; HelmetE[7] = 2; HelmetE[8] = 2; HelmetE[9] = 2; HelmetE[10] = 2; HelmetE[11] = 1; HelmetE[12] = 3; HelmetE[13] = 2; HelmetE[14] = 2; HelmetE[15] = 2; HelmetE[16] = 2; HelmetE[17] = 2; HelmetE[18] = 3; HelmetE[19] = 3; HelmetE[20] = 2; HelmetE[21] = 2; HelmetE[22] = 3; HelmetE[23] = 2; HelmetE[24] = 2; HelmetE[25] = 2; HelmetE[26] = 2; HelmetE[27] = 2; HelmetE[28] = 2; HelmetE[29] = 3; HelmetE[30] = 2; HelmetE[31] = 2; HelmetE[32] = 2; HelmetE[33] = 3; HelmetE[34] = 1; HelmetE[35] = 3; HelmetE[36] = 3; HelmetE[37] = 3; HelmetE[38] = 2; HelmetE[39] = 2; HelmetE[40] = 1; HelmetE[41] = 1; HelmetE[42] = 2; HelmetE[43] = 2; HelmetE[44] = 2; HelmetE[45] = 2; HelmetE[46] = 3; HelmetE[47] = 1; HelmetE[48] = 3; HelmetE[49] = 3; HelmetE[50] = 3; HelmetE[51] = 1; HelmetE[52] = 2; HelmetE[53] = 2; HelmetE[54] = 2; HelmetE[55] = 2; HelmetE[56] = 3; HelmetE[57] = 3; HelmetE[58] = 1; HelmetE[59] = 3; HelmetE[60] = 1; HelmetE[61] = 4; HelmetE[62] = 4; HelmetE[63] = 4; HelmetE[64] = 5; HelmetE[65] = 5; } public void FixedUpdate() { DepositBUY.text = deposit.ToString(); DepositSELL.text = deposit.ToString(); if (GO != null) { level = GO.Config.Level; curEXPTxt.text = GO.Config.currentEXP.ToString(); nxtEXP = 1000f - GO.Config.currentEXP; } nxtEXPTxt.text = nxtEXP.ToString(); LvlBUY.text = level.ToString(); LvlSELL.text = level.ToString(); CatigoryType.text = Types[curType]; if (curitemname != null) { ItemBUY.text = curitemname; } if ((Object)(object)curitemforsell == (Object)null || curitemname == null) { } PriceBUY.text = curprice.ToString(); PriceSELL.text = curprice.ToString(); LevelBUY.text = curlevel.ToString(); } public void TYPEPAGE() { //IL_0067: Unknown result type (might be due to invalid IL or missing references) curlevel = 0; curprice = 0; PriceBUY.text = "0"; PriceSELL.text = "0"; curItem = 0; curitemname = null; prapor.text = "So you wanna buy something or just selling some garbage to me?"; detectcol.enabled = false; SM.PlayCoreSound((FVRPooledAudioType)41, click, ((Component)this).transform.position); SoBPage.SetActive(false); SellPage.SetActive(false); BuyPage.SetActive(false); TypePage.SetActive(true); } public void SELLPAGE() { //IL_007a: Unknown result type (might be due to invalid IL or missing references) curlevel = 0; curprice = 0; PriceBUY.text = "0"; PriceSELL.text = "0"; prapor.text = "Throw your shit out of the door and we will make a deal, one item at a time."; curitemname = "No item yet."; ItemSell.text = curitemname.ToString(); detectcol.enabled = true; SM.PlayCoreSound((FVRPooledAudioType)41, click, ((Component)this).transform.position); SoBPage.SetActive(false); SellPage.SetActive(true); BuyPage.SetActive(false); TypePage.SetActive(false); } public void BUYPAGE() { //IL_0077: Unknown result type (might be due to invalid IL or missing references) curlevel = 0; curprice = 0; PriceBUY.text = "0"; PriceSELL.text = "0"; curItem = 0; curitemname = "DefaultText Click Next/Prev"; NEXTCATIGORY(); PREVCATIGORY(); prapor.text = "Finally decided what to buy?"; detectcol.enabled = false; SM.PlayCoreSound((FVRPooledAudioType)41, click, ((Component)this).transform.position); SoBPage.SetActive(false); SellPage.SetActive(false); BuyPage.SetActive(true); TypePage.SetActive(false); } public void NEXTCATIGORY() { //IL_000f: Unknown result type (might be due to invalid IL or missing references) SM.PlayCoreSound((FVRPooledAudioType)41, click, ((Component)this).transform.position); if (curType < 7) { curType++; } else if (curType == 7) { curType = 0; } } public void PREVCATIGORY() { //IL_000f: Unknown result type (might be due to invalid IL or missing references) SM.PlayCoreSound((FVRPooledAudioType)41, click, ((Component)this).transform.position); if (curType > 0) { curType--; } else if (curType == 0) { curType = 7; } } public void NEXTITEM() { //IL_000f: Unknown result type (might be due to invalid IL or missing references) SM.PlayCoreSound((FVRPooledAudioType)41, click, ((Component)this).transform.position); if (curType == 0) { if (curItem >= 26) { curItem = 0; } else if (curItem < 26) { curItem++; } curitemname = Weapon[curItem]; curprice = WeaponP[curItem]; curlevel = WeaponE[curItem]; } if (curType == 1) { if (curItem >= 31) { curItem = 0; } else if (curItem < 31) { curItem++; } curitemname = Magazine[curItem]; curprice = MagazineP[curItem]; curlevel = MagazineE[curItem]; } if (curType == 2) { if (curItem >= 9) { curItem = 0; } else if (curItem < 9) { curItem++; } curitemname = Ammo[curItem]; curprice = AmmoP[curItem]; curlevel = AmmoE[curItem]; } if (curType == 3) { if (curItem >= 54) { curItem = 0; } else if (curItem < 54) { curItem++; } curitemname = Attachment[curItem]; curprice = AttachmentP[curItem]; curlevel = AttachmentE[curItem]; } if (curType == 4) { if (curItem >= 4) { curItem = 0; } else if (curItem < 4) { curItem++; } curitemname = Grenade[curItem]; curprice = GrenadeP[curItem]; curlevel = GrenadeE[curItem]; } if (curType == 5) { if (curItem >= 65) { curItem = 0; } else if (curItem < 65) { curItem++; } curitemname = Helmet[curItem]; curprice = HelmetP[curItem]; curlevel = HelmetE[curItem]; } if (curType == 6) { if (curItem >= 6) { curItem = 0; } else if (curItem < 6) { curItem++; } curitemname = Food[curItem]; curprice = FoodP[curItem]; curlevel = FoodE[curItem]; } if (curType == 7) { if (curItem >= 6) { curItem = 0; } else if (curItem < 6) { curItem++; } curitemname = Medical[curItem]; curprice = MedicalP[curItem]; curlevel = MedicalE[curItem]; } } public void PREVITEM() { //IL_000f: Unknown result type (might be due to invalid IL or missing references) SM.PlayCoreSound((FVRPooledAudioType)41, click, ((Component)this).transform.position); if (curType == 0) { if (curItem > 0) { curItem--; } else if (curItem <= 0) { curItem = 26; } curitemname = Weapon[curItem]; curprice = WeaponP[curItem]; curlevel = WeaponE[curItem]; } if (curType == 1) { if (curItem > 0) { curItem--; } else if (curItem <= 0) { curItem = 31; } curitemname = Magazine[curItem]; curprice = MagazineP[curItem]; curlevel = MagazineE[curItem]; } if (curType == 2) { if (curItem > 0) { curItem--; } else if (curItem <= 0) { curItem = 9; } curitemname = Ammo[curItem]; curprice = AmmoP[curItem]; curlevel = AmmoE[curItem]; } if (curType == 3) { if (curItem > 0) { curItem--; } else if (curItem <= 0) { curItem = 54; } curitemname = Attachment[curItem]; curprice = AttachmentP[curItem]; curlevel = AttachmentE[curItem]; } if (curType == 4) { if (curItem > 0) { curItem--; } else if (curItem <= 0) { curItem = 4; } curitemname = Grenade[curItem]; curprice = GrenadeP[curItem]; curlevel = GrenadeE[curItem]; } if (curType == 5) { if (curItem > 0) { curItem--; } else if (curItem <= 0) { curItem = 65; } curitemname = Helmet[curItem]; curprice = HelmetP[curItem]; curlevel = HelmetE[curItem]; } if (curType == 6) { if (curItem > 0) { curItem--; } else if (curItem <= 0) { curItem = 6; } curitemname = Food[curItem]; curprice = FoodP[curItem]; curlevel = FoodE[curItem]; } if (curType == 7) { if (curItem > 0) { curItem--; } else if (curItem <= 0) { curItem = 6; } curitemname = Medical[curItem]; curprice = MedicalP[curItem]; curlevel = MedicalE[curItem]; } } public void BACKPAGE() { //IL_0060: Unknown result type (might be due to invalid IL or missing references) curlevel = 0; curprice = 0; PriceBUY.text = "0"; PriceSELL.text = "0"; curItem = 0; prapor.text = "You are not gonna sell me the stuffs you just bought from me, right?"; detectcol.enabled = false; SM.PlayCoreSound((FVRPooledAudioType)41, click, ((Component)this).transform.position); SoBPage.SetActive(true); SellPage.SetActive(false); BuyPage.SetActive(false); TypePage.SetActive(false); } public void BACKBUYPAGE() { //IL_0060: Unknown result type (might be due to invalid IL or missing references) curlevel = 0; curprice = 0; PriceBUY.text = "0"; PriceSELL.text = "0"; curItem = 0; prapor.text = "Changed your mind?"; detectcol.enabled = false; SM.PlayCoreSound((FVRPooledAudioType)41, click, ((Component)this).transform.position); SoBPage.SetActive(false); SellPage.SetActive(false); BuyPage.SetActive(false); TypePage.SetActive(true); curitemname = null; curitemforsell = null; } public void BACKSELLPAGE() { //IL_0060: Unknown result type (might be due to invalid IL or missing references) curlevel = 0; curprice = 0; PriceBUY.text = "0"; PriceSELL.text = "0"; curItem = 0; prapor.text = "Yea yea just keep them."; detectcol.enabled = false; SM.PlayCoreSound((FVRPooledAudioType)41, click, ((Component)this).transform.position); SoBPage.SetActive(true); SellPage.SetActive(false); BuyPage.SetActive(false); TypePage.SetActive(false); curitemname = null; curitemforsell = null; } public void BUY() { //IL_02b1: Unknown result type (might be due to invalid IL or missing references) //IL_0302: Unknown result type (might be due to invalid IL or missing references) //IL_0251: Unknown result type (might be due to invalid IL or missing references) //IL_0261: Unknown result type (might be due to invalid IL or missing references) //IL_0266: Unknown result type (might be due to invalid IL or missing references) //IL_01f2: Unknown result type (might be due to invalid IL or missing references) //IL_0212: Unknown result type (might be due to invalid IL or missing references) //IL_0217: 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_019c: Unknown result type (might be due to invalid IL or missing references) //IL_01b3: Unknown result type (might be due to invalid IL or missing references) //IL_013f: Unknown result type (might be due to invalid IL or missing references) //IL_0156: Unknown result type (might be due to invalid IL or missing references) RefreshUIStat(); if (curprice <= deposit && curlevel <= level) { deposit -= curprice; if (GO != null) { GO.Config.Deposit = deposit; GO.Config.currentEXP += (float)curprice * 0.01f; } StoreConfig(); bool flag = IM.OD.ContainsKey(curitemname); if (flag) { AnvilCallback gameObjectAsync = ((AnvilAsset)IM.OD[curitemname]).GetGameObjectAsync(); if (Object.op_Implicit((Object)(object)gameObjectAsync.Result)) { if (curitemname == "F-1 Russia (Remastered)") { bool flag2 = IM.OD.ContainsKey("UZRGM Fuze"); if (flag) { AnvilCallback gameObjectAsync2 = ((AnvilAsset)IM.OD["UZRGM Fuze"]).GetGameObjectAsync(); if (Object.op_Implicit((Object)(object)gameObjectAsync2.Result)) { GameObject val = Object.Instantiate(gameObjectAsync2.Result); val.transform.position = spawnpoint.position; val.transform.eulerAngles = spawnpoint.eulerAngles; } } } RefreshUIStat(); SM.PlayCoreSound((FVRPooledAudioType)41, canbuy, ((Component)this).transform.position); GameObject val2 = Object.Instantiate(gameObjectAsync.Result); val2.transform.position = spawnpoint.position; val2.transform.eulerAngles = spawnpoint.eulerAngles; prapor.text = "Here's your stuff, good deal! Солдат!"; Console.Write("Here's your shit, good deal!"); } else { RefreshUIStat(); SM.PlayCoreSound((FVRPooledAudioType)41, cantbuy, ((Component)this).transform.position); prapor.text = "Oops! Seems your package was lost on delivery!"; Scene activeScene = SceneManager.GetActiveScene(); Console.Write("Oops! Seems your package was lost on delivery!", ((Scene)(ref activeScene)).name); } } else { RefreshUIStat(); prapor.text = "Damn! Looks like my delivery guy was lost."; SM.PlayCoreSound((FVRPooledAudioType)41, cantbuy, ((Component)this).transform.position); Scene activeScene2 = SceneManager.GetActiveScene(); Console.Write("Damn! Looks like my delivery guy was lost.", ((Scene)(ref activeScene2)).name); } } else if (curprice > deposit) { RefreshUIStat(); prapor.text = "You don't have enough money, you know that, right?"; SM.PlayCoreSound((FVRPooledAudioType)41, cantbuy, ((Component)this).transform.position); Debug.Log((object)"You don't have enough money, go away!"); } else if (curlevel > level) { RefreshUIStat(); prapor.text = "Nah uh, I don't believe that you can handle this stuff yet."; SM.PlayCoreSound((FVRPooledAudioType)41, cantbuy, ((Component)this).transform.position); Debug.Log((object)"You don't have level, go away!"); } } public void SELL() { //IL_03d1: Unknown result type (might be due to invalid IL or missing references) //IL_036c: Unknown result type (might be due to invalid IL or missing references) //IL_0427: Unknown result type (might be due to invalid IL or missing references) //IL_030e: Unknown result type (might be due to invalid IL or missing references) RefreshUIStat(); if (readyforsale) { if ((Object)(object)curitemforsell != (Object)null) { if (curitemname != null) { deposit += curprice; if (GO != null) { GO.Config.Deposit = deposit; GO.Config.currentEXP += (float)curprice * 0.01f; } StoreConfig(); Object.Destroy((Object)(object)((Component)curitemforsell).gameObject); curitemname = "No item yet."; ItemSell.text = curitemname.ToString(); curitemforsell = null; curprice = 0; prapor.text = "Here's your cash, good deal!"; Console.Write("Here's your cash, good deal!"); RefreshUIStat(); } else if (!Valuables.Contains(ItemSell.text) && !Food.Contains(ItemSell.text) && !Medical.Contains(ItemSell.text) && !Weapon.Contains(ItemSell.text) && !Magazine.Contains(ItemSell.text) && !Ammo.Contains(ItemSell.text) && !Attachment.Contains(ItemSell.text) && !Grenade.Contains(ItemSell.text) && !Helmet.Contains(ItemSell.text)) { if (ItemSell.text == "F-1 Russia Assembled(Remastered)") { deposit += curprice; if (GO != null) { GO.Config.Deposit = deposit; GO.Config.currentEXP += (float)curprice * 0.01f; } StoreConfig(); Object.Destroy((Object)(object)((Component)curitemforsell).gameObject); curitemname = "No item yet."; ItemSell.text = curitemname.ToString(); curitemforsell = null; curprice = 0; prapor.text = "Here's your cash, good deal!"; Console.Write("Here's your cash, good deal!"); RefreshUIStat(); } else if (ItemSell.text != "F-1 Russia Assembled(Remastered)") { RefreshUIStat(); prapor.text = "I don't want garbage!"; SM.PlayCoreSound((FVRPooledAudioType)41, cantbuy, ((Component)this).gameObject.transform.position); Debug.Log((object)"I don't need your garbage!"); } } } if ((Object)(object)curitemforsell == (Object)null || curitemname == null) { RefreshUIStat(); prapor.text = "Am I blind or you just put nothing in there?"; SM.PlayCoreSound((FVRPooledAudioType)41, cantbuy, ((Component)this).gameObject.transform.position); Debug.Log((object)"Give me something!"); } readyforsale = false; } if (!readyforsale) { if ((Object)(object)curitemforsell == (Object)null) { RefreshUIStat(); prapor.text = "Am I blind or you just put nothing in there?"; SM.PlayCoreSound((FVRPooledAudioType)41, cantbuy, ((Component)this).gameObject.transform.position); Debug.Log((object)"Give me something!"); } else if ((Object)(object)curitemforsell != (Object)null) { RefreshUIStat(); prapor.text = "I told you I'm not interested in your shit!"; SM.PlayCoreSound((FVRPooledAudioType)41, cantbuy, ((Component)this).gameObject.transform.position); Debug.Log((object)"Nope."); } } RefreshUIStat(); } public void RefreshUIStat() { if (GO != null) { deposit = GO.Config.Deposit; } } public void StoreConfig() { if (GO != null) { GO.StoreConfig(); } } } public class MEATStoreGlobalObj { private static readonly MEATStoreGlobalObj Instance = new MEATStoreGlobalObj(); public MEATStoreSetting Config; public float playercurhealth = 5000f; public float playermaxhealth = 5000f; public FVRObject lefthandobj; public FVRObject righthandobj; private MEATStoreGlobalObj() { } public static MEATStoreSetting GetDefaultConfig() { MEATStoreSetting mEATStoreSetting = new MEATStoreSetting(); mEATStoreSetting.Deposit = 5000; mEATStoreSetting.Level = 1; mEATStoreSetting.currentEXP = 0f; return mEATStoreSetting; } public void StoreConfig() { string text = MEATStoreConfig.CheckEFConfigFolder("MeatStore"); string text2 = MEATStoreConfig.CheckEFConfigFile("MeatStore", "Config.xml"); MEATStoreConfig.Store(text + "Config.xml", Config); } public void ReadConfig() { string text = MEATStoreConfig.CheckEFConfigFolder("MeatStore"); string text2 = MEATStoreConfig.CheckEFConfigFile("MeatStore", "Config.xml"); Config = MEATStoreConfig.Read(text + "Config.xml"); } public static MEATStoreGlobalObj GetInstance() { return Instance; } } [Serializable] public class MEATStoreSetting { [XmlElement] public int Deposit = 5000; [XmlElement] public int Level = 1; [XmlElement] public float currentEXP = 0f; [XmlElement] public float currentHealth = 5000f; [XmlElement] public float maxHealth = 5000f; } } namespace JerryComponent { public class MoveItemSpawner : MonoBehaviour { public GameObject itemspawner; public GameObject parent; private void Start() { } private void FixedUpdate() { if ((Object)(object)itemspawner == (Object)null) { if ((Object)(object)Object.FindObjectOfType() != (Object)null) { itemspawner = ((Component)Object.FindObjectOfType()).gameObject; } } else if ((Object)(object)itemspawner != (Object)null && (Object)(object)itemspawner.transform.parent != (Object)(object)parent.transform) { itemspawner.transform.SetParent(parent.transform); } } } } namespace EFT_MeatStore { [BepInPlugin("JerryAr.EFT_MeatStorePlugin", "EFT_MeatStorePlugin", "1.0.0")] [BepInDependency("nrgill28.Sodalite", "1.3.2")] [BepInProcess("h3vr.exe")] public class ParcelEFT : BaseUnityPlugin { private void ReadConfig() { string text = MEATStoreConfig.CheckEFConfigFolder("MeatStore"); if (File.Exists(text + "Config.xml")) { MEATStoreGlobalObj.GetInstance().Config = MEATStoreConfig.Read(text + "Config.xml"); if (MEATStoreGlobalObj.GetInstance().Config == null) { MEATStoreGlobalObj.GetInstance().Config = MEATStoreGlobalObj.GetDefaultConfig(); } } else { MEATStoreGlobalObj.GetInstance().Config = MEATStoreGlobalObj.GetDefaultConfig(); } MEATStoreConfig.Store(text + "Config.xml", MEATStoreGlobalObj.GetInstance().Config); } private void Start() { SceneManager.activeSceneChanged += SceneChanged; } private void SceneChanged(Scene from, Scene to) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0006: Unknown result type (might be due to invalid IL or missing references) Scene activeScene = SceneManager.GetActiveScene(); if (((Scene)(ref activeScene)).name == "EFTHideOut_SafeHouse") { ReadConfig(); } } } [BepInPlugin("JerryAr.SosigKillStreak", "SosigKillStreak", "1.0.0")] [BepInDependency("nrgill28.Sodalite", "1.3.2")] [BepInProcess("h3vr.exe")] public class SosigKillStreak : BaseUnityPlugin { private MEATStoreGlobalObj GO; public float curEXP = 0f; public bool isKIA = false; public bool isInCombat = false; private void Start() { } private void OnSosigKilled(Sosig s) { if (isInCombat && GO != null) { if (s.GetIFF() == 2) { curEXP += 10f; } else if (s.GetIFF() == 3 || s.GetIFF() == 4) { curEXP += 20f; } } } private void Update() { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_006c: Unknown result type (might be due to invalid IL or missing references) //IL_0071: 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_004b: Expected O, but got Unknown Scene activeScene = SceneManager.GetActiveScene(); if (((Scene)(ref activeScene)).name == "FactoryExt") { if (GO == null) { GO = MEATStoreGlobalObj.GetInstance(); GM.CurrentSceneSettings.SosigKillEvent += new SosigKill(OnSosigKilled); } isInCombat = true; if (GM.IsDead()) { isKIA = true; } return; } Scene activeScene2 = SceneManager.GetActiveScene(); if (!(((Scene)(ref activeScene2)).name == "EFTHideOut_SafeHouse")) { return; } if (GO == null) { GO = MEATStoreGlobalObj.GetInstance(); } else if (GO != null) { if (GO.Config.currentEXP > 1000f) { float num = GO.Config.currentEXP / 1000f; GO.Config.Level += (int)num; GO.Config.currentEXP -= (int)num * 1000; GO.StoreConfig(); } if (GO.Config.currentEXP < 0f) { GO.Config.currentEXP = 0f; GO.StoreConfig(); } } if (!isInCombat) { return; } if (!isKIA) { if (GO != null) { GO.Config.currentEXP += curEXP; GO.StoreConfig(); } curEXP = 0f; } else if (isKIA) { float num2 = curEXP * 0.01f; if (GO != null) { GO.Config.currentEXP += num2; GO.StoreConfig(); } curEXP = 0f; isKIA = false; } isInCombat = false; } } public static class XMLBuilder { public static string GetUserProfilePath() { return Environment.ExpandEnvironmentVariables("%USERPROFILE%\\AppData\\LocalLow\\RUST LTD\\Hot Dogs Horseshoes and Hand Grenades"); } public static string CheckConfigFolder(string CategoryName) { string userProfilePath = GetUserProfilePath(); string text = userProfilePath + "\\" + CategoryName; if (!Directory.Exists(text)) { Directory.CreateDirectory(text); } return text; } public static void StoreXML(string path, T Target) { XmlSerializer xmlSerializer = new XmlSerializer(typeof(T)); FileStream fileStream = File.OpenWrite(path); fileStream.Seek(0L, SeekOrigin.Begin); fileStream.SetLength(0L); xmlSerializer.Serialize(fileStream, Target); fileStream.Flush(); fileStream.Close(); } public static T ReadXML(string path) where T : new() { FileStream fileStream = new FileStream(path, FileMode.Open); XmlSerializer xmlSerializer = new XmlSerializer(typeof(T)); T val = new T(); val = (T)xmlSerializer.Deserialize(fileStream); fileStream.Close(); return val; } } } namespace JerryComponent { public class RandomSpawn : MonoBehaviour { public bool spawnpicked = false; public bool exitpicked = false; public bool spawnremoved = false; public bool exitremoved = false; public Random Rand; public Random Randext1; public Random Randext2; public GameObject[] spawnpoints; public GameObject _Selected; public GameObject[] exitpoints1; public GameObject _Selectedexit1; public GameObject[] exitpoints2; public GameObject _Selectedexit2; public int _MaxNum; public int _Maxext1; public int _Maxext2; private void Start() { RandomPick(); spawnpicked = false; RandomExit(); exitpicked = false; } private void FixedUpdate() { if ((Object)(object)_Selected == (Object)null) { } if (GM.IsDead()) { if (!spawnremoved) { _Selected.SetActive(false); spawnremoved = true; } RandomPick(); } if (!GM.IsDead()) { spawnremoved = false; spawnpicked = false; } } private void RandomPick() { if (!spawnpicked) { int num = Random.Range(0, _MaxNum); _Selected = spawnpoints[num]; if ((Object)(object)_Selected != (Object)null) { _Selected.SetActive(true); } spawnpicked = true; } } private void RandomExit() { if (!exitpicked) { int num = Random.Range(0, _Maxext1); _Selectedexit1 = exitpoints1[num]; if ((Object)(object)_Selectedexit1 != (Object)null) { _Selectedexit1.SetActive(true); } int num2 = Random.Range(0, _Maxext2); _Selectedexit2 = exitpoints2[num2]; if ((Object)(object)_Selectedexit2 != (Object)null) { _Selectedexit2.SetActive(true); } exitpicked = true; } } } } public class AutoLoadAndSave : MonoBehaviour { private VaultFile FileToSpawnPMC = new VaultFile(); private VaultFile FileToSpawnL = new VaultFile(); private VaultFile FileToSpawnR = new VaultFile(); public MEATStoreGlobalObj MSGO; public bool saved = false; public float countdown = 2f; public float timer = 1f; public bool sceneSpawned = false; public bool loadouted = false; public string savedLoadoutName = "EFT_PMC_Standard_Edition_LoadOut"; public string leftHandObj = "EFT_PMC_LeftHand"; public string rightHandObj = "EFT_PMC_RightHand"; public string saveSceneName = "EFT_PMC_Standard_Edition"; public string PluginDictionaryString = "JerryAr.EFT_PMC_ModPack"; private void Start() { if (MSGO == null) { MSGO = MEATStoreGlobalObj.GetInstance(); } } public static bool TryLoadCustomLoadOut(VaultFile vf) { //IL_000f: Unknown result type (might be due to invalid IL or missing references) string text = default(string); return VaultSystem.SpawnObjects((VaultFileType)2, vf, ref text, ((Component)GM.CurrentPlayerBody).transform, Vector3.zero); } private void EnterWithLoadOut() { if (countdown >= 0f) { countdown -= Time.deltaTime; } if (loadouted || !(countdown < 0f)) { return; } VaultFile[] allItems = UgcManager.GetAllItems(); foreach (VaultFile val in allItems) { if (val.FileName == savedLoadoutName && val.Objects.Count > 0) { bool flag = TryLoadCustomLoadOut(val); Debug.Log((object)"loadout"); } } loadouted = true; } private void FixedUpdate() { //IL_0027: 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_01b3: Unknown result type (might be due to invalid IL or missing references) //IL_01c2: 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) if ((Object)(object)GM.CurrentPlayerBody != (Object)null) { ((Component)this).gameObject.transform.position = GM.CurrentPlayerBody.Head.position; ((Component)this).gameObject.transform.eulerAngles = GM.CurrentPlayerBody.Head.eulerAngles; } timer -= Time.deltaTime; if (!(timer <= 0f)) { return; } timer = 0f; if (!sceneSpawned) { VaultFile[] allItems = UgcManager.GetAllItems(); string text = default(string); foreach (VaultFile val in allItems) { if (val.FileName == saveSceneName) { VaultSystem.SpawnObjects((VaultFileType)3, val, ref text, (Transform)null, Vector3.zero); } } sceneSpawned = true; if (MSGO == null) { MSGO = MEATStoreGlobalObj.GetInstance(); } if (MSGO != null && (Object)(object)GM.CurrentPlayerBody != (Object)null) { MSGO.ReadConfig(); if (MSGO.Config.currentHealth <= 0f) { GM.CurrentPlayerBody.Health = 100f; GM.CurrentPlayerBody.m_startingHealth = 100f; } else if (MSGO.Config.currentHealth > 0f) { GM.CurrentPlayerBody.Health = MSGO.Config.currentHealth; GM.CurrentPlayerBody.m_startingHealth = MSGO.Config.maxHealth; } } } if (Vector3.Distance(((Component)this).transform.position, GM.CurrentMovementManager.Head.position) < 0.25f) { EnterWithLoadOut(); } } } public class AutoLoadSceneOnStart : MonoBehaviour { private VaultFile FileToSpawn = new VaultFile(); public bool saved = false; public string FileName = "EFT_PMC_Standard_Edition"; public string PluginDictionaryString = "JerryAr.EFT_PMC_ModPack"; public float countdown = 2f; public float timer = 1f; public bool sceneSpawned = false; public bool loadouted = false; public bool loadonlyonce = false; public string newlySavedFileName; public bool isPMCStandard; private void Start() { isPMCStandard = Chainloader.PluginInfos.ContainsKey("JerryAr.EFT_PMC_ModPack"); } public void LoadSavedScene() { //IL_007c: Unknown result type (might be due to invalid IL or missing references) timer -= Time.deltaTime; if (!(timer <= 0f)) { return; } timer = 0f; if (sceneSpawned) { return; } VaultFile[] allItems = UgcManager.GetAllItems(); string text = default(string); foreach (VaultFile val in allItems) { if (val.FileName == FileName && val.Objects.Count > 0) { VaultSystem.SpawnObjects((VaultFileType)3, val, ref text, (Transform)null, Vector3.zero); Debug.Log((object)"SceneLoaded"); } } sceneSpawned = true; } private void Update() { if (!isPMCStandard || sceneSpawned) { return; } VaultFile[] allItems = UgcManager.GetAllItems(); foreach (VaultFile val in allItems) { if (val.FileName == FileName) { LoadSavedScene(); } } } } namespace calafex.FactoryDebug { public class ControllableCamera : MonoBehaviour { private int moving = 0; private void Update() { //IL_006d: Unknown result type (might be due to invalid IL or missing references) //IL_0081: Unknown result type (might be due to invalid IL or missing references) //IL_0086: Unknown result type (might be due to invalid IL or missing references) //IL_009c: Unknown result type (might be due to invalid IL or missing references) //IL_00b0: Unknown result type (might be due to invalid IL or missing references) //IL_00b5: Unknown result type (might be due to invalid IL or missing references) if (Input.GetKeyDown((KeyCode)119)) { moving = 1; } if (Input.GetKeyDown((KeyCode)115)) { moving = 2; } if (Input.GetKeyUp((KeyCode)119) || Input.GetKeyUp((KeyCode)115)) { moving = 0; } switch (moving) { case 1: { Transform transform2 = ((Component)this).transform; transform2.localPosition += new Vector3(0f, 0f, 0.01f); break; } case 2: { Transform transform = ((Component)this).transform; transform.localPosition -= new Vector3(0f, 0f, 0.01f); break; } } } } } namespace calafex.Factory.Culling { public class BehaviourCullingManager : MonoBehaviour { private bool _initialized = false; public Camera Camera; [NonSerialized] [HideInInspector] public CullingGroup _cullingGroup; [NonSerialized] [HideInInspector] public BoundingSphere[] _boundingSpheres = (BoundingSphere[])(object)new BoundingSphere[64]; public void Update() { if (!_initialized) { if ((Object)(object)Camera == (Object)null) { Camera = Camera.main; } if ((Object)(object)Camera != (Object)null) { Init(Camera); _initialized = true; Debug.Log((object)"Culling system init success."); } } } private void Init(Camera camera) { //IL_0050: 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_0067: Unknown result type (might be due to invalid IL or missing references) //IL_0071: Expected O, but got Unknown int count = Tracker.Count; while (_boundingSpheres.Length < count) { Array.Resize(ref _boundingSpheres, _boundingSpheres.Length * 2); } for (int i = 0; i < count; i++) { ref BoundingSphere reference = ref _boundingSpheres[i]; reference = Tracker.All[i].BoundingSphere; } _cullingGroup = new CullingGroup(); _cullingGroup.targetCamera = camera; _cullingGroup.SetBoundingSpheres(_boundingSpheres); _cullingGroup.SetBoundingSphereCount(count); } public void LateUpdate() { //IL_0054: 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) if (!_initialized) { return; } int count = Tracker.Count; for (int i = 0; i < count; i++) { CullableTrack cullableTrack = Tracker.All[i]; bool flag = true; if (cullableTrack.CullMode == CullMode.Distance || cullableTrack.CullMode == CullMode.DistanceAndVisibility) { float num = Vector3.Distance(cullableTrack.BoundingSphere.position, ((Component)Camera).transform.position); flag = num <= cullableTrack.CullDistance; } bool flag2 = false; if (cullableTrack.CullMode == CullMode.Distance) { flag2 = true; } else if (flag) { flag2 = _cullingGroup.IsVisible(i); } ToggleBehaviour(i, flag2 && flag); } } private void ToggleBehaviour(int index, bool isVisible) { if (isVisible != Tracker.All[index].Enabled) { Tracker.All[index].Enabled = isVisible; } } public void OnDestroy() { if (_cullingGroup != null) { _cullingGroup.Dispose(); } } } public enum CullMode { Distance = 1, Visibility, DistanceAndVisibility } public class CullableAudioSource : CullableBehaviour { public override bool Enabled { get { AudioSource component = ((Component)this).GetComponent(); return component.isPlaying; } set { AudioSource component = ((Component)this).GetComponent(); ((Behaviour)component).enabled = value; } } public CullableAudioSource() { CullMode = CullMode.Distance; CullDistance = 10f; } protected override BoundingSphere GetBoundingSphere() { //IL_000e: 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_0025: 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) AudioSource component = ((Component)this).GetComponent(); return new BoundingSphere(((Component)this).transform.position, component.minDistance * RadiusScale); } } public abstract class CullableBehaviour : MonoBehaviour { [NonSerialized] [HideInInspector] public CullableTrack _track; public float RadiusScale = 1f; public CullMode CullMode = CullMode.Visibility; [Tooltip("Maximum distance to the behaviour at which it is culled. Only effective if mode set to Distance or Distance and Visibility.")] public float CullDistance = 0f; public bool DrawBoundingSphereGizmo = false; public abstract bool Enabled { get; set; } public void OnEnable() { //IL_0022: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Unknown result type (might be due to invalid IL or missing references) _track = new CullableTrack { Behaviour = this, CullDistance = CullDistance, BoundingSphere = GetBoundingSphere(), Enabled = false, CullMode = CullMode }; Tracker.Register(_track); } public void OnDisable() { Tracker.Deregister(_track); } private void OnDrawGizmos() { //IL_0022: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_002a: Unknown result type (might be due to invalid IL or missing references) if (DrawBoundingSphereGizmo && ((Component)this).gameObject.activeInHierarchy) { BoundingSphere boundingSphere = GetBoundingSphere(); Gizmos.DrawWireSphere(boundingSphere.position, boundingSphere.radius); } } protected abstract BoundingSphere GetBoundingSphere(); } public class CullableParticleSystem : CullableBehaviour { public override bool Enabled { get { ParticleSystem component = ((Component)this).GetComponent(); return component.isEmitting; } set { ParticleSystem component = ((Component)this).GetComponent(); if (value) { component.Play(); } else { component.Stop(); } } } public CullableParticleSystem() { CullMode = CullMode.DistanceAndVisibility; CullDistance = 10f; } protected override BoundingSphere GetBoundingSphere() { //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_000e: 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: Invalid comparison between Unknown and I4 //IL_001e: 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) //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_002c: Unknown result type (might be due to invalid IL or missing references) //IL_004f: Unknown result type (might be due to invalid IL or missing references) //IL_005c: 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) //IL_0068: Unknown result type (might be due to invalid IL or missing references) ParticleSystem component = ((Component)this).GetComponent(); ShapeModule shape = component.shape; float num; if ((int)((ShapeModule)(ref shape)).shapeType == 5) { ShapeModule shape2 = component.shape; Vector3 box = ((ShapeModule)(ref shape2)).box; num = ((Vector3)(ref box)).magnitude * 0.5f; } else { num = 1f; } return new BoundingSphere(((Component)component).transform.position, num * RadiusScale); } } public class CullableReflectionProbe : CullableBehaviour { public override bool Enabled { get { ReflectionProbe component = ((Component)this).GetComponent(); return ((Behaviour)component).enabled; } set { ReflectionProbe component = ((Component)this).GetComponent(); ((Behaviour)component).enabled = value; } } protected override BoundingSphere GetBoundingSphere() { //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_000e: 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: Unknown result type (might be due to invalid IL or missing references) //IL_001c: 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_0024: Unknown result type (might be due to invalid IL or missing references) //IL_0033: 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) //IL_003f: Unknown result type (might be due to invalid IL or missing references) ReflectionProbe component = ((Component)this).GetComponent(); Bounds bounds = component.bounds; Vector3 center = ((Bounds)(ref bounds)).center; Bounds bounds2 = component.bounds; Vector3 extents = ((Bounds)(ref bounds2)).extents; return new BoundingSphere(center, ((Vector3)(ref extents)).magnitude * RadiusScale); } } public struct CullableTrack : ITracked { public CullableBehaviour Behaviour; private bool _enabled; public BoundingSphere BoundingSphere; public CullMode CullMode; public float CullDistance; public bool Enabled { get { return _enabled; } set { _enabled = value; Behaviour.Enabled = value; } } public int Index { get; set; } } } namespace calafex.Factory { public class DamageArea : MonoBehaviour { private Dictionary _trackedDamageables = new Dictionary(); public int Damage = 25; public DamageAreaType DamageAreaType; public bool IsContinuous = false; public float DamageFrequency = 0.5f; private float _timeUntilNextHit = 0f; public bool PlaySoundOnHit = false; public AudioSource AudioSource; public AudioClip[] AudioClips; private float _timeAfterLastSoundPlay = 0f; private void Start() { _timeUntilNextHit = DamageFrequency; } private void OnTriggerEnter(Collider col) { Component component = ((Component)col).gameObject.GetComponent(typeof(IFVRDamageable)); if (!Object.op_Implicit((Object)(object)component)) { return; } IFVRDamageable val = (IFVRDamageable)(object)((component is IFVRDamageable) ? component : null); if (!IsAffectable(col, val)) { return; } ApplyDamage(col, val); if (IsContinuous && !_trackedDamageables.ContainsKey(col)) { _trackedDamageables.Add(col, val); } if (((Component)col).gameObject.layer == 15) { if (GM.CurrentPlayerBody.GetPlayerHealthRaw() <= Damage) { GM.CurrentPlayerBody.KillPlayer(false); } else if (GM.CurrentPlayerBody.GetPlayerHealthRaw() > Damage) { FVRPlayerBody currentPlayerBody = GM.CurrentPlayerBody; currentPlayerBody.Health -= (float)Damage; GM.CurrentPlayerBody.HitEffect(); } } } private void OnTriggerExit(Collider col) { if (IsContinuous && _trackedDamageables.ContainsKey(col)) { _trackedDamageables.Remove(col); } } private void Update() { if (_timeAfterLastSoundPlay < 1f) { _timeAfterLastSoundPlay += Time.deltaTime; } if (!IsContinuous) { return; } _timeUntilNextHit -= Time.deltaTime; if (_timeUntilNextHit > 0f) { return; } _trackedDamageables = _trackedDamageables.Where((KeyValuePair kvp) => (Object)(object)kvp.Key != (Object)null).ToDictionary((KeyValuePair kvp) => kvp.Key, (KeyValuePair kvp) => kvp.Value); foreach (KeyValuePair trackedDamageable in _trackedDamageables) { ApplyDamage(trackedDamageable.Key, trackedDamageable.Value); } _timeUntilNextHit = DamageFrequency; } private bool IsAffectable(Collider col, IFVRDamageable damageable) { bool result = false; if (DamageAreaType == DamageAreaType.Fire) { if ((Object)(object)((Component)col).gameObject.GetComponent() != (Object)null) { result = true; } if (damageable is FVRMatchhead) { result = true; } if (damageable is HairsprayCan || damageable is HairsprayIgnitionTrigger) { result = true; } if (damageable is RotrwCharcoal) { result = true; } } if (DamageAreaType == DamageAreaType.Piercing) { if (damageable is UberShatterable) { result = true; } if (damageable is SodaCan) { result = true; } } if (damageable is FVRPlayerHitbox) { result = true; } if (damageable is SosigLink) { result = true; } if (damageable is MeatCrab) { result = true; } if (damageable is JerryCan) { result = true; } if (damageable is LightFluid) { result = true; } if (damageable is Molotov) { result = true; } return result; } private void ApplyDamage(Collider col, IFVRDamageable damageable) { //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_000d: Unknown result type (might be due to invalid IL or missing references) //IL_0012: 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) Vector3 hitPoint = col.ClosestPoint(((Component)this).transform.position); damageable.Damage(GetDamage(hitPoint)); if (DamageAreaType == DamageAreaType.Fire) { FVRIgnitable component = ((Component)col).gameObject.GetComponent(); if (Object.op_Implicit((Object)(object)component)) { FXM.Ignite(component, Random.Range(0.5f, 1.5f)); } } if (PlaySoundOnHit) { PlaySound(); } } private void PlaySound() { if (_timeAfterLastSoundPlay > 0.2f) { AudioSource.PlayOneShot(AudioClips[Random.Range(0, AudioClips.Length)]); _timeAfterLastSoundPlay = 0f; } } private Damage GetDamage(Vector3 hitPoint) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Expected O, but got Unknown //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_000f: Unknown result type (might be due to invalid IL or missing references) //IL_0014: 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_0025: 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_006e: Unknown result type (might be due to invalid IL or missing references) Damage val = new Damage(); val.point = hitPoint; val.hitNormal = Vector3.up; val.strikeDir = ((Component)this).transform.up; Damage val2 = val; switch (DamageAreaType) { case DamageAreaType.Fire: val2.Class = (DamageClass)0; val2.Dam_Thermal = Damage; val2.Dam_TotalEnergetic = Damage; break; case DamageAreaType.Piercing: val2.Class = (DamageClass)3; val2.Dam_Piercing = Damage; val2.Dam_TotalKinetic = Damage; break; } return val2; } } public enum DamageAreaType { Fire = 1, Piercing } } namespace JerryComponent { public class DisConGeo : MonoBehaviour { public bool disabled = false; private void Start() { } private void FixedUpdate() { if ((Object)(object)GM.CurrentMovementManager != (Object)null) { GM.CurrentMovementManager.Hands[0].Display_Controller.SetActive(false); GM.CurrentMovementManager.Hands[0].Display_InteractionSphere.SetActive(false); GM.CurrentMovementManager.Hands[0].Display_InteractionSphere_Palm.SetActive(false); GM.CurrentMovementManager.Hands[1].Display_Controller.SetActive(false); GM.CurrentMovementManager.Hands[1].Display_InteractionSphere.SetActive(false); GM.CurrentMovementManager.Hands[1].Display_InteractionSphere_Palm.SetActive(false); if (!disabled) { GM.CurrentMovementManager.Hands[0].Collider_Fingers.radius = GM.CurrentMovementManager.Hands[0].Collider_Fingers.radius * 2f; GM.CurrentMovementManager.Hands[0].Collider_Palm.radius = GM.CurrentMovementManager.Hands[0].Collider_Palm.radius * 2f; GM.CurrentMovementManager.Hands[1].Collider_Fingers.radius = GM.CurrentMovementManager.Hands[1].Collider_Fingers.radius * 2f; GM.CurrentMovementManager.Hands[1].Collider_Palm.radius = GM.CurrentMovementManager.Hands[1].Collider_Palm.radius * 2f; disabled = true; } } } private void OnDestroy() { GM.CurrentMovementManager.Hands[0].Display_Controller.SetActive(true); GM.CurrentMovementManager.Hands[0].Display_InteractionSphere.SetActive(true); GM.CurrentMovementManager.Hands[0].Display_InteractionSphere_Palm.SetActive(true); GM.CurrentMovementManager.Hands[1].Display_Controller.SetActive(true); GM.CurrentMovementManager.Hands[1].Display_InteractionSphere.SetActive(true); GM.CurrentMovementManager.Hands[1].Display_InteractionSphere_Palm.SetActive(true); if (disabled) { GM.CurrentMovementManager.Hands[0].Collider_Fingers.radius = GM.CurrentMovementManager.Hands[0].Collider_Fingers.radius * 0.5f; GM.CurrentMovementManager.Hands[0].Collider_Palm.radius = GM.CurrentMovementManager.Hands[0].Collider_Palm.radius * 0.5f; GM.CurrentMovementManager.Hands[1].Collider_Fingers.radius = GM.CurrentMovementManager.Hands[1].Collider_Fingers.radius * 0.5f; GM.CurrentMovementManager.Hands[1].Collider_Palm.radius = GM.CurrentMovementManager.Hands[1].Collider_Palm.radius * 0.5f; disabled = false; } } } } namespace JerryHideOut { public class EFTOSTJUKEBOX : MonoBehaviour { public GameObject JukeBoxOrigin; public AudioSource OST; private void Update() { //IL_002b: 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_0075: 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_00bf: Unknown result type (might be due to invalid IL or missing references) //IL_00cf: 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) //IL_0107: Unknown result type (might be due to invalid IL or missing references) //IL_013b: Unknown result type (might be due to invalid IL or missing references) //IL_014b: Unknown result type (might be due to invalid IL or missing references) if ((Object)(object)((Component)GM.CurrentPlayerBody).gameObject != (Object)null) { if (Vector3.Distance(((Component)GM.CurrentPlayerBody.Head).gameObject.transform.position, JukeBoxOrigin.transform.position) >= 12.5f) { OST.volume = 0.1f; } if (Vector3.Distance(((Component)GM.CurrentPlayerBody.Head).gameObject.transform.position, JukeBoxOrigin.transform.position) <= 7.5f) { OST.volume = 0f; } if (Vector3.Distance(((Component)GM.CurrentPlayerBody.Head).gameObject.transform.position, JukeBoxOrigin.transform.position) > 7.5f && Vector3.Distance(((Component)GM.CurrentPlayerBody.Head).gameObject.transform.position, JukeBoxOrigin.transform.position) < 12.5f) { OST.volume = 0.02f * (Vector3.Distance(((Component)GM.CurrentPlayerBody.Head).gameObject.transform.position, JukeBoxOrigin.transform.position) - 7.5f); } } else if ((Object)(object)((Component)GM.CurrentPlayerBody).gameObject == (Object)null) { OST.volume = 0f; } } } public class HealthRegain : MonoBehaviour { private void Update() { if ((Object)(object)GM.CurrentPlayerBody != (Object)null) { if (GM.CurrentPlayerBody.GetMaxHealthPlayerRaw() < 5000) { FVRPlayerBody currentPlayerBody = GM.CurrentPlayerBody; currentPlayerBody.m_startingHealth += Time.deltaTime * 0.25f; } else if (GM.CurrentPlayerBody.GetMaxHealthPlayerRaw() >= 5000) { GM.CurrentPlayerBody.m_startingHealth = 5000f; } if (GM.CurrentPlayerBody.GetPlayerHealthRaw() < GM.CurrentPlayerBody.GetMaxHealthPlayerRaw()) { FVRPlayerBody currentPlayerBody2 = GM.CurrentPlayerBody; currentPlayerBody2.Health += Time.deltaTime * 0.25f; } else if (GM.CurrentPlayerBody.GetPlayerHealthRaw() >= GM.CurrentPlayerBody.GetMaxHealthPlayerRaw()) { GM.CurrentPlayerBody.Health = GM.CurrentPlayerBody.m_startingHealth; } } } } } namespace calafex.FactoryDebug { public class InteractableToggle : FVRInteractiveObject { public Material Mat_Unpushed; public Material Mat_Pushed; [NonSerialized] [HideInInspector] public Renderer m_rend; [NonSerialized] [HideInInspector] public bool _hasBeenPressed; public GameObject Target; public string Method; private float _deltaTime = 0f; public override void Awake() { ((FVRInteractiveObject)this).Awake(); m_rend = ((Component)this).GetComponent(); } public override void Poke(FVRViveHand hand) { ((FVRInteractiveObject)this).Poke(hand); if (!_hasBeenPressed) { _hasBeenPressed = true; Press(); } } public void Press() { m_rend.material = Mat_Pushed; if ((Object)(object)Target != (Object)null) { Target.SendMessage(Method); } } private void Update() { if (_hasBeenPressed) { _deltaTime += Time.deltaTime; if (_deltaTime > 1f) { Reset(); } } } public void Reset() { _deltaTime = 0f; m_rend.material = Mat_Unpushed; _hasBeenPressed = false; } } } namespace JerryHideOut { [BepInPlugin("JerryHO.Plugin", "JerryHO.Plugin", "1.0.0")] [BepInDependency("nrgill28.Sodalite", "1.4.1")] [BepInProcess("h3vr.exe")] public class KidnapPlayerToHideout : BaseUnityPlugin { public bool KidnapSucceed = false; public bool loaded = false; public float cd = 5f; public float lasttime; public bool isloadingring = false; public MainMenuScreen screen; [NonSerialized] public List scenenames = new List(); [NonSerialized] public MainMenuScenePointable[] scenes; public bool van = false; private void Awake() { //IL_0015: Unknown result type (might be due to invalid IL or missing references) //IL_002c: Unknown result type (might be due to invalid IL or missing references) //IL_0036: Expected O, but got Unknown SteamVR_Fade.Start(new Color(0f, 0f, 0f, 1f), 0f, true); CustomSosigLoaderPlugin.SosigsLoadedCompleted += new SosigsLoadedComplete(Kidnap); } public void Kidnap() { van = true; } public void Start() { //IL_0015: Unknown result type (might be due to invalid IL or missing references) SteamVR_Fade.Start(new Color(0f, 0f, 0f, 1f), 0f, true); } public void Update() { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_0272: Unknown result type (might be due to invalid IL or missing references) //IL_0277: 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) Scene activeScene = SceneManager.GetActiveScene(); if (((Scene)(ref activeScene)).name == "MainMenu3" && !KidnapSucceed && van) { SteamVR_Fade.Start(new Color(0f, 0f, 0f, 1f), 0f, true); if (cd > 0f) { cd -= Time.deltaTime; } if (cd <= 0f) { scenes = Object.FindObjectsOfType(); GameObject val = GameObject.Find("LevelLoadScreen"); screen = val.GetComponent(); for (int i = 0; i < scenes.Length; i++) { if (scenes[i].Def.SceneName != null) { if (!scenenames.Contains(scenes[i].Def.SceneName)) { scenenames.Add(scenes[i].Def.SceneName); } } else if (scenes[i].Def.SceneName == null && scenes[i].Def.Name != null && ((!scenenames.Contains(scenes[i].Def.Name) && scenes[i].Def.Name != "EFHideOutSafeHouse") || (!scenenames.Contains(scenes[i].Def.Name) && scenes[i].Def.Name != "Assets/EFTHideOut_SafeHouse.unity"))) { scenenames.Add(scenes[i].Def.Name); } if (scenes[i].Def.Name == "EFHideOutSafeHouse" || scenes[i].Def.Name == "Assets/EFTHideOut_SafeHouse.unity") { screen.m_def = scenes[i].Def; } } screen.LoadScene(); KidnapSucceed = true; } } Scene activeScene2 = SceneManager.GetActiveScene(); if (((Scene)(ref activeScene2)).name != "MainMenu3" && KidnapSucceed) { KidnapSucceed = false; cd = 5f; } } } } namespace calafex.Factory { public class ObjectWithCollisionSound : MonoBehaviour { public AudioSource AudioSource; public AudioClip[] AudioClips; private float _timeAfterLastSoundPlay = 0f; private void OnCollisionEnter(Collision col) { //IL_001d: Unknown result type (might be due to invalid IL or missing references) //IL_0022: Unknown result type (might be due to invalid IL or missing references) if (!((Object)(object)col.gameObject.GetComponent() != (Object)null)) { Vector3 relativeVelocity = col.relativeVelocity; float num = ((Vector3)(ref relativeVelocity)).magnitude * col.rigidbody.mass; float num2 = num / 10f; if (num2 > 0.2f) { PlaySound(num2); } } } private void PlaySound(float volumeCoef) { if (_timeAfterLastSoundPlay > 0.2f) { AudioSource.PlayOneShot(AudioClips[Random.Range(0, AudioClips.Length)], (!(volumeCoef > 1f)) ? volumeCoef : 1f); _timeAfterLastSoundPlay = 0f; } } private void Update() { if (_timeAfterLastSoundPlay < 1f) { _timeAfterLastSoundPlay += Time.deltaTime; } } } } namespace JerryComponent { public class PutOnBody : MonoBehaviour { public bool isBEARInstalled; public GameObject body; public bool spawned = false; public FVRObject bodyitem; private void Start() { isBEARInstalled = Chainloader.PluginInfos.ContainsKey("JerryAr.EFT_BEAR_BODY"); } private void FixedUpdate() { //IL_0050: 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) if (!isBEARInstalled || !((Object)(object)GM.CurrentPlayerBody != (Object)null)) { return; } if ((Object)(object)body == (Object)null) { body = Object.Instantiate(((AnvilAsset)bodyitem).GetGameObject(), ((Component)GM.CurrentPlayerBody.Head).gameObject.transform.position, ((Component)GM.CurrentPlayerBody.Head).gameObject.transform.rotation); } if (!((Object)(object)body != (Object)null)) { return; } GM.CurrentSceneSettings.AreQuickbeltSlotsEnabled = false; FVRQuickBeltSlot[] componentsInChildren = ((Component)GM.CurrentPlayerBody.Torso).GetComponentsInChildren(); if (componentsInChildren.Length >= 1) { for (int num = componentsInChildren.Length - 1; num >= 0; num--) { Object.Destroy((Object)(object)componentsInChildren[num]); } } ((Component)GM.CurrentPlayerBody.Torso).gameObject.SetActive(false); } } public class RandomLoot : MonoBehaviour { public bool isEFTFrameInstalled; public bool isHelmetInstalled; public bool big = false; public float countdown = 2f; public int type; public int amont; public Transform point; public GameObject rot; public float timer = 2f; public GameObject audiolooting; public bool isalreadylooted = false; public bool isinrange = false; public bool hivaluable = false; private void Start() { isEFTFrameInstalled = Chainloader.PluginInfos.ContainsKey("JerryAr.EFT_Frame"); isHelmetInstalled = Chainloader.PluginInfos.ContainsKey("Andrew_FTW-FTW_Arms_Modular_Helmets"); if (!big) { type = Random.Range(1, 5); } else if (big) { if (hivaluable) { type = Random.Range(1, 9); } else if (!hivaluable) { type = Random.Range(1, 8); } } if (type == 1) { amont = Random.Range(1, 5); } if (type == 2) { amont = Random.Range(1, 5); } if (type == 3) { amont = Random.Range(1, 3); } if (type == 4) { amont = Random.Range(1, 3); } if (type == 5) { amont = Random.Range(1, 5); } if (type == 6) { amont = Random.Range(1, 2); } if (type == 7) { amont = Random.Range(1, 2); } if (type == 8) { amont = 1; } if (type == 9) { amont = 0; } } private void FixedUpdate() { //IL_0038: 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_006b: 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) //IL_00ac: Unknown result type (might be due to invalid IL or missing references) //IL_00bc: 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_00ef: Unknown result type (might be due to invalid IL or missing references) //IL_015d: Unknown result type (might be due to invalid IL or missing references) //IL_0162: Unknown result type (might be due to invalid IL or missing references) //IL_129e: Unknown result type (might be due to invalid IL or missing references) //IL_12a3: Unknown result type (might be due to invalid IL or missing references) //IL_031b: Unknown result type (might be due to invalid IL or missing references) //IL_0320: Unknown result type (might be due to invalid IL or missing references) //IL_0468: Unknown result type (might be due to invalid IL or missing references) //IL_046d: Unknown result type (might be due to invalid IL or missing references) //IL_02fb: Unknown result type (might be due to invalid IL or missing references) //IL_0300: Unknown result type (might be due to invalid IL or missing references) //IL_02bf: Unknown result type (might be due to invalid IL or missing references) //IL_02db: Unknown result type (might be due to invalid IL or missing references) //IL_07e6: Unknown result type (might be due to invalid IL or missing references) //IL_07eb: Unknown result type (might be due to invalid IL or missing references) //IL_0448: Unknown result type (might be due to invalid IL or missing references) //IL_044d: Unknown result type (might be due to invalid IL or missing references) //IL_040c: Unknown result type (might be due to invalid IL or missing references) //IL_0428: 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_07c6: Unknown result type (might be due to invalid IL or missing references) //IL_07cb: Unknown result type (might be due to invalid IL or missing references) //IL_078a: Unknown result type (might be due to invalid IL or missing references) //IL_07a6: Unknown result type (might be due to invalid IL or missing references) //IL_0dca: Unknown result type (might be due to invalid IL or missing references) //IL_0dcf: Unknown result type (might be due to invalid IL or missing references) //IL_0aa4: Unknown result type (might be due to invalid IL or missing references) //IL_0aa9: Unknown result type (might be due to invalid IL or missing references) //IL_0a68: Unknown result type (might be due to invalid IL or missing references) //IL_0a84: Unknown result type (might be due to invalid IL or missing references) //IL_0f05: Unknown result type (might be due to invalid IL or missing references) //IL_0f0a: Unknown result type (might be due to invalid IL or missing references) //IL_0daa: Unknown result type (might be due to invalid IL or missing references) //IL_0daf: Unknown result type (might be due to invalid IL or missing references) //IL_0d6e: Unknown result type (might be due to invalid IL or missing references) //IL_0d8a: Unknown result type (might be due to invalid IL or missing references) //IL_1071: Unknown result type (might be due to invalid IL or missing references) //IL_1076: 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_0eea: 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_0ec5: Unknown result type (might be due to invalid IL or missing references) //IL_1223: Unknown result type (might be due to invalid IL or missing references) //IL_1228: Unknown result type (might be due to invalid IL or missing references) //IL_1051: Unknown result type (might be due to invalid IL or missing references) //IL_1056: Unknown result type (might be due to invalid IL or missing references) //IL_1015: Unknown result type (might be due to invalid IL or missing references) //IL_1031: Unknown result type (might be due to invalid IL or missing references) //IL_1203: Unknown result type (might be due to invalid IL or missing references) //IL_1208: Unknown result type (might be due to invalid IL or missing references) //IL_11c7: Unknown result type (might be due to invalid IL or missing references) //IL_11e3: Unknown result type (might be due to invalid IL or missing references) if (!isHelmetInstalled || !isEFTFrameInstalled) { return; } if ((Object)(object)GM.CurrentPlayerBody != (Object)null) { if (Vector3.Distance(((Component)GM.CurrentPlayerBody.LeftHand).transform.position, ((Component)this).gameObject.transform.position) <= 1f || Vector3.Distance(((Component)GM.CurrentPlayerBody.RightHand).transform.position, ((Component)this).gameObject.transform.position) <= 1f) { isinrange = true; } else if (Vector3.Distance(((Component)GM.CurrentPlayerBody.LeftHand).transform.position, ((Component)this).gameObject.transform.position) > 1f && Vector3.Distance(((Component)GM.CurrentPlayerBody.RightHand).transform.position, ((Component)this).gameObject.transform.position) > 1f) { isinrange = false; } if (countdown > 0f) { countdown -= Time.deltaTime; } else if (countdown <= 0f) { countdown = 0f; } if (rot.transform.localEulerAngles.x >= 45f) { if (countdown > 0f) { isalreadylooted = true; } if (isalreadylooted) { return; } if (!isinrange) { audiolooting.SetActive(false); timer = 2f; } else { if (!isinrange) { return; } if (amont > 0) { audiolooting.SetActive(true); timer -= Time.deltaTime; if (!(timer < 0f)) { return; } if (type == 1) { string[] array = new string[7] { "EFT BeefCan", "EFT MRE", "EFT Kolbasa", "EFT WatterBottle", "EFT JuiceBox Green", "EFT JuiceBox Red", "EFT JuiceBox Yellow" }; if (IM.OD.ContainsKey(array[Random.Range(0, 7)])) { AnvilCallback gameObjectAsync = ((AnvilAsset)IM.OD[array[Random.Range(0, 7)]]).GetGameObjectAsync(); if (Object.op_Implicit((Object)(object)gameObjectAsync.Result)) { GameObject val = Object.Instantiate(gameObjectAsync.Result); val.transform.position = ((Component)point).transform.position; val.transform.eulerAngles = ((Component)point).transform.eulerAngles; Console.Write("loot:Initialed new loot object"); } else { Scene activeScene = SceneManager.GetActiveScene(); Console.Write("loot:Can't find loot object,please wait for the assets load or report a bug,current scene name : {0}", ((Scene)(ref activeScene)).name); } } else { Scene activeScene2 = SceneManager.GetActiveScene(); Console.Write("loot:Can't find loot object ID,please wait for the assets load or report a bug,current scene name : {0}", ((Scene)(ref activeScene2)).name); } amont--; timer = 2f; } if (type == 2) { string[] array2 = new string[7] { "Med_Analgin", "Med_Bandage", "Med_CAT", "Med_CMSK", "Med_GoldenStar", "Med_Propital", "AI2 Medkit" }; if (IM.OD.ContainsKey(array2[Random.Range(0, 7)])) { AnvilCallback gameObjectAsync2 = ((AnvilAsset)IM.OD[array2[Random.Range(0, 7)]]).GetGameObjectAsync(); if (Object.op_Implicit((Object)(object)gameObjectAsync2.Result)) { GameObject val2 = Object.Instantiate(gameObjectAsync2.Result); val2.transform.position = ((Component)point).transform.position; val2.transform.eulerAngles = ((Component)point).transform.eulerAngles; Console.Write("loot:Initialed new loot object"); } else { Scene activeScene3 = SceneManager.GetActiveScene(); Console.Write("loot:Can't find loot object,please wait for the assets load or report a bug,current scene name : {0}", ((Scene)(ref activeScene3)).name); } } else { Scene activeScene4 = SceneManager.GetActiveScene(); Console.Write("loot:Can't find loot object ID,please wait for the assets load or report a bug,current scene name : {0}", ((Scene)(ref activeScene4)).name); } amont--; timer = 2f; } if (type == 6) { string[] array3 = new string[63] { "MagazineAK12", "AKS74U", "AKM", "MagazineStanagUSGI30rnd", "AKS74UTactical", "RailAdapterRussianToPicatinny", "MagazineStanagUSGI10rnd", "MagazineAKMDrum", "MagazineDragonuv", "MagazineAKMTactical", "MagazineStanagUSGI25rnd", "AKForeShark", "MosinM1891", "H416", "762x54mmRStripperClip", "MagazineASVal20Rnd", "MagazineAKMTactical20rnd", "ASVAL", "MagazineAKS74U2", "Dragonuv", "MagazineAKM", "MagazineStanagUSGI5rnd", "MagazineStanagSM60rnd", "AK74N", "AKForeRomanian", "MagazineAKMTactical10rnd", "MagazineRPK", "Mosin91_30", "MagazineVSSVintorez10rnd", "SV98", "RPK", "MagazineAK74_20rnd", "MagazineSV98", "MagazineStanagPDDrum60rnd", "ScopeMosinPU", "MosinM38", "MagazineStanagUSGI30rndCustom", "FaTactical", "MagazineAK74N", "MagazineAKMHeirloom", "SR3M", "MagazineAK74Drum", "MagazineStanagUSGI20rnd", "AKMTactical", "Fal", "MagazineAKS74U", "MagazineAK74_10rnd", "Magazine_Stanag_PM_30rnd", "FalPara", "VSSVintorez", "MagazineFal20rnd", "M16", "M4A1Block2CQBR", "Mk18Mod0", "IZh18_12g", "KS23", "I37Classic", "M2ThreeGun", "Saiga12k", "MagazineSaiga12k20rnd", "MagazineSaiga12k12rnd", "Toz106", "MagazineToz106" }; if (IM.OD.ContainsKey(array3[Random.Range(0, 63)])) { AnvilCallback gameObjectAsync3 = ((AnvilAsset)IM.OD[array3[Random.Range(0, 63)]]).GetGameObjectAsync(); if (Object.op_Implicit((Object)(object)gameObjectAsync3.Result)) { GameObject val3 = Object.Instantiate(gameObjectAsync3.Result); val3.transform.position = ((Component)point).transform.position; val3.transform.eulerAngles = ((Component)point).transform.eulerAngles; Console.Write("loot:Initialed new loot object"); } else { Scene activeScene5 = SceneManager.GetActiveScene(); Console.Write("loot:Can't find loot object,please wait for the assets load or report a bug,current scene name : {0}", ((Scene)(ref activeScene5)).name); } } else { Scene activeScene6 = SceneManager.GetActiveScene(); Console.Write("loot:Can't find loot object ID,please wait for the assets load or report a bug,current scene name : {0}", ((Scene)(ref activeScene6)).name); } amont--; timer = 2f; } if (type == 7) { string[] array4 = new string[47] { "FTW.TankHelmet.helmet", "FTW.EXFILShieldB.helmet", "FTW.FASTAirsoft.helmetTan", "FTW.FastShield.attachment", "FTW.FastPic.attachment", "FTW.HeavyTrooper.attachment", "FTW.RysT.helmet", "FTW.RysTMask.helmet", "FTW.helmet.LSHZMask", "FTW.FastEars.attachment", "FTW.TC800.helmet", "FTW.Helmet.Jason", "ftw.altynmask.helmet", "FTW.EXFILShieldT.helmet", "FTW.SLAPPPlate.attachement", "FTW.FastVisor.attachment", "FTW.HeavyTrooper.attachmentB", "FTW.Caiman.helmet", "FTW.FAST.helmet", "FTW.EXFILt.helmet", "FTW.ZshShield.helmet", "FTW.HeavyTrooper.attachmentWolfe", "ftw.Airframe.helmet", "FTW.Kiver.helmet", "FTW.HeavyTrooper.attachmentT", "ftw.Bastion.helmet", "ftw.Bastionshield.helmet", "FTW.helmet.LSHZAventail", "FTW.FastEars.attachmentTan", "ftw.altyn.helmet", "FTW.EXFILEars.helmetB", "FTW.CaimanShield.helmet", "FTW.KiverShield.helmet", "FTW.FASTTan.helmet", "FTW.UNHelmet.helmet", "FTW.EXFILt.helmetTan", "FTW.FastMandible.attachment", "FTW.ZSH.helmet", "FTW.CaimanMandible.helmet", "FTW.CaimanFixedVisor.helmet", "FTW.Ushanka.helmet", "FTW.Helmet.Ronin", "FTW.EXFILEars.helmet", "ftw.Airframe.helmetEars", "FTW.HeavyTrooper.attachmentBT", "ftw.Airframe.helmetChops", "FTW.helmet.LSHZ" }; if (IM.OD.ContainsKey(array4[Random.Range(0, 47)])) { AnvilCallback gameObjectAsync4 = ((AnvilAsset)IM.OD[array4[Random.Range(0, 47)]]).GetGameObjectAsync(); if (Object.op_Implicit((Object)(object)gameObjectAsync4.Result)) { GameObject val4 = Object.Instantiate(gameObjectAsync4.Result); val4.transform.position = ((Component)point).transform.position; val4.transform.eulerAngles = ((Component)point).transform.eulerAngles; Console.Write("loot:Initialed new loot object"); } else { Scene activeScene7 = SceneManager.GetActiveScene(); Console.Write("loot:Can't find loot object,please wait for the assets load or report a bug,current scene name : {0}", ((Scene)(ref activeScene7)).name); } } else { Scene activeScene8 = SceneManager.GetActiveScene(); Console.Write("loot:Can't find loot object ID,please wait for the assets load or report a bug,current scene name : {0}", ((Scene)(ref activeScene8)).name); } amont--; timer = 2f; } if (type == 5) { string[] array5 = new string[51] { "TacticalFlashlight", "KlashLight", "CompactFlashlight2", "AKForeB10", "ForegripLarge", "ForegripLDAG", "ForegripMVG", "ForegripOffset", "ForegripRKO", "ForegripShift", "ForegripValk", "ForegripZG106", "HandstopKAG", "H416IronsFront", "H416IronsRear", "CantedSightsFront", "CantedSightsRear", "ANPEQ15", "TacticalLaser2", "Perst3Laser", "MuzzleBrakeCobra", "MuzzleBrakeCharon", "MuzzleBrakeOrbit", "MuzzleBrakeTruepoint", "RailRiserTall", "RailRiserShort", "RailRiserMed", "ReflexEG1", "ReflexOKP7OSA", "ReflexPK01VS", "ReflexPK120", "ReflexHolosightLong", "ReflexHolosightShort", "MagnifierPSO1", "T12Scope", "ScopeVRZ_6_36x56mmBronze", "ScopeVRZ_6_36x56mmBlack", "ScopeHAMComboScope4x24", "MagnifierGhostDRFDE", "MagnifierGhostDR", "ScopeEVU110x28mm", "ScopeAcog4x32", "ScopePVS30", "ScopePVS14", "SuppressorPBS4", "SuppressorPBS1", "SuppressorCorded", "SuppressorCordedTan", "SuppressorWrapped", "SuppressorSalvo", "AttachableBipodH" }; if (IM.OD.ContainsKey(array5[Random.Range(0, 51)])) { AnvilCallback gameObjectAsync5 = ((AnvilAsset)IM.OD[array5[Random.Range(0, 51)]]).GetGameObjectAsync(); if (Object.op_Implicit((Object)(object)gameObjectAsync5.Result)) { GameObject val5 = Object.Instantiate(gameObjectAsync5.Result); val5.transform.position = ((Component)point).transform.position; val5.transform.eulerAngles = ((Component)point).transform.eulerAngles; Console.Write("loot:Initialed new loot object"); } else { Scene activeScene9 = SceneManager.GetActiveScene(); Console.Write("loot:Can't find loot object,please wait for the assets load or report a bug,current scene name : {0}", ((Scene)(ref activeScene9)).name); } } else { Scene activeScene10 = SceneManager.GetActiveScene(); Console.Write("loot:Can't find loot object ID,please wait for the assets load or report a bug,current scene name : {0}", ((Scene)(ref activeScene10)).name); } amont--; timer = 2f; } if (type == 4) { string[] array6 = new string[5] { "PinnedGrenadeRG5", "PinnedGrenadeRGN", "PinnedGrenadeRGO", "PinnedGrenadeM67", "F-1 Russia (Remastered)" }; if (IM.OD.ContainsKey(array6[Random.Range(0, 5)])) { AnvilCallback gameObjectAsync6 = ((AnvilAsset)IM.OD[array6[Random.Range(0, 5)]]).GetGameObjectAsync(); if (Object.op_Implicit((Object)(object)gameObjectAsync6.Result)) { GameObject val6 = Object.Instantiate(gameObjectAsync6.Result); val6.transform.position = ((Component)point).transform.position; val6.transform.eulerAngles = ((Component)point).transform.eulerAngles; Console.Write("loot:Initialed new loot object"); } else { Scene activeScene11 = SceneManager.GetActiveScene(); Console.Write("loot:Can't find loot object,please wait for the assets load or report a bug,current scene name : {0}", ((Scene)(ref activeScene11)).name); } } else { Scene activeScene12 = SceneManager.GetActiveScene(); Console.Write("loot:Can't find loot object ID,please wait for the assets load or report a bug,current scene name : {0}", ((Scene)(ref activeScene12)).name); } amont--; timer = 2f; } if (type == 3) { string[] array7 = new string[10] { "AmmoBox_545x39", "AmmoBox_556x45", "762x54mmRCartridgeAPIncendiary", "9x39mmCartridgeAP", "762x51mmCartridgeAP", "AmmoBox_762x39", "AmmoBox_12Gau", "AmmoBox_23x75r", "23x75mmR_Flash", "12GaugeShellDragonsBreath" }; if (IM.OD.ContainsKey(array7[Random.Range(0, 10)])) { AnvilCallback gameObjectAsync7 = ((AnvilAsset)IM.OD[array7[Random.Range(0, 10)]]).GetGameObjectAsync(); if (Object.op_Implicit((Object)(object)gameObjectAsync7.Result)) { GameObject val7 = Object.Instantiate(gameObjectAsync7.Result); val7.transform.position = ((Component)point).transform.position; val7.transform.eulerAngles = ((Component)point).transform.eulerAngles; Console.Write("loot:Initialed new loot object"); } else { Scene activeScene13 = SceneManager.GetActiveScene(); Console.Write("loot:Can't find loot object,please wait for the assets load or report a bug,current scene name : {0}", ((Scene)(ref activeScene13)).name); } } else { Scene activeScene14 = SceneManager.GetActiveScene(); Console.Write("loot:Can't find loot object ID,please wait for the assets load or report a bug,current scene name : {0}", ((Scene)(ref activeScene14)).name); } amont--; timer = 2f; } if (type == 8) { string[] array8 = new string[17] { "EFT_BitCoin", "EFT_CarbonCase", "EFT_Chemcontainer", "EFT_CPUChip", "EFT_CPUCooler", "EFT_DVD", "EFT_ElectronicCase", "EFT_Envelope", "EFT_Fuelconditioner", "EFT_Geger", "EFT_HandDrill", "EFT_Laptop", "EFT_Parcel", "EFT_Photograph", "EFT_RadioJammer", "EFT_Ratchetwrench", "EFT_SSD" }; if (IM.OD.ContainsKey(array8[Random.Range(0, 17)])) { AnvilCallback gameObjectAsync8 = ((AnvilAsset)IM.OD[array8[Random.Range(0, 17)]]).GetGameObjectAsync(); if (Object.op_Implicit((Object)(object)gameObjectAsync8.Result)) { GameObject val8 = Object.Instantiate(gameObjectAsync8.Result); val8.transform.position = ((Component)point).transform.position; val8.transform.eulerAngles = ((Component)point).transform.eulerAngles; Console.Write("loot:Initialed new loot object"); } else { Scene activeScene15 = SceneManager.GetActiveScene(); Console.Write("loot:Can't find loot object,please wait for the assets load or report a bug,current scene name : {0}", ((Scene)(ref activeScene15)).name); } } else { Scene activeScene16 = SceneManager.GetActiveScene(); Console.Write("loot:Can't find loot object ID,please wait for the assets load or report a bug,current scene name : {0}", ((Scene)(ref activeScene16)).name); } amont--; timer = 2f; } if (type == 9) { Console.Write("loot:HA HA Nothing in here!!"); } } else if (amont <= 0) { audiolooting.SetActive(false); } } } else if (rot.transform.localEulerAngles.x < 45f) { timer = 2f; audiolooting.SetActive(false); } } else if ((Object)(object)GM.CurrentPlayerBody == (Object)null) { timer = 2f; audiolooting.SetActive(false); } } } } namespace calafex.Factory { public class ReverbSystemWithGizmos : FVRReverbSystem { public bool DrawReverbEnvironmentGizmos = false; private void OnDrawGizmos() { //IL_0045: Unknown result type (might be due to invalid IL or missing references) //IL_007a: Unknown result type (might be due to invalid IL or missing references) //IL_0080: 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) if (!DrawReverbEnvironmentGizmos || !((Behaviour)this).enabled) { return; } IEnumerable enumerable = base.Environments.Select((FVRReverbEnvironment e) => ((Component)e).transform); Gizmos.color = Color.green; foreach (Transform item in enumerable) { if (((Component)item).gameObject.activeInHierarchy) { Gizmos.DrawWireCube(item.position, item.TransformVector(Vector3.one)); } } } } } namespace JerryComponent { public class ScavWave : MonoBehaviour { public bool isCustomSosigInstalled; public float countdown; public int whereto; public int whichhead; public int whichtorso; public int whichbackpack; public ObjectSpawnPoint[] ssp1; public ObjectSpawnPoint[] ssp2; public ObjectSpawnPoint[] ssp3; public ObjectSpawnPoint[] ssp4; public ObjectSpawnPoint[] ssp5; public ObjectSpawnPoint[] ssp6; public ObjectSpawnPoint[] ssp7; public ObjectSpawnPoint[] ssp8; private void Start() { isCustomSosigInstalled = Chainloader.PluginInfos.ContainsKey("Sosig_Squad.CustomSosigLoader"); whereto = Random.Range(1, 8); countdown = Random.Range(15, 25); } private void FixedUpdate() { if (!isCustomSosigInstalled) { return; } countdown -= Time.deltaTime; if (!(countdown < 0f)) { return; } if (whereto == 1) { for (int i = 0; i < ssp1.Length; i++) { ssp1[i].Spawn(); } } if (whereto == 2) { for (int j = 0; j < ssp2.Length; j++) { ssp2[j].Spawn(); } } if (whereto == 3) { for (int k = 0; k < ssp3.Length; k++) { ssp3[k].Spawn(); } } if (whereto == 4) { for (int l = 0; l < ssp4.Length; l++) { ssp4[l].Spawn(); } } if (whereto == 5) { for (int m = 0; m < ssp5.Length; m++) { ssp5[m].Spawn(); } } if (whereto == 6) { for (int n = 0; n < ssp6.Length; n++) { ssp6[n].Spawn(); } } if (whereto == 7) { for (int num = 0; num < ssp7.Length; num++) { ssp7[num].Spawn(); } } if (whereto == 8) { for (int num2 = 0; num2 < ssp8.Length; num2++) { ssp8[num2].Spawn(); } } countdown = Random.Range(45, 60); whereto = Random.Range(1, 8); } } public class SmallpocketSwitch : MonoBehaviour { public bool spawned = false; public GameObject BODY; public float timer = 2.5f; private FVRQuickBeltSlot[] slots; private void Start() { } private void FixedUpdate() { if ((Object)(object)BODY == (Object)null || slots == null) { } timer -= Time.deltaTime; if (!(timer < 0f)) { return; } BODY = GameObject.Find("EFTBEARHANDS(Clone)"); if ((Object)(object)GM.CurrentPlayerBody != (Object)null) { if ((Object)(object)BODY != (Object)null) { slots = ((Component)GM.CurrentPlayerBody.Torso).GetComponentsInChildren(); if (slots.Length >= 1) { for (int num = slots.Length - 1; num >= 0; num--) { Object.Destroy((Object)(object)slots[num]); } } ((Component)GM.CurrentPlayerBody.Torso).gameObject.SetActive(false); spawned = false; } else if ((Object)(object)BODY == (Object)null && !spawned) { ((Component)GM.CurrentPlayerBody.Torso).gameObject.SetActive(true); GM.CurrentPlayerBody.ConfigureQuickbelt(8); spawned = true; } } timer = 2.5f; } } public class SosigWave : MonoBehaviour { public bool isCustomSosigInstalled; public float countdown; public int whereto; public int whichhead; public int whichtorso; public int whichbackpack; public SosigSpawnPoint ssp1; public SosigSpawnPoint ssp2; private void Start() { isCustomSosigInstalled = Chainloader.PluginInfos.ContainsKey("Sosig_Squad.CustomSosigLoader"); whereto = Random.Range(1, 2); countdown = Random.Range(15, 25); if (isCustomSosigInstalled) { if (whereto == 1) { ssp1.Spawn(); } else if (whereto == 2) { ssp2.Spawn(); } } } private void FixedUpdate() { if (!isCustomSosigInstalled) { return; } countdown -= Time.deltaTime; if (countdown < 0f) { if (whereto == 1) { ssp1.Spawn(); } if (whereto == 2) { ssp2.Spawn(); } countdown = Random.Range(45, 60); whereto = Random.Range(1, 2); } } } public class SpawnHAT : MonoBehaviour { public bool isEFTFrameInstalled = true; private GameObject HATsystem; private void Start() { isEFTFrameInstalled = Chainloader.PluginInfos.ContainsKey("JerryAr.EFT_Frame"); } private void FixedUpdate() { //IL_0033: 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) //IL_00f0: 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) //IL_00d0: 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) if (!isEFTFrameInstalled || EF_BuffSystem_GlobalObject.GetInstance().Config.DisableHATsystem || Object.op_Implicit((Object)(object)HATsystem)) { return; } Scene activeScene = SceneManager.GetActiveScene(); if (!(((Scene)(ref activeScene)).name != "MainMenu3") || !((Object)(object)GM.CurrentPlayerBody != (Object)null)) { return; } if (IM.OD.ContainsKey("EFT Foods hAtSystem")) { AnvilCallback gameObjectAsync = ((AnvilAsset)IM.OD["EFT Foods hAtSystem"]).GetGameObjectAsync(); if (Object.op_Implicit((Object)(object)gameObjectAsync.Result)) { HATsystem = Object.Instantiate(gameObjectAsync.Result); Console.Write("hAtSystem:Initialed new hAt system object"); } else { Scene activeScene2 = SceneManager.GetActiveScene(); Console.Write("hAtSystem:Can't find hAt system object,please wait for the assets load or report a bug,current scene name : {0}", ((Scene)(ref activeScene2)).name); } } else { Scene activeScene3 = SceneManager.GetActiveScene(); Console.Write("hAtSystem:Can't find hAt system object ID,please wait for the assets load or report a bug,current scene name : {0}", ((Scene)(ref activeScene3)).name); } } } public class SpawnPrefabOnPoint : MonoBehaviour { public bool isContinus = false; public Transform point; public GameObject obj; public string objname; public float timer = 2f; public string Name; private void Start() { //IL_00be: Unknown result type (might be due to invalid IL or missing references) //IL_00c3: Unknown result type (might be due to invalid IL or missing references) //IL_009f: Unknown result type (might be due to invalid IL or missing references) //IL_00a4: 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_007f: Unknown result type (might be due to invalid IL or missing references) if (IM.OD.ContainsKey(objname)) { AnvilCallback gameObjectAsync = ((AnvilAsset)IM.OD[objname]).GetGameObjectAsync(); if (Object.op_Implicit((Object)(object)gameObjectAsync.Result)) { obj = Object.Instantiate(gameObjectAsync.Result); obj.transform.position = point.position; obj.transform.eulerAngles = point.eulerAngles; Console.Write("prefab:Initialed new prefab object"); } else { Scene activeScene = SceneManager.GetActiveScene(); Console.Write("prefab:Can't find prefab object,please wait for the assets load or report a bug,current scene name : {0}", ((Scene)(ref activeScene)).name); } } else { Scene activeScene2 = SceneManager.GetActiveScene(); Console.Write("prefab:Can't find prefab object ID,please wait for the assets load or report a bug,current scene name : {0}", ((Scene)(ref activeScene2)).name); } } private void FixedUpdate() { //IL_011b: Unknown result type (might be due to invalid IL or missing references) //IL_0120: Unknown result type (might be due to invalid IL or missing references) //IL_00fc: Unknown result type (might be due to invalid IL or missing references) //IL_0101: 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_00dc: Unknown result type (might be due to invalid IL or missing references) if (!isContinus) { return; } timer -= Time.deltaTime; if (!(timer <= 0f)) { return; } timer = 2f; obj = GameObject.Find(Name); if (!((Object)(object)obj == (Object)null)) { return; } if (IM.OD.ContainsKey(objname)) { AnvilCallback gameObjectAsync = ((AnvilAsset)IM.OD[objname]).GetGameObjectAsync(); if (Object.op_Implicit((Object)(object)gameObjectAsync.Result)) { obj = Object.Instantiate(gameObjectAsync.Result); obj.transform.position = point.position; obj.transform.eulerAngles = point.eulerAngles; Console.Write("prefab:Initialed new prefab object"); } else { Scene activeScene = SceneManager.GetActiveScene(); Console.Write("prefab:Can't find prefab object,please wait for the assets load or report a bug,current scene name : {0}", ((Scene)(ref activeScene)).name); } } else { Scene activeScene2 = SceneManager.GetActiveScene(); Console.Write("prefab:Can't find prefab object ID,please wait for the assets load or report a bug,current scene name : {0}", ((Scene)(ref activeScene2)).name); } } } } namespace calafex.FactoryDebug { public class VisualDebugManager : MonoBehaviour { private bool _particleSystemsEnabled = true; public GameObject EffectsParent; public GameObject[] GameObjects; public void ToggleParticleSystems() { if ((Object)(object)EffectsParent == (Object)null) { return; } ParticleSystem[] componentsInChildren = EffectsParent.GetComponentsInChildren(); ParticleSystem[] array = componentsInChildren; foreach (ParticleSystem val in array) { if (_particleSystemsEnabled) { val.Stop(); } else { val.Play(); } } _particleSystemsEnabled = !_particleSystemsEnabled; } public void ToggleGameObjects() { GameObject[] gameObjects = GameObjects; foreach (GameObject val in gameObjects) { val.SetActive(!val.activeSelf); } } public void LogParticleCount() { if (!((Object)(object)EffectsParent == (Object)null)) { int num = 0; ParticleSystem[] componentsInChildren = EffectsParent.GetComponentsInChildren(); ParticleSystem[] array = componentsInChildren; foreach (ParticleSystem val in array) { num += val.particleCount; } Debug.Log((object)("Current particle count: " + num)); } } } } namespace JerryComponent { public class SetOutpoint : MonoBehaviour { public string savedLoadoutName = "EFT_PMC_Standard_Edition_LoadOut"; public string leftHandObj = "EFT_PMC_LeftHand"; public string rightHandObj = "EFT_PMC_RightHand"; public string saveSceneName = "EFT_PMC_Standard_Edition"; public float telecountdown = 1f; public bool telecount = false; public bool telecount2 = false; public bool startcountdown = false; public EFTMode modemain; public float countdownnum = 3f; public bool sceneswitched = false; public GameObject countdownboard; public Transform hidepoint; public MEATStoreGlobalObj MSGO; public EFTMode mode; private void OnTriggerStay(Collider other) { if ((Object)(object)((Component)other).gameObject == (Object)(object)modemain.playerdetectpoint) { startcountdown = true; } } private void OnTriggerExit(Collider other) { if ((Object)(object)((Component)other).gameObject == (Object)(object)modemain.playerdetectpoint) { startcountdown = false; } } private bool SaveVaultFileToDisk(VaultFile vf, string fileName, bool isSceneFile = false) { string text = default(string); bool flag = ((!isSceneFile) ? CynJson.Save(VaultSystem.rootFolderName, "VaultFile", "", "loadout_EFT_PMC_Standard_Edition_LoadOut.VaultFile.json", (object)vf, ref text) : CynJson.Save(VaultSystem.rootFolderName, "VaultFile", "", "sceneconfig_efthideout_safehouse_EFT_PMC_Standard_Edition.VaultFile.json", (object)vf, ref text)); if (!flag) { Debug.LogError((object)("保存失败 " + fileName + ": {error}")); } return flag; } private void Start() { if (MSGO == null) { MSGO = MEATStoreGlobalObj.GetInstance(); } } private void FixedUpdate() { //IL_00ad: Unknown result type (might be due to invalid IL or missing references) //IL_006b: 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_012e: Unknown result type (might be due to invalid IL or missing references) //IL_0152: Unknown result type (might be due to invalid IL or missing references) if (telecount) { telecountdown -= Time.deltaTime; } if (telecountdown < 0f && !telecount2) { telecount = false; telecount2 = true; modemain.escape.SetActive(true); GM.CurrentMovementManager.TeleportToPoint(((Component)hidepoint).transform.position, true, ((Component)hidepoint).transform.localEulerAngles); } if (countdownnum < 2f) { SteamVR_Fade.Start(new Color(0f, 0f, 0f, 1f), 0.25f, false); telecount = true; } if (countdownnum < 0f && !sceneswitched) { Save(); Escape(); startcountdown = false; sceneswitched = true; } if (startcountdown) { countdownboard.SetActive(true); countdownboard.transform.position = ((Component)GM.CurrentMovementManager.Head).transform.position; countdownboard.transform.eulerAngles = ((Component)GM.CurrentMovementManager.Head).transform.eulerAngles; countdownnum -= 1f * Time.deltaTime; } if (!startcountdown) { countdownboard.SetActive(false); countdownnum = 3f; } } private void Escape() { for (int i = 0; i < GM.CurrentSceneSettings.QuitReceivers.Count; i++) { GM.CurrentSceneSettings.QuitReceivers[i].BroadcastMessage("QUIT", (object)1); } if (((AnvilCallbackBase)GM.LoadingCallback).IsCompleted) { SteamVR_LoadLevel.Begin("FactoryExt", false, 0f, 0f, 0f, 0f, 1f); mode.SAVEHANDS(); } } private void Save() { VaultFile[] allItems = UgcManager.GetAllItems(); foreach (VaultFile val in allItems) { if (val.FileName == saveSceneName) { val.Objects.Clear(); if (VaultSystem.FindAndScanObjectsInScene(val)) { SaveVaultFileToDisk(val, val.FileName, isSceneFile: true); Debug.Log((object)("已保存场景: " + val.FileName)); } else { Debug.LogError((object)("扫描场景物品失败: " + val.FileName)); } break; } } VaultFile[] allItems2 = UgcManager.GetAllItems(); foreach (VaultFile val2 in allItems2) { if (val2.FileName == savedLoadoutName) { val2.Objects.Clear(); if (VaultSystem.FindAndScanObjectsInQuickbelt(val2)) { SaveVaultFileToDisk(val2, val2.FileName); Debug.Log((object)("已保存负载: " + val2.FileName)); } else { Debug.LogError((object)("扫描装备失败: " + val2.FileName)); } break; } } } private void OnApplicationQuit() { Save(); } } public class SpawnAIScene : MonoBehaviour { public bool moved = false; public bool spawn = false; private void Start() { } private void Awake() { Object.DontDestroyOnLoad((Object)(object)((Component)this).gameObject); } private void FixedUpdate() { //IL_0029: Unknown result type (might be due to invalid IL or missing references) if (!moved && (Object)(object)GameObject.Find("EFTAIDEC") == (Object)null) { SceneManager.MoveGameObjectToScene(((Component)this).gameObject, SceneManager.GetActiveScene()); moved = true; } if ((Object)(object)GameObject.Find("AISP") != (Object)null) { if (spawn) { SceneManager.LoadScene("AISpawn", (LoadSceneMode)1); Object.Destroy((Object)(object)((Component)this).gameObject); } else if (!spawn) { SceneManager.LoadScene("AISpawnSosig", (LoadSceneMode)1); Object.Destroy((Object)(object)((Component)this).gameObject); } } } } public class control_component : MonoBehaviour { public GameObject Comp; public GameObject Comp2; public GameObject Rot; private void Start() { } private void Update() { //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) if (Rot.transform.localEulerAngles.x >= 45f) { Comp.SetActive(false); Comp2.SetActive(true); } else { Comp.SetActive(true); Comp2.SetActive(false); } } } }