Files
Apr2020-Cpp2Il-Dump/Assembly-CSharp/RecRoom/Activities/Quest/Goblin2/Potion.cs
T
niko 8fc35183db a
2026-04-11 22:19:20 +02:00

466 lines
14 KiB
C#

using System;
using System.Runtime.CompilerServices;
using Cpp2IlInjected;
using Photon.Pun;
using RecRoom.Tools;
using UnityEngine;
namespace RecRoom.Activities.Quest.Goblin2
{
// Token: 0x02002C48 RID: 11336
[Token(Token = "0x2002C48")]
public class Potion : MonoBehaviourPun
{
// Token: 0x140001AB RID: 427
// (add) Token: 0x06013301 RID: 78593 RVA: 0x00473124 File Offset: 0x00471324
// (remove) Token: 0x06013302 RID: 78594 RVA: 0x0047314C File Offset: 0x0047134C
[Token(Token = "0x140001AB")]
public event Potion.JICLAAJLNCE AOFFBPHMBBP
{
[Token(Token = "0x6013301")]
[Address(RVA = "0xB31800", Offset = "0xB30600", VA = "0x180B31800")]
[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 = "0x6013302")]
[Address(RVA = "0xB31950", Offset = "0xB30750", VA = "0x180B31950")]
[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: 0x17003544 RID: 13636
// (get) Token: 0x06013303 RID: 78595 RVA: 0x00473174 File Offset: 0x00471374
// (set) Token: 0x06013304 RID: 78596 RVA: 0x00473194 File Offset: 0x00471394
[Token(Token = "0x17003544")]
public int PGOKJFBPHMC
{
[Token(Token = "0x6013303")]
[Address(RVA = "0xB318A0", Offset = "0xB306A0", VA = "0x180B318A0")]
get
{
return this.JPFCJGDGNIH.IAHDANBDAAM();
}
[Token(Token = "0x6013304")]
[Address(RVA = "0xB31110", Offset = "0xB2FF10", VA = "0x180B31110")]
private set
{
KLLMCPFPIIE<int> jpfcjgdgnih = this.JPFCJGDGNIH;
}
}
// Token: 0x17003545 RID: 13637
// (get) Token: 0x06013305 RID: 78597 RVA: 0x004731B0 File Offset: 0x004713B0
[Token(Token = "0x17003545")]
public int BFJGCMAGNBM
{
[Token(Token = "0x6013305")]
[Address(RVA = "0xB318F0", Offset = "0xB306F0", VA = "0x180B318F0")]
get
{
int num = this.drinksToActivate;
int num2 = this.JPFCJGDGNIH.IAHDANBDAAM();
return num - num2;
}
}
// Token: 0x06013306 RID: 78598 RVA: 0x004731E0 File Offset: 0x004713E0
[Token(Token = "0x6013306")]
[Address(RVA = "0xB30C20", Offset = "0xB2FA20", VA = "0x180B30C20", Slot = "13")]
protected override void Awake()
{
base..ctor();
Action action = new Action(this.FEJMFBKEJAG);
int num;
int num2;
KLLMCPFPIIE<int> kllmcpfpiie = new KLLMCPFPIIE(this, "drinks", num, (OHOEENCHJJE)num2, action, num2);
num2 = 0;
num = 0;
Tool tool = this.tool;
this.JPFCJGDGNIH = kllmcpfpiie;
EAHPNACBLDD<Tool, Vector3, Quaternion, Vector3, bool> postResetEvent = tool.PostResetEvent;
Action<Tool, Vector3, Quaternion, Vector3, bool> action2 = new Action(this.APBEFBBOMDJ);
EAHPNACBLDD<Tool, Vector3, Quaternion, Vector3, bool> eahpnacbldd = EAHPNACBLDD.BPJDFPACLMK(postResetEvent, action2);
tool.PostResetEvent = eahpnacbldd;
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: 0x06013307 RID: 78599 RVA: 0x00473294 File Offset: 0x00471494
[Token(Token = "0x6013307")]
[Address(RVA = "0xB31600", Offset = "0xB30400", VA = "0x180B31600")]
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.IAHDANBDAAM();
int length = this.liquidScaleByDrinks.Length;
int num4 = 0;
int num5 = Mathf.Clamp(num3, num4, length);
}
}
// Token: 0x06013308 RID: 78600 RVA: 0x0047332C File Offset: 0x0047152C
[Token(Token = "0x6013308")]
[Address(RVA = "0xB31290", Offset = "0xB30090", VA = "0x180B31290", Slot = "14")]
protected override void OnDestroy()
{
base.OnDestroy();
Tool tool = this.tool;
EAHPNACBLDD<Tool, Vector3, Quaternion, Vector3, bool> postResetEvent = tool.PostResetEvent;
Action<Tool, Vector3, Quaternion, Vector3, bool> action = new Action(this.APBEFBBOMDJ);
EAHPNACBLDD<Tool, Vector3, Quaternion, Vector3, bool> eahpnacbldd = EAHPNACBLDD.GMNMHGMFGOL(postResetEvent, action);
tool.PostResetEvent = eahpnacbldd;
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: 0x06013309 RID: 78601 RVA: 0x004733B0 File Offset: 0x004715B0
[Token(Token = "0x6013309")]
[Address(RVA = "0xB315B0", Offset = "0xB303B0", VA = "0x180B315B0")]
public void ScreensTryConsumeDrink(AGAJMBPABDL IEKDDPPNFPF)
{
if (base.OGIBLNIIHDK && IEKDDPPNFPF != 0)
{
this.PHMLNIFDNDH = IEKDDPPNFPF;
this.NCPPIPDKCHC();
this.PHMLNIFDNDH = (ulong)0L;
}
}
// Token: 0x0601330A RID: 78602 RVA: 0x004733E0 File Offset: 0x004715E0
[Token(Token = "0x601330A")]
[Address(RVA = "0xB313C0", Offset = "0xB301C0", VA = "0x180B313C0")]
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: 0x0601330B RID: 78603 RVA: 0x0047346C File Offset: 0x0047166C
[Token(Token = "0x601330B")]
[Address(RVA = "0xB30BC0", Offset = "0xB2F9C0", VA = "0x180B30BC0")]
private void APBEFBBOMDJ(Tool NBHJPDBHDHB, Vector3 BNMOCBJEEPN, Quaternion LPHCCEOHNIN, Vector3 GMMJHABHDHE, bool ACPOOMGHPKJ)
{
this.PHMLNIFDNDH = (ulong)0L;
KLLMCPFPIIE<int> jpfcjgdgnih = this.JPFCJGDGNIH;
int num = 0;
jpfcjgdgnih.BDJFGEJFPPO(num);
}
// Token: 0x0601330C RID: 78604 RVA: 0x00473498 File Offset: 0x00471698
[Token(Token = "0x601330C")]
[Address(RVA = "0xB30DB0", Offset = "0xB2FBB0", VA = "0x180B30DB0")]
private void DDPNDICHPHC(DrinkableBottle HCDFFKEPPEG, AGAJMBPABDL 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)
{
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.IAHDANBDAAM();
KLLMCPFPIIE<int> jpfcjgdgnih = this.JPFCJGDGNIH;
IL_A9:
if (base.OGIBLNIIHDK)
{
int num5 = this.JPFCJGDGNIH.IAHDANBDAAM();
this.NCPPIPDKCHC();
this.PHMLNIFDNDH = (ulong)0L;
}
}
}
// Token: 0x0601330D RID: 78605 RVA: 0x0047357C File Offset: 0x0047177C
[Token(Token = "0x601330D")]
[Address(RVA = "0xB30B10", Offset = "0xB2F910", VA = "0x180B30B10")]
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: 0x0601330E RID: 78606 RVA: 0x004735B8 File Offset: 0x004717B8
[Token(Token = "0x601330E")]
[Address(RVA = "0xB30FB0", Offset = "0xB2FDB0", VA = "0x180B30FB0")]
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.IAHDANBDAAM();
int length = this.liquidScaleByDrinks.Length;
int num3 = 0;
int num4 = Mathf.Clamp(num2, num3, length);
}
}
// Token: 0x0601330F RID: 78607 RVA: 0x00473618 File Offset: 0x00471818
[Token(Token = "0x601330F")]
[Address(RVA = "0xB31170", Offset = "0xB2FF70", VA = "0x180B31170")]
private void NCPPIPDKCHC()
{
if (base.OGIBLNIIHDK && !this.waterBottle.MEBGJGNMIMG)
{
this.waterBottle.AuthorityMarkEmpty();
NGFENBEJIDN ngfenbejidn = this.powerupType;
if (ngfenbejidn != NGFENBEJIDN.INVALID)
{
}
PhotonView photonView = base.JDHMIOJKLCK;
DGLOJCGDOGG.LFLFMIMNCON<AGAJMBPABDL> lflfmimncon = new DGLOJCGDOGG.LFLFMIMNCON(this.RpcOnPotionActivated);
AGAJMBPABDL phmlnifdndh = this.PHMLNIFDNDH;
photonView.RpcAll<AGAJMBPABDL>(lflfmimncon, phmlnifdndh);
}
}
// Token: 0x06013310 RID: 78608 RVA: 0x00473680 File Offset: 0x00471880
[Token(Token = "0x6013310")]
[Address(RVA = "0xB31590", Offset = "0xB30390", VA = "0x180B31590")]
[NFOMENMAOIA]
private void RpcOnPotionActivated(AGAJMBPABDL DHHCKOMPCPK)
{
Potion.JICLAAJLNCE aoffbphmbbp = this.AOFFBPHMBBP;
if (aoffbphmbbp != 0)
{
aoffbphmbbp(this, DHHCKOMPCPK);
return;
}
}
// Token: 0x06013311 RID: 78609 RVA: 0x004736A4 File Offset: 0x004718A4
[Token(Token = "0x6013311")]
[Address(RVA = "0xB317E0", Offset = "0xB305E0", VA = "0x180B317E0")]
public Potion()
{
}
// Token: 0x0400C7C1 RID: 51137
[FieldOffset(Offset = "0x48")]
[Token(Token = "0x400C7C1")]
[SerializeField]
[DDPIINEJFMD(JIBDPHMGEGO.Self, false, false, false)]
private Tool tool;
// Token: 0x0400C7C2 RID: 51138
[FieldOffset(Offset = "0x50")]
[Token(Token = "0x400C7C2")]
[SerializeField]
[DDPIINEJFMD(JIBDPHMGEGO.Self, false, false, false)]
private DrinkableBottle waterBottle;
// Token: 0x0400C7C3 RID: 51139
[FieldOffset(Offset = "0x58")]
[Token(Token = "0x400C7C3")]
[SerializeField]
[DDPIINEJFMD(JIBDPHMGEGO.Self, false, false, false)]
private BreakableObject breakableObject;
// Token: 0x0400C7C4 RID: 51140
[FieldOffset(Offset = "0x60")]
[Token(Token = "0x400C7C4")]
[SerializeField]
private NGFENBEJIDN powerupType;
// Token: 0x0400C7C5 RID: 51141
[FieldOffset(Offset = "0x64")]
[Token(Token = "0x400C7C5")]
[SerializeField]
private int drinksToActivate = (int)((ulong)3L);
// Token: 0x0400C7C6 RID: 51142
[FieldOffset(Offset = "0x68")]
[Token(Token = "0x400C7C6")]
[SerializeField]
private float drinkResetTime = 2f;
// Token: 0x0400C7C7 RID: 51143
[FieldOffset(Offset = "0x70")]
[Token(Token = "0x400C7C7")]
[SerializeField]
private RecRoomAudioClip[] clinkSfx;
// Token: 0x0400C7C8 RID: 51144
[FieldOffset(Offset = "0x78")]
[Token(Token = "0x400C7C8")]
[SerializeField]
private bool shareable;
// Token: 0x0400C7C9 RID: 51145
[FieldOffset(Offset = "0x80")]
[Token(Token = "0x400C7C9")]
[SerializeField]
[Header("Optional dynamic liquid level")]
private Transform liquidLevelTransform;
// Token: 0x0400C7CA RID: 51146
[FieldOffset(Offset = "0x88")]
[Token(Token = "0x400C7CA")]
[SerializeField]
private Vector3[] liquidScaleByDrinks;
// Token: 0x0400C7CB RID: 51147
[FieldOffset(Offset = "0x90")]
[Token(Token = "0x400C7CB")]
private AGAJMBPABDL PHMLNIFDNDH;
// Token: 0x0400C7CC RID: 51148
[FieldOffset(Offset = "0x98")]
[Token(Token = "0x400C7CC")]
private float KMPBFNNLEOL;
// Token: 0x0400C7CD RID: 51149
[FieldOffset(Offset = "0xA0")]
[Token(Token = "0x400C7CD")]
private KLLMCPFPIIE<int> JPFCJGDGNIH;
// Token: 0x0400C7CE RID: 51150
[FieldOffset(Offset = "0xA8")]
[Token(Token = "0x400C7CE")]
[NonSerialized]
public bool AutomaticDrinkingEnabled = true;
// Token: 0x02002C49 RID: 11337
[Token(Token = "0x2002C49")]
public sealed class JICLAAJLNCE : MulticastDelegate
{
// Token: 0x06013312 RID: 78610 RVA: 0x004736D4 File Offset: 0x004718D4
[Token(Token = "0x6013312")]
[Address(RVA = "0x448ED0", Offset = "0x447CD0", VA = "0x180448ED0")]
public JICLAAJLNCE(object FEDFKKMABOG, IntPtr APAICGIHAGJ)
{
this.method = APAICGIHAGJ;
this.m_target = FEDFKKMABOG;
}
// Token: 0x06013313 RID: 78611 RVA: 0x004736F0 File Offset: 0x004718F0
[Token(Token = "0x6013313")]
[Address(RVA = "0x48FFD0", Offset = "0x48EDD0", VA = "0x18048FFD0", Slot = "13")]
public void Invoke(Potion GCEPCEDMAHI, AGAJMBPABDL IEKDDPPNFPF)
{
if (this.delegates != 0)
{
}
uint num;
if (num != (uint)0)
{
throw new ExecutionEngineException();
}
}
// Token: 0x06013314 RID: 78612 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x6013314")]
[Address(RVA = "0x457420", Offset = "0x456220", VA = "0x180457420", Slot = "14")]
public IAsyncResult BeginInvoke(Potion GCEPCEDMAHI, AGAJMBPABDL IEKDDPPNFPF, AsyncCallback AFLPGGJMPOE, object FEDFKKMABOG)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
// Token: 0x06013315 RID: 78613 RVA: 0x0000220F File Offset: 0x0000040F
[Token(Token = "0x6013315")]
[Address(RVA = "0x448B70", Offset = "0x447970", VA = "0x180448B70", Slot = "15")]
public void EndInvoke(IAsyncResult GIAOBLMEMMI)
{
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
}
}
}
}