/// <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); } }