private static float ComboDamage(AIHeroClient hero) { double damage = 0; if (Q.IsReady()) { damage += Damage.LSGetSpellDamage(player, hero, SpellSlot.Q); } if (W.IsReady()) { damage += Damage.LSGetSpellDamage(player, hero, SpellSlot.W); } if (E.IsReady()) { damage += Damage.LSGetSpellDamage(player, hero, SpellSlot.E); } if (R.IsReady()) { if (getCheckBoxItem(drawingsMenu, "rDamage")) { damage += Damage.LSGetSpellDamage(player, hero, SpellSlot.R) * 15; } } var ignitedmg = player.GetSummonerSpellDamage(hero, Damage.SummonerSpell.Ignite); if (player.Spellbook.CanUseSpell(player.GetSpellSlot("summonerdot")) == SpellState.Ready && hero.Health < damage + ignitedmg) { damage += ignitedmg; } return((float)damage); }
public static bool checkFuryMode(SpellSlot spellSlot, Obj_AI_Base target) { if (Damage.LSGetSpellDamage(player, target, spellSlot) > target.Health) { return(true); } if (canBeOpWIthQ(player.Position)) { return(false); } if (!fury) { return(true); } if (ObjectManager.Player.Spellbook.IsAutoAttacking) { return(false); } switch (getBoxItem(comboMenu, "furyMode")) { case 0: return(true); break; case 1: if (spellSlot != SpellSlot.Q && Q.IsReady()) { return(false); } break; case 2: if (spellSlot != SpellSlot.W && (W.IsReady() || renw)) { return(false); } break; case 3: if (spellSlot != SpellSlot.E && rene) { return(false); } break; default: return(true); break; } return(false); }
private void Clear() { var perc = getSliderItem(menuLC, "minmana") / 100f; if (player.Mana < player.MaxMana * perc) { return; } var bestpos = W.GetCircularFarmLocation( MinionManager.GetMinions(W.Range, MinionTypes.All, MinionTeam.NotAlly, MinionOrderTypes.MaxHealth), 100); if (getCheckBoxItem(menuLC, "usewLC") && W.IsReady() && getSliderItem(menuLC, "usewLChit") <= bestpos.MinionsHit) { W.Cast(bestpos.Position, getCheckBoxItem(config, "packets")); } var target = MinionManager.GetMinions(E.Range, MinionTypes.All, MinionTeam.NotAlly) .Where(i => i.Health <E.GetDamage(i) || i.Health> 500f) .OrderByDescending(i => i.Distance(player)) .FirstOrDefault(); if (getCheckBoxItem(menuLC, "useeLC") && E.CanCast(target)) { E.CastOnUnit(target, getCheckBoxItem(config, "packets")); } if (getCheckBoxItem(menuLC, "useqLC") && Q.IsReady()) { var targetQ = MinionManager.GetMinions(Q.Range, MinionTypes.All, MinionTeam.NotAlly) .Where( i => (i.Health < Damage.LSGetSpellDamage(player, i, SpellSlot.Q) && !(i.Health < player.GetAutoAttackDamage(i)))) .OrderByDescending(i => i.Health) .FirstOrDefault(); if (targetQ == null) { return; } Q.Cast(getCheckBoxItem(config, "packets")); Player.IssueOrder(GameObjectOrder.AutoAttack, targetQ); } }
private static float ComboDamage(AIHeroClient hero) { double damage = 0; if (Q.IsReady()) { damage += Damage.LSGetSpellDamage(player, hero, SpellSlot.Q); } if (E.IsReady()) { damage += Damage.LSGetSpellDamage(player, hero, SpellSlot.E); } //damage += ItemHandler.GetItemsDamage(target); var ignitedmg = player.GetSummonerSpellDamage(hero, Damage.SummonerSpell.Ignite); if (player.Spellbook.CanUseSpell(player.GetSpellSlot("summonerdot")) == SpellState.Ready && hero.Health < damage + ignitedmg) { damage += ignitedmg; } return (float)damage; }
private static void Combo() { AIHeroClient target = TargetSelector.GetTarget(E.Range * 2, DamageType.Physical); if (target == null) { return; } bool hasIgnite = player.Spellbook.CanUseSpell(player.GetSpellSlot("SummonerDot")) == SpellState.Ready; var FuryQ = Damage.LSGetSpellDamage(player, target, SpellSlot.Q) * 0.5; var FuryW = Damage.LSGetSpellDamage(player, target, SpellSlot.W) * 0.5; var eDmg = Damage.LSGetSpellDamage(player, target, SpellSlot.E); var combodamage = ComboDamage(target); if (getCheckBoxItem(comboMenu, "useIgnite") && hasIgnite && player.GetSummonerSpellDamage(target, Damage.SummonerSpell.Ignite) > target.Health) { player.Spellbook.CastSpell(player.GetSpellSlot("SummonerDot"), target); } if (player.LSDistance(target) > E.Range && E.IsReady() && (W.IsReady() || Q.IsReady()) && lastE.Equals(0) && getCheckBoxItem(comboMenu, "usee")) { var closeGapTarget = MinionManager.GetMinions(E.Range, MinionTypes.All, MinionTeam.NotAlly) .Where(i => i.LSDistance(target.ServerPosition) < Q.Range - 40) .OrderByDescending(i => Environment.Minion.countMinionsInrange(i.Position, Q.Range)) .FirstOrDefault(); if (closeGapTarget != null) { if ((canBeOpWIthQ(closeGapTarget.Position) || fury) && !rene) { if (E.CanCast(closeGapTarget)) { E.Cast(closeGapTarget.Position); lastE = System.Environment.TickCount; return; } } } } if (getCheckBoxItem(comboMenu, "useq") && Q.CanCast(target) && !renw && !player.LSIsDashing() && checkFuryMode(SpellSlot.Q, target) && (!W.IsReady() || ((W.IsReady() && !fury) || (player.Health < target.Health) || (Environment.Minion.countMinionsInrange(player.Position, Q.Range) + player.CountEnemiesInRange(Q.Range) > 3 && fury)))) { Q.Cast(); } var distance = player.LSDistance(target.Position); if (getCheckBoxItem(comboMenu, "usee") && lastE.Equals(0) && E.CanCast(target) && (eDmg > target.Health || (((W.IsReady() && canBeOpWIthQ(target.Position) && !rene) || (distance > target.LSDistance(player.Position.LSExtend(target.Position, E.Range)) - distance))))) { E.Cast(target.Position); lastE = System.Environment.TickCount; return; } if (getCheckBoxItem(comboMenu, "usee") && checkFuryMode(SpellSlot.E, target) && !lastE.Equals(0) && (eDmg + player.GetAutoAttackDamage(target) > target.Health || (((W.IsReady() && canBeOpWIthQ(target.Position) && !rene) || (distance < target.LSDistance(player.Position.LSExtend(target.Position, E.Range)) - distance) || player.LSDistance(target) > E.Range - 100)))) { var time = System.Environment.TickCount - lastE; if (time > 3600f || combodamage > target.Health || (player.LSDistance(target) > E.Range - 100)) { E.Cast(target.Position); lastE = 0; } } var data = Program.IncDamages.GetAllyData(player.NetworkId); if (((player.Health * 100 / player.MaxHealth) <= getSliderItem(comboMenu, "user") && data.DamageTaken > 30) || getSliderItem(comboMenu, "userindanger") < player.CountEnemiesInRange(R.Range)) { R.Cast(); } }