private void CastQ() { var target = TargetSelector.GetTarget(Q.Range + Q.Width / 2); switch (Orbwalker.CurrentMode) { case Orbwalker.Mode.Combo: if (target != null && PUC.Player.Distance(target) > Orbwalker.GetAutoAttackRangeto(target)) { Cast_BasicSkillshot_Enemy(Q); } break; case Orbwalker.Mode.Harass: if (target != null && PUC.Player.Distance(target) > Orbwalker.GetAutoAttackRangeto(target)) { if (!ChampionMenu.Item("useQ_Harass_dangerzones").GetValue <bool>()) { if (!IsInsideEnemyTower(Q.GetPrediction(target).CastPosition)) { Cast_BasicSkillshot_Enemy(Q); } } else { Cast_BasicSkillshot_Enemy(Q); } } break; } }
private void CastWMinion() { if (!W.IsReady()) { return; } var allMinions = MinionManager.GetMinions(ObjectManager.Player.ServerPosition, W.Range, MinionTypes.All, MinionTeam.NotAlly); foreach (var minion in allMinions) { if (!minion.IsValidTarget()) { continue; } var minionInRangeAa = Orbwalker.GetAutoAttackRangeto(minion) <= minion.Distance(PUC.Player); var minionInRangeSpell = minion.Distance(ObjectManager.Player) <= W.Range; var minionKillableAa = ObjectManager.Player.GetAutoAttackDamage(minion) >= minion.Health; var minionKillableSpell = ObjectManager.Player.GetSpellDamage(minion, SpellSlot.W) >= minion.Health; var lastHit = Orbwalker.CurrentMode == Orbwalker.Mode.Lasthit; var laneClear = Orbwalker.CurrentMode == Orbwalker.Mode.LaneClear; if ((lastHit && minionInRangeSpell && minionKillableSpell) && ((minionInRangeAa && !minionKillableAa) || !minionInRangeAa)) { W.Cast(minion.Position, UsePackets()); } else if ((laneClear && minionInRangeSpell && !minionKillableSpell) && ((minionInRangeAa && !minionKillableAa) || !minionInRangeAa)) { W.Cast(minion.Position, UsePackets()); } } }
private void CastW() { if (!W.IsReady()) { return; } var target = TargetSelector.GetAATarget(); if (target != null) { W.Cast(); } if (Orbwalker.CurrentMode != Orbwalker.Mode.LaneClear) { return; } var allMinion = MinionManager.GetMinions(PUC.Player.Position, Orbwalker.GetAutoAttackRangeto(), MinionTypes.All, MinionTeam.NotAlly); if (!allMinion.Any(minion => minion.IsValidTarget(Orbwalker.GetAutoAttackRangeto(minion)))) { return; } W.Cast(); }