示例#1
0
        private static void doCombo()
        {
            var useW = Config.Item("combo_W").GetValue <bool>();
            var useE = Config.Item("combo_E").GetValue <bool>();
            var useR = Config.Item("combo_R").GetValue <bool>();
            var useI = Config.Item("combo_IGN").GetValue <bool>();

            var useGB   = Config.Item("item_GB").GetValue <bool>();
            var useTMT  = Config.Item("item_TMT").GetValue <bool>();
            var useHYD  = Config.Item("item_HYD").GetValue <bool>();
            var useSOTD = Config.Item("item_SOTD").GetValue <bool>();

            var useRush = Config.Item("combo_RUSH").GetValue <bool>();

            var Target = LockedTarget ?? SimpleTs.GetTarget(1500f, SimpleTs.DamageType.Physical);

            // Ultimate Rush
            if (UltimateRush(Target) && useRush)
            {
                LockedTarget = Target;
                R.Cast();
            }

            // Items
            if (TMT.IsReady() && Target.IsValidTarget(TMT.Range) && useTMT)
            {
                TMT.Cast();
            }

            if (HYD.IsReady() && Target.IsValidTarget(HYD.Range) && useHYD)
            {
                HYD.Cast();
            }

            if (GB.IsReady() && Target.IsValidTarget(LXOrbwalker.GetAutoAttackRange(Player) + (Player.MoveSpeed / 2)) && useGB)
            {
                GB.Cast();
            }

            if (SOTD.IsReady() && Target.IsValidTarget(LXOrbwalker.GetAutoAttackRange(Player)) && useSOTD)
            {
                SOTD.Cast();
            }

            // Spells
            if (E.IsReady() && Target.IsValidTarget(E.Range) && useE)
            {
                E.CastOnUnit(Target);
            }
            else if (W.IsReady() && Target.IsValidTarget(W.Range) && useW)
            {
                W.Cast(Target.Position);
            }
            else if (R.IsReady() && Target.IsValidTarget(R.Range) && useR && R.GetDamage(Target) > Target.Health)
            {
                R.Cast();
            }

            // Auto Ignite
            if (!useI || Ignite == SpellSlot.Unknown || Player.SummonerSpellbook.CanUseSpell(Ignite) != SpellState.Ready)
            {
                return;
            }

            foreach (var enemy in ObjectManager.Get <Obj_AI_Hero>().Where(hero => hero.IsEnemy && hero.IsValidTarget(600f) && !hero.IsDead && hero.Health < Player.GetSummonerSpellDamage(hero, Damage.SummonerSpell.Ignite)).OrderByDescending(SimpleTs.GetPriority))
            {
                Player.SummonerSpellbook.CastSpell(Ignite, enemy);
                return;
            }
        }
示例#2
0
        private static float GetComboDamage(Obj_AI_Base target)
        {
            double DamageDealt = 0;

            var useQ    = Config.Item("combo_Q").GetValue <bool>();
            var useW    = Config.Item("combo_W").GetValue <bool>();
            var useE    = Config.Item("combo_E").GetValue <bool>();
            var useR    = Config.Item("combo_R").GetValue <bool>();
            var useRUSH = Config.Item("combo_RUSH").GetValue <bool>();
            var useTMT  = Config.Item("item_TMT").GetValue <bool>();
            var useHYD  = Config.Item("item_HYD").GetValue <bool>();
            var useSOTD = Config.Item("item_SOTD").GetValue <bool>();

            // Q
            if (Q.IsReady() && useQ)
            {
                DamageDealt += DamageDealt += Q.GetDamage(target);
            }


            // W
            if (W.IsReady() && useW)
            {
                DamageDealt += W.GetDamage(target);
            }

            // R
            if (R.IsReady() && (useR || useRUSH))
            {
                DamageDealt += R.GetDamage(target);
            }

            // Double AA + SOTD
            int SOTDbonus = SOTD.IsReady() && useSOTD ? 2 : 1;

            DamageDealt += ((Player.GetAutoAttackDamage(target) * 1.1 * (Q.IsReady() ? 2 : 1)) * SOTDbonus);


            //  Tiamat
            if (TMT.IsReady() && useTMT)
            {
                DamageDealt += Player.GetItemDamage(target, Damage.DamageItems.Tiamat);
            }


            // Hydra
            if (HYD.IsReady() && useHYD)
            {
                DamageDealt += Player.GetItemDamage(target, Damage.DamageItems.Hydra);
            }

            // E damage amplification
            double[] Amp = { 0, 1.03, 1.06, 1.09, 1.12, 1.15 };

            if (E.IsReady() && useE)
            {
                DamageDealt += DamageDealt * Amp[E.Level];
            }

            return((float)DamageDealt);
        }
示例#3
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 = SimpleTs.GetSelectedTarget() ?? SimpleTs.GetTarget(1600f, SimpleTs.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);
                }

                // DFG
                if (W.IsReady() && DFG.IsReady() && Target.IsValidTarget(DFG.Range))
                {
                    DFG.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);
            }
        }
示例#4
0
        private static void Game_OnGameUpdate(EventArgs args)
        {
            if (SKOMenu.Item("activeClear").GetValue <KeyBind>().Active)
            {
                Clear();
            }
            var tqtarget = SimpleTs.GetTarget(R.Range, SimpleTs.DamageType.Physical);

            if (SKOMenu.Item("TripleQ").GetValue <KeyBind>().Active)
            {
                TripleQ(tqtarget);
            }

            var target = SimpleTs.GetTarget(E.Range, SimpleTs.DamageType.Physical);

            Q   = new Spell(SpellSlot.Q, Player.AttackRange + 90);
            YMG = new Items.Item(3142, Player.AttackRange + 50);
            STD = new Items.Item(3131, Player.AttackRange + 50);

            AutoHeal();
            KillSteal(target);

            if (SKOMenu.Item("activeCombo").GetValue <KeyBind>().Active)
            {
                if (target.IsValidTarget())
                {
                    if (Player.Mana <= 4)
                    {
                        if (SKOMenu.Item("UseQ").GetValue <bool>() && Q.IsReady() && Player.Distance(target) <= Q.Range)
                        {
                            Q.Cast();
                        }
                        if (SKOMenu.Item("UseW").GetValue <bool>() && W.IsReady() && Player.Distance(target) <= W.Range)
                        {
                            W.Cast();
                        }
                        if (SKOMenu.Item("UseE").GetValue <bool>() && E.IsReady() && Player.Distance(target) <= E.Range)
                        {
                            E.Cast(target, PacketCast);
                        }
                    }
                    if (Player.Mana == 5)
                    {
                        if (SKOMenu.Item("UseQ").GetValue <bool>() && SKOMenu.Item("CPrio").GetValue <StringList>().SelectedIndex == 0 && Q.IsReady() && Player.Distance(target) <= Q.Range)
                        {
                            Q.Cast();
                        }
                        if (SKOMenu.Item("UseW").GetValue <bool>() && SKOMenu.Item("CPrio").GetValue <StringList>().SelectedIndex == 1 && W.IsReady() && Player.Distance(target) <= W.Range)
                        {
                            W.Cast();
                        }
                        if (SKOMenu.Item("UseE").GetValue <bool>() && SKOMenu.Item("CPrio").GetValue <StringList>().SelectedIndex == 2 && E.IsReady() && Player.Distance(target) <= E.Range)
                        {
                            E.Cast(target);
                        }

                        //E if !Q.IsReady()
                        if (SKOMenu.Item("UseE").GetValue <bool>() && !Q.IsReady() && E.IsReady() && Player.Distance(target) > Q.Range)
                        {
                            E.Cast(target);
                        }
                    }
                    if (SKOMenu.Item("UseItemsCombo").GetValue <bool>())
                    {
                        if (Player.Distance(target) < Player.AttackRange + 50)
                        {
                            TMT.Cast();
                            HYD.Cast();
                            STD.Cast();
                        }
                        BWC.Cast(target);
                        BRK.Cast(target);
                        RO.Cast(target);
                        YMG.Cast();
                    }
                }
            }
            if (SKOMenu.Item("activeHarass").GetValue <KeyBind>().Active)
            {
                Harass(target);
            }
        }