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,2258 @@
using System;
using System.Collections.Generic;
using RecRoom.Core.AI;
using RecRoom.Tools.Weapons;
using UnityEngine;
namespace RecRoom.Activities.Quest.Goblin2
{
// Token: 0x02000132 RID: 306
public class ForceWandWeapon : SpreadRangedWeapon
{
// Token: 0x06004026 RID: 16422 RVA: 0x0014618C File Offset: 0x0014438C
protected virtual void EOJINOILLPK(Player HKJMAFLIJIJ, Enemy OELGAHAMCLH, MHEBDODJGOA BLKHNALGIKL, IHEAKAOGCIF CACIBBKDNIH)
{
if (CACIBBKDNIH.CEGCFPKHDOE > this.spreadShotInitialCharge)
{
if (OELGAHAMCLH.BKHECJODPHF.ECODDCJIOFA)
{
float magnitude = CACIBBKDNIH.PMEFMHLCPMF.magnitude;
CACIBBKDNIH.PMEFMHLCPMF = Vector3.ProjectOnPlane(CACIBBKDNIH.PMEFMHLCPMF, OELGAHAMCLH.BKHECJODPHF.EPIJGDAJDJN).normalized * magnitude;
}
if (base.BHCCHBHNHCG && !this.KCJLADPBHNK.Contains(OELGAHAMCLH))
{
this.HBMBACBHDNO(OELGAHAMCLH);
}
}
float num = Mathf.Clamp01(CACIBBKDNIH.ANLPOIMKHLH / this.maxDistance);
CACIBBKDNIH.CEGCFPKHDOE *= this.damageFalloffCurve.Evaluate(num);
base.BBIIPGLDAHI(HKJMAFLIJIJ, OELGAHAMCLH, BLKHNALGIKL, CACIBBKDNIH);
}
// Token: 0x06004027 RID: 16423 RVA: 0x00146250 File Offset: 0x00144450
protected virtual void HADBJLMMAOA()
{
base.OnDestroy();
this.trigger.DPJPKICOINE(new DelayedRangedWeaponTrigger.EMMGHJLLCFI(this.MCKIJJLHCBI));
}
// Token: 0x06004028 RID: 16424 RVA: 0x00146270 File Offset: 0x00144470
private void NOOACMGAIIA(Enemy OELGAHAMCLH)
{
OELGAHAMCLH.GKLMJHMAMMD -= this.HFBMPDIDGHK;
OELGAHAMCLH.OGNFDPMFHJF -= this.CENFDPIGGKH;
this.KCJLADPBHNK.Remove(OELGAHAMCLH);
}
// Token: 0x06004029 RID: 16425 RVA: 0x001462A4 File Offset: 0x001444A4
protected virtual void EKBEMBMIJLH()
{
base.OnDestroy();
this.trigger.DPJPKICOINE(new DelayedRangedWeaponTrigger.EMMGHJLLCFI(this.OGIAJKLLKFM));
}
// Token: 0x0600402A RID: 16426 RVA: 0x001462C4 File Offset: 0x001444C4
private void COFKJABLMIL(Enemy OELGAHAMCLH)
{
OELGAHAMCLH.GKLMJHMAMMD -= this.IJKLCJHGKHP;
OELGAHAMCLH.OGNFDPMFHJF -= this.KDILICMKOJB;
this.KCJLADPBHNK.Remove(OELGAHAMCLH);
}
// Token: 0x0600402B RID: 16427 RVA: 0x001462F8 File Offset: 0x001444F8
private void NCNBOAEDNCH(DelayedRangedWeaponTrigger ICPIIANLDOL)
{
if (base.DFJFKOLLEMK())
{
this.Fire(365f);
}
}
// Token: 0x0600402C RID: 16428 RVA: 0x00146310 File Offset: 0x00144510
protected virtual bool LINLLPKBLFK()
{
return true;
}
// Token: 0x0600402D RID: 16429 RVA: 0x00146314 File Offset: 0x00144514
protected virtual void KNOGCPGCNHH()
{
base.OnDestroy();
this.trigger.MKHKAMIFDGL(new DelayedRangedWeaponTrigger.EMMGHJLLCFI(this.JLPJMAJFBBE));
}
// Token: 0x0600402E RID: 16430 RVA: 0x00146334 File Offset: 0x00144534
protected virtual void EEGKBGNMMHO(Vector3 CIGPHKLAAOD, Quaternion IJGPPOIJDKO, Vector3 IGOFELJMFOF, float FNNAAICLLFC, bool AOBDBDEHCJO)
{
if (AOBDBDEHCJO)
{
base.GGJKMDNJNEE.DFBNCNIDKJK();
}
else
{
base.JABPHMKKOII(CIGPHKLAAOD, IJGPPOIJDKO, IGOFELJMFOF, this.spreadShotInitialCharge, AOBDBDEHCJO);
base.HMBICEACEID(CIGPHKLAAOD, IJGPPOIJDKO, IGOFELJMFOF, this.centerShotInitialCharge, AOBDBDEHCJO);
if (this.shootParticlesPrefab != null)
{
this.CCJJDJGCGNI = ObjectPool.NCKMBFBMBFM.Acquire<WandProjectileParticles>(this.shootParticlesPrefab);
this.CCJJDJGCGNI.ResetVelocity();
this.CCJJDJGCGNI.Play(this.barrelTransform);
}
}
}
// Token: 0x0600402F RID: 16431 RVA: 0x001463C0 File Offset: 0x001445C0
protected void IJKLCJHGKHP(Enemy OELGAHAMCLH, Collision PDCJEBJGFNF)
{
if (PDCJEBJGFNF.relativeVelocity.sqrMagnitude > this.minPhysicsDamageVelocity * this.minPhysicsDamageVelocity)
{
MHEBDODJGOA mhebdodjgoa;
Enemy enemy = PDCJEBJGFNF.AICMDAMIEBP(out mhebdodjgoa);
bool flag = true;
float num = 1654f;
if (enemy != null)
{
flag = true;
num = this.enemyCollisionDamageCharge;
}
else
{
Vector3 normal = PDCJEBJGFNF.contacts[0].normal;
float num2 = Vector3.Angle(normal, Vector3.up);
if (num2 > this.maxFloorAngleDegrees)
{
flag = true;
num = this.environmentCollisionDamageCharge;
}
}
if (flag)
{
this.NOOACMGAIIA(OELGAHAMCLH);
IHEAKAOGCIF iheakaogcif = new IHEAKAOGCIF
{
JIIJIFKCMFK = PDCJEBJGFNF.relativeVelocity,
PMEFMHLCPMF = Vector3.zero,
LLKJDBBNPKB = PDCJEBJGFNF.contacts[1].point,
ANLPOIMKHLH = 226f,
EPIJGDAJDJN = PDCJEBJGFNF.contacts[0].normal,
JFCOFBFGGFL = PDCJEBJGFNF.gameObject,
CEGCFPKHDOE = num
};
this.DAGOEOKCJPM(OELGAHAMCLH, iheakaogcif);
if (enemy)
{
iheakaogcif.CEGCFPKHDOE = this.otherEnemyCollisionDamageCharge;
this.DAGOEOKCJPM(enemy, iheakaogcif);
}
}
}
}
// Token: 0x06004030 RID: 16432 RVA: 0x00146500 File Offset: 0x00144700
protected override void OnDestroy()
{
base.OnDestroy();
this.trigger.AGJLCAJPNEI -= this.CCPGCCEGCEO;
}
// Token: 0x06004031 RID: 16433 RVA: 0x00146520 File Offset: 0x00144720
public virtual void KBGBHPFHALH(float MNBMCCJJELD)
{
if (base.BHCCHBHNHCG)
{
if (base.FLDILLCDEIB || base.HBEJNMIIMHO)
{
base.GGJKMDNJNEE.OnMisfire();
}
else
{
Vector3 vector = this.barrelTransform.forward;
if (this.useHeadAimBias && Vector3.Angle(vector, base.BKDFLNGCINH.NAABPMOIADH().AJHHFNCFKNF().transform.forward) < this.maxHeadAimAngle)
{
Vector3 vector2 = base.BKDFLNGCINH.CAAOEAAJAIL.AJHHFNCFKNF().JMCLAMJAINC().JHBFKKAFPFG();
Vector3 normalized = (this.barrelTransform.position - vector2).normalized;
vector = (vector + normalized).normalized;
}
this.spreadOffsetRoot.forward = vector;
this.Fire(vector * this.bulletFireSpeed, MNBMCCJJELD);
}
}
}
// Token: 0x06004032 RID: 16434 RVA: 0x00146608 File Offset: 0x00144808
protected void LMGFJDGKBAB(Enemy OELGAHAMCLH, Collision PDCJEBJGFNF)
{
if (PDCJEBJGFNF.relativeVelocity.sqrMagnitude > this.minPhysicsDamageVelocity * this.minPhysicsDamageVelocity)
{
MHEBDODJGOA mhebdodjgoa;
Enemy enemy = PDCJEBJGFNF.AICMDAMIEBP(out mhebdodjgoa);
bool flag = true;
float num = 1849f;
if (enemy != null)
{
flag = true;
num = this.enemyCollisionDamageCharge;
}
else
{
Vector3 normal = PDCJEBJGFNF.contacts[1].normal;
float num2 = Vector3.Angle(normal, Vector3.up);
if (num2 > this.maxFloorAngleDegrees)
{
flag = false;
num = this.environmentCollisionDamageCharge;
}
}
if (flag)
{
this.NOOACMGAIIA(OELGAHAMCLH);
IHEAKAOGCIF iheakaogcif = new IHEAKAOGCIF
{
JIIJIFKCMFK = PDCJEBJGFNF.relativeVelocity,
PMEFMHLCPMF = Vector3.zero,
LLKJDBBNPKB = PDCJEBJGFNF.contacts[1].point,
ANLPOIMKHLH = 1258f,
EPIJGDAJDJN = PDCJEBJGFNF.contacts[1].normal,
JFCOFBFGGFL = PDCJEBJGFNF.gameObject,
CEGCFPKHDOE = num
};
this.DAGOEOKCJPM(OELGAHAMCLH, iheakaogcif);
if (enemy)
{
iheakaogcif.CEGCFPKHDOE = this.otherEnemyCollisionDamageCharge;
this.DAGOEOKCJPM(enemy, iheakaogcif);
}
}
}
}
// Token: 0x06004033 RID: 16435 RVA: 0x00146748 File Offset: 0x00144948
protected virtual void HCALNCIKIHO(Vector3 CIGPHKLAAOD, Quaternion IJGPPOIJDKO, Vector3 IGOFELJMFOF, float FNNAAICLLFC, bool AOBDBDEHCJO)
{
if (AOBDBDEHCJO)
{
base.GGJKMDNJNEE.LAGBDOMILAF();
}
else
{
base.COGEMPBKJIN(CIGPHKLAAOD, IJGPPOIJDKO, IGOFELJMFOF, this.spreadShotInitialCharge, AOBDBDEHCJO);
base.JPNHDCIOMCC(CIGPHKLAAOD, IJGPPOIJDKO, IGOFELJMFOF, this.centerShotInitialCharge, AOBDBDEHCJO);
if (this.shootParticlesPrefab != null)
{
this.CCJJDJGCGNI = ObjectPool.NFHMLKPHCFF().Acquire<WandProjectileParticles>(this.shootParticlesPrefab);
this.CCJJDJGCGNI.HGKFPFDJKGH();
this.CCJJDJGCGNI.CLPNFBHDKEI(this.barrelTransform);
}
}
}
// Token: 0x06004034 RID: 16436 RVA: 0x001467D4 File Offset: 0x001449D4
private void PFHIPFJCKCA(DelayedRangedWeaponTrigger ICPIIANLDOL)
{
if (base.DFJFKOLLEMK())
{
this.Fire(463f);
}
}
// Token: 0x06004035 RID: 16437 RVA: 0x001467EC File Offset: 0x001449EC
protected virtual bool GFDLANGGEIN()
{
return true;
}
// Token: 0x06004036 RID: 16438 RVA: 0x001467F0 File Offset: 0x001449F0
private void OGIAJKLLKFM(DelayedRangedWeaponTrigger ICPIIANLDOL)
{
if (base.GANDPDNCOKF())
{
this.Fire(1111f);
}
}
// Token: 0x06004037 RID: 16439 RVA: 0x00146808 File Offset: 0x00144A08
protected override void POMCHIPOPEA()
{
base.EIMPMCFDMIA();
this.trigger.OBOLKPCLHIG(new DelayedRangedWeaponTrigger.EMMGHJLLCFI(this.MAJMCPNFADO));
}
// Token: 0x06004038 RID: 16440 RVA: 0x00146828 File Offset: 0x00144A28
protected virtual bool CIEECDIPMKO()
{
return true;
}
// Token: 0x06004039 RID: 16441 RVA: 0x0014682C File Offset: 0x00144A2C
protected virtual bool LKPIKAGHMAN()
{
return false;
}
// Token: 0x0600403A RID: 16442 RVA: 0x00146830 File Offset: 0x00144A30
protected virtual void LJKOHBDFHHP(Vector3 CIGPHKLAAOD, Quaternion IJGPPOIJDKO, Vector3 IGOFELJMFOF, float FNNAAICLLFC, bool AOBDBDEHCJO)
{
if (AOBDBDEHCJO)
{
base.GGJKMDNJNEE.KDGILLPNDJP();
}
else
{
base.BECFLDIAGCN(CIGPHKLAAOD, IJGPPOIJDKO, IGOFELJMFOF, this.spreadShotInitialCharge, AOBDBDEHCJO);
base.JKIPFCNNHHE(CIGPHKLAAOD, IJGPPOIJDKO, IGOFELJMFOF, this.centerShotInitialCharge, AOBDBDEHCJO);
if (this.shootParticlesPrefab != null)
{
this.CCJJDJGCGNI = ObjectPool.NFHMLKPHCFF().Acquire<WandProjectileParticles>(this.shootParticlesPrefab);
this.CCJJDJGCGNI.FNOGNLMDBOE();
this.CCJJDJGCGNI.CLPNFBHDKEI(this.barrelTransform);
}
}
}
// Token: 0x0600403B RID: 16443 RVA: 0x001468BC File Offset: 0x00144ABC
public virtual void CMJBMOPKCKK(float MNBMCCJJELD)
{
if (base.JNOCCMDBMIO())
{
if (base.FLDILLCDEIB || base.HBEJNMIIMHO)
{
base.GGJKMDNJNEE.JBOFLNCFGLO();
}
else
{
Vector3 vector = this.barrelTransform.forward;
if (this.useHeadAimBias && Vector3.Angle(vector, base.BKDFLNGCINH.NAABPMOIADH().BGOGBEPJGPJ.transform.forward) < this.maxHeadAimAngle)
{
Vector3 position = base.BKDFLNGCINH.CAAOEAAJAIL.BGOGBEPJGPJ.MCJBCNHLBCH().CIGPHKLAAOD;
Vector3 normalized = (this.barrelTransform.position - position).normalized;
vector = (vector + normalized).normalized;
}
this.spreadOffsetRoot.forward = vector;
this.Fire(vector * this.bulletFireSpeed, MNBMCCJJELD);
}
}
}
// Token: 0x0600403C RID: 16444 RVA: 0x001469A4 File Offset: 0x00144BA4
protected virtual void GPIIMEILJPG(Bullet KACMOFHHALK, Enemy OELGAHAMCLH, MHEBDODJGOA BLKHNALGIKL, IHEAKAOGCIF CACIBBKDNIH)
{
base.CHAOIOAAHON(KACMOFHHALK, OELGAHAMCLH, BLKHNALGIKL, CACIBBKDNIH);
if (CACIBBKDNIH.CEGCFPKHDOE > this.spreadShotInitialCharge)
{
MNNKGAIMCPN mnnkgaimcpn = this.OHOIKBMHPHH.FIMBGODJCGL(KACMOFHHALK);
if (mnnkgaimcpn != null)
{
mnnkgaimcpn.MIDOHBPFODK();
}
}
}
// Token: 0x0600403D RID: 16445 RVA: 0x001469E8 File Offset: 0x00144BE8
private void GDDAFPHAJCP(Enemy OELGAHAMCLH)
{
OELGAHAMCLH.GKLMJHMAMMD -= this.PHPCPPIGDHG;
OELGAHAMCLH.OGNFDPMFHJF -= this.PNFNJOELPLC;
this.KCJLADPBHNK.Remove(OELGAHAMCLH);
}
// Token: 0x0600403E RID: 16446 RVA: 0x00146A1C File Offset: 0x00144C1C
private void FFAECOHLLFE(Enemy OELGAHAMCLH)
{
OELGAHAMCLH.GKLMJHMAMMD -= this.LMGFJDGKBAB;
OELGAHAMCLH.OGNFDPMFHJF -= this.PGMKFJGMFEJ;
this.KCJLADPBHNK.Remove(OELGAHAMCLH);
}
// Token: 0x0600403F RID: 16447 RVA: 0x00146A50 File Offset: 0x00144C50
protected virtual void OAOMPMEAGCA(Vector3 CIGPHKLAAOD, Quaternion IJGPPOIJDKO, Vector3 IGOFELJMFOF, float FNNAAICLLFC, bool AOBDBDEHCJO)
{
if (AOBDBDEHCJO)
{
base.GGJKMDNJNEE.JBOFLNCFGLO();
}
else
{
base.BECFLDIAGCN(CIGPHKLAAOD, IJGPPOIJDKO, IGOFELJMFOF, this.spreadShotInitialCharge, AOBDBDEHCJO);
base.DIOOKHKDKBB(CIGPHKLAAOD, IJGPPOIJDKO, IGOFELJMFOF, this.centerShotInitialCharge, AOBDBDEHCJO);
if (this.shootParticlesPrefab != null)
{
this.CCJJDJGCGNI = ObjectPool.NFHMLKPHCFF().Acquire<WandProjectileParticles>(this.shootParticlesPrefab);
this.CCJJDJGCGNI.PIBFMFNMADB();
this.CCJJDJGCGNI.Play(this.barrelTransform);
}
}
}
// Token: 0x06004040 RID: 16448 RVA: 0x00146ADC File Offset: 0x00144CDC
protected void ANBMIJNLHFD(Enemy OELGAHAMCLH)
{
this.OOHNIIADENO(OELGAHAMCLH);
}
// Token: 0x06004041 RID: 16449 RVA: 0x00146AE8 File Offset: 0x00144CE8
private void NEBDPDACKHN(DelayedRangedWeaponTrigger ICPIIANLDOL)
{
if (base.GANDPDNCOKF())
{
this.Fire(171f);
}
}
// Token: 0x06004042 RID: 16450 RVA: 0x00146B00 File Offset: 0x00144D00
protected virtual void IDHEINDKJIA(Vector3 CIGPHKLAAOD, Quaternion IJGPPOIJDKO, Vector3 IGOFELJMFOF, float FNNAAICLLFC, bool AOBDBDEHCJO)
{
if (AOBDBDEHCJO)
{
base.GGJKMDNJNEE.JBOFLNCFGLO();
}
else
{
base.NPMOFENPFHN(CIGPHKLAAOD, IJGPPOIJDKO, IGOFELJMFOF, this.spreadShotInitialCharge, AOBDBDEHCJO);
base.HMBICEACEID(CIGPHKLAAOD, IJGPPOIJDKO, IGOFELJMFOF, this.centerShotInitialCharge, AOBDBDEHCJO);
if (this.shootParticlesPrefab != null)
{
this.CCJJDJGCGNI = ObjectPool.NFHMLKPHCFF().Acquire<WandProjectileParticles>(this.shootParticlesPrefab);
this.CCJJDJGCGNI.ResetVelocity();
this.CCJJDJGCGNI.CLPNFBHDKEI(this.barrelTransform);
}
}
}
// Token: 0x06004043 RID: 16451 RVA: 0x00146B8C File Offset: 0x00144D8C
protected virtual bool CNBGABODMAG()
{
return false;
}
// Token: 0x06004044 RID: 16452 RVA: 0x00146B90 File Offset: 0x00144D90
protected virtual void BGCDLMLICCG(Vector3 CIGPHKLAAOD, Quaternion IJGPPOIJDKO, Vector3 IGOFELJMFOF, float FNNAAICLLFC, bool AOBDBDEHCJO)
{
if (AOBDBDEHCJO)
{
base.GGJKMDNJNEE.LAGBDOMILAF();
}
else
{
base.FAMDDMPMGNM(CIGPHKLAAOD, IJGPPOIJDKO, IGOFELJMFOF, this.spreadShotInitialCharge, AOBDBDEHCJO);
base.LMIIHBOOCBD(CIGPHKLAAOD, IJGPPOIJDKO, IGOFELJMFOF, this.centerShotInitialCharge, AOBDBDEHCJO);
if (this.shootParticlesPrefab != null)
{
this.CCJJDJGCGNI = ObjectPool.NFHMLKPHCFF().Acquire<WandProjectileParticles>(this.shootParticlesPrefab);
this.CCJJDJGCGNI.KBCICEEAKCO();
this.CCJJDJGCGNI.CLPNFBHDKEI(this.barrelTransform);
}
}
}
// Token: 0x06004045 RID: 16453 RVA: 0x00146C1C File Offset: 0x00144E1C
protected void FGBNNKIAPKN(Enemy OELGAHAMCLH, Collision PDCJEBJGFNF)
{
if (PDCJEBJGFNF.relativeVelocity.sqrMagnitude > this.minPhysicsDamageVelocity * this.minPhysicsDamageVelocity)
{
MHEBDODJGOA mhebdodjgoa;
Enemy enemy = PDCJEBJGFNF.AICMDAMIEBP(out mhebdodjgoa);
bool flag = true;
float num = 455f;
if (enemy != null)
{
flag = true;
num = this.enemyCollisionDamageCharge;
}
else
{
Vector3 normal = PDCJEBJGFNF.contacts[1].normal;
float num2 = Vector3.Angle(normal, Vector3.up);
if (num2 > this.maxFloorAngleDegrees)
{
flag = true;
num = this.environmentCollisionDamageCharge;
}
}
if (flag)
{
this.NEINCDGPHLJ(OELGAHAMCLH);
IHEAKAOGCIF iheakaogcif = new IHEAKAOGCIF
{
JIIJIFKCMFK = PDCJEBJGFNF.relativeVelocity,
PMEFMHLCPMF = Vector3.zero,
LLKJDBBNPKB = PDCJEBJGFNF.contacts[0].point,
ANLPOIMKHLH = 631f,
EPIJGDAJDJN = PDCJEBJGFNF.contacts[0].normal,
JFCOFBFGGFL = PDCJEBJGFNF.gameObject,
CEGCFPKHDOE = num
};
this.DAGOEOKCJPM(OELGAHAMCLH, iheakaogcif);
if (enemy)
{
iheakaogcif.CEGCFPKHDOE = this.otherEnemyCollisionDamageCharge;
this.DAGOEOKCJPM(enemy, iheakaogcif);
}
}
}
}
// Token: 0x06004046 RID: 16454 RVA: 0x00146D5C File Offset: 0x00144F5C
protected override void DIOOKHKDKBB(Vector3 CIGPHKLAAOD, Quaternion IJGPPOIJDKO, Vector3 IGOFELJMFOF, float FNNAAICLLFC, bool AOBDBDEHCJO)
{
if (AOBDBDEHCJO)
{
base.GGJKMDNJNEE.OnMisfire();
}
else
{
base.DIOOKHKDKBB(CIGPHKLAAOD, IJGPPOIJDKO, IGOFELJMFOF, this.spreadShotInitialCharge, AOBDBDEHCJO);
base.DIOOKHKDKBB(CIGPHKLAAOD, IJGPPOIJDKO, IGOFELJMFOF, this.centerShotInitialCharge, AOBDBDEHCJO);
if (this.shootParticlesPrefab != null)
{
this.CCJJDJGCGNI = ObjectPool.NCKMBFBMBFM.Acquire<WandProjectileParticles>(this.shootParticlesPrefab);
this.CCJJDJGCGNI.ResetVelocity();
this.CCJJDJGCGNI.Play(this.barrelTransform);
}
}
}
// Token: 0x06004047 RID: 16455 RVA: 0x00146DE8 File Offset: 0x00144FE8
protected void AOBLNALPALP(Enemy OELGAHAMCLH, Collision PDCJEBJGFNF)
{
if (PDCJEBJGFNF.relativeVelocity.sqrMagnitude > this.minPhysicsDamageVelocity * this.minPhysicsDamageVelocity)
{
MHEBDODJGOA mhebdodjgoa;
Enemy enemy = PDCJEBJGFNF.AICMDAMIEBP(out mhebdodjgoa);
bool flag = false;
float num = 1429f;
if (enemy != null)
{
flag = true;
num = this.enemyCollisionDamageCharge;
}
else
{
Vector3 normal = PDCJEBJGFNF.contacts[0].normal;
float num2 = Vector3.Angle(normal, Vector3.up);
if (num2 > this.maxFloorAngleDegrees)
{
flag = false;
num = this.environmentCollisionDamageCharge;
}
}
if (flag)
{
this.COFKJABLMIL(OELGAHAMCLH);
IHEAKAOGCIF iheakaogcif = new IHEAKAOGCIF
{
JIIJIFKCMFK = PDCJEBJGFNF.relativeVelocity,
PMEFMHLCPMF = Vector3.zero,
LLKJDBBNPKB = PDCJEBJGFNF.contacts[1].point,
ANLPOIMKHLH = 1656f,
EPIJGDAJDJN = PDCJEBJGFNF.contacts[0].normal,
JFCOFBFGGFL = PDCJEBJGFNF.gameObject,
CEGCFPKHDOE = num
};
this.DAGOEOKCJPM(OELGAHAMCLH, iheakaogcif);
if (enemy)
{
iheakaogcif.CEGCFPKHDOE = this.otherEnemyCollisionDamageCharge;
this.DAGOEOKCJPM(enemy, iheakaogcif);
}
}
}
}
// Token: 0x06004048 RID: 16456 RVA: 0x00146F28 File Offset: 0x00145128
protected void PPHHMGPNLGF(Enemy OELGAHAMCLH, Collision PDCJEBJGFNF)
{
if (PDCJEBJGFNF.relativeVelocity.sqrMagnitude > this.minPhysicsDamageVelocity * this.minPhysicsDamageVelocity)
{
MHEBDODJGOA mhebdodjgoa;
Enemy enemy = PDCJEBJGFNF.AICMDAMIEBP(out mhebdodjgoa);
bool flag = true;
float num = 956f;
if (enemy != null)
{
flag = true;
num = this.enemyCollisionDamageCharge;
}
else
{
Vector3 normal = PDCJEBJGFNF.contacts[0].normal;
float num2 = Vector3.Angle(normal, Vector3.up);
if (num2 > this.maxFloorAngleDegrees)
{
flag = false;
num = this.environmentCollisionDamageCharge;
}
}
if (flag)
{
this.NOOACMGAIIA(OELGAHAMCLH);
IHEAKAOGCIF iheakaogcif = new IHEAKAOGCIF
{
JIIJIFKCMFK = PDCJEBJGFNF.relativeVelocity,
PMEFMHLCPMF = Vector3.zero,
LLKJDBBNPKB = PDCJEBJGFNF.contacts[0].point,
ANLPOIMKHLH = 901f,
EPIJGDAJDJN = PDCJEBJGFNF.contacts[0].normal,
JFCOFBFGGFL = PDCJEBJGFNF.gameObject,
CEGCFPKHDOE = num
};
this.DAGOEOKCJPM(OELGAHAMCLH, iheakaogcif);
if (enemy)
{
iheakaogcif.CEGCFPKHDOE = this.otherEnemyCollisionDamageCharge;
this.DAGOEOKCJPM(enemy, iheakaogcif);
}
}
}
}
// Token: 0x06004049 RID: 16457 RVA: 0x00147068 File Offset: 0x00145268
private void FIGGAEKNPFJ(Enemy OELGAHAMCLH)
{
OELGAHAMCLH.GKLMJHMAMMD -= this.HFBMPDIDGHK;
OELGAHAMCLH.OGNFDPMFHJF -= this.CENFDPIGGKH;
this.KCJLADPBHNK.Remove(OELGAHAMCLH);
}
// Token: 0x0600404A RID: 16458 RVA: 0x0014709C File Offset: 0x0014529C
private void GIHOOFABJJL(Enemy OELGAHAMCLH)
{
OELGAHAMCLH.GKLMJHMAMMD -= this.PPHHMGPNLGF;
OELGAHAMCLH.OGNFDPMFHJF -= this.PNHIMPGCOFL;
this.KCJLADPBHNK.Remove(OELGAHAMCLH);
}
// Token: 0x0600404B RID: 16459 RVA: 0x001470D0 File Offset: 0x001452D0
protected virtual void PAKPLLPDIOG()
{
base.FNNCEMJECLP();
this.trigger.OBOLKPCLHIG(new DelayedRangedWeaponTrigger.EMMGHJLLCFI(this.PJMAKBIDCNC));
}
// Token: 0x0600404C RID: 16460 RVA: 0x001470F0 File Offset: 0x001452F0
private void HGDLJEFBNLH(Enemy OELGAHAMCLH)
{
if (!this.KCJLADPBHNK.Contains(OELGAHAMCLH))
{
OELGAHAMCLH.GKLMJHMAMMD += this.GACCLOOEPFO;
OELGAHAMCLH.OGNFDPMFHJF += this.CENFDPIGGKH;
this.KCJLADPBHNK.Add(OELGAHAMCLH);
}
}
// Token: 0x0600404D RID: 16461 RVA: 0x00147140 File Offset: 0x00145340
private void JOALGAGIDED()
{
if (this.OHOIKBMHPHH != null && this.CCJJDJGCGNI != null && this.OHOIKBMHPHH.MHKJHKBJMMB() <= (float)this.spreadTargets.Length * this.minBulletPercentageRequiredForParticles)
{
this.CCJJDJGCGNI.StopVelocity();
this.CCJJDJGCGNI = null;
}
}
// Token: 0x0600404E RID: 16462 RVA: 0x0014719C File Offset: 0x0014539C
public override void Fire(float MNBMCCJJELD)
{
if (base.BHCCHBHNHCG)
{
if (base.FLDILLCDEIB || base.HBEJNMIIMHO)
{
base.GGJKMDNJNEE.OnMisfire();
}
else
{
Vector3 vector = this.barrelTransform.forward;
if (this.useHeadAimBias && Vector3.Angle(vector, base.BKDFLNGCINH.CAAOEAAJAIL.BGOGBEPJGPJ.transform.forward) < this.maxHeadAimAngle)
{
Vector3 position = base.BKDFLNGCINH.CAAOEAAJAIL.BGOGBEPJGPJ.BOLBONELAEF.CIGPHKLAAOD;
Vector3 normalized = (this.barrelTransform.position - position).normalized;
vector = (vector + normalized).normalized;
}
this.spreadOffsetRoot.forward = vector;
this.Fire(vector * this.bulletFireSpeed, MNBMCCJJELD);
}
}
}
// Token: 0x0600404F RID: 16463 RVA: 0x00147284 File Offset: 0x00145484
public virtual void KBHJPJCFFLC(float MNBMCCJJELD)
{
if (base.GANDPDNCOKF())
{
if (base.FLDILLCDEIB || base.HBEJNMIIMHO)
{
base.GGJKMDNJNEE.LAGBDOMILAF();
}
else
{
Vector3 vector = this.barrelTransform.forward;
if (this.useHeadAimBias && Vector3.Angle(vector, base.BKDFLNGCINH.NAABPMOIADH().AJHHFNCFKNF().transform.forward) < this.maxHeadAimAngle)
{
Vector3 position = base.BKDFLNGCINH.NAABPMOIADH().HFDJIFFPEFM().BOLBONELAEF.CIGPHKLAAOD;
Vector3 normalized = (this.barrelTransform.position - position).normalized;
vector = (vector + normalized).normalized;
}
this.spreadOffsetRoot.forward = vector;
this.Fire(vector * this.bulletFireSpeed, MNBMCCJJELD);
}
}
}
// Token: 0x06004050 RID: 16464 RVA: 0x0014736C File Offset: 0x0014556C
private void LCOGPLPFPPL(DelayedRangedWeaponTrigger ICPIIANLDOL)
{
if (base.DFJFKOLLEMK())
{
this.Fire(991f);
}
}
// Token: 0x06004051 RID: 16465 RVA: 0x00147384 File Offset: 0x00145584
protected void KDILICMKOJB(Enemy OELGAHAMCLH)
{
this.COFKJABLMIL(OELGAHAMCLH);
}
// Token: 0x06004052 RID: 16466 RVA: 0x00147390 File Offset: 0x00145590
protected virtual void CENCJDEAFDL()
{
base.OnDestroy();
this.trigger.MKHKAMIFDGL(new DelayedRangedWeaponTrigger.EMMGHJLLCFI(this.MOEMDFHKGCF));
}
// Token: 0x06004053 RID: 16467 RVA: 0x001473B0 File Offset: 0x001455B0
protected void AMNKKFMJNBN(Enemy OELGAHAMCLH)
{
this.CBEKEIAJJHD(OELGAHAMCLH);
}
// Token: 0x06004054 RID: 16468 RVA: 0x001473BC File Offset: 0x001455BC
protected override void CHAOIOAAHON(Bullet KACMOFHHALK, Enemy OELGAHAMCLH, MHEBDODJGOA BLKHNALGIKL, IHEAKAOGCIF CACIBBKDNIH)
{
base.CHAOIOAAHON(KACMOFHHALK, OELGAHAMCLH, BLKHNALGIKL, CACIBBKDNIH);
if (CACIBBKDNIH.CEGCFPKHDOE > this.spreadShotInitialCharge)
{
MNNKGAIMCPN mnnkgaimcpn = this.OHOIKBMHPHH.CNFCPLENMOL(KACMOFHHALK);
if (mnnkgaimcpn != null)
{
mnnkgaimcpn.ADAAAJEHADH();
}
}
}
// Token: 0x06004055 RID: 16469 RVA: 0x00147400 File Offset: 0x00145600
protected virtual void CEPHHCKOHKP(Bullet KACMOFHHALK, Enemy OELGAHAMCLH, MHEBDODJGOA BLKHNALGIKL, IHEAKAOGCIF CACIBBKDNIH)
{
base.CHAOIOAAHON(KACMOFHHALK, OELGAHAMCLH, BLKHNALGIKL, CACIBBKDNIH);
if (CACIBBKDNIH.CEGCFPKHDOE > this.spreadShotInitialCharge)
{
MNNKGAIMCPN mnnkgaimcpn = this.OHOIKBMHPHH.GAKNBPPINCK(KACMOFHHALK);
if (mnnkgaimcpn != null)
{
mnnkgaimcpn.IKEBHCPGNNM();
}
}
}
// Token: 0x06004056 RID: 16470 RVA: 0x00147444 File Offset: 0x00145644
private void HBMBACBHDNO(Enemy OELGAHAMCLH)
{
if (!this.KCJLADPBHNK.Contains(OELGAHAMCLH))
{
OELGAHAMCLH.GKLMJHMAMMD += this.GACCLOOEPFO;
OELGAHAMCLH.OGNFDPMFHJF += this.ANBMIJNLHFD;
this.KCJLADPBHNK.Add(OELGAHAMCLH);
}
}
// Token: 0x06004057 RID: 16471 RVA: 0x00147494 File Offset: 0x00145694
private void OOHNIIADENO(Enemy OELGAHAMCLH)
{
OELGAHAMCLH.GKLMJHMAMMD -= this.IMPFHMKBKPB;
OELGAHAMCLH.OGNFDPMFHJF -= this.CENFDPIGGKH;
this.KCJLADPBHNK.Remove(OELGAHAMCLH);
}
// Token: 0x06004058 RID: 16472 RVA: 0x001474C8 File Offset: 0x001456C8
public virtual void ABAPNELKPAJ(float MNBMCCJJELD)
{
if (base.GANDPDNCOKF())
{
if (base.FLDILLCDEIB || base.HBEJNMIIMHO)
{
base.GGJKMDNJNEE.KDGILLPNDJP();
}
else
{
Vector3 vector = this.barrelTransform.forward;
if (this.useHeadAimBias && Vector3.Angle(vector, base.BKDFLNGCINH.NAABPMOIADH().HFDJIFFPEFM().transform.forward) < this.maxHeadAimAngle)
{
Vector3 vector2 = base.BKDFLNGCINH.CAAOEAAJAIL.HFDJIFFPEFM().FOIKGLCBJAA().JHBFKKAFPFG();
Vector3 normalized = (this.barrelTransform.position - vector2).normalized;
vector = (vector + normalized).normalized;
}
this.spreadOffsetRoot.forward = vector;
this.Fire(vector * this.bulletFireSpeed, MNBMCCJJELD);
}
}
}
// Token: 0x06004059 RID: 16473 RVA: 0x001475B0 File Offset: 0x001457B0
protected void CENFDPIGGKH(Enemy OELGAHAMCLH)
{
this.NOOACMGAIIA(OELGAHAMCLH);
}
// Token: 0x0600405A RID: 16474 RVA: 0x001475BC File Offset: 0x001457BC
protected void OBAGCECMBIL(Enemy OELGAHAMCLH, Collision PDCJEBJGFNF)
{
if (PDCJEBJGFNF.relativeVelocity.sqrMagnitude > this.minPhysicsDamageVelocity * this.minPhysicsDamageVelocity)
{
MHEBDODJGOA mhebdodjgoa;
Enemy enemy = PDCJEBJGFNF.AICMDAMIEBP(out mhebdodjgoa);
bool flag = false;
float num = 1435f;
if (enemy != null)
{
flag = false;
num = this.enemyCollisionDamageCharge;
}
else
{
Vector3 normal = PDCJEBJGFNF.contacts[0].normal;
float num2 = Vector3.Angle(normal, Vector3.up);
if (num2 > this.maxFloorAngleDegrees)
{
flag = true;
num = this.environmentCollisionDamageCharge;
}
}
if (flag)
{
this.GDDAFPHAJCP(OELGAHAMCLH);
IHEAKAOGCIF iheakaogcif = new IHEAKAOGCIF
{
JIIJIFKCMFK = PDCJEBJGFNF.relativeVelocity,
PMEFMHLCPMF = Vector3.zero,
LLKJDBBNPKB = PDCJEBJGFNF.contacts[1].point,
ANLPOIMKHLH = 1935f,
EPIJGDAJDJN = PDCJEBJGFNF.contacts[1].normal,
JFCOFBFGGFL = PDCJEBJGFNF.gameObject,
CEGCFPKHDOE = num
};
this.DAGOEOKCJPM(OELGAHAMCLH, iheakaogcif);
if (enemy)
{
iheakaogcif.CEGCFPKHDOE = this.otherEnemyCollisionDamageCharge;
this.DAGOEOKCJPM(enemy, iheakaogcif);
}
}
}
}
// Token: 0x0600405B RID: 16475 RVA: 0x001476FC File Offset: 0x001458FC
protected virtual void MKMAMKDILHL()
{
base.OnDestroy();
this.trigger.DPJPKICOINE(new DelayedRangedWeaponTrigger.EMMGHJLLCFI(this.CCPGCCEGCEO));
}
// Token: 0x0600405C RID: 16476 RVA: 0x0014771C File Offset: 0x0014591C
protected void PGMKFJGMFEJ(Enemy OELGAHAMCLH)
{
this.JJMBGHGOGBB(OELGAHAMCLH);
}
// Token: 0x0600405D RID: 16477 RVA: 0x00147728 File Offset: 0x00145928
protected virtual void HFOFJMKGPIO(Player HKJMAFLIJIJ, Enemy OELGAHAMCLH, MHEBDODJGOA BLKHNALGIKL, IHEAKAOGCIF CACIBBKDNIH)
{
if (CACIBBKDNIH.CEGCFPKHDOE > this.spreadShotInitialCharge)
{
if (OELGAHAMCLH.BKHECJODPHF.ECODDCJIOFA)
{
float magnitude = CACIBBKDNIH.PMEFMHLCPMF.magnitude;
CACIBBKDNIH.PMEFMHLCPMF = Vector3.ProjectOnPlane(CACIBBKDNIH.PMEFMHLCPMF, OELGAHAMCLH.BKHECJODPHF.EPIJGDAJDJN).normalized * magnitude;
}
if (base.IGIPCHFCFNN() && !this.KCJLADPBHNK.Contains(OELGAHAMCLH))
{
this.HGDLJEFBNLH(OELGAHAMCLH);
}
}
float num = Mathf.Clamp01(CACIBBKDNIH.ANLPOIMKHLH / this.maxDistance);
CACIBBKDNIH.CEGCFPKHDOE *= this.damageFalloffCurve.Evaluate(num);
base.BBIIPGLDAHI(HKJMAFLIJIJ, OELGAHAMCLH, BLKHNALGIKL, CACIBBKDNIH);
}
// Token: 0x0600405E RID: 16478 RVA: 0x001477EC File Offset: 0x001459EC
protected virtual void OCJDDLLNAGK(Vector3 CIGPHKLAAOD, Quaternion IJGPPOIJDKO, Vector3 IGOFELJMFOF, float FNNAAICLLFC, bool AOBDBDEHCJO)
{
if (AOBDBDEHCJO)
{
base.GGJKMDNJNEE.DFBNCNIDKJK();
}
else
{
base.JPNHDCIOMCC(CIGPHKLAAOD, IJGPPOIJDKO, IGOFELJMFOF, this.spreadShotInitialCharge, AOBDBDEHCJO);
base.ELEOEJEBJBI(CIGPHKLAAOD, IJGPPOIJDKO, IGOFELJMFOF, this.centerShotInitialCharge, AOBDBDEHCJO);
if (this.shootParticlesPrefab != null)
{
this.CCJJDJGCGNI = ObjectPool.NFHMLKPHCFF().Acquire<WandProjectileParticles>(this.shootParticlesPrefab);
this.CCJJDJGCGNI.PIBFMFNMADB();
this.CCJJDJGCGNI.Play(this.barrelTransform);
}
}
}
// Token: 0x0600405F RID: 16479 RVA: 0x00147878 File Offset: 0x00145A78
private void LMGNGBPGOEE(Enemy OELGAHAMCLH)
{
OELGAHAMCLH.GKLMJHMAMMD -= this.IMPFHMKBKPB;
OELGAHAMCLH.OGNFDPMFHJF -= this.PNFNJOELPLC;
this.KCJLADPBHNK.Remove(OELGAHAMCLH);
}
// Token: 0x06004060 RID: 16480 RVA: 0x001478AC File Offset: 0x00145AAC
protected virtual void NPBINNCPANO()
{
base.OnDestroy();
this.trigger.DPJPKICOINE(new DelayedRangedWeaponTrigger.EMMGHJLLCFI(this.LDFKLIJHHFM));
}
// Token: 0x06004061 RID: 16481 RVA: 0x001478CC File Offset: 0x00145ACC
protected override void FPMMBPEOBEE()
{
base.LELHNBCKIEG();
this.trigger.IKCAALIPIIO(new DelayedRangedWeaponTrigger.EMMGHJLLCFI(this.NEBDPDACKHN));
}
// Token: 0x06004062 RID: 16482 RVA: 0x001478EC File Offset: 0x00145AEC
protected void HHEDPCGPJFH(Enemy OELGAHAMCLH, Collision PDCJEBJGFNF)
{
if (PDCJEBJGFNF.relativeVelocity.sqrMagnitude > this.minPhysicsDamageVelocity * this.minPhysicsDamageVelocity)
{
MHEBDODJGOA mhebdodjgoa;
Enemy enemy = PDCJEBJGFNF.AICMDAMIEBP(out mhebdodjgoa);
bool flag = true;
float num = 655f;
if (enemy != null)
{
flag = true;
num = this.enemyCollisionDamageCharge;
}
else
{
Vector3 normal = PDCJEBJGFNF.contacts[0].normal;
float num2 = Vector3.Angle(normal, Vector3.up);
if (num2 > this.maxFloorAngleDegrees)
{
flag = true;
num = this.environmentCollisionDamageCharge;
}
}
if (flag)
{
this.DBBDOJLLJJH(OELGAHAMCLH);
IHEAKAOGCIF iheakaogcif = new IHEAKAOGCIF
{
JIIJIFKCMFK = PDCJEBJGFNF.relativeVelocity,
PMEFMHLCPMF = Vector3.zero,
LLKJDBBNPKB = PDCJEBJGFNF.contacts[0].point,
ANLPOIMKHLH = 560f,
EPIJGDAJDJN = PDCJEBJGFNF.contacts[1].normal,
JFCOFBFGGFL = PDCJEBJGFNF.gameObject,
CEGCFPKHDOE = num
};
this.DAGOEOKCJPM(OELGAHAMCLH, iheakaogcif);
if (enemy)
{
iheakaogcif.CEGCFPKHDOE = this.otherEnemyCollisionDamageCharge;
this.DAGOEOKCJPM(enemy, iheakaogcif);
}
}
}
}
// Token: 0x06004063 RID: 16483 RVA: 0x00147A2C File Offset: 0x00145C2C
protected virtual void OBMAMGLHJJH()
{
base.OnDestroy();
this.trigger.MKHKAMIFDGL(new DelayedRangedWeaponTrigger.EMMGHJLLCFI(this.LDFKLIJHHFM));
}
// Token: 0x06004064 RID: 16484 RVA: 0x00147A4C File Offset: 0x00145C4C
private void MKCFEMBFDPM(DelayedRangedWeaponTrigger ICPIIANLDOL)
{
if (base.IGIPCHFCFNN())
{
this.Fire(1786f);
}
}
// Token: 0x06004065 RID: 16485 RVA: 0x00147A64 File Offset: 0x00145C64
private void MOEMDFHKGCF(DelayedRangedWeaponTrigger ICPIIANLDOL)
{
if (base.IGIPCHFCFNN())
{
this.Fire(682f);
}
}
// Token: 0x06004066 RID: 16486 RVA: 0x00147A7C File Offset: 0x00145C7C
private void FBKJJALHIMN()
{
if (this.OHOIKBMHPHH != null && this.CCJJDJGCGNI != null && this.OHOIKBMHPHH.CIDHNKFFPIG() <= (float)this.spreadTargets.Length * this.minBulletPercentageRequiredForParticles)
{
this.CCJJDJGCGNI.DOMKHPHLNAD();
this.CCJJDJGCGNI = null;
}
}
// Token: 0x06004067 RID: 16487 RVA: 0x00147AD8 File Offset: 0x00145CD8
protected void LOGLELICOCF(Enemy OELGAHAMCLH, Collision PDCJEBJGFNF)
{
if (PDCJEBJGFNF.relativeVelocity.sqrMagnitude > this.minPhysicsDamageVelocity * this.minPhysicsDamageVelocity)
{
MHEBDODJGOA mhebdodjgoa;
Enemy enemy = PDCJEBJGFNF.AICMDAMIEBP(out mhebdodjgoa);
bool flag = false;
float num = 866f;
if (enemy != null)
{
flag = false;
num = this.enemyCollisionDamageCharge;
}
else
{
Vector3 normal = PDCJEBJGFNF.contacts[1].normal;
float num2 = Vector3.Angle(normal, Vector3.up);
if (num2 > this.maxFloorAngleDegrees)
{
flag = true;
num = this.environmentCollisionDamageCharge;
}
}
if (flag)
{
this.DMPDEMBKLGM(OELGAHAMCLH);
IHEAKAOGCIF iheakaogcif = new IHEAKAOGCIF
{
JIIJIFKCMFK = PDCJEBJGFNF.relativeVelocity,
PMEFMHLCPMF = Vector3.zero,
LLKJDBBNPKB = PDCJEBJGFNF.contacts[0].point,
ANLPOIMKHLH = 538f,
EPIJGDAJDJN = PDCJEBJGFNF.contacts[1].normal,
JFCOFBFGGFL = PDCJEBJGFNF.gameObject,
CEGCFPKHDOE = num
};
this.DAGOEOKCJPM(OELGAHAMCLH, iheakaogcif);
if (enemy)
{
iheakaogcif.CEGCFPKHDOE = this.otherEnemyCollisionDamageCharge;
this.DAGOEOKCJPM(enemy, iheakaogcif);
}
}
}
}
// Token: 0x06004068 RID: 16488 RVA: 0x00147C18 File Offset: 0x00145E18
private void CCPGCCEGCEO(DelayedRangedWeaponTrigger ICPIIANLDOL)
{
if (base.BHCCHBHNHCG)
{
this.Fire(1f);
}
}
// Token: 0x06004069 RID: 16489 RVA: 0x00147C30 File Offset: 0x00145E30
private void OBEMPAMAKAI(Enemy OELGAHAMCLH)
{
if (!this.KCJLADPBHNK.Contains(OELGAHAMCLH))
{
OELGAHAMCLH.GKLMJHMAMMD += this.HHEDPCGPJFH;
OELGAHAMCLH.OGNFDPMFHJF += this.CENFDPIGGKH;
this.KCJLADPBHNK.Add(OELGAHAMCLH);
}
}
// Token: 0x0600406A RID: 16490 RVA: 0x00147C80 File Offset: 0x00145E80
protected void HFBMPDIDGHK(Enemy OELGAHAMCLH, Collision PDCJEBJGFNF)
{
if (PDCJEBJGFNF.relativeVelocity.sqrMagnitude > this.minPhysicsDamageVelocity * this.minPhysicsDamageVelocity)
{
MHEBDODJGOA mhebdodjgoa;
Enemy enemy = PDCJEBJGFNF.AICMDAMIEBP(out mhebdodjgoa);
bool flag = true;
float num = 844f;
if (enemy != null)
{
flag = false;
num = this.enemyCollisionDamageCharge;
}
else
{
Vector3 normal = PDCJEBJGFNF.contacts[0].normal;
float num2 = Vector3.Angle(normal, Vector3.up);
if (num2 > this.maxFloorAngleDegrees)
{
flag = false;
num = this.environmentCollisionDamageCharge;
}
}
if (flag)
{
this.DBBDOJLLJJH(OELGAHAMCLH);
IHEAKAOGCIF iheakaogcif = new IHEAKAOGCIF
{
JIIJIFKCMFK = PDCJEBJGFNF.relativeVelocity,
PMEFMHLCPMF = Vector3.zero,
LLKJDBBNPKB = PDCJEBJGFNF.contacts[1].point,
ANLPOIMKHLH = 261f,
EPIJGDAJDJN = PDCJEBJGFNF.contacts[1].normal,
JFCOFBFGGFL = PDCJEBJGFNF.gameObject,
CEGCFPKHDOE = num
};
this.DAGOEOKCJPM(OELGAHAMCLH, iheakaogcif);
if (enemy)
{
iheakaogcif.CEGCFPKHDOE = this.otherEnemyCollisionDamageCharge;
this.DAGOEOKCJPM(enemy, iheakaogcif);
}
}
}
}
// Token: 0x0600406B RID: 16491 RVA: 0x00147DC0 File Offset: 0x00145FC0
protected void CGNFFDKHJMM(Enemy OELGAHAMCLH, Collision PDCJEBJGFNF)
{
if (PDCJEBJGFNF.relativeVelocity.sqrMagnitude > this.minPhysicsDamageVelocity * this.minPhysicsDamageVelocity)
{
MHEBDODJGOA mhebdodjgoa;
Enemy enemy = PDCJEBJGFNF.AICMDAMIEBP(out mhebdodjgoa);
bool flag = true;
float num = 723f;
if (enemy != null)
{
flag = true;
num = this.enemyCollisionDamageCharge;
}
else
{
Vector3 normal = PDCJEBJGFNF.contacts[0].normal;
float num2 = Vector3.Angle(normal, Vector3.up);
if (num2 > this.maxFloorAngleDegrees)
{
flag = true;
num = this.environmentCollisionDamageCharge;
}
}
if (flag)
{
this.GDDAFPHAJCP(OELGAHAMCLH);
IHEAKAOGCIF iheakaogcif = new IHEAKAOGCIF
{
JIIJIFKCMFK = PDCJEBJGFNF.relativeVelocity,
PMEFMHLCPMF = Vector3.zero,
LLKJDBBNPKB = PDCJEBJGFNF.contacts[0].point,
ANLPOIMKHLH = 1050f,
EPIJGDAJDJN = PDCJEBJGFNF.contacts[1].normal,
JFCOFBFGGFL = PDCJEBJGFNF.gameObject,
CEGCFPKHDOE = num
};
this.DAGOEOKCJPM(OELGAHAMCLH, iheakaogcif);
if (enemy)
{
iheakaogcif.CEGCFPKHDOE = this.otherEnemyCollisionDamageCharge;
this.DAGOEOKCJPM(enemy, iheakaogcif);
}
}
}
}
// Token: 0x0600406C RID: 16492 RVA: 0x00147F00 File Offset: 0x00146100
protected virtual void FBOIEEHIMBH(Vector3 CIGPHKLAAOD, Quaternion IJGPPOIJDKO, Vector3 IGOFELJMFOF, float FNNAAICLLFC, bool AOBDBDEHCJO)
{
if (AOBDBDEHCJO)
{
base.GGJKMDNJNEE.IOMHAMBPGGL();
}
else
{
base.MBAGFFFLHKO(CIGPHKLAAOD, IJGPPOIJDKO, IGOFELJMFOF, this.spreadShotInitialCharge, AOBDBDEHCJO);
base.AJNEEPFKNJD(CIGPHKLAAOD, IJGPPOIJDKO, IGOFELJMFOF, this.centerShotInitialCharge, AOBDBDEHCJO);
if (this.shootParticlesPrefab != null)
{
this.CCJJDJGCGNI = ObjectPool.NFHMLKPHCFF().Acquire<WandProjectileParticles>(this.shootParticlesPrefab);
this.CCJJDJGCGNI.HGKFPFDJKGH();
this.CCJJDJGCGNI.Play(this.barrelTransform);
}
}
}
// Token: 0x0600406D RID: 16493 RVA: 0x00147F8C File Offset: 0x0014618C
private void DOFEAMLKGBI(DelayedRangedWeaponTrigger ICPIIANLDOL)
{
if (base.BHCCHBHNHCG)
{
this.Fire(1004f);
}
}
// Token: 0x0600406E RID: 16494 RVA: 0x00147FA4 File Offset: 0x001461A4
protected virtual void BOPLFCBMKEL()
{
base.GPCBKBNAGHN();
this.trigger.DMDENNGHJNM(new DelayedRangedWeaponTrigger.EMMGHJLLCFI(this.LDFKLIJHHFM));
}
// Token: 0x0600406F RID: 16495 RVA: 0x00147FC4 File Offset: 0x001461C4
public virtual void AKGNFEECMEJ(float MNBMCCJJELD)
{
if (base.DGLKKANNBPD())
{
if (base.FLDILLCDEIB || base.HBEJNMIIMHO)
{
base.GGJKMDNJNEE.IOMHAMBPGGL();
}
else
{
Vector3 vector = this.barrelTransform.forward;
if (this.useHeadAimBias && Vector3.Angle(vector, base.BKDFLNGCINH.NAABPMOIADH().HFDJIFFPEFM().transform.forward) < this.maxHeadAimAngle)
{
Vector3 position = base.BKDFLNGCINH.CAAOEAAJAIL.BGOGBEPJGPJ.PJKENHEAOHP().CIGPHKLAAOD;
Vector3 normalized = (this.barrelTransform.position - position).normalized;
vector = (vector + normalized).normalized;
}
this.spreadOffsetRoot.forward = vector;
this.Fire(vector * this.bulletFireSpeed, MNBMCCJJELD);
}
}
}
// Token: 0x06004070 RID: 16496 RVA: 0x001480AC File Offset: 0x001462AC
protected virtual void MEJHGHALFGI(Player HKJMAFLIJIJ, Enemy OELGAHAMCLH, MHEBDODJGOA BLKHNALGIKL, IHEAKAOGCIF CACIBBKDNIH)
{
if (CACIBBKDNIH.CEGCFPKHDOE > this.spreadShotInitialCharge)
{
if (OELGAHAMCLH.BKHECJODPHF.ECODDCJIOFA)
{
float magnitude = CACIBBKDNIH.PMEFMHLCPMF.magnitude;
CACIBBKDNIH.PMEFMHLCPMF = Vector3.ProjectOnPlane(CACIBBKDNIH.PMEFMHLCPMF, OELGAHAMCLH.BKHECJODPHF.EPIJGDAJDJN).normalized * magnitude;
}
if (base.DGLOKLCEMLH() && !this.KCJLADPBHNK.Contains(OELGAHAMCLH))
{
this.JAPMEPBAFOL(OELGAHAMCLH);
}
}
float num = Mathf.Clamp01(CACIBBKDNIH.ANLPOIMKHLH / this.maxDistance);
CACIBBKDNIH.CEGCFPKHDOE *= this.damageFalloffCurve.Evaluate(num);
base.BBIIPGLDAHI(HKJMAFLIJIJ, OELGAHAMCLH, BLKHNALGIKL, CACIBBKDNIH);
}
// Token: 0x06004071 RID: 16497 RVA: 0x00148170 File Offset: 0x00146370
private void PJMAKBIDCNC(DelayedRangedWeaponTrigger ICPIIANLDOL)
{
if (base.DGLKKANNBPD())
{
this.Fire(880f);
}
}
// Token: 0x06004072 RID: 16498 RVA: 0x00148188 File Offset: 0x00146388
private void NEINCDGPHLJ(Enemy OELGAHAMCLH)
{
OELGAHAMCLH.GKLMJHMAMMD -= this.PHPCPPIGDHG;
OELGAHAMCLH.OGNFDPMFHJF -= this.OHJIIAKCDIM;
this.KCJLADPBHNK.Remove(OELGAHAMCLH);
}
// Token: 0x06004073 RID: 16499 RVA: 0x001481BC File Offset: 0x001463BC
protected virtual void JLHHADIPOED()
{
base.POMCHIPOPEA();
this.trigger.NKEHKGNOJMI(new DelayedRangedWeaponTrigger.EMMGHJLLCFI(this.MCKIJJLHCBI));
}
// Token: 0x06004074 RID: 16500 RVA: 0x001481DC File Offset: 0x001463DC
protected virtual void HBHLIJDFGPO(Vector3 CIGPHKLAAOD, Quaternion IJGPPOIJDKO, Vector3 IGOFELJMFOF, float FNNAAICLLFC, bool AOBDBDEHCJO)
{
if (AOBDBDEHCJO)
{
base.GGJKMDNJNEE.KDGILLPNDJP();
}
else
{
base.NIAEDDHFCEB(CIGPHKLAAOD, IJGPPOIJDKO, IGOFELJMFOF, this.spreadShotInitialCharge, AOBDBDEHCJO);
base.DIOOKHKDKBB(CIGPHKLAAOD, IJGPPOIJDKO, IGOFELJMFOF, this.centerShotInitialCharge, AOBDBDEHCJO);
if (this.shootParticlesPrefab != null)
{
this.CCJJDJGCGNI = ObjectPool.NCKMBFBMBFM.Acquire<WandProjectileParticles>(this.shootParticlesPrefab);
this.CCJJDJGCGNI.NBMNDNEPFLB();
this.CCJJDJGCGNI.Play(this.barrelTransform);
}
}
}
// Token: 0x06004075 RID: 16501 RVA: 0x00148268 File Offset: 0x00146468
private void MCKIJJLHCBI(DelayedRangedWeaponTrigger ICPIIANLDOL)
{
if (base.DGLKKANNBPD())
{
this.Fire(1691f);
}
}
// Token: 0x06004076 RID: 16502 RVA: 0x00148280 File Offset: 0x00146480
protected virtual void OPMEKPDPHIC(Vector3 CIGPHKLAAOD, Quaternion IJGPPOIJDKO, Vector3 IGOFELJMFOF, float FNNAAICLLFC, bool AOBDBDEHCJO)
{
if (AOBDBDEHCJO)
{
base.GGJKMDNJNEE.OnMisfire();
}
else
{
base.HMBICEACEID(CIGPHKLAAOD, IJGPPOIJDKO, IGOFELJMFOF, this.spreadShotInitialCharge, AOBDBDEHCJO);
base.DIOOKHKDKBB(CIGPHKLAAOD, IJGPPOIJDKO, IGOFELJMFOF, this.centerShotInitialCharge, AOBDBDEHCJO);
if (this.shootParticlesPrefab != null)
{
this.CCJJDJGCGNI = ObjectPool.NFHMLKPHCFF().Acquire<WandProjectileParticles>(this.shootParticlesPrefab);
this.CCJJDJGCGNI.ResetVelocity();
this.CCJJDJGCGNI.Play(this.barrelTransform);
}
}
}
// Token: 0x06004077 RID: 16503 RVA: 0x0014830C File Offset: 0x0014650C
protected virtual bool HJGNFKNILHC()
{
return false;
}
// Token: 0x06004078 RID: 16504 RVA: 0x00148310 File Offset: 0x00146510
protected virtual void JDGPIEHFIBP(Player HKJMAFLIJIJ, Enemy OELGAHAMCLH, MHEBDODJGOA BLKHNALGIKL, IHEAKAOGCIF CACIBBKDNIH)
{
if (CACIBBKDNIH.CEGCFPKHDOE > this.spreadShotInitialCharge)
{
if (OELGAHAMCLH.BKHECJODPHF.ECODDCJIOFA)
{
float magnitude = CACIBBKDNIH.PMEFMHLCPMF.magnitude;
CACIBBKDNIH.PMEFMHLCPMF = Vector3.ProjectOnPlane(CACIBBKDNIH.PMEFMHLCPMF, OELGAHAMCLH.BKHECJODPHF.EPIJGDAJDJN).normalized * magnitude;
}
if (base.IGIPCHFCFNN() && !this.KCJLADPBHNK.Contains(OELGAHAMCLH))
{
this.HGDLJEFBNLH(OELGAHAMCLH);
}
}
float num = Mathf.Clamp01(CACIBBKDNIH.ANLPOIMKHLH / this.maxDistance);
CACIBBKDNIH.CEGCFPKHDOE *= this.damageFalloffCurve.Evaluate(num);
base.BBIIPGLDAHI(HKJMAFLIJIJ, OELGAHAMCLH, BLKHNALGIKL, CACIBBKDNIH);
}
// Token: 0x17000122 RID: 290
// (get) Token: 0x06004079 RID: 16505 RVA: 0x001483D4 File Offset: 0x001465D4
protected override bool OOJANPHHCLO
{
get
{
return false;
}
}
// Token: 0x0600407A RID: 16506 RVA: 0x001483D8 File Offset: 0x001465D8
protected void KPOKCAAAKEC(Enemy OELGAHAMCLH)
{
this.NOOACMGAIIA(OELGAHAMCLH);
}
// Token: 0x0600407B RID: 16507 RVA: 0x001483E4 File Offset: 0x001465E4
protected override void BBIIPGLDAHI(Player HKJMAFLIJIJ, Enemy OELGAHAMCLH, MHEBDODJGOA BLKHNALGIKL, IHEAKAOGCIF CACIBBKDNIH)
{
if (CACIBBKDNIH.CEGCFPKHDOE > this.spreadShotInitialCharge)
{
if (OELGAHAMCLH.BKHECJODPHF.ECODDCJIOFA)
{
float magnitude = CACIBBKDNIH.PMEFMHLCPMF.magnitude;
CACIBBKDNIH.PMEFMHLCPMF = Vector3.ProjectOnPlane(CACIBBKDNIH.PMEFMHLCPMF, OELGAHAMCLH.BKHECJODPHF.EPIJGDAJDJN).normalized * magnitude;
}
if (base.BHCCHBHNHCG && !this.KCJLADPBHNK.Contains(OELGAHAMCLH))
{
this.KMMLBMMEGGH(OELGAHAMCLH);
}
}
float num = Mathf.Clamp01(CACIBBKDNIH.ANLPOIMKHLH / this.maxDistance);
CACIBBKDNIH.CEGCFPKHDOE *= this.damageFalloffCurve.Evaluate(num);
base.BBIIPGLDAHI(HKJMAFLIJIJ, OELGAHAMCLH, BLKHNALGIKL, CACIBBKDNIH);
}
// Token: 0x0600407C RID: 16508 RVA: 0x001484A8 File Offset: 0x001466A8
public virtual void JLOEIHGJJGF(float MNBMCCJJELD)
{
if (base.DGLKKANNBPD())
{
if (base.FLDILLCDEIB || base.HBEJNMIIMHO)
{
base.GGJKMDNJNEE.IOMHAMBPGGL();
}
else
{
Vector3 vector = this.barrelTransform.forward;
if (this.useHeadAimBias && Vector3.Angle(vector, base.BKDFLNGCINH.NAABPMOIADH().HFDJIFFPEFM().transform.forward) < this.maxHeadAimAngle)
{
Vector3 position = base.BKDFLNGCINH.CAAOEAAJAIL.AJHHFNCFKNF().FKOJKHGMOII().CIGPHKLAAOD;
Vector3 normalized = (this.barrelTransform.position - position).normalized;
vector = (vector + normalized).normalized;
}
this.spreadOffsetRoot.forward = vector;
this.Fire(vector * this.bulletFireSpeed, MNBMCCJJELD);
}
}
}
// Token: 0x0600407D RID: 16509 RVA: 0x00148590 File Offset: 0x00146790
protected virtual bool ILGDELAOKID()
{
return false;
}
// Token: 0x0600407E RID: 16510 RVA: 0x00148594 File Offset: 0x00146794
private void HOKJCBOLOLO(Enemy OELGAHAMCLH)
{
if (!this.KCJLADPBHNK.Contains(OELGAHAMCLH))
{
OELGAHAMCLH.GKLMJHMAMMD += this.LOGLELICOCF;
OELGAHAMCLH.OGNFDPMFHJF += this.ANBMIJNLHFD;
this.KCJLADPBHNK.Add(OELGAHAMCLH);
}
}
// Token: 0x0600407F RID: 16511 RVA: 0x001485E4 File Offset: 0x001467E4
protected virtual void LEMGDPHJENH()
{
base.FNNCEMJECLP();
this.trigger.IKCAALIPIIO(new DelayedRangedWeaponTrigger.EMMGHJLLCFI(this.NEBDPDACKHN));
}
// Token: 0x06004080 RID: 16512 RVA: 0x00148604 File Offset: 0x00146804
protected virtual void PMGPKFEPPKC(Vector3 CIGPHKLAAOD, Quaternion IJGPPOIJDKO, Vector3 IGOFELJMFOF, float FNNAAICLLFC, bool AOBDBDEHCJO)
{
if (AOBDBDEHCJO)
{
base.GGJKMDNJNEE.KLIMLDNBHGP();
}
else
{
base.HMBICEACEID(CIGPHKLAAOD, IJGPPOIJDKO, IGOFELJMFOF, this.spreadShotInitialCharge, AOBDBDEHCJO);
base.BECFLDIAGCN(CIGPHKLAAOD, IJGPPOIJDKO, IGOFELJMFOF, this.centerShotInitialCharge, AOBDBDEHCJO);
if (this.shootParticlesPrefab != null)
{
this.CCJJDJGCGNI = ObjectPool.NFHMLKPHCFF().Acquire<WandProjectileParticles>(this.shootParticlesPrefab);
this.CCJJDJGCGNI.HGKFPFDJKGH();
this.CCJJDJGCGNI.Play(this.barrelTransform);
}
}
}
// Token: 0x06004081 RID: 16513 RVA: 0x00148690 File Offset: 0x00146890
public virtual void LPJGIENMOJC(float MNBMCCJJELD)
{
if (base.DGLOKLCEMLH())
{
if (base.FLDILLCDEIB || base.HBEJNMIIMHO)
{
base.GGJKMDNJNEE.IOMHAMBPGGL();
}
else
{
Vector3 vector = this.barrelTransform.forward;
if (this.useHeadAimBias && Vector3.Angle(vector, base.BKDFLNGCINH.CAAOEAAJAIL.HFDJIFFPEFM().transform.forward) < this.maxHeadAimAngle)
{
Vector3 vector2 = base.BKDFLNGCINH.NAABPMOIADH().AJHHFNCFKNF().MCJBCNHLBCH()
.JHBFKKAFPFG();
Vector3 normalized = (this.barrelTransform.position - vector2).normalized;
vector = (vector + normalized).normalized;
}
this.spreadOffsetRoot.forward = vector;
this.Fire(vector * this.bulletFireSpeed, MNBMCCJJELD);
}
}
}
// Token: 0x06004082 RID: 16514 RVA: 0x00148778 File Offset: 0x00146978
protected virtual void KAAHOFPEHJG(Player HKJMAFLIJIJ, Enemy OELGAHAMCLH, MHEBDODJGOA BLKHNALGIKL, IHEAKAOGCIF CACIBBKDNIH)
{
if (CACIBBKDNIH.CEGCFPKHDOE > this.spreadShotInitialCharge)
{
if (OELGAHAMCLH.BKHECJODPHF.ECODDCJIOFA)
{
float magnitude = CACIBBKDNIH.PMEFMHLCPMF.magnitude;
CACIBBKDNIH.PMEFMHLCPMF = Vector3.ProjectOnPlane(CACIBBKDNIH.PMEFMHLCPMF, OELGAHAMCLH.BKHECJODPHF.EPIJGDAJDJN).normalized * magnitude;
}
if (base.JNOCCMDBMIO() && !this.KCJLADPBHNK.Contains(OELGAHAMCLH))
{
this.HBMBACBHDNO(OELGAHAMCLH);
}
}
float num = Mathf.Clamp01(CACIBBKDNIH.ANLPOIMKHLH / this.maxDistance);
CACIBBKDNIH.CEGCFPKHDOE *= this.damageFalloffCurve.Evaluate(num);
base.BBIIPGLDAHI(HKJMAFLIJIJ, OELGAHAMCLH, BLKHNALGIKL, CACIBBKDNIH);
}
// Token: 0x06004083 RID: 16515 RVA: 0x0014883C File Offset: 0x00146A3C
protected virtual void AEFJPCJBEOM()
{
base.OnDestroy();
this.trigger.AGJLCAJPNEI -= this.NCNBOAEDNCH;
}
// Token: 0x06004084 RID: 16516 RVA: 0x0014885C File Offset: 0x00146A5C
protected virtual bool CIPHGBIPNHL()
{
return true;
}
// Token: 0x06004085 RID: 16517 RVA: 0x00148860 File Offset: 0x00146A60
private void CBEKEIAJJHD(Enemy OELGAHAMCLH)
{
OELGAHAMCLH.GKLMJHMAMMD -= this.CGNFFDKHJMM;
OELGAHAMCLH.OGNFDPMFHJF -= this.KPOKCAAAKEC;
this.KCJLADPBHNK.Remove(OELGAHAMCLH);
}
// Token: 0x06004086 RID: 16518 RVA: 0x00148894 File Offset: 0x00146A94
protected virtual void KHLENFDHAKO(Bullet KACMOFHHALK, Enemy OELGAHAMCLH, MHEBDODJGOA BLKHNALGIKL, IHEAKAOGCIF CACIBBKDNIH)
{
base.CHAOIOAAHON(KACMOFHHALK, OELGAHAMCLH, BLKHNALGIKL, CACIBBKDNIH);
if (CACIBBKDNIH.CEGCFPKHDOE > this.spreadShotInitialCharge)
{
MNNKGAIMCPN mnnkgaimcpn = this.OHOIKBMHPHH.FBMNJPEOBON(KACMOFHHALK);
if (mnnkgaimcpn != null)
{
mnnkgaimcpn.DNJAJKNDPAL();
}
}
}
// Token: 0x06004087 RID: 16519 RVA: 0x001488D8 File Offset: 0x00146AD8
protected virtual void KGNKPHLLJJB(Vector3 CIGPHKLAAOD, Quaternion IJGPPOIJDKO, Vector3 IGOFELJMFOF, float FNNAAICLLFC, bool AOBDBDEHCJO)
{
if (AOBDBDEHCJO)
{
base.GGJKMDNJNEE.JBOFLNCFGLO();
}
else
{
base.JKIPFCNNHHE(CIGPHKLAAOD, IJGPPOIJDKO, IGOFELJMFOF, this.spreadShotInitialCharge, AOBDBDEHCJO);
base.MBAGFFFLHKO(CIGPHKLAAOD, IJGPPOIJDKO, IGOFELJMFOF, this.centerShotInitialCharge, AOBDBDEHCJO);
if (this.shootParticlesPrefab != null)
{
this.CCJJDJGCGNI = ObjectPool.NFHMLKPHCFF().Acquire<WandProjectileParticles>(this.shootParticlesPrefab);
this.CCJJDJGCGNI.GJBNJMHJKKG();
this.CCJJDJGCGNI.CLPNFBHDKEI(this.barrelTransform);
}
}
}
// Token: 0x06004088 RID: 16520 RVA: 0x00148964 File Offset: 0x00146B64
private void JAPMEPBAFOL(Enemy OELGAHAMCLH)
{
if (!this.KCJLADPBHNK.Contains(OELGAHAMCLH))
{
OELGAHAMCLH.GKLMJHMAMMD += this.HHEDPCGPJFH;
OELGAHAMCLH.OGNFDPMFHJF += this.FHJOIMAKFAE;
this.KCJLADPBHNK.Add(OELGAHAMCLH);
}
}
// Token: 0x06004089 RID: 16521 RVA: 0x001489B4 File Offset: 0x00146BB4
protected void FHJOIMAKFAE(Enemy OELGAHAMCLH)
{
this.COFKJABLMIL(OELGAHAMCLH);
}
// Token: 0x0600408A RID: 16522 RVA: 0x001489C0 File Offset: 0x00146BC0
private void GEAPNFKMNPM()
{
if (this.OHOIKBMHPHH != null && this.CCJJDJGCGNI != null && this.OHOIKBMHPHH.CIDHNKFFPIG() <= (float)this.spreadTargets.Length * this.minBulletPercentageRequiredForParticles)
{
this.CCJJDJGCGNI.BMHLFLKNOOK();
this.CCJJDJGCGNI = null;
}
}
// Token: 0x0600408B RID: 16523 RVA: 0x00148A1C File Offset: 0x00146C1C
protected override void FJAFGJNKICG(Vector3 CIGPHKLAAOD, Quaternion IJGPPOIJDKO, Vector3 IGOFELJMFOF, float FNNAAICLLFC, bool AOBDBDEHCJO)
{
if (AOBDBDEHCJO)
{
base.GGJKMDNJNEE.LAGBDOMILAF();
}
else
{
base.FAMDDMPMGNM(CIGPHKLAAOD, IJGPPOIJDKO, IGOFELJMFOF, this.spreadShotInitialCharge, AOBDBDEHCJO);
base.HMBICEACEID(CIGPHKLAAOD, IJGPPOIJDKO, IGOFELJMFOF, this.centerShotInitialCharge, AOBDBDEHCJO);
if (this.shootParticlesPrefab != null)
{
this.CCJJDJGCGNI = ObjectPool.NCKMBFBMBFM.Acquire<WandProjectileParticles>(this.shootParticlesPrefab);
this.CCJJDJGCGNI.KLJCDABMGGI();
this.CCJJDJGCGNI.CLPNFBHDKEI(this.barrelTransform);
}
}
}
// Token: 0x0600408C RID: 16524 RVA: 0x00148AA8 File Offset: 0x00146CA8
protected void IMPFHMKBKPB(Enemy OELGAHAMCLH, Collision PDCJEBJGFNF)
{
if (PDCJEBJGFNF.relativeVelocity.sqrMagnitude > this.minPhysicsDamageVelocity * this.minPhysicsDamageVelocity)
{
MHEBDODJGOA mhebdodjgoa;
Enemy enemy = PDCJEBJGFNF.AICMDAMIEBP(out mhebdodjgoa);
bool flag = false;
float num = 695f;
if (enemy != null)
{
flag = true;
num = this.enemyCollisionDamageCharge;
}
else
{
Vector3 normal = PDCJEBJGFNF.contacts[1].normal;
float num2 = Vector3.Angle(normal, Vector3.up);
if (num2 > this.maxFloorAngleDegrees)
{
flag = true;
num = this.environmentCollisionDamageCharge;
}
}
if (flag)
{
this.CBEKEIAJJHD(OELGAHAMCLH);
IHEAKAOGCIF iheakaogcif = new IHEAKAOGCIF
{
JIIJIFKCMFK = PDCJEBJGFNF.relativeVelocity,
PMEFMHLCPMF = Vector3.zero,
LLKJDBBNPKB = PDCJEBJGFNF.contacts[0].point,
ANLPOIMKHLH = 898f,
EPIJGDAJDJN = PDCJEBJGFNF.contacts[0].normal,
JFCOFBFGGFL = PDCJEBJGFNF.gameObject,
CEGCFPKHDOE = num
};
this.DAGOEOKCJPM(OELGAHAMCLH, iheakaogcif);
if (enemy)
{
iheakaogcif.CEGCFPKHDOE = this.otherEnemyCollisionDamageCharge;
this.DAGOEOKCJPM(enemy, iheakaogcif);
}
}
}
}
// Token: 0x0600408D RID: 16525 RVA: 0x00148BE8 File Offset: 0x00146DE8
protected override void Awake()
{
base.Awake();
this.trigger.AGJLCAJPNEI += this.CCPGCCEGCEO;
}
// Token: 0x0600408E RID: 16526 RVA: 0x00148C08 File Offset: 0x00146E08
private void LIEAMPHEICL()
{
if (this.OHOIKBMHPHH != null && this.CCJJDJGCGNI != null && this.OHOIKBMHPHH.CIDHNKFFPIG() <= (float)this.spreadTargets.Length * this.minBulletPercentageRequiredForParticles)
{
this.CCJJDJGCGNI.PBHLLEFBPFM();
this.CCJJDJGCGNI = null;
}
}
// Token: 0x0600408F RID: 16527 RVA: 0x00148C64 File Offset: 0x00146E64
protected virtual void GAMKILIEJHG()
{
base.LOFEIHMJJFA();
this.trigger.AGJLCAJPNEI += this.MAJMCPNFADO;
}
// Token: 0x06004090 RID: 16528 RVA: 0x00148C84 File Offset: 0x00146E84
protected virtual void HEKMPKDNNGB()
{
base.LNKPKHFACHE();
this.trigger.IKCAALIPIIO(new DelayedRangedWeaponTrigger.EMMGHJLLCFI(this.MCKIJJLHCBI));
}
// Token: 0x06004091 RID: 16529 RVA: 0x00148CA4 File Offset: 0x00146EA4
protected void PNHIMPGCOFL(Enemy OELGAHAMCLH)
{
this.FFAECOHLLFE(OELGAHAMCLH);
}
// Token: 0x06004092 RID: 16530 RVA: 0x00148CB0 File Offset: 0x00146EB0
private void LDFKLIJHHFM(DelayedRangedWeaponTrigger ICPIIANLDOL)
{
if (base.BHCCHBHNHCG)
{
this.Fire(530f);
}
}
// Token: 0x06004093 RID: 16531 RVA: 0x00148CC8 File Offset: 0x00146EC8
protected void OHJIIAKCDIM(Enemy OELGAHAMCLH)
{
this.NOOACMGAIIA(OELGAHAMCLH);
}
// Token: 0x06004094 RID: 16532 RVA: 0x00148CD4 File Offset: 0x00146ED4
private void DHOGEDDFAJC()
{
if (this.OHOIKBMHPHH != null && this.CCJJDJGCGNI != null && this.OHOIKBMHPHH.EPCGPFOPDIC() <= (float)this.spreadTargets.Length * this.minBulletPercentageRequiredForParticles)
{
this.CCJJDJGCGNI.ECKNIEPIEBD();
this.CCJJDJGCGNI = null;
}
}
// Token: 0x06004095 RID: 16533 RVA: 0x00148D30 File Offset: 0x00146F30
protected virtual bool JNAAGMKCCNK()
{
return true;
}
// Token: 0x06004096 RID: 16534 RVA: 0x00148D34 File Offset: 0x00146F34
protected virtual void PDJGAEEMEPO(Player HKJMAFLIJIJ, Enemy OELGAHAMCLH, MHEBDODJGOA BLKHNALGIKL, IHEAKAOGCIF CACIBBKDNIH)
{
if (CACIBBKDNIH.CEGCFPKHDOE > this.spreadShotInitialCharge)
{
if (OELGAHAMCLH.BKHECJODPHF.ECODDCJIOFA)
{
float magnitude = CACIBBKDNIH.PMEFMHLCPMF.magnitude;
CACIBBKDNIH.PMEFMHLCPMF = Vector3.ProjectOnPlane(CACIBBKDNIH.PMEFMHLCPMF, OELGAHAMCLH.BKHECJODPHF.EPIJGDAJDJN).normalized * magnitude;
}
if (base.BHCCHBHNHCG && !this.KCJLADPBHNK.Contains(OELGAHAMCLH))
{
this.OBEMPAMAKAI(OELGAHAMCLH);
}
}
float num = Mathf.Clamp01(CACIBBKDNIH.ANLPOIMKHLH / this.maxDistance);
CACIBBKDNIH.CEGCFPKHDOE *= this.damageFalloffCurve.Evaluate(num);
base.BBIIPGLDAHI(HKJMAFLIJIJ, OELGAHAMCLH, BLKHNALGIKL, CACIBBKDNIH);
}
// Token: 0x06004098 RID: 16536 RVA: 0x00148E98 File Offset: 0x00147098
protected void PHPCPPIGDHG(Enemy OELGAHAMCLH, Collision PDCJEBJGFNF)
{
if (PDCJEBJGFNF.relativeVelocity.sqrMagnitude > this.minPhysicsDamageVelocity * this.minPhysicsDamageVelocity)
{
MHEBDODJGOA mhebdodjgoa;
Enemy enemy = PDCJEBJGFNF.AICMDAMIEBP(out mhebdodjgoa);
bool flag = false;
float num = 1507f;
if (enemy != null)
{
flag = false;
num = this.enemyCollisionDamageCharge;
}
else
{
Vector3 normal = PDCJEBJGFNF.contacts[1].normal;
float num2 = Vector3.Angle(normal, Vector3.up);
if (num2 > this.maxFloorAngleDegrees)
{
flag = true;
num = this.environmentCollisionDamageCharge;
}
}
if (flag)
{
this.GIHOOFABJJL(OELGAHAMCLH);
IHEAKAOGCIF iheakaogcif = new IHEAKAOGCIF
{
JIIJIFKCMFK = PDCJEBJGFNF.relativeVelocity,
PMEFMHLCPMF = Vector3.zero,
LLKJDBBNPKB = PDCJEBJGFNF.contacts[1].point,
ANLPOIMKHLH = 1317f,
EPIJGDAJDJN = PDCJEBJGFNF.contacts[1].normal,
JFCOFBFGGFL = PDCJEBJGFNF.gameObject,
CEGCFPKHDOE = num
};
this.DAGOEOKCJPM(OELGAHAMCLH, iheakaogcif);
if (enemy)
{
iheakaogcif.CEGCFPKHDOE = this.otherEnemyCollisionDamageCharge;
this.DAGOEOKCJPM(enemy, iheakaogcif);
}
}
}
}
// Token: 0x06004099 RID: 16537 RVA: 0x00148FD8 File Offset: 0x001471D8
private void DBBDOJLLJJH(Enemy OELGAHAMCLH)
{
OELGAHAMCLH.GKLMJHMAMMD -= this.LOGLELICOCF;
OELGAHAMCLH.OGNFDPMFHJF -= this.PNHIMPGCOFL;
this.KCJLADPBHNK.Remove(OELGAHAMCLH);
}
// Token: 0x0600409A RID: 16538 RVA: 0x0014900C File Offset: 0x0014720C
private void EDCDIDCCOPM(DelayedRangedWeaponTrigger ICPIIANLDOL)
{
if (base.BHCCHBHNHCG)
{
this.Fire(976f);
}
}
// Token: 0x0600409B RID: 16539 RVA: 0x00149024 File Offset: 0x00147224
protected virtual void PPCCKMMADGK()
{
base.OnDestroy();
this.trigger.IFNLNPKICKA(new DelayedRangedWeaponTrigger.EMMGHJLLCFI(this.CCPGCCEGCEO));
}
// Token: 0x0600409C RID: 16540 RVA: 0x00149044 File Offset: 0x00147244
private void INKIMMBDEKM()
{
if (this.OHOIKBMHPHH != null && this.CCJJDJGCGNI != null && this.OHOIKBMHPHH.CIDHNKFFPIG() <= (float)this.spreadTargets.Length * this.minBulletPercentageRequiredForParticles)
{
this.CCJJDJGCGNI.MLFPNOBPLIA();
this.CCJJDJGCGNI = null;
}
}
// Token: 0x0600409D RID: 16541 RVA: 0x001490A0 File Offset: 0x001472A0
protected virtual void GHBPFFHCKHE(Vector3 CIGPHKLAAOD, Quaternion IJGPPOIJDKO, Vector3 IGOFELJMFOF, float FNNAAICLLFC, bool AOBDBDEHCJO)
{
if (AOBDBDEHCJO)
{
base.GGJKMDNJNEE.IOMHAMBPGGL();
}
else
{
base.DIOOKHKDKBB(CIGPHKLAAOD, IJGPPOIJDKO, IGOFELJMFOF, this.spreadShotInitialCharge, AOBDBDEHCJO);
base.JKIPFCNNHHE(CIGPHKLAAOD, IJGPPOIJDKO, IGOFELJMFOF, this.centerShotInitialCharge, AOBDBDEHCJO);
if (this.shootParticlesPrefab != null)
{
this.CCJJDJGCGNI = ObjectPool.NCKMBFBMBFM.Acquire<WandProjectileParticles>(this.shootParticlesPrefab);
this.CCJJDJGCGNI.KBCICEEAKCO();
this.CCJJDJGCGNI.Play(this.barrelTransform);
}
}
}
// Token: 0x0600409E RID: 16542 RVA: 0x0014912C File Offset: 0x0014732C
protected virtual void LKOLCKCDIBK(Player HKJMAFLIJIJ, Enemy OELGAHAMCLH, MHEBDODJGOA BLKHNALGIKL, IHEAKAOGCIF CACIBBKDNIH)
{
if (CACIBBKDNIH.CEGCFPKHDOE > this.spreadShotInitialCharge)
{
if (OELGAHAMCLH.BKHECJODPHF.ECODDCJIOFA)
{
float magnitude = CACIBBKDNIH.PMEFMHLCPMF.magnitude;
CACIBBKDNIH.PMEFMHLCPMF = Vector3.ProjectOnPlane(CACIBBKDNIH.PMEFMHLCPMF, OELGAHAMCLH.BKHECJODPHF.EPIJGDAJDJN).normalized * magnitude;
}
if (base.GANDPDNCOKF() && !this.KCJLADPBHNK.Contains(OELGAHAMCLH))
{
this.HOKJCBOLOLO(OELGAHAMCLH);
}
}
float num = Mathf.Clamp01(CACIBBKDNIH.ANLPOIMKHLH / this.maxDistance);
CACIBBKDNIH.CEGCFPKHDOE *= this.damageFalloffCurve.Evaluate(num);
base.BBIIPGLDAHI(HKJMAFLIJIJ, OELGAHAMCLH, BLKHNALGIKL, CACIBBKDNIH);
}
// Token: 0x0600409F RID: 16543 RVA: 0x001491F0 File Offset: 0x001473F0
protected void GACCLOOEPFO(Enemy OELGAHAMCLH, Collision PDCJEBJGFNF)
{
if (PDCJEBJGFNF.relativeVelocity.sqrMagnitude > this.minPhysicsDamageVelocity * this.minPhysicsDamageVelocity)
{
MHEBDODJGOA mhebdodjgoa;
Enemy enemy = PDCJEBJGFNF.AICMDAMIEBP(out mhebdodjgoa);
bool flag = false;
float num = 0f;
if (enemy != null)
{
flag = true;
num = this.enemyCollisionDamageCharge;
}
else
{
Vector3 normal = PDCJEBJGFNF.contacts[0].normal;
float num2 = Vector3.Angle(normal, Vector3.up);
if (num2 > this.maxFloorAngleDegrees)
{
flag = true;
num = this.environmentCollisionDamageCharge;
}
}
if (flag)
{
this.DMPDEMBKLGM(OELGAHAMCLH);
IHEAKAOGCIF iheakaogcif = new IHEAKAOGCIF
{
JIIJIFKCMFK = PDCJEBJGFNF.relativeVelocity,
PMEFMHLCPMF = Vector3.zero,
LLKJDBBNPKB = PDCJEBJGFNF.contacts[0].point,
ANLPOIMKHLH = 0f,
EPIJGDAJDJN = PDCJEBJGFNF.contacts[0].normal,
JFCOFBFGGFL = PDCJEBJGFNF.gameObject,
CEGCFPKHDOE = num
};
this.DAGOEOKCJPM(OELGAHAMCLH, iheakaogcif);
if (enemy)
{
iheakaogcif.CEGCFPKHDOE = this.otherEnemyCollisionDamageCharge;
this.DAGOEOKCJPM(enemy, iheakaogcif);
}
}
}
}
// Token: 0x060040A0 RID: 16544 RVA: 0x00149330 File Offset: 0x00147530
protected void KMLPMENDBHA(Enemy OELGAHAMCLH, Collision PDCJEBJGFNF)
{
if (PDCJEBJGFNF.relativeVelocity.sqrMagnitude > this.minPhysicsDamageVelocity * this.minPhysicsDamageVelocity)
{
MHEBDODJGOA mhebdodjgoa;
Enemy enemy = PDCJEBJGFNF.AICMDAMIEBP(out mhebdodjgoa);
bool flag = true;
float num = 115f;
if (enemy != null)
{
flag = false;
num = this.enemyCollisionDamageCharge;
}
else
{
Vector3 normal = PDCJEBJGFNF.contacts[1].normal;
float num2 = Vector3.Angle(normal, Vector3.up);
if (num2 > this.maxFloorAngleDegrees)
{
flag = false;
num = this.environmentCollisionDamageCharge;
}
}
if (flag)
{
this.JJMBGHGOGBB(OELGAHAMCLH);
IHEAKAOGCIF iheakaogcif = new IHEAKAOGCIF
{
JIIJIFKCMFK = PDCJEBJGFNF.relativeVelocity,
PMEFMHLCPMF = Vector3.zero,
LLKJDBBNPKB = PDCJEBJGFNF.contacts[1].point,
ANLPOIMKHLH = 715f,
EPIJGDAJDJN = PDCJEBJGFNF.contacts[0].normal,
JFCOFBFGGFL = PDCJEBJGFNF.gameObject,
CEGCFPKHDOE = num
};
this.DAGOEOKCJPM(OELGAHAMCLH, iheakaogcif);
if (enemy)
{
iheakaogcif.CEGCFPKHDOE = this.otherEnemyCollisionDamageCharge;
this.DAGOEOKCJPM(enemy, iheakaogcif);
}
}
}
}
// Token: 0x060040A1 RID: 16545 RVA: 0x00149470 File Offset: 0x00147670
private void LCMGFDIMKLF()
{
if (this.OHOIKBMHPHH != null && this.CCJJDJGCGNI != null && this.OHOIKBMHPHH.HGPHPDOJDKB() <= (float)this.spreadTargets.Length * this.minBulletPercentageRequiredForParticles)
{
this.CCJJDJGCGNI.PBHLLEFBPFM();
this.CCJJDJGCGNI = null;
}
}
// Token: 0x060040A2 RID: 16546 RVA: 0x001494CC File Offset: 0x001476CC
private void KMMLBMMEGGH(Enemy OELGAHAMCLH)
{
if (!this.KCJLADPBHNK.Contains(OELGAHAMCLH))
{
OELGAHAMCLH.GKLMJHMAMMD += this.GACCLOOEPFO;
OELGAHAMCLH.OGNFDPMFHJF += this.LELMAMLNDKE;
this.KCJLADPBHNK.Add(OELGAHAMCLH);
}
}
// Token: 0x060040A3 RID: 16547 RVA: 0x0014951C File Offset: 0x0014771C
protected virtual void PIGLJBBBHIJ(Bullet KACMOFHHALK, Enemy OELGAHAMCLH, MHEBDODJGOA BLKHNALGIKL, IHEAKAOGCIF CACIBBKDNIH)
{
base.CHAOIOAAHON(KACMOFHHALK, OELGAHAMCLH, BLKHNALGIKL, CACIBBKDNIH);
if (CACIBBKDNIH.CEGCFPKHDOE > this.spreadShotInitialCharge)
{
MNNKGAIMCPN mnnkgaimcpn = this.OHOIKBMHPHH.BKGEBGBCJFJ(KACMOFHHALK);
if (mnnkgaimcpn != null)
{
mnnkgaimcpn.ADAAAJEHADH();
}
}
}
// Token: 0x060040A4 RID: 16548 RVA: 0x00149560 File Offset: 0x00147760
protected virtual void KMMLOFCGIMG()
{
base.JKFLOMBCKIL();
this.trigger.IKCAALIPIIO(new DelayedRangedWeaponTrigger.EMMGHJLLCFI(this.OGIAJKLLKFM));
}
// Token: 0x060040A5 RID: 16549 RVA: 0x00149580 File Offset: 0x00147780
protected virtual void OOCOLHOAIEL(Bullet KACMOFHHALK, Enemy OELGAHAMCLH, MHEBDODJGOA BLKHNALGIKL, IHEAKAOGCIF CACIBBKDNIH)
{
base.CHAOIOAAHON(KACMOFHHALK, OELGAHAMCLH, BLKHNALGIKL, CACIBBKDNIH);
if (CACIBBKDNIH.CEGCFPKHDOE > this.spreadShotInitialCharge)
{
MNNKGAIMCPN mnnkgaimcpn = this.OHOIKBMHPHH.FIMBGODJCGL(KACMOFHHALK);
if (mnnkgaimcpn != null)
{
mnnkgaimcpn.MIDOHBPFODK();
}
}
}
// Token: 0x060040A6 RID: 16550 RVA: 0x001495C4 File Offset: 0x001477C4
protected void FBOEIDIELGC(Enemy OELGAHAMCLH)
{
this.GDDAFPHAJCP(OELGAHAMCLH);
}
// Token: 0x060040A7 RID: 16551 RVA: 0x001495D0 File Offset: 0x001477D0
protected virtual void HFLIGEKIBOO()
{
base.OnDestroy();
this.trigger.AGJLCAJPNEI -= this.OGIAJKLLKFM;
}
// Token: 0x060040A8 RID: 16552 RVA: 0x001495F0 File Offset: 0x001477F0
protected virtual void LOCALHGOONI()
{
base.OnDestroy();
this.trigger.AGJLCAJPNEI -= this.MCKIJJLHCBI;
}
// Token: 0x060040A9 RID: 16553 RVA: 0x00149610 File Offset: 0x00147810
protected void PNFNJOELPLC(Enemy OELGAHAMCLH)
{
this.NEINCDGPHLJ(OELGAHAMCLH);
}
// Token: 0x060040AA RID: 16554 RVA: 0x0014961C File Offset: 0x0014781C
private void LateUpdate()
{
if (this.OHOIKBMHPHH != null && this.CCJJDJGCGNI != null && this.OHOIKBMHPHH.JHHLJHODADG <= (float)this.spreadTargets.Length * this.minBulletPercentageRequiredForParticles)
{
this.CCJJDJGCGNI.StopVelocity();
this.CCJJDJGCGNI = null;
}
}
// Token: 0x060040AB RID: 16555 RVA: 0x00149678 File Offset: 0x00147878
private void DMPDEMBKLGM(Enemy OELGAHAMCLH)
{
OELGAHAMCLH.GKLMJHMAMMD -= this.GACCLOOEPFO;
OELGAHAMCLH.OGNFDPMFHJF -= this.LELMAMLNDKE;
this.KCJLADPBHNK.Remove(OELGAHAMCLH);
}
// Token: 0x060040AC RID: 16556 RVA: 0x001496AC File Offset: 0x001478AC
protected virtual bool JMECHOJFFLC()
{
return false;
}
// Token: 0x060040AD RID: 16557 RVA: 0x001496B0 File Offset: 0x001478B0
protected virtual bool INNGEJHJGAE()
{
return true;
}
// Token: 0x060040AE RID: 16558 RVA: 0x001496B4 File Offset: 0x001478B4
private void JJMBGHGOGBB(Enemy OELGAHAMCLH)
{
OELGAHAMCLH.GKLMJHMAMMD -= this.CGNFFDKHJMM;
OELGAHAMCLH.OGNFDPMFHJF -= this.ANBMIJNLHFD;
this.KCJLADPBHNK.Remove(OELGAHAMCLH);
}
// Token: 0x060040AF RID: 16559 RVA: 0x001496E8 File Offset: 0x001478E8
private void JLPJMAJFBBE(DelayedRangedWeaponTrigger ICPIIANLDOL)
{
if (base.DGLKKANNBPD())
{
this.Fire(1617f);
}
}
// Token: 0x060040B0 RID: 16560 RVA: 0x00149700 File Offset: 0x00147900
protected virtual void KPHCKBPDHCP(Player HKJMAFLIJIJ, Enemy OELGAHAMCLH, MHEBDODJGOA BLKHNALGIKL, IHEAKAOGCIF CACIBBKDNIH)
{
if (CACIBBKDNIH.CEGCFPKHDOE > this.spreadShotInitialCharge)
{
if (OELGAHAMCLH.BKHECJODPHF.ECODDCJIOFA)
{
float magnitude = CACIBBKDNIH.PMEFMHLCPMF.magnitude;
CACIBBKDNIH.PMEFMHLCPMF = Vector3.ProjectOnPlane(CACIBBKDNIH.PMEFMHLCPMF, OELGAHAMCLH.BKHECJODPHF.EPIJGDAJDJN).normalized * magnitude;
}
if (base.DFJFKOLLEMK() && !this.KCJLADPBHNK.Contains(OELGAHAMCLH))
{
this.HBMBACBHDNO(OELGAHAMCLH);
}
}
float num = Mathf.Clamp01(CACIBBKDNIH.ANLPOIMKHLH / this.maxDistance);
CACIBBKDNIH.CEGCFPKHDOE *= this.damageFalloffCurve.Evaluate(num);
base.BBIIPGLDAHI(HKJMAFLIJIJ, OELGAHAMCLH, BLKHNALGIKL, CACIBBKDNIH);
}
// Token: 0x060040B1 RID: 16561 RVA: 0x001497C4 File Offset: 0x001479C4
private void DIFPFMKIAPA()
{
if (this.OHOIKBMHPHH != null && this.CCJJDJGCGNI != null && this.OHOIKBMHPHH.EPCGPFOPDIC() <= (float)this.spreadTargets.Length * this.minBulletPercentageRequiredForParticles)
{
this.CCJJDJGCGNI.PBHLLEFBPFM();
this.CCJJDJGCGNI = null;
}
}
// Token: 0x060040B2 RID: 16562 RVA: 0x00149820 File Offset: 0x00147A20
protected virtual void AHDNNOIDKDD(Vector3 CIGPHKLAAOD, Quaternion IJGPPOIJDKO, Vector3 IGOFELJMFOF, float FNNAAICLLFC, bool AOBDBDEHCJO)
{
if (AOBDBDEHCJO)
{
base.GGJKMDNJNEE.IOMHAMBPGGL();
}
else
{
base.FDHDHEJPEHC(CIGPHKLAAOD, IJGPPOIJDKO, IGOFELJMFOF, this.spreadShotInitialCharge, AOBDBDEHCJO);
base.BECFLDIAGCN(CIGPHKLAAOD, IJGPPOIJDKO, IGOFELJMFOF, this.centerShotInitialCharge, AOBDBDEHCJO);
if (this.shootParticlesPrefab != null)
{
this.CCJJDJGCGNI = ObjectPool.NCKMBFBMBFM.Acquire<WandProjectileParticles>(this.shootParticlesPrefab);
this.CCJJDJGCGNI.KLJCDABMGGI();
this.CCJJDJGCGNI.Play(this.barrelTransform);
}
}
}
// Token: 0x060040B3 RID: 16563 RVA: 0x001498AC File Offset: 0x00147AAC
protected void LELMAMLNDKE(Enemy OELGAHAMCLH)
{
this.DMPDEMBKLGM(OELGAHAMCLH);
}
// Token: 0x060040B4 RID: 16564 RVA: 0x001498B8 File Offset: 0x00147AB8
private void MAJMCPNFADO(DelayedRangedWeaponTrigger ICPIIANLDOL)
{
if (base.DFJFKOLLEMK())
{
this.Fire(396f);
}
}
// Token: 0x060040B5 RID: 16565 RVA: 0x001498D0 File Offset: 0x00147AD0
protected virtual void NFLKPDNOPJE(Vector3 CIGPHKLAAOD, Quaternion IJGPPOIJDKO, Vector3 IGOFELJMFOF, float FNNAAICLLFC, bool AOBDBDEHCJO)
{
if (AOBDBDEHCJO)
{
base.GGJKMDNJNEE.JBOFLNCFGLO();
}
else
{
base.NIAEDDHFCEB(CIGPHKLAAOD, IJGPPOIJDKO, IGOFELJMFOF, this.spreadShotInitialCharge, AOBDBDEHCJO);
base.LMIIHBOOCBD(CIGPHKLAAOD, IJGPPOIJDKO, IGOFELJMFOF, this.centerShotInitialCharge, AOBDBDEHCJO);
if (this.shootParticlesPrefab != null)
{
this.CCJJDJGCGNI = ObjectPool.NCKMBFBMBFM.Acquire<WandProjectileParticles>(this.shootParticlesPrefab);
this.CCJJDJGCGNI.GJBNJMHJKKG();
this.CCJJDJGCGNI.Play(this.barrelTransform);
}
}
}
// Token: 0x060040B6 RID: 16566 RVA: 0x0014995C File Offset: 0x00147B5C
public virtual void ANACPPHILFN(float MNBMCCJJELD)
{
if (base.IGIPCHFCFNN())
{
if (base.FLDILLCDEIB || base.HBEJNMIIMHO)
{
base.GGJKMDNJNEE.KLIMLDNBHGP();
}
else
{
Vector3 vector = this.barrelTransform.forward;
if (this.useHeadAimBias && Vector3.Angle(vector, base.BKDFLNGCINH.NAABPMOIADH().AJHHFNCFKNF().transform.forward) < this.maxHeadAimAngle)
{
Vector3 position = base.BKDFLNGCINH.NAABPMOIADH().AJHHFNCFKNF().EEILCHNGHJG()
.CIGPHKLAAOD;
Vector3 normalized = (this.barrelTransform.position - position).normalized;
vector = (vector + normalized).normalized;
}
this.spreadOffsetRoot.forward = vector;
this.Fire(vector * this.bulletFireSpeed, MNBMCCJJELD);
}
}
}
// Token: 0x04000805 RID: 2053
[ENMFCLPAKBJ(FOGKDGELKHN.Self, false)]
[SerializeField]
private DelayedRangedWeaponTrigger trigger;
// Token: 0x04000806 RID: 2054
[Header("Wand")]
[SerializeField]
private Transform spreadOffsetRoot;
// Token: 0x04000807 RID: 2055
[SerializeField]
private WandProjectileParticles shootParticlesPrefab;
// Token: 0x04000808 RID: 2056
[SerializeField]
private float minBulletPercentageRequiredForParticles = 0.25f;
// Token: 0x04000809 RID: 2057
[SerializeField]
[Header("Aiming")]
private bool useHeadAimBias;
// Token: 0x0400080A RID: 2058
[SerializeField]
private float maxHeadAimAngle = 75f;
// Token: 0x0400080B RID: 2059
[SerializeField]
[Header("Damage")]
[Range(0f, 1f)]
private float centerShotInitialCharge = 1f;
// Token: 0x0400080C RID: 2060
[SerializeField]
[Range(0f, 1f)]
private float spreadShotInitialCharge = 0.3f;
// Token: 0x0400080D RID: 2061
[SerializeField]
private AnimationCurve damageFalloffCurve = AnimationCurve.Linear(0f, 1f, 1f, 0f);
// Token: 0x0400080E RID: 2062
[SerializeField]
[Header("Physics Damage")]
private float minPhysicsDamageVelocity = 1f;
// Token: 0x0400080F RID: 2063
[SerializeField]
private float maxFloorAngleDegrees = 30f;
// Token: 0x04000810 RID: 2064
[SerializeField]
private float enemyCollisionDamageCharge = 1f;
// Token: 0x04000811 RID: 2065
[SerializeField]
private float otherEnemyCollisionDamageCharge = 1f;
// Token: 0x04000812 RID: 2066
[SerializeField]
private float environmentCollisionDamageCharge = 1f;
// Token: 0x04000813 RID: 2067
private readonly List<Enemy> KCJLADPBHNK = new List<Enemy>();
// Token: 0x04000814 RID: 2068
private WandProjectileParticles CCJJDJGCGNI;
}
}