public void onEnteredCombat()
 {
     if (UnityEngine.Random.value < 0.25f)
     {
         ShouldSlowThisRoom = true;
     }
     else
     {
         ShouldSlowThisRoom = false;
     }
     if (ShouldSlowThisRoom)
     {
         List <AIActor> activeEnemies = Owner.CurrentRoom.GetActiveEnemies(RoomHandler.ActiveEnemyType.All);
         if (activeEnemies != null)
         {
             for (int i = 0; i < activeEnemies.Count; i++)
             {
                 AIActor aiactor = activeEnemies[i];
                 if (aiactor.IsNormalEnemy)
                 {
                     ApplyDirectStatusEffects.ApplyDirectSlow(aiactor.gameActor, 10000000000f, 0.75f, Color.white, Color.white, EffectResistanceType.None, "Goomperors Crown", false, false);
                 }
             }
         }
     }
 }
Пример #2
0
        private void LightEnemiesInRadiusOnFire(PlayerController user)
        {
            float effectRadius = 5f;

            if (user.PlayerHasActiveSynergy("Pyromaniac"))
            {
                effectRadius *= 2;
            }
            List <AIActor> activeEnemies = user.CurrentRoom.GetActiveEnemies(RoomHandler.ActiveEnemyType.All);

            if (activeEnemies != null)
            {
                for (int i = 0; i < activeEnemies.Count; i++)
                {
                    AIActor aiactor = activeEnemies[i];
                    if (aiactor.IsNormalEnemy)
                    {
                        float num = Vector2.Distance(user.CenterPosition, aiactor.CenterPosition);
                        if (num <= effectRadius)
                        {
                            ApplyDirectStatusEffects.ApplyDirectFire(aiactor, 10f, StaticStatusEffects.hotLeadEffect.DamagePerSecondToEnemies, StaticStatusEffects.hotLeadEffect.TintColor, StaticStatusEffects.hotLeadEffect.DeathTintColor, EffectResistanceType.Fire, "Fire", true, true);
                        }
                    }
                }
            }
        }
 public void AIActorMods(AIActor target)
 {
     if (ShouldSlowThisRoom)
     {
         if (target && target.aiActor && target.aiActor.EnemyGuid != null)
         {
             ApplyDirectStatusEffects.ApplyDirectSlow(target, 10000000000f, 0.75f, Color.white, Color.white, EffectResistanceType.None, "Goomperors Crown", false, false);
         }
     }
 }
 private void AddSlowEffect(Projectile arg1, SpeculativeRigidbody arg2, bool arg3)
 {
     if (arg2 != null && arg2.aiActor != null && Owner != null)
     {
         if (arg2 != null && arg2.healthHaver.IsAlive)
         {
             if (arg2.aiActor.EnemyGuid != "465da2bb086a4a88a803f79fe3a27677" && arg2.aiActor.EnemyGuid != "05b8afe0b6cc4fffa9dc6036fa24c8ec")
             {
                 Gun gun = ETGMod.Databases.Items["triple_crossbow"] as Gun;
                 GameActorSpeedEffect gameActorSpeedEffect = gun.DefaultModule.projectiles[0].speedEffect;
                 ApplyDirectStatusEffects.ApplyDirectSlow(arg2.gameActor, 20f, gameActorSpeedEffect.SpeedMultiplier, Color.white, Color.white, EffectResistanceType.None, "Snail Bullets", false, false);
             }
         }
     }
 }
 public void onEnteredCombat()
 {
     try
     {
         //ETGModConsole.Log("OnEnteredCombat was Triggered");
         List <AIActor> activeEnemies = Owner.CurrentRoom.GetActiveEnemies(RoomHandler.ActiveEnemyType.All);
         if (activeEnemies != null)
         {
             foreach (AIActor aiactor in activeEnemies)
             {
                 if (aiactor.IsNormalEnemy)
                 {
                     //ETGModConsole.Log("There are active eligible enemies!");
                     float freezeAmount = 0;
                     if (aiactor.healthHaver.IsBoss)
                     {
                         freezeAmount = 100;
                     }
                     else
                     {
                         freezeAmount = 150;
                     }
                     ApplyDirectStatusEffects.ApplyDirectFreeze(aiactor.gameActor, 3, freezeAmount, StaticStatusEffects.chaosBulletsFreeze.UnfreezeDamagePercent, ExtendedColours.freezeBlue, ExtendedColours.freezeBlue, EffectResistanceType.None, "Permafrost", true, true);
                 }
             }
         }
         else
         {
             //ETGModConsole.Log("Active enemies is NULL!");
         }
     }
     catch (Exception e)
     {
         ETGModConsole.Log(e.Message);
         ETGModConsole.Log(e.StackTrace);
     }
 }