/// <summary> /// Does the harass. /// </summary> /// <param name="toggleCall">If the harass was called by the toggle.</param> private static void DoHarass(bool toggleCall) { var target = TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Magical); if (!target.IsValidTarget()) { return; } if (toggleCall) { var manaslider = Menu.Item("HarassToggleMana").GetValue <Slider>().Value; if (Player.ManaPercent <= manaslider) { return; } } var useQHarass = Menu.Item("UseQHarass").IsActive(); var useWHarass = Menu.Item("UseWHarass").IsActive(); if (useWHarass && W.IsReady() && W.IsInRange(target, W.Range + AzirSoldierAutoAttackRange)) { W.Cast(Player.ServerPosition.Extend(target.ServerPosition, W.Range)); } if (useQHarass && SandSoldiers.Any(x => x.Distance(target) > AzirSoldierAutoAttackRange)) { Q.Cast(target); } }
/// <summary> /// Does the combo. /// </summary> private static void DoCombo() { var target = TargetSelector.GetTarget(E.Range, TargetSelector.DamageType.Magical); if (!target.IsValidTarget()) { return; } var useQCombo = Menu.Item("UseQCombo").IsActive(); var useWCombo = Menu.Item("UseWCombo").IsActive(); var useECombo = Menu.Item("UseECombo").IsActive(); var useRComboFinisher = Menu.Item("UseRComboFinisher").IsActive(); if (W.IsReady() && useWCombo && (W.IsInRange(target, W.Range + AzirSoldierAutoAttackRange) || (Q.IsReady() || Q.Instance.State == SpellState.Surpressed))) { W.Cast(Player.ServerPosition.Extend(target.ServerPosition, W.Range)); } if (Q.IsReady() && useQCombo && SandSoldiers.Any(x => HeroManager.Enemies.All(y => y.Distance(x) > AzirSoldierAutoAttackRange))) { Q.Cast(target); } if (E.IsReady() && useECombo && !Orbwalking.InAutoAttackRange(Player)) { var soldier = SandSoldiers.FirstOrDefault( x => x.Distance(target) < Orbwalking.GetRealAutoAttackRange(Player) && x.Distance(target) > AzirSoldierAutoAttackRange); if (soldier != null) { E.CastOnUnit(soldier); } } if (R.IsReady() && useRComboFinisher && R.GetDamage(target) > target.Health && target.Health - R.GetDamage(target) > -100) { R.Cast(target); } }
/// <summary> /// Does the combo. /// </summary> private static void DoCombo() { var target = TargetSelector.GetTarget(E.Range, DamageType.Magical); if (!target.IsValidTarget()) { return; } var useQCombo = comboMenu["UseQCombo"].GetValue <MenuBool>(); var useWCombo = comboMenu["UseWCombo"].GetValue <MenuBool>(); var useECombo = comboMenu["UseECombo"].GetValue <MenuBool>(); var useRComboFinisher = comboMenu["UseRComboFinisher"].GetValue <MenuBool>(); if (W.IsReady() && useWCombo && (W.IsInRange(target, W.Range + AzirSoldierAutoAttackRange) || (Q.IsReady() || Q.Instance.State == SpellState.Cooldown))) { W.Cast(Player.Position.Extend(target.Position, W.Range)); } if (Q.IsReady() && useQCombo && SandSoldiers.Any(x => GameObjects.EnemyHeroes.All(y => y.Distance(x) > AzirSoldierAutoAttackRange))) { Q.Cast(target); } if (E.IsReady() && useECombo && !target.InAutoAttackRange()) { var soldier = SandSoldiers.FirstOrDefault( x => x.Distance(target) < target.GetRealAutoAttackRange(Player) && x.Distance(target) > AzirSoldierAutoAttackRange); if (soldier != null) { E.CastOnUnit(soldier); } } if (R.IsReady() && useRComboFinisher && R.GetDamage(target) > target.Health && target.Health - R.GetDamage(target) > -100) { R.Cast(target); } }
/// <summary> /// Does the lane clear. /// </summary> private static void DoLaneClear() { var manaPercentage = Menu.Item("LaneClearMana").GetValue <Slider>().Value; if (Player.ManaPercent <= manaPercentage) { return; } var useQLaneClear = Menu.Item("UseQLaneClear").IsActive(); var useWLaneClear = Menu.Item("UseWLaneClear").IsActive(); if (useWLaneClear && W.IsReady()) { var position = W.GetCircularFarmLocation( MinionManager.GetMinions(W.Range + AzirSoldierAutoAttackRange), AzirSoldierAutoAttackRange); if (position.MinionsHit > 1) { W.Cast(position.Position); } } if (useQLaneClear && (Q.IsReady() || Q.Instance.State == SpellState.Surpressed) && SandSoldiers.Any( x => MinionManager.GetMinions(x.ServerPosition, AzirSoldierAutoAttackRange) .All(y => y.Distance(x) > AzirSoldierAutoAttackRange))) { var position = Q.GetCircularFarmLocation( MinionManager.GetMinions(Q.Range + AzirSoldierAutoAttackRange), AzirSoldierAutoAttackRange); if (position.MinionsHit > 1) { Q.Cast(position.Position); } } }