Decompiled source of MG3 v1.1.0
MG3.dll
Decompiled 6 months ago
The result has been truncated due to the large size, download it to view full contents!
using System; using System.Collections.Generic; using System.ComponentModel; using System.Diagnostics; using System.IO; using System.Reflection; using System.Runtime.CompilerServices; using System.Security; using System.Security.Permissions; using BepInEx; using BepInEx.Logging; using FistVR; using H3VRUtils.MonoScripts.VisualModifiers; using HarmonyLib; using OtherLoader; using TheNext; using UnityEditor; using UnityEngine; 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 EnableIfDisabled : MonoBehaviour { public FVRFireArmRound Bullet; public GameObject Obj; public GameObject Renderer; private void Start() { } private void Update() { if (Bullet.IsSpent) { Obj.SetActive(true); } if (Bullet.IsChambered) { Renderer.SetActive(true); } if (!Bullet.IsChambered) { Renderer.SetActive(false); } } } public class Syringe : FVRFireArmAttachment { public enum CartridgeState { Whole, BitOpen, Jammed } public List<Renderer> Rends; public CartridgeState CState; public int numPowderChunksLeft = 20; public AudioEvent AudEvent_Bite; public AudioEvent AudEvent_Tap; public Transform PowderSpawnPoint; public GameObject PowderPrefab; public GameObject BitPart; public AudioEvent AudEvent_Spit; public GameObject Splode; [NonSerialized] public bool m_isDestroyed; [NonSerialized] public float m_tickDownToSpit = 0.2f; [NonSerialized] public bool m_tickingDownToSpit; [NonSerialized] public float timeSinceSpawn = 1f; public PowerupType put; public PowerUpIntensity pui; public PowerUpDuration pud; public AudioEvent AudEvent_DIng; public FVRPhysicalObject PenObject; public bool isAlreadyInHeadRange = false; public bool isUsed = false; public KillAfter ka; public void SetRenderer(CartridgeState s) { //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_000b: Invalid comparison between Unknown and I4 for (int i = 0; i < Rends.Count; i++) { if ((int)s == i) { Rends[i].enabled = true; } else { Rends[i].enabled = false; } } } public override void Awake() { //IL_0009: Unknown result type (might be due to invalid IL or missing references) ((FVRFireArmAttachment)this).Awake(); SetRenderer(CState); } public override void UpdateInteraction(FVRViveHand hand) { //IL_0031: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_001f: Unknown result type (might be due to invalid IL or missing references) //IL_0024: Unknown result type (might be due to invalid IL or missing references) //IL_004b: Unknown result type (might be due to invalid IL or missing references) //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_0069: Unknown result type (might be due to invalid IL or missing references) //IL_006e: Unknown result type (might be due to invalid IL or missing references) //IL_0073: 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_007f: 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_00a8: Unknown result type (might be due to invalid IL or missing references) //IL_00af: Unknown result type (might be due to invalid IL or missing references) ((FVRFireArmAttachment)this).UpdateInteraction(hand); if (((FVRInteractiveObject)this).m_hasTriggeredUpSinceBegin) { float num = Vector3.Angle(-((Component)this).transform.forward, Vector3.up); } if ((int)CState == 0) { Vector3 val = ((Component)GM.CurrentPlayerBody.Head).transform.position + ((Component)GM.CurrentPlayerBody.Head).transform.up * -0.2f; if (Vector3.Distance(((Component)this).transform.position, val) < 0.15f) { SM.PlayGenericSound(AudEvent_Bite, ((Component)this).transform.position); CState = (CartridgeState)1; SetRenderer(CState); m_tickingDownToSpit = true; m_tickDownToSpit = Random.Range(0.3f, 0.6f); } } } public override void FVRUpdate() { //IL_0113: Unknown result type (might be due to invalid IL or missing references) //IL_0119: Invalid comparison between Unknown and I4 //IL_0125: Unknown result type (might be due to invalid IL or missing references) //IL_012a: Unknown result type (might be due to invalid IL or missing references) //IL_012f: Unknown result type (might be due to invalid IL or missing references) //IL_0070: Unknown result type (might be due to invalid IL or missing references) //IL_0084: Unknown result type (might be due to invalid IL or missing references) //IL_008e: Unknown result type (might be due to invalid IL or missing references) //IL_0093: Unknown result type (might be due to invalid IL or missing references) //IL_0098: Unknown result type (might be due to invalid IL or missing references) //IL_009f: Unknown result type (might be due to invalid IL or missing references) //IL_00ab: 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_00c9: Unknown result type (might be due to invalid IL or missing references) //IL_00dd: Unknown result type (might be due to invalid IL or missing references) //IL_00e2: Unknown result type (might be due to invalid IL or missing references) //IL_00e7: Unknown result type (might be due to invalid IL or missing references) //IL_00f2: Unknown result type (might be due to invalid IL or missing references) //IL_0106: 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_018c: Unknown result type (might be due to invalid IL or missing references) ((FVRPhysicalObject)this).FVRUpdate(); if (timeSinceSpawn < 1f) { timeSinceSpawn += Time.deltaTime; } if (m_tickingDownToSpit) { m_tickDownToSpit -= Time.deltaTime; if (m_tickDownToSpit <= 0f) { m_tickingDownToSpit = false; Vector3 val = ((Component)GM.CurrentPlayerBody.Head).transform.position + ((Component)GM.CurrentPlayerBody.Head).transform.up * -0.2f; SM.PlayGenericSound(AudEvent_Spit, val); GameObject val2 = Object.Instantiate<GameObject>(BitPart, val, Random.rotation); Rigidbody component = val2.GetComponent<Rigidbody>(); component.velocity = GM.CurrentPlayerBody.Head.forward * Random.Range(2f, 4f) + Random.onUnitSphere; component.angularVelocity = Random.onUnitSphere * Random.Range(1f, 5f); } } if ((int)CState == 1) { float num = Vector3.Angle(-((Component)this).transform.forward, Vector3.up); if (num > 120f && numPowderChunksLeft > 0 && timeSinceSpawn > 0.04f) { numPowderChunksLeft--; timeSinceSpawn = 0f; Object.Instantiate<GameObject>(PowderPrefab, PowderSpawnPoint.position, Random.rotation); } } } private void Update() { //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_001b: 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_002a: Unknown result type (might be due to invalid IL or missing references) //IL_002f: Unknown result type (might be due to invalid IL or missing references) //IL_0071: Unknown result type (might be due to invalid IL or missing references) //IL_0077: Invalid comparison between Unknown and I4 float num = Vector3.Distance(((Component)this).transform.position, ((Component)GM.CurrentPlayerBody.Head).transform.position + Vector3.up * -0.1f); if ((double)num >= 0.19) { isAlreadyInHeadRange = false; } if ((double)num < 0.15) { if (!isAlreadyInHeadRange && (int)CState == 1 && !isUsed) { PowerUp(((FVRInteractiveObject)PenObject).m_hand); Console.Write("Yummy"); isUsed = true; } isAlreadyInHeadRange = true; } } public void PowerUp(FVRViveHand hand) { //IL_000f: 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_0030: Unknown result type (might be due to invalid IL or missing references) //IL_0036: Unknown result type (might be due to invalid IL or missing references) //IL_003c: Unknown result type (might be due to invalid IL or missing references) SM.PlayCoreSound((FVRPooledAudioType)10, AudEvent_DIng, ((Component)this).transform.position); GM.CurrentSceneSettings.OnPowerupUse(put); GM.CurrentPlayerBody.ActivatePower(put, pui, pud, false, false, -1f); ((Behaviour)ka).enabled = true; } } public class BuletSearcher : MonoBehaviour { private BallisticProjectile boolet; public GameObject booletcam; private GameObject bullet; private bool spawned = false; private GameObject bc; private RaycastHit hit; private Ray ray; public LayerMask mask; private float timeb = 1f; private void Awake() { } private void Start() { } private void Update() { //IL_008f: 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_00a9: Unknown result type (might be due to invalid IL or missing references) //IL_00af: Unknown result type (might be due to invalid IL or missing references) //IL_00c0: Unknown result type (might be due to invalid IL or missing references) //IL_013a: 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_0183: Unknown result type (might be due to invalid IL or missing references) timeb += Time.deltaTime; boolet = Object.FindObjectOfType<BallisticProjectile>(); if ((Object)(object)boolet != (Object)null) { bullet = ((Component)boolet).gameObject; } if ((Object)(object)boolet == (Object)null) { } if ((Object)(object)bullet != (Object)null && !spawned) { if (timeb >= 1f) { ray = new Ray(bullet.transform.position, bullet.transform.forward); if (Physics.Raycast(ray, ref hit, 2000f, LayerMask.op_Implicit(mask)) && ((Object)((Component)((RaycastHit)(ref hit)).collider).gameObject).name == "Geo_Head") { Time.timeScale = Mathf.Clamp(0.0001f, 0.0001f, 1f); Time.fixedDeltaTime = Time.timeScale / SteamVR.instance.hmd_DisplayFrequency; bc = Object.Instantiate<GameObject>(booletcam, bullet.transform.localPosition, Quaternion.identity); bc.transform.parent = bullet.transform; bc.transform.localEulerAngles = new Vector3(0f, 0f, 0f); timeb = 0f; } } if (!(timeb < 1f)) { } } if (spawned) { } if ((Object)(object)bc == (Object)null) { spawned = false; } if ((Object)(object)bc != (Object)null) { spawned = true; } } } public class Lookat : MonoBehaviour { public GameObject mark; public Transform nearestAI; public SosigLink[] currentAI = null; public GameObject lookAtObj; public LAPD2019Laser laser; public Transform player; private void OnTriggerEnter(Collider other) { currentAI = ((Component)other).gameObject.GetComponents<SosigLink>(); } private void Update() { //IL_004f: Unknown result type (might be due to invalid IL or missing references) //IL_0073: Unknown result type (might be due to invalid IL or missing references) //IL_0100: Unknown result type (might be due to invalid IL or missing references) //IL_0105: Unknown result type (might be due to invalid IL or missing references) //IL_00bd: Unknown result type (might be due to invalid IL or missing references) //IL_00d9: Unknown result type (might be due to invalid IL or missing references) //IL_00de: Unknown result type (might be due to invalid IL or missing references) if (currentAI == null || (Object)(object)nearestAI == (Object)null) { laser.TurnOff(); mark.SetActive(false); mark.transform.localPosition = new Vector3(0f, 0f, 0f); lookAtObj.transform.localEulerAngles = new Vector3(0f, 0f, 0f); } if ((Object)(object)nearestAI != (Object)null) { laser.TurnOn(); mark.SetActive(true); mark.transform.position = ((Component)nearestAI).transform.position; AxisLookAt(lookAtObj.transform, nearestAI.position, Vector3.forward); } AxisLookAt(mark.transform, lookAtObj.transform.position, Vector3.forward); if (currentAI != null) { nearestAI = GetNearestGameObject(player, currentAI); } } private void AxisLookAt(Transform tr_self, Vector3 lookPos, Vector3 directionAxis) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_000a: 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_0016: Unknown result type (might be due to invalid IL or missing references) //IL_001b: 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_0021: 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_0023: 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_0029: Unknown result type (might be due to invalid IL or missing references) //IL_002d: Unknown result type (might be due to invalid IL or missing references) //IL_0032: Unknown result type (might be due to invalid IL or missing references) //IL_0033: Unknown result type (might be due to invalid IL or missing references) //IL_0034: Unknown result type (might be due to invalid IL or missing references) //IL_003f: Unknown result type (might be due to invalid IL or missing references) //IL_0040: Unknown result type (might be due to invalid IL or missing references) //IL_0045: 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_0052: Unknown result type (might be due to invalid IL or missing references) //IL_0057: Unknown result type (might be due to invalid IL or missing references) //IL_0061: Unknown result type (might be due to invalid IL or missing references) //IL_0066: Unknown result type (might be due to invalid IL or missing references) //IL_0074: Unknown result type (might be due to invalid IL or missing references) Quaternion rotation = tr_self.rotation; Vector3 val = lookPos - tr_self.position; Vector3 val2 = tr_self.rotation * directionAxis; Vector3 val3 = Vector3.Cross(val2, val); Vector3 normalized = ((Vector3)(ref val3)).normalized; float num = Vector3.Angle(val2, val); tr_self.rotation = Quaternion.AngleAxis(num, normalized) * rotation; tr_self.localEulerAngles = new Vector3(tr_self.localEulerAngles.x, tr_self.localEulerAngles.y, 0f); } public Transform GetNearestGameObject(Transform player, SosigLink[] objects) { //IL_002b: 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_004c: Unknown result type (might be due to invalid IL or missing references) //IL_0059: Unknown result type (might be due to invalid IL or missing references) Transform val = null; if (objects == null || (Object)(object)val == (Object)null) { } if (objects.Length > 0) { val = ((Component)objects[0]).transform; float num = Vector3.Distance(player.position, ((Component)objects[0]).transform.position); for (int i = 1; i < objects.Length; i++) { float num2 = Vector3.Distance(player.position, ((Component)objects[i]).transform.position); if (num > num2) { num = num2; val = ((Component)objects[i]).transform; } } } return val; } } public class Slotarea : MonoBehaviour { public GameObject parent; public void OnTriggerStay(Collider other) { //IL_002d: Unknown result type (might be due to invalid IL or missing references) //IL_005a: Unknown result type (might be due to invalid IL or missing references) //IL_006e: 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) //IL_0093: Unknown result type (might be due to invalid IL or missing references) GameObject gameObject = ((Component)other).gameObject; FVRPhysicalObject component = gameObject.GetComponent<FVRPhysicalObject>(); 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)) { 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<Rigidbody>(); if ((Object)(object)component2 != (Object)null) { gameObject.transform.SetParent(parent.transform); component2.useGravity = false; component2.isKinematic = true; } } } public void OnTriggerExit(Collider other) { //IL_002d: Unknown result type (might be due to invalid IL or missing references) GameObject gameObject = ((Component)other).gameObject; FVRPhysicalObject component = gameObject.GetComponent<FVRPhysicalObject>(); 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) { Rigidbody component2 = gameObject.GetComponent<Rigidbody>(); if ((Object)(object)component2 != (Object)null) { gameObject.transform.SetParent(parent.transform); component2.useGravity = true; component2.isKinematic = false; } } } private void Update() { } } } [ExecuteInEditMode] [RequireComponent(typeof(Camera))] public class DeferredNightVisionEffect : MonoBehaviour { [SerializeField] [Tooltip("The main color of the NV effect")] public Color m_NVColor = new Color(0f, 1f, 0.1724138f, 0f); [SerializeField] [Tooltip("The color that the NV effect will 'bleach' towards (white = default)")] public Color m_TargetBleachColor = new Color(1f, 1f, 1f, 0f); [Range(0f, 0.1f)] [Tooltip("How much base lighting does the NV effect pick up")] public float m_baseLightingContribution = 0.025f; [Range(0f, 128f)] [Tooltip("The higher this value, the more bright areas will get 'bleached out'")] public float m_LightSensitivityMultiplier = 100f; private Material m_Material; private Shader m_Shader; [Tooltip("Do we want to apply a vignette to the edges of the screen?")] public bool useVignetting = true; public Shader NightVisionShader => m_Shader; private void DestroyMaterial(Material mat) { if (Object.op_Implicit((Object)(object)mat)) { Object.DestroyImmediate((Object)(object)mat); mat = null; } } private void CreateMaterials() { if ((Object)(object)m_Shader == (Object)null) { m_Shader = Shader.Find("Custom/DeferredNightVisionShader"); } if ((Object)(object)m_Material == (Object)null && (Object)(object)m_Shader != (Object)null && m_Shader.isSupported) { m_Material = CreateMaterial(m_Shader); } } private Material CreateMaterial(Shader shader) { //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_001a: Expected O, but got Unknown if (!Object.op_Implicit((Object)(object)shader)) { return null; } Material val = new Material(shader); ((Object)val).hideFlags = (HideFlags)61; return val; } private void OnDisable() { DestroyMaterial(m_Material); m_Material = null; m_Shader = null; } [ContextMenu("UpdateShaderValues")] public void UpdateShaderValues() { //IL_0023: Unknown result type (might be due to invalid IL or missing references) //IL_0028: Unknown result type (might be due to invalid IL or missing references) //IL_003e: Unknown result type (might be due to invalid IL or missing references) //IL_0043: Unknown result type (might be due to invalid IL or missing references) if (!((Object)(object)m_Material == (Object)null)) { m_Material.SetVector("_NVColor", Color.op_Implicit(m_NVColor)); m_Material.SetVector("_TargetWhiteColor", Color.op_Implicit(m_TargetBleachColor)); m_Material.SetFloat("_BaseLightingContribution", m_baseLightingContribution); m_Material.SetFloat("_LightSensitivityMultiplier", m_LightSensitivityMultiplier); m_Material.shaderKeywords = null; if (useVignetting) { Shader.EnableKeyword("USE_VIGNETTE"); } else { Shader.DisableKeyword("USE_VIGNETTE"); } } } private void OnEnable() { CreateMaterials(); UpdateShaderValues(); } public void ReloadShaders() { OnDisable(); } private void OnRenderImage(RenderTexture source, RenderTexture destination) { UpdateShaderValues(); CreateMaterials(); Graphics.Blit((Texture)(object)source, destination, m_Material); } } namespace JerryComponent { public class guitarreset : MonoBehaviour { public AudioSource song; public GameObject rot; private bool is45 = false; private void Start() { } private void over45() { if (is45) { song.Stop(); } is45 = false; } private void under45() { if (!is45) { song.Play(); song.Pause(); } is45 = true; } 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_0036: 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) if (rot.transform.localEulerAngles.x > 45f) { over45(); } if (rot.transform.localEulerAngles.x < 45f) { under45(); } } } public class guitarscript : MonoBehaviour { public GameObject reset; public AudioSource song; public GameObject resetvolume; private bool slaponce; private void Start() { } private void OnTriggerEnter(Collider other) { slaponce = true; } 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_00b4: Unknown result type (might be due to invalid IL or missing references) //IL_00b9: Unknown result type (might be due to invalid IL or missing references) //IL_004a: Unknown result type (might be due to invalid IL or missing references) //IL_005f: 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_0108: Unknown result type (might be due to invalid IL or missing references) //IL_010d: Unknown result type (might be due to invalid IL or missing references) //IL_00f2: Unknown result type (might be due to invalid IL or missing references) //IL_0091: Unknown result type (might be due to invalid IL or missing references) //IL_0137: Unknown result type (might be due to invalid IL or missing references) //IL_013c: Unknown result type (might be due to invalid IL or missing references) //IL_0180: 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_016a: Unknown result type (might be due to invalid IL or missing references) //IL_01bb: Unknown result type (might be due to invalid IL or missing references) //IL_01c0: Unknown result type (might be due to invalid IL or missing references) //IL_01fb: Unknown result type (might be due to invalid IL or missing references) if (reset.transform.localEulerAngles.x > 15f) { resetvolume.SetActive(true); resetvolume.transform.localEulerAngles = new Vector3(0f, 0f, 0f); if (resetvolume.transform.localEulerAngles.x > 25f) { resetvolume.transform.localEulerAngles = new Vector3(25f, 0f, 0f); resetvolume.SetActive(false); } } if (reset.transform.localEulerAngles.x < 15f) { resetvolume.SetActive(false); resetvolume.transform.localEulerAngles = new Vector3(0f, 0f, 0f); } if (reset.transform.localEulerAngles.x < 25f) { song.UnPause(); } if (reset.transform.localEulerAngles.x > 25f) { reset.transform.localEulerAngles = new Vector3(25f, 0f, 0f); } if (reset.transform.localEulerAngles.x >= 25f) { song.Pause(); } song.volume = 1f - resetvolume.transform.localEulerAngles.x * 0.04f; if (slaponce) { reset.transform.localEulerAngles = new Vector3(0f, 0f, 0f); slaponce = false; } } } public class guitarslap : MonoBehaviour { public GameObject slide; public AudioSource asa1; public AudioSource asa2; private void Start() { } private void Update() { //IL_0012: 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_0035: Unknown result type (might be due to invalid IL or missing references) //IL_003a: Unknown result type (might be due to invalid IL or missing references) asa1.pitch = slide.transform.localPosition.z; asa2.pitch = slide.transform.localPosition.z; } } public class guitarslap2 : MonoBehaviour { public int start = 0; public SphereCollider cols; public int[] notes1; public int[] notes2; public int[] notes3; public int[] notes4; public AudioEvent[] clips; public GameObject foregrip; public GameObject hold1; public GameObject hold2; public GameObject hold3; public GameObject hold4; public Transform pos; private void Start() { } private void OnTriggerEnter(Collider col) { //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_0019: Unknown result type (might be due to invalid IL or missing references) //IL_00bd: Unknown result type (might be due to invalid IL or missing references) //IL_00c2: Unknown result type (might be due to invalid IL or missing references) //IL_0036: Unknown result type (might be due to invalid IL or missing references) //IL_003b: Unknown result type (might be due to invalid IL or missing references) //IL_00f2: 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_0058: Unknown result type (might be due to invalid IL or missing references) //IL_005d: Unknown result type (might be due to invalid IL or missing references) //IL_0127: Unknown result type (might be due to invalid IL or missing references) //IL_012c: Unknown result type (might be due to invalid IL or missing references) //IL_007a: 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) //IL_015c: Unknown result type (might be due to invalid IL or missing references) //IL_0161: Unknown result type (might be due to invalid IL or missing references) //IL_019a: Unknown result type (might be due to invalid IL or missing references) //IL_019f: Unknown result type (might be due to invalid IL or missing references) //IL_00a0: Unknown result type (might be due to invalid IL or missing references) //IL_021e: Unknown result type (might be due to invalid IL or missing references) //IL_0223: Unknown result type (might be due to invalid IL or missing references) //IL_01d6: Unknown result type (might be due to invalid IL or missing references) //IL_01fa: Unknown result type (might be due to invalid IL or missing references) //IL_02a2: Unknown result type (might be due to invalid IL or missing references) //IL_02a7: Unknown result type (might be due to invalid IL or missing references) //IL_025a: Unknown result type (might be due to invalid IL or missing references) //IL_027e: Unknown result type (might be due to invalid IL or missing references) //IL_0326: Unknown result type (might be due to invalid IL or missing references) //IL_032b: Unknown result type (might be due to invalid IL or missing references) //IL_02de: 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_0362: Unknown result type (might be due to invalid IL or missing references) //IL_0386: Unknown result type (might be due to invalid IL or missing references) col = (Collider)(object)cols; if (hold1.transform.localEulerAngles.x < 45f && hold2.transform.localEulerAngles.x < 45f && hold3.transform.localEulerAngles.x < 45f && hold4.transform.localEulerAngles.x < 45f) { SM.PlayGenericSound(clips[0], pos.localPosition); start = 0; } if ((hold1.transform.localEulerAngles.x > 45f && notes1[start] == 0) || (hold2.transform.localEulerAngles.x > 45f && notes2[start] == 0) || (hold3.transform.localEulerAngles.x > 45f && notes3[start] == 0) || (hold4.transform.localEulerAngles.x > 45f && notes4[start] == 0)) { start = 0; } if (hold1.transform.localEulerAngles.x > 45f) { foregrip.transform.localPosition = new Vector3(0f, 0f, (float)notes1[start]); SM.PlayGenericSound(clips[notes1[start]], pos.localPosition); start++; } if (hold2.transform.localEulerAngles.x > 45f) { foregrip.transform.localPosition = new Vector3(0f, 0f, (float)notes2[start]); SM.PlayGenericSound(clips[notes2[start]], pos.localPosition); start++; } if (hold3.transform.localEulerAngles.x > 45f) { foregrip.transform.localPosition = new Vector3(0f, 0f, (float)notes3[start]); SM.PlayGenericSound(clips[notes3[start]], pos.localPosition); start++; } if (hold4.transform.localEulerAngles.x > 45f) { foregrip.transform.localPosition = new Vector3(0f, 0f, (float)notes4[start]); SM.PlayGenericSound(clips[notes4[start]], pos.localPosition); start++; } } private void FixedUpdate() { } private void Update() { } } public class LebelHandle : MonoBehaviour { public Mac11_Stock fakeboltt; public BoltActionRifle_Handle realbolt; public GameObject rot; public GameObject fakebolt; public FVRAlternateGrip foregrip; private GameObject _player = null; private FVRViveHand leftHand = null; private FVRViveHand rightHand = null; public bool istransfterd = true; private void Awake() { _player = ((Component)Object.FindObjectOfType<FVRPlayerBody>()).gameObject; } private void Start() { leftHand = ((Component)_player.transform.Find("Controller (left)")).GetComponent<FVRViveHand>(); rightHand = ((Component)_player.transform.Find("Controller (right)")).GetComponent<FVRViveHand>(); } private void BoltTransfer() { if (!istransfterd) { ((FVRInteractiveObject)fakeboltt).EndInteraction(rightHand); rightHand.ForceSetInteractable((FVRInteractiveObject)(object)realbolt); ((FVRInteractiveObject)realbolt).BeginInteraction(rightHand); istransfterd = true; } if (!istransfterd) { } } private void Update() { if (!fakebolt.activeInHierarchy) { BoltTransfer(); } if (fakebolt.activeInHierarchy) { istransfterd = false; } if (!((Object)(object)_player == (Object)null) && !((Object)(object)leftHand == (Object)null) && !((Object)(object)rightHand == (Object)null)) { } } } public class DshapeGrip : MonoBehaviour { public ClosedBoltWeapon gun; public GameObject trigL; public GameObject trigR; public GameObject magrel; 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_002e: 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_005e: Unknown result type (might be due to invalid IL or missing references) //IL_0063: Unknown result type (might be due to invalid IL or missing references) if (trigL.transform.localEulerAngles.x > 45f || trigR.transform.localEulerAngles.x > 45f) { gun.Fire(); } if (magrel.transform.localEulerAngles.x > 45f && (Object)(object)((FVRFireArm)gun).Magazine != (Object)null) { ((FVRFireArm)gun).EjectMag(false); } } } public class FireRopeOB : MonoBehaviour { public OpenBoltReceiver gun; public GameObject trigger; 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_0041: 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) if (trigger.transform.localPosition.z >= 0.1f) { gun.Fire(); } else if (!(trigger.transform.localPosition.z < 0.1f)) { } } } public class KeepMeAlive : MonoBehaviour { public Rigidbody rb; private void Start() { } private void Update() { rb.isKinematic = false; } } public class MountedMG : MonoBehaviour { public GameObject elev; public GameObject hori; public GameObject XGEO; public GameObject YGEO; public WaggleJoint X; public WaggleJoint Y; public Rigidbody j1; public Rigidbody j2; public Rigidbody j3; public GameObject trig; public ClosedBoltWeapon gun; 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_003c: 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_0084: Unknown result type (might be due to invalid IL or missing references) //IL_0089: Unknown result type (might be due to invalid IL or missing references) //IL_00ec: 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_00b6: 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_017c: Unknown result type (might be due to invalid IL or missing references) //IL_010e: Unknown result type (might be due to invalid IL or missing references) //IL_0113: Unknown result type (might be due to invalid IL or missing references) //IL_0203: Unknown result type (might be due to invalid IL or missing references) //IL_0208: Unknown result type (might be due to invalid IL or missing references) //IL_019a: Unknown result type (might be due to invalid IL or missing references) //IL_019f: Unknown result type (might be due to invalid IL or missing references) //IL_0141: Unknown result type (might be due to invalid IL or missing references) //IL_028f: Unknown result type (might be due to invalid IL or missing references) //IL_0294: Unknown result type (might be due to invalid IL or missing references) //IL_0226: Unknown result type (might be due to invalid IL or missing references) //IL_022b: Unknown result type (might be due to invalid IL or missing references) //IL_01cd: 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_02b2: Unknown result type (might be due to invalid IL or missing references) //IL_02b7: Unknown result type (might be due to invalid IL or missing references) //IL_0259: Unknown result type (might be due to invalid IL or missing references) //IL_0384: Unknown result type (might be due to invalid IL or missing references) //IL_0389: 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_02e5: Unknown result type (might be due to invalid IL or missing references) //IL_0410: Unknown result type (might be due to invalid IL or missing references) //IL_0415: Unknown result type (might be due to invalid IL or missing references) //IL_03a7: Unknown result type (might be due to invalid IL or missing references) //IL_03ac: Unknown result type (might be due to invalid IL or missing references) //IL_049c: Unknown result type (might be due to invalid IL or missing references) //IL_04a1: Unknown result type (might be due to invalid IL or missing references) //IL_0433: Unknown result type (might be due to invalid IL or missing references) //IL_0438: Unknown result type (might be due to invalid IL or missing references) //IL_03da: Unknown result type (might be due to invalid IL or missing references) //IL_0528: Unknown result type (might be due to invalid IL or missing references) //IL_052d: Unknown result type (might be due to invalid IL or missing references) //IL_04bf: Unknown result type (might be due to invalid IL or missing references) //IL_04c4: Unknown result type (might be due to invalid IL or missing references) //IL_0466: Unknown result type (might be due to invalid IL or missing references) //IL_054b: Unknown result type (might be due to invalid IL or missing references) //IL_0550: Unknown result type (might be due to invalid IL or missing references) //IL_04f2: Unknown result type (might be due to invalid IL or missing references) //IL_057e: Unknown result type (might be due to invalid IL or missing references) if (trig.transform.localPosition.x > 1f) { gun.Fire(); } if (trig.transform.localPosition.x < 1f) { } j1.isKinematic = false; j2.isKinematic = false; j3.isKinematic = false; if (elev.transform.localPosition.y < 0.5f) { XGEO.transform.localEulerAngles = new Vector3(0f, 0f, 0f); X.angleLimitLeft = 15f; X.angleLimitRight = 15f; } if (elev.transform.localPosition.y > 0.5f && elev.transform.localPosition.y < 1.5f) { XGEO.transform.localEulerAngles = new Vector3(15f, 0f, 0f); X.angleLimitLeft = 0f; X.angleLimitRight = 30f; } if (elev.transform.localPosition.y > 1.5f && elev.transform.localPosition.y < 2.5f) { XGEO.transform.localEulerAngles = new Vector3(0f, 0f, 0f); X.angleLimitLeft = 15f; X.angleLimitRight = 15f; } if (elev.transform.localPosition.y > 2.5f && elev.transform.localPosition.y < 3.5f) { XGEO.transform.localEulerAngles = new Vector3(345f, 0f, 0f); X.angleLimitLeft = 30f; X.angleLimitRight = 0f; } if (elev.transform.localPosition.y > 3.5f && elev.transform.localPosition.y < 4.5f) { XGEO.transform.localEulerAngles = new Vector3(0f, 0f, 0f); X.angleLimitLeft = 15f; X.angleLimitRight = 15f; } if (hori.transform.localPosition.y < 0.5f) { YGEO.transform.localEulerAngles = new Vector3(0f, 90f, 0f); Y.angleLimitLeft = 15f; Y.angleLimitRight = 15f; } if (hori.transform.localPosition.y > 0.5f && hori.transform.localPosition.y < 1.5f) { YGEO.transform.localEulerAngles = new Vector3(15f, 90f, 0f); Y.angleLimitLeft = 0f; Y.angleLimitRight = 30f; } if (hori.transform.localPosition.y > 1.5f && hori.transform.localPosition.y < 2.5f) { YGEO.transform.localEulerAngles = new Vector3(0f, 90f, 0f); Y.angleLimitLeft = 15f; Y.angleLimitRight = 15f; } if (hori.transform.localPosition.y > 2.5f && hori.transform.localPosition.y < 3.5f) { YGEO.transform.localEulerAngles = new Vector3(345f, 90f, 0f); Y.angleLimitLeft = 30f; Y.angleLimitRight = 0f; } if (hori.transform.localPosition.y > 3.5f && hori.transform.localPosition.y < 4.5f) { YGEO.transform.localEulerAngles = new Vector3(0f, 90f, 0f); Y.angleLimitLeft = 15f; Y.angleLimitRight = 15f; } } } public class Tripod : MonoBehaviour { public GameObject hinge; public GameObject trigger; public GameObject sliderot; public string gunname; public string gunnamebackup; public Transform slidemonut; public OpenBoltReceiver gun; private void Start() { } private void OnTriggerStay(Collider other) { //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_008b: Unknown result type (might be due to invalid IL or missing references) //IL_00af: 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_0106: Unknown result type (might be due to invalid IL or missing references) //IL_0141: Unknown result type (might be due to invalid IL or missing references) //IL_0146: Unknown result type (might be due to invalid IL or missing references) //IL_0195: Unknown result type (might be due to invalid IL or missing references) //IL_01d5: Unknown result type (might be due to invalid IL or missing references) if (hinge.transform.localEulerAngles.x > 45f) { if (!(((Object)((Component)other).gameObject).name == gunname) && !(((Object)((Component)other).gameObject).name == gunnamebackup)) { return; } ((Component)other).gameObject.transform.SetParent(slidemonut); ((Component)other).gameObject.transform.localPosition = new Vector3(0f, 0f, 0f); ((Component)other).gameObject.transform.localEulerAngles = new Vector3(0f, 0f, 0f); gun = ((Component)other).gameObject.GetComponent<OpenBoltReceiver>(); Rigidbody component = ((Component)other).gameObject.GetComponent<Rigidbody>(); component.isKinematic = true; component.useGravity = false; if ((Object)(object)gun != (Object)null) { if (trigger.transform.localEulerAngles.x > 45f) { gun.ReleaseSeer(); gun.Fire(); } else if (trigger.transform.localEulerAngles.x < 45f) { gun.EngageSeer(); } if (gun.Chamber.IsFull) { sliderot.transform.localEulerAngles = new Vector3(90f, 0f, 0f); } else if (!gun.Chamber.IsFull) { sliderot.transform.localEulerAngles = new Vector3(0f, 0f, 0f); } } } else if (((Object)((Component)other).gameObject).name == gunname || ((Object)((Component)other).gameObject).name == gunnamebackup) { Rigidbody component2 = ((Component)other).gameObject.GetComponent<Rigidbody>(); component2.isKinematic = false; component2.useGravity = true; ((Component)other).gameObject.transform.SetParent((Transform)null); gun = null; } } private void OnTriggerExit(Collider other) { if (((Object)((Component)other).gameObject).name == gunname || ((Object)((Component)other).gameObject).name == gunnamebackup) { Rigidbody component = ((Component)other).gameObject.GetComponent<Rigidbody>(); component.isKinematic = false; component.useGravity = true; ((Component)other).gameObject.transform.SetParent((Transform)null); gun = null; } } private void Update() { if (!((Object)(object)gun == (Object)null)) { } } } public class barrelc : MonoBehaviour { public FVRFireArmAttachmentMount mount; public GameObject plate; 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 (plate.transform.localEulerAngles.y < 45f) { if (mount.HasAttachmentsOnIt()) { ((Component)mount.AttachmentsList[0].AttachmentInterface).gameObject.SetActive(true); } } else if (mount.HasAttachmentsOnIt()) { ((Component)mount.AttachmentsList[0].AttachmentInterface).gameObject.SetActive(false); } } } public class gunpodtrigger : MonoBehaviour { public FVRInteractiveObject obj; public GameObject trigger; private void Start() { } private void Update() { //IL_00a4: Unknown result type (might be due to invalid IL or missing references) //IL_0078: 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) if ((Object)(object)obj.m_hand != (Object)null) { if (obj.m_hand.Input.TriggerPressed) { trigger.transform.localEulerAngles = new Vector3(90f, 0f, 0f); } else { trigger.transform.localEulerAngles = new Vector3(0f, 0f, 0f); } } else { trigger.transform.localEulerAngles = new Vector3(0f, 0f, 0f); } } } public class barrelchange : MonoBehaviour { public OpenBoltReceiver gun; public FVRFireArmAttachmentMount mount; private void Start() { } private void Update() { if (mount.HasAttachmentsOnIt()) { if (!(((Object)((Component)mount.AttachmentsList[0]).gameObject).name == "MG3Barrel(Clone)")) { gun.m_fireSelectorMode = 0; } } else { gun.m_fireSelectorMode = 0; } } } public class BarrelLatch : MonoBehaviour { public Collider boltgrab; public GameObject knob; public GameObject bolt; public GameObject grab; public GameObject barrel; public float speed = 0f; public float speed_multi = 0.001f; public float fore = 0.2344f; public float rear = 0f; public WaggleJoint dustcover; public bool islocked = true; public GameObject audioopen; public GameObject audioclose; public GameObject audioflipopen; public GameObject audioflipclose; 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_00ae: Unknown result type (might be due to invalid IL or missing references) //IL_00b3: Unknown result type (might be due to invalid IL or missing references) //IL_002e: 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_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) //IL_0051: Unknown result type (might be due to invalid IL or missing references) //IL_0056: Unknown result type (might be due to invalid IL or missing references) //IL_012d: Unknown result type (might be due to invalid IL or missing references) //IL_0132: Unknown result type (might be due to invalid IL or missing references) //IL_0279: Unknown result type (might be due to invalid IL or missing references) //IL_027e: Unknown result type (might be due to invalid IL or missing references) //IL_031c: Unknown result type (might be due to invalid IL or missing references) //IL_0321: Unknown result type (might be due to invalid IL or missing references) //IL_029c: Unknown result type (might be due to invalid IL or missing references) //IL_02a1: Unknown result type (might be due to invalid IL or missing references) //IL_015c: Unknown result type (might be due to invalid IL or missing references) //IL_0161: 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_02c4: Unknown result type (might be due to invalid IL or missing references) //IL_020a: Unknown result type (might be due to invalid IL or missing references) //IL_020f: Unknown result type (might be due to invalid IL or missing references) //IL_02f3: Unknown result type (might be due to invalid IL or missing references) //IL_023f: Unknown result type (might be due to invalid IL or missing references) //IL_01d4: Unknown result type (might be due to invalid IL or missing references) //IL_01e9: Unknown result type (might be due to invalid IL or missing references) //IL_01f4: Unknown result type (might be due to invalid IL or missing references) if (barrel.transform.localPosition.z > 0.2f && bolt.transform.localPosition.z > 0.2f && dustcover.hingeGraphic.localRotation.x >= 20f) { dustcover.angleLimitLeft = 115f; dustcover.angleLimitRight = -115f; audioflipclose.SetActive(true); audioflipopen.SetActive(false); } if (barrel.transform.localPosition.z <= 0.2f || bolt.transform.localPosition.z <= 0.2f) { dustcover.angleLimitLeft = 100f; dustcover.angleLimitRight = 0f; audioflipclose.SetActive(false); audioflipopen.SetActive(true); } if (grab.transform.localEulerAngles.x < 45f && !islocked) { if (barrel.transform.localPosition.z < fore) { boltgrab.enabled = false; audioopen.SetActive(false); speed += speed_multi; if (speed > 1f) { speed = 1f; } barrel.transform.localPosition = Vector3.MoveTowards(barrel.transform.localPosition, new Vector3(0f, 0f, fore), speed); } if (barrel.transform.localPosition.z >= fore) { barrel.transform.localPosition = new Vector3(0f, 0f, fore); speed = 0f; audioopen.SetActive(true); boltgrab.enabled = true; } } if (grab.transform.localPosition.x > 45f && barrel.transform.localPosition.z < 0.01f && knob.transform.localEulerAngles.x < 45f) { barrel.transform.localPosition = new Vector3(0f, 0f, rear); islocked = true; audioclose.SetActive(true); } if (knob.transform.localEulerAngles.x > 45f) { islocked = false; audioclose.SetActive(false); } } } } namespace JerryAr.MG3 { [BepInPlugin("JerryAr.MG3", "MG3", "1.1.0")] [BepInProcess("h3vr.exe")] [Description("Built with MeatKit")] [BepInDependency("h3vr.otherloader", "1.3.0")] public class MG3Plugin : 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.MG3"); OtherLoader.RegisterDirectLoad(BasePath, "JerryAr.MG3", "", "", "mg3", ""); } } } namespace JerryComponent { public class AutoGrabMagWell : MonoBehaviour { public GameObject rot; public FVRFireArm gun; public MagFold fold; private void Awake() { } private void Start() { } private void Update() { //IL_0052: Unknown result type (might be due to invalid IL or missing references) //IL_0057: Unknown result type (might be due to invalid IL or missing references) //IL_0141: Unknown result type (might be due to invalid IL or missing references) //IL_0146: 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_00fc: Unknown result type (might be due to invalid IL or missing references) if (Object.op_Implicit((Object)(object)gun.Magazine)) { if (gun.Magazine.IsBeltBox && GM.CurrentMovementManager.Hands[1].Input.IsGrabbing && rot.transform.localEulerAngles.y < 45f) { if ((Object)(object)GM.CurrentMovementManager.Hands[1].CurrentInteractable == (Object)null) { GM.CurrentMovementManager.Hands[1].ForceSetInteractable((FVRInteractiveObject)(object)fold); ((FVRInteractiveObject)fold).BeginInteraction(GM.CurrentMovementManager.Hands[1]); } } else if (gun.Magazine.IsBeltBox && !GM.CurrentMovementManager.Hands[1].Input.IsGrabbing && rot.transform.localEulerAngles.y < 45f) { gun.EjectMag(false); } else if (gun.Magazine.IsBeltBox && rot.transform.localEulerAngles.y != 45f) { } } else if (Object.op_Implicit((Object)(object)gun.Magazine)) { } } } public class BeltAppear : MonoBehaviour { public FVRFireArmTopCover cover; public FVRFoldingStockXAxis lifter; public BoxCollider col; public OpenBoltReceiver gun; public FVRObject[] beltempt; public Transform beltpos; public GameObject follower; public int followerX = 0; public int beltL = 20; public float a = 45f; private void Start() { //IL_001b: Unknown result type (might be due to invalid IL or missing references) follower.transform.localPosition = new Vector3(0f, 0f, 0f); followerX = 0; } private void OnPKMShotFired(FVRFireArm fireArm) { if ((Object)(object)fireArm == (Object)(object)gun) { followerX++; if (followerX >= beltL) { Object.Instantiate<GameObject>(((AnvilAsset)beltempt[beltL]).GetGameObject(), beltpos); followerX = 0; } } } private void Awake() { //IL_000d: Unknown result type (might be due to invalid IL or missing references) //IL_0017: Expected O, but got Unknown GM.CurrentSceneSettings.ShotFiredEvent += new ShotFired(OnPKMShotFired); } private void Update() { //IL_001d: Unknown result type (might be due to invalid IL or missing references) //IL_0042: Unknown result type (might be due to invalid IL or missing references) //IL_0047: Unknown result type (might be due to invalid IL or missing references) //IL_0082: Unknown result type (might be due to invalid IL or missing references) //IL_0087: Unknown result type (might be due to invalid IL or missing references) //IL_00b2: Unknown result type (might be due to invalid IL or missing references) //IL_00b7: Unknown result type (might be due to invalid IL or missing references) //IL_0108: Unknown result type (might be due to invalid IL or missing references) //IL_010d: Unknown result type (might be due to invalid IL or missing references) //IL_0176: Unknown result type (might be due to invalid IL or missing references) //IL_017b: Unknown result type (might be due to invalid IL or missing references) //IL_012c: Unknown result type (might be due to invalid IL or missing references) //IL_0131: Unknown result type (might be due to invalid IL or missing references) //IL_0160: Unknown result type (might be due to invalid IL or missing references) //IL_01a6: Unknown result type (might be due to invalid IL or missing references) //IL_01ab: Unknown result type (might be due to invalid IL or missing references) //IL_01d9: Unknown result type (might be due to invalid IL or missing references) follower.transform.localPosition = new Vector3((float)followerX, 0f, 0f); if (!((FVRFireArm)gun).HasBelt && ((Component)cover).transform.localEulerAngles.x >= 45f) { ((Collider)col).enabled = true; } if (((FVRFireArm)gun).HasBelt || ((Component)cover).transform.localEulerAngles.x < 45f) { ((Collider)col).enabled = false; } if (((Component)lifter).transform.localEulerAngles.x <= 22.5f && followerX != 0) { Object.Instantiate<GameObject>(((AnvilAsset)beltempt[followerX]).GetGameObject(), beltpos); followerX = 0; } if (((Component)lifter).transform.localEulerAngles.x < 45f) { a = ((Component)lifter).transform.localEulerAngles.x; ((Component)lifter).transform.localEulerAngles = new Vector3(a + 5f, 0f, 0f); } if (((Component)lifter).transform.localEulerAngles.x == 45f) { a = 45f; } if (((Component)lifter).transform.localEulerAngles.x > 45f) { ((Component)lifter).transform.localEulerAngles = new Vector3(45f, 0f, 0f); } } private void OnDestroy() { //IL_000d: Unknown result type (might be due to invalid IL or missing references) //IL_0017: Expected O, but got Unknown GM.CurrentSceneSettings.ShotFiredEvent -= new ShotFired(OnPKMShotFired); } } public class BeltAppear2 : MonoBehaviour { public FVRFireArmTopCover cover; public FVRFoldingStockXAxis lifter; public BoxCollider col; public OpenBoltReceiver gun; public float a = 45f; private void Start() { } private void Awake() { } private void Update() { //IL_001c: Unknown result type (might be due to invalid IL or missing references) //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_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_008c: Unknown result type (might be due to invalid IL or missing references) //IL_0091: Unknown result type (might be due to invalid IL or missing references) //IL_00f9: Unknown result type (might be due to invalid IL or missing references) //IL_00fe: 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) //IL_00e3: 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_012e: Unknown result type (might be due to invalid IL or missing references) //IL_015c: Unknown result type (might be due to invalid IL or missing references) if (!((FVRFireArm)gun).HasBelt && ((Component)cover).transform.localEulerAngles.x >= 45f) { ((Collider)col).enabled = true; } if (((FVRFireArm)gun).HasBelt || ((Component)cover).transform.localEulerAngles.x < 45f) { ((Collider)col).enabled = false; } if (((Component)lifter).transform.localEulerAngles.x < 45f) { a = ((Component)lifter).transform.localEulerAngles.x; ((Component)lifter).transform.localEulerAngles = new Vector3(a + 5f, 0f, 0f); } if (((Component)lifter).transform.localEulerAngles.x == 45f) { a = 45f; } if (((Component)lifter).transform.localEulerAngles.x > 45f) { ((Component)lifter).transform.localEulerAngles = new Vector3(45f, 0f, 0f); } } } public class BeltChange : MonoBehaviour { public OpenBoltReceiver gun2; public FVRFirearmBeltDisplayData data1; public FVRFirearmBeltDisplayData data2; public GameObject rot; public Transform _Magpos; public Transform _Boxpos; 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_0041: 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) if (rot.transform.localEulerAngles.x < 45f) { ((FVRFireArm)gun2).BeltDD = data1; } if (rot.transform.localEulerAngles.x >= 45f) { ((FVRFireArm)gun2).BeltDD = data2; } ((FVRFireArm)gun2).BeltBoxMountPos = _Boxpos; ((FVRFireArm)gun2).MagazineMountPos = _Magpos; } } public class BeltGrab : MonoBehaviour { public FVRFireArm gun; public GameObject grabpos; private void Start() { } private void Update() { //IL_00dc: 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_0073: Unknown result type (might be due to invalid IL or missing references) //IL_00a2: Unknown result type (might be due to invalid IL or missing references) if ((Object)(object)gun.Magazine != (Object)null && gun.Magazine.IsBeltBox) { if ((Object)(object)((FVRInteractiveObject)gun.Magazine.BeltGrabTrigger).m_hand != (Object)null) { ((Component)((FVRInteractiveObject)gun.Magazine.BeltGrabTrigger).PoseOverride).transform.position = grabpos.transform.position; ((Component)((FVRInteractiveObject)gun.Magazine.BeltGrabTrigger).PoseOverride_Touch).transform.position = grabpos.transform.position; } else { ((Component)((FVRInteractiveObject)gun.Magazine.BeltGrabTrigger).PoseOverride).transform.localPosition = new Vector3(0f, 0f, 0f); ((Component)((FVRInteractiveObject)gun.Magazine.BeltGrabTrigger).PoseOverride_Touch).transform.localPosition = new Vector3(0f, 0f, 0f); } } } } public class Control_Enable : MonoBehaviour { public GameObject objToRead; public GameObject objToAffect; private void Start() { } private void Update() { if (objToRead.activeInHierarchy) { objToAffect.SetActive(true); } else { objToAffect.SetActive(false); } } } public class Control_Enable_Rev : MonoBehaviour { public GameObject objToRead; public GameObject objToAffect; private void Start() { } private void Update() { if (objToRead.activeInHierarchy) { objToAffect.SetActive(false); } else { objToAffect.SetActive(true); } } } public class DoveTail : MonoBehaviour { public GameObject topcoverRot; public Collider topCover; public GameObject dovetail; public WaggleJoint wag; public GameObject switchToRelease; public GameObject barrel; public GameObject grip; public GameObject stock; public GameObject lockpiece; private void Start() { } private void Update() { //IL_0049: Unknown result type (might be due to invalid IL or missing references) //IL_004e: Unknown result type (might be due to invalid IL or missing references) //IL_010b: Unknown result type (might be due to invalid IL or missing references) //IL_0110: Unknown result type (might be due to invalid IL or missing references) //IL_0078: Unknown result type (might be due to invalid IL or missing references) //IL_007d: Unknown result type (might be due to invalid IL or missing references) //IL_013a: 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_00c1: Unknown result type (might be due to invalid IL or missing references) //IL_00c6: Unknown result type (might be due to invalid IL or missing references) //IL_01f3: Unknown result type (might be due to invalid IL or missing references) //IL_01f8: Unknown result type (might be due to invalid IL or missing references) //IL_015e: Unknown result type (might be due to invalid IL or missing references) //IL_0163: Unknown result type (might be due to invalid IL or missing references) //IL_01a8: Unknown result type (might be due to invalid IL or missing references) //IL_01ad: Unknown result type (might be due to invalid IL or missing references) if (barrel.activeInHierarchy && grip.activeInHierarchy && stock.activeInHierarchy) { dovetail.SetActive(true); if (switchToRelease.transform.localEulerAngles.x > 45f) { topCover.enabled = true; if (topcoverRot.transform.localEulerAngles.x < 2f) { wag.angleLimitLeft = 32f; wag.angleLimitRight = 0f; } else if (topcoverRot.transform.localEulerAngles.x > 2f) { wag.angleLimitLeft = 10f; wag.angleLimitRight = 0f; } } else { if (!(switchToRelease.transform.localEulerAngles.x < 45f)) { return; } topCover.enabled = false; if (topcoverRot.transform.localEulerAngles.x < 2f) { if (lockpiece.transform.localEulerAngles.x > 45f) { wag.angleLimitLeft = 32f; wag.angleLimitRight = 0f; } else if (lockpiece.transform.localEulerAngles.x < 45f) { wag.angleLimitLeft = 32f; wag.angleLimitRight = -32f; } } else if (topcoverRot.transform.localEulerAngles.x > 2f) { wag.angleLimitLeft = 10f; wag.angleLimitRight = 0f; } } } else { wag.angleLimitLeft = 32f; wag.angleLimitRight = -32f; dovetail.SetActive(false); topCover.enabled = true; } } } public class MagFold : FVRInteractiveObject { public enum StockPos { Closed, Mid, Open } public Transform Root; public Transform Stock; public float rotAngle; public float MinRot; public float MaxRot; public StockPos m_curPos; public StockPos m_lastPos; public bool isMinClosed = true; public FVRFireArm FireArm; public override void UpdateInteraction(FVRViveHand hand) { //IL_000e: Unknown result type (might be due to invalid IL or missing references) //IL_0019: Unknown result type (might be due to invalid IL or missing references) //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_0024: Unknown result type (might be due to invalid IL or missing references) //IL_002b: Unknown result type (might be due to invalid IL or missing references) //IL_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_0038: Unknown result type (might be due to invalid IL or missing references) //IL_003d: Unknown result type (might be due to invalid IL or missing references) //IL_0049: Unknown result type (might be due to invalid IL or missing references) //IL_004e: Unknown result type (might be due to invalid IL or missing references) //IL_0053: Unknown result type (might be due to invalid IL or missing references) //IL_005b: Unknown result type (might be due to invalid IL or missing references) //IL_0060: 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_0062: 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_006d: Unknown result type (might be due to invalid IL or missing references) //IL_0110: Unknown result type (might be due to invalid IL or missing references) //IL_018d: Unknown result type (might be due to invalid IL or missing references) //IL_014c: 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_01a6: Unknown result type (might be due to invalid IL or missing references) //IL_01bb: Unknown result type (might be due to invalid IL or missing references) //IL_01c1: Invalid comparison between Unknown and I4 //IL_0173: Unknown result type (might be due to invalid IL or missing references) //IL_0165: Unknown result type (might be due to invalid IL or missing references) //IL_01e7: Unknown result type (might be due to invalid IL or missing references) //IL_01c7: Unknown result type (might be due to invalid IL or missing references) //IL_01cd: Invalid comparison between Unknown and I4 //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_01f2: Unknown result type (might be due to invalid IL or missing references) ((FVRInteractiveObject)this).UpdateInteraction(hand); Vector3 val = ((HandInput)(ref hand.Input)).Pos - Root.position; Vector3 val2 = Vector3.ProjectOnPlane(val, Root.up); val = ((Vector3)(ref val2)).normalized; Vector3 val3 = -((Component)Root).transform.forward; rotAngle = Mathf.Atan2(Vector3.Dot(Root.up, Vector3.Cross(val3, val)), Vector3.Dot(val3, val)) * 57.29578f; if (Mathf.Abs(rotAngle - MinRot) < 5f) { rotAngle = MinRot; } if (Mathf.Abs(rotAngle - MaxRot) < 5f) { rotAngle = MaxRot; } if (!(rotAngle >= MinRot) || !(rotAngle <= MaxRot)) { return; } Stock.localEulerAngles = new Vector3(0f, rotAngle, 0f); float num = Mathf.InverseLerp(MinRot, MaxRot, rotAngle); if (isMinClosed) { if (num < 0.02f) { m_curPos = (StockPos)0; } else if (num > 0.9f) { m_curPos = (StockPos)2; } else { m_curPos = (StockPos)1; } } else if (num < 0.1f) { m_curPos = (StockPos)2; } else if (num > 0.98f) { m_curPos = (StockPos)0; } else { m_curPos = (StockPos)1; } if ((int)m_curPos == 2 && (int)m_lastPos != 2) { FireArm.PlayAudioEvent((FirearmAudioEventType)30, 1f); } if ((int)m_curPos == 0 && (int)m_lastPos != 0) { FireArm.PlayAudioEvent((FirearmAudioEventType)31, 1f); } m_lastPos = m_curPos; } } public class MagMani : MonoBehaviour { public OpenBoltReceiver gun; public GameObject magmount; public GameObject well; public Collider col; public Collider col2; private void Start() { } private void Update() { //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_004a: 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_0190: Unknown result type (might be due to invalid IL or missing references) //IL_0195: Unknown result type (might be due to invalid IL or missing references) //IL_0141: Unknown result type (might be due to invalid IL or missing references) //IL_0160: 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_00c9: 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) //IL_0084: Unknown result type (might be due to invalid IL or missing references) //IL_01c3: Unknown result type (might be due to invalid IL or missing references) if (Object.op_Implicit((Object)(object)((FVRFireArm)gun).Magazine)) { if ((float)((FVRFireArm)gun).Magazine.m_numRounds == 0f) { col.enabled = true; if (magmount.transform.localEulerAngles.z < 5f) { ((FVRFireArm)gun).EjectMag(true); } else if (!(magmount.transform.localEulerAngles.z >= 5f)) { } } else if ((float)((FVRFireArm)gun).Magazine.m_numRounds > 0f && magmount.transform.localEulerAngles.z == 45f) { col.enabled = false; } } else if (!Object.op_Implicit((Object)(object)((FVRFireArm)gun).Magazine) && magmount.transform.localEulerAngles.z < 5f) { well.transform.localEulerAngles = new Vector3(0f, 0f, 20f); ((Component)this).transform.localEulerAngles = new Vector3(0f, 0f, 0f); } else if (Object.op_Implicit((Object)(object)((FVRFireArm)gun).Magazine) && magmount.transform.localEulerAngles.z < 5f) { well.transform.localEulerAngles = new Vector3(0f, 0f, 0f); } if (Object.op_Implicit((Object)(object)((FVRFireArm)gun).Magazine)) { col2.enabled = false; } if (!Object.op_Implicit((Object)(object)((FVRFireArm)gun).Magazine)) { col2.enabled = true; } } } } public class MagPosChange : MonoBehaviour { private void Start() { } private void Update() { } } namespace JerryComponent { public class MagRotate : MonoBehaviour { public GameObject rot; public FVRFireArm gun; public FVRFoldingStockYAxis fold; private GameObject _player = null; private FVRViveHand leftHand = null; private FVRViveHand rightHand = null; public bool leftGrab; public bool rightGrab; private void Awake() { _player = ((Component)Object.FindObjectOfType<FVRPlayerBody>()).gameObject; } private void Start() { leftHand = ((Component)_player.transform.Find("Controller (left)")).GetComponent<FVRViveHand>(); rightHand = ((Component)_player.transform.Find("Controller (right)")).GetComponent<FVRViveHand>(); } private void Update() { //IL_021b: Unknown result type (might be due to invalid IL or missing references) //IL_0037: Unknown result type (might be due to invalid IL or missing references) //IL_003c: 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_014c: Unknown result type (might be due to invalid IL or missing references) //IL_0151: Unknown result type (might be due to invalid IL or missing references) //IL_01cb: 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_0196: Unknown result type (might be due to invalid IL or missing references) //IL_019b: Unknown result type (might be due to invalid IL or missing references) if (Object.op_Implicit((Object)(object)gun.Magazine)) { if (rightHand.Input.IsGrabbing && rot.transform.localEulerAngles.y < 30f) { if ((Object)(object)rightHand.CurrentInteractable != (Object)null) { rightGrab = false; } else { rightHand.ForceSetInteractable((FVRInteractiveObject)(object)fold); ((FVRInteractiveObject)fold).BeginInteraction(rightHand); rightGrab = true; } } if (leftHand.Input.IsGrabbing && rot.transform.localEulerAngles.y < 30f) { if ((Object)(object)leftHand.CurrentInteractable != (Object)null) { leftGrab = false; return; } leftHand.ForceSetInteractable((FVRInteractiveObject)(object)fold); ((FVRInteractiveObject)fold).BeginInteraction(leftHand); leftGrab = true; } else if (!rightHand.Input.IsGrabbing && rot.transform.localEulerAngles.y < 30f) { gun.EjectMag(false); } else if (!leftHand.Input.IsGrabbing && rot.transform.localEulerAngles.y < 30f) { gun.EjectMag(false); } else if (rot.transform.localEulerAngles.y != 30f) { } } else if (!Object.op_Implicit((Object)(object)gun.Magazine)) { rot.transform.localEulerAngles = new Vector3(0f, 0f, 0f); } } } public class MagRotate2 : MonoBehaviour { public GameObject rot; public FVRFireArm gun; public MagFold fold; private void Awake() { } private void Start() { } private void Update() { //IL_0236: Unknown result type (might be due to invalid IL or missing references) //IL_01ba: Unknown result type (might be due to invalid IL or missing references) //IL_01bf: Unknown result type (might be due to invalid IL or missing references) //IL_0058: Unknown result type (might be due to invalid IL or missing references) //IL_005d: Unknown result type (might be due to invalid IL or missing references) //IL_0134: Unknown result type (might be due to invalid IL or missing references) //IL_0139: Unknown result type (might be due to invalid IL or missing references) //IL_00ff: Unknown result type (might be due to invalid IL or missing references) //IL_0104: Unknown result type (might be due to invalid IL or missing references) if (Object.op_Implicit((Object)(object)gun.Magazine)) { if ((Object)(object)((FVRInteractiveObject)gun).m_hand != (Object)null) { if (((FVRInteractiveObject)gun).m_hand.OtherHand.Input.IsGrabbing && rot.transform.localEulerAngles.y < 30f) { if (!((Object)(object)((FVRInteractiveObject)gun).m_hand.OtherHand.CurrentInteractable != (Object)null)) { ((FVRInteractiveObject)gun).m_hand.OtherHand.ForceSetInteractable((FVRInteractiveObject)(object)fold); ((FVRInteractiveObject)fold).BeginInteraction(((FVRInteractiveObject)gun).m_hand.OtherHand); } } else if (!((FVRInteractiveObject)gun).m_hand.OtherHand.Input.IsGrabbing && rot.transform.localEulerAngles.y < 30f) { gun.EjectMag(false); } else if (rot.transform.localEulerAngles.y >= 30f && (Object)(object)((FVRInteractiveObject)gun).m_hand.OtherHand.m_currentInteractable == (Object)(object)fold) { fold.MinRot = 30f; fold.MaxRot = 30f; } } else if ((Object)(object)((FVRInteractiveObject)gun).m_hand == (Object)null && rot.transform.localEulerAngles.y < 30f) { gun.EjectMag(false); } } else if (!Object.op_Implicit((Object)(object)gun.Magazine)) { fold.MinRot = 0f; fold.MaxRot = 30f; rot.transform.localEulerAngles = new Vector3(0f, 0f, 0f); } } } public class Assem : FVRPhysicalObject, IFVRDamageable { public Transform Tip; public Vector2 TipRange; [NonSerialized] public bool m_isSpraying; [NonSerialized] public bool m_wasSpraying; [NonSerialized] public bool m_isIgnited; [NonSerialized] public bool m_wasIgnited; public LayerMask LM_sprayCast; [NonSerialized] public RaycastHit m_hit; public string Filltag; public float SprayDistance; public float SprayAngle; public AudioEvent AudEvent_Head; public AudioEvent AudEvent_Tail; public AudioSource AudSource_Loop; public AudioClip AudClip_Spray; public AudioClip AudClip_Fire; public Transform Muzzle; public ParticleSystem PSystem_Spray; public GameObject Proj_Fire; public GameObject IgnitorTrigger; public AudioEvent AudEvent_Rattle; public float RattleRadius; public float RattleHeight; [NonSerialized] public Vector3 m_rattlePos = Vector3.zero; [NonSerialized] public Vector3 m_rattleLastPos = Vector3.zero; [NonSerialized] public Vector3 m_rattleVel = Vector3.zero; [NonSerialized] public bool m_israttleSide; [NonSerialized] public bool m_wasrattleSide; public Transform ballviz; [NonSerialized] public bool m_hasExploed; public GameObject Splode; [NonSerialized] public float m_timeTilCast = 0.03f; public void Damage(Damage d) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Invalid comparison between Unknown and I4 if ((int)d.Class == 1 || (d.Dam_Thermal > 0f && m_isSpraying)) { Explode(); } } public void Explode() { //IL_0025: Unknown result type (might be due to invalid IL or missing references) //IL_0030: Unknown result type (might be due to invalid IL or missing references) if (!m_hasExploed) { m_hasExploed = true; Object.Instantiate<GameObject>(Splode, ((Component)this).transform.position, ((Component)this).transform.rotation); Object.Destroy((Object)(object)((Component)this).gameObject); } } public void RattleUpdate() { //IL_0033: Unknown result type (might be due to invalid IL or missing references) //IL_0045: Unknown result type (might be due to invalid IL or missing references) //IL_004a: Unknown result type (might be due to invalid IL or missing references) //IL_004f: Unknown result type (might be due to invalid IL or missing references) //IL_0059: Unknown result type (might be due to invalid IL or missing references) //IL_005e: Unknown result type (might be due to invalid IL or missing references) //IL_0063: 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_006b: Unknown result type (might be due to invalid IL or missing references) //IL_0070: Unknown result type (might be due to invalid IL or missing references) //IL_007a: Unknown result type (might be due to invalid IL or missing references) //IL_0084: Unknown result type (might be due to invalid IL or missing references) //IL_0089: Unknown result type (might be due to invalid IL or missing references) //IL_008e: 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_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_00a7: 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_00b2: Unknown result type (might be due to invalid IL or missing references) //IL_00b7: Unknown result type (might be due to invalid IL or missing references) //IL_00bc: Unknown result type (might be due to invalid IL or missing references) //IL_0110: Unknown result type (might be due to invalid IL or missing references) //IL_0111: Unknown result type (might be due to invalid IL or missing references) //IL_011c: Unknown result type (might be due to invalid IL or missing references) //IL_0121: Unknown result type (might be due to invalid IL or missing references) //IL_0126: Unknown result type (might be due to invalid IL or missing references) //IL_0133: Unknown result type (might be due to invalid IL or missing references) //IL_0147: Unknown result type (might be due to invalid IL or missing references) //IL_014c: Unknown result type (might be due to invalid IL or missing references) //IL_0151: Unknown result type (might be due to invalid IL or missing references) //IL_019e: Unknown result type (might be due to invalid IL or missing references) //IL_01a3: 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_01b0: Unknown result type (might be due to invalid IL or missing references) //IL_01b5: Unknown result type (might be due to invalid IL or missing references) //IL_01c1: Unknown result type (might be due to invalid IL or missing references) //IL_0250: Unknown result type (might be due to invalid IL or missing references) //IL_0255: Unknown result type (might be due to invalid IL or missing references) //IL_01e8: 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_021f: Unknown result type (might be due to invalid IL or missing references) //IL_0234: Unknown result type (might be due to invalid IL or missing references) //IL_0243: Unknown result type (might be due to invalid IL or missing references) m_wasrattleSide = m_israttleSide; if (m_wasrattleSide) { m_rattleVel = ((FVRPhysicalObject)this).RootRigidbody.velocity; } else { m_rattleVel -= ((FVRPhysicalObject)this).RootRigidbody.GetPointVelocity(((Component)this).transform.TransformPoint(m_rattlePos)) * Time.deltaTime; } m_rattleVel += Vector3.up * -0.5f * Time.deltaTime; Vector3 val = ((Component)this).transform.InverseTransformDirection(m_rattleVel); m_rattlePos += val * Time.deltaTime; float num = m_rattlePos.y; Vector2 val2 = default(Vector2); ((Vector2)(ref val2))..ctor(m_rattlePos.x, m_rattlePos.z); m_israttleSide = false; float magnitude = ((Vector2)(ref val2)).magnitude; if (magnitude > RattleRadius) { float num2 = RattleRadius - magnitude; val2 = Vector2.op_Implicit(Vector3.ClampMagnitude(Vector2.op_Implicit(val2), RattleRadius)); num += num2 * Mathf.Sign(num); val = Vector3.ProjectOnPlane(val, new Vector3(val2.x, 0f, val2.y)); m_israttleSide = true; } if (Mathf.Abs(num) > RattleHeight) { num = RattleHeight * Mathf.Sign(num); val.y = 0f; m_israttleSide = true; } m_rattlePos = new Vector3(val2.x, num, val2.y); m_rattleVel = ((Component)this).transform.TransformDirection(val); ballviz.localPosition = m_rattlePos; if (m_israttleSide && !m_wasrattleSide) { float num3 = Mathf.Clamp(4f * (Vector3.Distance(m_rattlePos, m_rattleLastPos) / RattleRadius), 0f, 1f); SM.PlayCoreSoundOverrides((FVRPooledAudioType)40, AudEvent_Rattle, ballviz.position, new Vector2(num3 * 0.4f, num3 * 0.4f), new Vector2(1f, 1f)); } m_rattleLastPos = m_rattlePos; } public override void UpdateInteraction(FVRViveHand hand) { ((FVRPhysicalObject)this).UpdateInteraction(hand); m_isSpraying = false; if (((FVRInteractiveObject)this).m_hasTriggeredUpSinceBegin) { ((FVRPhysicalObject)this).SetAnimatedComponent(Tip, Mathf.Lerp(TipRange.x, TipRange.y, hand.Input.TriggerFloat), (InterpStyle)0, (Axis)1); if (hand.Input.TriggerFloat > 0.8f) { m_isSpraying = true; } } } public override void EndInteraction(FVRViveHand hand) { ((FVRPhysicalObject)this).EndInteraction(hand); ((FVRPhysicalObject)this).SetAnimatedComponent(Tip, TipRange.x, (InterpStyle)0, (Axis)1); m_isSpraying = false; } public void Ignite() { if (m_isSpraying) { m_isIgnited = true; } } public override void FVRUpdate() { //IL_0043: Unknown result type (might be due to invalid IL or missing references) //IL_004e: 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_00a6: Unknown result type (might be due to invalid IL or missing references) //IL_0207: 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_00ed: Unknown result type (might be due to invalid IL or missing references) //IL_0112: Unknown result type (might be due to invalid IL or missing references) //IL_0117: Unknown result type (might be due to invalid IL or missing references) //IL_011c: Unknown result type (might be due to invalid IL or missing references) //IL_011d: Unknown result type (might be due to invalid IL or missing references) //IL_0122: Unknown result type (might be due to invalid IL or missing references) //IL_0147: Unknown result type (might be due to invalid IL or missing references) //IL_014c: Unknown result type (might be due to invalid IL or missing references) //IL_0151: 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) //IL_0157: Unknown result type (might be due to invalid IL or missing references) //IL_015e: Unknown result type (might be due to invalid IL or missing references) //IL_0169: Unknown result type (might be due to invalid IL or missing references) //IL_017b: Unknown result type (might be due to invalid IL or missing references) //IL_0259: Unknown result type (might be due to invalid IL or missing references) ((FVRPhysicalObject)this).FVRUpdate(); RattleUpdate(); if (m_isSpraying) { m_timeTilCast -= Time.deltaTime; if (m_isIgnited) { GameObject val = Object.Instantiate<GameObject>(Proj_Fire, Muzzle.position, Muzzle.rotation); val.transform.Rotate(new Vector3(Random.Range(0f - SprayAngle, SprayAngle), Random.Range(0f - SprayAngle, SprayAngle), 0f)); BallisticProjectile component = val.GetComponent<BallisticProjectile>(); component.Fire(component.MuzzleVelocityBase, val.transform.forward, (FVRFireArm)null, true); } else { PSystem_Spray.Emit(10); if (m_timeTilCast < 0f) { m_timeTilCast = 0.03f; Vector3 forward = Muzzle.forward; forward = Quaternion.AngleAxis(Random.Range((0f - SprayAngle) * 3f, SprayAngle * 3f), Muzzle.up) * forward; forward = Quaternion.AngleAxis(Random.Range((0f - SprayAngle) * 3f, SprayAngle * 3f), Muzzle.right) * forward; if (Physics.Raycast(Muzzle.position, Muzzle.forward, ref m_hit, SprayDistance, LayerMask.op_Implicit(LM_sprayCast), (QueryTriggerInteraction)1) && ((Component)((RaycastHit)(ref m_hit)).collider).gameObject.CompareTag(Filltag)) { maufunctions component2 = ((Component)((RaycastHit)(ref m_hit)).collider.attachedRigidbody).gameObject.GetComponent<maufunctions>(); component2.wetness += 25f; } } } } if (m_isSpraying && !m_wasSpraying) { SM.PlayCoreSound((FVRPooledAudioType)10, AudEvent_Head, Muzzle.position); AudSource_Loop.clip = AudClip_Spray; AudSource_Loop.Play(); } else if (m_wasSpraying && !m_isSpraying) { SM.PlayCoreSound((FVRPooledAudioType)10, AudEvent_Tail, Muzzle.position); AudSource_Loop.Stop(); } if (m_isSpraying && !m_isIgnited) { if (!IgnitorTrigger.activeSelf) { IgnitorTrigger.SetActive(true); } } else if (IgnitorTrigger.activeSelf) { IgnitorTrigger.SetActive(false); } if (!m_isSpraying) { m_isIgnited = false; } if (m_isIgnited && !m_wasIgnited) { AudSource_Loop.clip = AudClip_Fire; AudSource_Loop.Play(); } m_wasSpraying = m_isSpraying; m_wasIgnited = m_isIgnited; } } public class DisableInterfaceAndcolliders : MonoBehaviour { public bool locked = true; public Handgun gun; public GameObject triggerguradrot; public GameObject safetyrot; public FVRFireArmAttachmentMount maglatch; public FVRFireArmAttachmentMount barrel; public FVRFireArmAttachmentMount spring; public FVRFireArmAttachmentMount slide; public FVRFireArmAttachmentMount trigger; public FVRFireArmAttachmentMount triggerguard; public FVRFireArmAttachmentMount safety; public FVRFireArmAttachmentMount lever; public FVRFireArmAttachmentMount hammer; public FVRFireArmAttachmentMount hammerstop; public FVRFireArmAttachmentMount sliderelease; public Collider safetycol; public Collider springcol; public Collider slidecol; public Collider SlideGrab; public GameObject slidepiece; public ManipulateObject springmani; private void Start() { } private void Update() { //IL_024c: Unknown result type (might be due to invalid IL or missing references) //IL_0573: Unknown result type (might be due to invalid IL or missing references) //IL_0578: Unknown result type (might be due to invalid IL or missing references) //IL_05db: Unknown result type (might be due to invalid IL or missing references) //IL_05e0: Unknown result type (might be due to invalid IL or missing references) //IL_0504: Unknown result type (might be due to invalid IL or missing references) //IL_0509: Unknown result type (might be due to invalid IL or missing references) //IL_0a26: Unknown result type (might be due to invalid IL or missing references) //IL_0a56: Unknown result type (might be due to invalid IL or missing references) //IL_0ad9: Unknown result type (might be due to invalid IL or missing references) //IL_0afd: Unknown result type (might be due to invalid IL or missing references) if (slide.HasAttachmentsOnIt()) { ((Behaviour)springmani).enabled = true; if (spring.HasAttachmentsOnIt()) { ((Component)spring.AttachmentsList[0].AttachmentInterface).gameObject.SetActive(false); } if (barrel.HasAttachmentsOnIt()) { ((Component)barrel.AttachmentsList[0].AttachmentInterface).gameObject.SetActive(false); } if (trigger.HasAttachmentsOnIt()) { ((Component)trigger.AttachmentsList[0].AttachmentInterface).gameObject.SetActive(false); } if (triggerguard.HasAttachmentsOnIt()) { ((Component)triggerguard.AttachmentsList[0].AttachmentInterface).gameObject.SetActive(false); } if (lever.HasAttachmentsOnIt()) { ((Component)lever.AttachmentsList[0].AttachmentInterface).gameObject.SetActive(false); if (((FVRPhysicalObject)lever.AttachmentsList[0]).AttachmentMounts[0].HasAttachmentsOnIt()) { ((Component)((FVRPhysicalObject)lever.AttachmentsList[0]).AttachmentsList[0].AttachmentInterface).gameObject.SetActive(false); } } if (hammer.HasAttachmentsOnIt()) { ((Component)hammer.AttachmentsList[0].AttachmentInterface).gameObject.SetActive(false); } if (hammerstop.HasAttachmentsOnIt()) { ((Component)hammerstop.AttachmentsList[0].AttachmentInterface).gameObject.SetActive(false); } if (sliderelease.HasAttachmentsOnIt()) { ((Component)sliderelease.AttachmentsList[0].AttachmentInterface).gameObject.SetActive(false); } } else if (!slide.HasAttachmentsOnIt()) { ((Behaviour)springmani).enabled = false; ((Component)spring).gameObject.transform.localScale = new Vector3(1f, 1f, 1f); if (spring.HasAttachmentsOnIt()) { ((Component)spring.AttachmentsList[0].AttachmentInterface).gameObject.SetActive(true); if (barrel.HasAttachmentsOnIt()) { ((Component)barrel.AttachmentsList[0].AttachmentInterface).gameObject.SetActive(false); } } else if (!spring.HasAttachmentsOnIt() && barrel.HasAttachmentsOnIt()) { ((Component)barrel.AttachmentsList[0].AttachmentInterface).gameObject.SetActive(true); } if (trigger.HasAttachmentsOnIt()) { ((Component)trigger.AttachmentsList[0].AttachmentInterface).gameObject.SetActive(true); } if (triggerguard.HasAttachmentsOnIt()) { ((Component)triggerguard.AttachmentsList[0].AttachmentInterface).gameObject.SetActive(true); } if (lever.HasAttachmentsOnIt()) { ((Component)lever.AttachmentsList[0].AttachmentInterface).gameObject.SetActive(true); if (((FVRPhysicalObject)lever.AttachmentsList[0]).AttachmentMounts[0].HasAttachmentsOnIt()) { ((Component)((FVRPhysicalObject)lever.AttachmentsList[0]).AttachmentsList[0].AttachmentInterface).gameObject.SetActive(true); } } if (hammer.HasAttachmentsOnIt()) { ((Component)hammer.AttachmentsList[0].AttachmentInterface).gameObject.SetActive(true); } if (hammerstop.HasAttachmentsOnIt()) { ((Component)hammerstop.AttachmentsList[0].AttachmentInterface).gameObject.SetActive(true); } if (sliderelease.HasAttachmentsOnIt()) { ((Component)sliderelease.AttachmentsList[0].AttachmentInterface).gameObject.SetActive(true); } } if (safety.HasAttachmentsOnIt()) { if (slide.HasAttachmentsOnIt()) { ((Component)slide.AttachmentsList[0].AttachmentInterface).gameObject.SetActive(false); } } else if (!safety.HasAttachmentsOnIt() && slide.HasAttachmentsOnIt()) { if (triggerguradrot.transform.localEulerAngles.x > 10f) { ((Component)slide.AttachmentsList[0].AttachmentInterface).gameObject.SetActive(true); } else { ((Component)slide.AttachmentsList[0].AttachmentInterface).gameObject.SetActive(false); } } if (triggerguradrot.transform.localEulerAngles.x < 10f) { SlideGrab.enabled = true; if (safety.HasAttachmentsOnIt()) { ((Component)safety.AttachmentsList[0].AttachmentInterface).gameObject.SetActive(false); } } else if (triggerguradrot.transform.localEulerAngles.x > 10f) { SlideGrab.enabled = false; if (safety.HasAttachmentsOnIt()) { ((Component)safety.AttachmentsList[0].AttachmentInterface).gameObject.SetActive(true); } } if (!maglatch.HasAttachmentsOnIt()) { ((FVRFireArm)gun).EjectMag(false); } else if (!maglatch.HasAttachmentsOnIt()) { } if (barrel.HasAttachmentsOnIt()) { springcol.enabled = true; } else if (!barrel.HasAttachmentsOnIt()) { springcol.enabled = false; } if (barrel.HasAttachmentsOnIt() && spring.HasAttachmentsOnIt() && lever.HasAttachmentsOnIt() && hammer.HasAttachmentsOnIt() && hammerstop.HasAttachmentsOnIt() && sliderelease.HasAttachmentsOnIt()) { if (lever.HasAttachmentsOnIt()) { slidecol.enabled = true; } else { slidecol.enabled = false; } } else if (!barrel.HasAttachmentsOnIt() || !spring.HasAttachmentsOnIt() || !lever.HasAttachmentsOnIt() || !hammer.HasAttachmentsOnIt() || !hammerstop.HasAttachmentsOnIt() || !sliderelease.HasAttachmentsOnIt()) { slidecol.enabled = false; } if (slide.HasAttachmentsOnIt()) { safetycol.enabled = true; } else if (!slide.HasAttachmentsOnIt()) { safetycol.enabled = false; } if (maglatch.HasAttachmentsOnIt()) { if (((FVRPhysicalObject)maglatch.AttachmentsList[0]).AttachmentMounts[0].HasAttachmentsOnIt()) { ((Component)maglatch.AttachmentsList[0].AttachmentInterface).gameObject.SetActive(false); if (((FVRPhysicalObject)((FVRPhysicalObject)maglatch.AttachmentsList[0]).AttachmentsList[0]).AttachmentMounts[0].HasAttachmentsOnIt()) { ((Component)((FVRPhysicalObject)maglatch.AttachmentsList[0]).AttachmentsList[0].AttachmentInterface).gameObject.SetActive(false); if (((FVRPhysicalObject)((FVRPhysicalObject)((FVRPhysicalObject)maglatch.AttachmentsList[0]).AttachmentsList[0]).AttachmentsList[0]).AttachmentMounts[0].HasAttachmentsOnIt()) { ((Component)((FVRPhysicalObject)((FVRPhysicalObject)maglatch.AttachmentsList[0]).AttachmentsList[0]).AttachmentsList[0].AttachmentInterface).gameObject.SetActive(false); } else { ((Component)((FVRPhysicalObject)((FVRPhysicalObject)maglatch.AttachmentsList[0]).AttachmentsList[0]).AttachmentsList[0].AttachmentInterface).gameObject.SetActive(true); } } else { ((Component)((FVRPhysicalObject)maglatch.AttachmentsList[0]).AttachmentsList[0].AttachmentInterface).gameObject.SetActive(true); } } else { ((Component)maglatch.AttachmentsList[0].AttachmentInterface).gameObject.SetActive(true); } } if (!slide.HasAttachmentsOnIt() || !trigger.HasAttachmentsOnIt() || !triggerguard.HasAttachmentsOnIt() || !safety.HasAttachmentsOnIt()) { locked = true; gun.m_isSafetyEngaged = true; slidepiece.transform.localPosition = new Vector3(0f, 0.0266f, 0.001f); SlideGrab.enabled = false; safetyrot.transform.localEulerAngles = new Vector3(0f, 0f, 0f); } else if (slide.HasAttachmentsOnIt() && trigger.HasAttachmentsOnIt() && triggerguard.HasAttachmentsOnIt() && safety.HasAttachmentsOnIt() && locked) { gun.m_isSafetyEngaged = false; safetyrot.transform.localEulerAngles = new Vector3(30f, 0f, 0f); slidepiece.transform.localPosition = new Vector3(0f, 0.0266f, 0.0394f); locked = false; } } } public class brush : MonoBehaviour { public Transform holder; public maufunctions mauf; public float cd = 0.5f; public GameObject particle; public AudioEvent sweep; public void OnTriggerStay(Collider col) { //IL_00df: Unknown result type (might be due to invalid IL or missing references) //IL_00e4: Unknown result type (might be due to invalid IL or missing references) //IL_00ec: Unknown result type (might be due to invalid IL or missing references) //IL_0110: 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_0087: 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) if (((Object)((Component)col).gameObject).name == "BarrelBrush(Clone)") { cd -= Time.deltaTime; if (cd < 0f) { cd = 0.5f; mauf.malfB += Random.Range(0.1f, 0.25f); Object.Instantiate<GameObject>(particle, ((Component)this).transform.position, ((Component)this).transform.rotation); SM.PlayGenericSound(sweep, ((Component)this).transform.position); } ((Component)col).gameObject.transform.SetParent(holder); ((Component)col).gameObject.transform.localPosition = new Vector3(0f, 0f, ((Component)col).gameObject.transform.localPosition.z); ((Component)col).gameObject.transform.localEulerAngles = new Vector3(0f, 0f, 0f); } } public void OnTriggerExit(Collider col) { if (((Object)((Component)col).gameObject).name == "BarrelBrush(Clone)") { cd = 0.5f; ((Component)col).gameObject.transform.SetParent((Transform)null); } } private void Start() { } private void Update() { } } public class maufunctions : MonoBehaviour { public Handgun gun; public DisableInterfaceAndcolliders diac; public float malf; public float malfB; public Material mat1; public Material mat2; public Materi