Exemplo n.º 1
0
        private static void LaneClear(GameObjectProcessSpellCastEventArgs Args)
        {
            if (Args.SData == null || !Orbwalking.IsAutoAttack(Args.SData.Name) || Args.Target == null ||
                !Orbwalking.isLaneClear || !Args.Target.IsEnemy ||
                !ManaManager.HasEnoughMana(Menu.GetSlider("LaneClearMana")) || !ManaManager.SpellFarm)
            {
                return;
            }

            if (Menu.GetBool("LaneClearW") && W.IsReady())
            {
                if (Args.Target.Type == GameObjectType.obj_AI_Turret || Args.Target.Type == GameObjectType.obj_Turret ||
                    Args.Target.Type == GameObjectType.obj_LampBulb)
                {
                    if (!Args.Target.IsDead)
                    {
                        W.Cast();
                    }
                }
                else
                {
                    var minion = (Obj_AI_Minion)Args.Target;

                    if (minion != null && minion.Health <= DamageCalculate.GetWDamage(minion))
                    {
                        W.Cast();
                        Orbwalker.ForceTarget(minion);
                    }
                }
            }
        }
Exemplo n.º 2
0
        internal static void Init()
        {
            if (Menu.GetBool("KillStealQ") && Q.IsReady())
            {
                foreach (
                    var target in
                    HeroManager.Enemies.Where(x => x.Check(Q.Range) && x.Health < DamageCalculate.GetQDamage(x)))
                {
                    if (target.IsValidTarget(Q.Range))
                    {
                        Q.CastOnUnit(target, true);
                    }
                }
            }

            if (Menu.GetBool("KillStealE") && E.IsReady())
            {
                foreach (
                    var target in
                    HeroManager.Enemies.Where(x => x.Check(E.Range + EWidth) && x.Health < DamageCalculate.GetEDamage(x)))
                {
                    if (target.IsValidTarget(E.Range + EWidth - 100))
                    {
                        SpellManager.CastE(target);
                    }
                }
            }
        }
Exemplo n.º 3
0
        internal static void Init()
        {
            if (ManaManager.HasEnoughMana(Menu.GetSlider("LaneClearMana")) && ManaManager.SpellFarm)
            {
                var minions = MinionManager.GetMinions(Me.Position, Q.Range);

                if (minions.Any())
                {
                    if (Menu.GetBool("LaneClearQ") && Q.IsReady() && minions.Count >= Menu.GetSlider("LaneClearQCount"))
                    {
                        Q.Cast(true);
                    }

                    if (Menu.GetBool("LaneClearW") && W.IsReady())
                    {
                        var minion = minions.FirstOrDefault(x => x.Health <= DamageCalculate.GetWDamage(x));

                        if (minion != null)
                        {
                            W.Cast(true);
                            Orbwalker.ForceTarget(minion);
                        }
                    }
                }
            }
        }
Exemplo n.º 4
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);
                }
            }
        }
Exemplo n.º 5
0
        private static void Combo()
        {
            if (ComboMenu["ComboQ"].Cast <CheckBox>().CurrentValue&& Q.IsReady())
            {
                var target = TargetSelector.GetTarget(Q.Range, DamageType.Magical);

                if (target.IsValidTarget(Q.Range) &&
                    ComboMenu["ComboQ" + target.ChampionName].Cast <CheckBox>().CurrentValue&& !HaveShiled(target))
                {
                    CastQ(target);
                }
            }

            if (ComboMenu["ComboW"].Cast <CheckBox>().CurrentValue&& W.IsReady())
            {
                if ((EntityManager.Heroes.Enemies.Any(x => x.IsValidTarget(Q.Range)) && !Q.IsReady()) ||
                    Player.HasBuffOfType(BuffType.Slow))
                {
                    Player.Instance.Spellbook.CastSpell(SpellSlot.W);
                }
            }

            if (ComboMenu["ComboE"].Cast <CheckBox>().CurrentValue&& E.IsReady())
            {
                var target = TargetSelector.GetTarget(Player.Instance.GetAutoAttackRange() + 65, DamageType.Physical);

                if (target.IsValidTarget() && !Q.IsReady())
                {
                    Player.Instance.Spellbook.CastSpell(SpellSlot.E);
                    Orbwalker.ForcedTarget = target;
                }
            }

            if (ComboMenu["ComboR"].Cast <CheckBox>().CurrentValue&& R.IsReady())
            {
                var target = TargetSelector.GetTarget(R.Range, DamageType.Magical);

                if (target.IsValidTarget(R.Range) && target.HasBuff("rocketgrab2"))
                {
                    Player.Instance.Spellbook.CastSpell(SpellSlot.R);
                }
                else if (target.IsValidTarget(R.Range) && target.Health < DamageCalculate.GetRDamage(target) && !IsUnKillable(target))
                {
                    Player.Instance.Spellbook.CastSpell(SpellSlot.R);
                }
                else if (Player.Instance.CountEnemyChampionsInRange(R.Range) >= 3)
                {
                    Player.Instance.Spellbook.CastSpell(SpellSlot.R);
                }
                else if (Player.Instance.CountEnemyChampionsInRange(R.Range) >= 2 && Player.Instance.IsMelee)
                {
                    Player.Instance.Spellbook.CastSpell(SpellSlot.R);
                }
            }
        }
Exemplo n.º 6
0
        private static void Combo()
        {
            if (MenuInit.ComboEDash && E.IsReady())
            {
                var target = TargetSelector.GetTarget(Player.Instance.GetAutoAttackRange() + E.Range, DamageType.Physical);

                if (target.IsValidTarget(Player.Instance.GetAutoAttackRange() + E.Range) &&
                    !target.IsValidTarget(Player.Instance.GetAutoAttackRange()))
                {
                    ELogic(target, 0);
                }
            }

            if (MenuInit.ComboQExtend && QExtend.IsReady() && !Player.Instance.IsDashing() && !havePassive && !havePassiveBuff)
            {
                var target = TargetSelector.GetTarget(QExtend.Range, DamageType.Physical);

                if (target.IsValidTarget(QExtend.Range) && !target.IsValidTarget(Q.Range))
                {
                    QLogic(target);
                }
            }

            if (MenuInit.ComboR && R.IsReady())
            {
                var target = TargetSelector.GetTarget(R.Range, DamageType.Physical);

                if (target.IsValidTarget(R.Range) && !target.IsUnKillable() && !Player.Instance.IsUnderEnemyturret() &&
                    !target.IsValidTarget(Player.Instance.GetAutoAttackRange()))
                {
                    if (EntityManager.Heroes.Enemies.Any(x => x.NetworkId != target.NetworkId && x.Distance(target) <= 550))
                    {
                        return;
                    }

                    var rAmmo = new float[] { 20, 25, 30 }[Player.Instance.Spellbook.GetSpell(SpellSlot.R).Level - 1];
                    var rDMG  = DamageCalculate.GetRDamage(target) * rAmmo;

                    if (target.Health + target.HPRegenRate * 3 < rDMG)
                    {
                        if (target.DistanceToPlayer() <= 800 && target.Health < rDMG * 0.6)
                        {
                            R.Cast(target);
                            return;
                        }

                        if (target.DistanceToPlayer() <= 1000 && target.Health < rDMG * 0.4)
                        {
                            R.Cast(target);
                        }
                    }
                }
            }
        }
Exemplo n.º 7
0
        internal static void Init()
        {
            if (ManaManager.HasEnoughMana(Menu.GetSlider("LaneClearMana")) && ManaManager.SpellFarm)
            {
                if (Menu.GetBool("LaneClearQ") && Q.IsReady())
                {
                    var qMinion =
                        MinionManager.GetMinions(Me.Position, Q.Range)
                        .FirstOrDefault(
                            x => x.Health <DamageCalculate.GetQDamage(x) && x.Health> Me.GetAutoAttackDamage(x));

                    if (qMinion != null && qMinion.IsValidTarget(Q.Range))
                    {
                        Q.CastOnUnit(qMinion, true);
                    }
                }

                if (Menu.GetBool("LaneClearE") && E.IsReady())
                {
                    var eMinions = MinionManager.GetMinions(Me.Position, E.Range + EWidth);

                    if (eMinions.Any())
                    {
                        var eMinion = eMinions.FirstOrDefault(x => x.IsValidTarget(E.Range));
                        var target  = TargetSelector.GetTarget(E.Range, TargetSelector.DamageType.Magical);

                        if (target != null && target.IsValidTarget(E.Range))
                        {
                            var exEMinions = MinionManager.GetMinions(target.Position, E.Range);
                            var eFarm      =
                                SpellManager.GetBestLineFarmLocation(
                                    exEMinions.Select(x => x.Position.To2D()).ToList(), target.Position, E.Width, EWidth);

                            if (eFarm.MinionsHit + 1 >= Menu.GetSlider("LaneClearECount"))
                            {
                                SpellManager.FixECast(target.Position, eFarm.Position.To3D());
                            }
                        }
                        else if (eMinion != null)
                        {
                            var exEMinions = MinionManager.GetMinions(eMinion.Position, E.Range);
                            var eFarm      =
                                SpellManager.GetBestLineFarmLocation(
                                    exEMinions.Select(x => x.Position.To2D()).ToList(), eMinion.Position, E.Width, EWidth);

                            if (eFarm.MinionsHit >= Menu.GetSlider("LaneClearECount"))
                            {
                                SpellManager.FixECast(eMinion.Position, eFarm.Position.To3D());
                            }
                        }
                    }
                }
            }
        }
Exemplo n.º 8
0
        internal static void R2Logic(Obj_AI_Hero target)
        {
            if (target == null || R.Instance.Name == "RivenFengShuiEngine")
            {
                return;
            }

            if (target.Check(850))
            {
                switch (Menu.GetList("R2Mode"))
                {
                case 0:
                    if (DamageCalculate.GetRDamage(target) > target.Health && target.DistanceToPlayer() < 600)
                    {
                        var pred = R.GetPrediction(target, true);

                        if (pred.Hitchance >= HitChance.VeryHigh)
                        {
                            R.Cast(pred.CastPosition, true);
                        }
                    }
                    break;

                case 1:
                    if (target.HealthPercent < 20 ||
                        (target.Health > DamageCalculate.GetRDamage(target) + Me.GetAutoAttackDamage(target) * 2 &&
                         target.HealthPercent < 40) ||
                        (target.Health <= DamageCalculate.GetRDamage(target)) ||
                        (target.Health <= DamageCalculate.GetComboDamage(target) * 1.3))
                    {
                        var pred = R.GetPrediction(target, true);

                        if (pred.Hitchance >= HitChance.VeryHigh)
                        {
                            R.Cast(pred.CastPosition, true);
                        }
                    }
                    break;

                case 2:
                    if (target.DistanceToPlayer() < 600)
                    {
                        var pred = R.GetPrediction(target, true);

                        if (pred.Hitchance >= HitChance.VeryHigh)
                        {
                            R.Cast(pred.CastPosition, true);
                        }
                    }
                    break;
                }
            }
        }
Exemplo n.º 9
0
        internal static void Init()
        {
            var target = TargetSelector.GetSelectedTarget() ??
                         TargetSelector.GetTarget(900, TargetSelector.DamageType.Physical);

            if (target.Check(900f))
            {
                if (Menu.GetBool("ComboIgnite") && Ignite != SpellSlot.Unknown && Ignite.IsReady() &&
                    DamageCalculate.GetComboDamage(target) > target.Health)
                {
                    Me.Spellbook.CastSpell(Ignite, target);
                    return;
                }

                if (Menu.GetBool("ComboE") && E.IsReady() && Me.CanMoveMent() && target.DistanceToPlayer() <= 650 &&
                    target.DistanceToPlayer() > Orbwalking.GetRealAutoAttackRange(Me) + 100)
                {
                    EDash(target);
                }

                if (Menu.GetBool("ComboQ") && Q.IsReady() && Me.CanMoveMent() && qStack == 0 &&
                    target.DistanceToPlayer() <= Q.Range + Orbwalking.GetRealAutoAttackRange(Me) &&
                    target.DistanceToPlayer() > Orbwalking.GetRealAutoAttackRange(Me) + 50 &&
                    Utils.TickCount - lastQTime > 900)
                {
                    if (!Me.IsDashing())
                    {
                        SpellManager.CastQ(target);
                    }
                }

                if (Menu.GetBool("ComboW") && W.IsReady() &&
                    target.IsValidTarget(W.Range) && !target.HasBuffOfType(BuffType.SpellShield))
                {
                    WLogic(target);
                }

                if (Menu.GetBool("ComboR") && R.IsReady())
                {
                    if (Menu.GetKey("R1Combo") && R.Instance.Name == "RivenFengShuiEngine" && !E.IsReady())
                    {
                        if (target.DistanceToPlayer() < 500 && Me.CountEnemiesInRange(500) >= 1)
                        {
                            R.Cast(true);
                        }
                    }
                    else if (R.Instance.Name == "RivenIzunaBlade")
                    {
                        SpellManager.R2Logic(target);
                    }
                }
            }
        }
Exemplo n.º 10
0
        internal static void Init()
        {
            var target = TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Magical);

            if (target.Check(Q.Range))
            {
                if (Menu.GetBool("ComboIgnite") && Ignite != SpellSlot.Unknown && Ignite.IsReady() &&
                    target.IsValidTarget(600) &&
                    (target.Health < DamageCalculate.GetComboDamage(target) ||
                     target.Health < Me.GetSummonerSpellDamage(target, Damage.SummonerSpell.Ignite)))
                {
                    Me.Spellbook.CastSpell(Ignite, target);
                }

                if (Menu.Item("ComboR", true).GetValue <bool>() && R.IsReady() && target.IsValidTarget(R.Range) &&
                    !SpellManager.HaveBear)
                {
                    var rPred = R.GetPrediction(target, true);

                    if (rPred.Hitchance >= HitChance.VeryHigh)
                    {
                        if (rPred.AoeTargetsHitCount >= Menu.GetSlider("ComboRCount") && SpellManager.HaveStun)
                        {
                            R.Cast(rPred.CastPosition, true);
                        }

                        if (target.Health < DamageCalculate.GetComboDamage(target))
                        {
                            if (SpellManager.BuffCounts == 3 && Menu.GetBool("ComboE") && E.IsReady())
                            {
                                E.Cast();
                            }

                            R.Cast(rPred.CastPosition, true);
                        }
                    }
                }

                if (Menu.GetBool("ComboQ") && Q.IsReady() && target.IsValidTarget(Q.Range) &&
                    ((R.IsReady() && SpellManager.HaveBear) || !R.IsReady() ||
                     (target.Health > DamageCalculate.GetComboDamage(target) && SpellManager.HaveStun)))
                {
                    Q.CastOnUnit(target, true);
                }

                if (Menu.GetBool("ComboW") && W.IsReady() && target.IsValidTarget(W.Range - 50) &&
                    ((R.IsReady() && SpellManager.HaveBear) || !R.IsReady() ||
                     (target.Health > DamageCalculate.GetComboDamage(target) && SpellManager.HaveStun)))
                {
                    W.Cast(target.Position, true);
                }
            }
        }
Exemplo n.º 11
0
        internal static void Init()
        {
            if (Menu.GetKey("EnableFlashR"))
            {
                Orbwalking.MoveTo(Game.CursorPos);

                foreach (var target in HeroManager.Enemies.Where(em => em.Check(R.Range + 425f)))
                {
                    if (E.IsReady() && !SpellManager.HaveStun)
                    {
                        E.Cast();
                    }

                    var RPred     = R.GetPrediction(target, true);
                    var RHitCount = R.GetPrediction(target, true).AoeTargetsHitCount;

                    if (RPred.Hitchance >= HitChance.High && SpellManager.HaveStun)
                    {
                        if (Me.CountAlliesInRange(1000) >= Menu.GetSlider("FlashRCountsAlliesinRange") &&
                            Me.CountEnemiesInRange(R.Range + 425) >= Menu.GetSlider("FlashRCountsEnemiesinRange") &&
                            RHitCount >= Menu.GetSlider("FlashRCountsEnemiesinRange"))
                        {
                            Me.Spellbook.CastSpell(Flash, R.GetPrediction(target, true).CastPosition);
                            if (!Flash.IsReady())
                            {
                                R.Cast(R.GetPrediction(target, true).CastPosition, true);
                            }
                        }

                        if (Menu.GetBool("FlashRCanKillEnemy") && Me.CountEnemiesInRange(R.Range + 425) == 1 && Q.IsReady() &&
                            Ignite.IsReady() && target.Health < DamageCalculate.GetComboDamage(target))
                        {
                            Me.Spellbook.CastSpell(Flash, R.GetPrediction(target, true).CastPosition);
                            if (!Flash.IsReady())
                            {
                                R.Cast(R.GetPrediction(target, true).CastPosition, true); Me.Spellbook.CastSpell(Ignite, target); Q.Cast(target, true);
                            }
                        }
                        if (Menu.GetBool("FlashRCanKillEnemy") && Me.CountEnemiesInRange(R.Range + 425) == 1 && Q.IsReady() &&
                            target.Health < DamageCalculate.GetComboDamage(target))
                        {
                            Me.Spellbook.CastSpell(Flash, R.GetPrediction(target, true).CastPosition);
                            if (!Flash.IsReady())
                            {
                                R.Cast(R.GetPrediction(target, true).CastPosition, true);
                                Q.Cast(target, true);
                            }
                        }
                    }
                }
            }
        }
Exemplo n.º 12
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);
                    }
                }
            }
        }
Exemplo n.º 13
0
        private static void JungleSteal()
        {
            var mobs =
                ObjectManager.Get <Obj_AI_Minion>()
                .Where(
                    x =>
                    x != null && x.IsMonster && x.Distance(Player.Instance) <= 950 &&
                    !x.Name.ToLower().Contains("mini") && !x.Name.ToLower().Contains("respawn") &&
                    !x.Name.ToLower().Contains("plant"))
                .OrderBy(x => x.MaxHealth);

            foreach (var mob in mobs)
            {
                if (mob.Distance(Player.Instance) > (Q.IsReady() ? Q.Range : R.IsReady() ? R.Range : 1000))
                {
                    continue;
                }

                if (JungleStealMenu["JungleAlly"].Cast <CheckBox>().CurrentValue&&
                    EntityManager.Heroes.Allies.Any(
                        x =>
                        !x.IsDead && !x.IsMe &&
                        x.Distance(mob) <= JungleStealMenu["JungleAllyRange"].Cast <Slider>().CurrentValue))
                {
                    continue;
                }

                if (JungleStealMenu[mob.CharData.BaseSkinName] != null &&
                    JungleStealMenu[mob.CharData.BaseSkinName].Cast <CheckBox>().CurrentValue)
                {
                    if (JungleStealMenu["JungleR"].Cast <CheckBox>().CurrentValue&&
                        mob.Distance(Player.Instance) <= R.Range && mob.Health <= DamageCalculate.GetRDamage(mob))
                    {
                        Player.Instance.Spellbook.CastSpell(SpellSlot.R);
                    }
                    else if (JungleStealMenu["JungleQ"].Cast <CheckBox>().CurrentValue&&
                             mob.Distance(Player.Instance) <= Q.Range && mob.Health <= DamageCalculate.GetQDamage(mob))
                    {
                        var Pred = Q.GetPrediction(mob);

                        if (Pred.HitChance == HitChance.High && !Pred.CollisionObjects.Any())
                        {
                            Q.Cast(mob.Position);
                        }
                    }
                }
            }
        }
Exemplo n.º 14
0
 internal static void InitTick()
 {
     if (MenuInit.KillStealR && isRActive && R1.IsReady())
     {
         foreach (
             var target in
             EntityManager.Heroes.Enemies.Where(
                 x => x.IsValidRange(R.Range) && DamageCalculate.GetRDamage(x) > x.Health && !x.IsUnKillable()))
         {
             if (target.IsValidRange(R.Range - 100) && !target.IsValidRange(500))
             {
                 R1.Cast(target.Position);
             }
         }
     }
 }
Exemplo n.º 15
0
        internal static void Init()
        {
            if (SpellManager.isCastingUlt)
            {
                return;
            }

            var target = TargetSelector.GetTarget(E.Range + 300f, TargetSelector.DamageType.Magical);

            if (target.Check(E.Range + 300f))
            {
                if (Menu.GetBool("ComboDot") && Ignite != SpellSlot.Unknown && Ignite.IsReady() &&
                    target.IsValidTarget(600) &&
                    (target.Health < DamageCalculate.GetComboDamage(target) ||
                     target.Health < Me.GetSummonerSpellDamage(target, Damage.SummonerSpell.Ignite)))
                {
                    Me.Spellbook.CastSpell(Ignite, target);
                }

                switch (Menu.GetList("ComboMode"))
                {
                case 0:
                    SpellManager.QEWLogic(Menu.GetBool("ComboQ"), Menu.GetBool("ComboW"), Menu.GetBool("ComboE"));
                    break;

                case 1:
                    SpellManager.EQWLogic(Menu.GetBool("ComboQ"), Menu.GetBool("ComboW"), Menu.GetBool("ComboE"));
                    break;
                }

                if (Menu.GetBool("ComboW") && W.IsReady() && target.IsValidTarget(W.Range))
                {
                    W.Cast();
                }

                if (Menu.GetBool("ComboR") && R.IsReady() &&
                    HeroManager.Enemies.Any(x => x.DistanceToPlayer() <= R.Range) && !Q.IsReady() && !W.IsReady() &&
                    !E.IsReady())
                {
                    Orbwalker.SetAttack(false);
                    Orbwalker.SetMovement(false);
                    R.Cast();
                }
            }
        }
Exemplo n.º 16
0
        internal static void Init()
        {
            if (ManaManager.HasEnoughMana(Menu.GetSlider("LastHitMana")))
            {
                if (Menu.GetBool("LastHitQ") && Q.IsReady())
                {
                    var qMinions =
                        MinionManager.GetMinions(Me.Position, Q.Range)
                        .FirstOrDefault(
                            x => x.Health > Me.GetAutoAttackDamage(x) && x.Health < DamageCalculate.GetQDamage(x));

                    if (qMinions != null && qMinions.IsValidTarget(Q.Range))
                    {
                        Q.CastOnUnit(qMinions, true);
                    }
                }
            }
        }
Exemplo n.º 17
0
        internal static void Init()
        {
            if (SpellManager.isCastingUlt)
            {
                return;
            }

            if (Menu.GetBool("LastHitQ") && Q.IsReady())
            {
                var qMinion =
                    MinionManager.GetMinions(Me.Position, Q.Range)
                    .FirstOrDefault(x => x.Health < DamageCalculate.GetQDamage(x));

                if (qMinion != null && qMinion.IsValidTarget(Q.Range))
                {
                    Q.CastOnUnit(qMinion, true);
                }
            }
        }
Exemplo n.º 18
0
 //攻撃を受けたとき
 public void ReceiveAttack(DamageCalculate d)
 {
     if (d.SendBuff1 != null)
     {
         if (AwakeBuff_HP.Contains(d.SendBuff1) == false)
         {
             AwakeBuff_HP.Add(d.SendBuff1);
         }
     }
     if (d.SendBuff2 != null)
     {
         if (AwakeBuff_N.Contains(d.SendBuff2) == false)
         {
             AwakeBuff_N.Add(d.SendBuff2);
             //Debug.Log("www");
         }
     }
     //OnDefeated();//イベント送信
     _parameter.HP = _parameter.HP - (d.ATKPOWER - (_parameter.DEF + (int)BuffMathFunc(Buff_Others.Kind.DEF)));
 }
Exemplo n.º 19
0
        internal static void Init()
        {
            if (SpellManager.isCastingUlt || !ManaManager.SpellFarm)
            {
                return;
            }

            if (Menu.GetBool("LaneClearQ") && Q.IsReady())
            {
                if (Menu.GetBool("LaneClearQLH"))
                {
                    var qMinion =
                        MinionManager.GetMinions(Me.Position, Q.Range)
                        .FirstOrDefault(x => x.Health < DamageCalculate.GetQDamage(x));

                    if (qMinion != null && qMinion.IsValidTarget(Q.Range))
                    {
                        Q.CastOnUnit(qMinion, true);
                    }
                }
                else
                {
                    var qMinions = MinionManager.GetMinions(Me.Position, Q.Range);

                    if (qMinions.Count >= 2)
                    {
                        Q.CastOnUnit(qMinions.FirstOrDefault(), true);
                    }
                }
            }

            if (Menu.GetBool("LaneClearW") && W.IsReady())
            {
                var wMinions = MinionManager.GetMinions(Me.Position, W.Range);

                if (wMinions.Count >= Menu.GetSlider("LaneClearWCount"))
                {
                    W.Cast();
                }
            }
        }
Exemplo n.º 20
0
        internal static void Init()
        {
            foreach (var target in HeroManager.Enemies.Where(x => x.IsValidTarget(R.Range)))
            {
                if (target.Check(R.Range + E.Range - 100))
                {
                    if (W.IsReady() && Menu.GetBool("KillStealW") && target.IsValidTarget(W.Range) &&
                        target.Health < DamageCalculate.GetWDamage(target))
                    {
                        W.Cast(true);
                    }

                    if (R.IsReady() && Menu.GetBool("KillStealR") && R.Instance.Name == "RivenIzunaBlade" &&
                        DamageCalculate.GetRDamage(target) > target.Health + target.HPRegenRate)
                    {
                        if (E.IsReady() && Menu.GetBool("KillStealE"))
                        {
                            if (Me.ServerPosition.CountEnemiesInRange(R.Range + E.Range) < 3 &&
                                Me.HealthPercent > 50 && target.IsValidTarget(R.Range + E.Range - 100))
                            {
                                if (E.IsReady())
                                {
                                    E.Cast(target.Position, true);
                                    LeagueSharp.Common.Utility.DelayAction.Add(100,
                                                                               () => R.CastIfHitchanceEquals(target, HitChance.High, true));
                                }
                            }
                        }
                        else
                        {
                            if (target.IsValidTarget(R.Range - 50))
                            {
                                R.CastIfHitchanceEquals(target, HitChance.High, true);
                            }
                        }
                    }
                }
            }
        }
Exemplo n.º 21
0
        internal static void Init()
        {
            if (Menu.GetBool("KillStealR") && R.IsReady())
            {
                if (Menu.GetBool("KillStealRNotCombo") && Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Combo)
                {
                    return;
                }

                foreach (
                    var target in
                    HeroManager.Enemies.Where(
                        x =>
                        x.DistanceToPlayer() <= R.Range && x.Health <= DamageCalculate.GetRDamage(x) &&
                        !x.HasBuff("willrevive")))
                {
                    if (target.DistanceToPlayer() <= R.Range && !target.IsDead && Me.CanMoveMent())
                    {
                        R.CastOnUnit(target, true);
                    }
                }
            }

            if (Menu.GetBool("KillStealQ") && Q.IsReady())
            {
                foreach (
                    var target in
                    HeroManager.Enemies.Where(
                        x => x.DistanceToPlayer() <= Q.Range && x.Health <= DamageCalculate.GetQDamage(x)))
                {
                    if (target.IsValidTarget(Q.Range) && !target.IsDead && Me.CanMoveMent())
                    {
                        Q.Cast(true);
                        return;
                    }
                }
            }
        }
Exemplo n.º 22
0
        internal static bool R2Logic(AIHeroClient target)
        {
            if (!target.IsValidRange() || R.Name == "RivenFengShuiEngine" || MenuInit.ComboR2 == 3)
            {
                return(false);
            }

            switch (MenuInit.ComboR2)
            {
            case 0:
                if (target.HealthPercent < 20 ||
                    (target.Health > DamageCalculate.GetRDamage(target) + Player.Instance.GetAutoAttackDamage(target) * 2 &&
                     target.HealthPercent < 40) ||
                    (target.Health <= DamageCalculate.GetRDamage(target)) ||
                    (target.Health <= DamageCalculate.GetComboDamage(target)))
                {
                    return(R1.Cast(target.Position));
                }
                break;

            case 1:
                if (DamageCalculate.GetRDamage(target) > target.Health && target.DistanceToPlayer() < 600)
                {
                    return(R1.Cast(target.Position));
                }
                break;

            case 2:
                if (target.DistanceToPlayer() < 600)
                {
                    return(R1.Cast(target.Position));
                }
                break;
            }

            return(false);
        }
Exemplo n.º 23
0
        internal static bool CanQHit(Obj_AI_Hero target)
        {
            if (target == null)
            {
                return(false);
            }

            if (target.DistanceToPlayer() > Q.Range)
            {
                return(false);
            }

            if (target.DistanceToPlayer() <= 240)
            {
                return(false);
            }

            if (target.Health < DamageCalculate.GetRDamage(target) && R.IsReady() && target.IsValidTarget(R.Range))
            {
                return(false);
            }

            return(true);
        }
Exemplo n.º 24
0
        internal static void Init()
        {
            CanShield = ((Menu.GetList("ComboMode") == 0 && Me.HealthPercent <= Menu.GetSlider("ComboShieldHP")) ||
                         Menu.GetList("ComboMode") == 1) && Q.Level > 0 && W.Level > 0 && E.Level > 0;

            var target = TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Magical);

            if (target.Check(Q.Range))
            {
                if (Menu.GetBool("ComboIgnite") && Ignite != SpellSlot.Unknown && Ignite.IsReady() &&
                    target.IsValidTarget(600) &&
                    (target.Health < DamageCalculate.GetComboDamage(target) ||
                     target.Health < Me.GetSummonerSpellDamage(target, Damage.SummonerSpell.Ignite)))
                {
                    Me.Spellbook.CastSpell(Ignite, target);
                }

                if (Utils.TickCount - LastCastTime > 500)
                {
                    switch (Menu.GetList("ComboMode"))
                    {
                    case 0:
                        NormalCombo(target, Menu.GetBool("ComboQ"), Menu.GetBool("ComboW"), Menu.GetBool("ComboE"));
                        break;

                    case 1:
                        ShieldCombo(target, Menu.GetBool("ComboQ"), Menu.GetBool("ComboW"), Menu.GetBool("ComboE"));
                        break;

                    default:
                        BurstCombo(target, Menu.GetBool("ComboQ"), Menu.GetBool("ComboW"), Menu.GetBool("ComboE"));
                        break;
                    }
                }
            }
        }
Exemplo n.º 25
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);
                    }
                }
            }
        }
Exemplo n.º 26
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);
                }
            }
        }
Exemplo n.º 27
0
        private void Combo()
        {
            var target = TargetSelector.GetSelectedTarget() ??
                         TargetSelector.GetTarget(QExtend.Range, TargetSelector.DamageType.Physical);

            if (target.Check(QExtend.Range))
            {
                if (Menu.GetBool("ComboR") && R.IsReady() && target.IsValidTarget(R.Range))
                {
                    if (Menu.GetBool("RSafe") && !Me.UnderTurret(true))
                    {
                        foreach (
                            var rTarget in
                            HeroManager.Enemies.Where(
                                x =>
                                x.IsValidTarget(R.Range) &&
                                !Menu.GetBool("Dontr" + target.ChampionName.ToLower()))
                            .OrderByDescending(x => E.IsReady() ? E.GetDamage(x) : 0 + Q.GetDamage(x) * 2))
                        {
                            if (rTarget.CountEnemiesInRange(R.Range) <= Menu.GetSlider("RSwap"))
                            {
                                if (Menu.GetBool("RAlly") && Me.UnderAllyTurret() && rTarget.DistanceToPlayer() <= 350)
                                {
                                    R.CastOnUnit(rTarget);
                                }

                                if (Menu.GetBool("RKill") && target.Health < DamageCalculate.GetComboDamage(target))
                                {
                                    R.CastOnUnit(rTarget);
                                }
                            }
                        }
                    }
                }

                if (Menu.GetBool("ComboE") && E.IsReady() && target.IsValidTarget(E.Range) &&
                    (Q.IsReady() || target.Health < E.GetDamage(target)))
                {
                    SpellManager.PredCast(E, target, true);
                }

                if (Menu.GetBool("ComboW") && W.IsReady())
                {
                    if (target.DistanceToPlayer() <= Orbwalking.GetRealAutoAttackRange(Me))
                    {
                        if (Menu.GetBool("ComboWAlways"))
                        {
                            W.Cast();
                        }

                        if (Me.HealthPercent <= Menu.GetSlider("ComboWLowHp"))
                        {
                            W.Cast();
                        }
                    }

                    if (Menu.GetBool("ComboWBuff") && HaveEBuff(target) && Q.IsReady())
                    {
                        W.Cast();
                    }
                }

                if (Menu.GetBool("ComboQ") && Q.IsReady() && target.IsValidTarget(QExtend.Range))
                {
                    if (!HaveEBuff(target) && target.IsValidTarget(Q.Range))
                    {
                        if (Menu.GetBool("ComboFirstE") && E.IsReady() && Menu.GetBool("ComboE") && target.IsValidTarget(E.Range))
                        {
                            SpellManager.PredCast(E, target, true);
                        }
                        else
                        {
                            SpellManager.PredCast(Q, target);
                        }
                    }
                    else if (target.IsValidTarget(QExtend.Range) && HaveEBuff(target))
                    {
                        QExtend.Cast(target);
                    }
                }
            }
        }
Exemplo n.º 28
0
        internal static void Init()
        {
            AIHeroClient target = null;

            target = TargetSelector.GetSelectedTarget() ??
                     TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Magical);

            if (target.Check(Q.Range))
            {
                if (Menu.GetBool("ComboDot") && Ignite != SpellSlot.Unknown && Ignite.IsReady() &&
                    target.IsValidTarget(600) &&
                    (target.Health < DamageCalculate.GetComboDamage(target) ||
                     target.Health < Me.GetSummonerSpellDamage(target, Damage.SummonerSpell.Ignite)))
                {
                    Me.Spellbook.CastSpell(Ignite, target);
                }

                if (Me.Level < 6)
                {
                    if (Menu.GetBool("ComboQ") && Q.IsReady() && target.IsValidTarget(Q.Range))
                    {
                        var qPred = Q.GetPrediction(target, true);

                        if (qPred.Hitchance >= HitChance.VeryHigh)
                        {
                            Q.Cast(qPred.CastPosition, true);
                        }
                    }

                    if (Menu.GetBool("ComboW") && W.IsReady() && target.IsValidTarget(W.Range))
                    {
                        W.Cast(true);
                    }

                    if (Menu.GetBool("ComboE") && E.IsReady() &&
                        target.DistanceToPlayer() > Orbwalking.GetRealAutoAttackRange(Me) + 50 &&
                        target.IsValidTarget(E.Range - 30) && !target.HasBuffOfType(BuffType.SpellShield))
                    {
                        E.Cast(true);
                    }
                }
                else
                {
                    switch (Menu.GetList("ComboMode"))
                    {
                    case 0:
                        if (Menu.GetBool("ComboR") && R.IsReady() &&
                            Menu.GetBool("ComboQ") && Q.IsReady() &&
                            target.IsValidTarget(R.Range) && target.DistanceToPlayer() >= 600)
                        {
                            Q.Cast(target, true);
                            R.Cast(target, true);
                        }

                        if (Menu.GetBool("ComboQ") && Q.IsReady() && target.IsValidTarget(Q.Range))
                        {
                            var qPred = Q.GetPrediction(target, true);

                            if (qPred.Hitchance >= HitChance.VeryHigh)
                            {
                                Q.Cast(qPred.CastPosition, true);
                            }
                        }

                        if (Menu.GetBool("ComboR") && R.IsReady() && target.IsValidTarget(R.Range))
                        {
                            LogicCast(target);
                        }

                        if (Menu.GetBool("ComboW") && W.IsReady() && target.IsValidTarget(W.Range))
                        {
                            W.Cast(true);
                        }

                        if (Menu.GetBool("ComboE") && E.IsReady() &&
                            target.DistanceToPlayer() > Orbwalking.GetRealAutoAttackRange(Me) + 50 &&
                            target.IsValidTarget(E.Range - 30) && !target.HasBuffOfType(BuffType.SpellShield))
                        {
                            E.Cast(true);
                        }
                        break;

                    case 1:
                        if (target.IsValidTarget(R.Range))
                        {
                            if (Menu.GetBool("ComboR") && R.IsReady() &&
                                Menu.GetBool("ComboQ") && Q.IsReady() && target.IsValidTarget(R.Range) &&
                                target.DistanceToPlayer() >= Menu.GetSlider("MisayaRange"))
                            {
                                R.Cast(target, true);
                                Q.Cast(target, true);
                            }

                            if (Menu.GetBool("ComboQ") && Q.IsReady() && target.IsValidTarget(Q.Range))
                            {
                                var qPred = Q.GetPrediction(target, true);

                                if (qPred.Hitchance >= HitChance.VeryHigh)
                                {
                                    Q.Cast(qPred.CastPosition, true);
                                }
                            }

                            if (Menu.GetBool("ComboR") && R.IsReady() && target.IsValidTarget(R.Range))
                            {
                                LogicCast(target);
                            }

                            if (Menu.GetBool("ComboW") && W.IsReady() && target.IsValidTarget(W.Range))
                            {
                                W.Cast(true);
                            }

                            if (Menu.GetBool("ComboE") && E.IsReady() &&
                                target.DistanceToPlayer() > Orbwalking.GetRealAutoAttackRange(Me) + 50 &&
                                target.IsValidTarget(E.Range - 30) && !target.HasBuffOfType(BuffType.SpellShield))
                            {
                                E.Cast(true);
                            }
                        }
                        break;
                    }
                }
            }
        }
Exemplo n.º 29
0
        private static void KillSteal()
        {
            if (MenuInit.KillStealQ && Q.IsReady() && PlayerMana > QMana + EMana)
            {
                foreach (var target in EntityManager.Heroes.Enemies
                         .Where(x => x.IsValidTarget(QExtend.Range) && !x.IsUnKillable() && x.Health < DamageCalculate.GetQDamage(x)))
                {
                    QLogic(target);
                    return;
                }
            }

            if (MenuInit.KillStealW && W.IsReady() && PlayerMana > WMana + QMana + EMana)
            {
                foreach (var target in EntityManager.Heroes.Enemies
                         .Where(x => x.IsValidTarget(W.Range) && !x.IsUnKillable() && x.Health < DamageCalculate.GetWDamage(x)))
                {
                    if (target.IsValidTarget(W.Range))
                    {
                        W.PredCast(target, false);
                        return;
                    }
                }
            }
        }
Exemplo n.º 30
0
        internal static bool CanCastE(Vector3 pos, AIHeroClient target)
        {
            if (pos == Vector3.Zero || target == null || target.IsDead)
            {
                return(false);
            }

            if (Menu.GetList("Eturret") == 0 && pos.UnderTurret(true))
            {
                return(false);
            }

            if (Menu.GetList("Eturret") == 1 && pos.UnderTurret(true))
            {
                if (Me.HealthPercent <= Menu.GetSlider("EturretHP") &&
                    target.Health > DamageCalculate.GetComboDamage(target) * 0.85)
                {
                    return(false);
                }
            }

            if (Menu.GetBool("LogicE"))
            {
                if (HeroManager.Enemies.Count(x => x.Distance(pos) <= R.Range) >= 3)
                {
                    if (HeroManager.Enemies.Count(x => x.Distance(pos) <= R.Range) == 3)
                    {
                        if (HeroManager.Enemies.Count(x => x.Health < DamageCalculate.GetComboDamage(target) * 1.45) <= 2)
                        {
                            return(false);
                        }
                    }
                    else if (HeroManager.Enemies.Count(x => x.Distance(pos) <= R.Range) == 4)
                    {
                        if (HeroManager.Enemies.Count(x => x.Health < DamageCalculate.GetComboDamage(target) * 1.45) < 2)
                        {
                            return(false);
                        }
                    }
                    else if (HeroManager.Enemies.Count(x => x.Distance(pos) <= R.Range) == 5)
                    {
                        if (HeroManager.Enemies.Count(x => x.Health < DamageCalculate.GetComboDamage(target) * 1.45) < 3)
                        {
                            return(false);
                        }
                    }
                }
                else
                {
                    if (Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Combo)
                    {
                        if (target.Health >
                            (HeroManager.Allies.Any(x => x.DistanceToPlayer() <= E.Range)
                                ? DamageCalculate.GetComboDamage(target) + Me.Level * 45
                                : DamageCalculate.GetComboDamage(target)))
                        {
                            return(false);
                        }
                    }
                    else if (Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Mixed)
                    {
                        if (pos.UnderTurret(true))
                        {
                            return(false);
                        }
                    }
                }
            }

            return(true);
        }