m
This commit is contained in:
@@ -0,0 +1,365 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using Cpp2IlInjected;
|
||||
using RecRoom.Core.AI;
|
||||
using RecRoom.Core.Combat;
|
||||
using RecRoom.Core.Pools;
|
||||
using RecRoom.Tools.Weapons;
|
||||
using UnityEngine;
|
||||
|
||||
namespace RecRoom.Activities.Quest.Goblin2
|
||||
{
|
||||
// Token: 0x02002D2E RID: 11566
|
||||
[Token(Token = "0x2002D2E")]
|
||||
public class ForceWandWeapon : SpreadRangedWeapon
|
||||
{
|
||||
// Token: 0x0601372F RID: 79663 RVA: 0x0047C820 File Offset: 0x0047AA20
|
||||
[Token(Token = "0x601372F")]
|
||||
[Address(RVA = "0x1625F10", Offset = "0x1624F10", VA = "0x181625F10", Slot = "13")]
|
||||
protected override void Awake()
|
||||
{
|
||||
base.Awake();
|
||||
DelayedRangedWeaponTrigger delayedRangedWeaponTrigger = this.trigger;
|
||||
DelayedRangedWeaponTrigger.IOGLIBAPLLG ioglibapllg = new DelayedRangedWeaponTrigger.IOGLIBAPLLG(this.NDLIEIOPMNN);
|
||||
delayedRangedWeaponTrigger.JFPBBAHBCPN += ioglibapllg;
|
||||
}
|
||||
|
||||
// Token: 0x06013730 RID: 79664 RVA: 0x0047C854 File Offset: 0x0047AA54
|
||||
[Token(Token = "0x6013730")]
|
||||
[Address(RVA = "0x16270B0", Offset = "0x16260B0", VA = "0x1816270B0", Slot = "14")]
|
||||
protected override void OnDestroy()
|
||||
{
|
||||
base.OnDestroy();
|
||||
DelayedRangedWeaponTrigger delayedRangedWeaponTrigger = this.trigger;
|
||||
DelayedRangedWeaponTrigger.IOGLIBAPLLG ioglibapllg = new DelayedRangedWeaponTrigger.IOGLIBAPLLG(this.NDLIEIOPMNN);
|
||||
delayedRangedWeaponTrigger.JFPBBAHBCPN -= ioglibapllg;
|
||||
}
|
||||
|
||||
// Token: 0x06013731 RID: 79665 RVA: 0x0047C888 File Offset: 0x0047AA88
|
||||
[Token(Token = "0x6013731")]
|
||||
[Address(RVA = "0x16268A0", Offset = "0x16258A0", VA = "0x1816268A0")]
|
||||
private void LateUpdate()
|
||||
{
|
||||
WandProjectileParticles jobcknkockm = this.JOBCKNKOCKM;
|
||||
int num = 0;
|
||||
if (jobcknkockm != num)
|
||||
{
|
||||
float num2 = this.HLMEEKJIEEL.DDKECNEDAEK;
|
||||
SpreadRangedWeapon.SpreadTarget[] spreadTargets = this.spreadTargets;
|
||||
this.JOBCKNKOCKM.StopVelocity();
|
||||
this.JOBCKNKOCKM = (ulong)0L;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06013732 RID: 79666 RVA: 0x0047C8D8 File Offset: 0x0047AAD8
|
||||
[Token(Token = "0x6013732")]
|
||||
[Address(RVA = "0x12410D0", Offset = "0x12400D0", VA = "0x1812410D0")]
|
||||
private void NDLIEIOPMNN(DelayedRangedWeaponTrigger OOONNFPBMKC)
|
||||
{
|
||||
if (base.OGIBLNIIHDK)
|
||||
{
|
||||
Color color = base.EPDNPLLEPOH;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06013733 RID: 79667 RVA: 0x0047C8F8 File Offset: 0x0047AAF8
|
||||
[Token(Token = "0x6013733")]
|
||||
[Address(RVA = "0x1626420", Offset = "0x1625420", VA = "0x181626420", Slot = "40")]
|
||||
public override void Fire(float JHJCINDODIL)
|
||||
{
|
||||
if (base.OGIBLNIIHDK)
|
||||
{
|
||||
if (base.MJDHKAHMGMO || base.LAJLNCJKALH)
|
||||
{
|
||||
throw new NullReferenceException();
|
||||
}
|
||||
Transform barrelTransform = this.barrelTransform;
|
||||
if (this.useHeadAimBias)
|
||||
{
|
||||
Tool tool = this._tool;
|
||||
if (tool.<BIPMAHKMNKF>k__BackingField)
|
||||
{
|
||||
Transform transform = tool.<OKDFEPHLKCB>k__BackingField.head.transform;
|
||||
float num;
|
||||
if (this.maxHeadAimAngle > num)
|
||||
{
|
||||
RigidbodyEx rigidbodyEx = this._tool.<OKDFEPHLKCB>k__BackingField.head.rigidbodyEx;
|
||||
Transform barrelTransform2 = this.barrelTransform;
|
||||
}
|
||||
}
|
||||
}
|
||||
Transform transform2 = this.spreadOffsetRoot;
|
||||
this.Fire(JHJCINDODIL);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06013734 RID: 79668 RVA: 0x0047C994 File Offset: 0x0047AB94
|
||||
[Token(Token = "0x6013734")]
|
||||
[Address(RVA = "0x1626370", Offset = "0x1625370", VA = "0x181626370", Slot = "47")]
|
||||
protected override void EIEJLOGPMGM(Bullet NLLMMPLAPBK, Enemy BPJNEFJBBML, ANBBFGKPJFD EMPFLFOEDFD, GHMDIDJLFMC KNLMJBAKCGF)
|
||||
{
|
||||
AAEGKOIININ aaegkoiinin = this.HLMEEKJIEEL.OBKMOLNOBHD(NLLMMPLAPBK);
|
||||
if (aaegkoiinin != 0)
|
||||
{
|
||||
aaegkoiinin.MCHIEHNFNLF();
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06013735 RID: 79669 RVA: 0x0047C9C0 File Offset: 0x0047ABC0
|
||||
[Token(Token = "0x6013735")]
|
||||
[Address(RVA = "0x1625FA0", Offset = "0x1624FA0", VA = "0x181625FA0", Slot = "25")]
|
||||
protected override bool DHODJKLNHPA(Enemy BPJNEFJBBML, ANBBFGKPJFD EMPFLFOEDFD, GHMDIDJLFMC KNLMJBAKCGF)
|
||||
{
|
||||
if (KNLMJBAKCGF.FEDGOFKEGEF.z > this.spreadShotInitialCharge)
|
||||
{
|
||||
if (BPJNEFJBBML.steering.<FEJCOJLMGPC>k__BackingField)
|
||||
{
|
||||
Steering steering = BPJNEFJBBML.steering;
|
||||
Vector3 vector;
|
||||
float z = vector.z;
|
||||
KNLMJBAKCGF.NKKJICPFILJ.z = z;
|
||||
}
|
||||
if (base.OGIBLNIIHDK && !this.GOOBODNNOKN.Contains(BPJNEFJBBML) && !this.GOOBODNNOKN.Contains(BPJNEFJBBML))
|
||||
{
|
||||
Enemy.FIEKLJKDFIP fiekljkdfip = new Enemy.FIEKLJKDFIP(this.OIHFBPGMEME);
|
||||
BPJNEFJBBML.NCMJJBMBDHK += fiekljkdfip;
|
||||
Enemy.FJNNOHNMINM fjnnohnminm = new Enemy.FJNNOHNMINM(this.JIFMOEKGGNG);
|
||||
BPJNEFJBBML.EJPGEKHJECG += fjnnohnminm;
|
||||
this.GOOBODNNOKN.Add(BPJNEFJBBML);
|
||||
}
|
||||
}
|
||||
float z2 = KNLMJBAKCGF.FEDGOFKEGEF.z;
|
||||
float num = KNLMJBAKCGF.EGJBGIIHEEL.z;
|
||||
float num2 = Mathf.Clamp01(z2);
|
||||
AnimationCurve animationCurve = this.damageFalloffCurve;
|
||||
num = num2;
|
||||
float num3 = animationCurve.Evaluate(num);
|
||||
KNLMJBAKCGF.OHPBNIDKAEK = num3;
|
||||
bool flag;
|
||||
return flag;
|
||||
}
|
||||
|
||||
// Token: 0x06013736 RID: 79670 RVA: 0x0047CAB8 File Offset: 0x0047ACB8
|
||||
[Token(Token = "0x6013736")]
|
||||
[Address(RVA = "0x1626890", Offset = "0x1625890", VA = "0x181626890")]
|
||||
protected void JIFMOEKGGNG(Enemy BPJNEFJBBML)
|
||||
{
|
||||
this.HFMECCNDOOE(BPJNEFJBBML);
|
||||
}
|
||||
|
||||
// Token: 0x06013737 RID: 79671 RVA: 0x0047CACC File Offset: 0x0047ACCC
|
||||
[Token(Token = "0x6013737")]
|
||||
[Address(RVA = "0x1626C70", Offset = "0x1625C70", VA = "0x181626C70")]
|
||||
protected void OIHFBPGMEME(Enemy BPJNEFJBBML, Collision GBJHLKOJGPB)
|
||||
{
|
||||
int num = 0;
|
||||
Vector3 vector;
|
||||
float z = vector.z;
|
||||
float num2 = this.minPhysicsDamageVelocity;
|
||||
float num3;
|
||||
if (num3 > num2)
|
||||
{
|
||||
Enemy enemy = GBJHLKOJGPB.PABDAFCMNCK(num);
|
||||
int num4 = 0;
|
||||
if (!(enemy != num4))
|
||||
{
|
||||
ContactPoint[] contacts = GBJHLKOJGPB.contacts;
|
||||
Vector3 up = Vector3.up;
|
||||
float num5;
|
||||
if (num5 <= this.maxFloorAngleDegrees)
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
this.HFMECCNDOOE(BPJNEFJBBML);
|
||||
Vector3 vector2;
|
||||
float z2 = vector2.z;
|
||||
float z3 = Vector3.zero.z;
|
||||
ContactPoint[] contacts2 = GBJHLKOJGPB.contacts;
|
||||
ContactPoint[] contacts3 = GBJHLKOJGPB.contacts;
|
||||
GameObject gameObject = GBJHLKOJGPB.gameObject;
|
||||
if (enemy)
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06013738 RID: 79672 RVA: 0x0047CB6C File Offset: 0x0047AD6C
|
||||
[Token(Token = "0x6013738")]
|
||||
[Address(RVA = "0x1626970", Offset = "0x1625970", VA = "0x181626970")]
|
||||
private void MELDMLAJELJ(Enemy BPJNEFJBBML)
|
||||
{
|
||||
if (!this.GOOBODNNOKN.Contains(BPJNEFJBBML))
|
||||
{
|
||||
Enemy.FIEKLJKDFIP fiekljkdfip = new Enemy.FIEKLJKDFIP(this.OIHFBPGMEME);
|
||||
BPJNEFJBBML.NCMJJBMBDHK += fiekljkdfip;
|
||||
Enemy.FJNNOHNMINM fjnnohnminm = new Enemy.FJNNOHNMINM(this.JIFMOEKGGNG);
|
||||
BPJNEFJBBML.EJPGEKHJECG += fjnnohnminm;
|
||||
this.GOOBODNNOKN.Add(BPJNEFJBBML);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x06013739 RID: 79673 RVA: 0x0047CBC4 File Offset: 0x0047ADC4
|
||||
[Token(Token = "0x6013739")]
|
||||
[Address(RVA = "0x16267C0", Offset = "0x16257C0", VA = "0x1816267C0")]
|
||||
private void HFMECCNDOOE(Enemy BPJNEFJBBML)
|
||||
{
|
||||
Enemy.FIEKLJKDFIP fiekljkdfip = new Enemy.FIEKLJKDFIP(this.OIHFBPGMEME);
|
||||
BPJNEFJBBML.NCMJJBMBDHK -= fiekljkdfip;
|
||||
Enemy.FJNNOHNMINM fjnnohnminm = new Enemy.FJNNOHNMINM(this.JIFMOEKGGNG);
|
||||
BPJNEFJBBML.EJPGEKHJECG -= fjnnohnminm;
|
||||
bool flag = this.GOOBODNNOKN.Remove(BPJNEFJBBML);
|
||||
}
|
||||
|
||||
// Token: 0x0601373A RID: 79674 RVA: 0x0047CC0C File Offset: 0x0047AE0C
|
||||
[Token(Token = "0x601373A")]
|
||||
[Address(RVA = "0x1626A70", Offset = "0x1625A70", VA = "0x181626A70", Slot = "42")]
|
||||
protected override void OICJPFPBIIK(Vector3 DDHPAFKBMON, Quaternion IGPENJBJADK, Vector3 NHAOMEMANJA, float LFDFFDCJAAD, bool FLKHKHDBIOH, byte LNPHJIHHNPN)
|
||||
{
|
||||
float z = NHAOMEMANJA.z;
|
||||
float z2 = DDHPAFKBMON.z;
|
||||
float num = this.spreadShotInitialCharge;
|
||||
float z3 = NHAOMEMANJA.z;
|
||||
float z4 = DDHPAFKBMON.z;
|
||||
float num2 = this.centerShotInitialCharge;
|
||||
WandProjectileParticles wandProjectileParticles = this.shootParticlesPrefab;
|
||||
int num3 = 0;
|
||||
if (wandProjectileParticles != num3)
|
||||
{
|
||||
GlobalPool instance = GlobalPool.ONCPNMDGGKG;
|
||||
WandProjectileParticles wandProjectileParticles2 = this.shootParticlesPrefab;
|
||||
WandProjectileParticles wandProjectileParticles3 = instance.Acquire<WandProjectileParticles>(wandProjectileParticles2);
|
||||
this.JOBCKNKOCKM = wandProjectileParticles3;
|
||||
wandProjectileParticles3.ResetVelocity();
|
||||
WandProjectileParticles jobcknkockm = this.JOBCKNKOCKM;
|
||||
Transform barrelTransform = this.barrelTransform;
|
||||
jobcknkockm.Play(barrelTransform);
|
||||
}
|
||||
}
|
||||
|
||||
// Token: 0x0601373B RID: 79675 RVA: 0x0047CCB4 File Offset: 0x0047AEB4
|
||||
[Token(Token = "0x601373B")]
|
||||
[Address(RVA = "0x1627140", Offset = "0x1626140", VA = "0x181627140")]
|
||||
public ForceWandWeapon()
|
||||
{
|
||||
int num = 0;
|
||||
this.minBulletPercentageRequiredForParticles = 0.25f;
|
||||
int num2 = 0;
|
||||
this.maxHeadAimAngle = 75f;
|
||||
this.centerShotInitialCharge = 1f;
|
||||
this.spreadShotInitialCharge = 0.3f;
|
||||
AnimationCurve animationCurve = AnimationCurve.Linear((float)num2, 1f, 1f, (float)num);
|
||||
this.damageFalloffCurve = animationCurve;
|
||||
this.minPhysicsDamageVelocity = 1f;
|
||||
this.maxFloorAngleDegrees = 30f;
|
||||
this.enemyCollisionDamageCharge = 1f;
|
||||
this.otherEnemyCollisionDamageCharge = 1f;
|
||||
this.environmentCollisionDamageCharge = 1f;
|
||||
List<Enemy> list = new List();
|
||||
this.GOOBODNNOKN = list;
|
||||
base..ctor();
|
||||
}
|
||||
|
||||
// Token: 0x0400C9C1 RID: 51649
|
||||
[FieldOffset(Offset = "0x318")]
|
||||
[Token(Token = "0x400C9C1")]
|
||||
[SerializeField]
|
||||
[NKNLDEIPALE(FHBJCBPFODN.Self, false, false, false)]
|
||||
private DelayedRangedWeaponTrigger trigger;
|
||||
|
||||
// Token: 0x0400C9C2 RID: 51650
|
||||
[FieldOffset(Offset = "0x320")]
|
||||
[Token(Token = "0x400C9C2")]
|
||||
[SerializeField]
|
||||
[Header("Wand")]
|
||||
private Transform spreadOffsetRoot;
|
||||
|
||||
// Token: 0x0400C9C3 RID: 51651
|
||||
[FieldOffset(Offset = "0x328")]
|
||||
[Token(Token = "0x400C9C3")]
|
||||
[SerializeField]
|
||||
private WandProjectileParticles shootParticlesPrefab;
|
||||
|
||||
// Token: 0x0400C9C4 RID: 51652
|
||||
[FieldOffset(Offset = "0x330")]
|
||||
[Token(Token = "0x400C9C4")]
|
||||
[SerializeField]
|
||||
private float minBulletPercentageRequiredForParticles;
|
||||
|
||||
// Token: 0x0400C9C5 RID: 51653
|
||||
[FieldOffset(Offset = "0x334")]
|
||||
[Token(Token = "0x400C9C5")]
|
||||
[SerializeField]
|
||||
[Header("Aiming")]
|
||||
private bool useHeadAimBias;
|
||||
|
||||
// Token: 0x0400C9C6 RID: 51654
|
||||
[FieldOffset(Offset = "0x338")]
|
||||
[Token(Token = "0x400C9C6")]
|
||||
[SerializeField]
|
||||
private float maxHeadAimAngle;
|
||||
|
||||
// Token: 0x0400C9C7 RID: 51655
|
||||
[FieldOffset(Offset = "0x33C")]
|
||||
[Token(Token = "0x400C9C7")]
|
||||
[SerializeField]
|
||||
[Header("Damage")]
|
||||
[Range(0f, 1f)]
|
||||
private float centerShotInitialCharge;
|
||||
|
||||
// Token: 0x0400C9C8 RID: 51656
|
||||
[FieldOffset(Offset = "0x340")]
|
||||
[Token(Token = "0x400C9C8")]
|
||||
[SerializeField]
|
||||
[Range(0f, 1f)]
|
||||
private float spreadShotInitialCharge;
|
||||
|
||||
// Token: 0x0400C9C9 RID: 51657
|
||||
[FieldOffset(Offset = "0x348")]
|
||||
[Token(Token = "0x400C9C9")]
|
||||
[SerializeField]
|
||||
private AnimationCurve damageFalloffCurve;
|
||||
|
||||
// Token: 0x0400C9CA RID: 51658
|
||||
[FieldOffset(Offset = "0x350")]
|
||||
[Token(Token = "0x400C9CA")]
|
||||
[SerializeField]
|
||||
[Header("Physics Damage")]
|
||||
private float minPhysicsDamageVelocity;
|
||||
|
||||
// Token: 0x0400C9CB RID: 51659
|
||||
[FieldOffset(Offset = "0x354")]
|
||||
[Token(Token = "0x400C9CB")]
|
||||
[SerializeField]
|
||||
private float maxFloorAngleDegrees;
|
||||
|
||||
// Token: 0x0400C9CC RID: 51660
|
||||
[FieldOffset(Offset = "0x358")]
|
||||
[Token(Token = "0x400C9CC")]
|
||||
[SerializeField]
|
||||
private float enemyCollisionDamageCharge;
|
||||
|
||||
// Token: 0x0400C9CD RID: 51661
|
||||
[FieldOffset(Offset = "0x35C")]
|
||||
[Token(Token = "0x400C9CD")]
|
||||
[SerializeField]
|
||||
private float otherEnemyCollisionDamageCharge;
|
||||
|
||||
// Token: 0x0400C9CE RID: 51662
|
||||
[FieldOffset(Offset = "0x360")]
|
||||
[Token(Token = "0x400C9CE")]
|
||||
[SerializeField]
|
||||
private float environmentCollisionDamageCharge;
|
||||
|
||||
// Token: 0x0400C9CF RID: 51663
|
||||
[FieldOffset(Offset = "0x368")]
|
||||
[Token(Token = "0x400C9CF")]
|
||||
private readonly List<Enemy> GOOBODNNOKN;
|
||||
|
||||
// Token: 0x0400C9D0 RID: 51664
|
||||
[FieldOffset(Offset = "0x370")]
|
||||
[Token(Token = "0x400C9D0")]
|
||||
private WandProjectileParticles JOBCKNKOCKM;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user