示例#1
0
        private void LastHit()
        {
            var minionObj = (Obj_AI_Base)ObjectManager.Get <Obj_AI_Turret>().FirstOrDefault(i => i.IsValidTarget(SkillQ.Range) && i.Health <= GetBonusDmg(i));

            if (minionObj == null)
            {
                minionObj = MinionManager.GetMinions(Player.Position, SkillQ.Range, MinionTypes.All, MinionTeam.NotAlly, MinionOrderTypes.MaxHealth).FirstOrDefault(i => i.Health <= GetBonusDmg(i));
            }
            if (minionObj == null)
            {
                return;
            }
            if (SkillQ.IsReady() || Player.HasBuff("NasusQ", true))
            {
                LXOrbwalker.SetAttack(false);
                if (!Player.HasBuff("NasusQ", true))
                {
                    SkillQ.Cast(PacketCast);
                }
                if (Player.HasBuff("NasusQ", true))
                {
                    Player.IssueOrder(GameObjectOrder.AttackUnit, minionObj);
                }
                LXOrbwalker.SetAttack(true);
            }
        }
示例#2
0
        private static void OnGameUpdate(EventArgs args)
        {
            if (!Player.HasBuff("RengarR", true))
            {
                LXOrbwalker.SetAttack(true);
            }

            #region Cast E to mouse

            var useE = Config.Item("KeysE").GetValue <KeyBind>();
            if (useE.Active && E.IsReady())
            {
                var     ForceE = Config.Item("ForceEC").GetValue <bool>();
                Vector3 SearchPosition;

                if (Player.Distance(Game.CursorPos) < E.Range - 200f)
                {
                    SearchPosition = Game.CursorPos;
                }
                else
                {
                    SearchPosition = Player.Position +
                                     Vector3.Normalize(Game.CursorPos - Player.Position) * (E.Range - 200f);
                }

                var Target =
                    ObjectManager.Get <Obj_AI_Hero>()
                    .Where(hero => hero.IsValidTarget(E.Range) && hero.Distance(SearchPosition) < 200f)
                    .OrderByDescending(hero => TargetSelector.GetPriority(hero))
                    .First();
                if (Target.IsValid &&
                    (!Target.HasBuff("RengarEFinalMAX", true) && !Target.HasBuff("rengareslow") &&
                     LastETick + 1500 < Environment.TickCount || ForceE))
                {
                    E.Cast(Target, UsePackets);
                }
            }

            #endregion

            // Current Mode
            switch (ActiveMode)
            {
            case Orbwalking.OrbwalkingMode.Combo:
                doCombo();
                break;

            case Orbwalking.OrbwalkingMode.LaneClear:
                doFarm();
                break;

            case Orbwalking.OrbwalkingMode.Mixed:
                doHarass();
                break;

            case Orbwalking.OrbwalkingMode.LastHit:
                doLastHit();
                break;
            }
        }
示例#3
0
        private void LaneJungClear()
        {
            var minionObj = (Obj_AI_Base)ObjectManager.Get <Obj_AI_Turret>().FirstOrDefault(i => i.IsValidTarget(SkillQ.Range) && i.Health <= GetBonusDmg(i));

            if (minionObj == null)
            {
                minionObj = MinionManager.GetMinions(Player.Position, SkillE.Range, MinionTypes.All, MinionTeam.NotAlly).FirstOrDefault();
            }
            if (minionObj == null)
            {
                return;
            }
            if (Config.Item(Name + "useClearQ").GetValue <bool>() && SkillQ.InRange(minionObj.Position))
            {
                var DmgAA = Player.GetAutoAttackDamage(minionObj) * Math.Floor(SkillQ.Instance.Cooldown / (1 / (Player.PercentMultiplicativeAttackSpeedMod * 0.638)));
                if ((minionObj.Health <= GetBonusDmg(minionObj) || minionObj.Health > DmgAA + GetBonusDmg(minionObj)) && (SkillQ.IsReady() || Player.HasBuff("NasusQ", true)))
                {
                    LXOrbwalker.SetAttack(false);
                    if (!Player.HasBuff("NasusQ", true))
                    {
                        SkillQ.Cast(PacketCast);
                    }
                    if (Player.HasBuff("NasusQ", true))
                    {
                        Player.IssueOrder(GameObjectOrder.AttackUnit, minionObj);
                    }
                    LXOrbwalker.SetAttack(true);
                }
            }
            if (Config.Item(Name + "useClearE").GetValue <bool>() && SkillE.IsReady() && minionObj is Obj_AI_Minion)
            {
                SkillE.Cast(minionObj.Position, PacketCast);
            }
        }
示例#4
0
        private static void Game_OnGameUpdate(EventArgs args)
        {
            //SkinManager.Update();

            if (_player.IsDead)
            {
                return;
            }
            if (Config.Item("UltCancel").GetValue <bool>())
            {
                if (_player.HasBuff("katarinarsound", true) && Utility.CountEnemysInRange((int)R.Range) == 0)
                {
                    IssueMoveComand();
                }
            }
            if (_player.HasBuff("katarinarsound", true))
            {
                LXOrbwalker.SetMovement(false);
                LXOrbwalker.SetAttack(false);
            }
            if (!_player.HasBuff("katarinarsound", true) && !IsChanneling)
            {
                Count = 0;
                LXOrbwalker.SetMovement(true);
                LXOrbwalker.SetAttack(true);
            }
            if (IsChanneling)
            {
                return;
            }
            var useWa = Config.Item("AlwaysW").GetValue <bool>() && W.IsReady();

            switch (LXOrbwalker.CurrentMode)
            {
            case LXOrbwalker.Mode.Combo:
                Combo();
                break;

            case LXOrbwalker.Mode.Lasthit:
                Farm();
                break;

            case LXOrbwalker.Mode.Harass:
                Harras();
                break;

            case LXOrbwalker.Mode.LaneClear:
                WaveClear();
                break;
            }
            Escape();
            if (useWa)
            {
                AlwaysW();
            }
            SmartKs();
        }
示例#5
0
        static void Obj_AI_Base_OnProcessSpellCast(Obj_AI_Base sender, GameObjectProcessSpellCastEventArgs args)
        {
            if (!sender.IsMe || args.SData.Name != "KatarinaR")
            {
                return;
            }
            IsChanneling = true;
            LXOrbwalker.SetMovement(false);

            LXOrbwalker.SetAttack(false);
            Utility.DelayAction.Add(1, () => IsChanneling = false);
        }
示例#6
0
        static void RaperinoCasterino(Obj_AI_Hero victim)
        {
            LXOrbwalker.SetAttack(!Q.IsReady() && !E.IsReady() && player.Distance(victim) < 800f);
            LXOrbwalker.ForcedTarget = victim;
            foreach (var item in player.InventoryItems)
            {
                switch ((int)item.Id)
                {
                case 3144:
                    if (player.Spellbook.CanUseSpell((SpellSlot)item.Slot) == SpellState.Ready)
                    {
                        item.UseItem(victim);
                    }
                    break;

                case 3146:
                    if (player.Spellbook.CanUseSpell((SpellSlot)item.Slot) == SpellState.Ready)
                    {
                        item.UseItem(victim);
                    }
                    break;

                case 3128:
                    if (player.Spellbook.CanUseSpell((SpellSlot)item.Slot) == SpellState.Ready)
                    {
                        item.UseItem(victim);
                    }
                    break;
                }
            }
            if (Q.IsReady() && Q.InRange(victim.Position) && !HasBuff(victim, "AkaliMota"))
            {
                Q.Cast(victim, packetCast);
            }
            if (E.IsReady() && E.InRange(victim.Position))
            {
                E.Cast();
            }
            if (W.IsReady() && W.InRange(victim.Position) && !(HasBuff(victim, "AkaliMota") && player.Distance(victim) > Orbwalking.GetRealAutoAttackRange(player)))
            {
                W.Cast(V2E(player.Position, victim.Position, player.Distance(victim) + W.Width * 2 - 20), packetCast);
            }
            if (R.IsReady() && R.InRange(victim.Position))
            {
                R.Cast(victim, packetCast);
            }
            if (IgniteSlot != SpellSlot.Unknown && player.SummonerSpellbook.CanUseSpell(IgniteSlot) == SpellState.Ready)
            {
                player.SummonerSpellbook.CastSpell(IgniteSlot, victim);
            }
        }
示例#7
0
        //

        static void OnUpdate(EventArgs args)
        {
            packetCast = menu.Item("packets").GetValue <bool>();
            LXOrbwalker.SetAttack(true);
            if (menu.Item("RKillsteal").GetValue <bool>())
            {
                foreach (Obj_AI_Hero enemy in ObjectManager.Get <Obj_AI_Hero>())
                {
                    if (enemy.IsEnemy && enemy.Distance(player) <= R.Range && player.GetSpellDamage(enemy, SpellSlot.R) > enemy.Health && ultiCount() > 0 && R.IsReady())
                    {
                        R.CastOnUnit(enemy);
                    }
                }
            }

            switch (LXOrbwalker.CurrentMode)
            {
            case LXOrbwalker.Mode.Combo:
                RapeTime();
                break;

            case LXOrbwalker.Mode.Harass:
                if (menu.SubMenu("harass").Item("useQ").GetValue <bool>())
                {
                    CastQ(true);
                }
                if (menu.SubMenu("harass").Item("useE").GetValue <bool>())
                {
                    CastE(true);
                }
                break;

            case LXOrbwalker.Mode.LaneClear:
                if (menu.SubMenu("laneclear").Item("useQ").GetValue <bool>())
                {
                    CastQ(false);
                }
                if (menu.SubMenu("laneclear").Item("useE").GetValue <bool>())
                {
                    CastE(false);
                }
                break;
            }
            if (menu.SubMenu("misc").Item("escape").GetValue <KeyBind>().Active)
            {
                Escape();
            }
        }
示例#8
0
        private void LastHit()
        {
            var minionObj = (Obj_AI_Base)ObjectManager.Get <Obj_AI_Turret>().FirstOrDefault(i => i.IsValidTarget(LXOrbwalker.GetAutoAttackRange(Player, i)) && i.Health <= GetBonusDmg(i));

            if (minionObj == null)
            {
                minionObj = MinionManager.GetMinions(Player.Position, LXOrbwalker.GetAutoAttackRange(), MinionTypes.All, MinionTeam.NotAlly).FirstOrDefault(i => i.Health <= GetBonusDmg(i));
            }
            if (minionObj != null && (SkillW.IsReady() || Player.HasBuff("JaxEmpowerTwo", true)))
            {
                LXOrbwalker.SetAttack(false);
                if (!Player.HasBuff("JaxEmpowerTwo", true))
                {
                    SkillW.Cast(PacketCast);
                }
                if (Player.HasBuff("JaxEmpowerTwo", true))
                {
                    Player.IssueOrder(GameObjectOrder.AttackUnit, minionObj);
                }
                LXOrbwalker.SetAttack(true);
            }
        }
示例#9
0
        private static void Game_OnGameUpdate(EventArgs args)
        {
            if (_config.Item("skinshy").GetValue <bool>() && SkinChanged())
            {
                GenModelPacket(_player.ChampionName, _config.Item("skinshyvana").GetValue <Slider>().Value);
                _lastSkin = _config.Item("skinshyvana").GetValue <Slider>().Value;
            }
            if (_config.Item("ActiveCombo").GetValue <KeyBind>().Active)
            {
                Combo();
            }
            if (_config.Item("ActiveHarass").GetValue <KeyBind>().Active || _config.Item("harasstoggle").GetValue <KeyBind>().Active)
            {
                Harass();
            }
            if (_config.Item("ActiveLane").GetValue <KeyBind>().Active)
            {
                Laneclear();
                JungleClear();
            }
            if (_config.Item("ActiveLast").GetValue <KeyBind>().Active)
            {
                LastHit();
            }
            if (_config.Item("Forest").GetValue <KeyBind>().Active)
            {
                Forest();
            }

            _player = ObjectManager.Player;


            LXOrbwalker.SetAttack(true);

            KillSteal();
        }
示例#10
0
        static void Game_OnGameUpdate(EventArgs args)
        {
            Obj_AI_Hero target = SimpleTs.GetTarget(800, SimpleTs.DamageType.Physical);

            if ((Player.Health / Player.MaxHealth * 100) <= Config.Item("minRHP").GetValue <Slider>().Value)
            {
                if ((Config.Item("minRChamps").GetValue <Slider>().Value == 0) ||
                    (Config.Item("minRChamps").GetValue <Slider>().Value > 0) &&
                    Utility.CountEnemysInRange(800) >= Config.Item("minRChamps").GetValue <Slider>().Value)
                {
                    R.Cast(true);
                }
            }
            if (LXOrbwalker.CurrentMode == LXOrbwalker.Mode.Combo && target != null)
            {
                if (target.IsValidTarget(W.Range) && paramBool("ComboW"))
                {
                    W.CastOnUnit(target);
                }
                if (target.IsValidTarget(E.Range) && paramBool("ComboE"))
                {
                    E.Cast(target, Config.Item("packets").GetValue <bool>());
                }
                if (hasAntiAA(target))
                {
                    return;
                }
                if (target.IsValidTarget(LXOrbwalker.GetAutoAttackRange(Player) + 100) && paramBool("ComboQ"))
                {
                    Q.Cast(Config.Item("packets").GetValue <bool>());
                }
            }
            if (isFarmMode())
            {
                var jungleMinions = MinionManager.GetMinions(Player.Position, E.Range, MinionTypes.All,
                                                             MinionTeam.Neutral, MinionOrderTypes.MaxHealth);
                var laneMinions = MinionManager.GetMinions(Player.Position, E.Range, MinionTypes.All, MinionTeam.Enemy,
                                                           MinionOrderTypes.MaxHealth);
                if ((LXOrbwalker.CurrentMode == LXOrbwalker.Mode.LaneClear))
                {
                    if (jungleMinions.Count > 0)
                    {
                        if (Q.IsReady() && Q.IsReady() && paramBool("WaveClearQ"))
                        {
                            Q.Cast(Config.Item("packets").GetValue <bool>());
                        }
                        if (!E.IsReady() && paramBool("WaveClearE"))
                        {
                            List <Vector2> minionerinos2 =
                                (from minions in jungleMinions select minions.Position.To2D()).ToList();
                            var ePos2 =
                                MinionManager.GetBestCircularFarmLocation(minionerinos2, E.Width, E.Range).Position;
                            if (ePos2.Distance(Player.Position.To2D()) < E.Range)
                            {
                                E.Cast(ePos2, Config.Item("packets").GetValue <bool>());
                            }
                        }
                    }

                    if (jungleMinions.Count > 0)
                    {
                        return;
                    }
                    foreach (var minion in laneMinions)
                    {
                        if (GetBonusDmg(minion) > minion.Health &&
                            minion.Distance(Player) < LXOrbwalker.GetAutoAttackRange(Player) + 50 && Q.IsReady() && paramBool("JungleQ"))
                        {
                            LXOrbwalker.SetAttack(false);
                            Player.IssueOrder(GameObjectOrder.AttackUnit, minion);
                            LXOrbwalker.SetAttack(true);
                            break;
                        }
                    }
                    if (!E.IsReady() && paramBool("JungleE"))
                    {
                        List <Vector2> minionerinos =
                            (from minions in laneMinions select minions.Position.To2D()).ToList();
                        var ePos2 =
                            MinionManager.GetBestCircularFarmLocation(minionerinos, E.Width, E.Range).Position;
                        if (ePos2.Distance(Player.Position.To2D()) < E.Range)
                        {
                            E.Cast(ePos2, Config.Item("packets").GetValue <bool>());
                        }
                    }
                }
                if ((LXOrbwalker.CurrentMode == LXOrbwalker.Mode.LaneFreeze || LXOrbwalker.CurrentMode == LXOrbwalker.Mode.Lasthit) && paramBool("LastHitQ"))
                {
                    if (jungleMinions.Count > 0)
                    {
                        return;
                    }
                    foreach (var minion in laneMinions)
                    {
                        if (GetBonusDmg(minion) > minion.Health &&
                            minion.Distance(Player) < LXOrbwalker.GetAutoAttackRange(Player) + 50 && Q.IsReady())
                        {
                            LXOrbwalker.SetAttack(false);
                            Player.IssueOrder(GameObjectOrder.AttackUnit, minion);
                            LXOrbwalker.SetAttack(true);
                            break;
                        }
                    }
                }
            }
        }
示例#11
0
        static void RapeTime()
        {
            Obj_AI_Hero possibleVictim = SimpleTs.GetTarget(R.Range * 2 + Orbwalking.GetRealAutoAttackRange(player), SimpleTs.DamageType.Magical);

            try
            {
                if (rektmate.IsDead || Game.Time - assignTime > 1.5)
                {
                    //Console.WriteLine("Unassign - " + rektmate.ChampionName + " dead: " + rektmate.IsDead + "\n\n");
                    rektmate = default(Obj_AI_Hero);
                }
            }
            catch (Exception ex) { }
            try
            {
                if (rektmate == default(Obj_AI_Hero) && IsRapeble(possibleVictim) > possibleVictim.Health)
                {
                    rektmate   = possibleVictim;
                    assignTime = Game.Time;
                    //Console.WriteLine("Assign - " + rektmate.ChampionName + " time: " + assignTime+"\n\n");
                }
            }
            catch (Exception ex) { }
            if (rektmate != default(Obj_AI_Hero))
            {
                //!(menu.SubMenu("misc").Item("TowerDive").GetValue<Slider>().Value < player.Health/player.MaxHealth && Utility.UnderTurret(rektmate, true)) &&
                if (player.Distance(rektmate) < R.Range * 2 + Orbwalking.GetRealAutoAttackRange(player) && player.Distance(rektmate) > Q.Range)
                {
                    CastR(rektmate.Position);
                }
                else if (player.Distance(rektmate) < Q.Range)
                {
                    RaperinoCasterino(rektmate);
                }
                else
                {
                    rektmate = default(Obj_AI_Hero); //Target is out of range. Unassign.
                }
            }
            else
            {
                LXOrbwalker.SetAttack(!Q.IsReady() && !E.IsReady());
                if (menu.SubMenu("combo").Item("useQ").GetValue <bool>())
                {
                    CastQ(true);
                }
                if (menu.SubMenu("combo").Item("useE").GetValue <bool>())
                {
                    CastE(true);
                }
                if (menu.SubMenu("combo").Item("useW").GetValue <bool>())
                {
                    CastW();
                }
                if (menu.SubMenu("combo").Item("useR").GetValue <bool>())
                {
                    Obj_AI_Hero target = SimpleTs.GetTarget(R.Range, SimpleTs.DamageType.Magical);
                    if ((target.IsValidTarget(R.Range) && target.Distance(player) > Orbwalking.GetRealAutoAttackRange(player)) || R.IsKillable(target))
                    {
                        R.Cast(target, packetCast);
                    }
                }
            }
        }
示例#12
0
        private static void doCombo()
        {
            try
            {
                // Menu Config
                var FeroSpell = Config.Item("FeroSpellC").GetValue <StringList>();
                var ForceW    = Config.Item("ForceWC").GetValue <Slider>();
                var ForceE    = Config.Item("ForceEC").GetValue <bool>();

                var Target = TargetSelector.GetSelectedTarget() ??
                             TargetSelector.GetTarget(1600f, TargetSelector.DamageType.Physical);

                // Force Leap to target
                if (Player.HasBuff("RengarR", true))
                {
                    LXOrbwalker.ForcedTarget = Target;
                    LXOrbwalker.SetAttack(LXOrbwalker.GetPossibleTarget() == Target);
                }

                // Use Tiamat / Hydra
                if (Target.IsValidTarget(TMT.Range))
                {
                    if (TMT.IsReady())
                    {
                        TMT.Cast();
                    }
                    else if (HYD.IsReady())
                    {
                        HYD.Cast();
                    }
                }

                // Use Yommus Ghostblade
                if (YGB.IsReady() &&
                    Target.IsValidTarget(Orbwalking.GetRealAutoAttackRange(Player) +
                                         (Player.HasBuff("RengarR", true) ? Player.MoveSpeed / 2 : 0)))
                {
                    YGB.Cast();
                }

                // Cutlass
                if (BCL.IsReady() && Target.IsValidTarget(BCL.Range))
                {
                    BCL.Cast(Target);
                }

                // BORK
                if (BRK.IsReady() && Target.IsValidTarget(BRK.Range))
                {
                    BRK.Cast(Target);
                }

                // Ferocity Spell
                if (Player.Mana == 5)
                {
                    if (Player.Health / Player.MaxHealth < ForceW.Value / 100f && Target.IsValidTarget(W.Range))
                    {
                        W.CastOnUnit(Player, UsePackets);
                        return;
                    }

                    switch (FeroSpell.SelectedIndex)
                    {
                    case 1:
                        if (!Target.IsValidTarget(W.Range))
                        {
                            return;
                        }
                        W.CastOnUnit(Player, UsePackets);
                        break;

                    case 2:
                        if (!Target.IsValidTarget(E.Range) || Player.HasBuff("RengarR", true))
                        {
                            return;
                        }
                        E.Cast(Target, UsePackets);
                        break;
                    }
                    return;
                }

                // Don't cast W or E while ultimate is active (force leap)
                if (Player.HasBuff("RengarR", true))
                {
                    return;
                }

                if (E.IsReady() && Target.IsValidTarget(E.Range) &&
                    (!Target.HasBuff("RengarEFinalMAX", true) && !Target.HasBuff("rengareslow") &&
                     LastETick + 1500 < Environment.TickCount || ForceE))
                {
                    E.Cast(Target, UsePackets);
                }

                if (W.IsReady() && Target.IsValidTarget(W.Range))
                {
                    W.CastOnUnit(Player, UsePackets);
                }
            }
            catch (Exception e)
            {
                Console.WriteLine("Combo Exception: {0}", e);
            }
        }