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 flclmcfoiid = this.FLCLMCFOIID; Rigidbody unityRigidbody = rigidbodyEx.unityRigidbody; flclmcfoiid.Add(unityRigidbody); bool flag; if (this.thisEnemy.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 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 k__BackingField = RecRoomSceneManager.k__BackingField; int num = 0; if (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(); 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(bullet2); int num2 = 0; if (bullet3 != num2) { Action 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 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(); 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(); int num4 = 0; if (component2 != num4) { goto IL_89; } PlayerBody component3 = KNJOLAIFFIJ.GetComponent(); 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.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 } } }