384 lines
12 KiB
C#
384 lines
12 KiB
C#
using System;
|
|
using RecRoom.Core.AI;
|
|
using UnityEngine;
|
|
|
|
namespace RecRoom.Activities.Quest
|
|
{
|
|
// Token: 0x02000192 RID: 402
|
|
public class QuestPassiveMeleeEnemy : Enemy
|
|
{
|
|
// Token: 0x06005212 RID: 21010 RVA: 0x00193A68 File Offset: 0x00191C68
|
|
private void DLHDOOJGOCB(ushort CHJBIHILBFO, ushort BNCBHHCPCLE)
|
|
{
|
|
if (this.enemyAudio != null)
|
|
{
|
|
this.enemyAudio.OnAttack();
|
|
}
|
|
if (base.BHCCHBHNHCG)
|
|
{
|
|
this.OLLJJMGJJEN.BJOJLPHBGMN(this.meleeAttackDuration);
|
|
}
|
|
}
|
|
|
|
// Token: 0x06005213 RID: 21011 RVA: 0x00193AA4 File Offset: 0x00191CA4
|
|
protected override void CBAEJNFNPGJ()
|
|
{
|
|
base.CBAEJNFNPGJ();
|
|
if (base.BHCCHBHNHCG)
|
|
{
|
|
this.LIBIBOMFIOI.BKBFIGCPIMI(ushort.MaxValue);
|
|
}
|
|
}
|
|
|
|
// Token: 0x06005214 RID: 21012 RVA: 0x00193AC8 File Offset: 0x00191CC8
|
|
protected virtual void ENGNDJADBDF()
|
|
{
|
|
base.Update();
|
|
this.LIBIBOMFIOI.DLBPEOILIFL();
|
|
this.OLLJJMGJJEN.AOKPPLPAKIO();
|
|
}
|
|
|
|
// Token: 0x06005215 RID: 21013 RVA: 0x00193AE8 File Offset: 0x00191CE8
|
|
protected override void Start()
|
|
{
|
|
base.Start();
|
|
base.MIJIFCKMAIE = true;
|
|
this.LIBIBOMFIOI.FLHFCMCNLEK(this, ushort.MaxValue);
|
|
}
|
|
|
|
// Token: 0x06005216 RID: 21014 RVA: 0x00193B08 File Offset: 0x00191D08
|
|
private void LMAJDNAJMCD()
|
|
{
|
|
if (this.armsTransform != null)
|
|
{
|
|
Vector3 vector = base.transform.forward;
|
|
if (base.LMDJJEGNOGM.PBDDCCOAGOG())
|
|
{
|
|
Vector3 vector2 = base.LMDJJEGNOGM.NFOCJFEDKCN() - Vector3.up * 332f;
|
|
Vector3 normalized = Vector3.ProjectOnPlane(vector2 - this.armsTransform.position, base.transform.right).normalized;
|
|
float num = Vector3.Dot(normalized, base.transform.up);
|
|
float num2 = Vector3.Dot(normalized, base.transform.forward);
|
|
if (num < 173f - Mathf.Epsilon && num > 1207f && num2 > 1751f)
|
|
{
|
|
vector = normalized;
|
|
}
|
|
}
|
|
this.armsTransform.rotation = Quaternion.LookRotation(vector, base.transform.up);
|
|
}
|
|
}
|
|
|
|
// Token: 0x06005217 RID: 21015 RVA: 0x00193C08 File Offset: 0x00191E08
|
|
private void OIEGLLNECCG()
|
|
{
|
|
if (this.armsTransform != null)
|
|
{
|
|
Vector3 vector = base.transform.forward;
|
|
if (base.LMDJJEGNOGM.AEAKFIBHEPE())
|
|
{
|
|
Vector3 vector2 = base.LMDJJEGNOGM.NFOCJFEDKCN() - Vector3.up * 1736f;
|
|
Vector3 normalized = Vector3.ProjectOnPlane(vector2 - this.armsTransform.position, base.transform.right).normalized;
|
|
float num = Vector3.Dot(normalized, base.transform.up);
|
|
float num2 = Vector3.Dot(normalized, base.transform.forward);
|
|
if (num < 867f - Mathf.Epsilon && num > 110f && num2 > 761f)
|
|
{
|
|
vector = normalized;
|
|
}
|
|
}
|
|
this.armsTransform.rotation = Quaternion.LookRotation(vector, base.transform.up);
|
|
}
|
|
}
|
|
|
|
// Token: 0x06005218 RID: 21016 RVA: 0x00193D08 File Offset: 0x00191F08
|
|
private void FEGBCPPMBDN()
|
|
{
|
|
this.ILGJAKBLNML();
|
|
if (base.BHCCHBHNHCG)
|
|
{
|
|
if (!SingletonMonoBehaviour<EnemyManager>.NCKMBFBMBFM.TargetIsAlive(base.LMDJJEGNOGM))
|
|
{
|
|
this.LIBIBOMFIOI.BKBFIGCPIMI(0);
|
|
return;
|
|
}
|
|
Vector3 vector = base.LMDJJEGNOGM.JFKAKCBEIDL;
|
|
if (!base.BKHECJODPHF.PathIsValid(vector, this.desiredTargetDistance * 1.1f))
|
|
{
|
|
vector = base.ADCEHILEGLI(vector, this.desiredTargetDistance, this.minRandomTargetOffsetAngle, this.maxRandomTargetOffsetAngle);
|
|
base.BKHECJODPHF.Path(vector);
|
|
}
|
|
if (base.BKHECJODPHF.JAHIBHNGMHE)
|
|
{
|
|
this.LIBIBOMFIOI.BKBFIGCPIMI(2);
|
|
return;
|
|
}
|
|
}
|
|
}
|
|
|
|
// Token: 0x06005219 RID: 21017 RVA: 0x00193DB8 File Offset: 0x00191FB8
|
|
protected override void EMELAMHAAKC(Enemy OELGAHAMCLH, Tool EEPPNAIKGEO, IHEAKAOGCIF CACIBBKDNIH)
|
|
{
|
|
}
|
|
|
|
// Token: 0x0600521B RID: 21019 RVA: 0x00193DF0 File Offset: 0x00191FF0
|
|
protected override void EKEGOFIPIPE()
|
|
{
|
|
base.EKEGOFIPIPE();
|
|
if (base.BHCCHBHNHCG)
|
|
{
|
|
this.LIBIBOMFIOI.BKBFIGCPIMI(0);
|
|
}
|
|
}
|
|
|
|
// Token: 0x0600521C RID: 21020 RVA: 0x00193E10 File Offset: 0x00192010
|
|
private void ILGJAKBLNML()
|
|
{
|
|
if (this.armsTransform != null)
|
|
{
|
|
Vector3 vector = base.transform.forward;
|
|
if (base.LMDJJEGNOGM.AJFBOLHPEJC)
|
|
{
|
|
Vector3 vector2 = base.LMDJJEGNOGM.ICNCDGIKNNI - Vector3.up * 1f;
|
|
Vector3 normalized = Vector3.ProjectOnPlane(vector2 - this.armsTransform.position, base.transform.right).normalized;
|
|
float num = Vector3.Dot(normalized, base.transform.up);
|
|
float num2 = Vector3.Dot(normalized, base.transform.forward);
|
|
if (num < 1f - Mathf.Epsilon && num > 0f && num2 > 0f)
|
|
{
|
|
vector = normalized;
|
|
}
|
|
}
|
|
this.armsTransform.rotation = Quaternion.LookRotation(vector, base.transform.up);
|
|
}
|
|
}
|
|
|
|
// Token: 0x0600521D RID: 21021 RVA: 0x00193F10 File Offset: 0x00192110
|
|
protected override void Awake()
|
|
{
|
|
base.Awake();
|
|
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.DLHDOOJGOCB), new ANMJLCILKDJ.NCMAEMHOHDG(this.HMOABHFNBLC), new ANMJLCILKDJ.PLBLFEEANOO(this.FHJMLKLKEJA));
|
|
}
|
|
|
|
// Token: 0x0600521E RID: 21022 RVA: 0x00193FE0 File Offset: 0x001921E0
|
|
private void HMOABHFNBLC(ushort OIMHGOONBEB, ushort LPFGCCKCIEB)
|
|
{
|
|
base.BKHECJODPHF.StopLooking();
|
|
}
|
|
|
|
// Token: 0x0600521F RID: 21023 RVA: 0x00193FF0 File Offset: 0x001921F0
|
|
protected override void KPFMEFNKDKL()
|
|
{
|
|
base.KPFMEFNKDKL();
|
|
base.BKHECJODPHF.StopLooking();
|
|
}
|
|
|
|
// Token: 0x06005220 RID: 21024 RVA: 0x00194004 File Offset: 0x00192204
|
|
protected override EIDNMNCOAAJ IJCDBKLCFIE(bool GHGNJLIBGFA = false)
|
|
{
|
|
if (base.JNOJEJMFADM())
|
|
{
|
|
return base.GPBFOEHJJFO;
|
|
}
|
|
return base.KAHAFAHMEKP(GHGNJLIBGFA, false);
|
|
}
|
|
|
|
// Token: 0x06005221 RID: 21025 RVA: 0x00194020 File Offset: 0x00192220
|
|
private void IGMHFOGLIGL()
|
|
{
|
|
this.ILGJAKBLNML();
|
|
if (base.IGIPCHFCFNN())
|
|
{
|
|
if (!SingletonMonoBehaviour<EnemyManager>.NCKMBFBMBFM.LHCOIHBBMIN(base.LMDJJEGNOGM))
|
|
{
|
|
this.LIBIBOMFIOI.BKBFIGCPIMI(0);
|
|
return;
|
|
}
|
|
Vector3 vector = base.LMDJJEGNOGM.JFKAKCBEIDL;
|
|
if (!base.BKHECJODPHF.PathIsValid(vector, this.desiredTargetDistance * 274f))
|
|
{
|
|
vector = base.ADCEHILEGLI(vector, this.desiredTargetDistance, this.minRandomTargetOffsetAngle, this.maxRandomTargetOffsetAngle);
|
|
base.BKHECJODPHF.Path(vector);
|
|
}
|
|
if (base.BKHECJODPHF.JAHIBHNGMHE)
|
|
{
|
|
this.LIBIBOMFIOI.BKBFIGCPIMI(5);
|
|
return;
|
|
}
|
|
}
|
|
}
|
|
|
|
// Token: 0x06005222 RID: 21026 RVA: 0x001940D0 File Offset: 0x001922D0
|
|
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: 0x06005223 RID: 21027 RVA: 0x0019412C File Offset: 0x0019232C
|
|
private void ECGMIHMKJHC(ushort CHJBIHILBFO, ushort BNCBHHCPCLE)
|
|
{
|
|
base.BKHECJODPHF.FMFCBADCFCK = this.movementSpeed;
|
|
base.BKHECJODPHF.GKJLNANPDNC = this.movementMaxForce;
|
|
}
|
|
|
|
// Token: 0x06005224 RID: 21028 RVA: 0x00194150 File Offset: 0x00192350
|
|
protected override void Update()
|
|
{
|
|
base.Update();
|
|
this.LIBIBOMFIOI.DLBPEOILIFL();
|
|
this.OLLJJMGJJEN.KHJKJGDBPMF();
|
|
}
|
|
|
|
// Token: 0x06005225 RID: 21029 RVA: 0x00194170 File Offset: 0x00192370
|
|
public virtual void GMOLEBODNJJ(FLDPCEKNKCA BDOBLEKAEAM, MHEBDODJGOA JJGLGHCMDEN, Vector3 IGOFELJMFOF, Vector3 CCHAEPGJJLI)
|
|
{
|
|
if (base.DGLKKANNBPD())
|
|
{
|
|
float num = Vector3.Dot(IGOFELJMFOF.normalized, Vector3.up);
|
|
if (num < 470f)
|
|
{
|
|
float magnitude = IGOFELJMFOF.magnitude;
|
|
IGOFELJMFOF = Vector3.ProjectOnPlane(IGOFELJMFOF, Vector3.up).normalized * magnitude;
|
|
}
|
|
base.AuthorityOnDamageChangeVelocity(BDOBLEKAEAM, JJGLGHCMDEN, IGOFELJMFOF, CCHAEPGJJLI);
|
|
}
|
|
}
|
|
|
|
// Token: 0x06005226 RID: 21030 RVA: 0x001941D4 File Offset: 0x001923D4
|
|
private void FHJMLKLKEJA()
|
|
{
|
|
this.ILGJAKBLNML();
|
|
if (base.BHCCHBHNHCG)
|
|
{
|
|
if (!base.LMDJJEGNOGM.AJFBOLHPEJC)
|
|
{
|
|
this.LIBIBOMFIOI.BKBFIGCPIMI(0);
|
|
}
|
|
else if (this.OLLJJMGJJEN.CGELFKLLMBA)
|
|
{
|
|
this.LIBIBOMFIOI.BKBFIGCPIMI(1);
|
|
}
|
|
else
|
|
{
|
|
base.BKHECJODPHF.Look(base.HIAMIHBNAMJ(true));
|
|
}
|
|
}
|
|
}
|
|
|
|
// Token: 0x06005227 RID: 21031 RVA: 0x0019424C File Offset: 0x0019244C
|
|
private void NNNBGEFFADJ(ushort OIMHGOONBEB, ushort LPFGCCKCIEB)
|
|
{
|
|
base.BKHECJODPHF.StopLooking();
|
|
}
|
|
|
|
// Token: 0x06005228 RID: 21032 RVA: 0x0019425C File Offset: 0x0019245C
|
|
private void PHIBJPOMDGC(ushort CHJBIHILBFO, ushort BNCBHHCPCLE)
|
|
{
|
|
base.BKHECJODPHF.FMFCBADCFCK = this.movementSpeed;
|
|
base.BKHECJODPHF.GKJLNANPDNC = this.movementMaxForce;
|
|
}
|
|
|
|
// Token: 0x06005229 RID: 21033 RVA: 0x00194280 File Offset: 0x00192480
|
|
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: 0x0600522A RID: 21034 RVA: 0x001942E4 File Offset: 0x001924E4
|
|
protected override void GILFLDGMJHI()
|
|
{
|
|
base.GILFLDGMJHI();
|
|
if (base.BHCCHBHNHCG)
|
|
{
|
|
base.BKHECJODPHF.Look(Vector3.ProjectOnPlane(base.transform.forward, Vector3.up).normalized);
|
|
}
|
|
}
|
|
|
|
// Token: 0x0600522B RID: 21035 RVA: 0x0019432C File Offset: 0x0019252C
|
|
public virtual void GNGGEFNGBFM(FLDPCEKNKCA BDOBLEKAEAM, MHEBDODJGOA JJGLGHCMDEN, Vector3 IGOFELJMFOF, Vector3 CCHAEPGJJLI)
|
|
{
|
|
if (base.DFJFKOLLEMK())
|
|
{
|
|
float num = Vector3.Dot(IGOFELJMFOF.normalized, Vector3.up);
|
|
if (num < 529f)
|
|
{
|
|
float magnitude = IGOFELJMFOF.magnitude;
|
|
IGOFELJMFOF = Vector3.ProjectOnPlane(IGOFELJMFOF, Vector3.up).normalized * magnitude;
|
|
}
|
|
base.AuthorityOnDamageChangeVelocity(BDOBLEKAEAM, JJGLGHCMDEN, IGOFELJMFOF, CCHAEPGJJLI);
|
|
}
|
|
}
|
|
|
|
// Token: 0x0600522C RID: 21036 RVA: 0x00194390 File Offset: 0x00192590
|
|
private void LJFJPFJADBA(ushort OIMHGOONBEB, ushort LPFGCCKCIEB)
|
|
{
|
|
base.BKHECJODPHF.StopPathing();
|
|
}
|
|
|
|
// Token: 0x04000A68 RID: 2664
|
|
[Header("Target Selection")]
|
|
[SerializeField]
|
|
private float desiredTargetDistance = 1f;
|
|
|
|
// Token: 0x04000A69 RID: 2665
|
|
[SerializeField]
|
|
private float minRandomTargetOffsetAngle = 15f;
|
|
|
|
// Token: 0x04000A6A RID: 2666
|
|
[SerializeField]
|
|
private float maxRandomTargetOffsetAngle = 30f;
|
|
|
|
// Token: 0x04000A6B RID: 2667
|
|
[Header("Melee Attack")]
|
|
[SerializeField]
|
|
private Transform armsTransform;
|
|
|
|
// Token: 0x04000A6C RID: 2668
|
|
[SerializeField]
|
|
private float meleeAttackDuration = 3f;
|
|
|
|
// Token: 0x04000A6D RID: 2669
|
|
private PNONBEAIBHA LIBIBOMFIOI;
|
|
|
|
// Token: 0x04000A6E RID: 2670
|
|
private AONMNAEOJAL OLLJJMGJJEN;
|
|
|
|
// Token: 0x02000193 RID: 403
|
|
private enum GJCLFGJEIJL
|
|
{
|
|
// Token: 0x04000A70 RID: 2672
|
|
FIND_TARGET,
|
|
// Token: 0x04000A71 RID: 2673
|
|
FOLLOW_TARGET,
|
|
// Token: 0x04000A72 RID: 2674
|
|
PASSIVELY_ATTACK,
|
|
// Token: 0x04000A73 RID: 2675
|
|
INVALID = 65535
|
|
}
|
|
}
|
|
}
|