This commit is contained in:
niko
2026-04-08 23:40:05 +02:00
parent d6894bcbc7
commit 18dc73f922
7750 changed files with 1795369 additions and 0 deletions
@@ -0,0 +1,369 @@
using System;
using System.Collections.Generic;
using System.Runtime.InteropServices;
using Cpp2IlInjected;
using RecRoom.Core.AI;
using RecRoom.Core.Combat;
using RecRoom.Core.Pools;
using RecRoom.Tools.Weapons;
using UnityEngine;
namespace RecRoom.Activities.Quest.Goblin2
{
// Token: 0x0200275A RID: 10074
[Token(Token = "0x200275A")]
[StructLayout(3)]
public class ForceWandWeapon : SpreadRangedWeapon
{
// Token: 0x0601196A RID: 72042 RVA: 0x00430B94 File Offset: 0x0042ED94
[Token(Token = "0x601196A")]
[Address(RVA = "0x1103550", Offset = "0x1101F50", VA = "0x181103550", Slot = "13")]
protected override void Awake()
{
base.Awake();
DelayedRangedWeaponTrigger delayedRangedWeaponTrigger = this.trigger;
DelayedRangedWeaponTrigger.IOGLIBAPLLG ioglibapllg = new DelayedRangedWeaponTrigger.IOGLIBAPLLG(this.NDLIEIOPMNN);
delayedRangedWeaponTrigger.JFPBBAHBCPN += ioglibapllg;
}
// Token: 0x0601196B RID: 72043 RVA: 0x00430BC8 File Offset: 0x0042EDC8
[Token(Token = "0x601196B")]
[Address(RVA = "0x11046F0", Offset = "0x11030F0", VA = "0x1811046F0", Slot = "14")]
protected override void OnDestroy()
{
base.OnDestroy();
DelayedRangedWeaponTrigger delayedRangedWeaponTrigger = this.trigger;
DelayedRangedWeaponTrigger.IOGLIBAPLLG ioglibapllg = new DelayedRangedWeaponTrigger.IOGLIBAPLLG(this.NDLIEIOPMNN);
delayedRangedWeaponTrigger.JFPBBAHBCPN -= ioglibapllg;
}
// Token: 0x0601196C RID: 72044 RVA: 0x00430BFC File Offset: 0x0042EDFC
[Token(Token = "0x601196C")]
[Address(RVA = "0x1103EE0", Offset = "0x11028E0", VA = "0x181103EE0")]
private void LateUpdate()
{
WandProjectileParticles jobcknkockm = this.JOBCKNKOCKM;
int num = 0;
if (jobcknkockm != num)
{
float num2 = this.HLMEEKJIEEL.DDKECNEDAEK;
SpreadRangedWeapon.SpreadTarget[] spreadTargets = this.spreadTargets;
this.JOBCKNKOCKM.StopVelocity();
this.JOBCKNKOCKM = (ulong)0L;
}
}
// Token: 0x0601196D RID: 72045 RVA: 0x00430C4C File Offset: 0x0042EE4C
[Token(Token = "0x601196D")]
[Address(RVA = "0x104F7F0", Offset = "0x104E1F0", VA = "0x18104F7F0")]
private void NDLIEIOPMNN(DelayedRangedWeaponTrigger OOONNFPBMKC)
{
if (base.hasAuthority)
{
bool isCompleted = ((IAsyncResult)this).IsCompleted;
return;
}
}
// Token: 0x0601196E RID: 72046 RVA: 0x00430C6C File Offset: 0x0042EE6C
[Token(Token = "0x601196E")]
[Address(RVA = "0x1103A60", Offset = "0x1102460", VA = "0x181103A60", Slot = "40")]
public override void Fire(float JHJCINDODIL)
{
if (base.hasAuthority)
{
if (base.MJDHKAHMGMO || base.LAJLNCJKALH)
{
throw new NullReferenceException();
}
Transform barrelTransform = this.barrelTransform;
if (this.useHeadAimBias)
{
Tool tool = this._tool;
if (tool.<BIPMAHKMNKF>k__BackingField)
{
Transform transform = tool.<OKDFEPHLKCB>k__BackingField.head.transform;
float num;
if (this.maxHeadAimAngle > num)
{
RigidbodyEx rigidbodyEx = this._tool.<OKDFEPHLKCB>k__BackingField.head.rigidbodyEx;
Transform barrelTransform2 = this.barrelTransform;
Vector3 vector;
float z = vector.z;
Vector3 vector2;
float z2 = vector2.z;
}
}
}
Transform transform2 = this.spreadOffsetRoot;
this.Fire(JHJCINDODIL);
}
}
// Token: 0x0601196F RID: 72047 RVA: 0x00430D20 File Offset: 0x0042EF20
[Token(Token = "0x601196F")]
[Address(RVA = "0x11039B0", Offset = "0x11023B0", VA = "0x1811039B0", Slot = "47")]
protected override void EIEJLOGPMGM(Bullet NLLMMPLAPBK, Enemy BPJNEFJBBML, ANBBFGKPJFD EMPFLFOEDFD, GHMDIDJLFMC KNLMJBAKCGF)
{
AAEGKOIININ aaegkoiinin = this.HLMEEKJIEEL.OBKMOLNOBHD(NLLMMPLAPBK);
if (aaegkoiinin != 0)
{
aaegkoiinin.MCHIEHNFNLF();
}
}
// Token: 0x06011970 RID: 72048 RVA: 0x00430D4C File Offset: 0x0042EF4C
[Token(Token = "0x6011970")]
[Address(RVA = "0x11035E0", Offset = "0x1101FE0", VA = "0x1811035E0", Slot = "25")]
protected override bool DHODJKLNHPA(Enemy BPJNEFJBBML, ANBBFGKPJFD EMPFLFOEDFD, GHMDIDJLFMC KNLMJBAKCGF)
{
if (KNLMJBAKCGF.FEDGOFKEGEF.z > this.spreadShotInitialCharge)
{
if (BPJNEFJBBML.steering.<FEJCOJLMGPC>k__BackingField)
{
Steering steering = BPJNEFJBBML.steering;
Vector3 vector;
float z = vector.z;
Vector3 vector2;
float z2 = vector2.z;
KNLMJBAKCGF.NKKJICPFILJ.z = z2;
}
if (base.hasAuthority && !this.GOOBODNNOKN.Contains(BPJNEFJBBML) && !this.GOOBODNNOKN.Contains(BPJNEFJBBML))
{
Enemy.FIEKLJKDFIP fiekljkdfip = new Enemy.FIEKLJKDFIP(this.OIHFBPGMEME);
BPJNEFJBBML.NCMJJBMBDHK += fiekljkdfip;
Enemy.FJNNOHNMINM fjnnohnminm = new Enemy.FJNNOHNMINM(this.JIFMOEKGGNG);
BPJNEFJBBML.EJPGEKHJECG += fjnnohnminm;
this.GOOBODNNOKN.Add(BPJNEFJBBML);
}
}
float z3 = KNLMJBAKCGF.FEDGOFKEGEF.z;
float num = KNLMJBAKCGF.EGJBGIIHEEL.z;
float num2 = Mathf.Clamp01(z3);
AnimationCurve animationCurve = this.damageFalloffCurve;
num = num2;
float num3 = animationCurve.Evaluate(num);
KNLMJBAKCGF.OHPBNIDKAEK = num3;
bool flag;
return flag;
}
// Token: 0x06011971 RID: 72049 RVA: 0x00430E4C File Offset: 0x0042F04C
[Token(Token = "0x6011971")]
[Address(RVA = "0x1103ED0", Offset = "0x11028D0", VA = "0x181103ED0")]
protected void JIFMOEKGGNG(Enemy BPJNEFJBBML)
{
this.HFMECCNDOOE(BPJNEFJBBML);
}
// Token: 0x06011972 RID: 72050 RVA: 0x00430E60 File Offset: 0x0042F060
[Token(Token = "0x6011972")]
[Address(RVA = "0x11042B0", Offset = "0x1102CB0", VA = "0x1811042B0")]
protected void OIHFBPGMEME(Enemy BPJNEFJBBML, Collision GBJHLKOJGPB)
{
int num = 0;
Vector3 vector;
float z = vector.z;
float num2 = this.minPhysicsDamageVelocity;
Enemy enemy = GBJHLKOJGPB.PABDAFCMNCK(num);
int num3 = 0;
if (!(enemy != num3))
{
ContactPoint[] contacts = GBJHLKOJGPB.contacts;
Vector3 up = Vector3.up;
float num4;
if (num4 <= this.maxFloorAngleDegrees)
{
return;
}
}
this.HFMECCNDOOE(BPJNEFJBBML);
Vector3 vector2;
float z2 = vector2.z;
float z3 = Vector3.zero.z;
ContactPoint[] contacts2 = GBJHLKOJGPB.contacts;
ContactPoint[] contacts3 = GBJHLKOJGPB.contacts;
GameObject gameObject = GBJHLKOJGPB.gameObject;
if (enemy)
{
}
}
// Token: 0x06011973 RID: 72051 RVA: 0x00430EF8 File Offset: 0x0042F0F8
[Token(Token = "0x6011973")]
[Address(RVA = "0x1103FB0", Offset = "0x11029B0", VA = "0x181103FB0")]
private void MELDMLAJELJ(Enemy BPJNEFJBBML)
{
if (!this.GOOBODNNOKN.Contains(BPJNEFJBBML))
{
Enemy.FIEKLJKDFIP fiekljkdfip = new Enemy.FIEKLJKDFIP(this.OIHFBPGMEME);
BPJNEFJBBML.NCMJJBMBDHK += fiekljkdfip;
Enemy.FJNNOHNMINM fjnnohnminm = new Enemy.FJNNOHNMINM(this.JIFMOEKGGNG);
BPJNEFJBBML.EJPGEKHJECG += fjnnohnminm;
this.GOOBODNNOKN.Add(BPJNEFJBBML);
}
}
// Token: 0x06011974 RID: 72052 RVA: 0x00430F50 File Offset: 0x0042F150
[Token(Token = "0x6011974")]
[Address(RVA = "0x1103E00", Offset = "0x1102800", VA = "0x181103E00")]
private void HFMECCNDOOE(Enemy BPJNEFJBBML)
{
Enemy.FIEKLJKDFIP fiekljkdfip = new Enemy.FIEKLJKDFIP(this.OIHFBPGMEME);
BPJNEFJBBML.NCMJJBMBDHK -= fiekljkdfip;
Enemy.FJNNOHNMINM fjnnohnminm = new Enemy.FJNNOHNMINM(this.JIFMOEKGGNG);
BPJNEFJBBML.EJPGEKHJECG -= fjnnohnminm;
bool flag = this.GOOBODNNOKN.Remove(BPJNEFJBBML);
}
// Token: 0x06011975 RID: 72053 RVA: 0x00430F98 File Offset: 0x0042F198
[Token(Token = "0x6011975")]
[Address(RVA = "0x11040B0", Offset = "0x1102AB0", VA = "0x1811040B0", Slot = "42")]
protected override void OICJPFPBIIK(Vector3 DDHPAFKBMON, Quaternion IGPENJBJADK, Vector3 NHAOMEMANJA, float LFDFFDCJAAD, bool FLKHKHDBIOH, byte LNPHJIHHNPN)
{
float z = NHAOMEMANJA.z;
float z2 = DDHPAFKBMON.z;
float num = this.spreadShotInitialCharge;
float z3 = NHAOMEMANJA.z;
float z4 = DDHPAFKBMON.z;
float num2 = this.centerShotInitialCharge;
WandProjectileParticles wandProjectileParticles = this.shootParticlesPrefab;
int num3 = 0;
if (wandProjectileParticles != num3)
{
GlobalPool instance = GlobalPool.ONCPNMDGGKG;
WandProjectileParticles wandProjectileParticles2 = this.shootParticlesPrefab;
WandProjectileParticles wandProjectileParticles3 = instance.Acquire<WandProjectileParticles>(wandProjectileParticles2);
this.JOBCKNKOCKM = wandProjectileParticles3;
wandProjectileParticles3.ResetVelocity();
WandProjectileParticles jobcknkockm = this.JOBCKNKOCKM;
Transform barrelTransform = this.barrelTransform;
jobcknkockm.Play(barrelTransform);
}
}
// Token: 0x06011976 RID: 72054 RVA: 0x00431040 File Offset: 0x0042F240
[Token(Token = "0x6011976")]
[Address(RVA = "0x1104780", Offset = "0x1103180", VA = "0x181104780")]
public ForceWandWeapon()
{
int num = 0;
this.minBulletPercentageRequiredForParticles = 0.25f;
int num2 = 0;
this.maxHeadAimAngle = 75f;
this.centerShotInitialCharge = 1f;
this.spreadShotInitialCharge = 0.3f;
AnimationCurve animationCurve = AnimationCurve.Linear((float)num2, 1f, 1f, (float)num);
this.damageFalloffCurve = animationCurve;
this.minPhysicsDamageVelocity = 1f;
this.maxFloorAngleDegrees = 30f;
this.enemyCollisionDamageCharge = 1f;
this.otherEnemyCollisionDamageCharge = 1f;
this.environmentCollisionDamageCharge = 1f;
List<Enemy> list = new List();
this.GOOBODNNOKN = list;
base..ctor();
}
// Token: 0x0400BC54 RID: 48212
[global::Cpp2IlInjected.FieldOffset(Offset = "0x310")]
[Token(Token = "0x400BC54")]
[SerializeField]
[DDPIINEJFMD(JIBDPHMGEGO.Self, false, false)]
private DelayedRangedWeaponTrigger trigger;
// Token: 0x0400BC55 RID: 48213
[global::Cpp2IlInjected.FieldOffset(Offset = "0x318")]
[Token(Token = "0x400BC55")]
[SerializeField]
[Header("Wand")]
private Transform spreadOffsetRoot;
// Token: 0x0400BC56 RID: 48214
[global::Cpp2IlInjected.FieldOffset(Offset = "0x320")]
[Token(Token = "0x400BC56")]
[SerializeField]
private WandProjectileParticles shootParticlesPrefab;
// Token: 0x0400BC57 RID: 48215
[global::Cpp2IlInjected.FieldOffset(Offset = "0x328")]
[Token(Token = "0x400BC57")]
[SerializeField]
private float minBulletPercentageRequiredForParticles;
// Token: 0x0400BC58 RID: 48216
[global::Cpp2IlInjected.FieldOffset(Offset = "0x32C")]
[Token(Token = "0x400BC58")]
[SerializeField]
[Header("Aiming")]
private bool useHeadAimBias;
// Token: 0x0400BC59 RID: 48217
[global::Cpp2IlInjected.FieldOffset(Offset = "0x330")]
[Token(Token = "0x400BC59")]
[SerializeField]
private float maxHeadAimAngle;
// Token: 0x0400BC5A RID: 48218
[global::Cpp2IlInjected.FieldOffset(Offset = "0x334")]
[Token(Token = "0x400BC5A")]
[SerializeField]
[Range(0f, 1f)]
[Header("Damage")]
private float centerShotInitialCharge;
// Token: 0x0400BC5B RID: 48219
[global::Cpp2IlInjected.FieldOffset(Offset = "0x338")]
[Token(Token = "0x400BC5B")]
[SerializeField]
[Range(0f, 1f)]
private float spreadShotInitialCharge;
// Token: 0x0400BC5C RID: 48220
[global::Cpp2IlInjected.FieldOffset(Offset = "0x340")]
[Token(Token = "0x400BC5C")]
[SerializeField]
private AnimationCurve damageFalloffCurve;
// Token: 0x0400BC5D RID: 48221
[global::Cpp2IlInjected.FieldOffset(Offset = "0x348")]
[Token(Token = "0x400BC5D")]
[SerializeField]
[Header("Physics Damage")]
private float minPhysicsDamageVelocity;
// Token: 0x0400BC5E RID: 48222
[global::Cpp2IlInjected.FieldOffset(Offset = "0x34C")]
[Token(Token = "0x400BC5E")]
[SerializeField]
private float maxFloorAngleDegrees;
// Token: 0x0400BC5F RID: 48223
[global::Cpp2IlInjected.FieldOffset(Offset = "0x350")]
[Token(Token = "0x400BC5F")]
[SerializeField]
private float enemyCollisionDamageCharge;
// Token: 0x0400BC60 RID: 48224
[global::Cpp2IlInjected.FieldOffset(Offset = "0x354")]
[Token(Token = "0x400BC60")]
[SerializeField]
private float otherEnemyCollisionDamageCharge;
// Token: 0x0400BC61 RID: 48225
[global::Cpp2IlInjected.FieldOffset(Offset = "0x358")]
[Token(Token = "0x400BC61")]
[SerializeField]
private float environmentCollisionDamageCharge;
// Token: 0x0400BC62 RID: 48226
[global::Cpp2IlInjected.FieldOffset(Offset = "0x360")]
[Token(Token = "0x400BC62")]
private readonly List<Enemy> GOOBODNNOKN;
// Token: 0x0400BC63 RID: 48227
[global::Cpp2IlInjected.FieldOffset(Offset = "0x368")]
[Token(Token = "0x400BC63")]
private WandProjectileParticles JOBCKNKOCKM;
}
}
@@ -0,0 +1,470 @@
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.");
}
}
}
}
@@ -0,0 +1,36 @@
using System;
using System.Runtime.InteropServices;
using Cpp2IlInjected;
using RecRoom.Core.Powerups;
namespace RecRoom.Activities.Quest.Goblin2
{
// Token: 0x0200275B RID: 10075
[Token(Token = "0x200275B")]
[StructLayout(3)]
public class QuestDamagePowerup : Powerup
{
// Token: 0x06011977 RID: 72055 RVA: 0x004310E4 File Offset: 0x0042F2E4
[Token(Token = "0x6011977")]
[Address(RVA = "0x110C6D0", Offset = "0x110B0D0", VA = "0x18110C6D0", Slot = "13")]
protected override void Awake()
{
base.Awake();
}
// Token: 0x06011978 RID: 72056 RVA: 0x004310F8 File Offset: 0x0042F2F8
[Token(Token = "0x6011978")]
[Address(RVA = "0x110C6E0", Offset = "0x110B0E0", VA = "0x18110C6E0", Slot = "14")]
protected override void OnDestroy()
{
base.OnDestroy();
}
// Token: 0x06011979 RID: 72057 RVA: 0x0043110C File Offset: 0x0042F30C
[Token(Token = "0x6011979")]
[Address(RVA = "0x110C6F0", Offset = "0x110B0F0", VA = "0x18110C6F0")]
public QuestDamagePowerup()
{
}
}
}
@@ -0,0 +1,81 @@
using System;
using System.Collections.Generic;
using System.Runtime.InteropServices;
using Cpp2IlInjected;
using Photon.Pun;
using Photon.Realtime;
using RecRoom.Core.AI;
using RecRoom.Core.Combat;
using RecRoom.Core.Powerups;
using UnityEngine;
namespace RecRoom.Activities.Quest.Goblin2
{
// Token: 0x0200275C RID: 10076
[Token(Token = "0x200275C")]
[StructLayout(3)]
public class QuestFirePowerup : Powerup
{
// Token: 0x0601197A RID: 72058 RVA: 0x00431120 File Offset: 0x0042F320
[Token(Token = "0x601197A")]
[Address(RVA = "0x110CA70", Offset = "0x110B470", VA = "0x18110CA70", Slot = "19")]
protected override void FEMDJPNLMFH(Weapon GDIGKHINJCG, Enemy HMEIODIHDCL, GHMDIDJLFMC KNLMJBAKCGF, bool MJJOHHLGOGK)
{
base..ctor();
float y = KNLMJBAKCGF.NKKJICPFILJ.y;
float z = KNLMJBAKCGF.FEDGOFKEGEF.z;
float z2 = KNLMJBAKCGF.EGJBGIIHEEL.z;
}
// Token: 0x0601197B RID: 72059 RVA: 0x00431160 File Offset: 0x0042F360
[Token(Token = "0x601197B")]
[Address(RVA = "0x110C750", Offset = "0x110B150", VA = "0x18110C750")]
private void ENEEDHNKJBH(Enemy BPJNEFJBBML, Weapon GDIGKHINJCG, FJDJKDOJKDO GMPCPLNNMGD, GHMDIDJLFMC KNLMJBAKCGF)
{
int num = 0;
bool flag;
float num2;
if ((GDIGKHINJCG != num && !flag) || Time.time > num2)
{
if (base.hasAuthority)
{
if (!BPJNEFJBBML.hasAuthority)
{
Photon.Realtime.Player localPlayer = PhotonNetwork.LocalPlayer;
bool flag2 = BPJNEFJBBML.IOGGJAMKGNG();
}
Photon.Realtime.Player authority = GDIGKHINJCG.authority;
}
float time = Time.time;
throw new NullReferenceException();
}
}
// Token: 0x0601197C RID: 72060 RVA: 0x004311CC File Offset: 0x0042F3CC
[Token(Token = "0x601197C")]
[Address(RVA = "0x110CB70", Offset = "0x110B570", VA = "0x18110CB70")]
public QuestFirePowerup()
{
Dictionary<Enemy, float> dictionary = new Dictionary();
this.CBDDGLKAEBO = dictionary;
base..ctor();
}
// Token: 0x0400BC64 RID: 48228
[global::Cpp2IlInjected.FieldOffset(Offset = "0xE0")]
[Token(Token = "0x400BC64")]
[SerializeField]
private float bonusEnemyForce = 20f;
// Token: 0x0400BC65 RID: 48229
[global::Cpp2IlInjected.FieldOffset(Offset = "0xE4")]
[Token(Token = "0x400BC65")]
[SerializeField]
private float minRepeatDamageInterval = 0.5f;
// Token: 0x0400BC66 RID: 48230
[global::Cpp2IlInjected.FieldOffset(Offset = "0xE8")]
[Token(Token = "0x400BC66")]
private readonly Dictionary<Enemy, float> CBDDGLKAEBO;
}
}