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); } } } }
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); } } }
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 }
public static bool GetCheckboxValue(this Menu self, string text) { return(MenuHandler.GetCheckboxValue(self, text)); }