Ejemplo n.º 1
0
        private static void Drawing_OnEndScene(EventArgs args)
        {
            if (Rengar.IsDead)
            {
                return;
            }

            if (MenuHandler.GetCheckboxValue(MenuHandler.Drawing, "Draw Enemy Health after Combo"))
            {
                foreach (AIHeroClient enemy in EntityManager.Heroes.Enemies.Where(a => a.MeetsCriteria()))
                {
                    int   hpBarWidth = 96;
                    float enemyHPPercentAfterCombo = Math.Max((100 * ((enemy.Health - enemy.ComboDamage()) / enemy.MaxHealth)), 0);
                    //Vector2 FriendlyHPBarOffset = new Vector2(26, 3);
                    Vector2 EnemyHPBarOffset = new Vector2(2, 9.5f);
                    Vector2 CurrentHP        = enemy.HPBarPosition + EnemyHPBarOffset + new Vector2(100 * enemy.HealthPercent / hpBarWidth, 0);
                    Vector2 EndHP            = enemy.HPBarPosition + EnemyHPBarOffset + new Vector2(enemyHPPercentAfterCombo, 0);
                    if (enemyHPPercentAfterCombo == 0)
                    {
                        Drawing.DrawLine(CurrentHP, EndHP, 9, System.Drawing.Color.Green);
                    }
                    else
                    {
                        Drawing.DrawLine(CurrentHP, EndHP, 9, System.Drawing.Color.Yellow);
                    }
                }
            }
        }
Ejemplo n.º 2
0
        private static void Drawing_OnDraw(EventArgs args)
        {
            if (Rengar.IsDead)
            {
                return;
            }

            System.Drawing.Color drawColor = System.Drawing.Color.Blue;

            if (MenuHandler.GetCheckboxValue(MenuHandler.Drawing, "Draw Q"))
            {
                new Geometry.Polygon.Sector(Rengar.Position, Rengar.Position.Extend(Rengar.Position + Rengar.Direction, Q.Range).To3D((int)Rengar.Position.Z), (float)(Q.ConeAngleDegrees * Math.PI / 180), Q.Range).Draw(drawColor);
                DrawLinearSkillshot(Rengar.Position, Rengar.Position.Extend(Rengar.Position + Rengar.Direction, Q2.Range).To3D((int)Rengar.Position.Z), Q.Width, Q.Speed, Q.Range, Q.AllowedCollisionCount);
            }

            if (MenuHandler.GetCheckboxValue(MenuHandler.Drawing, "Draw Q Radius"))
            {
                Q.DrawRange(drawColor, 3);
            }

            if (MenuHandler.GetCheckboxValue(MenuHandler.Drawing, "Draw W"))
            {
                W.DrawRange(drawColor, 3);
            }

            if (MenuHandler.GetCheckboxValue(MenuHandler.Drawing, "Draw E"))
            {
                E.DrawRange(drawColor, 3);
            }

            if (MenuHandler.GetCheckboxValue(MenuHandler.Drawing, "Draw R Detection Range"))
            {
                R.DrawRange(drawColor, 3);
            }

            AIHeroClient closestEnemy = EntityManager.Heroes.Enemies.Where(a => a.MeetsCriteria() && a.IsInRange(Rengar, 3000)).OrderBy(a => a.Distance(Rengar)).FirstOrDefault();

            if (MenuHandler.GetCheckboxValue(MenuHandler.Drawing, "Draw Arrow to R Target") && Rengar.HasBuff("RengarR") && closestEnemy != null)
            {
                Rengar.Position.DrawArrow(closestEnemy.Position, drawColor);
            }

            if (MenuHandler.GetCheckboxValue(MenuHandler.Drawing, "Draw Killable Text"))
            {
                foreach (AIHeroClient enemy in EntityManager.Heroes.Enemies.Where(a => a.MeetsCriteria() && a.Health < a.ComboDamage()))
                {
                    Drawing.DrawText(enemy.Position.WorldToScreen(), System.Drawing.Color.GreenYellow, "Killable", 15);
                }
            }
        }
Ejemplo n.º 3
0
        public static void UseItems(List <Obj_AI_Base> enemies, bool ks)
        {
            #region Item Initialization
            InventorySlot QSS = (MenuHandler.GetCheckboxValue(MenuHandler.Items, "Use Quick Silver Sash")) ? Rengar.GetItem(ItemId.Quicksilver_Sash) : null,
                          MercurialsScimitar = (MenuHandler.GetCheckboxValue(MenuHandler.Items, "Use Mercurials Scimitar")) ? Rengar.GetItem(ItemId.Mercurial_Scimitar) : null,
                          RavenousHydra      = (MenuHandler.GetCheckboxValue(MenuHandler.Items, "Use Ravenous Hydra")) ? Rengar.GetItem(ItemId.Ravenous_Hydra) : null,
                          TitanicHydra       = (MenuHandler.GetCheckboxValue(MenuHandler.Items, "Use Titanic Hydra")) ? Rengar.GetItem(ItemId.Titanic_Hydra) : null,
                          Tiamat             = (MenuHandler.GetCheckboxValue(MenuHandler.Items, "Use Tiamat")) ? Rengar.GetItem(ItemId.Tiamat) : null,
                          Youmuus            = (MenuHandler.GetCheckboxValue(MenuHandler.Items, "Use Youmuus")) ? Rengar.GetItem(ItemId.Youmuus_Ghostblade) : null,
                          BOTRK             = (MenuHandler.GetCheckboxValue(MenuHandler.Items, "Use Blade of the Ruined King")) ? Rengar.GetItem(ItemId.Blade_of_the_Ruined_King) : null,
                          BilgewaterCutlass = (MenuHandler.GetCheckboxValue(MenuHandler.Items, "Use Bilgewater Cutlass")) ? Rengar.GetItem(ItemId.Bilgewater_Cutlass) : null,
                          HextechGunblade   = (MenuHandler.GetCheckboxValue(MenuHandler.Items, "Use Hextech Gunblade")) ? Rengar.GetItem(ItemId.Hextech_Gunblade) : null;
            #endregion

            #region QSS
            if (!hasDoneActionThisTick &&
                QSS.MeetsCriteria() &&
                (Rengar.HasBuffOfType(BuffType.Blind) ||
                 Rengar.HasBuffOfType(BuffType.Charm) ||
                 Rengar.HasBuffOfType(BuffType.Fear) ||
                 Rengar.HasBuffOfType(BuffType.Knockback) ||
                 Rengar.HasBuffOfType(BuffType.Silence) ||
                 Rengar.HasBuffOfType(BuffType.Snare) ||
                 Rengar.HasBuffOfType(BuffType.Stun) ||
                 Rengar.HasBuffOfType(BuffType.Taunt))
                //not being knocked back by dragon
                && !Rengar.HasBuff("moveawaycollision")
                //not standing on raka silence
                && !Rengar.HasBuff("sorakaepacify"))
            {
                hasDoneActionThisTick = QSS.Cast();
            }
            #endregion

            #region Mercurials Scimitar
            if (!hasDoneActionThisTick &&
                MercurialsScimitar.MeetsCriteria() &&
                (Rengar.HasBuffOfType(BuffType.Blind) ||
                 Rengar.HasBuffOfType(BuffType.Charm) ||
                 Rengar.HasBuffOfType(BuffType.Fear) ||
                 Rengar.HasBuffOfType(BuffType.Knockback) ||
                 Rengar.HasBuffOfType(BuffType.Silence) ||
                 Rengar.HasBuffOfType(BuffType.Snare) ||
                 Rengar.HasBuffOfType(BuffType.Stun) ||
                 Rengar.HasBuffOfType(BuffType.Taunt))
                //not being knocked back by dragon
                && !Rengar.HasBuff("moveawaycollision")
                //not standing on raka silence
                && !Rengar.HasBuff("sorakaepacify"))
            {
                hasDoneActionThisTick = MercurialsScimitar.Cast();
            }
            #endregion

            #region Ravenous Hydra
            if (!hasDoneActionThisTick &&
                RavenousHydra.MeetsCriteria() &&
                Rengar.IsAutoCanceling(enemies) &&
                (!ks || enemies.Where(a => a.MeetsCriteria() && a.Health <= DamageLibrary.GetItemDamage(Rengar, a, ItemId.Ravenous_Hydra)).FirstOrDefault() != null) &&
                (
                    enemies.Where(a => a.Type == GameObjectType.AIHeroClient && a.IsInRange(Rengar, 400)).Count() >= MenuHandler.Items.GetSliderValue("Champions to use Tiamat/Ravenous Hydra on") ||
                    enemies.Where(a => a.Type != GameObjectType.AIHeroClient && a.IsInRange(Rengar, 400)).Count() >= MenuHandler.Items.GetSliderValue("Minions to use Tiamat/Ravenous Hydra on")))
            {
                hasDoneActionThisTick = RavenousHydra.Cast();
            }
            #endregion

            #region Titanic Hydra
            if (!hasDoneActionThisTick &&
                TitanicHydra.MeetsCriteria() &&
                enemies.Where(a => a.IsInRange(Rengar, Rengar.GetAutoAttackRange())).FirstOrDefault() != null &&
                Rengar.IsAutoCanceling(enemies) &&
                (!ks || enemies.Where(a => a.MeetsCriteria() && a.Health <= DamageLibrary.GetItemDamage(Rengar, a, ItemId.Titanic_Hydra)).FirstOrDefault() != null))
            {
                hasDoneActionThisTick = TitanicHydra.Cast();
            }
            #endregion

            #region Tiamat
            if (!hasDoneActionThisTick &&
                Tiamat.MeetsCriteria() &&
                Rengar.IsAutoCanceling(enemies) &&
                enemies.Where(a => a.IsInRange(Rengar, 400)).FirstOrDefault() != null &&
                (!ks || enemies.Where(a => a.MeetsCriteria() && a.Health <= DamageLibrary.GetItemDamage(Rengar, a, ItemId.Tiamat)).FirstOrDefault() != null) &&
                (
                    enemies.Where(a => a.Type == GameObjectType.AIHeroClient && a.IsInRange(Rengar, 400)).Count() >= MenuHandler.Items.GetSliderValue("Champions to use Tiamat/Ravenous Hydra on") ||
                    enemies.Where(a => a.Type != GameObjectType.AIHeroClient && a.IsInRange(Rengar, 400)).Count() >= MenuHandler.Items.GetSliderValue("Minions to use Tiamat/Ravenous Hydra on")))
            {
                hasDoneActionThisTick = Tiamat.Cast();
            }
            #endregion

            #region Youmuus
            if (!hasDoneActionThisTick &&
                Youmuus.MeetsCriteria() &&
                Rengar.CountEnemyHeroesInRangeWithPrediction((int)Rengar.GetAutoAttackRange(), 0) >= 1)
            {
                hasDoneActionThisTick = Youmuus.Cast();
            }
            #endregion

            //all targeted spells that must be used on champions must be called after this
            enemies = enemies.Where(a => a.Type == GameObjectType.AIHeroClient).ToList();
            var target = enemies.OrderBy(a => a.Health).FirstOrDefault();

            #region Hextech Gunblade
            if (!hasDoneActionThisTick &&
                target != null &&
                HextechGunblade.MeetsCriteria() &&
                enemies.Where(a => a.IsInRange(Rengar, 700)).FirstOrDefault() != null &&
                (!ks || enemies.Where(a => a.MeetsCriteria() && a.Health <= DamageLibrary.GetItemDamage(Rengar, a, ItemId.Hextech_Gunblade)).FirstOrDefault() != null))
            {
                hasDoneActionThisTick = HextechGunblade.Cast(target);
            }
            #endregion

            #region BOTRK
            if (!hasDoneActionThisTick &&
                target != null &&
                BOTRK.MeetsCriteria() &&
                enemies.Where(a => a.IsInRange(Rengar, 550)).FirstOrDefault() != null &&
                (!ks || enemies.Where(a => a.MeetsCriteria() && a.Health <= DamageLibrary.GetItemDamage(Rengar, a, ItemId.Blade_of_the_Ruined_King)).FirstOrDefault() != null))
            {
                hasDoneActionThisTick = BOTRK.Cast(target);
            }
            #endregion

            #region Bilgewater Cutlass
            if (!hasDoneActionThisTick &&
                target != null &&
                BilgewaterCutlass.MeetsCriteria() &&
                enemies.Where(a => a.IsInRange(Rengar, 550)).FirstOrDefault() != null &&
                (!ks || enemies.Where(a => a.MeetsCriteria() && a.Health <= DamageLibrary.GetItemDamage(Rengar, a, ItemId.Bilgewater_Cutlass)).FirstOrDefault() != null))
            {
                hasDoneActionThisTick = BilgewaterCutlass.Cast(target);
            }
            #endregion
        }
Ejemplo n.º 4
0
 public static bool GetCheckboxValue(this Menu self, string text)
 {
     return(MenuHandler.GetCheckboxValue(self, text));
 }