using System; using RecRoom.Core.AI; using UnityEngine; namespace RecRoom.Activities.Quest { // Token: 0x02000178 RID: 376 public class QuestMeleeAttackEnemy : Enemy { // Token: 0x06004ECF RID: 20175 RVA: 0x00185C7C File Offset: 0x00183E7C protected virtual void DHNFBJDLIDK() { base.KPFMEFNKDKL(); base.BKHECJODPHF.StopLooking(); } // Token: 0x06004ED0 RID: 20176 RVA: 0x00185C90 File Offset: 0x00183E90 private void ECGMIHMKJHC(ushort CHJBIHILBFO, ushort BNCBHHCPCLE) { base.BKHECJODPHF.StopAll(); base.BKHECJODPHF.FMFCBADCFCK = this.movementSpeed; base.BKHECJODPHF.GKJLNANPDNC = this.movementMaxForce; } // Token: 0x06004ED1 RID: 20177 RVA: 0x00185CC0 File Offset: 0x00183EC0 private void EAGGLMHOOAM(bool CAAAFEKOAAF) { if (base.MIJIFCKMAIE != CAAAFEKOAAF) { base.MIJIFCKMAIE = CAAAFEKOAAF; } } // Token: 0x06004ED2 RID: 20178 RVA: 0x00185CD8 File Offset: 0x00183ED8 protected override void Update() { base.Update(); this.LIBIBOMFIOI.DLBPEOILIFL(); this.OLLJJMGJJEN.KHJKJGDBPMF(); } // Token: 0x06004ED3 RID: 20179 RVA: 0x00185CF8 File Offset: 0x00183EF8 protected virtual void LHMGNEDHIHI() { base.Update(); this.LIBIBOMFIOI.DLBPEOILIFL(); this.OLLJJMGJJEN.AOKPPLPAKIO(); } // Token: 0x06004ED4 RID: 20180 RVA: 0x00185D18 File Offset: 0x00183F18 protected override void GILFLDGMJHI() { base.GILFLDGMJHI(); if (base.BHCCHBHNHCG) { base.BKHECJODPHF.Look(Vector3.ProjectOnPlane(base.transform.forward, Vector3.up).normalized); } } // Token: 0x06004ED5 RID: 20181 RVA: 0x00185D60 File Offset: 0x00183F60 private void IMIJNPEFLDF() { if (base.BHCCHBHNHCG) { if (this.OLLJJMGJJEN.CGELFKLLMBA) { this.LIBIBOMFIOI.BKBFIGCPIMI(0); } if (base.LMDJJEGNOGM.AJFBOLHPEJC) { base.BKHECJODPHF.Look(base.HIAMIHBNAMJ(true)); } } } // Token: 0x06004ED6 RID: 20182 RVA: 0x00185DBC File Offset: 0x00183FBC protected virtual void CPLOFHHAACI() { base.KPFMEFNKDKL(); base.BKHECJODPHF.StopLooking(); } // Token: 0x06004ED8 RID: 20184 RVA: 0x00185E10 File Offset: 0x00184010 protected virtual void NEMJOAJFMIO() { base.CBAEJNFNPGJ(); if (base.JNOCCMDBMIO()) { this.LIBIBOMFIOI.BKBFIGCPIMI((ushort)(-162)); } } // Token: 0x06004ED9 RID: 20185 RVA: 0x00185E34 File Offset: 0x00184034 private void BMFHMDAINCH() { if (base.DGLKKANNBPD()) { if (!SingletonMonoBehaviour.NCKMBFBMBFM.PKDPGEMPCHI(base.LMDJJEGNOGM)) { this.LIBIBOMFIOI.BKBFIGCPIMI(1); return; } Vector3 vector = base.LMDJJEGNOGM.JFKAKCBEIDL; if ((base.BKHECJODPHF.EFBJHLLLPJC - vector).sqrMagnitude <= this.desiredTargetDistance * this.desiredTargetDistance && base.HasLineOfSight(vector)) { this.LIBIBOMFIOI.BKBFIGCPIMI(3); return; } if (!base.BKHECJODPHF.PathIsValid(vector, this.desiredTargetDistance * 1181f) || base.BKHECJODPHF.JAHIBHNGMHE) { vector = base.ADCEHILEGLI(vector, this.desiredTargetDistance, this.minRandomTargetOffsetAngle, this.maxRandomTargetOffsetAngle); base.BKHECJODPHF.Path(vector); } } } // Token: 0x06004EDA RID: 20186 RVA: 0x00185F14 File Offset: 0x00184114 protected override EIDNMNCOAAJ IJCDBKLCFIE(bool GHGNJLIBGFA = false) { if (base.JNOJEJMFADM()) { return base.GPBFOEHJJFO; } return base.KAHAFAHMEKP(GHGNJLIBGFA, false); } // Token: 0x06004EDB RID: 20187 RVA: 0x00185F30 File Offset: 0x00184130 private void FOLJMCGHGOB(ushort CHJBIHILBFO, ushort BNCBHHCPCLE) { this.enemyAnimator.PlayMeleeAttack(); if (base.BHCCHBHNHCG) { this.OLLJJMGJJEN.BJOJLPHBGMN(this.attackDuration + this.postAttackDuration); } } // Token: 0x06004EDC RID: 20188 RVA: 0x00185F60 File Offset: 0x00184160 private void FEGBCPPMBDN() { if (base.BHCCHBHNHCG) { if (!SingletonMonoBehaviour.NCKMBFBMBFM.TargetIsAlive(base.LMDJJEGNOGM)) { this.LIBIBOMFIOI.BKBFIGCPIMI(0); return; } Vector3 vector = base.LMDJJEGNOGM.JFKAKCBEIDL; if ((base.BKHECJODPHF.EFBJHLLLPJC - vector).sqrMagnitude <= this.desiredTargetDistance * this.desiredTargetDistance && base.HasLineOfSight(vector)) { this.LIBIBOMFIOI.BKBFIGCPIMI(2); return; } if (!base.BKHECJODPHF.PathIsValid(vector, this.desiredTargetDistance * 1.1f) || base.BKHECJODPHF.JAHIBHNGMHE) { vector = base.ADCEHILEGLI(vector, this.desiredTargetDistance, this.minRandomTargetOffsetAngle, this.maxRandomTargetOffsetAngle); base.BKHECJODPHF.Path(vector); } } } // Token: 0x06004EDD RID: 20189 RVA: 0x00186040 File Offset: 0x00184240 protected override void Start() { base.Start(); this.LIBIBOMFIOI.FLHFCMCNLEK(this, ushort.MaxValue); } // Token: 0x06004EDE RID: 20190 RVA: 0x0018605C File Offset: 0x0018425C private void KLEBDALIDNB() { if (base.BHCCHBHNHCG) { EIDNMNCOAAJ eidnmncoaaj = this.IJCDBKLCFIE(false); if (eidnmncoaaj.AJFBOLHPEJC) { base.LMDJJEGNOGM = eidnmncoaaj; base.GPBFOEHJJFO = EIDNMNCOAAJ.CGNKKAKJIJL; this.LIBIBOMFIOI.BKBFIGCPIMI(1); } else { base.HCGGDDPJBHE(1f); } } } // Token: 0x06004EDF RID: 20191 RVA: 0x001860B8 File Offset: 0x001842B8 protected virtual void FHOMCLDMDID() { base.GILFLDGMJHI(); if (base.DGLKKANNBPD()) { base.BKHECJODPHF.Look(Vector3.ProjectOnPlane(base.transform.forward, Vector3.up).normalized); } } // Token: 0x06004EE0 RID: 20192 RVA: 0x00186100 File Offset: 0x00184300 private void JAKGGGEFENB() { if (base.JNOCCMDBMIO()) { if (!SingletonMonoBehaviour.NCKMBFBMBFM.TargetIsAlive(base.LMDJJEGNOGM)) { this.LIBIBOMFIOI.BKBFIGCPIMI(0); return; } Vector3 vector = base.LMDJJEGNOGM.KAAIICFGDLO(); if ((base.BKHECJODPHF.EFBJHLLLPJC - vector).sqrMagnitude <= this.desiredTargetDistance * this.desiredTargetDistance && base.HasLineOfSight(vector)) { this.LIBIBOMFIOI.BKBFIGCPIMI(0); return; } if (!base.BKHECJODPHF.PathIsValid(vector, this.desiredTargetDistance * 1294f) || base.BKHECJODPHF.JAHIBHNGMHE) { vector = base.ADCEHILEGLI(vector, this.desiredTargetDistance, this.minRandomTargetOffsetAngle, this.maxRandomTargetOffsetAngle); base.BKHECJODPHF.Path(vector); } } } // Token: 0x06004EE1 RID: 20193 RVA: 0x001861E0 File Offset: 0x001843E0 protected override void EKEGOFIPIPE() { base.EKEGOFIPIPE(); if (base.BHCCHBHNHCG) { this.LIBIBOMFIOI.BKBFIGCPIMI(0); } } // Token: 0x06004EE2 RID: 20194 RVA: 0x00186200 File Offset: 0x00184400 private void PHGNPFAAJOJ(ushort OIMHGOONBEB, ushort LPFGCCKCIEB) { base.BKHECJODPHF.StopLooking(); } // Token: 0x06004EE3 RID: 20195 RVA: 0x00186210 File Offset: 0x00184410 protected override void KPFMEFNKDKL() { base.KPFMEFNKDKL(); base.BKHECJODPHF.StopLooking(); } // Token: 0x06004EE4 RID: 20196 RVA: 0x00186224 File Offset: 0x00184424 protected override void CBAEJNFNPGJ() { base.CBAEJNFNPGJ(); if (base.BHCCHBHNHCG) { this.LIBIBOMFIOI.BKBFIGCPIMI(ushort.MaxValue); } } // Token: 0x06004EE5 RID: 20197 RVA: 0x00186248 File Offset: 0x00184448 protected override void OnDestroy() { base.OnDestroy(); if (this.HHMPOPAHGMD != null) { this.HHMPOPAHGMD.NBHEMLAPLLL -= this.GLDJCILGPGM; } } // Token: 0x06004EE6 RID: 20198 RVA: 0x00186278 File Offset: 0x00184478 public override void AuthorityOnDamageChangeVelocity(FLDPCEKNKCA BDOBLEKAEAM, MHEBDODJGOA JJGLGHCMDEN, Vector3 IGOFELJMFOF, Vector3 CCHAEPGJJLI) { if (base.BHCCHBHNHCG) { float num = Vector3.Dot(IGOFELJMFOF.normalized, Vector3.up); if (num < 0f) { float magnitude = IGOFELJMFOF.magnitude; IGOFELJMFOF = Vector3.ProjectOnPlane(IGOFELJMFOF, Vector3.up).normalized * magnitude; } base.AuthorityOnDamageChangeVelocity(BDOBLEKAEAM, JJGLGHCMDEN, IGOFELJMFOF, CCHAEPGJJLI); } } // Token: 0x06004EE7 RID: 20199 RVA: 0x001862DC File Offset: 0x001844DC protected override void Awake() { base.Awake(); this.HHMPOPAHGMD = base.GetComponentInChildren(true); if (this.HHMPOPAHGMD == null) { Debug.LogError(base.name + " is missing Animation Attack Trigger."); } else { this.HHMPOPAHGMD.NBHEMLAPLLL += this.GLDJCILGPGM; } this.enemyAudio.BMBFCDOIIMM = true; this.OLLJJMGJJEN = new AONMNAEOJAL(this, "BEHAVIOR", IKCAJLLAFML.AUTHORITY); this.LIBIBOMFIOI = new PNONBEAIBHA("BEHAVIOR", IKCAJLLAFML.AUTHORITY); this.LIBIBOMFIOI.AGLMMKOFICI(ushort.MaxValue, null, null, null); this.LIBIBOMFIOI.AGLMMKOFICI(0, null, null, new ANMJLCILKDJ.PLBLFEEANOO(this.KLEBDALIDNB)); this.LIBIBOMFIOI.AGLMMKOFICI(1, new ANMJLCILKDJ.NCMAEMHOHDG(this.ECGMIHMKJHC), new ANMJLCILKDJ.NCMAEMHOHDG(this.LJFJPFJADBA), new ANMJLCILKDJ.PLBLFEEANOO(this.FEGBCPPMBDN)); this.LIBIBOMFIOI.AGLMMKOFICI(2, new ANMJLCILKDJ.NCMAEMHOHDG(this.FOLJMCGHGOB), new ANMJLCILKDJ.NCMAEMHOHDG(this.PHGNPFAAJOJ), new ANMJLCILKDJ.PLBLFEEANOO(this.IMIJNPEFLDF)); } // Token: 0x06004EE8 RID: 20200 RVA: 0x001863FC File Offset: 0x001845FC private void LJFJPFJADBA(ushort OIMHGOONBEB, ushort LPFGCCKCIEB) { base.BKHECJODPHF.StopPathing(); } // Token: 0x06004EE9 RID: 20201 RVA: 0x0018640C File Offset: 0x0018460C protected override void EMELAMHAAKC(Enemy OELGAHAMCLH, Tool EEPPNAIKGEO, IHEAKAOGCIF CACIBBKDNIH) { Weapon component = EEPPNAIKGEO.GetComponent(); if (EEPPNAIKGEO.OHGPCMJMFGC && EEPPNAIKGEO.BHCCHBHNHCG && component != null && component.JNFCPPPFGAM == FLDPCEKNKCA.MELEE_SHIELD) { if (!base.BHCCHBHNHCG) { base.OMNGGJICBBI.TransferOwnership(IHFKMIAHBFP.JEFGMHBLLKI); } this.AuthorityStun(FLDPCEKNKCA.SELF_ATTACK, MHEBDODJGOA.NORMAL); } } // Token: 0x06004EEA RID: 20202 RVA: 0x0018647C File Offset: 0x0018467C private void GLDJCILGPGM(bool CAAAFEKOAAF) { if (base.MIJIFCKMAIE != CAAAFEKOAAF) { base.MIJIFCKMAIE = CAAAFEKOAAF; } } // Token: 0x06004EEB RID: 20203 RVA: 0x00186494 File Offset: 0x00184694 protected virtual void ONJGKDHFGJK() { base.EKEGOFIPIPE(); if (base.DFJFKOLLEMK()) { this.LIBIBOMFIOI.BKBFIGCPIMI(0); } } // Token: 0x06004EEC RID: 20204 RVA: 0x001864B4 File Offset: 0x001846B4 protected virtual void GMBFJHIHJFB() { base.Start(); this.LIBIBOMFIOI.PGELJEHELFN(this, 188); } // Token: 0x040009E5 RID: 2533 [Header("Target Selection")] [SerializeField] private float desiredTargetDistance = 1f; // Token: 0x040009E6 RID: 2534 [SerializeField] private float minRandomTargetOffsetAngle = 15f; // Token: 0x040009E7 RID: 2535 [SerializeField] private float maxRandomTargetOffsetAngle = 30f; // Token: 0x040009E8 RID: 2536 [Header("Melee Attack")] [SerializeField] private float attackDuration = 1.5f; // Token: 0x040009E9 RID: 2537 [SerializeField] private float postAttackDuration = 1.5f; // Token: 0x040009EA RID: 2538 private PNONBEAIBHA LIBIBOMFIOI; // Token: 0x040009EB RID: 2539 private AONMNAEOJAL OLLJJMGJJEN; // Token: 0x040009EC RID: 2540 private AnimationAttackTrigger HHMPOPAHGMD; // Token: 0x02000179 RID: 377 private enum GJCLFGJEIJL { // Token: 0x040009EE RID: 2542 FIND_TARGET, // Token: 0x040009EF RID: 2543 FOLLOW_TARGET, // Token: 0x040009F0 RID: 2544 ATTACK, // Token: 0x040009F1 RID: 2545 INVALID = 65535 } } }