protected override void Harass() { if (Menu.Item(Menu.Name + ".harass.q").GetValue <bool>() && Q.IsReady() && ManaManager.Check("harass-q")) { Casting.SkillShot(Q, Q.GetHitChance("harass")); } if (Menu.Item(Menu.Name + ".harass.e").GetValue <bool>() && E.IsReady() && ManaManager.Check("harass-e")) { foreach (var enemy in GameObjects.EnemyHeroes.Where(e => E.IsInRange(e))) { if (Rend.IsKillable(enemy, true)) { E.Cast(); } else { var buff = Rend.GetBuff(enemy); if (buff != null && buff.Count >= Menu.Item(Menu.Name + ".harass.e-min").GetValue <Slider>().Value) { if (enemy.Distance(Player) > E.Range * 0.8 || buff.EndTime - Game.Time < 0.3) { E.Cast(); } } } } } }
protected override void Combo() { var useQ = Menu.Item(Menu.Name + ".combo.q").GetValue <bool>() && Q.IsReady() && ManaManager.Check("combo-q"); var useE = Menu.Item(Menu.Name + ".combo.e").GetValue <bool>() && E.IsReady(); if (useQ) { Casting.SkillShot(Q, Q.GetHitChance("combo")); } if (useE) { var target = TargetSelector.GetTarget(E); if (target != null && Rend.HasBuff(target)) { if (target.Distance(Player) > Orbwalking.GetRealAutoAttackRange(target)) { var minion = GameObjects.EnemyMinions.FirstOrDefault( m => m.IsValidTarget(Orbwalking.GetRealAutoAttackRange(m)) && Rend.IsKillable(m, true)); if (minion != null) { E.Cast(); } } else if (E.IsInRange(target)) { if (Rend.IsKillable(target, false)) { E.Cast(); } else { var buff = Rend.GetBuff(target); if (buff != null && buff.Count >= Menu.Item(Menu.Name + ".combo.e-min").GetValue <Slider>().Value) { if (target.Distance(Player) > E.Range * 0.8 || buff.EndTime - Game.Time < 0.3) { E.Cast(); } } } } } } }
protected override void Harass() { if (Menu.Item(Menu.Name + ".harass.q").GetValue <bool>() && Q.IsReady() && ResourceManager.Check("harass-q") && !Player.IsWindingUp && !Player.IsDashing()) { var target = TargetSelector.GetTarget(Q); if (target != null) { var prediction = Q.GetPrediction(target); if (prediction.Hitchance >= Q.GetHitChance("harass")) { Q.Cast(prediction.CastPosition); } else if (prediction.Hitchance == HitChance.Collision) { QCollisionCheck(target); } } } if (Menu.Item(Menu.Name + ".harass.e").GetValue <bool>() && E.IsReady() && ResourceManager.Check("harass-e")) { foreach (var enemy in GameObjects.EnemyHeroes.Where(e => E.IsInRange(e))) { if (Rend.IsKillable(enemy, enemy.HealthPercent < 10)) { CastE(); } else { var buff = Rend.GetBuff(enemy); if (buff != null && buff.Count >= Menu.Item(Menu.Name + ".harass.e-min").GetValue <Slider>().Value) { if (enemy.Distance(Player) > E.Range * 0.8 || buff.EndTime - Game.Time < 0.3) { CastE(); } } } } } }
protected override void Harass() { if (Menu.Item(Menu.Name + ".harass.q").GetValue <bool>() && Q.IsReady() && ResourceManager.Check("harass-q") && !Player.IsWindingUp && !Player.IsDashing()) { var target = TargetSelector.GetTarget(Q); if (target != null) { var prediction = Q.GetPrediction(target); if (prediction.Hitchance >= Q.GetHitChance("harass")) { Q.Cast(prediction.CastPosition); } else if (prediction.Hitchance == HitChance.Collision) { QCollisionCheck(target); } } } if (Menu.Item(Menu.Name + ".harass.e").GetValue <bool>() && E.IsReady() && ResourceManager.Check("harass-e")) { var target = TargetSelector.GetTarget(E, false); if (target != null && Rend.HasBuff(target)) { if (Rend.IsKillable(target, false)) { CastE(); } if (target.Distance(Player) > Orbwalking.GetRealAutoAttackRange(target)) { if ( GameObjects.EnemyMinions.Any( m => m.IsValidTarget(E.Range * 0.95f) && Rend.IsKillable(m, m.HealthPercent < 10))) { CastE(); } else { var dashObjects = GameObjects.EnemyMinions.Where( m => m.IsValidTarget(Orbwalking.GetRealAutoAttackRange(m))).ToList(); var minion = dashObjects.FirstOrDefault( m => m.Health > Player.GetAutoAttackDamage(m) * 1.1f && m.Health < Player.GetAutoAttackDamage(m) + Rend.GetDamage(m, 1)); if (minion != null) { Orbwalker.ForceTarget(minion); if (Orbwalking.CanAttack()) { ObjectManager.Player.IssueOrder(GameObjectOrder.AttackUnit, minion); } } } } else if (E.IsInRange(target)) { if (Rend.IsKillable(target, false)) { CastE(); } else { var buff = Rend.GetBuff(target); if (buff != null && buff.Count >= Menu.Item(Menu.Name + ".harass.e-min").GetValue <Slider>().Value) { if (target.Distance(Player) > E.Range * 0.8 && !target.IsFacing(Player) || buff.EndTime - Game.Time < 0.3) { CastE(); } } } } } } }
protected override void Combo() { var useQ = Menu.Item(Menu.Name + ".combo.q").GetValue <bool>() && Q.IsReady() && ResourceManager.Check("combo-q"); var useE = Menu.Item(Menu.Name + ".combo.e").GetValue <bool>() && E.IsReady(); if (useQ && !Player.IsWindingUp && !Player.IsDashing()) { var target = TargetSelector.GetTarget(Q); if (target != null) { var prediction = Q.GetPrediction(target); if (prediction.Hitchance >= Q.GetHitChance("combo")) { Q.Cast(prediction.CastPosition); } else if (prediction.Hitchance == HitChance.Collision) { QCollisionCheck(target); } } } var dashObjects = new List <Obj_AI_Base>(); if (useE) { var target = TargetSelector.GetTarget(E, false); if (target != null && Rend.HasBuff(target)) { if (target.Distance(Player) > Orbwalking.GetRealAutoAttackRange(target)) { if ( GameObjects.EnemyMinions.Any( m => m.IsValidTarget(Orbwalking.GetRealAutoAttackRange(m)) && Rend.IsKillable(m, (m.HealthPercent < 10)))) { CastE(); } else { dashObjects = GetDashObjects( GameObjects.EnemyMinions.Where( m => m.IsValidTarget(Orbwalking.GetRealAutoAttackRange(m))) .Select(e => e as Obj_AI_Base) .ToList()); var minion = dashObjects.FirstOrDefault( m => m.Health > Player.GetAutoAttackDamage(m) * 1.1f && m.Health < Player.GetAutoAttackDamage(m) + Rend.GetDamage(m, 1)); if (minion != null) { Orbwalker.ForceTarget(minion); } } } else if (E.IsInRange(target)) { if (Rend.IsKillable(target, false)) { CastE(); } else { var buff = Rend.GetBuff(target); if (buff != null && buff.Count >= Menu.Item(Menu.Name + ".combo.e-min").GetValue <Slider>().Value) { if (target.Distance(Player) > E.Range * 0.8 && !target.IsFacing(Player)) { CastE(); } } } } } } if (Menu.Item(Menu.Name + ".combo.minions").GetValue <bool>() && !Player.IsWindingUp && !Player.IsDashing() && !GameObjects.EnemyHeroes.Any( e => e.IsValidTarget() && e.Distance(Player) < Orbwalking.GetRealAutoAttackRange(e) * 1.1f)) { if (dashObjects.Count <= 0) { dashObjects = GetDashObjects().ToList(); } var minion = dashObjects.FirstOrDefault(); if (minion != null) { Orbwalker.ForceTarget(minion); } } else { Orbwalker.ForceTarget(null); } }
protected override void Combo() { var useQ = Menu.Item(Menu.Name + ".combo.q").GetValue <bool>() && Q.IsReady() && ManaManager.Check("combo-q"); var useE = Menu.Item(Menu.Name + ".combo.e").GetValue <bool>() && E.IsReady(); if (useQ) { Casting.SkillShot(Q, Q.GetHitChance("combo")); } if (useE) { var target = TargetSelector.GetTarget(E); if (target != null && Rend.HasBuff(target)) { if (target.Distance(Player) > Orbwalking.GetRealAutoAttackRange(target)) { if ( GameObjects.EnemyMinions.Any( m => m.IsValidTarget(Orbwalking.GetRealAutoAttackRange(m)) && Rend.IsKillable(m, true))) { E.Cast(); } else { var minion = GetDashObjects( GameObjects.EnemyMinions.Where( m => m.IsValidTarget(Orbwalking.GetRealAutoAttackRange(m))) .Select(e => e as Obj_AI_Base) .ToList()) .Find( m => m.Health > Player.GetAutoAttackDamage(m) && m.Health < Player.GetAutoAttackDamage(m) + Rend.GetDamage(m, 1)); if (minion != null) { Orbwalker.ForceTarget(minion); } } } else if (E.IsInRange(target)) { if (Rend.IsKillable(target, false)) { E.Cast(); } else { var buff = Rend.GetBuff(target); if (buff != null && buff.Count >= Menu.Item(Menu.Name + ".combo.e-min").GetValue <Slider>().Value) { if (target.Distance(Player) > E.Range * 0.8 && !target.IsFacing(Player)) { E.Cast(); } } } } } } if (Menu.Item(Menu.Name + ".combo.minions").GetValue <bool>() && !GameObjects.EnemyHeroes.Any( e => e.IsValidTarget() && e.Distance(Player) < Orbwalking.GetRealAutoAttackRange(e) * 1.1f) && !Player.IsWindingUp && !Player.IsDashing()) { var obj = GetDashObjects().FirstOrDefault(); if (obj != null) { Orbwalker.ForceTarget(obj); } } else { Orbwalker.ForceTarget(null); } }