392 lines
11 KiB
C#
392 lines
11 KiB
C#
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<EnemyManager>.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<EnemyManager>.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<EnemyManager>.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<AnimationAttackTrigger>(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<Weapon>();
|
|
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
|
|
}
|
|
}
|
|
}
|