This commit is contained in:
niko
2026-06-04 11:42:34 +02:00
parent f39ba70a9f
commit e720b98cd1
7488 changed files with 2493818 additions and 0 deletions
@@ -0,0 +1,1428 @@
using System;
using RecRoom.Core.AI;
using RecRoom.Tools.Weapons;
using UnityEngine;
namespace RecRoom.Activities.Quest
{
// Token: 0x02000146 RID: 326
public class QuestWitchBossEnemy : Enemy
{
// Token: 0x0600446C RID: 17516 RVA: 0x0015AB84 File Offset: 0x00158D84
private void LOMIPFOLBOO(ushort OIMHGOONBEB, ushort LPFGCCKCIEB)
{
base.BKHECJODPHF.NDGKHAMPONJ();
}
// Token: 0x0600446D RID: 17517 RVA: 0x0015AB94 File Offset: 0x00158D94
private Vector3 LLHBCICLPME()
{
return this.JGIANBIAPLD.CPIBGJLHLBL();
}
// Token: 0x0600446E RID: 17518 RVA: 0x0015ABA4 File Offset: 0x00158DA4
protected override void OAKBFGNNAEK()
{
base.OAKBFGNNAEK();
if (base.BHCCHBHNHCG && !base.BKHECJODPHF.FHLEFPDIIJL)
{
base.BKHECJODPHF.Seek(this.KINNCEKOLHI, this.movementSlowdownDistance, 0.25f, false);
}
}
// Token: 0x0600446F RID: 17519 RVA: 0x0015ABE4 File Offset: 0x00158DE4
private void EPCJPECOKJH(ushort CHJBIHILBFO, ushort BNCBHHCPCLE)
{
if (base.DGLKKANNBPD())
{
float num = this.postDisengageDelay;
if (this.OJIPCPBHAJA())
{
num = this.postPatrolDelay;
this.EJOPENBGGHM(false);
}
this.GOOHDPLFNMC.BJOJLPHBGMN(num);
}
}
// Token: 0x06004470 RID: 17520 RVA: 0x0015AC28 File Offset: 0x00158E28
private void JCLJLBEHMKN()
{
if (base.BHCCHBHNHCG)
{
EIDNMNCOAAJ eidnmncoaaj = base.LMDJJEGNOGM;
if (this.GOOHDPLFNMC.CGELFKLLMBA)
{
if (!base.LMDJJEGNOGM.AJFBOLHPEJC)
{
base.LMDJJEGNOGM = this.IJCDBKLCFIE(false);
}
if (base.LMDJJEGNOGM.AJFBOLHPEJC)
{
float num = Mathf.Clamp01((float)base.CNHBPJFLDCE / (float)base.BNBJJKCBDFC);
float num2 = this.projectileSpeedByHealthCurve.Evaluate(num);
this.KGKFMMHEMJJ.AuthorityFire(base.LMDJJEGNOGM.ICNCDGIKNNI + Vector3.up * this.projectileHeadTargetHeightOffset, num2);
}
this.LIBIBOMFIOI.BKBFIGCPIMI(3);
return;
}
if (base.LMDJJEGNOGM.AJFBOLHPEJC)
{
base.BKHECJODPHF.Look(base.HIAMIHBNAMJ(!base.BKHECJODPHF.OGCGDMDPHBM));
}
}
}
// Token: 0x06004471 RID: 17521 RVA: 0x0015AD20 File Offset: 0x00158F20
private void AHCNFHDHGFO(float NOBAPCOKFIL)
{
this.OPLJPIOLJNC.MEAINJPIECA(NOBAPCOKFIL);
}
// Token: 0x06004472 RID: 17522 RVA: 0x0015AD30 File Offset: 0x00158F30
private void NFJJKEGOHGH()
{
if (base.DGLOKLCEMLH() && this.GOOHDPLFNMC.ALEKFIMMFPH())
{
this.LIBIBOMFIOI.BKBFIGCPIMI(7);
}
}
// Token: 0x06004473 RID: 17523 RVA: 0x0015AD5C File Offset: 0x00158F5C
private void PICIBJPPCOM(ProjectileTool FPKJFOJMMIM, EnemyProjectileToolRangedWeapon.GHOOEBGMCNO CBCMDLNIHKK, Vector3 FHFHOMKFHCI, Vector3 NCEMFEFKOEF)
{
if (FPKJFOJMMIM != null && FPKJFOJMMIM.JNOCCMDBMIO() && !base.FNGHOEFDKPO && !base.AOKGAGHHHIN && base.CNHBPJFLDCE > 0 && base.ACEACLFJOAA)
{
if (!base.DGLOKLCEMLH())
{
base.BIPEBCPEPKL().NNOFBLMFKAH(IHFKMIAHBFP.JEFGMHBLLKI);
}
if (CBCMDLNIHKK == EnemyProjectileToolRangedWeapon.GHOOEBGMCNO.TO_ENEMY_SUCCESS)
{
this.CCFJDBJLOIK = NCEMFEFKOEF.normalized;
Vector3 position = this.KGKFMMHEMJJ.DCBHLBNCLGP.position;
Vector3 vector = position - FHFHOMKFHCI;
float magnitude = vector.magnitude;
Vector3 normalized = vector.normalized;
float magnitude2 = Vector3.Project(NCEMFEFKOEF, normalized).magnitude;
float num;
if (magnitude2 <= Mathf.Epsilon)
{
num = this.reflectionDuration;
}
else
{
num = magnitude / magnitude2;
if (num <= 19f || num >= 1924f)
{
num = this.reflectionDuration;
}
else if (num < this.reflectionDuration)
{
float num2 = num / this.reflectionDuration;
FPKJFOJMMIM.NLNGBMAPIJC().SetDynamicMaxSpeed(magnitude2 * num2);
num = this.reflectionDuration;
}
}
this.HGBKCPONIMH(num);
this.LIBIBOMFIOI.BKBFIGCPIMI(3);
}
else
{
this.LIBIBOMFIOI.BKBFIGCPIMI(1);
}
}
}
// Token: 0x06004474 RID: 17524 RVA: 0x0015AEB8 File Offset: 0x001590B8
protected virtual void CPJDPHHKBNB(EnemyRangedWeapon BLBPGNFCBEO)
{
}
// Token: 0x06004475 RID: 17525 RVA: 0x0015AEBC File Offset: 0x001590BC
private bool PLMFKOEKFOK()
{
return this.GCCAMFDHHOB.CPIBGJLHLBL();
}
// Token: 0x06004476 RID: 17526 RVA: 0x0015AECC File Offset: 0x001590CC
protected override void OnDestroy()
{
base.OnDestroy();
if (this.KGKFMMHEMJJ != null)
{
this.KGKFMMHEMJJ.KMMOAKOLBED -= this.PFCEKCBMFDC;
}
}
// Token: 0x06004477 RID: 17527 RVA: 0x0015AEFC File Offset: 0x001590FC
private bool DELDOBHCKJC(Vector3 FHFHOMKFHCI)
{
Vector3 velocity = this.KGKFMMHEMJJ.IPKEPKNMIOG.BKDFLNGCINH.BOLBONELAEF.IGOFELJMFOF;
if (velocity.sqrMagnitude < 0.1f)
{
return false;
}
Vector3 vector = FHFHOMKFHCI - this.KGKFMMHEMJJ.IPKEPKNMIOG.transform.position;
return Vector3.Dot(vector, velocity) >= 0f;
}
// Token: 0x06004478 RID: 17528 RVA: 0x0015AF70 File Offset: 0x00159170
private void LGPDILBGPCG()
{
if (base.BHCCHBHNHCG)
{
if (this.GOOHDPLFNMC.ALEKFIMMFPH() || base.BKHECJODPHF.FHLEFPDIIJL)
{
this.LIBIBOMFIOI.BKBFIGCPIMI(0);
return;
}
base.BKHECJODPHF.KMMCIOFAHJD(this.HJAACDHCIGI(), this.dashSlowdownDistance, 1726f, false);
if (base.LMDJJEGNOGM.PBDDCCOAGOG() && base.BKHECJODPHF.OGCGDMDPHBM)
{
base.BKHECJODPHF.Look(base.HIAMIHBNAMJ(base.BKHECJODPHF.HAODGLCKEOF()));
}
}
}
// Token: 0x06004479 RID: 17529 RVA: 0x0015B014 File Offset: 0x00159214
protected virtual void PEEDIICMOLN()
{
base.PNDCOBGOEJA();
base.BKHECJODPHF.HKLEPIMIEFF(true);
}
// Token: 0x0600447A RID: 17530 RVA: 0x0015B028 File Offset: 0x00159228
private void HEPGAGLDJAI()
{
if (base.BHCCHBHNHCG)
{
if (this.GOOHDPLFNMC.CGELFKLLMBA || base.BKHECJODPHF.FHLEFPDIIJL)
{
this.LIBIBOMFIOI.BKBFIGCPIMI(1);
return;
}
base.BKHECJODPHF.Seek(this.KINNCEKOLHI, this.dashSlowdownDistance, 0.01f, false);
if (base.LMDJJEGNOGM.AJFBOLHPEJC && base.BKHECJODPHF.OGCGDMDPHBM)
{
base.BKHECJODPHF.Look(base.HIAMIHBNAMJ(!base.BKHECJODPHF.OGCGDMDPHBM));
}
}
}
// Token: 0x0600447B RID: 17531 RVA: 0x0015B0CC File Offset: 0x001592CC
private void HIAEPGNFAED(ushort OIMHGOONBEB, ushort LPFGCCKCIEB)
{
base.BKHECJODPHF.StopSeeking();
}
// Token: 0x17000130 RID: 304
// (get) Token: 0x060044D1 RID: 17617 RVA: 0x0015C884 File Offset: 0x0015AA84
// (set) Token: 0x0600447C RID: 17532 RVA: 0x0015B0DC File Offset: 0x001592DC
private int EIOLHHHJHBJ
{
get
{
return this.JOMANIMCEOO.CPIBGJLHLBL();
}
set
{
this.JOMANIMCEOO.MEAINJPIECA(value);
}
}
// Token: 0x0600447D RID: 17533 RVA: 0x0015B0EC File Offset: 0x001592EC
private void BCPNGONCLOP()
{
if (base.JNOCCMDBMIO() && this.GOOHDPLFNMC.ALEKFIMMFPH())
{
base.LMDJJEGNOGM = this.IJCDBKLCFIE(false);
if (!base.LMDJJEGNOGM.PBDDCCOAGOG())
{
this.LIBIBOMFIOI.BKBFIGCPIMI(0);
}
else
{
float num = Mathf.Clamp01((float)base.CNHBPJFLDCE / (float)base.BNBJJKCBDFC);
float num2 = this.projectileSpeedByHealthCurve.Evaluate(num);
float num3 = num2 + (float)this.EIOLHHHJHBJ * this.volleySpeedDelta;
Vector3 vector = base.LMDJJEGNOGM.BIDBADPMKBI() + Vector3.up * this.projectileHeadTargetHeightOffset;
if (this.KGKFMMHEMJJ.LMBDPKPCIGB().NLNGBMAPIJC().NIINOABKAPJ)
{
this.KGKFMMHEMJJ.LKOEDNKIIHC(vector, num3, (EnemyProjectileToolRangedWeapon.GHOOEBGMCNO)4);
}
else
{
Vector3 position = this.KGKFMMHEMJJ.DCBHLBNCLGP.position;
Quaternion rotation = this.KGKFMMHEMJJ.DCBHLBNCLGP.rotation;
this.KGKFMMHEMJJ.FHGPJDHAEJN(vector, num3, position, rotation, EnemyProjectileToolRangedWeapon.GHOOEBGMCNO.TO_PLAYER);
}
this.LIBIBOMFIOI.BKBFIGCPIMI(0);
}
}
}
// Token: 0x0600447E RID: 17534 RVA: 0x0015B210 File Offset: 0x00159410
private void HKNHGIMCFIG()
{
if (base.BHCCHBHNHCG)
{
if (!base.LMDJJEGNOGM.AJFBOLHPEJC || !SingletonMonoBehaviour<EnemyManager>.NCKMBFBMBFM.TargetIsAlive(base.LMDJJEGNOGM) || !this.KGKFMMHEMJJ.IPKEPKNMIOG.BKDFLNGCINH.NIINOABKAPJ)
{
this.LIBIBOMFIOI.BKBFIGCPIMI(0);
}
else
{
base.BKHECJODPHF.Look(base.HIAMIHBNAMJ(!base.BKHECJODPHF.OGCGDMDPHBM));
}
}
}
// Token: 0x0600447F RID: 17535 RVA: 0x0015B29C File Offset: 0x0015949C
private void EJOPENBGGHM(bool NOBAPCOKFIL)
{
this.GCCAMFDHHOB.MEAINJPIECA(NOBAPCOKFIL);
}
// Token: 0x06004480 RID: 17536 RVA: 0x0015B2AC File Offset: 0x001594AC
protected virtual void KLMFCLAAJBI()
{
base.EHPODFCEKML();
base.BKHECJODPHF.StopAll();
base.IDEPEMCKCNN = true;
}
// Token: 0x06004481 RID: 17537 RVA: 0x0015B2C8 File Offset: 0x001594C8
protected virtual void DIEMJHJBFNM()
{
base.CCBCNGHMMBJ();
if (base.DGLKKANNBPD())
{
this.LIBIBOMFIOI.BKBFIGCPIMI(147);
}
}
// Token: 0x06004482 RID: 17538 RVA: 0x0015B2EC File Offset: 0x001594EC
private void DLHEHMNAPEL(ushort OIMHGOONBEB, ushort LPFGCCKCIEB)
{
this.enemyAnimator.StopStun();
}
// Token: 0x06004483 RID: 17539 RVA: 0x0015B2FC File Offset: 0x001594FC
private Vector3 JDMNIGLPBLF()
{
return this.JGIANBIAPLD.CPIBGJLHLBL();
}
// Token: 0x06004484 RID: 17540 RVA: 0x0015B30C File Offset: 0x0015950C
private void IHHCKCOKDDI()
{
if (base.DGLOKLCEMLH() && this.GOOHDPLFNMC.OAJDHNPMNCN())
{
this.LIBIBOMFIOI.BKBFIGCPIMI(6);
}
}
// Token: 0x06004485 RID: 17541 RVA: 0x0015B338 File Offset: 0x00159538
private float IJEJPFKHPFB()
{
return this.OPLJPIOLJNC.CPIBGJLHLBL();
}
// Token: 0x06004486 RID: 17542 RVA: 0x0015B348 File Offset: 0x00159548
private void DPJDCLDECCN(ushort OIMHGOONBEB, ushort LPFGCCKCIEB)
{
this.enemyAnimator.PBOBHNICGEE();
}
// Token: 0x06004487 RID: 17543 RVA: 0x0015B358 File Offset: 0x00159558
protected virtual void MCNEKPDJDFO()
{
base.Start();
this.LIBIBOMFIOI.PGELJEHELFN(this, (ushort)(-93));
}
// Token: 0x06004488 RID: 17544 RVA: 0x0015B374 File Offset: 0x00159574
protected virtual void IOPCNFMPBFD()
{
base.OAKBFGNNAEK();
if (base.JNOCCMDBMIO() && !base.BKHECJODPHF.FHLEFPDIIJL)
{
base.BKHECJODPHF.KMMCIOFAHJD(this.KINNCEKOLHI, this.movementSlowdownDistance, 1420f, true);
}
}
// Token: 0x06004489 RID: 17545 RVA: 0x0015B3B4 File Offset: 0x001595B4
protected override void LONJNLLINPO()
{
base.LONJNLLINPO();
base.BKHECJODPHF.PNBHCJPBNMA = false;
if (base.BHCCHBHNHCG)
{
this.MHBJLBKGPHB = true;
}
}
// Token: 0x0600448A RID: 17546 RVA: 0x0015B3DC File Offset: 0x001595DC
protected override void Update()
{
base.Update();
this.LIBIBOMFIOI.DLBPEOILIFL();
this.GOOHDPLFNMC.KHJKJGDBPMF();
}
// Token: 0x0600448B RID: 17547 RVA: 0x0015B3FC File Offset: 0x001595FC
private void LEJGCCGIFJF(ProjectileTool CCPCPHGGOMF, Enemy LGJCKFEKBOO, Enemy AKICADDPOIF, MHEBDODJGOA FJJKLPKDCPP, IHEAKAOGCIF CACIBBKDNIH)
{
if (CCPCPHGGOMF.BHCCHBHNHCG)
{
CCPCPHGGOMF.BKDFLNGCINH.BOLBONELAEF.ClearVelocity();
}
}
// Token: 0x0600448C RID: 17548 RVA: 0x0015B41C File Offset: 0x0015961C
private void JLIKGBAINBJ(ushort CHJBIHILBFO, ushort BNCBHHCPCLE)
{
if (base.IGIPCHFCFNN())
{
float num = this.postDisengageDelay;
if (this.MHBJLBKGPHB)
{
num = this.postPatrolDelay;
this.EAIIPHHDHID(true);
}
this.GOOHDPLFNMC.KLIANKEOBGC(num);
}
}
// Token: 0x0600448D RID: 17549 RVA: 0x0015B460 File Offset: 0x00159660
private void OMNELGAPDED()
{
if (base.DFJFKOLLEMK())
{
if (!base.LMDJJEGNOGM.AJFBOLHPEJC || !SingletonMonoBehaviour<EnemyManager>.NCKMBFBMBFM.NJPHMMEEGIM(base.LMDJJEGNOGM) || !this.KGKFMMHEMJJ.IPKEPKNMIOG.KDFFFFBBHAM().NIINOABKAPJ)
{
this.LIBIBOMFIOI.BKBFIGCPIMI(0);
}
else
{
base.BKHECJODPHF.Look(base.HIAMIHBNAMJ(base.BKHECJODPHF.OGCGDMDPHBM));
}
}
}
// Token: 0x1700012E RID: 302
// (get) Token: 0x0600448E RID: 17550 RVA: 0x0015B4EC File Offset: 0x001596EC
// (set) Token: 0x060044BE RID: 17598 RVA: 0x0015C1E8 File Offset: 0x0015A3E8
private Vector3 CCFJDBJLOIK
{
get
{
return this.PMICPDNLKJJ.CPIBGJLHLBL();
}
set
{
this.PMICPDNLKJJ.MEAINJPIECA(value);
}
}
// Token: 0x17000131 RID: 305
// (get) Token: 0x060044C8 RID: 17608 RVA: 0x0015C760 File Offset: 0x0015A960
// (set) Token: 0x0600448F RID: 17551 RVA: 0x0015B4FC File Offset: 0x001596FC
private Vector3 KINNCEKOLHI
{
get
{
return this.JGIANBIAPLD.CPIBGJLHLBL();
}
set
{
this.JGIANBIAPLD.MEAINJPIECA(value);
}
}
// Token: 0x06004490 RID: 17552 RVA: 0x0015B50C File Offset: 0x0015970C
protected override void NDHBFLHIAHM()
{
base.OnDestroy();
if (this.KGKFMMHEMJJ != null)
{
this.KGKFMMHEMJJ.PONPFPPCKCD(new EnemyProjectileToolRangedWeapon.POPOOABBBIK(this.PFCEKCBMFDC));
}
}
// Token: 0x06004491 RID: 17553 RVA: 0x0015B53C File Offset: 0x0015973C
protected virtual void MLJGPDEJMMB()
{
base.AKBEAKBPFLA();
base.IDEPEMCKCNN = false;
base.BKHECJODPHF.FMFCBADCFCK = this.dashSpeed;
base.BKHECJODPHF.GKJLNANPDNC = this.maxDashForce;
if (base.GANDPDNCOKF())
{
this.EAIIPHHDHID(true);
this.PCJJFONMJGK(this.GOJNMALIOJA.KKOMILIFIPM());
base.BKHECJODPHF.Seek(this.LLHBCICLPME(), this.movementSlowdownDistance, 1115f, false);
}
}
// Token: 0x06004492 RID: 17554 RVA: 0x0015B5B8 File Offset: 0x001597B8
protected virtual void EKBEMBMIJLH()
{
base.OnDestroy();
if (this.KGKFMMHEMJJ != null)
{
this.KGKFMMHEMJJ.LGLLGPPGMMD(new EnemyProjectileToolRangedWeapon.POPOOABBBIK(this.PICIBJPPCOM));
}
}
// Token: 0x06004493 RID: 17555 RVA: 0x0015B5E8 File Offset: 0x001597E8
private bool PFCMMPLEONE()
{
return this.GCCAMFDHHOB.CPIBGJLHLBL();
}
// Token: 0x06004494 RID: 17556 RVA: 0x0015B5F8 File Offset: 0x001597F8
private void FKAOHBNJGEM()
{
if (base.BHCCHBHNHCG && this.GOOHDPLFNMC.CGELFKLLMBA)
{
this.LIBIBOMFIOI.BKBFIGCPIMI(2);
}
}
// Token: 0x06004495 RID: 17557 RVA: 0x0015B624 File Offset: 0x00159824
private Vector3 BCABEMNMCFM()
{
return this.PMICPDNLKJJ.CPIBGJLHLBL();
}
// Token: 0x06004496 RID: 17558 RVA: 0x0015B634 File Offset: 0x00159834
private void GLJGKOFDMCN()
{
if (base.GANDPDNCOKF() && this.GOOHDPLFNMC.OAJDHNPMNCN())
{
this.LIBIBOMFIOI.BKBFIGCPIMI(8);
}
}
// Token: 0x1700012F RID: 303
// (get) Token: 0x06004497 RID: 17559 RVA: 0x0015B660 File Offset: 0x00159860
// (set) Token: 0x060044C9 RID: 17609 RVA: 0x0015C770 File Offset: 0x0015A970
private bool MHBJLBKGPHB
{
get
{
return this.GCCAMFDHHOB.CPIBGJLHLBL();
}
set
{
this.GCCAMFDHHOB.MEAINJPIECA(value);
}
}
// Token: 0x06004498 RID: 17560 RVA: 0x0015B670 File Offset: 0x00159870
protected override void EKEGOFIPIPE()
{
base.EKEGOFIPIPE();
if (base.BHCCHBHNHCG)
{
this.LIBIBOMFIOI.BKBFIGCPIMI(0);
}
}
// Token: 0x06004499 RID: 17561 RVA: 0x0015B690 File Offset: 0x00159890
private void EKDKODOHPFM(ushort CHJBIHILBFO, ushort BNCBHHCPCLE)
{
if (base.BHCCHBHNHCG)
{
float num = this.postDisengageDelay;
if (this.PLMFKOEKFOK())
{
num = this.postPatrolDelay;
this.EAIIPHHDHID(false);
}
this.GOOHDPLFNMC.BJOJLPHBGMN(num);
}
}
// Token: 0x0600449A RID: 17562 RVA: 0x0015B6D4 File Offset: 0x001598D4
private void EAIIPHHDHID(bool NOBAPCOKFIL)
{
this.GCCAMFDHHOB.MEAINJPIECA(NOBAPCOKFIL);
}
// Token: 0x0600449B RID: 17563 RVA: 0x0015B6E4 File Offset: 0x001598E4
private void NLEAAEGCNCF()
{
if (base.JNOCCMDBMIO())
{
EIDNMNCOAAJ eidnmncoaaj = base.LMDJJEGNOGM;
if (this.GOOHDPLFNMC.OAJDHNPMNCN())
{
if (!base.LMDJJEGNOGM.PBDDCCOAGOG())
{
base.LMDJJEGNOGM = this.IJCDBKLCFIE(false);
}
if (base.LMDJJEGNOGM.AJFBOLHPEJC)
{
float num = Mathf.Clamp01((float)base.CNHBPJFLDCE / (float)base.BNBJJKCBDFC);
float num2 = this.projectileSpeedByHealthCurve.Evaluate(num);
this.KGKFMMHEMJJ.AuthorityFire(base.LMDJJEGNOGM.BIDBADPMKBI() + Vector3.up * this.projectileHeadTargetHeightOffset, num2);
}
this.LIBIBOMFIOI.BKBFIGCPIMI(5);
return;
}
if (base.LMDJJEGNOGM.AEAKFIBHEPE())
{
base.BKHECJODPHF.Look(base.HIAMIHBNAMJ(base.BKHECJODPHF.HAODGLCKEOF()));
}
}
}
// Token: 0x0600449C RID: 17564 RVA: 0x0015B7DC File Offset: 0x001599DC
protected virtual void OLHOCHLIDFE()
{
base.OAKBFGNNAEK();
if (base.DFJFKOLLEMK() && !base.BKHECJODPHF.FHLEFPDIIJL)
{
base.BKHECJODPHF.Seek(this.HJAACDHCIGI(), this.movementSlowdownDistance, 351f, false);
}
}
// Token: 0x0600449D RID: 17565 RVA: 0x0015B81C File Offset: 0x00159A1C
private void FJADBEFIKKI(ushort CHJBIHILBFO, ushort BNCBHHCPCLE)
{
this.enemyAnimator.PlayMeleeAttack();
if (base.IGIPCHFCFNN())
{
this.PCKCMNNEDFL(this.EENMGCGCBGO() + 0);
this.GOOHDPLFNMC.KLIANKEOBGC(this.reflectionDuration);
}
}
// Token: 0x0600449E RID: 17566 RVA: 0x0015B854 File Offset: 0x00159A54
protected override void PNDCOBGOEJA()
{
base.PNDCOBGOEJA();
base.BKHECJODPHF.PNBHCJPBNMA = true;
}
// Token: 0x0600449F RID: 17567 RVA: 0x0015B868 File Offset: 0x00159A68
private void NINACGHIFLO(ushort CHJBIHILBFO, ushort BNCBHHCPCLE)
{
if (base.BHCCHBHNHCG)
{
float num = this.postDisengageDelay;
if (this.MHBJLBKGPHB)
{
num = this.postPatrolDelay;
this.MHBJLBKGPHB = false;
}
this.GOOHDPLFNMC.BJOJLPHBGMN(num);
}
}
// Token: 0x060044A0 RID: 17568 RVA: 0x0015B8AC File Offset: 0x00159AAC
private void CEJGFJMKPIM()
{
if (base.DGLOKLCEMLH() && this.GOOHDPLFNMC.OAJDHNPMNCN())
{
base.LMDJJEGNOGM = this.IJCDBKLCFIE(false);
if (!base.LMDJJEGNOGM.PBDDCCOAGOG())
{
this.LIBIBOMFIOI.BKBFIGCPIMI(0);
}
else
{
float num = Mathf.Clamp01((float)base.CNHBPJFLDCE / (float)base.BNBJJKCBDFC);
float num2 = this.projectileSpeedByHealthCurve.Evaluate(num);
float num3 = num2 + (float)this.EENMGCGCBGO() * this.volleySpeedDelta;
Vector3 vector = base.LMDJJEGNOGM.ICNCDGIKNNI + Vector3.up * this.projectileHeadTargetHeightOffset;
if (this.KGKFMMHEMJJ.EEILDEHFFBM().EONLBDPAION().BBENILJAIMO())
{
this.KGKFMMHEMJJ.PBFIHKMCNGL(vector, num3, (EnemyProjectileToolRangedWeapon.GHOOEBGMCNO)8);
}
else
{
Vector3 position = this.KGKFMMHEMJJ.DCBHLBNCLGP.position;
Quaternion rotation = this.KGKFMMHEMJJ.DCBHLBNCLGP.rotation;
this.KGKFMMHEMJJ.FHGPJDHAEJN(vector, num3, position, rotation, (EnemyProjectileToolRangedWeapon.GHOOEBGMCNO)8);
}
this.LIBIBOMFIOI.BKBFIGCPIMI(1);
}
}
}
// Token: 0x060044A1 RID: 17569 RVA: 0x0015B9D0 File Offset: 0x00159BD0
private void DDHBNEELCJO(ProjectileTool CCPCPHGGOMF, Enemy LGJCKFEKBOO, Enemy AKICADDPOIF, MHEBDODJGOA FJJKLPKDCPP, IHEAKAOGCIF CACIBBKDNIH)
{
if (CCPCPHGGOMF.DFJFKOLLEMK())
{
CCPCPHGGOMF.EONLBDPAION().BOLBONELAEF.ClearVelocity();
}
}
// Token: 0x060044A2 RID: 17570 RVA: 0x0015B9F0 File Offset: 0x00159BF0
private void PAGLLFEHKMA(ushort OIMHGOONBEB, ushort LPFGCCKCIEB)
{
base.BKHECJODPHF.NDGKHAMPONJ();
}
// Token: 0x060044A3 RID: 17571 RVA: 0x0015BA00 File Offset: 0x00159C00
private Vector3 KCPEHMOBEHK()
{
if (this.GOJNMALIOJA == null)
{
return base.BOLBONELAEF.CIGPHKLAAOD;
}
if (this.NHMFKINHCLF && this.MHBJLBKGPHB)
{
return this.GOJNMALIOJA.GetInitialWitchPoint();
}
if (base.CNHBPJFLDCE < this.takeDamageAmount)
{
return this.GOJNMALIOJA.GetFinalWitchPoint();
}
this.NHMFKINHCLF = false;
return this.GOJNMALIOJA.GetRandomWitchPoint();
}
// Token: 0x17000133 RID: 307
// (get) Token: 0x060044A4 RID: 17572 RVA: 0x0015BA7C File Offset: 0x00159C7C
private int KNOAAFBIHIL
{
get
{
if (base.CNHBPJFLDCE > base.BNBJJKCBDFC - this.takeDamageAmount)
{
return this.firstVolleyRequiredReturnCount;
}
return this.requiredReturnCount;
}
}
// Token: 0x060044A5 RID: 17573 RVA: 0x0015BAA4 File Offset: 0x00159CA4
protected virtual void HBOBJMJGBHG()
{
base.EHPODFCEKML();
base.BKHECJODPHF.StopAll();
base.IDEPEMCKCNN = true;
}
// Token: 0x060044A6 RID: 17574 RVA: 0x0015BAC0 File Offset: 0x00159CC0
private void HNNEGIMPAFL(ushort CHJBIHILBFO, ushort BNCBHHCPCLE)
{
this.enemyAnimator.GHKNJGNADCM();
if (base.JNOCCMDBMIO())
{
this.EIOLHHHJHBJ += 0;
this.GOOHDPLFNMC.BJOJLPHBGMN(this.reflectionDuration);
}
}
// Token: 0x060044A7 RID: 17575 RVA: 0x0015BAF8 File Offset: 0x00159CF8
protected override void LIJLPOMHJLM(EnemyRangedWeapon BLBPGNFCBEO)
{
}
// Token: 0x060044A8 RID: 17576 RVA: 0x0015BAFC File Offset: 0x00159CFC
private void KJEFAFPDPNP(ushort CHJBIHILBFO, ushort BNCBHHCPCLE)
{
if (base.IGIPCHFCFNN())
{
float num = this.postDisengageDelay;
if (this.OJIPCPBHAJA())
{
num = this.postPatrolDelay;
this.MHBJLBKGPHB = false;
}
this.GOOHDPLFNMC.KLIANKEOBGC(num);
}
}
// Token: 0x060044A9 RID: 17577 RVA: 0x0015BB40 File Offset: 0x00159D40
private void GPABDDPPKJE()
{
if (base.DGLOKLCEMLH() && this.GOOHDPLFNMC.OAJDHNPMNCN())
{
if (this.EIOLHHHJHBJ >= this.KNOAAFBIHIL - 1)
{
this.LIBIBOMFIOI.BKBFIGCPIMI(5);
}
else
{
this.LIBIBOMFIOI.BKBFIGCPIMI(4);
}
}
}
// Token: 0x060044AA RID: 17578 RVA: 0x0015BB98 File Offset: 0x00159D98
protected override void CCBCNGHMMBJ()
{
base.CCBCNGHMMBJ();
if (base.BHCCHBHNHCG)
{
this.LIBIBOMFIOI.BKBFIGCPIMI(ushort.MaxValue);
}
}
// Token: 0x060044AB RID: 17579 RVA: 0x0015BBBC File Offset: 0x00159DBC
private void KOABOACJOLB(ushort CHJBIHILBFO, ushort BNCBHHCPCLE)
{
base.BKHECJODPHF.FMFCBADCFCK = this.dashSpeed;
base.BKHECJODPHF.GKJLNANPDNC = this.maxDashForce;
if (base.BHCCHBHNHCG)
{
base.LMDJJEGNOGM = this.IJCDBKLCFIE(false);
this.KINNCEKOLHI = this.KCPEHMOBEHK();
base.BKHECJODPHF.Seek(this.KINNCEKOLHI, this.dashSlowdownDistance, 0.01f, false);
this.GOOHDPLFNMC.BJOJLPHBGMN(this.dashTimeout);
}
}
// Token: 0x060044AC RID: 17580 RVA: 0x0015BC40 File Offset: 0x00159E40
private Vector3 BNKPBKMHEJE()
{
if (this.GOJNMALIOJA == null)
{
return base.BOLBONELAEF.CIGPHKLAAOD;
}
if (this.NHMFKINHCLF && this.PFCMMPLEONE())
{
return this.GOJNMALIOJA.HPPFHPLOMAC();
}
if (base.CNHBPJFLDCE < this.takeDamageAmount)
{
return this.GOJNMALIOJA.GEKBDFOJHFO();
}
this.NHMFKINHCLF = false;
return this.GOJNMALIOJA.DCKEBPEHIIL();
}
// Token: 0x060044AD RID: 17581 RVA: 0x0015BCBC File Offset: 0x00159EBC
protected override void EHPODFCEKML()
{
base.EHPODFCEKML();
base.BKHECJODPHF.StopAll();
base.IDEPEMCKCNN = true;
}
// Token: 0x060044AE RID: 17582 RVA: 0x0015BCD8 File Offset: 0x00159ED8
private void FKPFIBCKFFF(ushort CHJBIHILBFO, ushort BNCBHHCPCLE)
{
this.enemyAnimator.FAGBJLMGODL();
this.enemyAudio.FIHDDDCOOBI();
if (base.IGIPCHFCFNN())
{
this.EIOLHHHJHBJ = 1;
this.GOOHDPLFNMC.OOEPCEFMAKA(this.attackChargeDuration);
}
}
// Token: 0x060044AF RID: 17583 RVA: 0x0015BD14 File Offset: 0x00159F14
private void ANNDOPHPPPC()
{
if (base.DGLOKLCEMLH() && this.GOOHDPLFNMC.HFOKKCOENOF())
{
this.LIBIBOMFIOI.BKBFIGCPIMI(7);
}
}
// Token: 0x060044B0 RID: 17584 RVA: 0x0015BD40 File Offset: 0x00159F40
private void PEPHKDHPBIB(ushort OIMHGOONBEB, ushort LPFGCCKCIEB)
{
this.enemyAnimator.PBOBHNICGEE();
}
// Token: 0x060044B1 RID: 17585 RVA: 0x0015BD50 File Offset: 0x00159F50
private bool IPMAMBJABMB()
{
return this.GCCAMFDHHOB.CPIBGJLHLBL();
}
// Token: 0x060044B2 RID: 17586 RVA: 0x0015BD60 File Offset: 0x00159F60
private void IAJIEKDDCML(ushort CHJBIHILBFO, ushort BNCBHHCPCLE)
{
if (base.BHCCHBHNHCG)
{
float num = this.MIBKEPAHCBD;
if (this.EIOLHHHJHBJ < this.KNOAAFBIHIL - 1)
{
num = Mathf.Max(0f, num - this.reflectionDuration);
}
this.GOOHDPLFNMC.BJOJLPHBGMN(num);
}
}
// Token: 0x060044B3 RID: 17587 RVA: 0x0015BDB4 File Offset: 0x00159FB4
private bool OJIPCPBHAJA()
{
return this.GCCAMFDHHOB.CPIBGJLHLBL();
}
// Token: 0x060044B4 RID: 17588 RVA: 0x0015BDC4 File Offset: 0x00159FC4
private void IMMLIPOIOEL()
{
if (base.BHCCHBHNHCG && this.GOOHDPLFNMC.CGELFKLLMBA)
{
this.LIBIBOMFIOI.BKBFIGCPIMI(0);
}
}
// Token: 0x060044B5 RID: 17589 RVA: 0x0015BDF0 File Offset: 0x00159FF0
private bool EHMGHNONNCJ(Vector3 FHFHOMKFHCI)
{
Vector3 velocity = this.KGKFMMHEMJJ.IPKEPKNMIOG.EBOEFKLPMKL().BOLBONELAEF.IGOFELJMFOF;
if (velocity.sqrMagnitude >= 124f)
{
return true;
}
Vector3 vector = FHFHOMKFHCI - this.KGKFMMHEMJJ.IPKEPKNMIOG.transform.position;
return Vector3.Dot(vector, velocity) < 1171f;
}
// Token: 0x060044B6 RID: 17590 RVA: 0x0015BE64 File Offset: 0x0015A064
private void PFCEKCBMFDC(ProjectileTool FPKJFOJMMIM, EnemyProjectileToolRangedWeapon.GHOOEBGMCNO CBCMDLNIHKK, Vector3 FHFHOMKFHCI, Vector3 NCEMFEFKOEF)
{
if (FPKJFOJMMIM != null && FPKJFOJMMIM.BHCCHBHNHCG && !base.FNGHOEFDKPO && !base.AOKGAGHHHIN && base.CNHBPJFLDCE > 0 && base.ACEACLFJOAA)
{
if (!base.BHCCHBHNHCG)
{
base.OMNGGJICBBI.TransferOwnership(IHFKMIAHBFP.JEFGMHBLLKI);
}
if (CBCMDLNIHKK == EnemyProjectileToolRangedWeapon.GHOOEBGMCNO.TO_ENEMY_SUCCESS)
{
this.CCFJDBJLOIK = NCEMFEFKOEF.normalized;
Vector3 position = this.KGKFMMHEMJJ.DCBHLBNCLGP.position;
Vector3 vector = position - FHFHOMKFHCI;
float magnitude = vector.magnitude;
Vector3 normalized = vector.normalized;
float magnitude2 = Vector3.Project(NCEMFEFKOEF, normalized).magnitude;
float num;
if (magnitude2 <= Mathf.Epsilon)
{
num = this.reflectionDuration;
}
else
{
num = magnitude / magnitude2;
if (num <= 0f || num >= 8f)
{
num = this.reflectionDuration;
}
else if (num < this.reflectionDuration)
{
float num2 = num / this.reflectionDuration;
FPKJFOJMMIM.BKDFLNGCINH.SetDynamicMaxSpeed(magnitude2 * num2);
num = this.reflectionDuration;
}
}
this.MIBKEPAHCBD = num;
this.LIBIBOMFIOI.BKBFIGCPIMI(4);
}
else
{
this.LIBIBOMFIOI.BKBFIGCPIMI(0);
}
}
}
// Token: 0x060044B7 RID: 17591 RVA: 0x0015BFC0 File Offset: 0x0015A1C0
private void FNAIHCPCBOD()
{
if (base.BHCCHBHNHCG && this.GOOHDPLFNMC.CGELFKLLMBA)
{
if (this.EIOLHHHJHBJ >= this.KNOAAFBIHIL - 1)
{
this.LIBIBOMFIOI.BKBFIGCPIMI(6);
}
else
{
this.LIBIBOMFIOI.BKBFIGCPIMI(5);
}
}
}
// Token: 0x060044B8 RID: 17592 RVA: 0x0015C018 File Offset: 0x0015A218
private void POAMJMELCAJ(ushort CHJBIHILBFO, ushort BNCBHHCPCLE)
{
if (base.IGIPCHFCFNN())
{
float num = this.postDisengageDelay;
if (this.IPMAMBJABMB())
{
num = this.postPatrolDelay;
this.MHBJLBKGPHB = true;
}
this.GOOHDPLFNMC.BJOJLPHBGMN(num);
}
}
// Token: 0x060044B9 RID: 17593 RVA: 0x0015C05C File Offset: 0x0015A25C
private void BFHCFNBDPMG(float NOBAPCOKFIL)
{
this.OPLJPIOLJNC.MEAINJPIECA(NOBAPCOKFIL);
}
// Token: 0x060044BA RID: 17594 RVA: 0x0015C06C File Offset: 0x0015A26C
private void BNDMHFBEPHI(ushort CHJBIHILBFO, ushort BNCBHHCPCLE)
{
this.enemyAnimator.PlayRangedAttack();
this.enemyAudio.OnAttack();
if (base.BHCCHBHNHCG)
{
this.EIOLHHHJHBJ = 0;
this.GOOHDPLFNMC.BJOJLPHBGMN(this.attackChargeDuration);
}
}
// Token: 0x060044BB RID: 17595 RVA: 0x0015C0A8 File Offset: 0x0015A2A8
private void EEEGHOJHGEG()
{
if (base.JNOCCMDBMIO())
{
if (!base.LMDJJEGNOGM.AEAKFIBHEPE() || !SingletonMonoBehaviour<EnemyManager>.NCKMBFBMBFM.NJPHMMEEGIM(base.LMDJJEGNOGM) || !this.KGKFMMHEMJJ.NMFPHDDHHKE().NLNGBMAPIJC().NIINOABKAPJ)
{
this.LIBIBOMFIOI.BKBFIGCPIMI(0);
}
else
{
base.BKHECJODPHF.Look(base.HIAMIHBNAMJ(base.BKHECJODPHF.HAODGLCKEOF()));
}
}
}
// Token: 0x060044BC RID: 17596 RVA: 0x0015C134 File Offset: 0x0015A334
private void JJGKNGOBOGN(ushort CHJBIHILBFO, ushort BNCBHHCPCLE)
{
this.enemyAnimator.PlayMeleeAttack();
if (base.BHCCHBHNHCG)
{
this.EIOLHHHJHBJ++;
this.GOOHDPLFNMC.BJOJLPHBGMN(this.reflectionDuration);
}
}
// Token: 0x060044BD RID: 17597 RVA: 0x0015C16C File Offset: 0x0015A36C
private Vector3 BLCBDCGHCDI()
{
if (this.GOJNMALIOJA == null)
{
return base.BOLBONELAEF.JHBFKKAFPFG();
}
if (this.NHMFKINHCLF && this.PLMFKOEKFOK())
{
return this.GOJNMALIOJA.EEACBOLOPJJ();
}
if (base.CNHBPJFLDCE < this.takeDamageAmount)
{
return this.GOJNMALIOJA.JPFFBGEAPOD();
}
this.NHMFKINHCLF = true;
return this.GOJNMALIOJA.KFBNLLJPGEI();
}
// Token: 0x060044BF RID: 17599 RVA: 0x0015C1F8 File Offset: 0x0015A3F8
private bool KBLAEKNKOON(Vector3 FHFHOMKFHCI)
{
Vector3 velocity = this.KGKFMMHEMJJ.PIFECFILGHF().KDFFFFBBHAM().BOLBONELAEF.IGOFELJMFOF;
if (velocity.sqrMagnitude >= 1106f)
{
return false;
}
Vector3 vector = FHFHOMKFHCI - this.KGKFMMHEMJJ.LMBDPKPCIGB().transform.position;
return Vector3.Dot(vector, velocity) >= 102f;
}
// Token: 0x060044C0 RID: 17600 RVA: 0x0015C26C File Offset: 0x0015A46C
protected override EIDNMNCOAAJ IJCDBKLCFIE(bool GHGNJLIBGFA = false)
{
if (GHGNJLIBGFA)
{
return base.KAHAFAHMEKP(GHGNJLIBGFA, false);
}
base.PCGHCNDJBIP(GHGNJLIBGFA, true, this.POAAKGACPKD);
if (this.POAAKGACPKD.Count == 0)
{
return EIDNMNCOAAJ.CGNKKAKJIJL;
}
if (this.POAAKGACPKD.Count == 1)
{
return this.POAAKGACPKD[0];
}
int num = global::UnityEngine.Random.Range(0, this.POAAKGACPKD.Count);
if (base.LMDJJEGNOGM.AJFBOLHPEJC && EIDNMNCOAAJ.GEINBKNJBKG(base.LMDJJEGNOGM, this.POAAKGACPKD[num]))
{
float num2 = 1f / (float)this.POAAKGACPKD.Count;
float num3 = this.reselectTargetPlayerChance / num2;
if (!NNGFEGAEJPG.GECFBNNMHCE(num3))
{
int num4 = global::UnityEngine.Random.Range(1, this.POAAKGACPKD.Count - 1);
num = (num + num4) % this.POAAKGACPKD.Count;
}
}
return this.POAAKGACPKD[num];
}
// Token: 0x060044C1 RID: 17601 RVA: 0x0015C368 File Offset: 0x0015A568
protected override void Awake()
{
base.Awake();
if (this.rangedWeapon != null)
{
this.KGKFMMHEMJJ = this.rangedWeapon as EnemyProjectileToolRangedWeapon;
if (this.KGKFMMHEMJJ != null)
{
this.KGKFMMHEMJJ.KMMOAKOLBED += this.PFCEKCBMFDC;
this.KGKFMMHEMJJ.ILBBFLIIHAK = new EnemyProjectileToolRangedWeapon.DFBMPGIOBNK(this.LEJGCCGIFJF);
}
}
if (base.DKPCNHIJNGM != null)
{
this.GOJNMALIOJA = base.DKPCNHIJNGM as WitchPatrolPoints;
}
if (this.KGKFMMHEMJJ == null)
{
Debug.LogError(base.name + " is missing a Projectile Tool Ranged Weapon.");
}
this.JGIANBIAPLD = new LHLLJPPCDKA<Vector3>(this, "RT", Vector3.zero, IKCAJLLAFML.AUTHORITY, null);
this.JOMANIMCEOO = new LHLLJPPCDKA<int>(this, "RC", 0, IKCAJLLAFML.AUTHORITY, null);
this.PMICPDNLKJJ = new LHLLJPPCDKA<Vector3>(this, "HD", Vector3.forward, IKCAJLLAFML.AUTHORITY, null);
this.GCCAMFDHHOB = new LHLLJPPCDKA<bool>(this, "PSWP", true, IKCAJLLAFML.AUTHORITY, null);
this.OPLJPIOLJNC = new LHLLJPPCDKA<float>(this, "TUC", 0f, IKCAJLLAFML.AUTHORITY, null);
this.GOOHDPLFNMC = new AONMNAEOJAL(this, "CT", IKCAJLLAFML.AUTHORITY);
this.LIBIBOMFIOI = new PNONBEAIBHA("CSM", IKCAJLLAFML.AUTHORITY);
this.LIBIBOMFIOI.AGLMMKOFICI(1, new ANMJLCILKDJ.NCMAEMHOHDG(this.NINACGHIFLO), null, new ANMJLCILKDJ.PLBLFEEANOO(this.FKAOHBNJGEM));
this.LIBIBOMFIOI.AGLMMKOFICI(0, new ANMJLCILKDJ.NCMAEMHOHDG(this.KOABOACJOLB), new ANMJLCILKDJ.NCMAEMHOHDG(this.HIAEPGNFAED), new ANMJLCILKDJ.PLBLFEEANOO(this.HEPGAGLDJAI));
this.LIBIBOMFIOI.AGLMMKOFICI(2, new ANMJLCILKDJ.NCMAEMHOHDG(this.BNDMHFBEPHI), null, new ANMJLCILKDJ.PLBLFEEANOO(this.JCLJLBEHMKN));
this.LIBIBOMFIOI.AGLMMKOFICI(3, null, null, new ANMJLCILKDJ.PLBLFEEANOO(this.HKNHGIMCFIG));
this.LIBIBOMFIOI.AGLMMKOFICI(4, new ANMJLCILKDJ.NCMAEMHOHDG(this.IAJIEKDDCML), null, new ANMJLCILKDJ.PLBLFEEANOO(this.FNAIHCPCBOD));
this.LIBIBOMFIOI.AGLMMKOFICI(5, new ANMJLCILKDJ.NCMAEMHOHDG(this.JJGKNGOBOGN), null, new ANMJLCILKDJ.PLBLFEEANOO(this.EJGECFAAMME));
this.LIBIBOMFIOI.AGLMMKOFICI(6, new ANMJLCILKDJ.NCMAEMHOHDG(this.DFHFKPNNCBH), new ANMJLCILKDJ.NCMAEMHOHDG(this.DLHEHMNAPEL), new ANMJLCILKDJ.PLBLFEEANOO(this.IMMLIPOIOEL));
}
// Token: 0x17000132 RID: 306
// (get) Token: 0x060044C3 RID: 17603 RVA: 0x0015C67C File Offset: 0x0015A87C
// (set) Token: 0x060044CD RID: 17613 RVA: 0x0015C828 File Offset: 0x0015AA28
private float MIBKEPAHCBD
{
get
{
return this.OPLJPIOLJNC.CPIBGJLHLBL();
}
set
{
this.OPLJPIOLJNC.MEAINJPIECA(value);
}
}
// Token: 0x060044C4 RID: 17604 RVA: 0x0015C68C File Offset: 0x0015A88C
private void DFHFKPNNCBH(ushort CHJBIHILBFO, ushort BNCBHHCPCLE)
{
this.enemyAnimator.StartStun(false);
if (base.BHCCHBHNHCG)
{
this.KGKFMMHEMJJ.IPKEPKNMIOG.AuthorityFinish(false);
Vector3 vector = base.BOLBONELAEF.CIGPHKLAAOD - this.CCFJDBJLOIK * 0.5f;
base.AuthorityApplyAttack(this, FLDPCEKNKCA.SELF_ATTACK, MHEBDODJGOA.NORMAL, this.takeDamageAmount, vector, this.CCFJDBJLOIK);
this.AuthorityOnDamageApplyForce(FLDPCEKNKCA.DEFAULT, MHEBDODJGOA.NORMAL, this.CCFJDBJLOIK, base.transform.position);
this.GOOHDPLFNMC.BJOJLPHBGMN(this.takeDamageDuration);
}
}
// Token: 0x060044C5 RID: 17605 RVA: 0x0015C728 File Offset: 0x0015A928
protected virtual void FIMEPLALHFF()
{
base.CCBCNGHMMBJ();
if (base.DGLKKANNBPD())
{
this.LIBIBOMFIOI.BKBFIGCPIMI(198);
}
}
// Token: 0x060044C6 RID: 17606 RVA: 0x0015C74C File Offset: 0x0015A94C
protected virtual void NBFONEJNHOM(EnemyRangedWeapon BLBPGNFCBEO)
{
}
// Token: 0x060044C7 RID: 17607 RVA: 0x0015C750 File Offset: 0x0015A950
private void HGBKCPONIMH(float NOBAPCOKFIL)
{
this.OPLJPIOLJNC.MEAINJPIECA(NOBAPCOKFIL);
}
// Token: 0x060044CA RID: 17610 RVA: 0x0015C780 File Offset: 0x0015A980
private Vector3 IKJBFOCGBAP()
{
if (this.GOJNMALIOJA == null)
{
return base.BOLBONELAEF.CIGPHKLAAOD;
}
if (this.NHMFKINHCLF && this.IPMAMBJABMB())
{
return this.GOJNMALIOJA.AJDELFHKFEK();
}
if (base.CNHBPJFLDCE < this.takeDamageAmount)
{
return this.GOJNMALIOJA.GetFinalWitchPoint();
}
this.NHMFKINHCLF = true;
return this.GOJNMALIOJA.JNGGBOHLMNA();
}
// Token: 0x060044CB RID: 17611 RVA: 0x0015C7FC File Offset: 0x0015A9FC
private void PCJJFONMJGK(Vector3 NOBAPCOKFIL)
{
this.JGIANBIAPLD.MEAINJPIECA(NOBAPCOKFIL);
}
// Token: 0x060044CC RID: 17612 RVA: 0x0015C80C File Offset: 0x0015AA0C
protected override void Start()
{
base.Start();
this.LIBIBOMFIOI.FLHFCMCNLEK(this, ushort.MaxValue);
}
// Token: 0x060044CE RID: 17614 RVA: 0x0015C838 File Offset: 0x0015AA38
protected virtual void POEDAMONBNL()
{
base.Start();
this.LIBIBOMFIOI.PGELJEHELFN(this, (ushort)(-35));
}
// Token: 0x060044CF RID: 17615 RVA: 0x0015C854 File Offset: 0x0015AA54
private void ABBBMKODCEE(ProjectileTool CCPCPHGGOMF, Enemy LGJCKFEKBOO, Enemy AKICADDPOIF, MHEBDODJGOA FJJKLPKDCPP, IHEAKAOGCIF CACIBBKDNIH)
{
if (CCPCPHGGOMF.DGLKKANNBPD())
{
CCPCPHGGOMF.NLNGBMAPIJC().BOLBONELAEF.ClearVelocity();
}
}
// Token: 0x060044D0 RID: 17616 RVA: 0x0015C874 File Offset: 0x0015AA74
private int EENMGCGCBGO()
{
return this.JOMANIMCEOO.CPIBGJLHLBL();
}
// Token: 0x060044D2 RID: 17618 RVA: 0x0015C894 File Offset: 0x0015AA94
private void EJGECFAAMME()
{
if (base.BHCCHBHNHCG && this.GOOHDPLFNMC.CGELFKLLMBA)
{
base.LMDJJEGNOGM = this.IJCDBKLCFIE(false);
if (!base.LMDJJEGNOGM.AJFBOLHPEJC)
{
this.LIBIBOMFIOI.BKBFIGCPIMI(0);
}
else
{
float num = Mathf.Clamp01((float)base.CNHBPJFLDCE / (float)base.BNBJJKCBDFC);
float num2 = this.projectileSpeedByHealthCurve.Evaluate(num);
float num3 = num2 + (float)this.EIOLHHHJHBJ * this.volleySpeedDelta;
Vector3 vector = base.LMDJJEGNOGM.ICNCDGIKNNI + Vector3.up * this.projectileHeadTargetHeightOffset;
if (this.KGKFMMHEMJJ.IPKEPKNMIOG.BKDFLNGCINH.NIINOABKAPJ)
{
this.KGKFMMHEMJJ.AuthorityReflect(vector, num3, EnemyProjectileToolRangedWeapon.GHOOEBGMCNO.TO_PLAYER);
}
else
{
Vector3 position = this.KGKFMMHEMJJ.DCBHLBNCLGP.position;
Quaternion rotation = this.KGKFMMHEMJJ.DCBHLBNCLGP.rotation;
this.KGKFMMHEMJJ.AuthorityReflect(vector, num3, position, rotation, EnemyProjectileToolRangedWeapon.GHOOEBGMCNO.TO_PLAYER);
}
this.LIBIBOMFIOI.BKBFIGCPIMI(3);
}
}
}
// Token: 0x060044D3 RID: 17619 RVA: 0x0015C9B8 File Offset: 0x0015ABB8
private void PCKCMNNEDFL(int NOBAPCOKFIL)
{
this.JOMANIMCEOO.MEAINJPIECA(NOBAPCOKFIL);
}
// Token: 0x060044D4 RID: 17620 RVA: 0x0015C9C8 File Offset: 0x0015ABC8
protected override void AKBEAKBPFLA()
{
base.AKBEAKBPFLA();
base.IDEPEMCKCNN = false;
base.BKHECJODPHF.FMFCBADCFCK = this.dashSpeed;
base.BKHECJODPHF.GKJLNANPDNC = this.maxDashForce;
if (base.BHCCHBHNHCG)
{
this.MHBJLBKGPHB = false;
this.KINNCEKOLHI = this.GOJNMALIOJA.GetRetreatWitchPoint();
base.BKHECJODPHF.Seek(this.KINNCEKOLHI, this.movementSlowdownDistance, 0.25f, false);
}
}
// Token: 0x060044D5 RID: 17621 RVA: 0x0015CA44 File Offset: 0x0015AC44
protected virtual void IJPDEJFNCNH()
{
base.Update();
this.LIBIBOMFIOI.DLBPEOILIFL();
this.GOOHDPLFNMC.JNDAEJOHPHO();
}
// Token: 0x060044D6 RID: 17622 RVA: 0x0015CA64 File Offset: 0x0015AC64
private void ACJLIAMDEDD()
{
if (base.GANDPDNCOKF())
{
EIDNMNCOAAJ eidnmncoaaj = base.LMDJJEGNOGM;
if (this.GOOHDPLFNMC.OAJDHNPMNCN())
{
if (!base.LMDJJEGNOGM.AEAKFIBHEPE())
{
base.LMDJJEGNOGM = this.IJCDBKLCFIE(false);
}
if (base.LMDJJEGNOGM.AEAKFIBHEPE())
{
float num = Mathf.Clamp01((float)base.CNHBPJFLDCE / (float)base.BNBJJKCBDFC);
float num2 = this.projectileSpeedByHealthCurve.Evaluate(num);
this.KGKFMMHEMJJ.AuthorityFire(base.LMDJJEGNOGM.ICNCDGIKNNI + Vector3.up * this.projectileHeadTargetHeightOffset, num2);
}
this.LIBIBOMFIOI.BKBFIGCPIMI(1);
return;
}
if (base.LMDJJEGNOGM.AJFBOLHPEJC)
{
base.BKHECJODPHF.Look(base.HIAMIHBNAMJ(base.BKHECJODPHF.OGCGDMDPHBM));
}
}
}
// Token: 0x060044D7 RID: 17623 RVA: 0x0015CB5C File Offset: 0x0015AD5C
private Vector3 HJAACDHCIGI()
{
return this.JGIANBIAPLD.CPIBGJLHLBL();
}
// Token: 0x04000878 RID: 2168
[Header("Patrol")]
[SerializeField]
private float postPatrolDelay = 4f;
// Token: 0x04000879 RID: 2169
[Header("Relocate Phase")]
[SerializeField]
private float dashSpeed = 4f;
// Token: 0x0400087A RID: 2170
[SerializeField]
private float maxDashForce = 67f;
// Token: 0x0400087B RID: 2171
[SerializeField]
private float dashSlowdownDistance = 1f;
// Token: 0x0400087C RID: 2172
[SerializeField]
private float dashTimeout = 2.5f;
// Token: 0x0400087D RID: 2173
[Header("Projectile Volley Phase")]
[SerializeField]
private float attackChargeDuration = 1f;
// Token: 0x0400087E RID: 2174
[SerializeField]
private float projectileHeadTargetHeightOffset = -0.2f;
// Token: 0x0400087F RID: 2175
[SerializeField]
private float reflectionDuration = 0.5f;
// Token: 0x04000880 RID: 2176
[SerializeField]
private int requiredReturnCount = 3;
// Token: 0x04000881 RID: 2177
[SerializeField]
private int firstVolleyRequiredReturnCount = 3;
// Token: 0x04000882 RID: 2178
[SerializeField]
[Range(0f, 1f)]
private float reselectTargetPlayerChance = 0.2f;
// Token: 0x04000883 RID: 2179
[SerializeField]
[Header("Projectile Speed")]
private AnimationCurve projectileSpeedByHealthCurve;
// Token: 0x04000884 RID: 2180
[SerializeField]
private float volleySpeedDelta = 2f;
// Token: 0x04000885 RID: 2181
[SerializeField]
[Header("Take Damage")]
private int takeDamageAmount = 40;
// Token: 0x04000886 RID: 2182
[SerializeField]
private float takeDamageDuration = 2f;
// Token: 0x04000887 RID: 2183
[Header("Disengage")]
[SerializeField]
private float postDisengageDelay = 1f;
// Token: 0x04000888 RID: 2184
private const float JIBBPLANMBG = 8f;
// Token: 0x04000889 RID: 2185
private LHLLJPPCDKA<Vector3> PMICPDNLKJJ;
// Token: 0x0400088A RID: 2186
private LHLLJPPCDKA<bool> GCCAMFDHHOB;
// Token: 0x0400088B RID: 2187
private LHLLJPPCDKA<int> JOMANIMCEOO;
// Token: 0x0400088C RID: 2188
private LHLLJPPCDKA<Vector3> JGIANBIAPLD;
// Token: 0x0400088D RID: 2189
private LHLLJPPCDKA<float> OPLJPIOLJNC;
// Token: 0x0400088E RID: 2190
private PNONBEAIBHA LIBIBOMFIOI;
// Token: 0x0400088F RID: 2191
private AONMNAEOJAL GOOHDPLFNMC;
// Token: 0x04000890 RID: 2192
private EnemyProjectileToolRangedWeapon KGKFMMHEMJJ;
// Token: 0x04000891 RID: 2193
private WitchPatrolPoints GOJNMALIOJA;
// Token: 0x04000892 RID: 2194
private bool NHMFKINHCLF = true;
// Token: 0x02000147 RID: 327
private enum DOAKNCADFGI
{
// Token: 0x04000894 RID: 2196
RELOCATE,
// Token: 0x04000895 RID: 2197
POST_RELOCATE_DELAY,
// Token: 0x04000896 RID: 2198
CHARGE_ATTACK,
// Token: 0x04000897 RID: 2199
WAITING_FOR_PLAYER_REFLECT,
// Token: 0x04000898 RID: 2200
PLAYER_REFLECTED,
// Token: 0x04000899 RID: 2201
REFLECT_PROJECTILE,
// Token: 0x0400089A RID: 2202
TAKE_DAMAGE,
// Token: 0x0400089B RID: 2203
INVALID = 65535
}
}
}