protected override void Killsteal() { if (Menu.Item(Menu.Name + ".killsteal.q").GetValue <bool>() && Q.IsReady()) { var range = Menu.Item(Menu.Name + ".killsteal.range").GetValue <bool>(); var killable = GameObjects.EnemyHeroes.FirstOrDefault( e => e.IsValidTarget(Q.Range) && (!range || !Orbwalking.InAutoAttackRange(e)) && (QIsKillable(e, 1) || QMaxRangeHit(e) && QIsKillable(e, 2))); if (killable != null) { QLogic(killable, HitChance.High, 100); } } }
protected override void Harass() { if (!ManaManager.Check("harass") && !Q.IsCharging) { return; } if (Menu.Item(Menu.Name + ".harass.e").GetValue <bool>() && !Q.IsCharging && E.IsReady()) { var target = TargetSelector.GetTarget(E); if (target != null) { var stacks = W.Level == 0 && Menu.Item(Menu.Name + ".harass.e-stacks").GetValue <Slider>().Value > 0; if (Menu.Item(Menu.Name + ".harass.e-always").GetValue <bool>() || stacks || GetWStacks(target) >= Menu.Item(Menu.Name + ".harass.e-stacks").GetValue <Slider>().Value || E.IsKillable(target) || CPrediction.Circle(E, target, E.GetHitChance("harass")).TotalHits >= Menu.Item(Menu.Name + ".combo.e-min").GetValue <Slider>().Value) { ELogic(target, E.GetHitChance("harass")); } } } if (Menu.Item(Menu.Name + ".harass.q").GetValue <bool>() && Q.IsReady()) { var target = TargetSelector.GetTarget((Q.ChargedMaxRange + Q.Width) * 1.1f, Q.DamageType); if (target != null) { var stacks = W.Level == 0 && Menu.Item(Menu.Name + ".harass.q-stacks").GetValue <Slider>().Value > 0; if (Q.IsCharging || Menu.Item(Menu.Name + ".harass.q-always").GetValue <bool>() || Menu.Item(Menu.Name + ".harass.q-range").GetValue <bool>() && !Orbwalking.InAutoAttackRange(target) || stacks || GetWStacks(target) >= Menu.Item(Menu.Name + ".harass.q-stacks").GetValue <Slider>().Value || Q.IsKillable(target) || CPrediction.Line(Q, target, Q.GetHitChance("harass")).TotalHits >= Menu.Item(Menu.Name + ".harass.q-min").GetValue <Slider>().Value) { QLogic( target, Q.GetHitChance("harass"), Menu.Item(Menu.Name + ".harass.q-fast-cast-min").GetValue <Slider>().Value); } } } }
protected override void Combo() { var q = Menu.Item(Menu.Name + ".combo.q").GetValue <bool>(); var e = Menu.Item(Menu.Name + ".combo.e").GetValue <bool>(); var r = UltimateManager.Combo(); if (e && !Q.IsCharging && E.IsReady()) { var target = TargetSelector.GetTarget(E); if (target != null) { var stacks = W.Level == 0 && Menu.Item(Menu.Name + ".combo.e-stacks").GetValue <Slider>().Value > 0; if (Menu.Item(Menu.Name + ".combo.e-always").GetValue <bool>() || stacks || GetWStacks(target) >= Menu.Item(Menu.Name + ".combo.e-stacks").GetValue <Slider>().Value || E.IsKillable(target) || CPrediction.Circle(E, target, E.GetHitChance("combo")).TotalHits >= Menu.Item(Menu.Name + ".combo.e-min").GetValue <Slider>().Value) { ELogic(target, E.GetHitChance("combo")); } } } if (q && Q.IsReady()) { var target = TargetSelector.GetTarget((Q.ChargedMaxRange + Q.Width) * 1.1f, Q.DamageType); if (target != null) { var stacks = W.Level == 0 && Menu.Item(Menu.Name + ".combo.q-stacks").GetValue <Slider>().Value > 0; if (Q.IsCharging || Menu.Item(Menu.Name + ".combo.q-always").GetValue <bool>() || Menu.Item(Menu.Name + ".combo.q-range").GetValue <bool>() && !Orbwalking.InAutoAttackRange(target) || stacks || GetWStacks(target) >= Menu.Item(Menu.Name + ".combo.q-stacks").GetValue <Slider>().Value || CPrediction.Line(Q, target, Q.GetHitChance("combo")).TotalHits >= Menu.Item(Menu.Name + ".combo.q-min").GetValue <Slider>().Value || Q.IsKillable(target)) { QLogic( target, Q.GetHitChance("combo"), Menu.Item(Menu.Name + ".combo.q-fast-cast-min").GetValue <Slider>().Value); } } } if (r && R.IsReady()) { var target = TargetSelector.GetTarget(R); if (target != null) { if ( !RLogic( target, R.GetHitChance("combo"), Menu.Item(Menu.Name + ".ultimate.combo.min").GetValue <Slider>().Value, Menu.Item(Menu.Name + ".combo.q").GetValue <bool>() && Q.IsReady(), Menu.Item(Menu.Name + ".combo.e").GetValue <bool>() && E.IsReady())) { if (Menu.Item(Menu.Name + ".ultimate.combo.duel").GetValue <bool>()) { RLogicDuel(q, e); } } } } }