302 lines
11 KiB
C#
302 lines
11 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using Cpp2IlInjected;
|
|
using Photon.Pun;
|
|
using RecRoom.Core.AI;
|
|
using UnityEngine;
|
|
|
|
namespace RecRoom.Core.Encounters
|
|
{
|
|
// Token: 0x020030A8 RID: 12456
|
|
[Token(Token = "0x20030A8")]
|
|
public abstract class BaseSpawnEnemyEncounterStep : GameEncounterStep
|
|
{
|
|
// Token: 0x0601518B RID: 86411 RVA: 0x004EA89C File Offset: 0x004E8A9C
|
|
[Token(Token = "0x601518B")]
|
|
[Address(RVA = "0x1393B20", Offset = "0x1392B20", VA = "0x181393B20", Slot = "5")]
|
|
public override void OnAwake(GameEncounter ADDBMBCNBKJ, int PNNLJIGIFDL, MACMLJJGBIM GPPMEPEBADM, MACMLJJGBIM POLMFGOLNLC)
|
|
{
|
|
this.POLMFGOLNLC = 0;
|
|
this.ADDBMBCNBKJ = ADDBMBCNBKJ;
|
|
this.PNNLJIGIFDL = PNNLJIGIFDL;
|
|
this.GPPMEPEBADM = GPPMEPEBADM;
|
|
MFBGLIHGCGO<Enemy> enemyInstantiatedEvent = Enemy.EnemyInstantiatedEvent;
|
|
Action<Enemy> action = new Action(this.NDPNGCIFFOJ);
|
|
Enemy.EnemyInstantiatedEvent = MFBGLIHGCGO.BPJDFPACLMK(enemyInstantiatedEvent, action);
|
|
IILCGFIHJLP<Enemy, ENDNBHFKNFL> enemyDeathEvent = Enemy.EnemyDeathEvent;
|
|
Action<Enemy, ENDNBHFKNFL> action2 = new Action(this.LCFGLKPPOFI);
|
|
Enemy.EnemyDeathEvent = IILCGFIHJLP.BPJDFPACLMK(enemyDeathEvent, action2);
|
|
Dictionary<string, object> fmppfapaeoe = this.FMPPFAPAEOE;
|
|
int num = 0;
|
|
if (ADDBMBCNBKJ != num)
|
|
{
|
|
PhotonView photonView = ADDBMBCNBKJ.JDHMIOJKLCK;
|
|
}
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x0601518C RID: 86412 RVA: 0x004EA954 File Offset: 0x004E8B54
|
|
[Token(Token = "0x601518C")]
|
|
[Address(RVA = "0x1393DE0", Offset = "0x1392DE0", VA = "0x181393DE0", Slot = "6")]
|
|
public override void OnCleanup()
|
|
{
|
|
MFBGLIHGCGO<Enemy> enemyInstantiatedEvent = Enemy.EnemyInstantiatedEvent;
|
|
Action<Enemy> action = new Action(this.NDPNGCIFFOJ);
|
|
Enemy.EnemyInstantiatedEvent = MFBGLIHGCGO.GMNMHGMFGOL(enemyInstantiatedEvent, action);
|
|
IILCGFIHJLP<Enemy, ENDNBHFKNFL> enemyDeathEvent = Enemy.EnemyDeathEvent;
|
|
Action<Enemy, ENDNBHFKNFL> action2 = new Action(this.LCFGLKPPOFI);
|
|
Enemy.EnemyDeathEvent = IILCGFIHJLP.GMNMHGMFGOL(enemyDeathEvent, action2);
|
|
}
|
|
|
|
// Token: 0x0601518D RID: 86413 RVA: 0x0000220F File Offset: 0x0000040F
|
|
[Token(Token = "0x601518D")]
|
|
[Address(RVA = "0x4242D0", Offset = "0x4232D0", VA = "0x1804242D0", Slot = "9")]
|
|
public override void OnEncounterStart()
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x0601518E RID: 86414 RVA: 0x004EA9A0 File Offset: 0x004E8BA0
|
|
[Token(Token = "0x601518E")]
|
|
[Address(RVA = "0x1393F00", Offset = "0x1392F00", VA = "0x181393F00", Slot = "10")]
|
|
public override void OnEncounterStop()
|
|
{
|
|
this.MasterKillAllLivingEnemies();
|
|
}
|
|
|
|
// Token: 0x0601518F RID: 86415 RVA: 0x004EA9B4 File Offset: 0x004E8BB4
|
|
[Token(Token = "0x601518F")]
|
|
[Address(RVA = "0x1392F20", Offset = "0x1391F20", VA = "0x181392F20", Slot = "17")]
|
|
protected virtual Enemy IECCPICKICL(EncounterEnemyDescriptor PDDLCLCJLDK, bool CABEJDLDICN, out bool MKNPGPFEMFM)
|
|
{
|
|
int num = 0;
|
|
MKNPGPFEMFM.m_value = num != 0;
|
|
if (KKPBCOOONNK.BNNCCCFFALC && PDDLCLCJLDK.EnemyType != JIEHOGDIGPG.INVALID)
|
|
{
|
|
Enemy enemy = this.IECCPICKICL(PDDLCLCJLDK, num != 0, out MKNPGPFEMFM);
|
|
bool flag = enemy == 0;
|
|
MKNPGPFEMFM.m_value = flag;
|
|
if (enemy != 0)
|
|
{
|
|
EnemyPatrol <CNNIBLAALOF>k__BackingField = this.ADDBMBCNBKJ.<CNNIBLAALOF>k__BackingField;
|
|
int num2 = 0;
|
|
if (!(<CNNIBLAALOF>k__BackingField != num2))
|
|
{
|
|
}
|
|
EnemyPatrol <CNNIBLAALOF>k__BackingField2 = this.ADDBMBCNBKJ.<CNNIBLAALOF>k__BackingField;
|
|
GameEncounter addbmbcnbkj = this.ADDBMBCNBKJ;
|
|
JIEHOGDIGPG enemyType = PDDLCLCJLDK.EnemyType;
|
|
CGLKOJIMDIH <GFJMMJBJGMO>k__BackingField = addbmbcnbkj.<GFJMMJBJGMO>k__BackingField;
|
|
PhotonView photonView = addbmbcnbkj.JDHMIOJKLCK;
|
|
Dictionary<string, object> fmppfapaeoe = this.FMPPFAPAEOE;
|
|
int viewIdField = photonView.viewIdField;
|
|
int num3 = 0;
|
|
Enemy enemy2;
|
|
if (enemy2 == num3)
|
|
{
|
|
JIEHOGDIGPG jiehogdigpg;
|
|
string text = "Enemy of type " + jiehogdigpg + " failed to instantiate.";
|
|
}
|
|
}
|
|
}
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x06015190 RID: 86416 RVA: 0x004EAA8C File Offset: 0x004E8C8C
|
|
[Token(Token = "0x6015190")]
|
|
[Address(RVA = "0x13932B0", Offset = "0x13922B0", VA = "0x1813932B0", Slot = "18")]
|
|
protected virtual bool KHODDIADAEL(EncounterEnemyDescriptor PDDLCLCJLDK, out Vector3 JJGDNPNBINJ, out Quaternion MEJCMIKAJCD)
|
|
{
|
|
float z = Vector3.zero.z;
|
|
JJGDNPNBINJ.z = z;
|
|
Quaternion identity = Quaternion.identity;
|
|
Transform explicitSpawnPoint = PDDLCLCJLDK.ExplicitSpawnPoint;
|
|
int num = 0;
|
|
if (!(explicitSpawnPoint != num))
|
|
{
|
|
EnemySpawnNavMeshRegion[] array = this.spawnRegions;
|
|
int length = array.Length;
|
|
if (length != 0)
|
|
{
|
|
EnemySpawnNavMeshRegion enemySpawnNavMeshRegion = array[length];
|
|
int num2 = 0;
|
|
if (!(enemySpawnNavMeshRegion == num2) && enemySpawnNavMeshRegion.TryGetSpawnPositionAndRotation(out JJGDNPNBINJ, out MEJCMIKAJCD))
|
|
{
|
|
int enemyType = (int)PDDLCLCJLDK.EnemyType;
|
|
EOBBJADIFAI eobbjadifai;
|
|
if (eobbjadifai != EOBBJADIFAI.FLYING)
|
|
{
|
|
goto IL_EB;
|
|
}
|
|
int num3 = 0;
|
|
Vector3 up = Vector3.up;
|
|
int num4 = 0;
|
|
float num5 = PFEIDJDACLO.CGIJGEMAGNC();
|
|
Vector3 vector = num4 * (float)num3;
|
|
float z2 = (num4 + num3).z;
|
|
JJGDNPNBINJ.z = z2;
|
|
}
|
|
}
|
|
}
|
|
Transform explicitSpawnPoint2 = PDDLCLCJLDK.ExplicitSpawnPoint;
|
|
float z3 = explicitSpawnPoint.position.z;
|
|
JJGDNPNBINJ.z = z3;
|
|
Transform explicitSpawnPoint3 = PDDLCLCJLDK.ExplicitSpawnPoint;
|
|
Vector3 up2 = Vector3.up;
|
|
Vector3 up3 = Vector3.up;
|
|
IL_EB:
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x06015191 RID: 86417 RVA: 0x004EAB8C File Offset: 0x004E8D8C
|
|
[Token(Token = "0x6015191")]
|
|
[Address(RVA = "0x1393250", Offset = "0x1392250", VA = "0x181393250", Slot = "19")]
|
|
protected virtual void JLEFLDGGDMC(Vector3 JJGDNPNBINJ, Quaternion MEJCMIKAJCD, out Vector3 PIJJKOAJIEE, out Quaternion IIBIPBOPBBB)
|
|
{
|
|
EnemySpawnerConfiguration enemySpawnerConfiguration = this.spawnerConfiguration;
|
|
float z = JJGDNPNBINJ.z;
|
|
}
|
|
|
|
// Token: 0x06015192 RID: 86418 RVA: 0x004EABB0 File Offset: 0x004E8DB0
|
|
[Token(Token = "0x6015192")]
|
|
[Address(RVA = "0x1393960", Offset = "0x1392960", VA = "0x181393960")]
|
|
private void NDPNGCIFFOJ(Enemy BPJNEFJBBML)
|
|
{
|
|
if (this.OCIKMLKODCP(BPJNEFJBBML))
|
|
{
|
|
this.EILIFMJGCBB.Add(BPJNEFJBBML);
|
|
}
|
|
}
|
|
|
|
// Token: 0x06015193 RID: 86419 RVA: 0x004EABDC File Offset: 0x004E8DDC
|
|
[Token(Token = "0x6015193")]
|
|
[Address(RVA = "0x13936A0", Offset = "0x13926A0", VA = "0x1813936A0")]
|
|
private void LCFGLKPPOFI(Enemy BPJNEFJBBML, ENDNBHFKNFL LJGOHLFADDN)
|
|
{
|
|
if (this.OCIKMLKODCP(BPJNEFJBBML))
|
|
{
|
|
bool flag = this.EILIFMJGCBB.Remove(BPJNEFJBBML);
|
|
}
|
|
}
|
|
|
|
// Token: 0x06015194 RID: 86420 RVA: 0x004EAC08 File Offset: 0x004E8E08
|
|
[Token(Token = "0x6015194")]
|
|
[Address(RVA = "0x13939D0", Offset = "0x13929D0", VA = "0x1813939D0")]
|
|
private bool OCIKMLKODCP(Enemy BPJNEFJBBML)
|
|
{
|
|
GameEncounter addbmbcnbkj = this.ADDBMBCNBKJ;
|
|
int <HIKGLIJCOHC>k__BackingField = BPJNEFJBBML.<HIKGLIJCOHC>k__BackingField;
|
|
PhotonView photonView = addbmbcnbkj.JDHMIOJKLCK;
|
|
bool flag;
|
|
if (<HIKGLIJCOHC>k__BackingField == photonView.viewIdField && BPJNEFJBBML.<HONMKCBCBIM>k__BackingField != 0 && flag)
|
|
{
|
|
int pnnljigifdl = this.PNNLJIGIFDL;
|
|
return true;
|
|
}
|
|
throw new NullReferenceException();
|
|
}
|
|
|
|
// Token: 0x06015195 RID: 86421 RVA: 0x004EAC54 File Offset: 0x004E8E54
|
|
[Token(Token = "0x6015195")]
|
|
[Address(RVA = "0x1393710", Offset = "0x1392710", VA = "0x181393710")]
|
|
public void MasterKillAllLivingEnemies()
|
|
{
|
|
if (KKPBCOOONNK.BNNCCCFFALC)
|
|
{
|
|
BaseSpawnEnemyEncounterStep.GHBEPPFECBA.Clear();
|
|
List<Enemy> ghbeppfecba = BaseSpawnEnemyEncounterStep.GHBEPPFECBA;
|
|
List<Enemy> eilifmjgcbb = this.EILIFMJGCBB;
|
|
ghbeppfecba.AddRange(eilifmjgcbb);
|
|
this.EILIFMJGCBB.Clear();
|
|
int num = 0;
|
|
List<Enemy> ghbeppfecba2 = BaseSpawnEnemyEncounterStep.GHBEPPFECBA;
|
|
if (!this.ADDBMBCNBKJ.<LOKHDINNFCN>k__BackingField)
|
|
{
|
|
List<Enemy> ghbeppfecba3 = BaseSpawnEnemyEncounterStep.GHBEPPFECBA;
|
|
num++;
|
|
}
|
|
List<Enemy> ghbeppfecba4 = BaseSpawnEnemyEncounterStep.GHBEPPFECBA;
|
|
num++;
|
|
}
|
|
}
|
|
|
|
// Token: 0x06015196 RID: 86422 RVA: 0x0000220F File Offset: 0x0000040F
|
|
[Token(Token = "0x6015196")]
|
|
[Address(RVA = "0x1392E60", Offset = "0x1391E60", VA = "0x181392E60")]
|
|
protected int BOIKGOELJPC()
|
|
{
|
|
throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
|
|
}
|
|
|
|
// Token: 0x06015197 RID: 86423 RVA: 0x004EACC8 File Offset: 0x004E8EC8
|
|
[Token(Token = "0x6015197")]
|
|
[Address(RVA = "0x1393FC0", Offset = "0x1392FC0", VA = "0x181393FC0")]
|
|
protected BaseSpawnEnemyEncounterStep()
|
|
{
|
|
EnemySpawnNavMeshRegion[] array = new EnemySpawnNavMeshRegion[1];
|
|
this.spawnRegions = array;
|
|
List<Enemy> list = new List();
|
|
this.EILIFMJGCBB = list;
|
|
Dictionary<string, object> dictionary = new Dictionary();
|
|
this.FMPPFAPAEOE = dictionary;
|
|
this.stepName = "New Step";
|
|
this.PNNLJIGIFDL = (int)((ulong)4294967295L);
|
|
base..ctor();
|
|
}
|
|
|
|
// Token: 0x0400DEA8 RID: 57000
|
|
[FieldOffset(Offset = "0x48")]
|
|
[Token(Token = "0x400DEA8")]
|
|
[SerializeField]
|
|
[Header("Spawn Configuration")]
|
|
public EnemySpawnerConfiguration spawnerConfiguration;
|
|
|
|
// Token: 0x0400DEA9 RID: 57001
|
|
[FieldOffset(Offset = "0x50")]
|
|
[Token(Token = "0x400DEA9")]
|
|
[SerializeField]
|
|
[Header("Patrol")]
|
|
public bool spawnOnPatrol = true;
|
|
|
|
// Token: 0x0400DEAA RID: 57002
|
|
[FieldOffset(Offset = "0x58")]
|
|
[Token(Token = "0x400DEAA")]
|
|
[SerializeField]
|
|
[Header("Spawn Regions")]
|
|
public EnemySpawnNavMeshRegion[] spawnRegions;
|
|
|
|
// Token: 0x0400DEAB RID: 57003
|
|
[FieldOffset(Offset = "0x60")]
|
|
[Token(Token = "0x400DEAB")]
|
|
[SerializeField]
|
|
[Header("Rewards")]
|
|
public bool suppressRewards;
|
|
|
|
// Token: 0x0400DEAC RID: 57004
|
|
[Token(Token = "0x400DEAC")]
|
|
public static readonly string ENCOUNTER_ID_KEY = "ENC_ID";
|
|
|
|
// Token: 0x0400DEAD RID: 57005
|
|
[Token(Token = "0x400DEAD")]
|
|
public static readonly string ENCOUNTER_STEP_ID_KEY = "ENC_STEP_ID";
|
|
|
|
// Token: 0x0400DEAE RID: 57006
|
|
[Token(Token = "0x400DEAE")]
|
|
public static readonly string ENCOUNTER_SUPPRESS_REWARDS_KEY = "ENC_SR";
|
|
|
|
// Token: 0x0400DEAF RID: 57007
|
|
[Token(Token = "0x400DEAF")]
|
|
private static List<Enemy> GHBEPPFECBA = new List();
|
|
|
|
// Token: 0x0400DEB0 RID: 57008
|
|
[FieldOffset(Offset = "0x68")]
|
|
[Token(Token = "0x400DEB0")]
|
|
protected List<Enemy> EILIFMJGCBB;
|
|
|
|
// Token: 0x0400DEB1 RID: 57009
|
|
[FieldOffset(Offset = "0x70")]
|
|
[Token(Token = "0x400DEB1")]
|
|
private Dictionary<string, object> FMPPFAPAEOE;
|
|
}
|
|
}
|