public void SetRunNextStageToTarget() { if (!NetworkServer.active) { Debug.LogWarning("[Server] function 'System.Void RoR2.SeerStationController::SetRunNextStageToTarget()' called on client"); return; } SceneDef sceneDef = SceneCatalog.GetSceneDef(this.targetSceneDefIndex); if (sceneDef) { SceneExitController sceneExitController = this.explicitTargetSceneExitController; if (!sceneExitController && this.fallBackToFirstActiveExitController) { sceneExitController = InstanceTracker.FirstOrNull <SceneExitController>(); } if (sceneExitController) { sceneExitController.destinationScene = sceneDef; sceneExitController.useRunNextStageScene = false; Chat.SendBroadcastChat(new Chat.SimpleChatMessage { baseToken = sceneDef.portalSelectionMessageString }); } } }
// Token: 0x06000946 RID: 2374 RVA: 0x000286B0 File Offset: 0x000268B0 private void Awake() { if (NetworkServer.active) { this.onDestroyCallbacksServer = new List <OnDestroyCallback>(); GlobalEventManager.onCharacterDeathGlobal += this.OnCharacterDeathCallback; } this.readOnlyMembersList = new ReadOnlyCollection <CharacterMaster>(this.membersList); this.awakeTime = Run.FixedTimeStamp.now; InstanceTracker.Add <CombatSquad>(this); }
// Token: 0x06000947 RID: 2375 RVA: 0x00028704 File Offset: 0x00026904 private void OnDestroy() { InstanceTracker.Remove <CombatSquad>(this); if (NetworkServer.active) { GlobalEventManager.onCharacterDeathGlobal -= this.OnCharacterDeathCallback; } for (int i = this.membersList.Count - 1; i >= 0; i--) { this.RemoveMemberAt(i); } this.onDestroyCallbacksServer = null; }
// Token: 0x060010BD RID: 4285 RVA: 0x00049548 File Offset: 0x00047748 private static void OnTeleporterBeginCharging(TeleporterInteraction teleporterInteraction) { if (NetworkServer.active) { foreach (PurchaseInteraction purchaseInteraction in InstanceTracker.GetInstancesList <PurchaseInteraction>()) { if (purchaseInteraction.setUnavailableOnTeleporterActivated) { purchaseInteraction.SetAvailable(false); purchaseInteraction.CancelInvoke("SetUnavailableTemporarily"); } } } }
// Token: 0x06000C0B RID: 3083 RVA: 0x00035B20 File Offset: 0x00033D20 public static int GetHealBeamCountForOwner(GameObject owner) { int num = 0; List <HealBeamController> instancesList = InstanceTracker.GetInstancesList <HealBeamController>(); int i = 0; int count = instancesList.Count; while (i < count) { if (instancesList[i].ownership.ownerObject == owner) { num++; } i++; } return(num); }
// Token: 0x06000C0A RID: 3082 RVA: 0x00035AD0 File Offset: 0x00033CD0 public static bool HealBeamAlreadyExists(GameObject owner, HealthComponent targetHealthComponent) { List <HealBeamController> instancesList = InstanceTracker.GetInstancesList <HealBeamController>(); int i = 0; int count = instancesList.Count; while (i < count) { HealBeamController healBeamController = instancesList[i]; if (healBeamController.target.healthComponent == targetHealthComponent && healBeamController.ownership.ownerObject == owner) { return(true); } i++; } return(false); }
// Token: 0x06000E20 RID: 3616 RVA: 0x0003F0B0 File Offset: 0x0003D2B0 private static void StaticFixedUpdate() { int i = 0; int count = MapZone.collidersToCheckInFixedUpdate.Count; while (i < count) { Collider exists = MapZone.collidersToCheckInFixedUpdate.Dequeue(); if (exists) { foreach (MapZone mapZone in InstanceTracker.GetInstancesList <MapZone>()) { mapZone.ProcessQueuedCollisionsForCollider(exists); } } i++; } }
// Token: 0x060008F6 RID: 2294 RVA: 0x00026DF0 File Offset: 0x00024FF0 public void Pulse() { ChestRevealer.< > c__DisplayClass12_0 CS$ < > 8__locals1; CS$ < > 8__locals1.< > 4__this = this; CS$ < > 8__locals1.origin = base.transform.position; CS$ < > 8__locals1.radiusSqr = this.radius * this.radius; CS$ < > 8__locals1.invPulseTravelSpeed = 1f / this.pulseTravelSpeed; Type[] array = ChestRevealer.typesToCheck; for (int i = 0; i < array.Length; i++) { foreach (MonoBehaviour monoBehaviour in InstanceTracker.FindInstancesEnumerable(array[i])) { if (((IInteractable)monoBehaviour).ShouldShowOnScanner()) { this.< Pulse > g__TryAddRevealable | 12_0 (monoBehaviour.transform, ref CS$ < > 8__locals1); } } } EffectManager.SpawnEffect(this.pulseEffectPrefab, new EffectData { origin = CS$ < > 8__locals1.origin, scale = this.radius * this.pulseEffectScale }, false);
// Token: 0x06000E22 RID: 3618 RVA: 0x0003F14B File Offset: 0x0003D34B private void OnEnable() { InstanceTracker.Add <MapZone>(this); }
// Token: 0x06000B33 RID: 2867 RVA: 0x000317A0 File Offset: 0x0002F9A0 private void OnDisable() { InstanceTracker.Remove <GenericInteraction>(this); }
// Token: 0x06000B32 RID: 2866 RVA: 0x00031798 File Offset: 0x0002F998 private void OnEnable() { InstanceTracker.Add <GenericInteraction>(this); }
// Token: 0x060012AF RID: 4783 RVA: 0x000506C2 File Offset: 0x0004E8C2 private void OnDisable() { InstanceTracker.Remove <SceneExitController>(this); }
// Token: 0x06000637 RID: 1591 RVA: 0x00019CCA File Offset: 0x00017ECA public void OnDisable() { InstanceTracker.Remove <BarrelInteraction>(this); }
// Token: 0x06000C01 RID: 3073 RVA: 0x0003595F File Offset: 0x00033B5F private void OnEnable() { InstanceTracker.Add <HealBeamController>(this); }
// Token: 0x06000B56 RID: 2902 RVA: 0x000320D5 File Offset: 0x000302D5 private void OnDisable() { InstanceTracker.Remove <GenericPickupController>(this); }
private bool PerformEquipmentAction(EquipmentIndex equipmentIndex) { if (!NetworkServer.active) { Debug.LogWarning("[Server] function 'System.Boolean RoR2.EquipmentSlot::PerformEquipmentAction(RoR2.EquipmentIndex)' called on client"); return(false); } switch (equipmentIndex) { case EquipmentIndex.CommandMissile: this.remainingMissiles += 12; return(true); case EquipmentIndex.Saw: { Vector3 position = base.transform.position; Ray aimRay = this.GetAimRay(); bool crit = Util.CheckRoll(this.characterBody.crit, this.characterBody.master); ProjectileManager.instance.FireProjectile(Resources.Load <GameObject>("Prefabs/Projectiles/Sawmerang"), aimRay.origin, Util.QuaternionSafeLookRotation(aimRay.direction), base.gameObject, this.characterBody.damage, 0f, crit, DamageColorIndex.Default, null, -1f); return(true); } case EquipmentIndex.Fruit: if (this.healthComponent) { Util.PlaySound("Play_item_use_fruit", base.gameObject); EffectData effectData = new EffectData(); effectData.origin = base.transform.position; effectData.SetNetworkedObjectReference(base.gameObject); EffectManager.SpawnEffect(Resources.Load <GameObject>("Prefabs/Effects/FruitHealEffect"), effectData, true); this.healthComponent.HealFraction(0.5f, default(ProcChainMask)); return(true); } return(true); case EquipmentIndex.Meteor: { MeteorStormController component = UnityEngine.Object.Instantiate <GameObject>(Resources.Load <GameObject>("Prefabs/NetworkedObjects/MeteorStorm"), this.characterBody.corePosition, Quaternion.identity).GetComponent <MeteorStormController>(); component.owner = base.gameObject; component.ownerDamage = this.characterBody.damage; component.isCrit = Util.CheckRoll(this.characterBody.crit, this.characterBody.master); NetworkServer.Spawn(component.gameObject); return(true); } case EquipmentIndex.SoulJar: return(true); case EquipmentIndex.Blackhole: { Vector3 position2 = base.transform.position; Ray aimRay2 = this.GetAimRay(); ProjectileManager.instance.FireProjectile(Resources.Load <GameObject>("Prefabs/Projectiles/GravSphere"), position2, Util.QuaternionSafeLookRotation(aimRay2.direction), base.gameObject, 0f, 0f, false, DamageColorIndex.Default, null, -1f); return(true); } case EquipmentIndex.GhostGun: { GameObject gameObject = UnityEngine.Object.Instantiate <GameObject>(Resources.Load <GameObject>("Prefabs/NetworkedObjects/GhostGun"), base.transform.position, Quaternion.identity); gameObject.GetComponent <GhostGunController>().owner = base.gameObject; NetworkServer.Spawn(gameObject); return(true); } case EquipmentIndex.CritOnUse: this.characterBody.AddTimedBuff(BuffIndex.FullCrit, 8f); return(true); case EquipmentIndex.DroneBackup: { Util.PlaySound("Play_item_use_radio", base.gameObject); int sliceCount = 4; float num = 25f; if (NetworkServer.active) { float y = Quaternion.LookRotation(this.GetAimRay().direction).eulerAngles.y; float d = 3f; foreach (float num2 in new DegreeSlices(sliceCount, 0.5f)) { Quaternion rotation = Quaternion.Euler(0f, y + num2, 0f); Quaternion rotation2 = Quaternion.Euler(0f, y + num2 + 180f, 0f); Vector3 position3 = base.transform.position + rotation * (Vector3.forward * d); CharacterMaster characterMaster = this.SummonMaster(Resources.Load <GameObject>("Prefabs/CharacterMasters/DroneBackupMaster"), position3, rotation2); if (characterMaster) { characterMaster.gameObject.AddComponent <MasterSuicideOnTimer>().lifeTimer = num + UnityEngine.Random.Range(0f, 3f); } } } this.subcooldownTimer = 0.5f; return(true); } case EquipmentIndex.OrbitalLaser: { Vector3 position4 = base.transform.position; RaycastHit raycastHit; if (Physics.Raycast(this.GetAimRay(), out raycastHit, 900f, LayerIndex.world.mask | LayerIndex.defaultLayer.mask)) { position4 = raycastHit.point; } GameObject gameObject2 = (GameObject)UnityEngine.Object.Instantiate(Resources.Load("Prefabs/NetworkedObjects/OrbitalLaser"), position4, Quaternion.identity); gameObject2.GetComponent <OrbitalLaserController>().ownerBody = this.characterBody; NetworkServer.Spawn(gameObject2); return(true); } case EquipmentIndex.BFG: this.bfgChargeTimer = 2f; this.subcooldownTimer = 2.2f; return(true); case EquipmentIndex.Enigma: { EquipmentIndex equipmentIndex2 = EquipmentCatalog.enigmaEquipmentList[UnityEngine.Random.Range(0, EquipmentCatalog.enigmaEquipmentList.Count - 1)]; this.PerformEquipmentAction(equipmentIndex2); return(true); } case EquipmentIndex.Jetpack: { JetpackController jetpackController = JetpackController.FindJetpackController(base.gameObject); if (!jetpackController) { GameObject gameObject3 = UnityEngine.Object.Instantiate <GameObject>(Resources.Load <GameObject>("Prefabs/NetworkedObjects/JetpackController")); jetpackController = gameObject3.GetComponent <JetpackController>(); jetpackController.NetworktargetObject = base.gameObject; NetworkServer.Spawn(gameObject3); return(true); } jetpackController.ResetTimer(); return(true); } case EquipmentIndex.Lightning: { this.UpdateTargets(); HurtBox hurtBox = this.currentTargetHurtBox; if (hurtBox) { this.subcooldownTimer = 0.2f; OrbManager.instance.AddOrb(new LightningStrikeOrb { attacker = base.gameObject, damageColorIndex = DamageColorIndex.Item, damageValue = this.characterBody.damage * 30f, isCrit = Util.CheckRoll(this.characterBody.crit, this.characterBody.master), procChainMask = default(ProcChainMask), procCoefficient = 1f, target = hurtBox }); this.InvalidateCurrentTarget(); return(true); } return(false); } case EquipmentIndex.PassiveHealing: if (this.passiveHealingFollower) { this.UpdateTargets(); this.passiveHealingFollower.AssignNewTarget(this.currentTargetBodyObject); this.InvalidateCurrentTarget(); return(true); } return(true); case EquipmentIndex.BurnNearby: if (this.characterBody) { this.characterBody.AddHelfireDuration(8f); return(true); } return(true); case EquipmentIndex.SoulCorruptor: { this.UpdateTargets(); HurtBox hurtBox2 = this.currentTargetHurtBox; if (!hurtBox2) { return(false); } if (!hurtBox2.healthComponent || hurtBox2.healthComponent.combinedHealthFraction > 0.25f) { return(false); } Util.TryToCreateGhost(hurtBox2.healthComponent.body, this.characterBody, 30); hurtBox2.healthComponent.Suicide(base.gameObject, null, DamageType.Generic); this.InvalidateCurrentTarget(); return(true); } case EquipmentIndex.Scanner: NetworkServer.Spawn(UnityEngine.Object.Instantiate <GameObject>(Resources.Load <GameObject>("Prefabs/NetworkedObjects/ChestScanner"), this.characterBody.corePosition, Quaternion.identity)); return(true); case EquipmentIndex.CrippleWard: NetworkServer.Spawn(UnityEngine.Object.Instantiate <GameObject>(Resources.Load <GameObject>("Prefabs/NetworkedObjects/CrippleWard"), this.characterBody.corePosition, Quaternion.identity)); this.inventory.SetEquipmentIndex(EquipmentIndex.None); return(true); case EquipmentIndex.Gateway: return(this.FireGateway()); case EquipmentIndex.Tonic: this.characterBody.AddTimedBuff(BuffIndex.TonicBuff, EquipmentSlot.tonicBuffDuration); if (!Util.CheckRoll(80f, this.characterBody.master)) { this.characterBody.pendingTonicAfflictionCount++; return(true); } return(true); case EquipmentIndex.QuestVolatileBattery: return(false); case EquipmentIndex.Cleanse: { Vector3 corePosition = this.characterBody.corePosition; EffectData effectData2 = new EffectData { origin = corePosition }; effectData2.SetHurtBoxReference(this.characterBody.mainHurtBox); EffectManager.SpawnEffect(Resources.Load <GameObject>("Prefabs/Effects/CleanseEffect"), effectData2, true); BuffIndex buffIndex = BuffIndex.Slow50; BuffIndex buffCount = (BuffIndex)BuffCatalog.buffCount; while (buffIndex < buffCount) { if (BuffCatalog.GetBuffDef(buffIndex).isDebuff) { this.characterBody.ClearTimedBuffs(buffIndex); } buffIndex++; } DotController.RemoveAllDots(base.gameObject); SetStateOnHurt component2 = base.GetComponent <SetStateOnHurt>(); if (component2) { component2.Cleanse(); } float num3 = 6f; float num4 = num3 * num3; TeamIndex teamIndex = this.teamComponent.teamIndex; List <ProjectileController> instancesList = InstanceTracker.GetInstancesList <ProjectileController>(); List <ProjectileController> list = new List <ProjectileController>(); int i = 0; int count = instancesList.Count; while (i < count) { ProjectileController projectileController = instancesList[i]; if (projectileController.teamFilter.teamIndex != teamIndex && (projectileController.transform.position - corePosition).sqrMagnitude < num4) { list.Add(projectileController); } i++; } int j = 0; int count2 = list.Count; while (j < count2) { ProjectileController projectileController2 = list[j]; if (projectileController2) { UnityEngine.Object.Destroy(projectileController2.gameObject); } j++; } return(true); } case EquipmentIndex.FireBallDash: { Ray aimRay3 = this.GetAimRay(); GameObject gameObject4 = UnityEngine.Object.Instantiate <GameObject>(Resources.Load <GameObject>("Prefabs/NetworkedObjects/FireballVehicle"), aimRay3.origin, Quaternion.LookRotation(aimRay3.direction)); gameObject4.GetComponent <VehicleSeat>().AssignPassenger(base.gameObject); CharacterBody characterBody = this.characterBody; NetworkUser networkUser; if (characterBody == null) { networkUser = null; } else { CharacterMaster master = characterBody.master; if (master == null) { networkUser = null; } else { PlayerCharacterMasterController playerCharacterMasterController = master.playerCharacterMasterController; networkUser = ((playerCharacterMasterController != null) ? playerCharacterMasterController.networkUser : null); } } NetworkUser networkUser2 = networkUser; if (networkUser2) { NetworkServer.SpawnWithClientAuthority(gameObject4, networkUser2.gameObject); } else { NetworkServer.Spawn(gameObject4); } this.subcooldownTimer = 2f; return(true); } case EquipmentIndex.GainArmor: this.characterBody.AddTimedBuff(BuffIndex.ElephantArmorBoost, 5f); return(true); } return(false); }
// Token: 0x06000B55 RID: 2901 RVA: 0x000320CD File Offset: 0x000302CD private void OnEnable() { InstanceTracker.Add <GenericPickupController>(this); }
// Token: 0x06000B91 RID: 2961 RVA: 0x000092EC File Offset: 0x000074EC private void OnDisable() { InstanceTracker.Remove <BazaarUpgradeInteraction>(this); }
// Token: 0x06000B90 RID: 2960 RVA: 0x000092E4 File Offset: 0x000074E4 private void OnEnable() { InstanceTracker.Add <BazaarUpgradeInteraction>(this); }
// Token: 0x06000E23 RID: 3619 RVA: 0x0003F153 File Offset: 0x0003D353 private void OnDisable() { InstanceTracker.Remove <MapZone>(this); }
// Token: 0x0600068D RID: 1677 RVA: 0x0001ACB4 File Offset: 0x00018EB4 private void OnDisable() { ObjectivePanelController.collectObjectiveSources -= this.ReportObjective; InstanceTracker.Remove <BossGroup>(this); }
// Token: 0x06000636 RID: 1590 RVA: 0x00019CC2 File Offset: 0x00017EC2 public void OnEnable() { InstanceTracker.Add <BarrelInteraction>(this); }
// Token: 0x060010BB RID: 4283 RVA: 0x0004952C File Offset: 0x0004772C private void OnDisable() { InstanceTracker.Remove <PurchaseInteraction>(this); }
// Token: 0x060014CD RID: 5325 RVA: 0x00058C62 File Offset: 0x00056E62 private void OnEnable() { InstanceTracker.Add <TimedChestController>(this); }
// Token: 0x060012AE RID: 4782 RVA: 0x000506BA File Offset: 0x0004E8BA private void OnEnable() { InstanceTracker.Add <SceneExitController>(this); }
// Token: 0x060014CE RID: 5326 RVA: 0x00058C6A File Offset: 0x00056E6A private void OnDisable() { InstanceTracker.Remove <TimedChestController>(this); }
// Token: 0x060010BA RID: 4282 RVA: 0x00049524 File Offset: 0x00047724 private void OnEnable() { InstanceTracker.Add <PurchaseInteraction>(this); }
// Token: 0x06000C02 RID: 3074 RVA: 0x00035967 File Offset: 0x00033B67 private void OnDisable() { InstanceTracker.Remove <HealBeamController>(this); }
// Token: 0x0600068C RID: 1676 RVA: 0x0001AC90 File Offset: 0x00018E90 private void OnEnable() { InstanceTracker.Add <BossGroup>(this); ObjectivePanelController.collectObjectiveSources += this.ReportObjective; this.enabledTime = Run.FixedTimeStamp.now; }