Exemplo n.º 1
0
        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;
            }
        }
Exemplo n.º 2
0
        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();
        }