Ejemplo n.º 1
0
        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);
            }
        }
Ejemplo n.º 2
0
        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);
            }
        }
Ejemplo n.º 3
0
        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);
                }
            }
        }
Ejemplo n.º 4
0
        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);
            }
        }