Files
2026-06-04 11:42:34 +02:00

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
}
}
}