protected override void DoEffect(PlayerController player) { if (numberOfUses == 2) { Vector2 vector = player.unadjustedAimPoint.XY() - player.CenterPosition; float zRotation = BraveMathCollege.Atan2Degrees(vector); player.StartCoroutine(this.HandleSwing(player, vector, 0f, 20f)); } if (numberOfUses == 1) { player.CurrentStoneGunTimer = 1f; player.MovementModifiers -= this.NoMotionModifier; player.IsStationary = false; modifierController = 0; player.IsEthereal = false; if (host != null) { host.healthHaver.ApplyDamage(99999, Vector2.zero, "unbound", CoreDamageTypes.Magic, DamageCategory.Unstoppable, true, null, false); host = null; } player.SetIsStealthed(false, "cause they just are"); PassiveItem.DecrementFlag(player, typeof(LiveAmmoItem)); this.LastOwner.stats.RecalculateStats(LastOwner, true); CamToggle = 0; GameManager.Instance.MainCameraController.StartTrackingPlayer(); GameManager.Instance.MainCameraController.SetManualControl(false, true); } }
protected override void OnPreDrop(PlayerController user) { PassiveItem.DecrementFlag(user, typeof(PickpocketGuide)); unstealthBehavior unstealthBehavior = user.gameObject.GetOrAddComponent <unstealthBehavior>(); UnityEngine.Object.DestroyImmediate(unstealthBehavior); }
public override void Update() { // deathcontroller if (host != null && host.healthHaver.GetCurrentHealth() == 0) { this.LastOwner.CurrentStoneGunTimer = 1f; this.LastOwner.MovementModifiers -= this.NoMotionModifier; this.LastOwner.IsStationary = false; modifierController = 0; this.LastOwner.IsEthereal = false; this.LastOwner.SetIsStealthed(false, "cause they just are"); PassiveItem.DecrementFlag(this.LastOwner, typeof(LiveAmmoItem)); this.LastOwner.stats.RecalculateStats(LastOwner, true); CamToggle = 0; GameManager.Instance.MainCameraController.StartTrackingPlayer(); GameManager.Instance.MainCameraController.SetManualControl(false, true); } if (host != null && CamToggle == 1) { // in head state CameraController m_camera = GameManager.Instance.MainCameraController; m_camera.StopTrackingPlayer(); m_camera.SetManualControl(true, false); m_camera.OverridePosition = host.CenterPosition; TargetNumber1(host, this.LastOwner); RoomHandler room = this.LastOwner.CurrentRoom; proximity(this.LastOwner); foreach (var enemy in room.GetActiveEnemies(RoomHandler.ActiveEnemyType.All)) { System.Random rng = new System.Random(); int chanceToFire = rng.Next(1, 80); if (chanceToFire == 1 && enemy != host) { enemy.aiShooter.ShootAtTarget(); } } //poison List <AIActor> activeEnemies = base.LastOwner.CurrentRoom.GetActiveEnemies(RoomHandler.ActiveEnemyType.All); Vector2 centerPosition = host.specRigidbody.UnitCenter; foreach (AIActor aiactor in activeEnemies) { bool flag3 = Vector2.Distance(aiactor.CenterPosition, centerPosition) < 1.5f && aiactor.healthHaver.GetMaxHealth() > 0f && aiactor != null && aiactor.specRigidbody != null && base.LastOwner != null; if (flag3 && aiactor != host) { aiactor.ApplyEffect(Game.Items["irradiated_lead"].GetComponent <BulletStatusEffectItem>().HealthModifierEffect, 4f, null); aiactor.ApplyEffect(Game.Items["hot_lead"].GetComponent <BulletStatusEffectItem>().HealthModifierEffect, 4f, null); aiactor.ApplyEffect(Game.Items["battery_bullets"].GetComponent <BulletStatusEffectItem>().HealthModifierEffect, 4f, null); } } } base.Update(); }
public override DebrisObject Drop(PlayerController player) { PassiveItem.DecrementFlag(player, typeof(CatchingMitts)); cooldownBehavior cooldownBehavior = player.gameObject.GetComponent <cooldownBehavior>(); UnityEngine.Object.Destroy(cooldownBehavior); return(base.Drop(player)); }
public override DebrisObject Drop(PlayerController player) { DebrisObject debrisObject = base.Drop(player); debrisObject.GetComponent <Hoverboard>().m_pickedUpThisRun = true; PassiveItem.DecrementFlag(player, typeof(WingsItem)); return(debrisObject); }
protected override void OnDestroy() { base.OnDestroy(); if (base.Owner != null) { PassiveItem.DecrementFlag(base.Owner, typeof(LiveAmmoItem)); } }
protected override void OnDestroy() { base.OnDestroy(); if (base.LastOwner != null) { PassiveItem.DecrementFlag(base.LastOwner, typeof(PickpocketGuide)); unstealthBehavior unstealthBehavior = base.LastOwner.gameObject.GetOrAddComponent <unstealthBehavior>(); UnityEngine.Object.DestroyImmediate(unstealthBehavior); } }
protected override void OnDestroy() { base.OnDestroy(); if (base.Owner != null) { PlayerController player = base.Owner; PassiveItem.DecrementFlag(player, typeof(CatchingMitts)); cooldownBehavior cooldownBehavior = player.gameObject.GetComponent <cooldownBehavior>(); UnityEngine.Object.Destroy(cooldownBehavior); } }
protected override void OnPreDrop(PlayerController user) { PassiveItem.DecrementFlag(user, typeof(LootersGloves)); if (PassiveItem.ActiveFlagItems.ContainsKey(user) && PassiveItem.ActiveFlagItems[user].ContainsKey(typeof(CorpseExplodeActiveItem))) { PassiveItem.ActiveFlagItems[user][typeof(CorpseExplodeActiveItem)] = Mathf.Max(0, PassiveItem.ActiveFlagItems[user][typeof(CorpseExplodeActiveItem)] - 1); if (PassiveItem.ActiveFlagItems[user][typeof(CorpseExplodeActiveItem)] == 0) { PassiveItem.ActiveFlagItems[user].Remove(typeof(CorpseExplodeActiveItem)); } } }
public override void Update() { if (this.LastOwner != null && vangaurd) { if (host != null && host.healthHaver.GetCurrentHealth() == 0) { this.LastOwner.CurrentStoneGunTimer = 1f; this.LastOwner.MovementModifiers -= this.NoMotionModifier; this.LastOwner.IsStationary = false; modifierController = 0; this.LastOwner.IsEthereal = false; this.LastOwner.SetIsStealthed(false, "cause they just are"); PassiveItem.DecrementFlag(this.LastOwner, typeof(LiveAmmoItem)); this.LastOwner.stats.RecalculateStats(LastOwner, true); CamToggle = 0; GameManager.Instance.MainCameraController.StartTrackingPlayer(); GameManager.Instance.MainCameraController.SetManualControl(false, true); } if (host != null && CamToggle == 1) { CameraController m_camera = GameManager.Instance.MainCameraController; m_camera.StopTrackingPlayer(); m_camera.SetManualControl(true, false); m_camera.OverridePosition = host.CenterPosition; TargetNumber1(host, this.LastOwner); RoomHandler room = this.LastOwner.CurrentRoom; proximity(this.LastOwner); foreach (var enemy in room.GetActiveEnemies(RoomHandler.ActiveEnemyType.All)) { System.Random rng = new System.Random(); int chanceToFire = rng.Next(1, 120); if (chanceToFire == 1 && enemy != host) { enemy.aiShooter.ShootAtTarget(); } } } } base.Update(); }
//This block of code allows us to change the reload sounds. protected void Update() { if (gun.CurrentOwner) { if (!gun.PreventNormalFireAudio) { this.gun.PreventNormalFireAudio = true; } if (!gun.IsReloading && !HasReloaded) { this.HasReloaded = true; } PassiveItem.IncrementFlag((PlayerController)this.gun.CurrentOwner, typeof(LiveAmmoItem)); } else { PassiveItem.DecrementFlag((PlayerController)this.gun.CurrentOwner, typeof(LiveAmmoItem)); } }
public override DebrisObject Drop(PlayerController player) { PassiveItem.DecrementFlag(player, typeof(LiveAmmoItem)); return(base.Drop(player)); }