// Token: 0x060021B9 RID: 8633 RVA: 0x00091E14 File Offset: 0x00090014 private void FixedUpdate() { ArenaMissionController instance = ArenaMissionController.instance; if (instance) { bool flag = false; if (this.currentMonsterBodyIndices.Length != instance.syncActiveMonsterBodies.Count) { Array.Resize <int>(ref this.currentMonsterBodyIndices, instance.syncActiveMonsterBodies.Count); flag = true; } for (int i = 0; i < instance.syncActiveMonsterBodies.Count; i++) { if (this.currentMonsterBodyIndices[i] != instance.syncActiveMonsterBodies[i]) { this.currentMonsterBodyIndices[i] = instance.syncActiveMonsterBodies[i]; flag = true; } } if (flag) { this.SetMonsterBodies(this.currentMonsterBodyIndices); } bool flag2 = false; if (this.currentPickupIndices.Length != instance.syncActivePickups.Count) { Array.Resize <PickupIndex>(ref this.currentPickupIndices, instance.syncActivePickups.Count); flag2 = true; } for (int j = 0; j < instance.syncActivePickups.Count; j++) { PickupIndex pickupIndex = new PickupIndex(instance.syncActivePickups[j]); if (pickupIndex != this.currentPickupIndices[j]) { this.currentPickupIndices[j] = pickupIndex; flag2 = true; } } if (flag2) { this.SetPickups(this.currentPickupIndices); } } }
private void ArenaMissionController_EndRound(On.RoR2.ArenaMissionController.orig_EndRound orig, ArenaMissionController self) { GameObject cachedRewardPosition = self.rewardSpawnPosition; self.rewardSpawnPosition = null; int participatingPlayerCount = Run.instance.participatingPlayerCount; if (participatingPlayerCount != 0 && self.rewardSpawnPosition) { List <PickupIndex> list = Run.instance.availableTier1DropList; if (self.currentRound > 4) { list = Run.instance.availableTier2DropList; } if (self.currentRound == self.totalRoundsMax) { list = Run.instance.availableTier3DropList; } if (list.Count > 0) { PickupIndex pickupIndex = self.rng.NextElementUniform <PickupIndex>(list); int num = participatingPlayerCount; float angle = 360f / (float)num; Vector3 vector = Quaternion.AngleAxis((float)UnityEngine.Random.Range(0, 360), Vector3.up) * (Vector3.up * 40f + Vector3.forward * 5f); Quaternion rotation = Quaternion.AngleAxis(angle, Vector3.up); int k = 0; while (k < num) { PickupDropletController.CreatePickupDroplet(pickupIndex, self.rewardSpawnPosition.transform.position, vector); k++; vector = rotation * vector; } } } orig(self); self.rewardSpawnPosition = cachedRewardPosition; }
// Token: 0x060024A2 RID: 9378 RVA: 0x0009FD04 File Offset: 0x0009DF04 protected override string GenerateString() { ArenaMissionController instance = ArenaMissionController.instance; return(string.Format(Language.GetString(this.baseToken), instance.clearedRounds, instance.totalRoundsMax)); }
private void TrueSuicideOnNullVoid(On.RoR2.ArenaMissionController.orig_EndRound orig, ArenaMissionController self) { if (self.currentRound >= self.totalRoundsMax) { ReadOnlyCollection <TeamComponent> teamMembers = TeamComponent.GetTeamMembers(TeamIndex.Monster); for (int j = teamMembers.Count - 1; j >= 0; j--) { teamMembers[j].body.inventory.ResetItem(ItemIndex.ExtraLife); } } orig(self); }
internal static void VoidFieldsStartPostfix(ref ArenaMissionController __instance) { __instance.availableTier1DropList = ScrapChestsPlugin._cachedItemLists[0].Where(x => ArenaMissionController.IsPickupAllowedForMonsters(x)).ToList(); __instance.availableTier2DropList = ScrapChestsPlugin._cachedItemLists[1].Where(x => ArenaMissionController.IsPickupAllowedForMonsters(x)).ToList(); __instance.availableTier3DropList = ScrapChestsPlugin._cachedItemLists[2].Where(x => ArenaMissionController.IsPickupAllowedForMonsters(x)).ToList(); }