Пример #1
0
        static void JungleClear_Human()
        {
            var Jungle_Q = Config.Item("Jungle.Q").GetValue <bool>();
            var Jungle_W = Config.Item("Jungle.W").GetValue <bool>();
            var Jungle_R = Config.Item("Jungle.R").GetValue <bool>();

            var QLocation = MinionManager.GetMinions(Q.Range, MinionTypes.All, MinionTeam.Neutral).Where(m => !m.IsDead && m.Distance(ObjectManager.Player.Position) < W2.Range).ToList();

            var Qminion = MinionManager.GetMinions(Q.Range, MinionTypes.All, MinionTeam.Neutral).Where(m => !m.IsDead && m.Distance(ObjectManager.Player.Position) < W2.Range).OrderBy(m => m.MaxHealth).LastOrDefault();

            if (Qminion == null)
            {
                return;
            }

            if (Q.IsReady() && Jungle_Q)
            {
                Q.Cast(Qminion);
            }

            if (W.IsReady() && Jungle_W && Qminion.HealthPercent > 35 && !Qminion.IsMoving)
            {
                W.Cast(Qminion);
            }

            if (ObjectManager.Player.HealthPercent < 85 && E.IsReady())
            {
                E.Cast(ObjectManager.Player);
            }

            if (ObjectManager.Player.HealthPercent < 85 && E.IsReady())
            {
                return;
            }

            if (R.IsReady() && R_Manager.IsHunted(Qminion) && !Q.IsReady())
            {
                R.Cast();
            }

            if (R.IsReady() && !R_Manager.IsHunted(Qminion) && !Q.IsReady())
            {
                R.Cast();
            }

            var killableminions = ObjectManager.Get <Obj_AI_Minion>().Where(m => m.Health < 1);

            killableminions.FirstOrDefault();
            var closestminion = ObjectManager.Get <Obj_AI_Minion>().OrderBy(m => m.Distance(ObjectManager.Player.Position)).FirstOrDefault();
        }
Пример #2
0
        public static double Cougar_Q_Damage(Obj_AI_Base target)
        {
            if (Mighty.Q.Level == 0)
            {
                return(0);
            }

            var dmg = ObjectManager.Player.CalcDamage(target, Damage.DamageType.Magical,
                                                      new[] { 4, 20, 50, 90 }[Mighty.R.Level - 1] +(float)(0.36 * ObjectManager.Player.FlatMagicDamageMod)
                                                      + (float)(0.75 * (ObjectManager.Player.BaseAttackDamage + ObjectManager.Player.FlatPhysicalDamageMod)))
                      * ((target.MaxHealth - target.Health) / target.MaxHealth * 1.5 + 1);

            if (R_Manager.IsHunted(target))
            {
                dmg += dmg * 0.33;
            }

            return(dmg);
        }
Пример #3
0
        static void Combo_Cougar()
        {
            //Main Target Selector, Use Spell with Highest Range for Range.
            var target = TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Magical);

            if (target == null || !target.IsValid)
            {
                return;                                    //Important! Without checking if target is null it will spamm console errors.
            }
            var combo_Q = Config.Item("combat.Q2").GetValue <bool>();
            var combo_W = Config.Item("combat.W2").GetValue <bool>();
            var combo_E = Config.Item("combat.E2").GetValue <bool>();
            var combo_R = Config.Item("combat.R2").GetValue <bool>();

            if (Q2.IsReady() && target.IsValidTarget(ObjectManager.Player.AttackRange + 50) && combo_Q && !W.IsReady() && !E.IsReady())
            {
                if (W.IsReady() && target.IsValidTarget(W2.Range / 2) && ObjectManager.Player.Distance(target) > 70 && Damages.Cougar_W_Damage(target) > target.Health && combo_W)
                {
                    return;
                }
                if (E.IsReady() && target.IsValidTarget(E2.Range - 25) && combo_E && target.Health < Damages.Cougar_E_Damage(target))
                {
                    return;
                }

                if (Q2.IsReady() && target.Health < Damages.Cougar_Q_Damage(target))
                {
                    Q2.Cast();
                    Printconsole("Casted Takedown! - Reason: Targets gonna die yo");
                }
                if (Q2.IsReady() && !W.IsReady() && !E.IsReady())
                {
                    Q2.Cast();
                    Printconsole("Casted Takedown! - Reason: No Spells CD's left");
                }
            }


            if (target.IsValidTarget(W2.Range) && combo_W)
            {
                if (Q2.IsReady() && target.Health < Damages.Cougar_Q_Damage(target) && target.IsValidTarget(ObjectManager.Player.AttackRange))
                {
                    return;
                }
                if (R_Manager.IsHunted(target) && target.IsValidTarget(W2.Range))
                {
                    W2.Cast(target);
                    Printconsole("Casted Pounce! - Reason: Target is Hunted and in Pounce [W] Range");
                }
                if (target.IsValidTarget(W2.Range / 2) && !R_Manager.IsHunted(target) && ObjectManager.Player.Distance(target) > 150)
                {
                    W2.Cast(target);
                    Printconsole("Casted Pounce! - Reason: in Pounce [W] Range");
                }
                if (target.Health > Damages.Cougar_W_Damage(target) &&
                    target.Health < Damages.Cougar_W_Damage(target) + Damages.Cougar_Q_Damage(target) &&
                    R_Manager.IsHunted(target) && Q.IsReady() && W.IsReady() && combo_Q && combo_W && ObjectManager.Player.Distance(target) > 150)
                {
                    W2.Cast(target);
                    Printconsole("Casted Pounce! - Reason: in Pounce [W+Q Combo]");
                }
            }

            if (E2.IsReady() && target.IsValidTarget(E2.Range - 25) && combo_E)
            {
                if (E2.IsReady() && !W.IsReady())
                {
                    E2.Cast(target);
                    Printconsole("Casted Swipe! - Reason: Target is Valid and in [E] Range");
                }
                if (target.Health >
                    Damages.Cougar_E_Damage(target) && target.Health < Damages.Cougar_E_Damage(target) + Damages.Cougar_Q_Damage(target) &&
                    Q.IsReady() && E.IsReady() && combo_Q && combo_E)
                {
                    E2.Cast(target);
                    Printconsole("Casted Swipe! Reason: [E/Q] Combo");
                }
            }

            if (R.IsReady() && target.IsValidTarget(R.Range) && combo_R)
            {
                var qprediction = Q.GetPrediction(target);
                if (R_Manager.QhumanReady && qprediction.Hitchance >= QPrediction())
                {
                    if (W.IsReady() && R_Manager.IsHunted(target) && target.IsValidTarget(W2.Range) ||
                        Q.IsReady() && ObjectManager.Player.HasBuff("Takedown") && target.IsValidTarget(ObjectManager.Player.AttackRange + 20) ||
                        E2.IsReady() && target.Health < Damages.Cougar_E_Damage(target) && target.IsValidTarget(E2.Range - 25))
                    {
                        return;
                    }
                    R.Cast();
                    Printconsole("Switched to Human Form! - Reason: Q is Ready && Prediction equals hitchance");

                    if (!W.IsReady() && !Q.IsReady() && !E.IsReady() && ObjectManager.Player.HealthPercent < 35)
                    {
                        R.Cast();
                    }
                }
            }
        }
Пример #4
0
        //Main Combo Logic
        static void Combo_Human()
        {
            //Main Target Selector, Use Spell with Highest Range for Range.
            var target = TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Magical);

            if (target == null || !target.IsValid)
            {
                return;                                    //Important! Without checking if target is null it will spamm console errors.
            }
            var combo_Q = Config.Item("combat.Q").GetValue <bool>();
            var combo_W = Config.Item("combat.W").GetValue <bool>();
            var combo_E = Config.Item("combat.E").GetValue <bool>();
            var combo_R = Config.Item("combat.R").GetValue <bool>();

            if (Q.IsReady() && target.IsValidTarget(Q.Range) && combo_Q)
            {
                var qprediction = Q.GetPrediction(target);
                if (Q.IsReady() && qprediction.Hitchance >= QPrediction())
                {
                    Q.Cast(target);
                    Printconsole("Human [Q] Casted! Reason: Prediction equals Hitchance");
                }
            }

            if (E.IsReady() && target.IsValidTarget(E.Range) && combo_E)
            {
                if (ObjectManager.Player.HealthPercent < 50)
                {
                    E.Cast(ObjectManager.Player);
                }
            }

            if (R.IsReady() && target.IsValidTarget(W2.Range) && combo_R)
            {
                var qpred = Q.GetPrediction(target);

                if (ObjectManager.Player.HealthPercent < 90 && E.IsReady())
                {
                    E.Cast(ObjectManager.Player);
                }

                if (ObjectManager.Player.HealthPercent < 90 && E.IsReady())
                {
                    return;
                }

                if (R_Manager.IsHunted(target) && target.IsValidTarget(W2.Range) && W.Level >= 1)
                {
                    R.Cast();
                    Printconsole("Switched to Cougar, Reason: W! - HUNTED");
                }
                if (!R_Manager.IsHunted(target) && R_Manager.WcougarReady && target.IsValidTarget(W2.Range / 2 + target.BoundingRadius) && !Q.IsReady() && W.Level >= 1)
                {
                    R.Cast();
                    Printconsole("Switched to Cougar, Reason: W! - Q AINT READY");
                }
                if (!R_Manager.IsHunted(target) && R_Manager.WcougarReady && target.IsValidTarget(W2.Range / 2 + target.BoundingRadius) && W.Level >= 1)
                {
                    R.Cast();
                    Printconsole("Switched to Cougar, Reason: W! - Q CAN'T HIT");
                }
                if (W.Level < 1 && ObjectManager.Player.Distance(target.Position) < 150 && !Q.IsReady())
                {
                    R.Cast();
                }
            }
        }
Пример #5
0
        static void JungleClear_Cougar()
        {
            var jungle_Q2 = Config.Item("Jungle.Q2").GetValue <bool>();
            var jungle_W2 = Config.Item("Jungle.W2").GetValue <bool>();
            var jungle_E2 = Config.Item("Jungle.E2").GetValue <bool>();
            var Jungle_R  = Config.Item("Jungle.R").GetValue <bool>();

            var Qminion = MinionManager.GetMinions(Q.Range, MinionTypes.All, MinionTeam.Neutral).Where(m => !m.IsDead && m.Distance(ObjectManager.Player.Position) < W2.Range).OrderBy(m => m.MaxHealth).LastOrDefault();

            var Minions = MinionManager.GetMinions(Q.Range, MinionTypes.All, MinionTeam.Neutral).Where(m => !m.IsDead);

            var GetKillableMinions = MinionManager.GetMinions(Q.Range, MinionTypes.All, MinionTeam.Neutral).Where(m => !m.IsDead && m != null && m.Distance(ObjectManager.Player.Position) < ObjectManager.Player.AttackRange + m.BoundingRadius && m.Health < ObjectManager.Player.GetAutoAttackDamage(m));

            if (Q2.IsReady() && jungle_Q2)
            {
                foreach (var min in Minions.Where(m => m.Distance(ObjectManager.Player.Position) <= ObjectManager.Player.AttackRange + m.BoundingRadius && m != null))
                {
                    if (min == null)
                    {
                        return;
                    }
                    if (min.Health < Damages.Cougar_Q_Damage(min) && min.Health > ObjectManager.Player.GetAutoAttackDamage(min))
                    {
                        Q2.Cast();
                        EloBuddy.Player.IssueOrder(GameObjectOrder.AttackUnit, min);
                    }
                    if (!W.IsReady() && !E.IsReady())
                    {
                        Q2.Cast();
                        EloBuddy.Player.IssueOrder(GameObjectOrder.AttackUnit, min);
                    }
                }
            }
            if (W2.IsReady() && jungle_W2)
            {
                if (Qminion.IsValidTarget(W2.Range / 2))
                {
                    W2.Cast(Qminion);
                }

                if (R_Manager.IsHunted(Qminion) && Qminion.IsValidTarget(W2.Range))
                {
                    W2.Cast(Qminion);
                }
            }

            if (E2.IsReady() && jungle_E2)
            {
                if (E2.IsReady() && Qminion.IsValidTarget(E2.Range))
                {
                    E2.Cast(Qminion);
                }
            }

            if (R.IsReady() && Jungle_R)
            {
                if (W2.IsReady() && Qminion.IsValidTarget(W2.Range / 2) ||
                    E2.IsReady() && Qminion.IsValidTarget(E2.Range) ||
                    Q.IsReady() && Qminion.IsValidTarget(ObjectManager.Player.AttackRange) ||
                    R_Manager.IsHunted(Qminion) && Qminion.IsValidTarget(W2.Range) && W.IsReady())
                {
                    return;
                }

                var qpred = Q.GetPrediction(Qminion);

                if (R_Manager.QhumanReady && Qminion.IsValidTarget(Q.Range))
                {
                    R.Cast();
                }
            }
        }