Example #1
0
        /// <summary>
        /// R 技能鑄造
        /// </summary>
        /// <param name="useR"></param>
        private static void RCast(bool useR, bool useIgnite)
        {
            var target = TargetSelector.GetSelectedTarget() ??
                         TargetSelector.GetTarget(R.Range, TargetSelector.DamageType.Magical);

            var comboDmg = target != null?Common.DamageCalculate.GetComboDamage(target) : 0;


            if (target != null && useR)
            {
                useR = (Menu.Item("DontUlt" + target.ChampionName.ToLower()) != null && Menu.Item("DontUlt" + target.ChampionName.ToLower()).GetValue <bool>() == false);
            }

            if (target != null && useR && comboDmg > target.Health && !target.IsZombie && !Q.IsReady())
            {
                R.Cast(target);
            }

            // 點燃鑄造
            if (target != null && useIgnite && Ignite != SpellSlot.Unknown && Ignite.IsReady())
            {
                if (DamageCalculate.GetIgniteDmage(target) > target.Health)
                {
                    player.Spellbook.CastSpell(Ignite, target);
                }
            }
        }
Example #2
0
        private static void ComboLogic()
        {
            var target = TargetSelector.GetSelectedTarget() ??
                         TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Magical);

            if (target != null && !target.IsDead && !target.IsZombie && target.IsHPBarRendered)
            {
                if (Menu.Item("ComboQ").GetValue <bool>() && Q.IsReady() && target.IsValidTarget(Q.Range) && Q.CanCast(target))
                {
                    Q.Cast(true);
                }

                if (Menu.Item("ComboW").GetValue <bool>() && W.IsReady())
                {
                    if (player.HealthPercent <= Menu.Item("WM").GetValue <Slider>().Value)
                    {
                        W.Cast(true);
                    }

                    var ally = HeroManager.Allies.Where(
                        x => x.IsValidTarget(W.Range) && x.HealthPercent <= Menu.Item("WA").GetValue <Slider>().Value).FirstOrDefault();

                    if (ally != null)
                    {
                        W.Cast(true);
                    }
                }

                if (Menu.Item("ComboR").GetValue <bool>() && R.IsReady() && target.IsValidTarget(R.Range))
                {
                    if (target.Health <= DamageCalculate.GetRDamage(target) + player.GetAutoAttackDamage(target) * 2)
                    {
                        R.Cast(target);
                    }
                    else
                    {
                        R.CastIfWillHit(target, Menu.Item("RComboMin").GetValue <Slider>().Value, true);
                    }
                }

                if (Menu.Item("IgniteCombo").GetValue <bool>() && Ignite != SpellSlot.Unknown && Ignite.IsReady())
                {
                    if (DamageCalculate.GetIgniteDmage(target) > target.Health)
                    {
                        player.Spellbook.CastSpell(Ignite, target);
                    }
                }
            }
        }
Example #3
0
        internal static void InitTick()
        {
            var target = TargetSelector.GetTarget(EntityManager.Heroes.Enemies.Where(x => x.IsValidRange(800f)), DamageType.Physical);

            if (target != null && target.IsValidRange(800f))
            {
                if (MenuInit.ComboDot && Ignite != SpellSlot.Unknown &&
                    Player.Instance.Spellbook.GetSpell(Ignite).IsReady&&
                    target.IsValidRange(600) &&
                    ((target.Health < DamageCalculate.GetComboDamage(target) && target.IsValidRange(400)) ||
                     target.Health < DamageCalculate.GetIgniteDmage(target)) &&
                    Player.Instance.Spellbook.CastSpell(Ignite, target))
                {
                    return;
                }

                if (MenuInit.ComboYoumuu && Item.HasItem(3142) && Item.CanUseItem(3142) &&
                    target.IsValidRange(580) && Item.UseItem(3142))
                {
                    return;
                }

                if (MenuInit.ComboR1 && R.IsReady() && !isRActive &&
                    target.Health <= DamageCalculate.GetComboDamage(target) * 1.3 && target.IsValidRange(600f) &&
                    R1Logic(target))
                {
                    return;
                }

                if (MenuInit.ComboR2 != 3 && R.IsReady() && isRActive && R2Logic(target))
                {
                    return;
                }

                if (MenuInit.ComboQGap && Q.IsReady() && Environment.TickCount - lastQTime > 1200 &&
                    !Player.Instance.IsDashing() && target.IsValidRange(480) &&
                    target.DistanceToPlayer() >
                    Player.Instance.GetAutoAttackRange() + Player.Instance.BoundingRadius + 50 &&
                    Prediction.Position.PredictUnitPosition(target, 1).DistanceToPlayer() >
                    Player.Instance.GetAutoAttackRange() + 50)
                {
                    CastQ(target);
                    return;
                }

                if (MenuInit.ComboEGap && E.IsReady() && target.IsValidRange(600) &&
                    target.DistanceToPlayer() >
                    Player.Instance.GetAutoAttackRange() + Player.Instance.BoundingRadius + 50)
                {
                    Player.Instance.Spellbook.CastSpell(SpellSlot.E, target.Position);
                    return;
                }

                if (MenuInit.ComboWLogic && W.IsReady() && target.IsValidRange(W.Range))
                {
                    if (qStack == 0 && Player.Instance.Spellbook.CastSpell(SpellSlot.W))
                    {
                        return;
                    }

                    if (Q.IsReady() && qStack > 1 && Player.Instance.Spellbook.CastSpell(SpellSlot.W))
                    {
                        return;
                    }

                    if (Player.Instance.HasBuff("RivenFeint") && Player.Instance.Spellbook.CastSpell(SpellSlot.W))
                    {
                        return;
                    }

                    if (!target.IsFacing(Player.Instance))
                    {
                        Player.Instance.Spellbook.CastSpell(SpellSlot.W);
                    }
                }
            }
        }
Example #4
0
        internal static void Init()
        {
            var target = TargetSelector.GetTarget(600f, TargetSelector.DamageType.Physical);

            if (target != null)
            {
                if (Menu.GetBool("ComboIgnite") && Ignite != SpellSlot.Unknown && Ignite.IsReady() &&
                    target.DistanceToPlayer() <= 600f &&
                    (target.Health < DamageCalculate.GetComboDamage(target) ||
                     target.Health < DamageCalculate.GetIgniteDmage(target)))
                {
                    Me.Spellbook.CastSpell(Ignite, target);
                }

                if (HeroManager.Enemies.Any(x => x.DistanceToPlayer() <= 400))
                {
                    SpellManager.CastItem();
                }

                if (Menu.GetKey("ComboR") && R.IsReady())
                {
                    foreach (var rTarget in HeroManager.Enemies.Where(x => x.DistanceToPlayer() <= R.Range &&
                                                                      x.Health <= DamageCalculate.GetRDamage(x) &&
                                                                      !x.HasBuff("willrevive")))
                    {
                        if (rTarget.IsValidTarget(R.Range))
                        {
                            R.CastOnUnit(target, true);
                        }
                    }
                }

                if (Menu.GetBool("ComboQLock") && Me.HasBuff("dariusqcast") && Me.CountEnemiesInRange(800) < 3)
                {
                    Orbwalker.SetMovement(false);
                    Orbwalker.SetAttack(false);

                    if (target.DistanceToPlayer() <= 250)
                    {
                        EloBuddy.Player.IssueOrder(GameObjectOrder.MoveTo, Me.Position.Extend(target.Position, -Q.Range));
                    }
                    else if (target.DistanceToPlayer() <= Q.Range)
                    {
                        EloBuddy.Player.IssueOrder(GameObjectOrder.MoveTo, Game.CursorPos);
                    }
                    else
                    {
                        EloBuddy.Player.IssueOrder(GameObjectOrder.MoveTo, target.Position);
                    }
                }
                else
                {
                    Orbwalker.SetMovement(true);
                    Orbwalker.SetAttack(true);
                }

                if (Menu.GetBool("ComboQ") && Q.IsReady() && target.DistanceToPlayer() <= Q.Range &&
                    SpellManager.CanQHit(target) && Me.CanMoveMent())
                {
                    if (Menu.GetBool("ComboSaveMana") && Me.Mana < SpellManager.RMana + Q.Instance.SData.Mana)
                    {
                        return;
                    }

                    if (Utils.TickCount - lastETime > 1000)
                    {
                        Q.Cast(true);
                    }
                }

                if (Menu.GetBool("ComboE") && E.IsReady() && target.DistanceToPlayer() <= E.Range - 30 &&
                    !Orbwalking.InAutoAttackRange(target) && !target.HaveShiled())
                {
                    if (Menu.GetBool("ComboSaveMana") && Me.Mana < SpellManager.RMana + Q.Instance.SData.Mana)
                    {
                        return;
                    }

                    var pred = E.GetPrediction(target);
                    E.Cast(pred.UnitPosition, true);
                }
            }
        }