public override void Execute() { if (!Config.Modes.LC.UseQ) { return; } LastHit(Q1); if (EntityManager.MinionsAndMonsters.CombinedAttackable.Any(m => m.Distance(Player.Instance) < Q1.Range && m.Health <= 2 * Player.Instance.GetSpellDamage(m, SpellSlot.Q))) { return; } //Logger.Debug("Hi, I'm trying to lane clear"); Obj_AI_Minion laneClear = EntityManager.MinionsAndMonsters.EnemyMinions.FirstOrDefault( m => m.Health > 2.5 * Player.Instance.GetSpellDamage(m, SpellSlot.Q)); if (laneClear == null || !laneClear.IsValid || laneClear.IsDead) { return; } { if (Q1.GetPrediction(laneClear).HitChancePercent > 25) { Q1.Cast(laneClear); } } }
private void Spellbook_OnCastSpell(Spellbook sender, SpellbookCastSpellEventArgs args) { if (args.Slot == SpellSlot.R && !Config[Player.CharacterName]["RConfig"].GetValue <MenuKeyBind>("smartR").Active) { var t = args.Target as AIHeroClient; if (t != null && t.Health - OktwCommon.GetIncomingDamage(t) > R.GetDamage(t) * 2.5) { if (E.IsReady() && Player.Mana > RMANA + EMANA) { E.CastOnUnit(t); args.Process = false; return; } if (W.IsReady() && Player.Mana > RMANA + WMANA) { W.Cast(t.Position); args.Process = false; return; } if (Q.IsReady() && t.IsValidTarget(Q.Range) && Player.Mana > RMANA + QMANA) { Q1.Cast(t); args.Process = false; return; } } if (R.IsReady() && t.IsValidTarget()) { Rtime = Game.Time; } } }
private void Jungle() { if (Program.LaneClear && Player.Mana > RMANA + WMANA + WMANA) { var mobs = Cache.GetMinions(Player.ServerPosition, 700, MinionTeam.Neutral); if (mobs.Count > 0) { var mob = mobs[0]; if (Range) { if (Q.IsReady() && Config.Item("jungleQ", true).GetValue <bool>()) { Q.Cast(mob.ServerPosition); return; } if (W.IsReady() && Config.Item("jungleE", true).GetValue <bool>()) { if (SebbyLib.Orbwalking.InAutoAttackRange(mob)) { W.Cast(); } return; } if (Config.Item("jungleR", true).GetValue <bool>()) { R.Cast(); } } else { if (Q1.IsReady() && Config.Item("jungleQm", true).GetValue <bool>() && mob.IsValidTarget(Q1.Range)) { Q1.Cast(mob); return; } if (W1.IsReady() && Config.Item("jungleWm", true).GetValue <bool>()) { if (mob.IsValidTarget(300)) { W.Cast(); } return; } if (E1.IsReady() && Config.Item("jungleEm", true).GetValue <bool>() && mob.IsValidTarget(E1.Range)) { if (mob.IsValidTarget(E1.Range)) { E1.Cast(mob); } return; } if (Config.Item("jungleR", true).GetValue <bool>()) { R.Cast(); } } } } }
private void Jungle() { if (Program.LaneClear && Player.Mana > RMANA + QMANA) { var mobs = Cache.GetMinions(Player.ServerPosition, 650, MinionTeam.Neutral); if (mobs.Count > 0) { var mob = mobs[0]; if (Q1.IsReady() && Config.Item("jungleQ", true).GetValue <bool>()) { Q1.Cast(mob.ServerPosition); return; } else if (E.IsReady() && Config.Item("jungleE", true).GetValue <bool>()) { E.Cast(mob.ServerPosition); return; } else if (W.IsReady() && Config.Item("jungleW", true).GetValue <bool>()) { W.Cast(); return; } } } }
/// <summary> /// The cast qe hammer. /// </summary> private static void CastQEHammer() { var Enemies = GameObjects.EnemyHeroes.Where(x => (x != null) && x.IsValidTarget()); foreach (var Enemy in Enemies.Where(x => x.IsValidTarget(E1.Range) && (Q1.GetDamage(x) + HammerEDmg(x) > x.Health))) { if (RangeForm()) { if (R.IsReady()) { R.Cast(); } } else { if (Q1.IsReady() && E1.IsReady()) { Q1.Cast(Enemy); if (E1.IsReady()) { E1.Cast(); } } } } }
//c public static void Combo() { var Target = TargetSelector.GetTarget(Q1.Range, DamageType.Physical); if (Target == null) { return; } var useQ = ModesMenu1["ComboQ"].Cast <CheckBox>().CurrentValue; var useQ2 = ModesMenu1["ComboQ2"].Cast <CheckBox>().CurrentValue; var Qp = Q1.GetPrediction(Target); if (!Target.IsValid()) { return; } if (Q1.IsReady() && useQ && !Target.IsInvulnerable && Q1.Name.Equals("BlindMonkQOne", StringComparison.InvariantCultureIgnoreCase)) { if (Qp.HitChance >= HitChance.High) { Q1.Cast(Qp.CastPosition); } } if (Q2.IsReady() && useQ2 && !Target.IsInvulnerable && Q2.Name.Equals("blindmonkqtwo", StringComparison.InvariantCultureIgnoreCase)) { Q2.Cast(); } }
private void Spellbook_OnCastSpell(Spellbook sender, SpellbookCastSpellEventArgs args) { if (args.Slot == SpellSlot.R && !MainMenu.Item("smartR", true).GetValue <KeyBind>().Active) { var t = args.Target as Obj_AI_Hero; if (t != null && t.Health - OktwCommon.GetIncomingDamage(t) > R.GetDamage(t) * 2.5) { if (E.IsReady() && Player.Mana > RMANA + EMANA) { E.CastOnUnit(t); args.Process = false; return; } if (W.IsReady() && Player.Mana > RMANA + WMANA) { W.Cast(t.Position); args.Process = false; return; } if (Q.IsReady() && t.IsValidTarget(Q.Range) && Player.Mana > RMANA + QMANA) { Q1.Cast(t); args.Process = false; return; } } if (R.IsReady() && t.IsValidTarget()) { Rtime = Game.Time; } } }
private static void AutoSpells(EventArgs args) { //E Edetonation(); //R Actives(); if (Config.Item("semi-ult").GetValue <KeyBind>().Active) { var target = TargetSelector.GetTarget(R1.Range, TargetSelector.DamageType.Magical); if (target == null || !target.IsValid) { return; } if (R1.IsReady()) { SpellCast(target, R1.Range, R1, false, 1, false, PredR("prediction.R")); } } if (Config.Item("semi-w").GetValue <KeyBind>().Active) { var ally = HeroManager.Allies.Where(a => a.IsValid && !a.IsMinion && !a.IsMe).OrderBy(a => a.Distance(Game.CursorPosRaw)).FirstOrDefault(); if (W1.IsReady()) { W1.Cast(ally); } } if (Q1.IsReady() && Config.Item("autospells.Q.cc").GetValue <bool>()) { var target = TargetSelector.GetTarget(Q1.Range, TargetSelector.DamageType.Magical); if (target == null || !target.IsValid) { return; } var cc = target.HasBuffOfType(BuffType.Snare) || target.HasBuffOfType(BuffType.Suppression) || target.HasBuffOfType(BuffType.Taunt) || target.HasBuffOfType(BuffType.Stun) || target.HasBuffOfType(BuffType.Charm) || target.HasBuffOfType(BuffType.Fear); } if (Q1.IsReady() && Config.Item("autospells.Q.collision").GetValue <bool>()) { var enemies = HeroManager.Enemies.Where(e => e.IsValidTarget(Q1.Range)); foreach (var enemy in enemies) { if (enemy == null) { return; } var collisionobjects = Q1.GetPrediction(enemy).CollisionObjects.Where(c => c.IsEnemy && !c.IsMinion); if (collisionobjects.Count() == 1) { Q1.Cast(enemy); } } } }
public override void useQ(Obj_AI_Base target) { if (!Q1.IsReady() || target == null || player.IsInvulnerable) { return; } Q1.Cast(); }
private void LogicQ() { var t = TargetSelector.GetTarget(Q3.Range, TargetSelector.DamageType.Magical); if (t.IsValidTarget()) { if (Program.Combo && Player.Mana > RMANA + QMANA + EMANA) { CastQ(t); } else if (Program.Harass && Config.Item("harassQ", true).GetValue <bool>() && Config.Item("Harass" + t.ChampionName).GetValue <bool>() && Player.ManaPercent > Config.Item("QHarassMana", true).GetValue <Slider>().Value&& OktwCommon.CanHarras()) { CastQ(t); } else if (OktwCommon.GetKsDamage(t, Q1) > t.Health) { CastQ(t); } else if (Player.Mana > RMANA + QMANA) { foreach (var enemy in HeroManager.Enemies.Where(enemy => enemy.IsValidTarget(Q3.Range) && !OktwCommon.CanMove(enemy))) { CastQ(t); } } } if (Player.IsWindingUp) { return; } if (!Program.None && !Program.Combo) { var allMinions = Cache.GetMinions(Player.ServerPosition, Q1.Range); if (Config.Item("farmQout", true).GetValue <bool>() && Player.Mana > RMANA + QMANA + EMANA + WMANA) { foreach (var minion in allMinions.Where(minion => minion.IsValidTarget(Q1.Range) && (!Orbwalker.InAutoAttackRange(minion) || (!minion.UnderTurret(true) && minion.UnderTurret())))) { var hpPred = SebbyLib.HealthPrediction.GetHealthPrediction(minion, 600); if (hpPred < Q1.GetDamage(minion) && hpPred > minion.Health - hpPred * 2) { Q1.Cast(minion); return; } } } if (FarmSpells && Config.Item("farmQ", true).GetValue <bool>()) { var farmPos = Q1.GetCircularFarmLocation(allMinions, Q1.Width); if (farmPos.MinionsHit >= FarmMinions) { Q1.Cast(farmPos.Position); } } } }
private static void Gapcloser_OnGapcloser(AIHeroClient sender, Gapcloser.GapcloserEventArgs e) { if (sender == null) { return; } { if (sender.IsEnemy && sender.IsKillable(1000)) { if (AutoMenu.CheckBoxValue("GapQ") && Q.IsReady() && e.End.IsInRange(user, Q.Range)) { Q.Cast(e.End); } if (AutoMenu.CheckBoxValue("GapQ1") && Q.IsReady() && e.End.IsInRange(Pix.ServerPosition, Q1.Range)) { Q1.Cast(e.End); } if (AutoMenu.CheckBoxValue("GapW") && W.IsReady() && e.End.IsInRange(user, W.Range)) { if (sender.IsKillable(W.Range)) { W.Cast(sender); } } if (AutoMenu.CheckBoxValue("GapE") && E.IsReady() && e.End.IsInRange(user, E.Range)) { if (sender.IsKillable(E.Range)) { E.Cast(sender); } } if (AutoMenu.CheckBoxValue("GapR") && R.IsReady() && e.End.IsInRange(user, 300) && user.HealthPercent < 15) { R.Cast(user); } } if (!sender.IsAlly) { return; } { if (!AutoMenu.CheckBoxValue("GapWally") || !W.IsReady() || !sender.IsInRange(user, W.Range)) { return; } { if (sender.IsKillable(W.Range)) { W.Cast(sender); } } } } }
public override void farm() { var minions = ObjectManager.Get <Obj_AI_Minion>().Where(x => x.IsEnemy && x.Distance(player.Position) <= 250f); if (minions.Count() >= 2 && !player.IsInvulnerable && Q1.IsReady()) { Q1.Cast(); } }
/// <summary> /// The cast Q melee. /// </summary> private static void CastQMelee() { var target = Variables.TargetSelector.GetTarget(Q1.Range, DamageType.Physical); if (target != null) { if (Q1.IsReady() && target.IsValidTarget(Q1.Range)) { Q1.Cast(target); } } }
/// <summary> /// The cast q hammer. /// </summary> private static void CastQHammer() { if (Q1.IsReady()) { var Enemies = GameObjects.EnemyHeroes.Where(x => (x != null) && x.IsValidTarget()); foreach (var Enemy in Enemies.Where(x => x.IsValidTarget(Q1.Range) && (Q1.GetDamage(x) > x.Health))) { Q1.Cast(Enemy); } } }
/// <summary> /// The cast Q melee. /// </summary> private static void CastQMelee() { var Minions = GameObjects.JungleLarge.Where(x => x.IsValidTarget(Q1.Range)); foreach (var Minion in Minions) { if (Q1.IsReady()) { Q1.Cast(Minion); } } }
private static void OnGapcloser(AIHeroClient sender, Gapcloser.GapcloserArgs args) { if (sender.IsEnemy && !sender.IsDead && !myhero.IsDead && args.EndPosition.DistanceToPlayer() < Q1.Range && Q1.IsReady()) { //Q1.CastIfHitchanceEquals(sender, HitChance.Dash, true); var pred = Q1.GetPrediction(sender); if (pred.Hitchance == HitChance.Dash) { Q1.Cast(pred.CastPosition); } } }
private void LogicQ() { if (Program.Combo || Program.Harass) { foreach (var enemy in HeroManager.Enemies.Where(enemy => enemy.IsValidTarget(Q1.Range) && enemy.HasBuff("urgotcorrosivedebuff"))) { if (W.IsReady() && (Player.Mana > WMANA + QMANA * 4 || Q.GetDamage(enemy) * 3 > enemy.Health) && Config.Item("autoW", true).GetValue <bool>()) { W.Cast(); Program.debug("W"); } Program.debug("E"); Q1.Cast(enemy.ServerPosition); return; } } var t = TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Physical); if (Player.CountEnemiesInRange(Q.Range - 200) > 0) { t = TargetSelector.GetTarget(Q.Range - 200, TargetSelector.DamageType.Physical); } if (t.IsValidTarget()) { if (Program.Combo && Player.Mana > RMANA + QMANA) { Program.CastSpell(Q, t); } else if (Program.Harass && Player.Mana > RMANA + EMANA + QMANA + WMANA && OktwCommon.CanHarras()) { foreach (var enemy in HeroManager.Enemies.Where(enemy => enemy.IsValidTarget(Q.Range) && Config.Item("Harass" + t.ChampionName).GetValue <bool>())) { Program.CastSpell(Q, enemy); } } else if (OktwCommon.GetKsDamage(t, Q) * 2 > t.Health) { Program.CastSpell(Q, t); } if (!Program.None && Player.Mana > RMANA + QMANA) { foreach (var enemy in HeroManager.Enemies.Where(enemy => enemy.IsValidTarget(Q.Range) && !OktwCommon.CanMove(enemy))) { Q.Cast(enemy, true); } } } }
public override void Execute() { if (Settings.UseE) { AIHeroClient target = TargetSelector.GetTarget(E.Range, DamageType.Physical); if (target != null) { PredictionResult pred = E.GetPrediction(target); if (pred.HitChancePercent >= 80) { E.Cast(target); } } } if (Settings.UseQ && Q1.IsReady()) { //EntityManager.Heroes.Enemies.ForEach(e => e.Buffs.ForEach(b=>Logger.Debug(b.Name))); AIHeroClient target = EntityManager.Heroes.Enemies.Where (hero => hero.Distance(Player.Instance) < 1200 && hero.HasBuff("urgotcorrosivedebuff")) .OrderByDescending(TargetSelector.GetPriority) .FirstOrDefault(); if (target != null) { Q2.Cast(target); } else { target = TargetSelector.GetTarget(Q1.Range, DamageType.Physical); if (target != null) { Q1.Cast(target); } } } if (Settings.UseR && R.IsReady()) { AIHeroClient target = TargetSelector.GetTarget(R.Range, DamageType.Mixed); if (target == null) { return; } if (EntityManager.Heroes.Allies.Count(o => o.Distance(Player.Instance) <= o.GetAutoAttackRange()) > EntityManager.Heroes.Enemies.Count(o => o.Distance(target) <= o.GetAutoAttackRange()) && !target.IsUnderHisturret()) { //Should I ever use R during combo? R.Cast(target); } } }
private void FleeMode() { if (Range) { if (E.IsReady()) { E.Cast(Player.Position.Extend(Game.CursorPos, 150)); } else if (R.IsReady()) { R.Cast(); } } else { if (Q1.IsReady()) { var mobs = Cache.GetMinions(Player.ServerPosition, Q1.Range); if (mobs.Count > 0) { Obj_AI_Base best; best = mobs[0]; foreach (var mob in mobs.Where(mob => mob.IsValidTarget(Q1.Range))) { if (mob.Distance(Game.CursorPos) < best.Distance(Game.CursorPos)) { best = mob; } } if (best.Distance(Game.CursorPos) + 200 < Player.Distance(Game.CursorPos)) { Q1.Cast(best); } } else if (R.IsReady()) { R.Cast(); } } else if (R.IsReady()) { R.Cast(); } } //Player.IssueOrder(GameObjectOrder.MoveTo, Game.CursorPos); }
private void LogicQ2() { var t = TargetSelector.GetTarget(Q1.Range, TargetSelector.DamageType.Physical); if (t.IsValidTarget()) { if (OktwCommon.GetKsDamage(t, Q1) > t.Health) { Q1.Cast(t); } else if (Program.Combo && Player.Mana > RMANA + QMANA) { Q1.Cast(t); } } }
public override void Execute() { Obj_AI_Minion jungleMinion = EntityManager.MinionsAndMonsters.GetJungleMonsters(Player.Instance.ServerPosition, 500).OrderByDescending(m => m.Health).FirstOrDefault(); if (jungleMinion == null) { return; } E.Cast(jungleMinion); Q1.Cast(jungleMinion); if (jungleMinion.Health > Player.Instance.FlatPhysicalDamageMod * 2) { W.Cast(); } }
private static void FarmMethod() { var mana = Config.Item("laneclear.mana.slider").GetValue <Slider>().Value; var level = Config.Item("laneclear.level").GetValue <Slider>().Value; if (player.ManaPercent < mana || player.Level < level) { return; } var eminions = Config.Item("laneclear.E.count").GetValue <Slider>().Value; var qminions = Config.Item("laneclear.Q.count").GetValue <Slider>().Value; var minions = MinionManager.GetMinions(E1.Range, MinionTypes.All, MinionTeam.Enemy).Where(m => m.IsValid && m.Distance(Player) < E1.Range).ToList(); var aaminions = MinionManager.GetMinions(E1.Range, MinionTypes.All, MinionTeam.Enemy).Where(m => m.IsValid && m.Distance(Player) < Orbwalking.GetRealAutoAttackRange(player)).ToList(); var efarmpos = E1.GetCircularFarmLocation(new List <AIBaseClient>(minions), E1.Width); if (efarmpos.MinionsHit >= eminions && E1.IsReady() && Config.Item("laneclear.E").GetValue <bool>() && Environment.TickCount - Q1.LastCastAttemptT > 450) { E1.Cast(efarmpos.Position); } var qfarmpos = Q1.GetLineFarmLocation(new List <AIBaseClient>(minions), Q1.Width); if (qfarmpos.MinionsHit >= qminions && Q1.IsReady() && Config.Item("laneclear.Q").GetValue <bool>() && Environment.TickCount - E1.LastCastAttemptT > 450) { Q1.Cast(qfarmpos.Position); } foreach (var minion in aaminions.Where(m => m.IsMinion && !m.IsDead && m.HasBuff("luxilluminatingfraulein"))) { if (minion.IsValid) { Player.IssueOrder(GameObjectOrder.AttackUnit, minion); } } }
public override void Execute() { if (Player.Instance.ManaPercent < 25) { return; } // TODO: Add harass logic here // See how I used the Settings.UseQ and Settings.Mana here, this is why I love // my way of using the menu in the Config class! if (Settings.UseE) { AIHeroClient target = TargetSelector.GetTarget(E.Range, DamageType.Physical); if (target != null) { PredictionResult pred = E.GetPrediction(target); if (pred.HitChancePercent >= 80) { E.Cast(target); } } } if (Settings.UseQ && Q1.IsReady()) { //EntityManager.Heroes.Enemies.ForEach(e => e.Buffs.ForEach(b=>Logger.Debug(b.Name))); AIHeroClient target = EntityManager.Heroes.Enemies.Where (hero => hero.Distance(Player.Instance) < 1200 && hero.HasBuff("urgotcorrosivedebuff")) .OrderBy(TargetSelector.GetPriority) .FirstOrDefault(); if (target != null) { Q2.Cast(target); } else { target = TargetSelector.GetTarget(Q1.Range, DamageType.Physical); if (target != null) { Q1.Cast(target); } } } }
private static void JungleMethod() { var mana = Config.Item("jungleclear.mana.slider").GetValue <Slider>().Value; if (player.ManaPercent < mana) { return; } var minions = MinionManager.GetMinions(E1.Range, MinionTypes.All, MinionTeam.Neutral).Where(m => m.IsValid && m.Distance(Player) < E1.Range && m != null).OrderBy(m => m.MaxHealth); var aaminions = MinionManager.GetMinions(E1.Range, MinionTypes.All, MinionTeam.Neutral).Where(m => m.IsValid && m.Distance(Player) < Orbwalking.GetRealAutoAttackRange(player) && m != null).OrderBy(m => m.MaxHealth); var efarmpos = E1.GetCircularFarmLocation(new List <Obj_AI_Base>(minions), E1.Width); if (efarmpos.MinionsHit >= 1 && E1.IsReady() && Config.Item("jungleclear.E").GetValue <bool>() && Environment.TickCount - Q1.LastCastAttemptT > 450) { E1.Cast(efarmpos.Position); } var qfarmpos = Q1.GetLineFarmLocation(new List <Obj_AI_Base>(minions), Q1.Width); if (qfarmpos.MinionsHit >= 1 && Q1.IsReady() && Config.Item("jungleclear.Q").GetValue <bool>() && Environment.TickCount - E1.LastCastAttemptT > 450) { Q1.Cast(qfarmpos.Position); } foreach (var minion in aaminions.Where(m => m.IsMinion && !m.IsDead && m.HasBuff("luxilluminatingfraulein"))) { if (minion.IsValid && minion != null) { EloBuddy.Player.IssueOrder(GameObjectOrder.AutoAttack, minion); } } }
private void FarmQ() { var minions = Cache.GetMinions(Player.ServerPosition, Q.Range); int countMinion = 0; Obj_AI_Base bestMinion = null; foreach (var minion in minions.Where(minion => minion.HealthPercent <95 && minion.IsValidTarget(Q.Range) && Q.GetDamage(minion)> minion.Health)) { var poutput = Q.GetPrediction(minion); var col = poutput.CollisionObjects; if (col.Count == 0) { continue; } foreach (var colobj in col) { if (Q.GetDamage(colobj) > colobj.Health) { countMinion++; bestMinion = minion; } else { countMinion = 0; bestMinion = null; continue; } } countMinion = countMinion / 3; countMinion += 1; } if (bestMinion != null && countMinion >= Config.Item("farmQcount", true).GetValue <Slider>().Value) { Q1.Cast(bestMinion); } }
public override void Execute() { if (Player.Instance.SpellTrainingPoints > 0) { LevelManager.LevelUp(); } Obj_AI_Turret turret = EntityManager.Turrets.Allies.FirstOrDefault(tower => Player.Instance.Distance(tower) < tower.AttackRange - 100 && !tower.IsDead); if (turret != null) { AIHeroClient enemy = EntityManager.Heroes.Enemies.OrderBy(TargetSelector.GetPriority).FirstOrDefault( e => e.Distance(turret) < turret.AttackRange - 100); if (enemy != null && Settings.UseR && R.IsInRange(enemy)) { R.Cast(enemy); } } if (Config.Modes.LC.UseQ) { LaneClear.LastHit(Q1); } if (Player.Instance.HasItem(ItemId.Tear_of_the_Goddess) || Player.Instance.HasItem(ItemId.Archangels_Staff) || Player.Instance.HasItem(ItemId.Manamune)) { if (EntityManager.MinionsAndMonsters.EnemyMinions.Count(minion => Player.Instance.Distance(minion) < 1700) > 1 || EntityManager.Heroes.Enemies.Count(hero => Player.Instance.Distance(hero) < 1700) > 1 || Environment.TickCount < Program.TearTick || Player.Instance.IsRecalling() || Player.Instance.ManaPercent < 50f || !Settings.StackTearQ) { return; } Q1.Cast(Player.Instance.ServerPosition.Extend(Game.CursorPos, Player.Instance.MoveSpeed).To3DWorld()); Program.TearTick = Environment.TickCount + 4000; } }
public void Combo() { var target = ARAMTargetSelector.getBestTarget(1400f); manageW(); if (!player.IsInvulnerable && target.IsValidTarget(Q1.Range) && Q1.IsReady()) { Q1.Cast(); } if (player.IsInvulnerable && target.IsValidTarget(Q2.Range) && Q2.IsReady()) { (Q2 as Skillshot).CastMinimumHitchance(target, HitChance.High); } if (player.IsInvulnerable && target.IsValidTarget(E2.Range) && E2.IsReady()) { (E2 as Skillshot).CastMinimumHitchance(target, HitChance.High); } }
public static void Routine() { var targetR = TargetSelector.GetTarget(R1.Range, TargetSelector.DamageType.Magical); var target = TargetSelector.GetTarget(Q1.Range, TargetSelector.DamageType.Magical); if (target == null || !target.IsValid || targetR == null || !targetR.IsValid) { return; } Ignite = player.GetSpellSlot("summonerdot"); //[R] Aoe Cast byte hitcount; hitcount = (byte)Config.Item("advanced.R.aoe.count").GetValue <Slider>().Value; if (Config.Item("advanced.R.aoe").GetValue <bool>() && R1.IsReady() && !E1.IsReady() && target.IsValidTarget(E1.Range + E1.Width)) { R1.CastIfWillHit(target, hitcount); } #region -- Variables/Floats etc. float qdmg = Q1.GetDamage(target); float edmg = E1.GetDamage(target); float rdmg = R1.GetDamage(target); float aa = (float)Player.GetAutoAttackDamage(target); var insideE = Lux_E != null && target.Distance(Lux_E.Position) <= E1.Width; var thp = target.Health; var AArange = Orbwalking.GetRealAutoAttackRange(player); var debuff = target.HasBuff("luxilluminatingfraulein"); if (debuff) { rdmg += PassiveDMG(target); } if (debuff) { aa += PassiveDMG(target); } if (insideE) { rdmg += edmg; } var rooted = target.HasBuff("LuxLightBindingMis"); #endregion if (insideE && thp < edmg && target.IsValidTarget(R1.Range)) { return; } if (rooted && insideE && rdmg + edmg > thp && target.IsValidTarget(R1.Range)) { SpellCastR(targetR); } #region -- Q spellcast var prediction = Q1.GetPrediction(target, true); var collision = Q1.GetCollision(Player.Position.To2D(), new List <Vector2> { prediction.UnitPosition.To2D() }); if (Config.Item("combo.Q").GetValue <bool>() && Environment.TickCount - E1.LastCastAttemptT > 400 && Environment.TickCount - R1.LastCastAttemptT > 800 && prediction.Hitchance >= PredQ("prediction.Q")) { if (collision.Count == 2) { if (collision[0].IsChampion() || collision[1].IsChampion()) { Q1.Cast(prediction.CastPosition); } } else if (collision.Count == 1 && collision[0].IsChampion()) { Q1.Cast(prediction.CastPosition); } else if (collision.Count <= 1) { Q1.Cast(prediction.CastPosition); } #endregion -- Q spellcast end if (rooted && thp < aa && target.IsValidTarget(AArange)) { return; } if (Config.Item("combo.E").GetValue <bool>() && Environment.TickCount - Q1.LastCastAttemptT > 875 && Environment.TickCount - R1.LastCastAttemptT > 800) { SpellCast(target, E1.Range, E1, false, 1, true, PredE("prediction.E")); } if (IgniteKillCheck() < thp && target.HasBuff("summonerdot")) { return; } if (Config.Item("combo.R").GetValue <bool>() && R1.IsReady()) { SpellCastR(targetR); } if (!target.IsValidTarget(600)) { return; } var ignitemenu = Config.Item("autospells.ignite").GetValue <bool>(); if (thp > IgniteDamage(target) && thp < IgniteDamage(target) + edmg + aa && rooted && E1.IsReady() && target.IsValidTarget(600) && Ignite.IsReady() && ignitemenu) { player.Spellbook.CastSpell(Ignite, target); Printchat("Ignite casted"); } if (thp < IgniteDamage(target) + rdmg + aa && rooted && Ignite.IsReady() && R1.IsReady() && ignitemenu) { player.Spellbook.CastSpell(Ignite, target); Printchat("Ignite casted"); } if (thp < IgniteDamage(target) + rdmg + aa && Ignite.IsReady() && R1.IsReady() && ignitemenu) { player.Spellbook.CastSpell(Ignite, target); Printchat("Ignite casted"); } if (thp < IgniteDamage(target) && target.IsValidTarget(600) && AllyCheck(target, 600) < 1 && Ignite.IsReady() && ignitemenu) { player.Spellbook.CastSpell(Ignite, target); Printchat("Ignite casted"); } } }
private void LogicQ() { var t = TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Magical); var t1 = TargetSelector.GetTarget(Q1.Range, TargetSelector.DamageType.Magical); if (t.IsValidTarget()) { missileManager.Target = t; if (Program.Combo && Player.Mana > RMANA + QMANA) { Program.CastSpell(Q, t); } else if (Program.Harass && Config.Item("Harass" + t.ChampionName).GetValue <bool>() && Player.Mana > RMANA + WMANA + QMANA + QMANA && OktwCommon.CanHarras()) { Program.CastSpell(Q, t); } else if (OktwCommon.GetKsDamage(t, Q) * 2 > t.Health) { Program.CastSpell(Q, t); } if (Player.Mana > RMANA + QMANA + WMANA) { foreach (var enemy in HeroManager.Enemies.Where(enemy => enemy.IsValidTarget(Q.Range) && !OktwCommon.CanMove(enemy))) { Q.Cast(enemy, true, true); } } } else if (t1.IsValidTarget()) { missileManager.Target = t1; if (Program.Combo && Player.Mana > RMANA + QMANA) { Program.CastSpell(Q1, t1); } else if (Program.Harass && Config.Item("Harass" + t1.ChampionName).GetValue <bool>() && Player.Mana > RMANA + WMANA + QMANA + QMANA && OktwCommon.CanHarras()) { Program.CastSpell(Q1, t1); } else if (OktwCommon.GetKsDamage(t1, Q1) * 2 > t1.Health) { Program.CastSpell(Q1, t1); } if (Player.Mana > RMANA + QMANA + WMANA) { foreach (var enemy in HeroManager.Enemies.Where(enemy => enemy.IsValidTarget(Q1.Range) && !OktwCommon.CanMove(enemy))) { Q1.Cast(enemy, true, true); } } } else if (FarmSpells && Config.Item("farmQ", true).GetValue <bool>()) { var allMinionsQ = Cache.GetMinions(Player.ServerPosition, Q1.Range); var Qfarm = Q.GetLineFarmLocation(allMinionsQ, 100); if (Qfarm.MinionsHit >= FarmMinions) { Q.Cast(Qfarm.Position); } } }
private void LogicQ() { var t = TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Magical); var t1 = TargetSelector.GetTarget(Q1.Range, TargetSelector.DamageType.Physical); if (t.IsValidTarget()) { Program.debug("" + Q.GetDamage(t)); var qDmg = GetQdmg(t); if (qDmg > t.Health) { Q.Cast(t, true); } else if (Program.Combo && ObjectManager.Player.Mana > RMANA + QMANA) { Program.CastSpell(Q, t); } else if (Program.Farm && Config.Item("haras" + t.ChampionName).GetValue <bool>() && Player.Mana > RMANA + WMANA + QMANA + QMANA) { Program.CastSpell(Q, t); } if (Player.Mana > RMANA + QMANA + WMANA) { foreach (var enemy in Program.Enemies.Where(enemy => enemy.IsValidTarget(Q.Range) && !OktwCommon.CanMove(enemy))) { Q.Cast(enemy, true); } } } else if (t1.IsValidTarget()) { Program.debug("" + Q.GetDamage(t1)); var qDmg = GetQdmg(t1); if (qDmg > t1.Health) { Q1.Cast(t1, true); } else if (Program.Combo && ObjectManager.Player.Mana > RMANA + QMANA) { Program.CastSpell(Q1, t1); } else if (Program.Farm && Config.Item("haras" + t1.ChampionName).GetValue <bool>() && Player.Mana > RMANA + WMANA + QMANA + QMANA) { Program.CastSpell(Q1, t1); } if (Player.Mana > RMANA + QMANA + WMANA) { foreach (var enemy in Program.Enemies.Where(enemy => enemy.IsValidTarget(Q1.Range) && !OktwCommon.CanMove(enemy))) { Q1.Cast(enemy, true); } } } else if (Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.LaneClear && Player.ManaPercentage() > Config.Item("Mana").GetValue <Slider>().Value&& Config.Item("farmQ").GetValue <bool>() && ObjectManager.Player.Mana > RMANA + QMANA + WMANA) { var allMinionsQ = MinionManager.GetMinions(Player.ServerPosition, Q1.Range, MinionTypes.All); var Qfarm = Q.GetLineFarmLocation(allMinionsQ, 100); if (Qfarm.MinionsHit > 5 && Q1.IsReady()) { Q.Cast(Qfarm.Position); } } }