using System; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using Cpp2IlInjected; using Photon.Pun; using Photon.Realtime; using RecRoom.Networking.RPC; using RecRoom.Networking.SynchronizedFields; using RecRoom.Tools; using UnityEngine; namespace RecRoom.Activities.Quest.Goblin2 { // Token: 0x0200275D RID: 10077 [Token(Token = "0x200275D")] [StructLayout(3)] public class Potion : MonoBehaviourPun { // Token: 0x14000181 RID: 385 // (add) Token: 0x0601197D RID: 72061 RVA: 0x00431204 File Offset: 0x0042F404 // (remove) Token: 0x0601197E RID: 72062 RVA: 0x0043122C File Offset: 0x0042F42C [Token(Token = "0x14000181")] public event Potion.JICLAAJLNCE AOFFBPHMBBP { [Token(Token = "0x601197D")] [Address(RVA = "0x110A5F0", Offset = "0x1108FF0", VA = "0x18110A5F0")] [CompilerGenerated] add { Potion.JICLAAJLNCE aoffbphmbbp; Delegate @delegate; do { aoffbphmbbp = this.AOFFBPHMBBP; @delegate = Delegate.Combine(aoffbphmbbp, value); } while (@delegate != 0 && @delegate == 0); while (@delegate != aoffbphmbbp) { } } [Token(Token = "0x601197E")] [Address(RVA = "0x110A740", Offset = "0x1109140", VA = "0x18110A740")] [CompilerGenerated] remove { Potion.JICLAAJLNCE aoffbphmbbp; Delegate @delegate; do { aoffbphmbbp = this.AOFFBPHMBBP; @delegate = Delegate.Remove(aoffbphmbbp, value); } while (@delegate != 0 && @delegate == 0); while (@delegate != aoffbphmbbp) { } } } // Token: 0x17002F7F RID: 12159 // (get) Token: 0x0601197F RID: 72063 RVA: 0x00431254 File Offset: 0x0042F454 // (set) Token: 0x06011980 RID: 72064 RVA: 0x00431274 File Offset: 0x0042F474 [Token(Token = "0x17002F7F")] public int PGOKJFBPHMC { [Token(Token = "0x601197F")] [Address(RVA = "0x110A690", Offset = "0x1109090", VA = "0x18110A690")] get { return this.JPFCJGDGNIH.Get(); } [Token(Token = "0x6011980")] [Address(RVA = "0x1109F00", Offset = "0x1108900", VA = "0x181109F00")] private set { SynchronizedField jpfcjgdgnih = this.JPFCJGDGNIH; } } // Token: 0x17002F80 RID: 12160 // (get) Token: 0x06011981 RID: 72065 RVA: 0x00431290 File Offset: 0x0042F490 [Token(Token = "0x17002F80")] public int BFJGCMAGNBM { [Token(Token = "0x6011981")] [Address(RVA = "0x110A6E0", Offset = "0x11090E0", VA = "0x18110A6E0")] get { int num = this.drinksToActivate; int num2 = this.JPFCJGDGNIH.Get(); return num - num2; } } // Token: 0x06011982 RID: 72066 RVA: 0x004312C0 File Offset: 0x0042F4C0 [Token(Token = "0x6011982")] [Address(RVA = "0x1109A10", Offset = "0x1108410", VA = "0x181109A10", Slot = "13")] protected override void Awake() { base..ctor(); Action action = new Action(this.FEJMFBKEJAG); int num; int num2; SynchronizedField synchronizedField = new SynchronizedField(this, "drinks", num, (SetterPermissionMode)num2, action, num2); num2 = 0; num = 0; Tool tool = this.tool; this.JPFCJGDGNIH = synchronizedField; ActionEvent postResetEvent = tool.PostResetEvent; Action action2 = new Action(this.APBEFBBOMDJ); ActionEvent actionEvent = postResetEvent + action2; tool.PostResetEvent = actionEvent; DrinkableBottle drinkableBottle = this.waterBottle; DrinkableBottle.BFLECJMKODI bflecjmkodi = new DrinkableBottle.BFLECJMKODI(this.DDPNDICHPHC); drinkableBottle.IJPIILBLFPO += bflecjmkodi; DrinkableBottle drinkableBottle2 = this.waterBottle; Action action3 = new Action(this.ABIFJPOAIHH); drinkableBottle2.IsEmptyChangeEvent += action3; } // Token: 0x06011983 RID: 72067 RVA: 0x00431374 File Offset: 0x0042F574 [Token(Token = "0x6011983")] [Address(RVA = "0x110A3F0", Offset = "0x1108DF0", VA = "0x18110A3F0")] private void Start() { DrinkableBottle drinkableBottle = this.waterBottle; BreakableObject breakableObject = this.breakableObject; int num = 0; if (breakableObject != num) { BreakableObject breakableObject2 = this.breakableObject; bool isEmpty = drinkableBottle.MEBGJGNMIMG; breakableObject2.SetBreakable(isEmpty, this); } Transform transform = this.liquidLevelTransform; int num2 = 0; if (transform != num2) { Transform transform2 = this.liquidLevelTransform; Vector3[] array = this.liquidScaleByDrinks; int num3 = this.JPFCJGDGNIH.Get(); int length = this.liquidScaleByDrinks.Length; int num4 = 0; int num5 = Mathf.Clamp(num3, num4, length); } } // Token: 0x06011984 RID: 72068 RVA: 0x0043140C File Offset: 0x0042F60C [Token(Token = "0x6011984")] [Address(RVA = "0x110A080", Offset = "0x1108A80", VA = "0x18110A080", Slot = "14")] protected override void OnDestroy() { base.OnDestroy(); Tool tool = this.tool; ActionEvent postResetEvent = tool.PostResetEvent; Action action = new Action(this.APBEFBBOMDJ); ActionEvent actionEvent = postResetEvent - action; tool.PostResetEvent = actionEvent; DrinkableBottle drinkableBottle = this.waterBottle; DrinkableBottle.BFLECJMKODI bflecjmkodi = new DrinkableBottle.BFLECJMKODI(this.DDPNDICHPHC); drinkableBottle.IJPIILBLFPO -= bflecjmkodi; DrinkableBottle drinkableBottle2 = this.waterBottle; Action action2 = new Action(this.ABIFJPOAIHH); drinkableBottle2.IsEmptyChangeEvent -= action2; } // Token: 0x06011985 RID: 72069 RVA: 0x00431490 File Offset: 0x0042F690 [Token(Token = "0x6011985")] [Address(RVA = "0x110A3A0", Offset = "0x1108DA0", VA = "0x18110A3A0")] public void ScreensTryConsumeDrink(Photon.Realtime.Player IEKDDPPNFPF) { if (base.hasAuthority && IEKDDPPNFPF != 0) { this.PHMLNIFDNDH = IEKDDPPNFPF; this.NCPPIPDKCHC(); this.PHMLNIFDNDH = (ulong)0L; } } // Token: 0x06011986 RID: 72070 RVA: 0x004314C0 File Offset: 0x0042F6C0 [Token(Token = "0x6011986")] [Address(RVA = "0x110A1B0", Offset = "0x1108BB0", VA = "0x18110A1B0")] private void OnTriggerEnter(Collider GLPOLGOBLAA) { if (this.tool.k__BackingField && this.clinkSfx != (ulong)0L) { Tool tool = GLPOLGOBLAA.AMKJBLIFHPB(); int num = 0; if (tool != num) { Tool tool2 = this.tool; if (tool != tool2 && tool.FNFNLDBILFE) { Potion component = tool.GetComponent(); int num2 = 0; if (component != num2) { RecRoomAudioClip[] array = this.clinkSfx; Transform transform = base.transform; Vector3 vector; float z = vector.z; } } } } } // Token: 0x06011987 RID: 72071 RVA: 0x0043154C File Offset: 0x0042F74C [Token(Token = "0x6011987")] [Address(RVA = "0x11099B0", Offset = "0x11083B0", VA = "0x1811099B0")] private void APBEFBBOMDJ(Tool NBHJPDBHDHB, Vector3 BNMOCBJEEPN, Quaternion LPHCCEOHNIN, Vector3 GMMJHABHDHE, bool ACPOOMGHPKJ) { this.PHMLNIFDNDH = (ulong)0L; SynchronizedField jpfcjgdgnih = this.JPFCJGDGNIH; int num = 0; jpfcjgdgnih.Set(num); } // Token: 0x06011988 RID: 72072 RVA: 0x00431578 File Offset: 0x0042F778 [Token(Token = "0x6011988")] [Address(RVA = "0x1109BA0", Offset = "0x11085A0", VA = "0x181109BA0")] private void DDPNDICHPHC(DrinkableBottle HCDFFKEPPEG, Photon.Realtime.Player PEBIMKCJNBK) { if (this.AutomaticDrinkingEnabled) { float time = Time.time; float num = this.drinkResetTime; if (time > num) { this.PHMLNIFDNDH = (ulong)0L; } if (this.PHMLNIFDNDH != PEBIMKCJNBK) { if (this.shareable) { goto IL_82; } this.PHMLNIFDNDH = PEBIMKCJNBK; int num2 = 0; this.PGOKJFBPHMC = num2; } if (!this.shareable) { global::Player k__BackingField = this.tool.k__BackingField; int num3 = 0; if (!(k__BackingField != num3) || this.tool.k__BackingField.DBAJDHGDPOL != PEBIMKCJNBK) { goto IL_A9; } } IL_82: float time2 = Time.time; this.KMPBFNNLEOL = time2; int num4 = this.JPFCJGDGNIH.Get(); SynchronizedField jpfcjgdgnih = this.JPFCJGDGNIH; IL_A9: if (base.hasAuthority) { int num5 = this.JPFCJGDGNIH.Get(); this.NCPPIPDKCHC(); this.PHMLNIFDNDH = (ulong)0L; } } } // Token: 0x06011989 RID: 72073 RVA: 0x0043165C File Offset: 0x0042F85C [Token(Token = "0x6011989")] [Address(RVA = "0x1109900", Offset = "0x1108300", VA = "0x181109900")] private void ABIFJPOAIHH(DrinkableBottle HCDFFKEPPEG) { BreakableObject breakableObject = this.breakableObject; int num = 0; if (breakableObject != num) { BreakableObject breakableObject2 = this.breakableObject; bool isEmpty = HCDFFKEPPEG.MEBGJGNMIMG; breakableObject2.SetBreakable(isEmpty, this); } } // Token: 0x0601198A RID: 72074 RVA: 0x00431698 File Offset: 0x0042F898 [Token(Token = "0x601198A")] [Address(RVA = "0x1109DA0", Offset = "0x11087A0", VA = "0x181109DA0")] private void FEJMFBKEJAG() { Transform transform = this.liquidLevelTransform; int num = 0; if (transform != num) { Vector3[] array = this.liquidScaleByDrinks; Transform transform2 = this.liquidLevelTransform; int num2 = this.JPFCJGDGNIH.Get(); int length = this.liquidScaleByDrinks.Length; int num3 = 0; int num4 = Mathf.Clamp(num2, num3, length); } } // Token: 0x0601198B RID: 72075 RVA: 0x004316F8 File Offset: 0x0042F8F8 [Token(Token = "0x601198B")] [Address(RVA = "0x1109F60", Offset = "0x1108960", VA = "0x181109F60")] private void NCPPIPDKCHC() { if (base.hasAuthority && !this.waterBottle.MEBGJGNMIMG) { this.waterBottle.AuthorityMarkEmpty(); NGFENBEJIDN ngfenbejidn = this.powerupType; if (ngfenbejidn != NGFENBEJIDN.INVALID) { } PhotonView photonView = base.photonView; RPCActions.RPCAction rpcaction = new RPCActions.RPCAction(this.RpcOnPotionActivated); Photon.Realtime.Player phmlnifdndh = this.PHMLNIFDNDH; photonView.RpcAll(rpcaction, phmlnifdndh); } } // Token: 0x0601198C RID: 72076 RVA: 0x00431760 File Offset: 0x0042F960 [Token(Token = "0x601198C")] [Address(RVA = "0x110A380", Offset = "0x1108D80", VA = "0x18110A380")] [PunRPC] private void RpcOnPotionActivated(Photon.Realtime.Player DHHCKOMPCPK) { Potion.JICLAAJLNCE aoffbphmbbp = this.AOFFBPHMBBP; if (aoffbphmbbp != 0) { aoffbphmbbp(this, DHHCKOMPCPK); return; } } // Token: 0x0601198D RID: 72077 RVA: 0x00431784 File Offset: 0x0042F984 [Token(Token = "0x601198D")] [Address(RVA = "0x110A5D0", Offset = "0x1108FD0", VA = "0x18110A5D0")] public Potion() { } // Token: 0x0400BC68 RID: 48232 [global::Cpp2IlInjected.FieldOffset(Offset = "0x48")] [Token(Token = "0x400BC68")] [SerializeField] [DDPIINEJFMD(JIBDPHMGEGO.Self, false, false)] private Tool tool; // Token: 0x0400BC69 RID: 48233 [global::Cpp2IlInjected.FieldOffset(Offset = "0x50")] [Token(Token = "0x400BC69")] [SerializeField] [DDPIINEJFMD(JIBDPHMGEGO.Self, false, false)] private DrinkableBottle waterBottle; // Token: 0x0400BC6A RID: 48234 [global::Cpp2IlInjected.FieldOffset(Offset = "0x58")] [Token(Token = "0x400BC6A")] [SerializeField] [DDPIINEJFMD(JIBDPHMGEGO.Self, false, false)] private BreakableObject breakableObject; // Token: 0x0400BC6B RID: 48235 [global::Cpp2IlInjected.FieldOffset(Offset = "0x60")] [Token(Token = "0x400BC6B")] [SerializeField] private NGFENBEJIDN powerupType; // Token: 0x0400BC6C RID: 48236 [global::Cpp2IlInjected.FieldOffset(Offset = "0x64")] [Token(Token = "0x400BC6C")] [SerializeField] private int drinksToActivate = (int)((ulong)3L); // Token: 0x0400BC6D RID: 48237 [global::Cpp2IlInjected.FieldOffset(Offset = "0x68")] [Token(Token = "0x400BC6D")] [SerializeField] private float drinkResetTime = 2f; // Token: 0x0400BC6E RID: 48238 [global::Cpp2IlInjected.FieldOffset(Offset = "0x70")] [Token(Token = "0x400BC6E")] [SerializeField] private RecRoomAudioClip[] clinkSfx; // Token: 0x0400BC6F RID: 48239 [global::Cpp2IlInjected.FieldOffset(Offset = "0x78")] [Token(Token = "0x400BC6F")] [SerializeField] private bool shareable; // Token: 0x0400BC70 RID: 48240 [global::Cpp2IlInjected.FieldOffset(Offset = "0x80")] [Token(Token = "0x400BC70")] [SerializeField] [Header("Optional dynamic liquid level")] private Transform liquidLevelTransform; // Token: 0x0400BC71 RID: 48241 [global::Cpp2IlInjected.FieldOffset(Offset = "0x88")] [Token(Token = "0x400BC71")] [SerializeField] private Vector3[] liquidScaleByDrinks; // Token: 0x0400BC72 RID: 48242 [global::Cpp2IlInjected.FieldOffset(Offset = "0x90")] [Token(Token = "0x400BC72")] private Photon.Realtime.Player PHMLNIFDNDH; // Token: 0x0400BC73 RID: 48243 [global::Cpp2IlInjected.FieldOffset(Offset = "0x98")] [Token(Token = "0x400BC73")] private float KMPBFNNLEOL; // Token: 0x0400BC74 RID: 48244 [global::Cpp2IlInjected.FieldOffset(Offset = "0xA0")] [Token(Token = "0x400BC74")] private SynchronizedField JPFCJGDGNIH; // Token: 0x0400BC75 RID: 48245 [global::Cpp2IlInjected.FieldOffset(Offset = "0xA8")] [Token(Token = "0x400BC75")] [NonSerialized] public bool AutomaticDrinkingEnabled = true; // Token: 0x0200275E RID: 10078 [Token(Token = "0x200275E")] public sealed class JICLAAJLNCE : MulticastDelegate { // Token: 0x0601198E RID: 72078 RVA: 0x004317B4 File Offset: 0x0042F9B4 [Token(Token = "0x601198E")] [Address(RVA = "0x3E5170", Offset = "0x3E3B70", VA = "0x1803E5170")] public JICLAAJLNCE(object @object, IntPtr method) { this.method = method; this.m_target = @object; } // Token: 0x0601198F RID: 72079 RVA: 0x004317D0 File Offset: 0x0042F9D0 [Token(Token = "0x601198F")] [Address(RVA = "0x519DF0", Offset = "0x5187F0", VA = "0x180519DF0", Slot = "13")] public void Invoke(Potion GCEPCEDMAHI, Photon.Realtime.Player IEKDDPPNFPF) { if (this.delegates != 0) { } uint num; if (num != (uint)0) { throw new ExecutionEngineException(); } } // Token: 0x06011990 RID: 72080 RVA: 0x0000220F File Offset: 0x0000040F [Token(Token = "0x6011990")] [Address(RVA = "0x4330B0", Offset = "0x431AB0", VA = "0x1804330B0", Slot = "14")] public IAsyncResult BeginInvoke(Potion GCEPCEDMAHI, Photon.Realtime.Player IEKDDPPNFPF, AsyncCallback AFLPGGJMPOE, object FEDFKKMABOG) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x06011991 RID: 72081 RVA: 0x0000220F File Offset: 0x0000040F [Token(Token = "0x6011991")] [Address(RVA = "0x40BFF0", Offset = "0x40A9F0", VA = "0x18040BFF0", Slot = "15")] public void EndInvoke(IAsyncResult GIAOBLMEMMI) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } } } }