public static void Combo() { var target = TargetSelector2.GetTarget(GetDynamicRange() + 100, DamageType.Magical); var t = TargetSelector2.GetTarget(Program.R.Range, DamageType.Magical); var summonerIgnite = Player.Spells.FirstOrDefault(o => o.SData.Name == "summonerdot"); // Thanks finn if (target == null) return; var manaPre = _Player.ManaPercent > Program.MinNumberManaC; if (!manaPre) { return; } if (summonerIgnite != null) { SpellSlot igSlot = extent.GetSpellSlotFromName(_Player, "summonerdot"); ignite = new Spell.Targeted(igSlot, 600); if (Program.ComboMenu["igniteKill"].Cast<CheckBox>().CurrentValue && ignite.IsReady()) { if (getIgniteDamage() >= target.Health - 5) //-5 on enemy health for safecheck & HP regen { ignite.Cast(target); } } else if (Program.ComboMenu["igniteAlways"].Cast<CheckBox>().CurrentValue && ignite.IsReady()) { ignite.Cast(target); } } if (Program.ComboMenu["useRCombo"].Cast<CheckBox>().CurrentValue && Program.R.IsReady() && target.IsValidTarget(Program.R.Range)) { Program.R.Cast(target); } if (Program.ComboMenu["useECombo"].Cast<CheckBox>().CurrentValue && Program.E.IsReady() && target.IsValidTarget(Program.E.Range)) { Program.E.Cast(target); if (_Player.Spellbook.GetSpell(SpellSlot.E).Name == "fizzjumptwo") { EloBuddy.SDK.Core.DelayAction(() => { Program.E.Cast(target); }, 50); } } if (Program.ComboMenu["useWCombo"].Cast<CheckBox>().CurrentValue && Program.W.IsReady()) { Program.W.Cast(); } if (Program.ComboMenu["useQCombo"].Cast<CheckBox>().CurrentValue && Program.Q.IsReady()) { Program.Q.Cast(target); } }
public static void Combo() { var target = TargetSelector2.GetTarget(GetDynamicRange() + 100, DamageType.Magical); var t = TargetSelector2.GetTarget(Program.R.Range, DamageType.Magical); var summonerIgnite = Player.Spells.FirstOrDefault(o => o.SData.Name == "summonerdot"); // Thanks finn var hpPre = _Player.HealthPercent > Program.MinHQNoQ; var manaPre = _Player.ManaPercent > Program.MinNumberManaC; if (target == null) return; if (manaPre == false) { return; } if (summonerIgnite != null) { SpellSlot igSlot = extent.GetSpellSlotFromName(_Player, "summonerdot"); ignite = new Spell.Targeted(igSlot, 600); if (Program.ComboMenu["igniteKill"].Cast<CheckBox>().CurrentValue && ignite.IsReady()) { if (getIgniteDamage() >= target.Health - 5) //-5 on enemy health for safecheck { ignite.Cast(target); } } if (Program.ComboMenu["igniteAlways"].Cast<CheckBox>().CurrentValue && ignite.IsReady()) { if (summonerIgnite != null) { ignite.Cast(target); } } } if (Program.ComboMenu["useWCombo"].Cast<CheckBox>().CurrentValue && Program.W.IsReady()) { Program.W.Cast(); } if (Program.ComboMenu["useQCombo"].Cast<CheckBox>().CurrentValue && Program.Q.IsReady() && target.IsValidTarget(Program.Q.Range) && hpPre && Program.MiscMenu["grab" + target.ChampionName].Cast<CheckBox>().CurrentValue) { CheckCollisionAndCastQ(target, HitChance.High); } if (Program.ComboMenu["useECombo"].Cast<CheckBox>().CurrentValue && Program.E.IsReady() && target.IsValidTarget(Program.E.Range)) { Program.E.Cast(); Orbwalker.ResetAutoAttack(); } if (Program.ComboMenu["useRCombo"].Cast<CheckBox>().CurrentValue && Program.R.IsReady() && t.CountEnemiesInRange(Program.R.Range) >= Program.MinNumberR) { Program.R.Cast(); } }
public static void Combo() { var target = TargetSelector2.GetTarget(GetDynamicRange() + 100, DamageType.Magical); var t = TargetSelector2.GetTarget(Program.R.Range, DamageType.Magical); var summonerIgnite = Player.Spells.FirstOrDefault(o => o.SData.Name == "summonerdot"); // Thanks finn float rdmg = EloBuddy.SDK.DamageLibrary.GetSpellDamage(_Player, target, EloBuddy.SpellSlot.R); // damage of cho R if (target == null) return; var manaPre = _Player.ManaPercent > Program.MinNumberManaC; if (!manaPre) { return; } if (summonerIgnite != null) { SpellSlot igSlot = extent.GetSpellSlotFromName(_Player, "summonerdot"); ignite = new Spell.Targeted(igSlot, 600); if (Program.ComboMenu["igniteKill"].Cast<CheckBox>().CurrentValue && ignite.IsReady()) { if (getIgniteDamage() > target.Health - 10) //-10 on enemy health for safecheck { ignite.Cast(target); } } } if (Program.ComboMenu["useQCombo"].Cast<CheckBox>().CurrentValue && Program.Q.IsReady() && target.IsValidTarget(Program.Q.Range)) { var qPred = Program.Q.GetPrediction(target); if (qPred.HitChance >= HitChance.High) { Program.Q.Cast(target); } } if (Program.ComboMenu["useWCombo"].Cast<CheckBox>().CurrentValue && Program.W.IsReady() && target.IsValidTarget(Program.W.Range)) { Program.W.Cast(target); } if (Program.ComboMenu["useRCombo"].Cast<CheckBox>().CurrentValue && Program.ComboMenu["useRKill"].Cast<CheckBox>().CurrentValue && Program.R.IsReady() && rdmg > target.Health - 10) { Program.R.Cast(target); } if (Program.ComboMenu["useRCombo"].Cast<CheckBox>().CurrentValue && !Program.ComboMenu["useRKill"].Cast<CheckBox>().CurrentValue && Program.R.IsReady()) { Program.R.Cast(target); } }
private static void Drawing_OnDraw(EventArgs args) { if (DrawMenu["Draw.Q"].Cast <CheckBox>().CurrentValue) { Circle.Draw(QSpell.IsReady() ? DrawMenu.GetColour("Draw.Q.Colour") : DrawMenu.GetColour("Draw.OFF"), QSpell.Range, Player.Instance.Position); } if (DrawMenu["Draw.W"].Cast <CheckBox>().CurrentValue) { Circle.Draw(WSpellSwallow.IsReady() ? DrawMenu.GetColour("Draw.W.Colour") : DrawMenu.GetColour("Draw.OFF"), WSpellSwallow.Range, Player.Instance.Position); Circle.Draw(WSpellSpit.IsReady() ? DrawMenu.GetColour("Draw.W.Colour") : DrawMenu.GetColour("Draw.OFF"), WSpellSpit.Range, Player.Instance.Position); } if (DrawMenu["Draw.E"].Cast <CheckBox>().CurrentValue) { Circle.Draw(ESpell.IsReady() ? DrawMenu.GetColour("Draw.E.Colour") : DrawMenu.GetColour("Draw.OFF"), ESpell.Range, Player.Instance.Position); } }
public static float GetRealDamage(this Obj_AI_Base target, SpellSlot slot) { var damageType = DamageType.Magical; var ap = Player.Instance.TotalMagicalDamage; var sLevel = Player.GetSpell(slot).Level - 1; var dmg = 0f; switch (slot) { case SpellSlot.Q: if (Q.IsReady()) { dmg += new float[] { 80, 125, 170, 215, 260 } }
void SmartR() { var target = TargetSelector.GetTarget(1400, DamageType.Physical); if (!target.IsValidTarget(Q.Range) || target == null) { return; } var rdamage = Player.CalculateDamageOnUnit(target, DamageType.Physical, (new float[] { 0, 250, 475, 700 }[R.Level] +(2f * Player.FlatMagicDamageMod))) - target.FlatPhysicalReduction; if (R.IsReady() && CaitlynTheTrollMeNu.ComboR() && Player.CountEnemiesInRange(R.Range) == 1 && target.Distance(Player) >= 800 && rdamage >= target.Health && !target.IsInvulnerable) { R.Cast(target); } }
private static void Combo() { var target = TargetSelector.GetTarget(R.Range, DamageType.Magical); var useQ = ComboMenu["ComboQ"].Cast <CheckBox>().CurrentValue; var useE = ComboMenu["ComboE"].Cast <CheckBox>().CurrentValue; var useR = ComboMenu["ComboR"].Cast <CheckBox>().CurrentValue; var turret = ComboMenu["CTurret"].Cast <KeyBind>().CurrentValue; var minR = ComboMenu["CMinR"].Cast <Slider>().CurrentValue; var Minhp = ComboMenu["Cihp"].Cast <Slider>().CurrentValue; if (target != null) { if (useE && E.IsReady() && target.IsValidTarget(E.Range) && EReady) { E.Cast(target); } if (useQ && Q.IsReady() && target.IsValidTarget(Q.Range)) { if (_Player.Distance(target) < Player.Instance.GetAutoAttackRange(target) && !W.IsReady()) { Q.Cast(target); } else if (_Player.Distance(target) > Player.Instance.GetAutoAttackRange(target)) { Q.Cast(target); } } if (useR && R.IsReady() && target.IsValidTarget(R.Range) && target.Position.CountEnemyChampionsInRange(R.Range) <= minR && _Player.HealthPercent >= Minhp) { if (turret) { if (!UnderTuret(target)) { R.Cast(target); } } else { R.Cast(target); } } } }
public static void PatenteAlta() { var ferido = EntityManager.Heroes.Allies.OrderBy(a => a.Hero) .FirstOrDefault( a => W.IsInRange(a) && a.HealthPercent <= 70 && !a.IsRecalling() && !a.IsInShopRange() && !a.IsMe && !a.IsZombie && a.IsValid && a.IsTargetableToTeam); if (ferido == null || !W.IsReady() || Jho.ManaPercent < 15 || Jho.HealthPercent < 15) { return; } W.Cast(ferido); TickW = Environment.TickCount; }
public static void Execute() { if (!SummonerExhaust.IsReady() || Activator.lastUsed >= Environment.TickCount) { return; } var target = TargetSelector.GetTarget(SummonerExhaust.Range, DamageType.Mixed); var Ally = EntityManager.Heroes.Allies.FirstOrDefault(a => a.IsInRange(Player.Instance, SummonerExhaust.Range)); if (Player.Instance.InDanger(30) || Ally.InDanger(30)) { SummonerExhaust.Cast(target); Activator.lastUsed = Environment.TickCount + 500; } }
public static float GetRealDamage(this Obj_AI_Base target, SpellSlot slot) { var damageType = DamageType.Mixed; var ap = Player.Instance.TotalMagicalDamage; var ad = Player.Instance.TotalAttackDamage; var sLevel = Player.GetSpell(slot).Level - 1; var dmg = 0f; switch (slot) { case SpellSlot.Q: if (Q.IsReady()) { dmg += new float[] { 60, 85, 110, 135, 160 } }
private static void OnProcessSpellCast(Obj_AI_Base sender, GameObjectProcessSpellCastEventArgs args) { if (sender.IsMe || sender.IsAlly || args.SData.IsAutoAttack()) { return; } var articunoPerfectCheck = Player.Position.PointOnLineSegment(args.Start, args.Start.Extend(args.End, args.SData.CastRangeDisplayOverride).To3D()); if (ProcessSpells.DB.Contains(args.SData.Name) && R.IsReady() && Player.HealthPercent <= FappadredMenu.UltiHP() && FappadredMenu.ComboR() && (articunoPerfectCheck || (args.Target != null && args.Target.IsMe))) { R.Cast(Player); } }
/// <summary> /// It will return the damage but you need to set them before getting the damage /// </summary> /// <param name="target"></param> /// <param name="slot"></param> /// <returns></returns> public static float GetDamage(this Obj_AI_Base target, SpellSlot slot) { const DamageType damageType = DamageType.Magical; var AD = Player.Instance.FlatPhysicalDamageMod; var AP = Player.Instance.FlatMagicDamageMod; var sLevel = Player.GetSpell(slot).Level - 1; //You can get the damage information easily on wikia var dmg = 0f; switch (slot) { case SpellSlot.Q: if (Q.IsReady()) { //Information of Q damage dmg += new float[] { 15, 40, 65, 90, 115 }[sLevel] +new [] { 0.6f, 0.65f, 0.7f, 0.75f, 0.8f }[sLevel] *AD; } break; case SpellSlot.W: if (W.IsReady()) { //Information of W damage dmg += new float[] { 0, 0, 0, 0, 0 }[sLevel] +1f * AD; } break; case SpellSlot.E: if (E.IsReady()) { //Information of E damage dmg += new float[] { 0, 0, 0, 0, 0 }[sLevel]; } break; case SpellSlot.R: if (R.IsReady()) { //Information of R damage dmg += new float[] { 20, 60, 95, 130, 165 }[sLevel] +0.45f * AP; } break; } return(Player.Instance.CalculateDamageOnUnit(target, damageType, dmg - 10)); }
private static void SmiteEvent() { if (!Smite.IsReady() || Player.Instance.IsDead) { return; } if (SmiteMenu["smiteActive"].Cast <KeyBind>().CurrentValue) { var unit = EntityManager.MinionsAndMonsters.Monsters .Where( a => AkaActivator.SmiteableUnits.Contains(a.BaseSkinName) && a.Health < AkaActivator.GetSmiteDamage() && SmiteMenu[a.BaseSkinName].Cast <CheckBox>().CurrentValue) .OrderByDescending(a => a.MaxHealth) .FirstOrDefault(); if (unit != null) { Smite.Cast(unit); } } if (SmiteMenu["useSlowSmite"].Cast <CheckBox>().CurrentValue&& Smite.Handle.Name == "s5_summonersmiteplayerganker") { foreach ( var target in EntityManager.Heroes.Enemies .Where(h => h.IsValidTarget(Smite.Range) && h.Health <= 20 + 8 * Player.Instance.Level)) { Smite.Cast(target); } } if (SmiteMenu["comboWithDuelSmite"].Cast <CheckBox>().CurrentValue&& Smite.Handle.Name == "s5_summonersmiteduel" && Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Combo)) { foreach ( var target in EntityManager.Heroes.Enemies .Where(h => h.IsValidTarget(Smite.Range)).OrderByDescending(TargetSelector.GetPriority)) { AkaActivator.Smite.Cast(target); } } }
/// <summary> /// It will return the damage but you need to set them before getting the damage /// </summary> /// <param name="target"></param> /// <param name="slot"></param> /// <returns></returns> public static float GetDamage(this Obj_AI_Base target, SpellSlot slot) { var damageType = DamageType.Magical; var AD = Player.Instance.FlatPhysicalDamageMod; var AP = Player.Instance.FlatMagicDamageMod; var sLevel = Player.GetSpell(slot).Level - 1; //You can get the damage information easily on wikia var dmg = 0f; switch (slot) { case SpellSlot.Q: if (Q.IsReady()) { //Information of Q damage dmg += new float[] { 20, 45, 70, 95, 120 }[sLevel] +1f * AD; } break; case SpellSlot.W: if (W.IsReady()) { //Information of W damage dmg += new float[] { 0, 0, 0, 0, 0 }[sLevel] +1f * AD; } break; case SpellSlot.E: if (E.IsReady()) { //Information of E damage dmg += new float[] { 80, 110, 140, 170, 200 }[sLevel]; } break; case SpellSlot.R: if (R.IsReady()) { //Information of R damage dmg += new float[] { 600, 840, 1080 }[sLevel] *0.6f + 1.2f * AP; } break; } return(Player.Instance.CalculateDamageOnUnit(target, damageType, dmg - 10)); }
private static void Drawing_OnDraw(EventArgs args) { if (drawMenu["useQ"].Cast <CheckBox>().CurrentValue) { Circle.Draw(Q.IsReady() ? SharpDX.Color.Aqua : SharpDX.Color.Red, Q.Range, Player.Instance.Position); } if (drawMenu["useW"].Cast <CheckBox>().CurrentValue) { Circle.Draw(W.IsReady() ? SharpDX.Color.Aqua : SharpDX.Color.Red, W.Range, Player.Instance.Position); } if (drawMenu["useE"].Cast <CheckBox>().CurrentValue) { Circle.Draw(E.IsReady() ? SharpDX.Color.Aqua : SharpDX.Color.Red, E.Range, Player.Instance.Position); } if (drawMenu["useR"].Cast <CheckBox>().CurrentValue) { Circle.Draw(R.IsReady() ? SharpDX.Color.Aqua : SharpDX.Color.Red, R.Range, Player.Instance.Position); } }
private static void Drawing_OnDraw(EventArgs args) { if (DrawingsMenu.Get <CheckBox>("DrawQ").CurrentValue&& Q.IsLearned) { if (Q.IsReady()) { Circle.Draw(Color.White, Q.Range, ObjectManager.Player.Position); } } if (DrawingsMenu.Get <CheckBox>("DrawQ").CurrentValue&& Q.IsLearned) { if (!Q.IsReady()) { return; } } if (DrawingsMenu.Get <CheckBox>("DrawW").CurrentValue&& W.IsLearned) { if (W.IsReady()) { Circle.Draw(Color.Aqua, W.Range, ObjectManager.Player.Position); } } if (DrawingsMenu.Get <CheckBox>("DrawW").CurrentValue&& W.IsLearned) { if (!W.IsReady()) { return; } } if (DrawingsMenu.Get <CheckBox>("DrawE").CurrentValue&& E.IsLearned) { if (E.IsReady()) { Circle.Draw(Color.Red, E.Range, ObjectManager.Player.Position); } } if (DrawingsMenu.Get <CheckBox>("DrawE").CurrentValue&& E.IsLearned) { if (!E.IsReady()) { return; } } }
public static float QDamage(Obj_AI_Base target) { if (Q.IsReady()) { return(Player.Instance.CalculateDamageOnUnit(target, DamageType.Magical, new[] { 0f, 75f, 105f, 135f, 165f, 195f }[Q.Level] +0.3f * Player.Instance.TotalMagicalDamage)); } else { return(0f); } }
static void RLogic() { if (R.IsReady()) { float extra = 0f; int level = R.Level; if (level == 3) { extra = level * 25; } var target = TargetSelector.GetTarget(675f + extra, DamageType.Magical); if (target.IsValidTarget() && CanUlt(target) && Auto[target.ChampionName].Cast <CheckBox>().CurrentValue) { R.Cast(target); } } }
public override void Laneclear() { if (!Player.Instance.IsValid || Player.Instance.IsRecalling()) { return; } if (Q.IsReady() && Value.Use("lane.q")) { var targetCount = EntityManager.MinionsAndMonsters.GetLaneMinions(EntityManager.UnitTeam.Enemy, Player.Instance.Position, Q.Range).Where(m => GetDamage(SpellSlot.Q, m) > m.Health); //var = targetCount as IList<Obj_AI_Minion> ?? targetCount.ToList(); //if(.Count() > Value.Get("lane.q.minions")|| !.Any()) return; //var target = .FirstOrDefault(); // if (target == null) return; //Q.Cast(target); } }
public static int GetSmiteDamage() { if (Smite == null || !Smite.IsReady()) { return(0); } int level = ObjectManager.Player.Level; int[] smitedamage = { 20 * level + 370, 30 * level + 330, 40 * level + 240, 50 * level + 100 }; return(smitedamage.Max()); }
private static void Ignite() { var target = TargetSelector.GetTarget(700, DamageType.True, Player.Instance.Position); float IgniteDMG = 50 + (20 * myhero.Level); if (target != null) { float HP5 = target.HPRegenRate * 5; if (check(ActivatorMenu, "ignite") && ignt.IsReady() && target.IsValidTarget(ignt.Range) && (IgniteDMG > (target.TotalShieldHealth() + HP5))) { ignt.Cast(target); } } }
private static void Combo() { var target = TargetSelector.GetTarget(W.Range, DamageType.Mixed); if (target == null) { return; } if (ComboMenu["Q"].Cast <CheckBox>().CurrentValue) { //checks if spell = ready if (Q.IsReady()) { Q.Cast(target); } } if (ComboMenu["W"].Cast <CheckBox>().CurrentValue) { //checks if spell = ready if (W.IsReady()) { W.Cast(); } } if (ComboMenu["E"].Cast <CheckBox>().CurrentValue) { //checks if spell = ready if (E.IsReady()) { E.Cast(target); } } if (ComboMenu["R"].Cast <CheckBox>().CurrentValue) { //checks if spell = ready if (R.IsReady) { R.Cast(target); } } }
private static void Killsteal() { var qenemy = TargetSelector.GetTarget(Q.Range, DamageType.Magical); if (MiscMenu["ksq"].Cast <CheckBox>().CurrentValue&& Q.IsReady()) { try { foreach ( var qtarget in HeroManager.Enemies.Where( hero => hero.IsValidTarget(Q.Range) && !hero.IsDead && !hero.IsZombie)) { if (Eve.GetSpellDamage(qtarget, SpellSlot.Q) >= qtarget.Health) { Q.Cast(qenemy); } var eenemy = TargetSelector.GetTarget(E.Range, DamageType.Physical); if (MiscMenu["kse"].Cast <CheckBox>().CurrentValue&& E.IsReady()) { try { foreach ( var etarget in HeroManager.Enemies.Where( hero => hero.IsValidTarget(E.Range) && !hero.IsDead && !hero.IsZombie)) { if (Eve.GetSpellDamage(qtarget, SpellSlot.E) >= etarget.Health) { E.Cast(eenemy); } } } catch { } } } } catch { } } }
private static void Ultimate() { var almin = Ulti["Alhp"].Cast <Slider>().CurrentValue; var useR2 = Ulti["ultiR2"].Cast <CheckBox>().CurrentValue; var target = EntityManager.Heroes.Allies.Where(a => a.IsValidTarget() && a.Distance(_Player.Position) <= R.Range && !a.IsDead && !a.IsZombie && !a.HasBuff("kindredrnodeathbuff") && !a.HasBuff("Undying Rage") && !a.HasBuff("JudicatorIntervention") && !a.HasBuff("Recall")); foreach (var target2 in target) { if (useR2 && !Player.Instance.IsInShopRange() && R.IsReady() && (!Player.Instance.IsRecalling()) && (target2.Position.CountEnemiesInRange(R.Range) >= 1 || Tru(target2.Position))) { if (Ulti["useRon" + target2.ChampionName].Cast <CheckBox>().CurrentValue&& (target2.HealthPercent <= almin || target2.HasBuff("ZedR"))) { R.Cast(target2); } } } }
private static void OnLaneClear() { var count = EntityManager.MinionsAndMonsters.GetLaneMinions(EntityManager.UnitTeam.Enemy, Player.ServerPosition, Player.AttackRange, false).Count(); var tawah = EntityManager.Turrets.Enemies.FirstOrDefault(t => !t.IsDead && t.IsInRange(Player, 800)); var source = EntityManager.MinionsAndMonsters.GetLaneMinions(EntityManager.UnitTeam.Enemy, Player.ServerPosition, Player.AttackRange).OrderByDescending(a => a.MaxHealth).FirstOrDefault(); var sourceE = EntityManager.MinionsAndMonsters.GetLaneMinions() .FirstOrDefault(m => m.IsValidTarget(Player.AttackRange) && m.GetBuffCount("tristanaecharge") > 0); if (count == 0) { return; } if (E.IsReady() && TristanaMenu.LcE() && source.IsValidTarget(E.Range) && Player.ManaPercent >= TristanaMenu.LcM()) { E.Cast(source); Orbwalker.ForcedTarget = sourceE; } if (Q.IsReady() && TristanaMenu.LcQ() && source.IsValidTarget(Q.Range) && Player.ManaPercent >= TristanaMenu.LcM()) { Q.Cast(); } if (W.IsReady() && TristanaMenu.LcW() && TristanaMenu.LcW1() <= count && Player.ManaPercent >= TristanaMenu.LcM()) { if (source != null) { W.Cast(source.Position); } } if (tawah == null) { return; } if (TristanaMenu.LcE1() && tawah.IsInRange(Player, E.Range) && E.IsReady() && Player.ManaPercent >= TristanaMenu.LcM()) { E.Cast(tawah); Q.Cast(); } if (TristanaMenu.LcQ() && tawah.IsInRange(Player, Q.Range) && Q.IsReady() && Player.ManaPercent >= TristanaMenu.LcM()) { Q.Cast(); } }
private static void AntiGapCloser(AIHeroClient sender, Gapcloser.GapcloserEventArgs e) { if (!e.Sender.IsValidTarget() || e.Sender.Type != Player.Type || !e.Sender.IsEnemy) { return; } if (E.IsReady() && E.IsInRange(sender) && FappadredMenu.gapcloserE()) { E.Cast(sender); } if (W.IsReady() && W.IsInRange(sender) && FappadredMenu.gapcloserW()) { W.Cast(); } }
private static void AntiGapCloser(AIHeroClient sender, Gapcloser.GapcloserEventArgs e) { if (!e.Sender.IsValidTarget() || e.Sender.Type != Player.Type || !e.Sender.IsEnemy) { return; } if (E.IsReady() && E.IsInRange(sender) && OwlsticksMenu.gapcloserE()) { E.Cast(sender); } if (Q.IsReady() && Q.IsInRange(sender) && OwlsticksMenu.gapcloserQ()) { Q.Cast(sender); } }
private static void KillSteal() { // E Killsteal if (_e.IsReady()) { foreach (var enemy in EntityManager.Heroes.Enemies) { if (enemy.Distance(_user.Position) <= 550 && enemy.TotalShieldHealth() <= _user.GetSpellDamage(enemy, SpellSlot.E)) { Player.CastSpell(SpellSlot.E, enemy); return; } } } // Autoattack creeps var killableMinion = EntityManager.MinionsAndMonsters.EnemyMinions.OrderBy(a => a.Health) .FirstOrDefault(b => b.Distance(_user) <= 500); if (killableMinion != null && !killableMinion.IsDead && killableMinion.BaseSkinName.Contains("Siege") && killableMinion.Health <= _user.GetSpellDamage(killableMinion, SpellSlot.Q)) { Player.CastSpell(SpellSlot.Q, killableMinion); return; } if (killableMinion != null && !killableMinion.IsDead && killableMinion.Health <= _user.GetAutoAttackDamage(killableMinion, true)) { Player.IssueOrder(GameObjectOrder.AttackTo, killableMinion); return; } // And jungle too var jungleCreep = EntityManager.MinionsAndMonsters.GetJungleMonsters() .OrderBy(a => a.Health) .FirstOrDefault(b => b.Distance(_user) <= 500); if (jungleCreep != null && !jungleCreep.IsDead && jungleCreep.Health <= _user.GetAutoAttackDamage(jungleCreep, true)) { Player.IssueOrder(GameObjectOrder.AttackTo, jungleCreep); } }
private static void QRCombo() { var target = TargetSelector.GetTarget(E.Range, DamageType.Magical); if (Player.Instance.Spellbook.GetSpell(SpellSlot.W).Name == "LeblancSlideReturn" && !W.IsReady()) { if (target == null) { return; } if (ComboMenu["E"].Cast <CheckBox>().CurrentValue&& E.IsReady() && E.IsInRange(target)) { E.Cast(target); } } else if (!Q.IsReady() && !QUlti.IsReady()) { if (target == null) { return; } if (ComboMenu["W"].Cast <CheckBox>().CurrentValue&& W.IsReady() && Player.Instance.Spellbook.GetSpell(SpellSlot.W).Name == "LeblancSlide" && Qmarked(target)) { W.Cast(target); } } else { if (target == null) { return; } if (target.IsValidTarget() && Q.IsReady() && Q.IsInRange(target) && ComboMenu["Q"].Cast <CheckBox>().CurrentValue) { Q.Cast(target); } if (target.IsValidTarget() && !Q.IsReady() && ComboMenu["R"].Cast <CheckBox>().CurrentValue&& QUlti.IsReady() && QUlti.IsInRange(target) && Player.Instance.Spellbook.GetSpell(SpellSlot.R).Name == "LeblancChaosOrbm") { QUlti.Cast(target); } } }
internal override void OnPassive() { if (!R.IsReady()) { return; } var buddyInDanger = EntityManager.Heroes.Allies.Where(u => !u.IsDead && !u.IsMe && (PassiveMenu.GetValue("use.R.myHealth") * u.CountEnemiesInRange(900) <= Champions.Me.HealthPercent || (E.IsReady() && u.IsValidTarget(PassiveMenu.GetValue("use.R.distance2")))) && (u.CountEnemiesInRange(900) >= 1) && (Champions.Me.CountEnemiesInRange(PassiveMenu.GetValue("use.R.distance")) == 0 || u.IsValidTarget(PassiveMenu.GetValue("use.R.distance2"))) && (u.HealthPercent <= PassiveMenu.GetValue("use.R.belowHealth") || (Prediction.Health.GetPrediction(u, 500) / u.MaxHealth * 100) <= PassiveMenu.GetValue("use.R.belowHealth")) && PassiveMenu.IsActiveOnHeroList("use.R.on", u)).OrderBy(u => u.Health).FirstOrDefault(); if (buddyInDanger != null) { R.Cast(buddyInDanger); } }
/// It will return the damage but you need to set them before getting the damage public static float GetDamage(this Obj_AI_Base target, SpellSlot slot) { var damageType = DamageType.Mixed; var AD = Player.Instance.FlatPhysicalDamageMod; var AP = Player.Instance.FlatMagicDamageMod; var sLevel = Player.GetSpell(slot).Level - 1; //You can get the damage information easily on Wiki var dmg = 0f; switch (slot) { case SpellSlot.Q: if (Q.IsReady()) { dmg += new float[] { 80, 125, 170, 215, 260 } }
public static void Activator() { var target = TargetSelector.GetTarget(_Ignite.Range, DamageType.True); if (target == null) { return; } if (ActivatorMenu["IGNI"].Cast <CheckBox>().CurrentValue&& _Ignite.IsReady() && target.IsValidTarget()) { if (target.Health + target.AttackShield < _Player.GetSummonerSpellDamage(target, DamageLibrary.SummonerSpells.Ignite)) { _Ignite.Cast(target); } } }
public void Combo(AIHeroClient target) { if (target.HealthPercent <= 60) { if (target == null || target.IsZombie) { return; } if (E.IsReady() && target.IsValidTarget(E.Range)) { E.Cast(target); } if (Q.IsReady() && target.IsValidTarget(Q.Range)) { Q.Cast(); } if (W.IsReady() && target.IsValidTarget(W.Range) && !target.IsInvulnerable && target.Position.CountEnemiesInRange(800) < 2) { if (W.GetPrediction(target).HitChancePercent >= 70) { var optimizedCircleLocation = OKTRGeometry.GetOptimizedCircleLocation(W, target); if (optimizedCircleLocation != null) { W.Cast(optimizedCircleLocation.Value.Position.To3D()); } } } if (R.IsReady()) { if (R.IsReady() && target.IsValidTarget(R.Range) && !target.IsInvulnerable && target.Health < Player.Instance.GetSpellDamage(target, SpellSlot.R)) { R.Cast(target); } } } }
private static void Game_OnUpdate(EventArgs args) { if (MobsToSmite["killsmite"].Cast<CheckBox>().CurrentValue) { var KillEnemy = EntityManager.Heroes.Enemies.FirstOrDefault(hero => hero.IsValidTarget(500f) && SmiteChampDamage() >= hero.Health); if (KillEnemy != null) Player.CastSpell(Smite.Slot, KillEnemy); } if (SmiteGHMenu["active"].Cast<CheckBox>().CurrentValue || SmiteGHMenu["activekey"].Cast<KeyBind>().CurrentValue) { double SpellDamage = 0; Monster = GetNearest(ObjectManager.Player.ServerPosition); if (Monster != null && MobsToSmite[Monster.BaseSkinName].Cast<CheckBox>().CurrentValue) { if (SupportedChampions.Contains(ObjectManager.Player.ChampionName)) { if (SmiteGHMenu["disable"].Cast<CheckBox>().CurrentValue) { switch (ObjectManager.Player.ChampionName) { #region Diana case "Diana": { Spell.Skillshot Q = new Spell.Skillshot(SpellSlot.Q, (uint)895, SkillShotType.Circular); Spell.Targeted R = new Spell.Targeted(SpellSlot.R, (uint)825); //Smite and Spell ==> OKAY if (Smite.IsReady() && Q.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Q.Range && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range) { SpellDamage = GetDamages.DianaQ(Q.Level) + GetDamages.DianaR(R.Level); TotalDamage = SpellDamage + GetSmiteDamage(); if (Monster.Health <= TotalDamage) { Q.Cast(Monster.ServerPosition); //Smite.Cast(Monster); } } else if (Smite.IsReady() && R.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < R.Range && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range && GetDamages.HasBuffs(Monster, "dianamoonlight")) { SpellDamage = GetDamages.DianaR(R.Level); TotalDamage = SpellDamage + GetSmiteDamage(); if (Monster.Health <= TotalDamage) { R.Cast(Monster); //Smite.Cast(Monster); } } //If Spell is busy, Go Smite only! ^_^ else if (Smite.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range) { if (Monster.Health <= GetSmiteDamage()) { Smite.Cast(Monster); } TotalDamage = 0; } break; } #endregion #region Evelynn case "Evelynn": { Spell.Targeted E = new Spell.Targeted(SpellSlot.E, (uint)(225f + 2 * 65f)); //Smite and Spell ==> OKAY if (Smite.IsReady() && E.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < E.Range && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range) { SpellDamage = GetDamages.Evelynn(E.Level); TotalDamage = SpellDamage + GetSmiteDamage(); if (Monster.Health <= TotalDamage) { E.Cast(Monster); //Smite.Cast(Monster); } } //If Spell is busy, Go Smite only! ^_^ else if (Smite.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range) { if (Monster.Health <= GetSmiteDamage()) { Smite.Cast(Monster); } TotalDamage = 0; } break; } #endregion #region Irelia case "Irelia": { Spell.Targeted Q = new Spell.Targeted(SpellSlot.Q, (uint)650f + 20); //Smite and Spell ==> OKAY if (Smite.IsReady() && Q.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Q.Range && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range) { SpellDamage = GetDamages.Irelia(Q.Level); TotalDamage = SpellDamage + GetSmiteDamage(); if (Monster.Health <= TotalDamage) { Q.Cast(Monster); //Smite.Cast(Monster); } } //If Spell is busy, Go Smite only! ^_^ else if (Smite.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range) { if (Monster.Health <= GetSmiteDamage()) { Smite.Cast(Monster); } TotalDamage = 0; } break; } #endregion #region Amumu case "Amumu": { Spell.Skillshot Q = new Spell.Skillshot(SpellSlot.Q, (uint)1100f + 20, SkillShotType.Linear); //Smite and Spell ==> OKAY if (Smite.IsReady() && Q.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Q.Range && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range) { SpellDamage = GetDamages.Amumu(Q.Level); TotalDamage = SpellDamage + GetSmiteDamage(); if (Monster.Health <= TotalDamage) { Q.Cast(Monster); //Smite.Cast(Monster); } } //If Spell is busy, Go Smite only! ^_^ else if (Smite.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range) { if (Monster.Health <= GetSmiteDamage()) { Smite.Cast(Monster); } TotalDamage = 0; } break; } #endregion #region Hecarim case "Hecarim": { Spell.Active Q = new Spell.Active(SpellSlot.Q, (uint)350f + 20); //Smite and Spell ==> OKAY if (Smite.IsReady() && Q.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Q.Range && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range) { SpellDamage = GetDamages.Hecarim(Q.Level); TotalDamage = SpellDamage + GetSmiteDamage(); if (Monster.Health <= TotalDamage) { Q.Cast(); //Smite.Cast(Monster); } } //If Spell is busy, Go Smite only! ^_^ else if (Smite.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range) { if (Monster.Health <= GetSmiteDamage()) { Smite.Cast(Monster); } TotalDamage = 0; } break; } #endregion #region MonkeyKing case "MonkeyKing": { Spell.Active Q = new Spell.Active(SpellSlot.Q, (uint)100f + 20); //Smite and Spell ==> OKAY if (Smite.IsReady() && Q.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Q.Range && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range) { SpellDamage = GetDamages.MonkeyKing(Q.Level); TotalDamage = SpellDamage + GetSmiteDamage(); if (Monster.Health <= TotalDamage) { Q.Cast(); //Smite.Cast(Monster); } } //If Spell is busy, Go Smite only! ^_^ else if (Smite.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range) { if (Monster.Health <= GetSmiteDamage()) { Smite.Cast(Monster); } TotalDamage = 0; } break; } #endregion #region Pantheon case "Pantheon": { Spell.Targeted Q = new Spell.Targeted(SpellSlot.Q, (uint)600f + 20); //Smite and Spell ==> OKAY if (Smite.IsReady() && Q.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Q.Range && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range) { SpellDamage = GetDamages.Pantheon(Q.Level, Monster); TotalDamage = SpellDamage + GetSmiteDamage(); if (Monster.Health <= TotalDamage) { Q.Cast(Monster); //Smite.Cast(Monster); } } //If Spell is busy, Go Smite only! ^_^ else if (Smite.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range) { if (Monster.Health <= GetSmiteDamage()) { Smite.Cast(Monster); } TotalDamage = 0; } break; } #endregion #region Olaf case "Olaf": { Spell.Targeted E = new Spell.Targeted(SpellSlot.E, (uint)325f + 20); //Smite and Spell ==> OKAY if (Smite.IsReady() && E.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < E.Range && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range) { SpellDamage = GetDamages.Olaf(E.Level); TotalDamage = SpellDamage + GetSmiteDamage(); if (Monster.Health <= TotalDamage) { E.Cast(Monster); //Smite.Cast(Monster); } } //If Spell is busy, Go Smite only! ^_^ else if (Smite.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range) { if (Monster.Health <= GetSmiteDamage()) { Smite.Cast(Monster); } TotalDamage = 0; } break; } #endregion #region Volibear case "Volibear": { Spell.Targeted W = new Spell.Targeted(SpellSlot.W, (uint)400f + 20); //Smite and Spell ==> OKAY if (Smite.IsReady() && W.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < W.Range && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range) { SpellDamage = GetDamages.Volibear(W.Level, Monster); TotalDamage = SpellDamage + GetSmiteDamage(); if (Monster.Health <= TotalDamage) { W.Cast(Monster); //Smite.Cast(Monster); } } //If Spell is busy, Go Smite only! ^_^ else if (Smite.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range) { if (Monster.Health <= GetSmiteDamage()) { Smite.Cast(Monster); } TotalDamage = 0; } break; } #endregion #region WarWick case "Warwick": { Spell.Targeted Q = new Spell.Targeted(SpellSlot.Q, (uint)400f + 20); //Smite and Spell ==> OKAY if (Smite.IsReady() && Q.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Q.Range && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range) { SpellDamage = GetDamages.Warwick(Q.Level, Monster); TotalDamage = SpellDamage + GetSmiteDamage(); if (Monster.Health <= TotalDamage) { Player.CastSpell(Q.Slot, Monster); //Smite.Cast(Monster); } } //If Spell is busy, Go Smite only! ^_^ else if (Smite.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range) { if (Monster.Health <= GetSmiteDamage()) { Smite.Cast(Monster); } TotalDamage = 0; } break; } #endregion //Will add Spell's E too soon! ^-^ #region LeeSin case "LeeSin": { Spell.Skillshot Q = new Spell.Skillshot(SpellSlot.Q, (uint)1300f, SkillShotType.Linear); Spell.Active Q2 = new Spell.Active(SpellSlot.Q, (uint)1500f); //Smite and Spell ==> OKAY if (Smite.IsReady() && Q.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Q.Range && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range) { if (GetDamages.BuffedEnemy != null) SpellDamage = GetDamages.Q2Damage(Monster, Q2.Level); else SpellDamage = GetDamages.QDamage(Monster, Q.Level - 1) + GetDamages.Q2Damage(Monster, Q2.Level - 1); TotalDamage = SpellDamage + GetSmiteDamage(); if (Monster.Health <= TotalDamage) { if (GetDamages.BuffedEnemy != null) Q2.Cast(Monster); else Q.Cast(Monster); //Smite.Cast(Monster); } } //If Spell is busy, Go Smite only! ^_^ else if (Smite.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range) { if (Monster.Health <= GetSmiteDamage()) { Smite.Cast(Monster); } TotalDamage = 0; } break; } #endregion #region Nunu case "Nunu": { Spell.Targeted Q = new Spell.Targeted(SpellSlot.Q, (uint)200f); //Smite and Spell ==> OKAY if (Smite.IsReady() && Q.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Q.Range && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range) { SpellDamage = GetDamages.Nunu(Q.Level); TotalDamage = SpellDamage + GetSmiteDamage(); if (Monster.Health <= TotalDamage) { Player.CastSpell(Q.Slot, Monster); //Smite.Cast(Monster); } } //If Spell is busy, Go Smite only! ^_^ else if (Smite.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range) { if (Monster.Health <= GetSmiteDamage()) { Smite.Cast(Monster); } TotalDamage = 0; } break; } #endregion #region ChoGath case "Chogath": { Spell.Targeted R = new Spell.Targeted(SpellSlot.R, (uint)175f); //Smite and Spell ==> OKAY if (Smite.IsReady() && R.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < R.Range && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range) { SpellDamage = GetDamages.ChoGath(); TotalDamage = SpellDamage + GetSmiteDamage(); if (Monster.Health <= TotalDamage) { Player.CastSpell(R.Slot, Monster); // Smite.Cast(Monster); } } //If Spell is busy, Go Smite only! ^_^ else if (Smite.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range) { if (Monster.Health <= GetSmiteDamage()) { Smite.Cast(Monster); } TotalDamage = 0; } break; } #endregion #region Shaco case "Shaco": { Spell.Targeted E = new Spell.Targeted(SpellSlot.E, (uint)625f); //Smite and Spell ==> OKAY if (Smite.IsReady() && E.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < E.Range && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range) { SpellDamage = GetDamages.Shaco(E.Level); TotalDamage = SpellDamage + GetSmiteDamage(); if (Monster.Health <= TotalDamage) { Player.CastSpell(E.Slot, Monster); // Smite.Cast(Monster); } } //If Spell is busy, Go Smite only! ^_^ else if (Smite.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range) { if (Monster.Health <= GetSmiteDamage()) { Smite.Cast(Monster); } TotalDamage = 0; } break; } #endregion #region Vi case "Vi": { Spell.Active E = new Spell.Active(SpellSlot.E, (uint)600f); //Smite and Spell ==> OKAY if (Smite.IsReady() && E.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < E.Range && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range) { SpellDamage = GetDamages.Vi(E.Level); TotalDamage = SpellDamage + GetSmiteDamage(); if (Monster.Health <= TotalDamage) { Player.CastSpell(E.Slot, Monster); // Smite.Cast(Monster); } } //If Spell is busy, Go Smite only! ^_^ else if (Smite.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range) { if (Monster.Health <= GetSmiteDamage()) { Smite.Cast(Monster); } TotalDamage = 0; } break; } #endregion #region MasterYi case "MasterYi": { Spell.Targeted Q = new Spell.Targeted(SpellSlot.Q, (uint)600f); //Smite and Spell ==> OKAY if (Smite.IsReady() && Q.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Q.Range && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range) { SpellDamage = GetDamages.Master(Q.Level); TotalDamage = SpellDamage + GetSmiteDamage(); if (Monster.Health <= TotalDamage) { Player.CastSpell(Q.Slot, Monster); //Smite.Cast(Monster); } } //If Spell is busy, Go Smite only! ^_^ else if (Smite.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range) { if (Monster.Health <= GetSmiteDamage()) { Smite.Cast(Monster); } TotalDamage = 0; } break; } #endregion #region Rengar case "Rengar": { Spell.Active Q = new Spell.Active(SpellSlot.Q, (uint)ObjectManager.Player.AttackRange); //Smite and Spell ==> OKAY if (Smite.IsReady() && Q.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Q.Range && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range) { SpellDamage = GetDamages.Rengar(Q.Level); TotalDamage = SpellDamage + GetSmiteDamage(); if (Monster.Health <= TotalDamage) { Player.CastSpell(Q.Slot, Monster); //Smite.Cast(Monster); } } //If Spell is busy, Go Smite only! ^_^ else if (Smite.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range) { if (Monster.Health <= GetSmiteDamage()) { Smite.Cast(Monster); } TotalDamage = 0; } break; } #endregion #region Nasus case "Nasus": { Spell.Active Q = new Spell.Active(SpellSlot.Q, (uint)ObjectManager.Player.AttackRange); //Smite and Spell ==> OKAY if (Smite.IsReady() && Q.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Q.Range && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range) { SpellDamage = GetDamages.Nasus(Q.Level); TotalDamage = SpellDamage + GetSmiteDamage(); if (Monster.Health <= TotalDamage) { Player.CastSpell(Q.Slot, Monster); //Smite.Cast(Monster); } } //If Spell is busy, Go Smite only! ^_^ else if (Smite.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range) { if (Monster.Health <= GetSmiteDamage()) { Smite.Cast(Monster); } TotalDamage = 0; } break; } #endregion #region KhaZix case "Khazix": { Spell.Targeted Q = new Spell.Targeted(SpellSlot.Q, (uint)325f); //Smite and Spell ==> OKAY if (Smite.IsReady() && Q.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Q.Range && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range) { SpellDamage = GetDamages.Khazix(Q.Level); TotalDamage = SpellDamage + GetSmiteDamage(); if (Monster.Health <= TotalDamage) { Player.CastSpell(Q.Slot, Monster); // Smite.Cast(Monster); } } //If Spell is busy, Go Smite only! ^_^ else if (Smite.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range) { if (Monster.Health <= GetSmiteDamage()) { Smite.Cast(Monster); } TotalDamage = 0; } break; } #endregion #region Fizz case "Fizz": { Spell.Targeted Q = new Spell.Targeted(SpellSlot.Q, (uint)550f); //Smite and Spell ==> OKAY if (Smite.IsReady() && Q.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Q.Range && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range) { SpellDamage = GetDamages.Fizz(Q.Level); TotalDamage = SpellDamage + GetSmiteDamage(); if (Monster.Health <= TotalDamage) { Player.CastSpell(Q.Slot, Monster); // Smite.Cast(Monster); } } //If Spell is busy, Go Smite only! ^_^ else if (Smite.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range) { if (Monster.Health <= GetSmiteDamage()) { Smite.Cast(Monster); } TotalDamage = 0; } break; } #endregion #region Elise case "Elise": { Spell.Targeted Q = new Spell.Targeted(SpellSlot.Q, (uint)475f); //Smite and Spell ==> OKAY if (Smite.IsReady() && Q.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Q.Range && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range) { SpellDamage = GetDamages.Elise(Q.Level, Monster); TotalDamage = SpellDamage + GetSmiteDamage(); if (Monster.Health <= TotalDamage) { Player.CastSpell(Q.Slot, Monster); // Smite.Cast(Monster); } } //If Spell is busy, Go Smite only! ^_^ else if (Smite.IsReady() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range) { if (Monster.Health <= GetSmiteDamage()) { Smite.Cast(Monster); } TotalDamage = 0; } break; } #endregion default: { if (Smite.IsReady() && Monster.Health <= GetSmiteDamage() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range) Smite.Cast(Monster); TotalDamage = 0; } break; } } } if (Smite.IsReady() && Monster.Health <= GetSmiteDamage() && Vector3.Distance(ObjectManager.Player.ServerPosition, Monster.ServerPosition) < Smite.Range) { Smite.Cast(Monster); TotalDamage = 0; } } } }
public static void KS() { var target = TargetSelector2.GetTarget(GetDynamicRange() + 100, DamageType.Magical); float qdmg = EloBuddy.SDK.DamageLibrary.GetSpellDamage(_Player, target, EloBuddy.SpellSlot.Q); // damage of cho Q float wdmg = EloBuddy.SDK.DamageLibrary.GetSpellDamage(_Player, target, EloBuddy.SpellSlot.W); // damage of cho W float rdmg = EloBuddy.SDK.DamageLibrary.GetSpellDamage(_Player, target, EloBuddy.SpellSlot.R); // damage of cho R var summonerIgnite = Player.Spells.FirstOrDefault(o => o.SData.Name == "summonerdot"); // Thanks finn if (summonerIgnite != null) { SpellSlot igSlot = extent.GetSpellSlotFromName(_Player, "summonerdot"); ignite = new Spell.Targeted(igSlot, 600); if (Program.KSMenu["igniteKill"].Cast<CheckBox>().CurrentValue && ignite.IsReady()) { if (getIgniteDamage() > target.Health - 10) //-10 on enemy health for safecheck { ignite.Cast(target); } } } if (Program.KSMenu["qKS"].Cast<CheckBox>().CurrentValue && qdmg >= target.Health - 10 && Program.Q.IsReady() && target.IsValidTarget(Program.Q.Range)) { var qPred = Program.Q.GetPrediction(target); if (qPred.HitChance >= HitChance.High) { Program.Q.Cast(target); } } else if (Program.KSMenu["wKS"].Cast<CheckBox>().CurrentValue && wdmg >= target.Health - 10 && Program.W.IsReady() && target.IsValidTarget(Program.W.Range)) { Program.W.Cast(target); } else if (Program.KSMenu["rKS"].Cast<CheckBox>().CurrentValue && rdmg >= target.Health - 10 && Program.R.IsReady() && target.IsValidTarget(Program.R.Range)) { Program.R.Cast(target); } }
public static void UseIgnite(List<Obj_AI_Base> enemies, bool ks) { Spell.Targeted ignite = new Spell.Targeted(Vi.GetSpellSlotFromName("SummonerDot"), 600, DamageType.True); if (ignite.Slot == SpellSlot.Unknown || !ignite.IsReady()) return; Obj_AI_Base unit = enemies.Where(a => a.IsInRange(Vi, ignite.Range) && (!ks || Calculations.Ignite(a) >= a.Health) && a.MeetsCriteria()).FirstOrDefault(); if (unit != null) hasDoneActionThisTick = ignite.Cast(unit); }
/// <summary> /// Handles ignite (doesn't work always/buggy?) /// </summary> /// <param name="target"></param> private static void HandleIgnite() { if(!KillStealMenu["useignite"].Cast<CheckBox>().CurrentValue) return; var ignite = new Spell.Targeted(IgniteSlot, 600); if(ignite.IsReady() && ignite.IsInRange(target) && target != null) ignite.Cast(target); }
public static void UseSmite(List<Obj_AI_Base> enemies, bool ks) { Spell.Targeted blueSmite = new Spell.Targeted(Vi.GetSpellSlotFromName("S5_SummonerSmitePlayerGanker"), 500, DamageType.True); Spell.Targeted redSmite = new Spell.Targeted(Vi.GetSpellSlotFromName("S5_SummonerSmiteDuel"), 500, DamageType.True); if (blueSmite.Slot != SpellSlot.Unknown && blueSmite.IsReady()) { var target = enemies.Where(a => a.MeetsCriteria() && a.IsTargetable && a.IsInRange(Vi, blueSmite.Range) && (!ks || (a.Type == GameObjectType.AIHeroClient && a.Health <= 54 + 6 * Vi.Level) || (a.Type != GameObjectType.AIHeroClient && a.Health <= Calculations.Smite()))).FirstOrDefault(); if(target != null) blueSmite.Cast(target); } if (redSmite.Slot != SpellSlot.Unknown && redSmite.IsReady()) { var target = enemies.Where(a => a.MeetsCriteria() && a.IsTargetable && a.IsInRange(Vi, redSmite.Range) && a.IsInRange(Vi, Vi.GetAutoAttackRange()) && (!ks || (a.Type == GameObjectType.AIHeroClient && a.Health <= 54 + 6 * Vi.Level) || (a.Type != GameObjectType.AIHeroClient && a.Health <= Calculations.Smite()))).FirstOrDefault(); if (target != null) redSmite.Cast(target); } }