Esempio n. 1
0
        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);
                }
            }
        }
Esempio n. 2
0
        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);
                        }
                    }
                }
            }
        }
Esempio n. 3
0
        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);
                        }
                    }
                }
            }
        }
Esempio n. 4
0
        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);
            }
        }
Esempio n. 5
0
 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);
         }
     }
 }
Esempio n. 6
0
        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);
                }
            }
        }
Esempio n. 7
0
        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();
                }
            }
        }
Esempio n. 8
0
 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);
     }
 }
Esempio n. 9
0
        // 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);
        }