Exemplo n.º 1
0
        public static void BurstCombo()
        {
            var eTarget = SimpleTs.GetTarget(R.Range, SimpleTs.DamageType.Magical);

            if (eTarget == null)
            {
                return;
            }

            var useQ       = Config.Item("UseQCombo").GetValue <bool>();
            var useW       = Config.Item("UseWCombo").GetValue <bool>();
            var useE       = Config.Item("UseECombo").GetValue <bool>();
            var useR       = Config.Item("UseRCombo").GetValue <bool>();
            var useIgnite  = Config.Item("UseIgnite").GetValue <bool>();
            var packetCast = Config.Item("PacketCast").GetValue <bool>();

            double totalComboDamage = 0;

            totalComboDamage += Player.GetSpellDamage(eTarget, SpellSlot.R);
            totalComboDamage += Player.GetSpellDamage(eTarget, SpellSlot.Q);
            totalComboDamage += Player.GetSpellDamage(eTarget, SpellSlot.E);
            totalComboDamage += Player.GetSpellDamage(eTarget, SpellSlot.E);
            totalComboDamage += IgniteManager.IsReady() ? Player.GetSummonerSpellDamage(eTarget, Damage.SummonerSpell.Ignite) : 0;

            double totalManaCost = 0;

            totalManaCost += Player.Spellbook.GetSpell(SpellSlot.R).ManaCost;
            totalManaCost += Player.Spellbook.GetSpell(SpellSlot.Q).ManaCost;

            if (mustDebug)
            {
                Game.PrintChat("BurstCombo Damage {0}/{1} {2}", Convert.ToInt32(totalComboDamage), Convert.ToInt32(eTarget.Health), eTarget.Health < totalComboDamage ? "BustKill" : "Harras");
                Game.PrintChat("BurstCombo Mana {0}/{1} {2}", Convert.ToInt32(totalManaCost), Convert.ToInt32(eTarget.Mana), Player.Mana >= totalManaCost ? "Mana OK" : "No Mana");
            }

            if (Q.IsReady(2000) && R.IsReady() && useR && eTarget.IsValidTarget(R.Range))
            {
                if (eTarget.Health < totalComboDamage && Player.Mana >= totalManaCost)
                {
                    if (totalComboDamage / 2 < eTarget.Health) // Anti Overkill
                    {
                        R.Cast(eTarget.ServerPosition, packetCast);
                    }
                    dtBurstComboStart = DateTime.Now;
                }
            }

            if (dtBurstComboStart.AddSeconds(5) > DateTime.Now)
            {
                IgniteManager.Cast(eTarget);
            }
        }
Exemplo n.º 2
0
        public static void Combo()
        {
            var eTarget = TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Magical);

            if (eTarget == null)
            {
                return;
            }

            var useQ       = Config.Item("UseQCombo").GetValue <bool>();
            var useW       = Config.Item("UseWCombo").GetValue <bool>();
            var useE       = Config.Item("UseECombo").GetValue <bool>();
            var useR       = Config.Item("UseRCombo").GetValue <bool>();
            var packetCast = Config.Item("PacketCast").GetValue <bool>();

            var UseWComboHeal     = Config.Item("UseWComboHeal").GetValue <bool>();
            var UseWHealMinHealth = Config.Item("UseWHealMinHealth").GetValue <Slider>().Value;

            if (eTarget.IsValidTarget(Q.Range) && Q.IsReady() && useQ)
            {
                var pred = Q.GetPrediction(eTarget);
                if (pred.Hitchance >= (eTarget.IsMoving ? HitChance.High : HitChance.Medium))
                {
                    if (useR && R.IsReady())
                    {
                        if (!(UseWComboHeal && Player.GetHealthPerc() < UseWHealMinHealth))
                        {
                            R.Cast();
                        }
                    }
                    Q.Cast(pred.CastPosition, packetCast);
                }
            }

            if (eTarget.IsValidTarget(W.Range) && W.IsReady() && useW)
            {
                if (useR && R.IsReady() && UseWComboHeal && Player.GetHealthPerc() < UseWHealMinHealth)
                {
                    R.Cast();
                }

                W.CastOnUnit(eTarget, packetCast);
            }

            if (eTarget.IsValidTarget(E.Range) && E.IsReady() && useE)
            {
                E.CastOnUnit(eTarget, packetCast);
            }

            if (IgniteManager.CanKill(eTarget))
            {
                if (IgniteManager.Cast(eTarget))
                {
                    Game.PrintChat(string.Format("Ignite Combo KS -> {0} ", eTarget.SkinName));
                }
            }
        }
Exemplo n.º 3
0
        public static void Combo()
        {
            var eTarget = SimpleTs.GetTarget(E.Range, SimpleTs.DamageType.Magical);

            if (eTarget == null)
            {
                return;
            }

            var useQ            = Config.Item("UseQCombo").GetValue <bool>();
            var useW            = Config.Item("UseWCombo").GetValue <bool>();
            var useE            = Config.Item("UseECombo").GetValue <bool>();
            var useR            = Config.Item("UseRCombo").GetValue <bool>();
            var useIgnite       = Config.Item("UseIgnite").GetValue <bool>();
            var packetCast      = Config.Item("PacketCast").GetValue <bool>();
            var RMaxStacksCombo = Config.Item("RMaxStacksCombo").GetValue <Slider>().Value;
            var EManaCombo      = Config.Item("EManaCombo").GetValue <Slider>().Value;

            if (eTarget.IsValidTarget(Q.Range) && Q.IsReady() && useQ)
            {
                Q.CastIfHitchanceEquals(eTarget, eTarget.IsMoving ? HitChance.High : HitChance.Medium, packetCast);
            }

            if (!HasWBuff() && Player.AttackRange < Player.Distance(eTarget) && Player.Distance(eTarget) <= (Orbwalking.GetRealAutoAttackRange(eTarget) + W.Range) && W.IsReady() && useW)
            {
                if (packetCast)
                {
                    Packet.C2S.Cast.Encoded(new Packet.C2S.Cast.Struct(Player.NetworkId, SpellSlot.W)).Send();
                }
                else
                {
                    W.Cast();
                }

                Player.IssueOrder(GameObjectOrder.AttackUnit, eTarget);
            }

            if (eTarget.IsValidTarget(E.Range) && E.IsReady() && useE && Player.GetManaPerc() > EManaCombo)
            {
                E.CastIfHitchanceEquals(eTarget, eTarget.IsMoving ? HitChance.High : HitChance.Medium, packetCast);
            }

            if (eTarget.IsValidTarget(R.Range) && R.IsReady() && GetRStacks() < RMaxStacksCombo && useR && Player.Distance(eTarget) > Player.AttackRange)
            {
                R.CastIfHitchanceEquals(eTarget, eTarget.IsMoving ? HitChance.High : HitChance.Medium, packetCast);
            }

            if (IgniteManager.CanKill(eTarget))
            {
                if (IgniteManager.Cast(eTarget))
                {
                    Game.PrintChat(string.Format("Ignite Combo KS -> {0} ", eTarget.SkinName));
                }
            }
        }
Exemplo n.º 4
0
        public static void Combo()
        {
            var eTarget = TargetSelector.GetTarget(E.Range, TargetSelector.DamageType.Physical);

            if (eTarget == null)
            {
                return;
            }

            if (mustDebug)
            {
                Game.PrintChat("Combo Start");
            }

            var useQ                = Config.Item("UseQCombo").GetValue <bool>();
            var useW                = Config.Item("UseWCombo").GetValue <bool>();
            var useE                = Config.Item("UseECombo").GetValue <bool>();
            var useR                = Config.Item("UseRCombo").GetValue <bool>();
            var useIgnite           = Config.Item("UseIgnite").GetValue <bool>();
            var packetCast          = Config.Item("PacketCast").GetValue <bool>();
            var MinPassiveStackUseE = Config.Item("MinPassiveStackUseECombo").GetValue <Slider>().Value;

            if (eTarget.IsValidTarget(W.Range) && W.IsReady() && useW)
            {
                W.CastIfHitchanceEquals(eTarget, eTarget.IsMoving ? HitChance.High : HitChance.Medium, packetCast);
            }

            if (eTarget.IsValidTarget(E.Range) && E.IsReady() && useE)
            {
                if (Player.Distance(eTarget) > E.Range * 0.75 && GetExpungeStacks(eTarget) >= MinPassiveStackUseE)
                {
                    CastE();
                }
                else if (GetExpungeStacks(eTarget) >= 6)
                {
                    CastE();
                }
                else if (GetExpungeBuff(eTarget) != null && GetExpungeBuff(eTarget).EndTime < Game.Time + 0.2f && GetExpungeStacks(eTarget) >= MinPassiveStackUseE)
                {
                    CastE();
                }
            }

            if (IgniteManager.CanKill(eTarget))
            {
                if (IgniteManager.Cast(eTarget))
                {
                    Game.PrintChat(string.Format("Ignite Combo KS -> {0} ", eTarget.SkinName));
                }
            }
        }
Exemplo n.º 5
0
        public static void Combo()
        {
            var eTarget = SimpleTs.GetTarget(Q.Range, SimpleTs.DamageType.Magical);

            if (eTarget == null)
            {
                return;
            }

            if (mustDebug)
            {
                Game.PrintChat("Combo Start");
            }

            var useQ       = Config.Item("UseQCombo").GetValue <bool>();
            var useW       = Config.Item("UseWCombo").GetValue <bool>();
            var useE       = Config.Item("UseECombo").GetValue <bool>();
            var useR       = Config.Item("UseRCombo").GetValue <bool>();
            var packetCast = Config.Item("PacketCast").GetValue <bool>();

            if (eTarget.IsValidTarget(Q.Range) && Q.IsReady() && useQ)
            {
                Q.CastOnUnit(eTarget, packetCast);
            }

            if (Player.Distance(eTarget) >= 575 && !DevHelper.IsFacing(eTarget) && W.IsReady() && useW)
            {
                W.CastOnUnit(eTarget, packetCast);
                return;
            }

            if (eTarget.IsValidTarget(W.Range) && W.IsReady() && useW)
            {
                W.CastOnUnit(eTarget, packetCast);
                return;
            }

            if (eTarget.IsValidTarget(E.Range) && E.IsReady() && useE)
            {
                E.CastOnUnit(eTarget, packetCast);
                return;
            }

            if (IgniteManager.CanKill(eTarget))
            {
                if (IgniteManager.Cast(eTarget))
                {
                    Game.PrintChat(string.Format("Ignite Combo KS -> {0} ", eTarget.SkinName));
                }
            }
        }
Exemplo n.º 6
0
        public static void Combo()
        {
            var eTarget = TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Magical);

            if (eTarget == null)
            {
                return;
            }

            var useQ       = Config.Item("UseQCombo").GetValue <bool>();
            var useW       = Config.Item("UseWCombo").GetValue <bool>();
            var useE       = Config.Item("UseECombo").GetValue <bool>();
            var useR       = Config.Item("UseRCombo").GetValue <bool>() || Config.Item("UseRComboToggle").GetValue <KeyBind>().Active;
            var packetCast = Config.Item("PacketCast").GetValue <bool>();

            if (eTarget.IsValidTarget(Q.Range) && Q.IsReady() && useQ)
            {
                Q.CastOnUnit(eTarget, packetCast);
            }

            if (Player.Distance(eTarget) >= 575 && !eTarget.IsFacing(Player) && W.IsReady() && useW)
            {
                W.CastOnUnit(eTarget, packetCast);
                return;
            }

            if (eTarget.IsValidTarget(W.Range) && W.IsReady() && useW)
            {
                W.CastOnUnit(eTarget, packetCast);
                return;
            }

            if (eTarget.IsValidTarget(E.Range) && E.IsReady() && useE)
            {
                E.CastOnUnit(eTarget, packetCast);
                return;
            }

            if (IgniteManager.CanKill(eTarget))
            {
                if (IgniteManager.Cast(eTarget))
                {
                    Game.PrintChat(string.Format("Ignite Combo KS -> {0} ", eTarget.SkinName));
                }
            }
        }
Exemplo n.º 7
0
        public static void Combo()
        {
            var eTarget = TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Physical);

            if (eTarget == null)
            {
                return;
            }

            var useQ       = Config.Item("UseQCombo").GetValue <bool>();
            var useW       = Config.Item("UseWCombo").GetValue <bool>();
            var useE       = Config.Item("UseECombo").GetValue <bool>();
            var useR       = Config.Item("UseRCombo").GetValue <bool>();
            var packetCast = Config.Item("PacketCast").GetValue <bool>();

            if (eTarget.IsValidTarget(Q.Range) && Q.IsReady() && useQ)
            {
                CastFirstQ(eTarget);
                CastSecondQ(eTarget);
            }

            //if (eTarget.IsValidTarget(W.Range) && W.IsReady() && useW)
            //{
            //    if (Orbwalking.InAutoAttackRange(eTarget))
            //        W.Cast(UsePackets());
            //}

            //if (eTarget.IsValidTarget(E.Range) && E.IsReady() && useE)
            //{
            //    if (Orbwalking.InAutoAttackRange(eTarget))
            //        E.Cast(UsePackets());
            //}

            if (useR && R.IsReady())
            {
                CastRMinHit();
            }

            if (IgniteManager.CanKill(eTarget))
            {
                if (IgniteManager.Cast(eTarget))
                {
                    Game.PrintChat(string.Format("Ignite Combo KS -> {0} ", eTarget.SkinName));
                }
            }
        }
Exemplo n.º 8
0
        public static void Combo()
        {
            var eTarget = SimpleTs.GetTarget(Q.Range, SimpleTs.DamageType.Magical);

            if (eTarget == null)
            {
                return;
            }

            var useQ       = Config.Item("UseQCombo").GetValue <bool>();
            var useW       = Config.Item("UseWCombo").GetValue <bool>();
            var useE       = Config.Item("UseECombo").GetValue <bool>();
            var useR       = Config.Item("UseRCombo").GetValue <bool>();
            var packetCast = Config.Item("PacketCast").GetValue <bool>();

            if (eTarget.IsValidTarget(Q.Range) && Q.IsReady() && useQ)
            {
                Q.CastIfHitchanceEquals(eTarget, eTarget.IsMoving ? HitChance.High : HitChance.Medium, packetCast);
            }

            if (eTarget.IsValidTarget(W.Range) && W.IsReady() && useW)
            {
                W.CastOnUnit(eTarget, packetCast);
            }

            if (eTarget.IsValidTarget(E.Range) && E.IsReady() && useE)
            {
                E.CastOnUnit(eTarget, packetCast);
            }

            if (IgniteManager.CanKill(eTarget))
            {
                if (IgniteManager.Cast(eTarget))
                {
                    Game.PrintChat(string.Format("Ignite Combo KS -> {0} ", eTarget.SkinName));
                }
            }
        }
Exemplo n.º 9
0
        public static void BurstCombo()
        {
            var eTarget = TargetSelector.GetTarget(R.Range, TargetSelector.DamageType.Magical);

            if (eTarget == null)
            {
                return;
            }

            var useQ           = Config.Item("UseQCombo").GetValue <bool>();
            var useW           = Config.Item("UseWCombo").GetValue <bool>();
            var useE           = Config.Item("UseECombo").GetValue <bool>();
            var useR           = Config.Item("UseRCombo").GetValue <bool>();
            var useIgnite      = Config.Item("UseIgnite").GetValue <bool>();
            var packetCast     = Config.Item("PacketCast").GetValue <bool>();
            var UseRMinEnemies = Config.Item("UseRMinEnemies").GetValue <Slider>().Value;


            double totalComboDamage = 0;

            totalComboDamage += Player.GetSpellDamage(eTarget, SpellSlot.Q);
            totalComboDamage += Player.GetSpellDamage(eTarget, SpellSlot.W);
            totalComboDamage += Player.GetSpellDamage(eTarget, SpellSlot.E);
            totalComboDamage += Player.GetSpellDamage(eTarget, SpellSlot.R);
            totalComboDamage += igniteManager.IsReady() ? Player.GetSummonerSpellDamage(eTarget, Damage.SummonerSpell.Ignite) : 0;

            double totalManaCost = 0;

            totalManaCost += Player.Spellbook.GetSpell(SpellSlot.R).ManaCost;
            totalManaCost += Player.Spellbook.GetSpell(SpellSlot.W).ManaCost;

            if (mustDebug)
            {
                Game.PrintChat("BurstCombo Damage {0}/{1} {2}", Convert.ToInt32(totalComboDamage), Convert.ToInt32(eTarget.Health), eTarget.Health < totalComboDamage ? "BustKill" : "Harras");
                Game.PrintChat("BurstCombo Mana {0}/{1} {2}", Convert.ToInt32(totalManaCost), Convert.ToInt32(eTarget.Mana), Player.Mana >= totalManaCost ? "Mana OK" : "No Mana");
            }

            // Passive UP +1 enemy Combo
            if (useR && R.IsReady())
            {
                var query = DevHelper.GetEnemyList()
                            .Where(x => x.IsValidTarget(R.Range) && HasPassiveBuff(x) && Player.GetSpellDamage(x, SpellSlot.R) > x.Health).OrderBy(x => x.Health);

                if (query.Any())
                {
                    R.CastOnUnit(query.First(), packetCast);
                }
            }


            // Combo Damage
            if (R.IsReady() && useR && eTarget.IsValidTarget(R.Range))
            {
                if (eTarget.Health < totalComboDamage * 0.9 && Player.Mana >= totalManaCost)
                {
                    if (totalComboDamage * 0.3 < eTarget.Health) // Anti OverKill
                    {
                        if (mustDebug)
                        {
                            Game.PrintChat("BurstCombo R");
                        }
                        R.CastOnUnit(eTarget, packetCast);
                    }
                    else
                    {
                        if (mustDebug)
                        {
                            Game.PrintChat("BurstCombo OverKill");
                        }
                    }
                    dtBurstComboStart = DateTime.Now;
                }
            }

            // R min enemies
            if (R.IsReady() && useR && eTarget.IsValidTarget(R.Range))
            {
                var enemiesInRange = DevHelper.GetEnemyList().Where(x => x.Distance(eTarget) < 400);
                if (enemiesInRange.Count() >= UseRMinEnemies)
                {
                    R.CastOnUnit(eTarget, packetCast);
                }
            }

            if (dtBurstComboStart.AddSeconds(5) > DateTime.Now && igniteManager.IsReady())
            {
                if (mustDebug)
                {
                    Game.PrintChat("Ignite");
                }
                igniteManager.Cast(eTarget);
            }
        }
Exemplo n.º 10
0
        public static void Combo()
        {
            var eTarget = SimpleTs.GetTarget(Q.Range, SimpleTs.DamageType.Magical);

            if (eTarget == null)
            {
                return;
            }

            var useQ       = Config.Item("UseQCombo").GetValue <bool>();
            var useW       = Config.Item("UseWCombo").GetValue <bool>();
            var useE       = Config.Item("UseECombo").GetValue <bool>();
            var useR       = Config.Item("UseRCombo").GetValue <bool>();
            var UseEQCombo = Config.Item("UseEQCombo").GetValue <bool>();

            var packetCast = Config.Item("PacketCast").GetValue <bool>();

            if (IsSoloQMode)
            {
                if (useQ)
                {
                    CastQ();
                }
                if (useW)
                {
                    CastWEnemy();
                }
                if (useE)
                {
                    CastEEnemy();
                }
                if (UseEQCombo)
                {
                    CastEQ();
                }

                if (IgniteManager.CanKill(eTarget))
                {
                    if (IgniteManager.Cast(eTarget))
                    {
                        Game.PrintChat(string.Format("Ignite Combo KS -> {0} ", eTarget.SkinName));
                    }
                }
            }

            if (IsSupportMode)
            {
                if (useW)
                {
                    CastWAlly();
                }
                if (useE)
                {
                    CastEAlly();
                }
                if (useQ)
                {
                    CastQ();
                }
                if (UseEQCombo)
                {
                    CastEQ();
                }
            }
        }