471 lines
15 KiB
C#
471 lines
15 KiB
C#
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<int> 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<int> synchronizedField = new SynchronizedField(this, "drinks", num, (SetterPermissionMode)num2, action, num2);
|
|
num2 = 0;
|
|
num = 0;
|
|
Tool tool = this.tool;
|
|
this.JPFCJGDGNIH = synchronizedField;
|
|
ActionEvent<Tool, Vector3, Quaternion, Vector3, bool> postResetEvent = tool.PostResetEvent;
|
|
Action<Tool, Vector3, Quaternion, Vector3, bool> action2 = new Action(this.APBEFBBOMDJ);
|
|
ActionEvent<Tool, Vector3, Quaternion, Vector3, bool> 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<DrinkableBottle> 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<Tool, Vector3, Quaternion, Vector3, bool> postResetEvent = tool.PostResetEvent;
|
|
Action<Tool, Vector3, Quaternion, Vector3, bool> action = new Action(this.APBEFBBOMDJ);
|
|
ActionEvent<Tool, Vector3, Quaternion, Vector3, bool> 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<DrinkableBottle> 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.<BIPMAHKMNKF>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<Potion>();
|
|
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<int> 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 <OKDFEPHLKCB>k__BackingField = this.tool.<OKDFEPHLKCB>k__BackingField;
|
|
int num3 = 0;
|
|
if (!(<OKDFEPHLKCB>k__BackingField != num3) || this.tool.<OKDFEPHLKCB>k__BackingField.DBAJDHGDPOL != PEBIMKCJNBK)
|
|
{
|
|
goto IL_A9;
|
|
}
|
|
}
|
|
IL_82:
|
|
float time2 = Time.time;
|
|
this.KMPBFNNLEOL = time2;
|
|
int num4 = this.JPFCJGDGNIH.Get();
|
|
SynchronizedField<int> 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<Photon.Realtime.Player> rpcaction = new RPCActions.RPCAction(this.RpcOnPotionActivated);
|
|
Photon.Realtime.Player phmlnifdndh = this.PHMLNIFDNDH;
|
|
photonView.RpcAll<Photon.Realtime.Player>(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<int> 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.");
|
|
}
|
|
}
|
|
}
|
|
}
|