411 lines
13 KiB
C#
411 lines
13 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Runtime.InteropServices;
|
|
using Cpp2IlInjected;
|
|
using RecNet;
|
|
using RecRoom.Core.Combat;
|
|
using RecRoom.Core.Pools;
|
|
using RecRoom.DataStructures;
|
|
using RecRoom.Players;
|
|
using UnityEngine;
|
|
|
|
namespace RecRoom.Core.AI
|
|
{
|
|
// Token: 0x02002E4D RID: 11853
|
|
[Token(Token = "0x2002E4D")]
|
|
[StructLayout(3)]
|
|
public abstract class EnemyRangedWeapon : EnemyRangedWeaponBase
|
|
{
|
|
// Token: 0x170038F5 RID: 14581
|
|
// (get) Token: 0x060153E2 RID: 87010 RVA: 0x0051C57C File Offset: 0x0051A77C
|
|
[Token(Token = "0x170038F5")]
|
|
protected OGNBCNBPFCC NNNJFLMAIFJ
|
|
{
|
|
[Token(Token = "0x60153E2")]
|
|
[Address(RVA = "0x1B79F40", Offset = "0x1B78940", VA = "0x181B79F40")]
|
|
get
|
|
{
|
|
return HELOBGLDDLH.CCFEJLNMDLG(this.equipmentProjectileTypeId);
|
|
}
|
|
}
|
|
|
|
// Token: 0x170038F6 RID: 14582
|
|
// (get) Token: 0x060153E3 RID: 87011 RVA: 0x0051C594 File Offset: 0x0051A794
|
|
[Token(Token = "0x170038F6")]
|
|
private Color INCNKMHCJDM
|
|
{
|
|
[Token(Token = "0x60153E3")]
|
|
[Address(RVA = "0x1B794C0", Offset = "0x1B77EC0", VA = "0x181B794C0")]
|
|
get
|
|
{
|
|
bool flag;
|
|
if (flag)
|
|
{
|
|
}
|
|
throw new NullReferenceException();
|
|
}
|
|
}
|
|
|
|
// Token: 0x060153E4 RID: 87012 RVA: 0x0051C5AC File Offset: 0x0051A7AC
|
|
[Token(Token = "0x60153E4")]
|
|
[Address(RVA = "0x1B7A110", Offset = "0x1B78B10", VA = "0x181B7A110", Slot = "15")]
|
|
protected override void Start()
|
|
{
|
|
RigidbodyEx rigidbodyEx = this.thisEnemy.rigidbodyEx;
|
|
List<Rigidbody> flclmcfoiid = this.FLCLMCFOIID;
|
|
Rigidbody unityRigidbody = rigidbodyEx.unityRigidbody;
|
|
flclmcfoiid.Add(unityRigidbody);
|
|
bool flag;
|
|
if (this.thisEnemy.<HONMKCBCBIM>k__BackingField != 0 && flag)
|
|
{
|
|
ulong num2;
|
|
ulong num = num2;
|
|
this.projectileSpeed = (float)num;
|
|
}
|
|
}
|
|
|
|
// Token: 0x060153E5 RID: 87013 RVA: 0x0051C600 File Offset: 0x0051A800
|
|
[Token(Token = "0x60153E5")]
|
|
[Address(RVA = "0x1B79F20", Offset = "0x1B78920", VA = "0x181B79F20", Slot = "17")]
|
|
protected override float OJGIIKCBNGP(float HEIBCBJJGHP)
|
|
{
|
|
return this.projectileSpeed;
|
|
}
|
|
|
|
// Token: 0x060153E6 RID: 87014 RVA: 0x0051C61C File Offset: 0x0051A81C
|
|
[Token(Token = "0x60153E6")]
|
|
[Address(RVA = "0x1B78BD0", Offset = "0x1B775D0", VA = "0x181B78BD0")]
|
|
protected GameObject ENOKEPFJJPL(Vector3 DDHPAFKBMON, Vector3 DJBBMJBBNHB, float EJHELOHKGCF)
|
|
{
|
|
EnemyRangedWeapon.GABIMAFMAEL gabimafmael = this.projectileType;
|
|
if (gabimafmael != EnemyRangedWeapon.GABIMAFMAEL.BULLET && gabimafmael == EnemyRangedWeapon.GABIMAFMAEL.EQUIPMENT && base.hasAuthority)
|
|
{
|
|
float z = DJBBMJBBNHB.z;
|
|
float z2 = DDHPAFKBMON.z;
|
|
}
|
|
float z3 = DJBBMJBBNHB.z;
|
|
float z4 = DDHPAFKBMON.z;
|
|
GameObject gameObject;
|
|
return gameObject;
|
|
}
|
|
|
|
// Token: 0x060153E7 RID: 87015 RVA: 0x0051C664 File Offset: 0x0051A864
|
|
[Token(Token = "0x60153E7")]
|
|
[Address(RVA = "0x1B79570", Offset = "0x1B77F70", VA = "0x181B79570")]
|
|
private GameObject KOIDFECCKBM(Vector3 DDHPAFKBMON, Vector3 DJBBMJBBNHB, float EJHELOHKGCF)
|
|
{
|
|
Bullet bullet = this.LEKAAHGOLBN();
|
|
int num = 0;
|
|
if (!(bullet != num))
|
|
{
|
|
}
|
|
float z = DJBBMJBBNHB.z;
|
|
Transform projectileOriginTransform = this.projectileOriginTransform;
|
|
Vector3 vector;
|
|
float z2 = vector.z;
|
|
Vector3 vector2;
|
|
float z3 = vector2.z;
|
|
float z4 = Vector3.up.z;
|
|
float z5 = DJBBMJBBNHB.z;
|
|
float num2 = this.projectileImpactForce;
|
|
List<Rigidbody> flclmcfoiid = this.FLCLMCFOIID;
|
|
CBMIKIMPBKF.CBAAHCJHLFD cbaahcjhlfd = new CBMIKIMPBKF.CBAAHCJHLFD(this.HMHNGBDBIBE);
|
|
return bullet.gameObject;
|
|
}
|
|
|
|
// Token: 0x060153E8 RID: 87016 RVA: 0x0051C6E4 File Offset: 0x0051A8E4
|
|
[Token(Token = "0x60153E8")]
|
|
[Address(RVA = "0x1B78CB0", Offset = "0x1B776B0", VA = "0x181B78CB0")]
|
|
private GameObject FMJLFBHPCHF(Vector3 DDHPAFKBMON, Vector3 DJBBMJBBNHB, float EJHELOHKGCF)
|
|
{
|
|
RecRoomSceneManager <OCDLBPHJMOP>k__BackingField = RecRoomSceneManager.<OCDLBPHJMOP>k__BackingField;
|
|
int num = 0;
|
|
if (<OCDLBPHJMOP>k__BackingField != num)
|
|
{
|
|
GameManager instance = NetworkedSingletonMonoBehaviour.ONCPNMDGGKG;
|
|
int num2 = 0;
|
|
if (instance != num2)
|
|
{
|
|
GameSpawnManager spawnManager = NetworkedSingletonMonoBehaviour.ONCPNMDGGKG.spawnManager;
|
|
OGNBCNBPFCC ognbcnbpfcc = HELOBGLDDLH.CCFEJLNMDLG(this.equipmentProjectileTypeId);
|
|
Quaternion identity = Quaternion.identity;
|
|
bool flag = Matchmaking.KDIKBBAPFDH;
|
|
float z = DDHPAFKBMON.z;
|
|
bool flag2 = !flag;
|
|
int num3 = 0;
|
|
Tool tool;
|
|
if (tool != num3)
|
|
{
|
|
tool.rigidbodyEx.WakeUp();
|
|
tool.SetCollisionLayer(DAJFOCGPHGP.DynamicPhysics);
|
|
Weapon component = tool.GetComponent<Weapon>();
|
|
int num4 = 0;
|
|
if (component != num4)
|
|
{
|
|
}
|
|
RigidbodyEx rigidbodyEx = tool.rigidbodyEx;
|
|
float z2 = DJBBMJBBNHB.z;
|
|
Vector3 vector;
|
|
float z3 = vector.z;
|
|
RigidbodyEx rigidbodyEx2 = tool.rigidbodyEx;
|
|
float z4 = global::UnityEngine.Random.onUnitSphere.z;
|
|
Vector3 vector2;
|
|
float z5 = vector2.z;
|
|
Vector3 vector3;
|
|
float z6 = vector3.z;
|
|
GameObject gameObject = tool.gameObject;
|
|
}
|
|
}
|
|
}
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x060153E9 RID: 87017 RVA: 0x0051C7E4 File Offset: 0x0051A9E4
|
|
[Token(Token = "0x60153E9")]
|
|
[Address(RVA = "0x1B79800", Offset = "0x1B78200", VA = "0x181B79800")]
|
|
private Bullet LEKAAHGOLBN()
|
|
{
|
|
Bullet bullet = this.bulletProjectilePrefab;
|
|
int num = 0;
|
|
if (bullet != num)
|
|
{
|
|
GlobalPool instance = GlobalPool.ONCPNMDGGKG;
|
|
Bullet bullet2 = this.bulletProjectilePrefab;
|
|
Bullet bullet3 = instance.Acquire<Bullet>(bullet2);
|
|
int num2 = 0;
|
|
if (bullet3 != num2)
|
|
{
|
|
Action<Bullet> action;
|
|
bullet3.DestroyEvent += action;
|
|
Bullet.CEFAOBHGLKL cefaobhglkl;
|
|
bullet3.BEKCCHHMPEH += cefaobhglkl;
|
|
Bullet.BCIJIAKFGLB bcijiakfglb;
|
|
bullet3.EIMFCMEGGPP += bcijiakfglb;
|
|
Bullet.LLNPLAPHHJM llnplaphhjm;
|
|
bullet3.JMKEOLOEKFM += llnplaphhjm;
|
|
Bullet.CJMKAGLOMOH cjmkaglomoh;
|
|
bullet3.FIEIACGBCCI += cjmkaglomoh;
|
|
}
|
|
}
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x060153EA RID: 87018 RVA: 0x0051C864 File Offset: 0x0051AA64
|
|
[Token(Token = "0x60153EA")]
|
|
[Address(RVA = "0x1B79FA0", Offset = "0x1B789A0", VA = "0x181B79FA0", Slot = "19")]
|
|
protected virtual void PLJKAMNDCHG(Bullet DFHLLAEOCIA)
|
|
{
|
|
Action<Bullet> action;
|
|
DFHLLAEOCIA.DestroyEvent -= action;
|
|
Bullet.CEFAOBHGLKL cefaobhglkl;
|
|
DFHLLAEOCIA.BEKCCHHMPEH -= cefaobhglkl;
|
|
Bullet.BCIJIAKFGLB bcijiakfglb;
|
|
DFHLLAEOCIA.EIMFCMEGGPP -= bcijiakfglb;
|
|
Bullet.LLNPLAPHHJM llnplaphhjm;
|
|
DFHLLAEOCIA.JMKEOLOEKFM -= llnplaphhjm;
|
|
Bullet.CJMKAGLOMOH cjmkaglomoh;
|
|
DFHLLAEOCIA.FIEIACGBCCI -= cjmkaglomoh;
|
|
}
|
|
|
|
// Token: 0x060153EB RID: 87019 RVA: 0x0051C89C File Offset: 0x0051AA9C
|
|
[Token(Token = "0x60153EB")]
|
|
[Address(RVA = "0x1B792B0", Offset = "0x1B77CB0", VA = "0x181B792B0")]
|
|
private bool HMHNGBDBIBE(Rigidbody KNJOLAIFFIJ, Vector3 GMENKJKOGMD)
|
|
{
|
|
for (;;)
|
|
{
|
|
int num = 0;
|
|
if (KNJOLAIFFIJ == num)
|
|
{
|
|
return true;
|
|
}
|
|
Tool component = KNJOLAIFFIJ.GetComponent<Tool>();
|
|
int num2 = 0;
|
|
if (!(component != num2))
|
|
{
|
|
break;
|
|
}
|
|
bool flag;
|
|
while (!flag)
|
|
{
|
|
}
|
|
int num3 = 0;
|
|
Weapon weapon;
|
|
if (!(weapon != num3) || !weapon.MHLIDBEEPKN)
|
|
{
|
|
goto IL_89;
|
|
}
|
|
}
|
|
PlayerHand component2 = KNJOLAIFFIJ.GetComponent<PlayerHand>();
|
|
int num4 = 0;
|
|
if (component2 != num4)
|
|
{
|
|
goto IL_89;
|
|
}
|
|
PlayerBody component3 = KNJOLAIFFIJ.GetComponent<PlayerBody>();
|
|
int num5 = 0;
|
|
if (component3 != num5)
|
|
{
|
|
SimpleVolume bodyEnemyDamageRegion = component3.bodyEnemyDamageRegion;
|
|
float z = GMENKJKOGMD.z;
|
|
if (bodyEnemyDamageRegion.DOMABBDEAKJ == 0)
|
|
{
|
|
goto IL_89;
|
|
}
|
|
}
|
|
return true;
|
|
IL_89:
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x060153EC RID: 87020 RVA: 0x0051C93C File Offset: 0x0051AB3C
|
|
[Token(Token = "0x60153EC")]
|
|
[Address(RVA = "0x1B79E60", Offset = "0x1B78860", VA = "0x181B79E60", Slot = "20")]
|
|
protected virtual void ODOBKGAHAGH(Bullet NLLMMPLAPBK, Player IEKDDPPNFPF, Player.GAHEJKDCLLE NMKAKHOEMGB, GHMDIDJLFMC KNLMJBAKCGF)
|
|
{
|
|
if (this.GOCPOLPFPAN != 0)
|
|
{
|
|
}
|
|
}
|
|
|
|
// Token: 0x060153ED RID: 87021 RVA: 0x0051C954 File Offset: 0x0051AB54
|
|
[Token(Token = "0x60153ED")]
|
|
[Address(RVA = "0x1B78B10", Offset = "0x1B77510", VA = "0x181B78B10", Slot = "21")]
|
|
protected virtual void EIEJLOGPMGM(Bullet NLLMMPLAPBK, Enemy BPJNEFJBBML, ANBBFGKPJFD PAKELHPNJDI, GHMDIDJLFMC KNLMJBAKCGF)
|
|
{
|
|
}
|
|
|
|
// Token: 0x060153EE RID: 87022 RVA: 0x0051C964 File Offset: 0x0051AB64
|
|
[Token(Token = "0x60153EE")]
|
|
[Address(RVA = "0x1B791D0", Offset = "0x1B77BD0", VA = "0x181B791D0", Slot = "22")]
|
|
protected virtual void GLFCGNNCNIB(Bullet EDPPMBPBAAC, Tool BKKNJFFJBKN, GHMDIDJLFMC KNLMJBAKCGF)
|
|
{
|
|
if (BKKNJFFJBKN.FNFNLDBILFE && this.HDHFODFFAJJ != 0)
|
|
{
|
|
float y = KNLMJBAKCGF.NKKJICPFILJ.y;
|
|
float z = KNLMJBAKCGF.FEDGOFKEGEF.z;
|
|
float z2 = KNLMJBAKCGF.EGJBGIIHEEL.z;
|
|
}
|
|
float y2 = KNLMJBAKCGF.NKKJICPFILJ.y;
|
|
float z3 = KNLMJBAKCGF.FEDGOFKEGEF.z;
|
|
float z4 = KNLMJBAKCGF.EGJBGIIHEEL.z;
|
|
}
|
|
|
|
// Token: 0x060153EF RID: 87023 RVA: 0x0051C9D4 File Offset: 0x0051ABD4
|
|
[Token(Token = "0x60153EF")]
|
|
[Address(RVA = "0x1B79E10", Offset = "0x1B78810", VA = "0x181B79E10", Slot = "23")]
|
|
protected virtual void MPHCHCKGDIG(Bullet EDPPMBPBAAC, GHMDIDJLFMC KNLMJBAKCGF)
|
|
{
|
|
float y = KNLMJBAKCGF.NKKJICPFILJ.y;
|
|
float z = KNLMJBAKCGF.FEDGOFKEGEF.z;
|
|
float z2 = KNLMJBAKCGF.EGJBGIIHEEL.z;
|
|
}
|
|
|
|
// Token: 0x060153F0 RID: 87024 RVA: 0x0051CA08 File Offset: 0x0051AC08
|
|
[Token(Token = "0x60153F0")]
|
|
[Address(RVA = "0x1B79A40", Offset = "0x1B78440", VA = "0x181B79A40")]
|
|
protected void MLEFHNAPGAI(GHMDIDJLFMC KNLMJBAKCGF)
|
|
{
|
|
float y = KNLMJBAKCGF.NKKJICPFILJ.y;
|
|
float z = KNLMJBAKCGF.FEDGOFKEGEF.z;
|
|
float y2 = KNLMJBAKCGF.NKKJICPFILJ.y;
|
|
float z2 = KNLMJBAKCGF.FEDGOFKEGEF.z;
|
|
RecRoomAudioClip projectileImpactAudio = this.projectileImpactAudio;
|
|
ImpactDecal projectileImpactDecalPrefab = this.projectileImpactDecalPrefab;
|
|
EnemyTeamColor ekmfembmoli = this.EKMFEMBMOLI;
|
|
int num = 0;
|
|
if (!(ekmfembmoli != num) || this.EKMFEMBMOLI.<MGEFIEOAIHG>k__BackingField)
|
|
{
|
|
}
|
|
float z3 = KNLMJBAKCGF.FEDGOFKEGEF.z;
|
|
ImpactDecal projectileImpactDecalPrefab2 = this.projectileImpactDecalPrefab;
|
|
int num2 = 0;
|
|
if (!(projectileImpactDecalPrefab2 == num2))
|
|
{
|
|
INGEKFNNGDK qualitySetting = SingletonMonoBehaviour.Instance.KONLNCONKKJ;
|
|
INGEKFNNGDK[] disableDecalForQualitySetting = this.disableDecalForQualitySetting;
|
|
int num3 = 0;
|
|
int num4 = 0;
|
|
int num5 = (int)qualitySetting;
|
|
int length = disableDecalForQualitySetting.Length;
|
|
if (num4 < length && "{il2cpp array field local39->}" != num5)
|
|
{
|
|
num3++;
|
|
}
|
|
}
|
|
}
|
|
|
|
// Token: 0x060153F1 RID: 87025 RVA: 0x0051CAE8 File Offset: 0x0051ACE8
|
|
[Token(Token = "0x60153F1")]
|
|
[Address(RVA = "0x1B7A250", Offset = "0x1B78C50", VA = "0x181B7A250")]
|
|
protected EnemyRangedWeapon()
|
|
{
|
|
Color white = Color.white;
|
|
this.projectileSpeed = 2f;
|
|
this.projectileImpactForce = 50f;
|
|
base..ctor();
|
|
}
|
|
|
|
// Token: 0x0400E2D9 RID: 58073
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x118")]
|
|
[Token(Token = "0x400E2D9")]
|
|
[SerializeField]
|
|
[Header("Projectile")]
|
|
protected EnemyRangedWeapon.GABIMAFMAEL projectileType;
|
|
|
|
// Token: 0x0400E2DA RID: 58074
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x120")]
|
|
[Token(Token = "0x400E2DA")]
|
|
[SerializeField]
|
|
[Header("Bullet Projectile")]
|
|
protected Bullet bulletProjectilePrefab;
|
|
|
|
// Token: 0x0400E2DB RID: 58075
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x128")]
|
|
[Token(Token = "0x400E2DB")]
|
|
[SerializeField]
|
|
protected Color projectileColor;
|
|
|
|
// Token: 0x0400E2DC RID: 58076
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x138")]
|
|
[Token(Token = "0x400E2DC")]
|
|
[SerializeField]
|
|
[HELOBGLDDLH.KBCDAGDEHAO(false)]
|
|
[Header("Equipment Projectile")]
|
|
public SerializedGuid equipmentProjectileTypeId;
|
|
|
|
// Token: 0x0400E2DD RID: 58077
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x140")]
|
|
[Token(Token = "0x400E2DD")]
|
|
[SerializeField]
|
|
[Header("Projectile Physics")]
|
|
protected float projectileSpeed;
|
|
|
|
// Token: 0x0400E2DE RID: 58078
|
|
[global::Cpp2IlInjected.FieldOffset(Offset = "0x144")]
|
|
[Token(Token = "0x400E2DE")]
|
|
[SerializeField]
|
|
protected float projectileImpactForce;
|
|
|
|
// Token: 0x0400E2DF RID: 58079
|
|
[Token(Token = "0x400E2DF")]
|
|
private const float CNAAOICADEI = 720f;
|
|
|
|
// Token: 0x0400E2E0 RID: 58080
|
|
[Token(Token = "0x400E2E0")]
|
|
public static string PROJECTILE_SPEED_OVERRIDE = "PSO";
|
|
|
|
// Token: 0x02002E4E RID: 11854
|
|
[Token(Token = "0x2002E4E")]
|
|
protected enum GABIMAFMAEL
|
|
{
|
|
// Token: 0x0400E2E2 RID: 58082
|
|
[Token(Token = "0x400E2E2")]
|
|
BULLET,
|
|
// Token: 0x0400E2E3 RID: 58083
|
|
[Token(Token = "0x400E2E3")]
|
|
EQUIPMENT
|
|
}
|
|
}
|
|
}
|