using System; using System.Runtime.InteropServices; using Cpp2IlInjected; using Photon.Pun; using Photon.Realtime; using RecRoom.Core; using RecRoom.Core.AI; using RecRoom.Core.Combat; using RecRoom.Networking.SynchronizedFields; using UnityEngine; namespace RecRoom { // Token: 0x02001D1F RID: 7455 [Token(Token = "0x2001D1F")] [StructLayout(3)] public class AutomaticHolsteringTool : MonoBehaviourPun { // Token: 0x17001F33 RID: 7987 // (get) Token: 0x0600C83F RID: 51263 RVA: 0x002F8510 File Offset: 0x002F6710 [Token(Token = "0x17001F33")] public Tool PBBJCLJPFMI { [Token(Token = "0x600C83F")] [Address(RVA = "0x3EDEA0", Offset = "0x3EC8A0", VA = "0x1803EDEA0")] get { return this._tool; } } // Token: 0x17001F34 RID: 7988 // (get) Token: 0x0600C840 RID: 51264 RVA: 0x002F8524 File Offset: 0x002F6724 // (set) Token: 0x0600C841 RID: 51265 RVA: 0x002F8554 File Offset: 0x002F6754 [Token(Token = "0x17001F34")] public Photon.Realtime.Player HLENGKNMKIM { [Token(Token = "0x600C840")] [Address(RVA = "0x129C960", Offset = "0x129B360", VA = "0x18129C960")] get { Photon.Realtime.Player localPlayer = PhotonNetwork.LocalPlayer; int num = this.GKKFJOBILAH.Get(); return localPlayer.Get(num); } [Token(Token = "0x600C841")] [Address(RVA = "0x129C9F0", Offset = "0x129B3F0", VA = "0x18129C9F0")] set { SynchronizedField gkkfjobilah = this.GKKFJOBILAH; if (value != 0) { } } } // Token: 0x0600C842 RID: 51266 RVA: 0x002F8574 File Offset: 0x002F6774 [Token(Token = "0x600C842")] [Address(RVA = "0x129B8C0", Offset = "0x129A2C0", VA = "0x18129B8C0", Slot = "13")] protected override void Awake() { base..ctor(); Action action = new Action(this.FNDBHCDBPHO); int num; SynchronizedField synchronizedField = new SynchronizedField(this, "POID", -1, (SetterPermissionMode)num, action, num); num = 0; Tool tool = this._tool; this.GKKFJOBILAH = synchronizedField; ActionEvent postPickupEvent = tool.PostPickupEvent; Action action2 = new Action(this.MADAMADCJNN); ActionEvent actionEvent = postPickupEvent + action2; tool.PostPickupEvent = actionEvent; Tool tool2 = this._tool; ActionEvent postResetEvent = tool2.PostResetEvent; Action action3 = new Action(this.APBEFBBOMDJ); ActionEvent actionEvent2; tool2.PostResetEvent = actionEvent2; Tool tool3 = this._tool; ActionEvent postAttachEvent = tool3.PostAttachEvent; Action action4 = new Action(this.PBGOLBKNDOD); ActionEvent actionEvent3 = postAttachEvent + action4; tool3.PostAttachEvent = actionEvent3; ActionEvent onPhotonPlayerDisconnected = PhotonNetwork.OnPhotonPlayerDisconnected; Action action5 = new Action(this.OnPhotonPlayerDisconnected); PhotonNetwork.OnPhotonPlayerDisconnected = onPhotonPlayerDisconnected + action5; Tool tool4 = this._tool; tool4.AllowedToTransferOwnershipOnCollision = false; int num2 = 0; if (tool4 != num2) { GameCombatManager.ODCIMPCGPKE odcimpcgpke = new GameCombatManager.ODCIMPCGPKE(this.BFGBPFACPPB); GameCombatManager.HOKOCNGFDAO hokocngfdao = new GameCombatManager.HOKOCNGFDAO(this.IAHEDALKPBI); GameCombatManager.PKJNMGICNJK pkjnmgicnjk = new GameCombatManager.PKJNMGICNJK(this.IDFEEFAMOOI); GameCombatManager.MGBBCMDIIIJ mgbbcmdiiij = new GameCombatManager.MGBBCMDIIIJ(this.JBAMACNACDB); } } // Token: 0x0600C843 RID: 51267 RVA: 0x002F86B8 File Offset: 0x002F68B8 [Token(Token = "0x600C843")] [Address(RVA = "0x129BD60", Offset = "0x129A760", VA = "0x18129BD60")] private void Start() { Photon.Realtime.Player permanentOwnerPlayer = this.HLENGKNMKIM; Tool tool = this._tool; bool flag = permanentOwnerPlayer != 0; tool.BEKODHBDOFG = flag; ToolPlayerAttractor toolPlayerAttractor = this.attractor; int num = 0; if (toolPlayerAttractor != num) { this.attractor.enabledOnReset = flag; } this._tool.k__BackingField.EnableCleanup("AutoHolsteringToolOwnerDown"); } // Token: 0x0600C844 RID: 51268 RVA: 0x002F8720 File Offset: 0x002F6920 [Token(Token = "0x600C844")] [Address(RVA = "0x129C410", Offset = "0x129AE10", VA = "0x18129C410", Slot = "14")] protected override void OnDestroy() { Tool tool = this._tool; ActionEvent postPickupEvent = tool.PostPickupEvent; Action action = new Action(this.MADAMADCJNN); ActionEvent actionEvent = postPickupEvent - action; tool.PostPickupEvent = actionEvent; Tool tool2 = this._tool; ActionEvent postResetEvent = tool2.PostResetEvent; Action action2 = new Action(this.APBEFBBOMDJ); ActionEvent actionEvent2; tool2.PostResetEvent = actionEvent2; Tool tool3 = this._tool; ActionEvent postAttachEvent = tool3.PostAttachEvent; Action action3 = new Action(this.PBGOLBKNDOD); ActionEvent actionEvent3 = postAttachEvent - action3; tool3.PostAttachEvent = actionEvent3; ActionEvent onPhotonPlayerDisconnected = PhotonNetwork.OnPhotonPlayerDisconnected; Action action4 = new Action(this.OnPhotonPlayerDisconnected); PhotonNetwork.OnPhotonPlayerDisconnected = onPhotonPlayerDisconnected - action4; bool flag; if (flag) { GameCombatManager.ODCIMPCGPKE odcimpcgpke = new GameCombatManager.ODCIMPCGPKE(this.BFGBPFACPPB); GameCombatManager.HOKOCNGFDAO hokocngfdao = new GameCombatManager.HOKOCNGFDAO(this.IAHEDALKPBI); GameCombatManager.PKJNMGICNJK pkjnmgicnjk = new GameCombatManager.PKJNMGICNJK(this.IDFEEFAMOOI); GameCombatManager.MGBBCMDIIIJ mgbbcmdiiij = new GameCombatManager.MGBBCMDIIIJ(this.JBAMACNACDB); } base.OnDestroy(); } // Token: 0x0600C845 RID: 51269 RVA: 0x002F8820 File Offset: 0x002F6A20 [Token(Token = "0x600C845")] [Address(RVA = "0x129C310", Offset = "0x129AD10", VA = "0x18129C310")] private void MADAMADCJNN(Tool EGFEJGHDNAI) { global::Player k__BackingField = EGFEJGHDNAI.k__BackingField; int num = 0; if (k__BackingField != num) { global::Player k__BackingField2 = EGFEJGHDNAI.k__BackingField; Photon.Realtime.Player permanentOwnerPlayer = this.HLENGKNMKIM; if (base.hasAuthority) { if (permanentOwnerPlayer != 0) { Photon.Realtime.Player photonPlayer = EGFEJGHDNAI.k__BackingField.DBAJDHGDPOL; if (permanentOwnerPlayer == photonPlayer) { return; } } Photon.Realtime.Player photonPlayer2 = EGFEJGHDNAI.k__BackingField.DBAJDHGDPOL; this.HLENGKNMKIM = photonPlayer2; } } } // Token: 0x0600C846 RID: 51270 RVA: 0x002F8888 File Offset: 0x002F6A88 [Token(Token = "0x600C846")] [Address(RVA = "0x129B820", Offset = "0x129A220", VA = "0x18129B820")] private void APBEFBBOMDJ(Tool NBHJPDBHDHB, Vector3 BNMOCBJEEPN, Quaternion LPHCCEOHNIN, Vector3 GMMJHABHDHE, bool ACPOOMGHPKJ) { if (base.hasAuthority) { SynchronizedField gkkfjobilah = this.GKKFJOBILAH; return; } } // Token: 0x0600C847 RID: 51271 RVA: 0x002F88D0 File Offset: 0x002F6AD0 [Token(Token = "0x600C847")] [Address(RVA = "0x129C7C0", Offset = "0x129B1C0", VA = "0x18129C7C0")] private void PBGOLBKNDOD(Tool EGFEJGHDNAI) { if (EGFEJGHDNAI.k__BackingField) { Photon.Realtime.Player permanentOwnerPlayer = this.HLENGKNMKIM; global::Player k__BackingField = EGFEJGHDNAI.k__BackingField; int num = 0; if (k__BackingField != 0) { Photon.Realtime.Player photonPlayer = k__BackingField.DBAJDHGDPOL; } if (permanentOwnerPlayer == 0) { this.HLENGKNMKIM = num; if (num == 0) { return; } } global::Player player; int length = player.toolEquipSlots.k__BackingField.Length; PlayerToolEquipSlot playerToolEquipSlot; if (!(playerToolEquipSlot.EFEKNEEGDIP == EGFEJGHDNAI)) { } this.EDKECKOGGDD = playerToolEquipSlot; throw new NullReferenceException(); } } // Token: 0x0600C848 RID: 51272 RVA: 0x002F8944 File Offset: 0x002F6B44 [Token(Token = "0x600C848")] [Address(RVA = "0x129BEC0", Offset = "0x129A8C0", VA = "0x18129BEC0")] private void IIJIFOMGKOI([Optional] PlayerHand IDPDJONLGAK) { Photon.Realtime.Player permanentOwnerPlayer = this.HLENGKNMKIM; if (permanentOwnerPlayer != 0 && this._tool.hasAuthority) { global::Player player = permanentOwnerPlayer.GPOMCJICJIH(); PlayerToolEquipSlot edkeckoggdd = this.EDKECKOGGDD; int num = 0; bool flag = edkeckoggdd == num; int num2 = 0; if (!flag) { PlayerToolEquipSlots toolEquipSlots = player.toolEquipSlots; Tool tool = this._tool; if (toolEquipSlots.CanEquipTool(tool, IDPDJONLGAK, edkeckoggdd)) { goto IL_171; } } bool flag4; if (this.equipSlotType == FNCLOCJLFDG.LDHGJHOFPKC.Hip) { PlayerHand dnbipbnnkjh = player.DNBIPBNNKJH; PlayerToolEquipSlots toolEquipSlots2 = player.toolEquipSlots; PlayerToolEquipSlots toolEquipSlots3; if (dnbipbnnkjh.type != (PlayerHand.PLLIKAOIPHP)num2) { PlayerToolEquipSlot rightHipSlot = toolEquipSlots2.rightHipSlot; Tool tool2 = this._tool; bool flag2 = toolEquipSlots2.CanEquipTool(tool2, IDPDJONLGAK, rightHipSlot); toolEquipSlots3 = player.toolEquipSlots; if (!flag2) { PlayerToolEquipSlot leftHipSlot = toolEquipSlots3.leftHipSlot; Tool tool3 = this._tool; if (!toolEquipSlots3.CanEquipTool(tool3, IDPDJONLGAK, leftHipSlot)) { goto IL_171; } PlayerToolEquipSlots toolEquipSlots4 = player.toolEquipSlots; } } PlayerToolEquipSlot leftHipSlot2 = toolEquipSlots3.leftHipSlot; Tool tool4 = this._tool; bool flag3 = toolEquipSlots3.CanEquipTool(tool4, IDPDJONLGAK, leftHipSlot2); PlayerToolEquipSlots toolEquipSlots5 = player.toolEquipSlots; if (!flag3) { PlayerToolEquipSlot rightHipSlot2 = toolEquipSlots5.rightHipSlot; Tool tool5 = this._tool; flag4 = toolEquipSlots5.CanEquipTool(tool5, IDPDJONLGAK, rightHipSlot2); if (!flag4) { goto IL_171; } PlayerToolEquipSlots toolEquipSlots6 = player.toolEquipSlots; } } PlayerToolEquipSlot shoulderSlot2; if (flag4) { PlayerToolEquipSlots toolEquipSlots7 = player.toolEquipSlots; PlayerToolEquipSlot shoulderSlot = toolEquipSlots7.shoulderSlot; Tool tool6 = this._tool; if (toolEquipSlots7.CanEquipTool(tool6, IDPDJONLGAK, shoulderSlot)) { shoulderSlot2 = player.toolEquipSlots.shoulderSlot; } } IL_171: int num3 = 0; if (shoulderSlot2 != num3) { throw new NullReferenceException(); } if (base.hasAuthority) { SynchronizedField gkkfjobilah = this.GKKFJOBILAH; } } } // Token: 0x0600C849 RID: 51273 RVA: 0x002F8AE8 File Offset: 0x002F6CE8 [Token(Token = "0x600C849")] [Address(RVA = "0x129C7B0", Offset = "0x129B1B0", VA = "0x18129C7B0")] private void OnPhotonPlayerDisconnected(Photon.Realtime.Player AIBMDIENGJA) { Photon.Realtime.Player permanentOwnerPlayer = this.HLENGKNMKIM; } // Token: 0x0600C84A RID: 51274 RVA: 0x002F8AFC File Offset: 0x002F6CFC [Token(Token = "0x600C84A")] [Address(RVA = "0x129BD60", Offset = "0x129A760", VA = "0x18129BD60")] private void FNDBHCDBPHO() { Photon.Realtime.Player permanentOwnerPlayer = this.HLENGKNMKIM; Tool tool = this._tool; bool flag = permanentOwnerPlayer != 0; tool.BEKODHBDOFG = flag; ToolPlayerAttractor toolPlayerAttractor = this.attractor; int num = 0; if (toolPlayerAttractor != num) { this.attractor.enabledOnReset = flag; } this._tool.k__BackingField.EnableCleanup("AutoHolsteringToolOwnerDown"); } // Token: 0x0600C84B RID: 51275 RVA: 0x002F8B64 File Offset: 0x002F6D64 [Token(Token = "0x600C84B")] [Address(RVA = "0x129BCE0", Offset = "0x129A6E0", VA = "0x18129BCE0")] private void BFGBPFACPPB(Photon.Realtime.Player LJGOHLFADDN, Photon.Realtime.Player HMEIODIHDCL, Weapon GDIGKHINJCG, global::Player.GAHEJKDCLLE OAEAKADENEB, Vector3 BEOPNIAIJOM, Vector3 OKDCENHKDIP, int JJHKPNCCEFB, GameCombatManager.IGHLGLDPACI LCJBLMKOCLB) { Photon.Realtime.Player permanentOwnerPlayer = this.HLENGKNMKIM; if (permanentOwnerPlayer != 0 && permanentOwnerPlayer == HMEIODIHDCL) { this._tool.k__BackingField.DisableCleanup("AutoHolsteringToolOwnerDown"); } } // Token: 0x0600C84C RID: 51276 RVA: 0x002F8B9C File Offset: 0x002F6D9C [Token(Token = "0x600C84C")] [Address(RVA = "0x129BCE0", Offset = "0x129A6E0", VA = "0x18129BCE0")] private void IAHEDALKPBI(Enemy LJGOHLFADDN, Photon.Realtime.Player HMEIODIHDCL, global::Player.GAHEJKDCLLE OAEAKADENEB, Vector3 BEOPNIAIJOM, GameCombatManager.IGHLGLDPACI LCJBLMKOCLB) { Photon.Realtime.Player permanentOwnerPlayer = this.HLENGKNMKIM; if (permanentOwnerPlayer != 0 && permanentOwnerPlayer == HMEIODIHDCL) { this._tool.k__BackingField.DisableCleanup("AutoHolsteringToolOwnerDown"); } } // Token: 0x0600C84D RID: 51277 RVA: 0x002F8BD4 File Offset: 0x002F6DD4 [Token(Token = "0x600C84D")] [Address(RVA = "0x129BE40", Offset = "0x129A840", VA = "0x18129BE40")] private void IDFEEFAMOOI(Photon.Realtime.Player HMEIODIHDCL, global::Player.GAHEJKDCLLE OAEAKADENEB, Vector3 BEOPNIAIJOM, GameCombatManager.IGHLGLDPACI LCJBLMKOCLB) { Photon.Realtime.Player permanentOwnerPlayer = this.HLENGKNMKIM; if (permanentOwnerPlayer != 0 && permanentOwnerPlayer == HMEIODIHDCL) { this._tool.k__BackingField.DisableCleanup("AutoHolsteringToolOwnerDown"); } } // Token: 0x0600C84E RID: 51278 RVA: 0x002F8C0C File Offset: 0x002F6E0C [Token(Token = "0x600C84E")] [Address(RVA = "0x129C1D0", Offset = "0x129ABD0", VA = "0x18129C1D0")] private void JBAMACNACDB(Photon.Realtime.Player LLFMHANMHIC, Photon.Realtime.Player NLEOIMBAFFL, Vector3 OMFJFJDAAEO) { Photon.Realtime.Player permanentOwnerPlayer = this.HLENGKNMKIM; if (permanentOwnerPlayer != 0 && permanentOwnerPlayer == LLFMHANMHIC) { this._tool.k__BackingField.EnableCleanup("AutoHolsteringToolOwnerDown"); } } // Token: 0x0600C84F RID: 51279 RVA: 0x002F8C44 File Offset: 0x002F6E44 [Token(Token = "0x600C84F")] [Address(RVA = "0x129C250", Offset = "0x129AC50", VA = "0x18129C250")] private void KNELBCFKALN(Photon.Realtime.Player IEKDDPPNFPF, bool CFICOGKHLAE) { Photon.Realtime.Player permanentOwnerPlayer = this.HLENGKNMKIM; if (permanentOwnerPlayer != 0 && permanentOwnerPlayer == IEKDDPPNFPF) { Tool tool = this._tool; if (CFICOGKHLAE) { return; } tool.k__BackingField.DisableCleanup("AutoHolsteringToolOwnerDown"); } } // Token: 0x0600C850 RID: 51280 RVA: 0x002F8C84 File Offset: 0x002F6E84 [Token(Token = "0x600C850")] [Address(RVA = "0x6A4030", Offset = "0x6A2A30", VA = "0x1806A4030")] public AutomaticHolsteringTool() { } // Token: 0x040084F6 RID: 34038 [global::Cpp2IlInjected.FieldOffset(Offset = "0x40")] [Token(Token = "0x40084F6")] [SerializeField] private FNCLOCJLFDG.LDHGJHOFPKC equipSlotType; // Token: 0x040084F7 RID: 34039 [global::Cpp2IlInjected.FieldOffset(Offset = "0x48")] [Token(Token = "0x40084F7")] [SerializeField] [DDPIINEJFMD(JIBDPHMGEGO.Self, false, false)] private Tool _tool; // Token: 0x040084F8 RID: 34040 [global::Cpp2IlInjected.FieldOffset(Offset = "0x50")] [Token(Token = "0x40084F8")] [SerializeField] [OCIDFHDICIP(JIBDPHMGEGO.Self, false, false)] private ToolPlayerAttractor attractor; // Token: 0x040084F9 RID: 34041 [global::Cpp2IlInjected.FieldOffset(Offset = "0x58")] [Token(Token = "0x40084F9")] private SynchronizedField GKKFJOBILAH; // Token: 0x040084FA RID: 34042 [global::Cpp2IlInjected.FieldOffset(Offset = "0x60")] [Token(Token = "0x40084FA")] private PlayerToolEquipSlot EDKECKOGGDD; // Token: 0x040084FB RID: 34043 [Token(Token = "0x40084FB")] private static string INIENPIPAEH = "AutoHolsteringToolOwnerDown"; } }