private float ComboDamage(AIHeroClient hero) { double damage = 0; if (R.IsReady()) { damage += Damage.GetSpellDamageLS(player, hero, SpellSlot.R) * 2; } damage += ItemHandler.GetItemsDamage(hero); if (Q.IsReady()) { damage += Damage.GetSpellDamageLS(player, hero, SpellSlot.Q); } if (W.IsReady()) { damage += Damage.GetSpellDamageLS(player, hero, SpellSlot.W, 1); } if ((Items.HasItem(ItemHandler.Bft.Id) && Items.CanUseItem(ItemHandler.Bft.Id)) || (Items.HasItem(ItemHandler.Dfg.Id) && Items.CanUseItem(ItemHandler.Dfg.Id))) { damage = (float)(damage * 1.2); } 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 float ComboDamage(AIHeroClient hero) { float damage = 0; if (Q.IsReady()) { damage += (float)Damage.GetSpellDamageLS(player, hero, SpellSlot.Q); } if (W.IsReady()) { damage += (float)Damage.GetSpellDamageLS(player, hero, SpellSlot.W); } if (E.IsReady()) { damage += (float)Damage.GetSpellDamageLS(player, hero, SpellSlot.E); damage += (float)Damage.GetSpellDamageLS(player, hero, SpellSlot.E, 1); } if (R.IsReady()) { damage += (float)Damage.GetSpellDamageLS(player, hero, SpellSlot.R); damage += (float)player.CalcDamage(hero, Damage.DamageType.Magical, maoRStack); } if ((Items.HasItem(ItemHandler.Bft.Id) && Items.CanUseItem(ItemHandler.Bft.Id)) || (Items.HasItem(ItemHandler.Dfg.Id) && Items.CanUseItem(ItemHandler.Dfg.Id))) { damage = (float)(damage * 1.2); } if (player.Spellbook.CanUseSpell(player.GetSpellSlot("summonerdot")) == SpellState.Ready && hero.Health < damage + player.GetSummonerSpellDamage(hero, Damage.SummonerSpell.Ignite)) { damage += (float)player.GetSummonerSpellDamage(hero, Damage.SummonerSpell.Ignite); } damage += ItemHandler.GetItemsDamage(hero); return(damage); }
public double GetdTotalBuffDamage(Obj_AI_Base target, BuffInstance buff) { var caster = buff.Caster as AIHeroClient; var SpelLevel = caster.Spellbook.GetSpell(Slot).Level; if (caster.Spellbook.GetSpell(Slot).Level <= 0) { return(0); } if (Slot != SpellSlot.Unknown) { return(Damage.GetSpellDamageLS(caster, target, Slot, Stage) * Multiplier); } if (BuffName == "toxicshotparticle") { var dmg = new double[] { 24, 48, 72, 96, 120 }[SpelLevel - 1] +0.4 * caster.TotalMagicalDamage; return(Damage.CalcDamage(caster, target, Damage.DamageType.Magical, dmg)); } if (BuffName == "deadlyvenom") { return(GetBuffDamage(12, 4, 6, SpelLevel) * buff.Count); } if (BuffName == "MordekaiserChildrenOfTheGrave") { var dmg = (new double[] { 18.75, 22.5, 26.25 }[SpelLevel - 1] / 100 + 0.03 / 100) * caster.TotalMagicalDamage * target.MaxHealth; return(Damage.CalcDamage(caster, target, Damage.DamageType.Magical, dmg)); } if (BuffName == "dariushemo") { var dmg = (9 + SpelLevel + caster.FlatPhysicalDamageMod * 0.3d) * buff.Count; return(Damage.CalcDamage(caster, target, Damage.DamageType.Physical, dmg)); } if (BuffName == "brandablaze") { var dmg = target.MaxHealth * 0.08d; return(Damage.CalcDamage(caster, target, Damage.DamageType.Magical, dmg)); } if (BuffName == "summonerdot") { return(caster.GetSummonerSpellDamage(target, Damage.SummonerSpell.Ignite)); } if (BuffName == "tristanaechargesound") { var dmg = Damage.GetSpellDamageLS(caster, target, Slot, Stage) * buff.Count; return(Damage.CalcDamage(caster, target, Damage.DamageType.Physical, dmg)); } if (BuffName == "swainbeamdamage") { var dmg = Damage.GetSpellDamageLS(caster, target, Slot, Stage) * 3; return(Damage.CalcDamage(caster, target, Damage.DamageType.Magical, dmg)); } if (BuffName == "SwainTorment") { var dmg = new double[] { 81, 128, 176, 228, 282 }[SpelLevel - 1] + new double[] { 0.86, 0.89, 0.92, 0.93, 0.96 }[SpelLevel - 1] *caster.TotalMagicalDamage; return(Damage.CalcDamage(caster, target, Damage.DamageType.Magical, dmg)); } return(0); }
private static float ComboDamage(AIHeroClient hero) { double damage = 0; if (activatedP) { return((float)player.GetAutoAttackDamage(hero, true)); } if (Q.IsReady()) { damage += Damage.GetSpellDamageLS(player, hero, SpellSlot.Q) * 2f; } if (W.IsReady() || activatedW) { damage += Damage.GetSpellDamageLS(player, hero, SpellSlot.W); } if (E.IsReady()) { damage += Damage.GetSpellDamageLS(player, hero, SpellSlot.E); } if (R.IsReady()) { damage += Damage.GetSpellDamageLS(player, hero, SpellSlot.R) * hero.Distance(player) > 1000 ? 2f : 1.3f; } //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 float ComboDamage(AIHeroClient hero) { double damage = 0; if (E.IsReady() && E.Instance.SData.Mana < player.Mana) { damage += Damage.GetSpellDamageLS(player, hero, SpellSlot.E); } if (R.IsReady() && config.Item("Rdamage").GetValue <bool>()) { damage += Damage.GetSpellDamageLS(player, hero, SpellSlot.R) * 15; } if (Q.IsReady() && config.Item("Qdamage").GetValue <bool>()) { damage += Q.GetDamage(hero) + player.GetAutoAttackDamage(hero); } //damage += ItemHandler.GetItemsDamage(hero); 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 float ComboDamage(AIHeroClient hero) { double damage = 0; damage += getQdamage(hero); if (E.IsReady()) { damage += Damage.GetSpellDamageLS(player, hero, SpellSlot.E); } if (W.IsReady() || player.HasBuff("gragaswattackbuff")) { damage += getWdamage(hero); } if (R.IsReady()) { damage += Damage.GetSpellDamageLS(player, hero, SpellSlot.R); } //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 float ComboDamage(AIHeroClient hero) { double damage = 0; if (Q.IsReady()) { damage += Damage.GetSpellDamageLS(player, hero, SpellSlot.Q); } if (W.IsReady()) { damage += Damage.GetSpellDamageLS(player, hero, SpellSlot.W); } if (E.IsReady()) { damage += Damage.GetSpellDamageLS(player, hero, SpellSlot.E); } if (R.IsReady()) { damage += Damage.GetSpellDamageLS(player, hero, SpellSlot.R); } damage += ItemHandler.GetItemsDamage(hero); 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 float ComboDamage(AIHeroClient hero) { double damage = 0; if (Q.IsReady()) { damage += Damage.GetSpellDamageLS(player, hero, SpellSlot.Q); } if (W.IsReady() || player.GetSpell(SpellSlot.W).State == SpellState.Surpressed) { damage += player.CalcDamage(hero, Damage.DamageType.Physical, Wdmg(hero)); } if (E.IsReady()) { damage += Damage.GetSpellDamageLS(player, hero, SpellSlot.E); } if ((Items.HasItem(ItemHandler.Bft.Id) && Items.CanUseItem(ItemHandler.Bft.Id)) || (Items.HasItem(ItemHandler.Dfg.Id) && Items.CanUseItem(ItemHandler.Dfg.Id))) { damage = (damage * 1.2); } if (player.Spellbook.CanUseSpell(player.GetSpellSlot("summonerdot")) == SpellState.Ready && hero.Health < damage + player.GetSummonerSpellDamage(hero, Damage.SummonerSpell.Ignite)) { damage += player.GetSummonerSpellDamage(hero, Damage.SummonerSpell.Ignite); } damage += ItemHandler.GetItemsDamage(hero); return((float)damage); }
public static float ComboDamage(AIHeroClient hero) { double damage = 0; if (Q.IsReady()) { damage += Damage.GetSpellDamageLS(player, hero, SpellSlot.Q); } if (W.IsReady()) { damage += Damage.GetSpellDamageLS(player, hero, SpellSlot.W); } if ((Items.HasItem(ItemHandler.Bft.Id) && Items.CanUseItem(ItemHandler.Bft.Id)) || (Items.HasItem(ItemHandler.Dfg.Id) && Items.CanUseItem(ItemHandler.Dfg.Id))) { damage = (float)(damage * 1.2); } if (player.Spellbook.CanUseSpell(player.GetSpellSlot("summonerdot")) == SpellState.Ready) { damage += player.GetSummonerSpellDamage(hero, Damage.SummonerSpell.Ignite); } if (R.IsReady()) { damage += Damage.GetSpellDamageLS(player, hero, SpellSlot.R); } damage += ItemHandler.GetItemsDamage(hero); return((float)damage); }
private static double GetRDmagage(Obj_AI_Base hero) { return(Damage.GetSpellDamageLS(player, hero, SpellSlot.R) * 5 + Damage.CalcDamage( player, hero, Damage.DamageType.Magical, new double[5] { 40, 80, 120, 160, 200 }[R.Level - 1] +0.45 * (double)player.FlatMagicDamageMod)); }
private static float getEdamage(AIHeroClient target) { if (!E.IsReady()) { return(0); } var num = ActiveE ? 1 : 2; var dmg = Damage.GetSpellDamageLS(player, target, SpellSlot.E) * num; return((float)(Enhanced ? dmg * 1.5f : dmg)); }
public bool checkFuryMode(SpellSlot spellSlot, Obj_AI_Base target) { if (Damage.GetSpellDamageLS(player, target, spellSlot) > target.Health) { return(true); } if (canBeOpWIthQ(player.Position) && spellSlot != SpellSlot.Q) { return(false); } if (!fury) { return(true); } if (player.Spellbook.IsAutoAttacking) { return(false); } switch (config.Item("furyMode", true).GetValue <StringList>().SelectedIndex) { case 0: return(true); break; case 1: if (spellSlot != SpellSlot.Q && Q.IsReady(500)) { return(false); } break; case 2: if (spellSlot != SpellSlot.W && (W.IsReady(500) || renw) && target.IsInAttackRange()) { return(false); } break; case 3: if (spellSlot != SpellSlot.E && rene && E.IsReady(500)) { return(false); } break; default: return(true); break; } return(true); }
private static void Combo() { Ulti(); float perc = (float)config.Item("minmana", true).GetValue <Slider>().Value / 100f; var minHit = config.Item("useemin", true).GetValue <Slider>().Value; AIHeroClient target = LeagueSharp.Common.TargetSelector.GetTarget(R.Range, LeagueSharp.Common.TargetSelector.DamageType.Magical); if (target == null) { return; } if (config.Item("useItems").GetValue <bool>()) { ItemHandler.UseItems(target, config, ComboDamage(target)); } var buffs = CombatHelper.SejuaniCountFrostHero(E.Range); if (E.IsReady() && me.Distance(target.Position) < E.Range && buffs > 0 && ((buffs > minHit) || (Damage.GetSpellDamageLS(me, target, SpellSlot.E) >= target.Health) || (me.Distance(target) > config.Item("useEminr", true).GetValue <Slider>().Value&& me.Distance(target) < E.Range && buffs == 1))) { if (!(Q.IsReady() && me.Mana - me.Spellbook.GetSpell(SpellSlot.Q).SData.Mana < me.MaxMana * perc) || !(W.IsReady() && me.Mana - me.Spellbook.GetSpell(SpellSlot.W).SData.Mana < me.MaxMana * perc)) { E.Cast(); } } if (Q.IsReady() && config.Item("useq", true).GetValue <bool>() && me.Distance(target.Position) > config.Item("useQminr", true).GetValue <Slider>().Value) { var hits = Q.GetHitCount(HitChance.High); if (target.CountEnemiesInRange(Q.Width) >= hits) { if (Program.IsSPrediction) { Q.SPredictionCast(target, HitChance.High); } else { Q.CastIfHitchanceEquals(target, HitChance.High); } } } bool hasIgnite = me.Spellbook.CanUseSpell(me.GetSpellSlot("SummonerDot")) == SpellState.Ready; var ignitedmg = (float)me.GetSummonerSpellDamage(target, Damage.SummonerSpell.Ignite); if (ignitedmg > target.Health && hasIgnite && !E.CanCast(target) && !W.CanCast(target) && !Q.CanCast(target)) { me.Spellbook.CastSpell(me.GetSpellSlot("SummonerDot"), target); } }
private void Clear() { float perc = (float)config.Item("minmana").GetValue <Slider>().Value / 100f; if (player.Mana < player.MaxMana * perc) { return; } var bestpos = W.GetCircularFarmLocation( MinionManager.GetMinions(W.Range, MinionTypes.All, MinionTeam.NotAlly, MinionOrderTypes.MaxHealth), 100); if (config.Item("usewLC").GetValue <bool>() && W.IsReady() && config.Item("usewLChit").GetValue <Slider>().Value <= bestpos.MinionsHit) { W.Cast(bestpos.Position); } var target = MinionManager.GetMinions(E.Range, MinionTypes.All, MinionTeam.NotAlly) .Where(i => i.Health <E.GetDamage(i) || i.Health> 600f) .OrderByDescending(i => i.Distance(player)) .FirstOrDefault(); if (config.Item("useeLC").GetValue <bool>() && E.CanCast(target)) { E.CastOnUnit(target); } if (config.Item("useqLC").GetValue <bool>() && Q.IsReady()) { var targetQ = MinionManager.GetMinions(Q.Range, MinionTypes.All, MinionTeam.NotAlly) .Where( i => (i.Health < Damage.GetSpellDamageLS(player, i, SpellSlot.Q) && !(i.Health < player.GetAutoAttackDamage(i)))) .OrderByDescending(i => i.Health) .FirstOrDefault(); if (targetQ == null) { return; } Q.Cast(); EloBuddy.Player.IssueOrder(GameObjectOrder.AutoAttack, targetQ); } }
private static float ComboDamage(AIHeroClient hero) { float damage = 0; if (Q.IsReady() && player.Spellbook.GetSpell(SpellSlot.Q).SData.Mana < player.Mana) { damage += (float)Damage.GetSpellDamageLS(player, hero, SpellSlot.Q); } if (E.IsReady() && player.Spellbook.GetSpell(SpellSlot.E).SData.Mana < player.Mana) { damage += (float)Damage.GetSpellDamageLS(player, hero, SpellSlot.E); } if (player.Spellbook.CanUseSpell(player.GetSpellSlot("summonerdot")) == SpellState.Ready && hero.Health - damage < (float)player.GetSummonerSpellDamage(hero, Damage.SummonerSpell.Ignite)) { damage += (float)player.GetSummonerSpellDamage(hero, Damage.SummonerSpell.Ignite); } return(damage); }
public static float getQdamage(Obj_AI_Base target) { var damage = 0d; if (Q.IsReady()) { if (savedQ == null) { damage += Damage.GetSpellDamageLS(player, target, SpellSlot.Q); } else { if (savedQ.deltaT() > 2000) { damage += Damage.GetSpellDamageLS(player, target, SpellSlot.Q) * 1.5f; } else { damage += Damage.GetSpellDamageLS(player, target, SpellSlot.Q); } } } if (target.Name.Contains("SRU_Dragon")) { var dsBuff = player.GetBuff("s5test_dragonslayerbuff"); if (dsBuff != null) { damage = damage * (1f - 0.07f * dsBuff.Count); } } if (target.Name.Contains("SRU_Baron")) { var bBuff = player.GetBuff("barontarget"); if (bBuff != null) { damage = damage * 0.5f; } } return((float)damage); }
private static float ComboDamage(AIHeroClient hero) { float damage = 0; if (Q.IsReady()) { damage += (float)Damage.GetSpellDamageLS(me, hero, SpellSlot.Q); } if (E.IsReady() || E.Instance.State == SpellState.Surpressed) { damage += (float)Damage.GetSpellDamageLS(me, hero, SpellSlot.E); } if (W.IsReady()) { double watk = (new double[] { 4, 4.5, 5, 5.5, 6 }[W.Level - 1] +hero.FlatMagicDamageMod * 0.03) / 100 * hero.Health; double wdot = new double[] { 40, 70, 100, 130, 160 }[W.Level - 1] + (new double[] { 4, 6, 8, 10, 12 }[W.Level - 1] / 100) * me.MaxHealth; damage += (float)me.CalcDamage(hero, Damage.DamageType.Magical, wdot); damage += (float)me.CalcDamage(hero, Damage.DamageType.Magical, watk); } if (R.IsReady()) { damage += (float)Damage.GetSpellDamageLS(me, hero, SpellSlot.R); } if ((Items.HasItem(ItemHandler.Bft.Id) && Items.CanUseItem(ItemHandler.Bft.Id)) || (Items.HasItem(ItemHandler.Dfg.Id) && Items.CanUseItem(ItemHandler.Dfg.Id))) { damage = (float)(damage * 1.2); } if (me.Spellbook.CanUseSpell(me.GetSpellSlot("summonerdot")) == SpellState.Ready && hero.Health < damage + me.GetSummonerSpellDamage(hero, Damage.SummonerSpell.Ignite)) { damage += (float)me.GetSummonerSpellDamage(hero, Damage.SummonerSpell.Ignite); } damage += ItemHandler.GetItemsDamage(hero); return(damage); }
private static float ComboDamage(AIHeroClient hero) { double damage = 0; if (config.Item("drawcomboQ", true).GetValue <bool>()) { damage += Damage.GetSpellDamageLS(player, hero, SpellSlot.Q) * 5; } if (E.IsReady()) { damage += Damage.GetSpellDamageLS(player, hero, SpellSlot.E); } //damage += ItemHandler.GetItemsDamage(hero); 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 = LeagueSharp.Common.TargetSelector.GetTarget(1000, LeagueSharp.Common.TargetSelector.DamageType.Magical); if (config.Item("usee", true).GetValue <bool>() && !VorpalSpikes && E.GetHitCount() > 0 && (Environment.Turret.countTurretsInRange(player) < 1 || target.Health < 150)) { E.Cast(); } if (target == null) { return; } if (config.Item("selected", true).GetValue <bool>()) { target = CombatHelper.SetTarget(target, LeagueSharp.Common.TargetSelector.GetSelectedTarget()); } var combodmg = ComboDamage(target); if (config.Item("useItems").GetValue <bool>()) { ItemHandler.UseItems(target, config, combodmg); } bool hasFlash = player.Spellbook.CanUseSpell(player.GetSpellSlot("SummonerFlash")) == SpellState.Ready; bool hasIgnite = player.Spellbook.CanUseSpell(player.GetSpellSlot("SummonerDot")) == SpellState.Ready; var ignitedmg = (float)player.GetSummonerSpellDamage(target, Damage.SummonerSpell.Ignite); if (hasIgnite && ignitedmg > target.Health && !R.CanCast(target) && !W.CanCast(target) && !Q.CanCast(target)) { player.Spellbook.CastSpell(player.GetSpellSlot("SummonerDot"), target); } if (hasIgnite && combodmg > target.Health && R.CanCast(target) && (float)Damage.GetSpellDamageLS(player, target, SpellSlot.R) < target.Health) { player.Spellbook.CastSpell(player.GetSpellSlot("SummonerDot"), target); } if (hasIgnite) { flashRblock = true; } else { flashRblock = false; } if (config.Item("useq", true).GetValue <bool>() && Q.IsReady()) { int qHit = config.Item("qHit", true).GetValue <Slider>().Value; var hitC = HitChance.VeryHigh; switch (qHit) { case 1: hitC = HitChance.Low; break; case 2: hitC = HitChance.Medium; break; case 3: hitC = HitChance.High; break; case 4: hitC = HitChance.VeryHigh; break; } if (Program.IsSPrediction) { Q.SPredictionCast(target, hitC); } else { var pred = Q.GetPrediction(target); if (pred.Hitchance >= hitC) { if (target.IsMoving) { if (pred.CastPosition.Distance(target.ServerPosition) > 250f) { Q.Cast(target.Position.Extend(pred.CastPosition, 250f)); } else { Q.Cast(pred.CastPosition); } } else { Q.CastIfHitchanceEquals(target, hitC); } } } } if (config.Item("usew", true).GetValue <bool>() && W.CanCast(target)) { if (Program.IsSPrediction) { W.SPredictionCast(target, HitChance.High); } else { W.Cast(target); } } if (config.Item("UseFlashC", true).GetValue <bool>() && !flashRblock && R.IsReady() && hasFlash && !CombatHelper.CheckCriticalBuffs(target) && player.GetSpell(SpellSlot.R).SData.Mana <= player.Mana && player.Distance(target.Position) >= 400 && player.GetSpellDamageLS(target, SpellSlot.R) > target.Health && !Q.IsReady() && !W.IsReady() && player.Distance(target.Position) <= RFlash.Range && !player.Position.Extend(target.Position, 400).IsWall()) { player.Spellbook.CastSpell( player.GetSpellSlot("SummonerFlash"), player.Position.Extend(target.Position, 400).To3DWorld()); LeagueSharp.Common.Utility.DelayAction.Add(50, () => R.Cast(target)); } var rtarget = HeroManager.Enemies.Where(e => e.IsValidTargetLS() && R.CanCast(e)) .OrderByDescending(e => LeagueSharp.Common.TargetSelector.GetPriority(e)) .FirstOrDefault(); if (config.Item("user", true).GetValue <bool>() && rtarget != null && player.GetSpellDamageLS(target, SpellSlot.R) > rtarget.Health) { R.Cast(rtarget); } }
private void Combo() { AIHeroClient target = LeagueSharp.Common.TargetSelector.GetTarget(700, LeagueSharp.Common.TargetSelector.DamageType.Physical); if (target == null) { return; } var combodamage = ComboDamage(target); if (config.Item("useItems").GetValue <bool>() && !GarenQ) { ItemHandler.UseItems(target, config, combodamage); } bool hasIgnite = player.Spellbook.CanUseSpell(player.GetSpellSlot("SummonerDot")) == SpellState.Ready; var ignitedmg = (float)player.GetSummonerSpellDamage(target, Damage.SummonerSpell.Ignite); if (config.Item("useIgnite").GetValue <bool>() && hasIgnite && ((R.IsReady() && ignitedmg + R.GetDamage(target) > target.Health) || ignitedmg > target.Health) && (target.Distance(player) > E.Range || player.HealthPercent < 20)) { player.Spellbook.CastSpell(player.GetSpellSlot("SummonerDot"), target); } if (config.Item("useq", true).GetValue <bool>() && Q.IsReady() && player.Distance(target) > player.AttackRange && !GarenE && !GarenQ && player.Distance(target) > Orbwalking.GetRealAutoAttackRange(target) && CombatHelper.IsPossibleToReachHim(target, 0.30f, new float[5] { 1.5f, 2f, 2.5f, 3f, 3.5f }[Q.Level - 1])) { Q.Cast(); } if (config.Item("useq", true).GetValue <bool>() && Q.IsReady() && !GarenQ && (!GarenE || (Q.IsReady() && Damage.GetSpellDamageLS(player, target, SpellSlot.Q) > target.Health))) { if (GarenE) { E.Cast(); } Q.Cast(); EloBuddy.Player.IssueOrder(GameObjectOrder.AutoAttack, target); } if (config.Item("usee", true).GetValue <bool>() && E.IsReady() && !Q.IsReady() && !GarenQ && !GarenE && !EloBuddy.SDK.Orbwalker.CanAutoAttack && !player.Spellbook.IsAutoAttacking && player.CountEnemiesInRange(E.Range) > 0) { E.Cast(); } var targHP = target.Health + 20 - CombatHelper.IgniteDamage(target); var rLogic = config.Item("user", true).GetValue <bool>() && R.IsReady() && target.IsValidTargetLS() && (!config.Item("ult" + target.BaseSkinName, true).GetValue <bool>() || player.CountEnemiesInRange(1500) == 1) && getRDamage(target) > targHP && targHP > 0; if (rLogic && target.Distance(player) < R.Range) { if (!(GarenE && target.Health < getEDamage(target, true) && target.Distance(player) < E.Range)) { if (GarenE) { E.Cast(); } else { R.Cast(target); } } } var data = Program.IncDamages.GetAllyData(player.NetworkId); if (config.Item("usew", true).GetValue <bool>() && W.IsReady() && target.IsFacing(player) && data.DamageTaken > 40) { W.Cast(); } bool hasFlash = player.Spellbook.CanUseSpell(player.GetSpellSlot("SummonerFlash")) == SpellState.Ready; if (config.Item("useFlash", true).GetValue <bool>() && hasFlash && rLogic && target.Distance(player) < R.Range + 425 && target.Distance(player) > R.Range + 250 && !Q.IsReady() && !CombatHelper.IsFacing(target, player.Position) && !GarenQ) { if (target.Distance(player) < R.Range + 300 && player.MoveSpeed > target.MoveSpeed) { return; } if (GarenE) { E.Cast(); } else if (!player.Position.Extend(target.Position, 425f).IsWall()) { } { player.Spellbook.CastSpell( player.GetSpellSlot("SummonerFlash"), player.Position.Extend(target.Position, 425f).To3DWorld()); } } }
public static float GetChampDmgToMe(AIHeroClient enemy) { double result = 0; double basicDmg = 0; int attacks = (int)Math.Floor(enemy.AttackSpeedMod * 5); for (int i = 0; i < attacks; i++) { if (enemy.Crit > 0) { basicDmg += enemy.GetAutoAttackDamage(player) * (1 + enemy.Crit / attacks); } else { basicDmg += enemy.GetAutoAttackDamage(player); } } result += basicDmg; var spells = enemy.Spellbook.Spells; foreach (var spell in spells) { var t = spell.CooldownExpires - Game.Time; if (t < 0.5) { switch (enemy.BaseSkinName) { case "Ahri": if (spell.Slot == SpellSlot.Q) { result += (Damage.GetSpellDamageLS(enemy, player, spell.Slot)); result += (Damage.GetSpellDamageLS(enemy, player, spell.Slot, 1)); } else { result += Damage.GetSpellDamageLS(enemy, player, spell.Slot); } break; case "Akali": if (spell.Slot == SpellSlot.R) { result += (Damage.GetSpellDamageLS(enemy, player, spell.Slot) * spell.Ammo); } else if (spell.Slot == SpellSlot.Q) { result += (Damage.GetSpellDamageLS(enemy, player, spell.Slot)); result += (Damage.GetSpellDamageLS(enemy, player, spell.Slot, 1)); } else { result += Damage.GetSpellDamageLS(enemy, player, spell.Slot); } break; case "Amumu": if (spell.Slot == SpellSlot.W) { result += (Damage.GetSpellDamageLS(enemy, player, spell.Slot) * 5); } else { result += Damage.GetSpellDamageLS(enemy, player, spell.Slot); } break; case "Cassiopeia": if (spell.Slot == SpellSlot.Q || spell.Slot == SpellSlot.E || spell.Slot == SpellSlot.W) { result += (Damage.GetSpellDamageLS(enemy, player, spell.Slot) * 2); } else { result += Damage.GetSpellDamageLS(enemy, player, spell.Slot); } break; case "Fiddlesticks": if (spell.Slot == SpellSlot.W || spell.Slot == SpellSlot.E) { result += (Damage.GetSpellDamageLS(enemy, player, spell.Slot) * 5); } else { result += Damage.GetSpellDamageLS(enemy, player, spell.Slot); } break; case "Garen": if (spell.Slot == SpellSlot.E) { result += (Damage.GetSpellDamageLS(enemy, player, spell.Slot) * 3); } else { result += Damage.GetSpellDamageLS(enemy, player, spell.Slot); } break; case "Irelia": if (spell.Slot == SpellSlot.W) { result += (Damage.GetSpellDamageLS(enemy, player, spell.Slot) * attacks); } else { result += Damage.GetSpellDamageLS(enemy, player, spell.Slot); } break; case "Karthus": if (spell.Slot == SpellSlot.Q) { result += (Damage.GetSpellDamageLS(enemy, player, spell.Slot) * 4); } else { result += Damage.GetSpellDamageLS(enemy, player, spell.Slot); } break; case "KogMaw": if (spell.Slot == SpellSlot.W) { result += (Damage.GetSpellDamageLS(enemy, player, spell.Slot) * attacks); } else { result += Damage.GetSpellDamageLS(enemy, player, spell.Slot); } break; case "LeeSin": if (spell.Slot == SpellSlot.Q) { result += Damage.GetSpellDamageLS(enemy, player, spell.Slot); result += Damage.GetSpellDamageLS(enemy, player, spell.Slot, 1); } else { result += Damage.GetSpellDamageLS(enemy, player, spell.Slot); } break; case "Lucian": if (spell.Slot == SpellSlot.R) { result += Damage.GetSpellDamageLS(enemy, player, spell.Slot) * 4; } else { result += Damage.GetSpellDamageLS(enemy, player, spell.Slot); } break; case "Nunu": if (spell.Slot != SpellSlot.R && spell.Slot != SpellSlot.Q) { result += Damage.GetSpellDamageLS(enemy, player, spell.Slot); } else { result += Damage.GetSpellDamageLS(enemy, player, spell.Slot); } break; case "MasterYi": if (spell.Slot != SpellSlot.E) { result += Damage.GetSpellDamageLS(enemy, player, spell.Slot) * attacks; } else { result += Damage.GetSpellDamageLS(enemy, player, spell.Slot); } break; case "MonkeyKing": if (spell.Slot != SpellSlot.R) { result += Damage.GetSpellDamageLS(enemy, player, spell.Slot) * 4; } else { result += Damage.GetSpellDamageLS(enemy, player, spell.Slot); } break; case "Pantheon": if (spell.Slot == SpellSlot.E) { result += Damage.GetSpellDamageLS(enemy, player, spell.Slot) * 3; } else if (spell.Slot == SpellSlot.R) { result += 0; } else { result += Damage.GetSpellDamageLS(enemy, player, spell.Slot); } break; case "Rammus": if (spell.Slot == SpellSlot.R) { result += Damage.GetSpellDamageLS(enemy, player, spell.Slot) * 6; } else { result += Damage.GetSpellDamageLS(enemy, player, spell.Slot); } break; case "Riven": if (spell.Slot == SpellSlot.Q) { result += RivenDamageQ(spell, enemy, player); } else { result += Damage.GetSpellDamageLS(enemy, player, spell.Slot); } break; case "Viktor": if (spell.Slot == SpellSlot.R) { result += Damage.GetSpellDamageLS(enemy, player, spell.Slot); result += Damage.GetSpellDamageLS(enemy, player, spell.Slot, 1) * 5; } else { result += Damage.GetSpellDamageLS(enemy, player, spell.Slot); } break; case "Vladimir": if (spell.Slot == SpellSlot.E) { result += Damage.GetSpellDamageLS(enemy, player, spell.Slot) * 2; } else { result += Damage.GetSpellDamageLS(enemy, player, spell.Slot); } break; default: result += Damage.GetSpellDamageLS(enemy, player, spell.Slot); break; } } } if (enemy.Spellbook.CanUseSpell(player.GetSpellSlot("summonerdot")) == SpellState.Ready) { result += enemy.GetSummonerSpellDamage(player, Damage.SummonerSpell.Ignite); } foreach (var minions in ObjectManager.Get <Obj_AI_Minion>() .Where(i => i.Distance(player.Position) < 750 && i.IsMinion && !i.IsAlly && !i.IsDead)) { result += minions.GetAutoAttackDamage(player, false); } return((float)result); }
private void Combo() { AIHeroClient target = LeagueSharp.Common.TargetSelector.GetTarget(E.Range, LeagueSharp.Common.TargetSelector.DamageType.Magical); if (target == null) { if (maoR) { if (!turnOff) { turnOff = true; LeagueSharp.Common.Utility.DelayAction.Add(2600, () => turnOffUlt()); } } return; } if (config.Item("selected", true).GetValue <bool>()) { target = CombatHelper.SetTarget(target, LeagueSharp.Common.TargetSelector.GetSelectedTarget()); orbwalker.ForceTarget(target); } var manaperc = player.Mana / player.MaxMana * 100; if (player.HasBuff("MaokaiSapMagicMelee") && player.Distance(target) < Orbwalking.GetRealAutoAttackRange(target) + 75) { return; } if (config.Item("useItems").GetValue <bool>()) { ItemHandler.UseItems(target, config, ComboDamage(target)); } if (config.Item("useq", true).GetValue <bool>() && Q.CanCast(target) && !player.Spellbook.IsAutoAttacking && ((config.Item("useqroot", true).GetValue <bool>() && (!target.HasBuffOfType(BuffType.Snare) && !target.HasBuffOfType(BuffType.Stun) && !target.HasBuffOfType(BuffType.Suppression))) || !config.Item("useqroot", true).GetValue <bool>()) && !W.CanCast(target)) { Q.Cast(target); } if (config.Item("usew", true).GetValue <bool>()) { if (config.Item("blocke", true).GetValue <bool>() && player.Distance(target) < W.Range && W.IsReady() && E.CanCast(target)) { E.Cast(target); CastR(target); LeagueSharp.Common.Utility.DelayAction.Add(100, () => W.Cast(target)); } else if (W.CanCast(target)) { CastR(target); W.Cast(target); } } if (config.Item("usee", true).GetValue <bool>() && E.CanCast(target)) { if (!config.Item("blocke", true).GetValue <bool>() || config.Item("blocke", true).GetValue <bool>() && !W.IsReady()) { E.Cast(target); } } if (R.IsReady()) { bool enoughEnemies = config.Item("user", true).GetValue <Slider>().Value <= player.CountEnemiesInRange(R.Range - 50); AIHeroClient targetR = LeagueSharp.Common.TargetSelector.GetTarget(R.Range, LeagueSharp.Common.TargetSelector.DamageType.Magical); if (maoR && targetR != null && ((config.Item("rks", true).GetValue <bool>() && (Damage.GetSpellDamageLS(player, targetR, SpellSlot.R) + player.CalcDamage(target, Damage.DamageType.Magical, maoRStack)) > targetR.Health) || manaperc < config.Item("rmana", true).GetValue <Slider>().Value || (!enoughEnemies && player.Distance(targetR) > R.Range - 50))) { R.Cast(); } if (targetR != null && !maoR && manaperc > config.Item("rmana", true).GetValue <Slider>().Value&& (enoughEnemies || R.IsInRange(targetR))) { R.Cast(); } } var ignitedmg = (float)player.GetSummonerSpellDamage(target, Damage.SummonerSpell.Ignite); bool hasIgnite = player.Spellbook.CanUseSpell(player.GetSpellSlot("SummonerDot")) == SpellState.Ready; if (config.Item("useIgnite").GetValue <bool>() && ignitedmg > target.Health && hasIgnite && !E.CanCast(target)) { player.Spellbook.CastSpell(player.GetSpellSlot("SummonerDot"), target); } }
private void Combo() { AIHeroClient target = LeagueSharp.Common.TargetSelector.GetTarget(E.Range * 2, LeagueSharp.Common.TargetSelector.DamageType.Physical); if (target == null) { return; } if (config.Item("useItems").GetValue <bool>()) { ItemHandler.UseItems(target, config, ComboDamage(target)); } bool hasIgnite = player.Spellbook.CanUseSpell(player.GetSpellSlot("SummonerDot")) == SpellState.Ready; var FuryQ = Damage.GetSpellDamageLS(player, target, SpellSlot.Q) * 0.5; var FuryW = Damage.GetSpellDamageLS(player, target, SpellSlot.W) * 0.5; var eDmg = Damage.GetSpellDamageLS(player, target, SpellSlot.E); var combodamage = ComboDamage(target); if (config.Item("useIgnite").GetValue <bool>() && hasIgnite && player.GetSummonerSpellDamage(target, Damage.SummonerSpell.Ignite) > target.Health) { player.Spellbook.CastSpell(player.GetSpellSlot("SummonerDot"), target); } if (player.Distance(target) > E.Range && E.IsReady() && (W.IsReady() || Q.IsReady()) && lastE.Equals(0) && config.Item("usee", true).GetValue <bool>()) { var closeGapTarget = MinionManager.GetMinions(E.Range, MinionTypes.All, MinionTeam.NotAlly) .Where(i => i.Distance(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 (config.Item("useq", true).GetValue <bool>() && Q.CanCast(target) && !renw && !player.IsDashing() && checkFuryMode(SpellSlot.Q, target)) { Q.Cast(); } var distance = player.Distance(target.Position); if (config.Item("usee", true).GetValue <bool>() && lastE.Equals(0) && E.CanCast(target) && (eDmg > target.Health || (((W.IsReady() && canBeOpWIthQ(target.Position) && !rene) || (distance > target.Distance(player.Position.Extend(target.Position, E.Range)) - distance))))) { E.Cast(target.Position); lastE = System.Environment.TickCount; return; } if (config.Item("usee", true).GetValue <bool>() && checkFuryMode(SpellSlot.E, target) && !lastE.Equals(0) && (eDmg + player.GetAutoAttackDamage(target) > target.Health || (((W.IsReady() && canBeOpWIthQ(target.Position) && !rene) || (distance < target.Distance(player.Position.Extend(target.Position, E.Range)) - distance) || player.Distance(target) > E.Range - 100)))) { var time = System.Environment.TickCount - lastE; if (time > 3600f || combodamage > target.Health || (player.Distance(target) > E.Range - 100)) { E.Cast(target.Position); lastE = 0; } } var data = Program.IncDamages.GetAllyData(player.NetworkId); if (((player.Health * 100 / player.MaxHealth) <= config.Item("user", true).GetValue <Slider>().Value&& data.DamageTaken > 30) || config.Item("userindanger", true).GetValue <Slider>().Value <= player.CountEnemiesInRange(R.Range)) { R.Cast(); } }