public override void Execute() { var q = PluginModel.Q; var w = PluginModel.W; var minionTarget = EntityManager.MinionsAndMonsters.EnemyMinions.Aggregate((curMin, x) => (curMin == null || x.HealthPercent < curMin.Health ? x : curMin)); if (minionTarget == null || !minionTarget.IsValidTarget()) { return; } if (q.IsReady() && Misc.IsChecked(PluginModel.LastHitMenu, "lhQ") && ManaManager.CanUseSpell(PluginModel.LastHitMenu, "lhMana") && q.IsInRange(minionTarget) && Player.Instance.GetSpellDamage(minionTarget, SpellSlot.Q) > minionTarget.Health && (!Orbwalker.CanAutoAttack || Player.Instance.IsInAutoAttackRange(minionTarget))) { q.Cast(minionTarget); } if (w.IsReady() && Misc.IsChecked(PluginModel.LastHitMenu, "lhW") && ManaManager.CanUseSpell(PluginModel.LastHitMenu, "lhMana") && w.IsInRange(minionTarget) && !Orbwalker.CanAutoAttack && !Player.Instance.IsInAutoAttackRange(minionTarget)) { w.Cast(minionTarget); } }
public override void Execute() { var q = PluginModel.Q; var w = PluginModel.W; var minionTarget = EntityManager.MinionsAndMonsters.GetJungleMonsters().Aggregate((curMin, x) => (curMin == null || x.HealthPercent < curMin.Health ? x : curMin)); if (minionTarget == null || !minionTarget.IsValidTarget()) { return; } if (q.IsReady() && Misc.IsChecked(PluginModel.LaneClearMenu, "lcQ") && ManaManager.CanUseSpell(PluginModel.LaneClearMenu, "lcMana") && q.IsInRange(minionTarget)) { q.Cast(minionTarget); } if (w.IsReady() && Misc.IsChecked(PluginModel.LaneClearMenu, "lcW") && ManaManager.CanUseSpell(PluginModel.LaneClearMenu, "lcMana") && w.IsInRange(minionTarget) && !Orbwalker.CanAutoAttack && !Player.Instance.IsInAutoAttackRange(minionTarget)) { w.Cast(minionTarget); } }
public override void Execute() { var q = PluginModel.Q; var w = PluginModel.W; var target = AdvancedTargetSelector.GetTarget(w.Range, DamageType.Physical); if (target == null || !target.IsValidTarget()) { return; } PluginModel.ActiveMode = EnumModeManager.Harass; Orbwalker.ForcedTarget = target; if (PassiveController.HasUltiPassive(target)) { var targetpos = Prediction.Position.PredictUnitPosition(target, 250); var poses = PassiveController.UltiPassivePos(target); var castpos = poses.OrderByDescending(x => x.Distance(targetpos)).FirstOrDefault(); q.Cast(castpos); } if (q.IsReady() && Misc.IsChecked(PluginModel.HarassMenu, "hsQ") && ManaManager.CanUseSpell(PluginModel.HarassMenu, "hsMana")) { var targetpos = Prediction.Position.PredictUnitPosition(target, 250); if (Misc.IsChecked(PluginModel.HarassMenu, "hsQPassiveRange") && q.IsInRange(targetpos.To3D()) && PassiveController.HasPassive(target)) { var castPos = PassiveController.PassivePosition(target); var validPositions = PassiveController.PassiveRadiusPoint(target); if (castPos.IsValid() && castPos.Distance(Player.Instance.ServerPosition) <= 300 && castPos.InTheCone(validPositions, castPos.To2D())) { Player.CastSpell(SpellSlot.Q, castPos); } } else { Player.CastSpell(SpellSlot.Q, target.ServerPosition); } } if (w.IsReady() && Misc.IsChecked(PluginModel.HarassMenu, "hsW") && ManaManager.CanUseSpell(PluginModel.HarassMenu, "hsMana")) { if (q.IsReady() || !(target.Distance(Player.Instance) > Player.Instance.GetAutoAttackRange())) { return; } var prediction = w.GetPrediction(target); if (prediction.HitChancePercent >= 70) { w.Cast(prediction.CastPosition); } } }
public override void OnAfterAttack(AttackableUnit target, EventArgs args) { if (Orbwalker.ActiveModesFlags == Orbwalker.ActiveModes.None || !target.IsValidTarget() || Orbwalker.ActiveModesFlags == Orbwalker.ActiveModes.LastHit) { return; } if (E.IsReady() && ((Misc.IsChecked(ComboMenu, "comboE") && Orbwalker.ActiveModesFlags == Orbwalker.ActiveModes.Combo) || (Misc.IsChecked(HarassMenu, "hsE") && Orbwalker.ActiveModesFlags == Orbwalker.ActiveModes.Harass && ManaManager.CanUseSpell(HarassMenu, "hsMana")) || (Misc.IsChecked(JungleClearMenu, "jcE") && Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.JungleClear) && ManaManager.CanUseSpell(JungleClearMenu, "jcMana")) || (Misc.IsChecked(LaneClearMenu, "lcE") && Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.LaneClear) && ManaManager.CanUseSpell(LaneClearMenu, "lcMana")))) { E.Cast(); Core.DelayAction(Orbwalker.ResetAutoAttack, 250); } if (!ItemManager.CanUseHydra()) { return; } if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.LaneClear) || Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Harass) || Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.JungleClear) || Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Combo)) { ItemManager.UseHydra(target); Core.DelayAction(Orbwalker.ResetAutoAttack, 250); } }