private void Game_OnGameUpdate(EventArgs args) { Jungle.CastSmite(config.Item("useSmite").GetValue <KeyBind>().Active); switch (orbwalker.ActiveMode) { case Orbwalking.OrbwalkingMode.Combo: Combo(); break; case Orbwalking.OrbwalkingMode.Mixed: Harass(); break; case Orbwalking.OrbwalkingMode.LaneClear: Clear(); break; case Orbwalking.OrbwalkingMode.LastHit: Lasthit(); break; default: break; } if (config.Item("AutoR", true).GetValue <bool>() && R.IsReady()) { foreach (var enemy in HeroManager.Enemies.Where( e => ((e.UnderTurret(true) && e.HealthPercent < config.Item("Rhealt", true).GetValue <Slider>().Value * 0.75) || (!e.UnderTurret(true) && e.HealthPercent < config.Item("Rhealt", true).GetValue <Slider>().Value)) && e.HealthPercent > config.Item("RhealtMin", true).GetValue <Slider>().Value&& e.IsValidTarget() && e.Distance(player) > 1500)) { var ally = HeroManager.Allies.OrderBy(a => a.Health) .FirstOrDefault( a => enemy.Distance(a) < 700 && CombatHelper.IsFacing(a, enemy.Position) || CombatHelper.IsFacing(enemy, a.Position)); if (ally != null) { var pos = Prediction.GetPrediction(enemy, 0.75f).CastPosition; if ( !(CombatHelper.IsFacing(ally, enemy.Position) && CombatHelper.IsFacing(enemy, ally.Position)) && pos.Distance(enemy.Position) < 450 && enemy.IsMoving) { pos = enemy.Position.Extend(pos, 450); } if (pos.IsValid()) { R.Cast(pos); } } } } }
private void Combo() { var target = TargetSelector.GetTarget(1700, DamageType.Magical); if (target == null || target.IsInvulnerable || target.MagicImmune) { return; } var edmg = getEdamage(target); var qdmg = getQdamage(target); var ignitedmg = (float)player.GetSummonerSpellDamage(target, Damage.SummonerSpell.Ignite); var hasIgnite = player.Spellbook.CanUseSpell(player.GetSpellSlot("SummonerDot")) == SpellState.Ready; if (getCheckBoxItem(menuC, "useIgnite") && ignitedmg > HealthPrediction.GetHealthPrediction(target, 700) && hasIgnite && !CombatHelper.CheckCriticalBuffs(target) && (!ActiveQ || !(CombatHelper.IsFacing(player, target.Position, 30) && target.Distance(player) < Q.Range))) { player.Spellbook.CastSpell(player.GetSpellSlot("SummonerDot"), target); } if (Q.CanCast(target) && getCheckBoxItem(menuC, "useq") && Qhit(target.Position) && (preventSilence(Q) || (target.Health < PassiveDmg(target) * 2 || qdmg > target.Health) && target.Distance(player) < Orbwalking.GetRealAutoAttackRange(target))) { Q.Cast(target.Position); } if (getCheckBoxItem(menuC, "usee") && E.CanCast(target) && (((preventSilence(E) || (target.Health < PassiveDmg(target) * 2 && target.Distance(player) < Orbwalking.GetRealAutoAttackRange(target))) && (!ActiveE || Environment.TickCount - lastE > getSliderItem(menuC, "eDelay"))) || edmg > target.Health)) { E.CastIfHitchanceEquals(target, HitChance.High, getCheckBoxItem(config, "packets")); } if (W.IsReady() && getCheckBoxItem(menuC, "wSpeed") && ActiveQ && preventSilence(W) && target.Distance(player) < Q.Range && Prediction.GetPrediction(target, 0.2f).UnitPosition.Distance(player.Position) > Q.Range) { W.Cast(); } var canR = ComboDamage(target) > target.Health && qdmg < target.Health && target.Distance(player) < Q.Range && !Silenced; if (R.IsReady() && ((target.Health < getRdamage() * (target.CountAlliesInRange(600) > 0 && target.HealthPercent > 15 ? 5 : 3) && target.Distance(player) > Q.Range) || (target.Distance(player) < Q.Range && target.Health < getRdamage() * 3 + edmg && target.Health > qdmg) || player.CountEnemiesInRange(R.Range) >= getSliderItem(menuC, "Rmin"))) { HandleR(target, canR); } }
private void Orbwalking_BeforeAttack(Orbwalking.BeforeAttackEventArgs args) { if (args.Unit.IsMe && stance == Stance.Phoenix && player.GetBuff("UdyrPhoenixStance").Count == 3) { justR2 = true; LeagueSharp.Common.Utility.DelayAction.Add((int)(player.AttackDelay * 1000), () => justR2 = false); } if (!args.Unit.IsMe || !R.IsReady()) { return; } var target = HeroManager.Enemies.FirstOrDefault( h => h.Distance(player) < R2.Range && CombatHelper.IsFacing(player, h.Position, 45f)); if (target != null && orbwalker.ActiveMode != Orbwalking.OrbwalkingMode.Combo) { Harass(); } }
private bool Qhit(Vector3 target) { return(Q.IsReady() && CombatHelper.IsFacing(player, target, 80) && target.Distance(player.Position) < Q.Range); }
private void Game_OnGameUpdate(EventArgs args) { var target = TargetSelector.GetTarget(Q.Range + player.MoveSpeed * 3, DamageType.Physical); if (ShacoStealth && target != null && target.Health > ComboDamage(target) && CombatHelper.IsFacing(target, player.Position) && Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Combo)) { Orbwalker.DisableAttacking = true; } else { Orbwalker.DisableAttacking = false; } if (!ShacoClone) { cloneTime = Environment.TickCount; } if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Combo)) { Combo(target); } if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Harass)) { Harass(); } if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.JungleClear) || Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.LaneClear)) { Clear(); } if (E.IsReady()) { var ksTarget = HeroManager.Enemies.FirstOrDefault( h => h.LSIsValidTarget() && !CombatHelper.IsInvulnerable2(h) && h.Health < E.GetDamage(h)); if (ksTarget != null) { if ((getCheckBoxItem(menuM, "ks") || getCheckBoxItem(menuM, "ksq")) && E.CanCast(ksTarget)) { E.Cast(ksTarget); } if (Q.IsReady() && getCheckBoxItem(menuM, "ks") && ksTarget.LSDistance(player) < Q.Range + E.Range && ksTarget.LSDistance(player) > E.Range && !player.Position.LSExtend(ksTarget.Position, Q.Range).IsWall() && player.Mana > Q.Instance.SData.Mana + E.Instance.SData.Mana) { Q.Cast(player.Position.LSExtend(ksTarget.Position, Q.Range)); } } } if (getKeyBindItem(menuM, "stackBox") && W.IsReady()) { var box = ObjectManager.Get <Obj_AI_Minion>() .Where(m => m.LSDistance(player) < W.Range && m.Name == "Jack In The Box" && !m.IsDead) .OrderBy(m => m.LSDistance(Game.CursorPos)) .FirstOrDefault(); if (box != null) { W.Cast(box.Position); } else { if (player.LSDistance(Game.CursorPos) < W.Range) { W.Cast(Game.CursorPos); } else { W.Cast(player.Position.LSExtend(Game.CursorPos, W.Range)); } } } if (ShacoClone && !GhostDelay && getCheckBoxItem(menuM, "autoMoveClone")) { moveClone(); } var data = IncDamages.GetAllyData(player.NetworkId); if (getCheckBoxItem(menuC, "userCC") && R.IsReady() && target != null && player.LSDistance(target) < Q.Range && data.AnyCC) { R.Cast(); } }
private void Combo() { Obj_AI_Hero target = DrawHelper.GetBetterTarget(W.Range, TargetSelector.DamageType.Magical); if (target == null) { return; } if (config.Item("useItems").GetValue <bool>()) { ItemHandler.UseItems(target, config); } if (config.Item("RunFOTT", true).GetValue <bool>() && (!config.Item("RunFOTTHP", true).GetValue <bool>() || (config.Item("RunFOTTHP", true).GetValue <bool>() && player.Health > target.Health))) { Vector3 pos; if (target.IsMoving) { var rand = new Random(); if (ChaseFix) { pos = target.Position.Extend( Prediction.GetPrediction(target, 0.6f).UnitPosition, rand.Next(480, 550)); } else { var positions = CombatHelper.PointsAroundTheTargetOuterRing(target.ServerPosition, 130, 16); pos = positions[rand.Next(positions.Count)]; } if (player.Distance(pos) < 90) { if (!ChaseFix) { ChaseFix = true; } else { ChaseFix = false; } } } else { pos = Vector3.Zero; } if (Orbwalking.CanMove(100)) { if (player.Distance(pos) > 40 && pos.IsValid()) { Orbwalking.Move = false; Orbwalking.Attack = false; player.IssueOrder(GameObjectOrder.MoveTo, pos); } } } var qTarget = HeroManager.Enemies.FirstOrDefault( enemy => enemy.IsValidTarget() && enemy.Distance(player) < 200 && CombatHelper.IsFacing(enemy, player.Position, 90f) && !CombatHelper.IsFacing(player, enemy.Position, 90f) && player.IsMoving && enemy.IsMoving); if (config.Item("useq", true).GetValue <bool>() && (qTarget != null || target.HasBuff("poisontrailtarget") || player.Distance(target) <= 500)) { CastQ(); } if (config.Item("usew", true).GetValue <bool>() && !config.Item("WwithE", true).GetValue <bool>() && W.IsReady() && W.CanCast(target)) { var tarPered = W.GetPrediction(target); if (W.Range - 80 > tarPered.CastPosition.Distance(player.Position) && tarPered.Hitchance >= HitChance.VeryHigh) { W.Cast(tarPered.CastPosition); } } if (R.IsReady() && config.Item("user", true).GetValue <bool>() && (((config.Item("rUnderHealt", true).GetValue <Slider>().Value > player.HealthPercent && 0 < player.CountEnemiesInRange(750)) || config.Item("rMinEnemy", true).GetValue <Slider>().Value <= player.CountEnemiesInRange(750)) && (!config.Item("rkeepManaE", true).GetValue <bool>() || (config.Item("rkeepManaE", true).GetValue <bool>() && player.Mana - R.Instance.ManaCost > E.Instance.ManaCost)))) { 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", true).GetValue <bool>() && ignitedmg > target.Health && hasIgnite) { player.Spellbook.CastSpell(player.GetSpellSlot("SummonerDot"), target); } var blockOrb = false; var throwPos = target.Position.Extend(player.Position, 500); if (config.Item("usee", true).GetValue <bool>() && E.IsReady() && ((throwPos.CountAlliesInRange(700) > target.CountAlliesInRange(700) && HeroManager.Allies.FirstOrDefault(a => a.Distance(throwPos) < 700 && a.HealthPercent < 25) == null) || W.GetDamage(target) > target.Health || !target.HasBuff("poisontrailtarget") || config.Item("WwithE", true).GetValue <bool>())) { var pos = Prediction.GetPrediction(target, W.Delay / 2) .UnitPosition.Extend(player.Position, 515 + player.Distance(target.Position)); if (config.Item("WwithE", true).GetValue <bool>() && E.CanCast(target) && W.IsReady() && player.Mana > E.Instance.ManaCost + W.Instance.ManaCost + 15 && !pos.IsWall() && target.Health > E.GetDamage(target) + Q.GetDamage(target)) { W.Cast(pos); return; } if (E.CanCast(target)) { E.CastOnUnit(target); } else if (target.Distance(player) < E.Range + 100) { blockOrb = true; } } if (blockOrb) { Orbwalking.Attack = false; } }
private void Game_OnGameUpdate(EventArgs args) { AIHeroClient target = DrawHelper.GetBetterTarget( Q.Range + player.MoveSpeed * 3, TargetSelector.DamageType.Physical); if (ShacoStealth && target != null && target.Health > ComboDamage(target) && CombatHelper.IsFacing(target, player.Position) && orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Combo) { orbwalker.SetAttack(false); } else { orbwalker.SetAttack(true); } if (false) { return; } switch (orbwalker.ActiveMode) { case Orbwalking.OrbwalkingMode.Combo: Combo(target); break; case Orbwalking.OrbwalkingMode.Mixed: Harass(); break; case Orbwalking.OrbwalkingMode.LaneClear: Clear(); break; case Orbwalking.OrbwalkingMode.LastHit: break; default: break; } if (E.IsReady()) { var ksTarget = HeroManager.Enemies.FirstOrDefault( h => h.IsValidTarget() && !CombatHelper.IsInvulnerable2(h) && h.Health < E.GetDamage(h)); if (ksTarget != null) { if ((config.Item("ks", true).GetValue <bool>() || config.Item("ksq", true).GetValue <bool>()) && E.CanCast(ksTarget)) { E.CastOnUnit(ksTarget); } if (Q.IsReady() && config.Item("ks", true).GetValue <bool>() && ksTarget.Distance(player) < Q.Range + E.Range && ksTarget.Distance(player) > E.Range && !player.Position.Extend(ksTarget.Position, Q.Range).IsWall() && player.Mana > Q.Instance.SData.Mana + E.Instance.SData.Mana) { Q.Cast(player.Position.Extend(ksTarget.Position, Q.Range)); } } } if (config.Item("stackBox", true).GetValue <KeyBind>().Active&& W.IsReady()) { var box = ObjectManager.Get <Obj_AI_Minion>() .Where(m => m.Distance(player) < W.Range && m.Name == "Jack In The Box" && !m.IsDead) .OrderBy(m => m.Distance(Game.CursorPos)) .FirstOrDefault(); if (box != null) { W.Cast(box.Position); } else { if (player.Distance(Game.CursorPos) < W.Range) { W.Cast(Game.CursorPos); } else { W.Cast(player.Position.Extend(Game.CursorPos, W.Range)); } } } if (R.IsReady() && ShacoClone) { PetHandler.MovePet(config, orbwalker.ActiveMode); } var data = Program.IncDamages.GetAllyData(player.NetworkId); if (config.Item("userCC", true).GetValue <bool>() && R.IsReady() && target != null && player.Distance(target) < Q.Range && data.AnyCC) { R.Cast(); } }
public static void Game_ProcessSpell(Obj_AI_Base hero, GameObjectProcessSpellCastEventArgs args) { if (args == null || hero == null) { return; } Obj_AI_Hero targetW = TargetSelector.GetTarget(W.Range, TargetSelector.DamageType.Physical); var spellName = args.SData.Name; Obj_AI_Hero target = args.Target as Obj_AI_Hero; if (targetW != null) { hero = targetW; } if (target != null && (!hero.HasBuff("fiorarmark") || (hero.HasBuff("fiorarmark") && player.HealthPercent < 50)) && (W.IsReady() && target.IsMe && (Orbwalking.IsAutoAttack(spellName) || CombatHelper.IsAutoattack(spellName)) && ((config.Item("usew", true).GetValue <bool>() && orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Combo && hero is Obj_AI_Hero && ((config.Item("usewDangerous", true).GetValue <bool>() && target.GetAutoAttackDamage(player, true) > player.Health * 0.1f) || !config.Item("usewDangerous", true).GetValue <bool>())) || config.Item("autoW", true).GetValue <bool>()) && !(hero is Obj_AI_Turret || hero.Name == "OdinNeutralGuardian") && player.Distance(hero) < 700)) { var perc = config.Item("minmanaP", true).GetValue <Slider>().Value / 100f; if (player.Mana > player.MaxMana * perc && hero.TotalAttackDamage > 50 && ((player.UnderTurret(true) && orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Combo) || !player.UnderTurret(true))) { W.Cast(hero, config.Item("packets").GetValue <bool>()); } } if (config.Item("usewCC", true).GetValue <bool>()) { if (spellName == "CurseofTheSadMummy") { if (player.Distance(hero.Position) <= 600f) { W.Cast(TargetSelector.GetTarget(W.Range, TargetSelector.DamageType.Physical)); } } if (CombatHelper.IsFacing(target, player.Position) && (spellName == "EnchantedCrystalArrow" || spellName == "rivenizunablade" || spellName == "EzrealTrueshotBarrage" || spellName == "JinxR" || spellName == "sejuaniglacialprison")) { if (player.Distance(hero.Position) <= W.Range - 60) { W.Cast(TargetSelector.GetTarget(W.Range, TargetSelector.DamageType.Physical)); } } if (spellName == "InfernalGuardian" || spellName == "UFSlash" || (spellName == "RivenW" && player.HealthPercent < 25)) { if (player.Distance(args.End) <= 270f) { W.Cast(TargetSelector.GetTarget(W.Range, TargetSelector.DamageType.Physical)); } } if (spellName == "BlindMonkRKick" || spellName == "SyndraR" || spellName == "VeigarPrimordialBurst" || spellName == "AlZaharNetherGrasp" || spellName == "LissandraR") { if (args.Target.IsMe) { W.Cast(TargetSelector.GetTarget(W.Range, TargetSelector.DamageType.Physical)); } } if (spellName == "TristanaR" || spellName == "ViR") { if (args.Target.IsMe || player.Distance(args.Target.Position) <= 100f) { W.Cast(TargetSelector.GetTarget(W.Range, TargetSelector.DamageType.Physical)); } } if (spellName == "GalioIdolOfDurand") { if (player.Distance(hero.Position) <= 600f) { W.Cast(TargetSelector.GetTarget(W.Range, TargetSelector.DamageType.Physical)); } } if (target != null && target.IsMe) { if (CombatHelper.isTargetedCC(spellName) && spellName != "NasusW" && spellName != "ZedUlt") { W.Cast(TargetSelector.GetTarget(W.Range, TargetSelector.DamageType.Physical)); } } } }
private void Combo() { Obj_AI_Hero target = TargetSelector.GetTarget(700, TargetSelector.DamageType.Physical); if (target == null) { return; } var combodamage = ComboDamage(target); if (config.Item("useItems").GetValue <bool>()) { 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 && CombatHelper.IsPossibleToReachHim( target, 0.35f, new float[5] { 1.5f, 2.25f, 3f, 3.75f, 4.5f }[Q.Level - 1])) { Q.Cast(config.Item("packets").GetValue <bool>()); } if (config.Item("useq", true).GetValue <bool>() && Q.IsReady() && !GarenQ && (!GarenE || (Q.IsReady() && Damage.GetSpellDamage(player, target, SpellSlot.Q) > target.Health))) { if (GarenE) { E.Cast(config.Item("packets").GetValue <bool>()); } Q.Cast(config.Item("packets").GetValue <bool>()); player.IssueOrder(GameObjectOrder.AutoAttack, target); } if (config.Item("usee", true).GetValue <bool>() && E.IsReady() && !Q.IsReady() && !GarenQ && !GarenE && player.CountEnemiesInRange(E.Range) > 0) { E.Cast(config.Item("packets").GetValue <bool>()); } var targHP = target.Health + 20 - CombatHelper.IgniteDamage(target); var rLogic = config.Item("user", true).GetValue <bool>() && R.IsReady() && (!config.Item("ult" + target.SkinName, true).GetValue <bool>() || player.CountEnemiesInRange(1500) == 1) && Damage.GetSpellDamage(player, target, SpellSlot.R) > targHP && targHP > 0; if (rLogic && target.Distance(player) < R.Range) { if (GarenE) { E.Cast(config.Item("packets").GetValue <bool>()); } else { R.Cast(target, config.Item("packets").GetValue <bool>()); } } if (config.Item("usew", true).GetValue <bool>() && W.IsReady() && player.CountEnemiesInRange(E.Range) > 0 && target.IsFacing(player)) { W.Cast(config.Item("packets").GetValue <bool>()); } 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 && !Q.IsReady() && !CombatHelper.IsFacing(target, player.Position) && !GarenQ) { if (GarenE) { E.Cast(config.Item("packets").GetValue <bool>()); } else if (!player.Position.Extend(target.Position, 425f).IsWall()) { } { player.Spellbook.CastSpell( player.GetSpellSlot("SummonerFlash"), player.Position.Extend(target.Position, 425f)); } } }
private void Combo() { AIHeroClient target = DrawHelper.GetBetterTarget(1700, TargetSelector.DamageType.Magical, true); if (target == null || target.IsInvulnerable || target.MagicImmune) { return; } if (config.Item("useItems").GetValue <bool>()) { ItemHandler.UseItems(target, config, ComboDamage(target)); } var edmg = getEdamage(target); var qdmg = getQdamage(target); var ignitedmg = (float)player.GetSummonerSpellDamage(target, Damage.SummonerSpell.Ignite); bool hasIgnite = player.Spellbook.CanUseSpell(player.GetSpellSlot("SummonerDot")) == SpellState.Ready; if (config.Item("useIgnite", true).GetValue <bool>() && ignitedmg > HealthPrediction.GetHealthPrediction(target, 700) && hasIgnite && !CombatHelper.CheckCriticalBuffs(target) && (!ActiveQ || (!(CombatHelper.IsFacing(player, target.Position, 30) && target.Distance(player) < Q.Range)))) { player.Spellbook.CastSpell(player.GetSpellSlot("SummonerDot"), target); } if (Q.CanCast(target) && config.Item("useq", true).GetValue <bool>() && Qhit(target.Position) && (preventSilence(Q) || (target.Health < PassiveDmg(target) * 2 || qdmg > target.Health) && target.Distance(player) < Orbwalking.GetRealAutoAttackRange(target))) { Q.Cast(target.Position); } if (config.Item("usee", true).GetValue <bool>() && E.CanCast(target) && (((preventSilence(E) || (target.Health < PassiveDmg(target) * 2 && target.Distance(player) < Orbwalking.GetRealAutoAttackRange(target))) && (!ActiveE || System.Environment.TickCount - lastE > config.Item("eDelay", true).GetValue <Slider>().Value)) || edmg > target.Health)) { E.CastIfHitchanceEquals(target, HitChance.High); } if (W.IsReady() && config.Item("wSpeed", true).GetValue <bool>() && ActiveQ && preventSilence(W) && target.Distance(player) < Q.Range && Prediction.GetPrediction(target, 0.2f).UnitPosition.Distance(player.Position) > Q.Range) { W.Cast(); } var canR = ComboDamage(target) > target.Health && qdmg < target.Health && target.Distance(player) < Q.Range && !Silenced; if (R.IsReady() && (((target.Health < getRdamage(target) * ((target.CountAlliesInRange(600) > 0 && target.HealthPercent > 15) ? 5 : 3) && target.Distance(player) > Q.Range) || (target.Distance(player) < Q.Range && target.Health < getRdamage(target) * 3 + edmg && target.Health > qdmg)) || player.CountEnemiesInRange(R.Range) >= config.Item("Rmin", true).GetValue <Slider>().Value)) { HandleR(target, canR); } }
private void Game_OnGameUpdate(EventArgs args) { Obj_AI_Hero target = TargetSelector.GetTarget( Q.Range + player.MoveSpeed * 3, TargetSelector.DamageType.Physical); if (ShacoStealth && target != null && target.Health > ComboDamage(target) && CombatHelper.IsFacing(target, player.Position) && orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Combo) { orbwalker.SetAttack(false); } else { orbwalker.SetAttack(true); } if (!ShacoClone) { cloneTime = System.Environment.TickCount; } switch (orbwalker.ActiveMode) { case Orbwalking.OrbwalkingMode.Combo: Combo(target); break; case Orbwalking.OrbwalkingMode.Mixed: Harass(); break; case Orbwalking.OrbwalkingMode.LaneClear: Clear(); break; case Orbwalking.OrbwalkingMode.LastHit: break; default: break; } if (E.IsReady()) { var ksTarget = HeroManager.Enemies.FirstOrDefault( h => h.IsValidTarget() && !h.Buffs.Any(b => CombatHelper.invulnerable.Contains(b.Name)) && h.Health < E.GetDamage(h)); if (ksTarget != null) { if ((config.Item("ks", true).GetValue <bool>() || config.Item("ksq", true).GetValue <bool>()) && E.CanCast(ksTarget) && player.Mana > E.Instance.ManaCost) { E.Cast(ksTarget); } if (Q.IsReady() && config.Item("ks", true).GetValue <bool>() && ksTarget.Distance(player) < Q.Range + E.Range && ksTarget.Distance(player) > E.Range && !player.Position.Extend(ksTarget.Position, Q.Range).IsWall() && player.Mana > Q.Instance.ManaCost + E.Instance.ManaCost) { Q.Cast(player.Position.Extend(ksTarget.Position, Q.Range)); } } } if (config.Item("stackBox", true).GetValue <KeyBind>().Active&& W.IsReady()) { var box = ObjectManager.Get <Obj_AI_Minion>() .Where(m => m.Distance(player) < W.Range && m.Name == "Jack In The Box" && !m.IsDead) .OrderBy(m => m.Distance(Game.CursorPos)) .FirstOrDefault(); if (box != null) { W.Cast(box.Position); } else { if (player.Distance(Game.CursorPos) < W.Range) { W.Cast(Game.CursorPos); } else { W.Cast(player.Position.Extend(Game.CursorPos, W.Range)); } } } Jungle.CastSmite(config.Item("useSmite").GetValue <KeyBind>().Active); if (ShacoClone && !GhostDelay && config.Item("autoMoveClone", true).GetValue <bool>()) { moveClone(); } }
private static void Combo() { var target = TargetSelector.GetTarget(700, DamageType.Physical); if (target == null) { return; } var hasIgnite = player.Spellbook.CanUseSpell(player.GetSpellSlot("SummonerDot")) == SpellState.Ready; var ignitedmg = (float)player.GetSummonerSpellDamage(target, Damage.SummonerSpell.Ignite); if (getCheckBoxItem(comboMenu, "useIgnite") && hasIgnite && ((R.IsReady() && ignitedmg + R.GetDamage(target) > target.Health) || ignitedmg > target.Health) && (target.LSDistance(player) > E.Range || player.HealthPercent < 20)) { player.Spellbook.CastSpell(player.GetSpellSlot("SummonerDot"), target); } if (getCheckBoxItem(comboMenu, "useq") && Q.IsReady() && player.LSDistance(target) > player.AttackRange && !GarenE && !GarenQ && player.LSDistance(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(getCheckBoxItem(config, "packets")); } if (getCheckBoxItem(comboMenu, "useq") && Q.IsReady() && !GarenQ && (!GarenE || (Q.IsReady() && player.LSGetSpellDamage(target, SpellSlot.Q) > target.Health))) { if (GarenE) { E.Cast(getCheckBoxItem(config, "packets")); } Q.Cast(getCheckBoxItem(config, "packets")); Player.IssueOrder(GameObjectOrder.AutoAttack, target); } if (getCheckBoxItem(comboMenu, "usee") && E.IsReady() && !Q.IsReady() && !GarenQ && !GarenE && player.CountEnemiesInRange(E.Range) > 0) { E.Cast(getCheckBoxItem(config, "packets")); } var targHP = target.Health + 20 - CombatHelper.IgniteDamage(target); var rLogic = getCheckBoxItem(comboMenu, "user") && R.IsReady() && target.LSIsValidTarget() && (!getCheckBoxItem(miscMenu, "ult" + target.BaseSkinName) || player.CountEnemiesInRange(1500) == 1) && getRDamage(target) > targHP && targHP > 0; if (rLogic && target.LSDistance(player) < R.Range) { R.Cast(target, getCheckBoxItem(config, "packets")); } var data = IncDamages.GetAllyData(player.NetworkId); if (getCheckBoxItem(comboMenu, "usew") && W.IsReady() && target.IsFacing(player) && data.DamageTaken > 40) { W.Cast(getCheckBoxItem(config, "packets")); } var hasFlash = player.Spellbook.CanUseSpell(player.GetSpellSlot("SummonerFlash")) == SpellState.Ready; if (getCheckBoxItem(comboMenu, "useFlash") && hasFlash && rLogic && target.LSDistance(player) < R.Range + 425 && target.LSDistance(player) > R.Range + 250 && !Q.IsReady() && !CombatHelper.IsFacing(target, player.Position) && !GarenQ) { if (target.LSDistance(player) < R.Range + 300 && player.MoveSpeed > target.MoveSpeed) { return; } if (GarenE) { E.Cast(getCheckBoxItem(config, "packets")); } else if (!player.Position.LSExtend(target.Position, 425f).IsWall()) { } { player.Spellbook.CastSpell(player.GetSpellSlot("SummonerFlash"), player.Position.LSExtend(target.Position, 425f)); } } }
private void Combo() { AIHeroClient target = DrawHelper.GetBetterTarget( E.Range, TargetSelector.DamageType.Physical, true, HeroManager.Enemies.Where(h => h.IsInvulnerable)); if (target == null) { return; } bool canKill = ComboDamage(target) + ItemHandler.GetItemsDamage(target) + player.GetAutoAttackDamage(target) * 2 > target.Health; var ignitedmg = (float)player.GetSummonerSpellDamage(target, Damage.SummonerSpell.Ignite); bool hasIgnite = player.Spellbook.CanUseSpell(player.GetSpellSlot("SummonerDot")) == SpellState.Ready; if (config.Item("useIgnite", true).GetValue <bool>() && ignitedmg > target.Health && hasIgnite && !CombatHelper.CheckCriticalBuffs(target) && !E.CanCast(target) && !justQ && !justE && (target.Distance(player) > 500 || player.HealthPercent < 25)) { player.Spellbook.CastSpell(player.GetSpellSlot("SummonerDot"), target); } if (rActive) { return; } if (canKill) { orbwalker.SetAttack(true); } if (config.Item("useq", true).GetValue <bool>() && Q.CanCast(target) && target.Health < player.GetAutoAttackDamage(target) + Q.GetDamage(target)) { Q.Cast(); EloBuddy.Player.IssueOrder(GameObjectOrder.AutoAttack, target); } if (config.Item("usew", true).GetValue <bool>() && !Q.IsReady() && !qActive && !player.UnderTurret(true) && W.IsReady() && !canKill && ((!Q.IsReady() && !E.IsReady() && !justE && target.HealthPercent > 20 && config.Item("wHealth", true).GetValue <Slider>().Value > player.HealthPercent && Orbwalking.GetRealAutoAttackRange(target) > player.Distance(target) && CombatHelper.IsFacing(target, player.Position, 45)) || (config.Item("wOnFocus", true).GetValue <bool>() && Program.IncDamages.GetAllyData(player.NetworkId).DamageCount >= 3))) { W.Cast(); } if (R.IsReady() && config.Item("userone", true).GetValue <bool>() && canKill && !eActive && !Q.IsReady() && player.Distance(target) < R.Range && player.HealthPercent < 55 && player.HealthPercent > 10) { R.Cast(); } if (R.IsReady() && config.Item("Rmin", true).GetValue <Slider>().Value <= player.CountEnemiesInRange(R.Range)) { R.Cast(); } if (config.Item("useItems").GetValue <bool>()) { ItemHandler.UseItems(target, config); } if (config.Item("usee", true).GetValue <bool>() && E.CanCast(target) && Orbwalking.CanMove(100) && (config.Item("eMinRange", true).GetValue <Slider>().Value < player.Distance(target) || player.HealthPercent < 20 || (player.CountEnemiesInRange(800) == 1 && target.HealthPercent < 20))) { E.CastOnUnit(target); } }
private void Game_OnGameUpdate(EventArgs args) { orbwalker.SetAttack(true); Jungle.CastSmite(config.Item("useSmite").GetValue <KeyBind>().Active); switch (orbwalker.ActiveMode) { case Orbwalking.OrbwalkingMode.Combo: Combo(); break; case Orbwalking.OrbwalkingMode.Mixed: Harass(); break; case Orbwalking.OrbwalkingMode.LaneClear: Clear(); break; case Orbwalking.OrbwalkingMode.LastHit: Lasthit(); break; default: break; } if (config.Item("AutoR", true).GetValue <bool>() && R.IsReady()) { foreach (var enemy in HeroManager.Enemies.Where( e => ((e.UnderTurret(true) && e.HealthPercent < config.Item("Rhealt", true).GetValue <Slider>().Value * 0.75) || (!e.UnderTurret(true) && e.HealthPercent < config.Item("Rhealt", true).GetValue <Slider>().Value)) && e.HealthPercent > config.Item("RhealtMin", true).GetValue <Slider>().Value&& e.IsValidTarget() && e.Distance(player) > 1500)) { var ally = HeroManager.Allies.OrderBy(a => a.Health) .FirstOrDefault( a => enemy.Distance(a) < 700 && CombatHelper.IsFacing(a, enemy.Position) || CombatHelper.IsFacing(enemy, a.Position)); if (ally != null) { var pos = Prediction.GetPrediction(enemy, 0.75f).CastPosition; if ( !(CombatHelper.IsFacing(ally, enemy.Position) && CombatHelper.IsFacing(enemy, ally.Position)) && pos.Distance(enemy.Position) < 450 && enemy.IsMoving) { pos = enemy.Position.Extend(pos, 450); } if (pos.IsValid()) { R.Cast(pos); } } } } if (config.Item("AutoQBarrel", true).GetValue <bool>() && Q.IsReady()) { var barrel = GetBarrels() .FirstOrDefault( o => o.IsValid && !o.IsDead && o.Distance(player) < Q.Range && o.SkinName == "GangplankBarrel" && o.GetBuff("gangplankebarrellife").Caster.IsMe&& KillableBarrel(o) && o.CountEnemiesInRange(BarrelExplosionRange - 50) > 0); if (barrel != null) { Q.Cast(barrel); } } }
public static void Game_ProcessSpell(Obj_AI_Base hero, GameObjectProcessSpellCastEventArgs args) { if (args == null || hero == null) { return; } Obj_AI_Hero targetW = TargetSelector.GetTarget(W.Range, TargetSelector.DamageType.Physical); var spellName = args.SData.Name; Obj_AI_Hero target = args.Target as Obj_AI_Hero; if (targetW != null) { hero = targetW; } if (hero.IsMe) { if (args.SData.Name == "FioraE") { Orbwalking.ResetAutoAttackTimer(); } } if (config.Item("usewCC", true).GetValue <bool>()) { if (spellName == "CurseofTheSadMummy") { if (player.Distance(hero.Position) <= 600f) { W.Cast(TargetSelector.GetTarget(W.Range, TargetSelector.DamageType.Physical)); } } if (CombatHelper.IsFacing(target, player.Position) && (spellName == "EnchantedCrystalArrow" || spellName == "rivenizunablade" || spellName == "EzrealTrueshotBarrage" || spellName == "JinxR" || spellName == "sejuaniglacialprison")) { if (player.Distance(hero.Position) <= W.Range - 60) { W.Cast(TargetSelector.GetTarget(W.Range, TargetSelector.DamageType.Physical)); } } if (spellName == "InfernalGuardian" || spellName == "UFSlash" || (spellName == "RivenW" && player.HealthPercent < 25)) { if (player.Distance(args.End) <= 270f) { W.Cast(TargetSelector.GetTarget(W.Range, TargetSelector.DamageType.Physical)); } } if (spellName == "BlindMonkRKick" || spellName == "SyndraR" || spellName == "VeigarPrimordialBurst" || spellName == "AlZaharNetherGrasp" || spellName == "LissandraR") { if (args.Target.IsMe) { W.Cast(TargetSelector.GetTarget(W.Range, TargetSelector.DamageType.Physical)); } } if (spellName == "TristanaR" || spellName == "ViR") { if (args.Target.IsMe || player.Distance(args.Target.Position) <= 100f) { W.Cast(TargetSelector.GetTarget(W.Range, TargetSelector.DamageType.Physical)); } } if (spellName == "GalioIdolOfDurand") { if (player.Distance(hero.Position) <= 600f) { W.Cast(TargetSelector.GetTarget(W.Range, TargetSelector.DamageType.Physical)); } } if (target != null && target.IsMe) { if (CombatHelper.isTargetedCC(spellName) && spellName != "NasusW" && spellName != "ZedUlt") { W.Cast(TargetSelector.GetTarget(W.Range, TargetSelector.DamageType.Physical)); } } } }
private void Combo() { AIHeroClient target = DrawHelper.GetBetterTarget(700, 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.GetSpellDamage(player, target, SpellSlot.Q) > target.Health))) { if (GarenE) { E.Cast(); } Q.Cast(); Player.IssueOrder(GameObjectOrder.AutoAttack, target); } if (config.Item("usee", true).GetValue <bool>() && E.IsReady() && !Q.IsReady() && !GarenQ && !GarenE && !Orbwalking.CanAttack() && !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.IsValidTarget() && (!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)); } } }