private void PostProcessBeamTick(BeamController beam, SpeculativeRigidbody spec, float tickRate) { GameActor gameActor = spec.gameActor; if (!gameActor) { return; } PlayerController player = this.Owner; if (player.CurrentGun.PickupObjectId == 40) { beam.projectile.baseData.damage *= 1.003f; } BulletStatusEffectItem frostbullets = PickupObjectDatabase.GetById(278).GetComponent <BulletStatusEffectItem>(); GameActorFreezeEffect frostfreeze = frostbullets.FreezeModifierEffect; if (player.CurrentGun.PickupObjectId == 464) { if (UnityEngine.Random.value < BraveMathCollege.SliceProbability(1f, tickRate)) { gameActor.ApplyEffect(frostfreeze, 0.015f, null); } } }
private void cold(Projectile arg1, SpeculativeRigidbody arg2, bool arg3) { PlayerController player = (GameManager.Instance.PrimaryPlayer); //FIX FIRE EFFECT bool isInCombat = player.IsInCombat; if (isInCombat) { List <AIActor> activeEnemies = player.CurrentRoom.GetActiveEnemies(RoomHandler.ActiveEnemyType.All); Vector2 centerPosition = arg1.sprite.WorldCenter; foreach (AIActor aiactor in activeEnemies) { BulletStatusEffectItem Freezzecomponent = PickupObjectDatabase.GetById(278).GetComponent <BulletStatusEffectItem>(); GameActorFreezeEffect gameActorFreeze = Freezzecomponent.FreezeModifierEffect; bool flag3 = Vector2.Distance(aiactor.CenterPosition, centerPosition) < 3f && aiactor.healthHaver.GetMaxHealth() > 0f && aiactor != null && aiactor.specRigidbody != null && player != null; bool flag4 = flag3; if (flag4) { { aiactor.ApplyEffect(gameActorFreeze, 1f, null); } } } } }
protected override void DoEffect(PlayerController user) { List <AIActor> activeEnemies = base.LastOwner.CurrentRoom.GetActiveEnemies(RoomHandler.ActiveEnemyType.All); if (activeEnemies != null) { AkSoundEngine.PostEvent("Play_OBJ_lock_unlock_01", base.gameObject); BulletStatusEffectItem Freezecomponent = PickupObjectDatabase.GetById(278).GetComponent <BulletStatusEffectItem>(); GameActorFreezeEffect freezeModifierEffect = Freezecomponent.FreezeModifierEffect; int count = activeEnemies.Count; for (int i = 0; i < count; i++) { if (activeEnemies[i] && activeEnemies[i].HasBeenEngaged && activeEnemies[i].healthHaver && activeEnemies[i].IsNormalEnemy && !activeEnemies[i].healthHaver.IsDead && !activeEnemies[i].healthHaver.IsBoss && !activeEnemies[i].IsTransmogrified) { activeEnemies[i].ApplyEffect(freezeModifierEffect, 10f, null); } } bool synergy = user.PlayerHasActiveSynergy("The Flames' Embrace"); if (synergy) { BulletStatusEffectItem Firecomponent = PickupObjectDatabase.GetById(295).GetComponent <BulletStatusEffectItem>(); GameActorFireEffect gameActorFire = Firecomponent.FireModifierEffect; int count1 = activeEnemies.Count; for (int i = 0; i < count1; i++) { if (activeEnemies[i] && activeEnemies[i].HasBeenEngaged && activeEnemies[i].healthHaver && activeEnemies[i].IsNormalEnemy && !activeEnemies[i].healthHaver.IsDead && !activeEnemies[i].healthHaver.IsBoss && !activeEnemies[i].IsTransmogrified) { activeEnemies[i].ApplyEffect(gameActorFire, 10f, null); } } } } }
private void AuraAction(AIActor aiactor, float d) { BulletStatusEffectItem frostbullets = PickupObjectDatabase.GetById(278).GetComponent <BulletStatusEffectItem>(); GameActorFreezeEffect frostfreeze = frostbullets.FreezeModifierEffect; if (aiactor != null && aiactor.healthHaver.CanCurrentlyBeKilled) { aiactor.ApplyEffect(frostfreeze, 0.04f, null); } }
protected void FreezeAll(AIActor target) { if (target != null) { if (target != null && target.healthHaver.CanCurrentlyBeKilled) { BulletStatusEffectItem frostbullets = PickupObjectDatabase.GetById(278).GetComponent <BulletStatusEffectItem>(); GameActorFreezeEffect frostfreeze = frostbullets.FreezeModifierEffect; target.ApplyEffect(frostfreeze, 5f, null); } } }
private void HandleRigidbodyCollision(CollisionData rigidbodyCollision) { BulletStatusEffectItem frostbullets = PickupObjectDatabase.GetById(278).GetComponent <BulletStatusEffectItem>(); GameActorFreezeEffect frostfreeze = frostbullets.FreezeModifierEffect; if (Owner && rigidbodyCollision.OtherRigidbody) { AIActor aiActor = rigidbodyCollision.OtherRigidbody.aiActor; if (aiActor != null && aiActor.healthHaver.CanCurrentlyBeKilled) { aiActor.ApplyEffect(frostfreeze, 5f, null); } } }
protected override void Update() { base.Update(); if (this.m_pickedUp && m_owner) { if (Active) { if (Kills == 0) { Active = false; this.m_radialIndicator.EndEffect(); } if (StoredKills != Kills) { StoredKills = Kills; this.m_radialIndicator.CurrentRadius = 3f + Kills; } List <AIActor> activeEnemies = base.Owner.CurrentRoom.GetActiveEnemies(RoomHandler.ActiveEnemyType.All); Vector2 centerPosition = base.Owner.CenterPosition; foreach (AIActor aiactor in activeEnemies) { if (aiactor.GetComponent <CooldownComponent>() == null) { aiactor.gameObject.AddComponent <CooldownComponent>(); } bool flag = Vector2.Distance(aiactor.CenterPosition, centerPosition) < this.m_radialIndicator.CurrentRadius && aiactor.healthHaver.GetMaxHealth() > 0f && aiactor != null && aiactor.specRigidbody != null && base.Owner != null; if (flag && aiactor.gameObject.AddComponent <CooldownComponent>().ReadyToIce&& aiactor.healthHaver.IsVulnerable && aiactor.isActiveAndEnabled) { GameActorFreezeEffect freeze = Gungeon.Game.Items["frost_bullets"].GetComponent <BulletStatusEffectItem>().FreezeModifierEffect; freeze.FreezeAmount = 10; aiactor.ApplyEffect(freeze); aiactor.gameObject.GetComponent <CooldownComponent>().HandleCoolestdown(); } } } else if (Kills > 0) { CoolUp(); } } }
private void OnHitEnemy(Projectile arg1, SpeculativeRigidbody arg2, bool arg3) { if (bighead2 == 6) { base.StartCoroutine(this.HandleFear(gun.CurrentOwner as PlayerController, arg2)); } if (bighead2 == 5) { GameActorHealthEffect irradiatedLeadEffect = PickupObjectDatabase.GetById(204).GetComponent <BulletStatusEffectItem>().HealthModifierEffect; arg2.aiActor.ApplyEffect(irradiatedLeadEffect, 2f, arg1); } if (bighead2 == 2) { GameActorFireEffect hotLeadEffect = PickupObjectDatabase.GetById(295).GetComponent <BulletStatusEffectItem>().FireModifierEffect; arg2.aiActor.ApplyEffect(hotLeadEffect, 2f, arg1); } if (bighead2 == 1) { arg2.aiActor.healthHaver.ApplyDamage(1f * (gun.CurrentOwner as PlayerController).stats.GetStatValue(PlayerStats.StatType.Damage), Vector2.zero, "Erasure", CoreDamageTypes.None, DamageCategory.Normal, true, null, false); GlobalSparksDoer.DoRadialParticleBurst(50, arg2.specRigidbody.HitboxPixelCollider.UnitCenter, arg2.specRigidbody.HitboxPixelCollider.UnitCenter, 90f, 2f, 0f, null, null, Color.red, GlobalSparksDoer.SparksType.BLOODY_BLOOD); } if (bighead2 == 3) { arg2.aiActor.ApplyEffect(this.cheeseEffect, 3f, null); } if (bighead2 == 7) { GameActorCharmEffect charmingRoundsEffect = PickupObjectDatabase.GetById(527).GetComponent <BulletStatusEffectItem>().CharmModifierEffect; arg2.aiActor.ApplyEffect(charmingRoundsEffect, 3f, null); } if (bighead2 == 4) { GameActorFreezeEffect frostBulletsEffect = PickupObjectDatabase.GetById(278).GetComponent <BulletStatusEffectItem>().FreezeModifierEffect; arg2.aiActor.ApplyEffect(frostBulletsEffect, 3f, null); } if (bighead2 == 8) { GameActorSpeedEffect tripleCrossbowSlowEffect = (PickupObjectDatabase.GetById(381) as Gun).DefaultModule.projectiles[0].speedEffect; arg2.aiActor.ApplyEffect(tripleCrossbowSlowEffect, 3f, null); } }
// Token: 0x06000181 RID: 385 RVA: 0x00013E18 File Offset: 0x00012018 public static GameActorFreezeEffect CopyFreezeFrom(this GameActorFreezeEffect self, GameActorFreezeEffect other) { bool flag = self == null; if (flag) { self = new GameActorFreezeEffect(); } bool flag2 = other == null; GameActorFreezeEffect result; if (flag2) { result = null; } else { self.CopyEffectFrom(other); self.FreezeAmount = other.FreezeAmount; self.UnfreezeDamagePercent = other.UnfreezeDamagePercent; self.FreezeCrystals = new List <GameObject>(); foreach (GameObject item in other.FreezeCrystals) { self.FreezeCrystals.Add(item); } self.crystalNum = other.crystalNum; self.crystalRot = other.crystalRot; self.crystalVariation = new Vector2 { x = other.crystalVariation.x, y = other.crystalVariation.y }; self.debrisMinForce = other.debrisMinForce; self.debrisMaxForce = other.debrisMaxForce; self.debrisAngleVariance = other.debrisAngleVariance; self.vfxExplosion = other.vfxExplosion; result = self; } return(result); }