using System; using System.Collections.Generic; using Cpp2IlInjected; using Photon.Pun; using RecRoom.Core.AI; using UnityEngine; namespace RecRoom.Core.Encounters { // Token: 0x02002FBF RID: 12223 [Token(Token = "0x2002FBF")] public abstract class BaseSpawnEnemyEncounterStep : GameEncounterStep { // Token: 0x06014D40 RID: 85312 RVA: 0x004E07BC File Offset: 0x004DE9BC [Token(Token = "0x6014D40")] [Address(RVA = "0x89B000", Offset = "0x899E00", VA = "0x18089B000", 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 enemyInstantiatedEvent = Enemy.EnemyInstantiatedEvent; Action action = new Action(this.NDPNGCIFFOJ); Enemy.EnemyInstantiatedEvent = MFBGLIHGCGO.BPJDFPACLMK(enemyInstantiatedEvent, action); IILCGFIHJLP enemyDeathEvent = Enemy.EnemyDeathEvent; Action action2 = new Action(this.LCFGLKPPOFI); Enemy.EnemyDeathEvent = IILCGFIHJLP.BPJDFPACLMK(enemyDeathEvent, action2); Dictionary fmppfapaeoe = this.FMPPFAPAEOE; string encounter_ID_KEY = BaseSpawnEnemyEncounterStep.ENCOUNTER_ID_KEY; int num = 0; if (ADDBMBCNBKJ != num) { PhotonView photonView = ADDBMBCNBKJ.JDHMIOJKLCK; } int num2; fmppfapaeoe.Add(encounter_ID_KEY, num2); Dictionary fmppfapaeoe2 = this.FMPPFAPAEOE; Dictionary fmppfapaeoe3 = this.FMPPFAPAEOE; bool flag = this.suppressRewards; string encounter_SUPPRESS_REWARDS_KEY = BaseSpawnEnemyEncounterStep.ENCOUNTER_SUPPRESS_REWARDS_KEY; fmppfapaeoe3.Add(encounter_SUPPRESS_REWARDS_KEY, flag); } // Token: 0x06014D41 RID: 85313 RVA: 0x004E0884 File Offset: 0x004DEA84 [Token(Token = "0x6014D41")] [Address(RVA = "0x89B2C0", Offset = "0x89A0C0", VA = "0x18089B2C0", Slot = "6")] public override void OnCleanup() { MFBGLIHGCGO enemyInstantiatedEvent = Enemy.EnemyInstantiatedEvent; Action action = new Action(this.NDPNGCIFFOJ); Enemy.EnemyInstantiatedEvent = MFBGLIHGCGO.GMNMHGMFGOL(enemyInstantiatedEvent, action); IILCGFIHJLP enemyDeathEvent = Enemy.EnemyDeathEvent; Action action2 = new Action(this.LCFGLKPPOFI); Enemy.EnemyDeathEvent = IILCGFIHJLP.GMNMHGMFGOL(enemyDeathEvent, action2); } // Token: 0x06014D42 RID: 85314 RVA: 0x0000220F File Offset: 0x0000040F [Token(Token = "0x6014D42")] [Address(RVA = "0x402080", Offset = "0x400E80", VA = "0x180402080", Slot = "9")] public override void OnEncounterStart() { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x06014D43 RID: 85315 RVA: 0x004E08D0 File Offset: 0x004DEAD0 [Token(Token = "0x6014D43")] [Address(RVA = "0x89B3E0", Offset = "0x89A1E0", VA = "0x18089B3E0", Slot = "10")] public override void OnEncounterStop() { this.MasterKillAllLivingEnemies(); } // Token: 0x06014D44 RID: 85316 RVA: 0x004E08E4 File Offset: 0x004DEAE4 [Token(Token = "0x6014D44")] [Address(RVA = "0x89A400", Offset = "0x899200", VA = "0x18089A400", 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 k__BackingField = this.ADDBMBCNBKJ.k__BackingField; int num2 = 0; if (!(k__BackingField != num2)) { } EnemyPatrol k__BackingField2 = this.ADDBMBCNBKJ.k__BackingField; GameEncounter addbmbcnbkj = this.ADDBMBCNBKJ; JIEHOGDIGPG enemyType = PDDLCLCJLDK.EnemyType; CGLKOJIMDIH k__BackingField = addbmbcnbkj.k__BackingField; PhotonView photonView = addbmbcnbkj.JDHMIOJKLCK; Dictionary 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: 0x06014D45 RID: 85317 RVA: 0x004E09BC File Offset: 0x004DEBBC [Token(Token = "0x6014D45")] [Address(RVA = "0x89A790", Offset = "0x899590", VA = "0x18089A790", 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: 0x06014D46 RID: 85318 RVA: 0x004E0ABC File Offset: 0x004DECBC [Token(Token = "0x6014D46")] [Address(RVA = "0x89A730", Offset = "0x899530", VA = "0x18089A730", 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: 0x06014D47 RID: 85319 RVA: 0x004E0AE0 File Offset: 0x004DECE0 [Token(Token = "0x6014D47")] [Address(RVA = "0x89AE40", Offset = "0x899C40", VA = "0x18089AE40")] private void NDPNGCIFFOJ(Enemy BPJNEFJBBML) { if (this.OCIKMLKODCP(BPJNEFJBBML)) { this.EILIFMJGCBB.Add(BPJNEFJBBML); } } // Token: 0x06014D48 RID: 85320 RVA: 0x004E0B0C File Offset: 0x004DED0C [Token(Token = "0x6014D48")] [Address(RVA = "0x89AB80", Offset = "0x899980", VA = "0x18089AB80")] private void LCFGLKPPOFI(Enemy BPJNEFJBBML, ENDNBHFKNFL LJGOHLFADDN) { if (this.OCIKMLKODCP(BPJNEFJBBML)) { bool flag = this.EILIFMJGCBB.Remove(BPJNEFJBBML); } } // Token: 0x06014D49 RID: 85321 RVA: 0x004E0B38 File Offset: 0x004DED38 [Token(Token = "0x6014D49")] [Address(RVA = "0x89AEB0", Offset = "0x899CB0", VA = "0x18089AEB0")] private bool OCIKMLKODCP(Enemy BPJNEFJBBML) { GameEncounter addbmbcnbkj = this.ADDBMBCNBKJ; int k__BackingField = BPJNEFJBBML.k__BackingField; PhotonView photonView = addbmbcnbkj.JDHMIOJKLCK; bool flag; if (k__BackingField == photonView.viewIdField && BPJNEFJBBML.k__BackingField != 0 && flag) { int pnnljigifdl = this.PNNLJIGIFDL; return true; } throw new NullReferenceException(); } // Token: 0x06014D4A RID: 85322 RVA: 0x004E0B84 File Offset: 0x004DED84 [Token(Token = "0x6014D4A")] [Address(RVA = "0x89ABF0", Offset = "0x8999F0", VA = "0x18089ABF0")] public void MasterKillAllLivingEnemies() { if (KKPBCOOONNK.BNNCCCFFALC) { BaseSpawnEnemyEncounterStep.GHBEPPFECBA.Clear(); List ghbeppfecba = BaseSpawnEnemyEncounterStep.GHBEPPFECBA; List eilifmjgcbb = this.EILIFMJGCBB; ghbeppfecba.AddRange(eilifmjgcbb); this.EILIFMJGCBB.Clear(); int num = 0; List ghbeppfecba2 = BaseSpawnEnemyEncounterStep.GHBEPPFECBA; if (!this.ADDBMBCNBKJ.k__BackingField) { List ghbeppfecba3 = BaseSpawnEnemyEncounterStep.GHBEPPFECBA; num++; } List ghbeppfecba4 = BaseSpawnEnemyEncounterStep.GHBEPPFECBA; num++; } } // Token: 0x06014D4B RID: 85323 RVA: 0x0000220F File Offset: 0x0000040F [Token(Token = "0x6014D4B")] [Address(RVA = "0x89A340", Offset = "0x899140", VA = "0x18089A340")] protected int BOIKGOELJPC() { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x06014D4C RID: 85324 RVA: 0x004E0BF8 File Offset: 0x004DEDF8 [Token(Token = "0x6014D4C")] [Address(RVA = "0x89B4A0", Offset = "0x89A2A0", VA = "0x18089B4A0")] protected BaseSpawnEnemyEncounterStep() { EnemySpawnNavMeshRegion[] array = new EnemySpawnNavMeshRegion[1]; this.spawnRegions = array; List list = new List(); this.EILIFMJGCBB = list; Dictionary dictionary = new Dictionary(); this.FMPPFAPAEOE = dictionary; this.stepName = "New Step"; this.PNNLJIGIFDL = (int)((ulong)4294967295L); base..ctor(); } // Token: 0x0400DC79 RID: 56441 [FieldOffset(Offset = "0x48")] [Token(Token = "0x400DC79")] [SerializeField] [Header("Spawn Configuration")] public EnemySpawnerConfiguration spawnerConfiguration; // Token: 0x0400DC7A RID: 56442 [FieldOffset(Offset = "0x50")] [Token(Token = "0x400DC7A")] [SerializeField] [Header("Patrol")] public bool spawnOnPatrol = true; // Token: 0x0400DC7B RID: 56443 [FieldOffset(Offset = "0x58")] [Token(Token = "0x400DC7B")] [SerializeField] [Header("Spawn Regions")] public EnemySpawnNavMeshRegion[] spawnRegions; // Token: 0x0400DC7C RID: 56444 [FieldOffset(Offset = "0x60")] [Token(Token = "0x400DC7C")] [SerializeField] [Header("Rewards")] public bool suppressRewards; // Token: 0x0400DC7D RID: 56445 [Token(Token = "0x400DC7D")] public static readonly string ENCOUNTER_ID_KEY = "ENC_ID"; // Token: 0x0400DC7E RID: 56446 [Token(Token = "0x400DC7E")] public static readonly string ENCOUNTER_STEP_ID_KEY = "ENC_STEP_ID"; // Token: 0x0400DC7F RID: 56447 [Token(Token = "0x400DC7F")] public static readonly string ENCOUNTER_SUPPRESS_REWARDS_KEY = "ENC_SR"; // Token: 0x0400DC80 RID: 56448 [Token(Token = "0x400DC80")] private static List GHBEPPFECBA = new List(); // Token: 0x0400DC81 RID: 56449 [FieldOffset(Offset = "0x68")] [Token(Token = "0x400DC81")] protected List EILIFMJGCBB; // Token: 0x0400DC82 RID: 56450 [FieldOffset(Offset = "0x70")] [Token(Token = "0x400DC82")] private Dictionary FMPPFAPAEOE; } }