コード例 #1
0
ファイル: Combo.cs プロジェクト: 568123745/CN-1
        internal static void SemiHarass()
        {
            var minionList = new[]
            {
                "SRU_Razorbeak", "SRU_Krug", "Sru_Crab", "SRU_Baron", "SRU_Dragon",
                "SRU_Blue", "SRU_Red", "SRU_Murkwolf", "SRU_Gromp"
            };

            if (Base.CanQ && Environment.TickCount - Base.LastAA >= 150 && Base.GetBool("semiq"))
            {
                if (Base.Q.IsReady() && Environment.TickCount - Base.LastAA < 1200)
                {
                    if (Base.LastTarget.IsValidTarget(Base.Q.Range + 100) && Base.LastTarget.IsValid <Obj_AI_Hero>())
                    {
                        Base.Q.Cast(Base.LastTarget.ServerPosition);
                    }

                    if (Base.LastTarget.IsValidTarget(Base.Q.Range + 100) && !Base.LastTarget.Name.Contains("Mini") &&
                        !Base.LastTarget.Name.StartsWith("Minion") && minionList.Any(name => Base.LastTarget.Name.StartsWith(name)))
                    {
                        Base.Q.Cast(Base.LastTarget.ServerPosition);
                    }

                    if (Base.LastTarget.IsValid <Obj_AI_Turret>() && Base.LastTarget.IsValidTarget(Base.Q.Range + 100))
                    {
                        Base.Q.Cast(Base.LastTarget.ServerPosition);
                    }
                }
            }
        }
コード例 #2
0
        internal static void CheckR(Obj_AI_Base target)
        {
            if (target.IsValidTarget(Base.R.Range + 100))
            {
                if (!Base.R.IsReady() || Base.UltOn || !Base.GetBool("user"))
                {
                    return;
                }

                if (Base.GetList("ultwhen") == 0)
                {
                    if (Base.ComboDamage >= target.Health)
                    {
                        if (Base.CleaveCount <= 1 && Base.Q.IsReady())
                        {
                            Base.R.Cast();
                        }
                    }
                }

                if (Base.GetList("ultwhen") == 1)
                {
                    if (Base.ComboDamage * 1.7 >= target.Health)
                    {
                        if (Base.CleaveCount <= 1 && Base.Q.IsReady())
                        {
                            Base.R.Cast();
                        }
                    }
                }

                if (Base.GetList("wsmode") == 1)
                {
                    var targetList
                        = ObjectManager.Get <Obj_AI_Hero>().Where(hero => hero.IsValidTarget(900));

                    var enemies = targetList as Obj_AI_Hero[] ?? targetList.ToArray();
                    if (enemies.Any(huro => Base.ComboDamage >= huro.Health))
                    {
                        if (Base.CleaveCount <= 1 && Base.Q.IsReady())
                        {
                            Base.R.Cast();
                        }
                    }

                    if (enemies.Count() >= 3 && Base.CleaveCount <= 1 && Base.Q.IsReady())
                    {
                        Base.R.Cast();
                    }
                }
            }
        }
コード例 #3
0
        internal static void OnBuffUpdate()
        {
            foreach (var b in Base.Me.Buffs)
            {
                if (b.Name == "RivenTriCleave")
                {
                    Base.CleaveCount = b.Count;
                }

                if (b.Name == "rivenpassiveaaboost")
                {
                    Base.PassiveCount = b.Count;
                }
            }

            if (Base.Me.HasBuff("RivenTriCleave", true) && Environment.TickCount - Base.LastQ >= 3600)
            {
                if (Base.GetBool("keepq") && !Base.Me.IsRecalling())
                {
                    Base.Q.Cast(Game.CursorPos);
                }
            }

            if (!Base.Me.HasBuff("rivenpassiveaaboost", true))
            {
                Utility.DelayAction.Add(1000, () => Base.PassiveCount = 1);
            }

            if (!Base.Me.HasBuff("RivenTriCleave", true))
            {
                Utility.DelayAction.Add(1000, () => Base.CleaveCount = 0);
            }

            // autow
            if (Base.GetBool("autow") && Base.Me.CountEnemiesInRange(Base.W.Range) >= Base.GetSlider("wmin"))
            {
                if (Base.Me.UnderTurret(true) && Base.W.IsReady() && Base.CanW)
                {
                    Base.W.Cast();
                }
            }
        }
コード例 #4
0
        internal static void Windslash()
        {
            // windslash
            if (Base.UltOn && Base.GetBool("usews") && Base.R.IsReady())
            {
                foreach (var target in ObjectManager.Get <Obj_AI_Hero>().Where(h => h.IsValidTarget(Base.R.Range + 100)))
                {
                    var de = Base.R.GetPrediction(target, true);
                    if (Base.GetList("wsmode") == 1)
                    {
                        if ((int)(GetDmg("R") / target.MaxHealth * 100) >= target.Health / target.MaxHealth * 100)
                        {
                            if (de.Hitchance >= HitChance.Low && Base.CanWS && Base.R.IsReady())
                            {
                                Base.R.Cast(de.CastPosition);
                            }
                        }

                        if (target.Health < GetDmg("R", true) + GetDmg("P", true) * 1 + GetDmg("Q", true) * 2 &&
                            target.Distance(Base.Me.ServerPosition) <= Base.TrueRange + 100)
                        {
                            if (de.Hitchance >= HitChance.Low && Base.CanWS && Base.R.IsReady())
                            {
                                Base.R.Cast(de.CastPosition);
                            }
                        }
                    }

                    if (GetDmg("R") >= Combo.Target.Health && Base.CanWS)
                    {
                        var po = Base.R.GetPrediction(target, true);
                        if (po.Hitchance >= HitChance.Low)
                        {
                            Base.R.Cast(po.CastPosition);
                        }
                    }
                }
            }
        }
コード例 #5
0
        internal static void OnDraw(EventArgs args)
        {
            var combo = Helpers.GetDmg("P") * 3 + Helpers.GetDmg("Q") * 3 + Helpers.GetDmg("W") +
                        Helpers.GetDmg("ITEMS") + Helpers.GetDmg("I") + Helpers.GetDmg("R");

            var comboult = Helpers.GetDmg("P", true) * 3 + Helpers.GetDmg("Q", true) * 3 + Helpers.GetDmg("W", true) +
                           Helpers.GetDmg("ITEMS", true) + Helpers.GetDmg("I") + Helpers.GetDmg("R");

            if (!Base.Me.IsDead)
            {
                if (Base.GetBool("drawengage"))
                {
                    Render.Circle.DrawCircle(Base.Me.Position,
                                             Base.Me.AttackRange + Base.E.Range + 10, Color.White, 3);
                }

                if (Combo.Target.IsValidTarget(900) && Base.GetBool("drawtarg"))
                {
                    Render.Circle.DrawCircle(
                        Combo.Target.Position, Combo.Target.BoundingRadius - 50, Color.DarkOrange, 6);
                }

                if (Base.GetBool("debugtrue"))
                {
                    Render.Circle.DrawCircle(Base.Me.Position, Base.TrueRange, Color.DarkOrange, 3);
                }
            }

            if (Base.GetBool("debugdmg") && Combo.Target.IsValidTarget(1000))
            {
                var wts = Drawing.WorldToScreen(Combo.Target.Position);

                if (!Base.R.IsReady())
                {
                    Drawing.DrawText(wts[0] - 75, wts[1] + 40, Color.DarkOrange,
                                     "Combo Damage: " + combo);
                }
                else
                {
                    Drawing.DrawText(wts[0] - 75, wts[1] + 40, Color.DarkOrange,
                                     "Combo Damage: " + comboult);
                }
            }

            if (Combo.Target.IsValidTarget(1000) && Base.GetBool("drawkill"))
            {
                var wts = Drawing.WorldToScreen(Combo.Target.Position);

                if (Base.CanBurst)
                {
                    Drawing.DrawText(wts[0] - 65, wts[1] + 20, Color.White, "Burst Combo Kill!");
                }

                else if ((Helpers.GetDmg("P") + Helpers.GetDmg("Q") * 2 + Helpers.GetDmg("W") + Helpers.GetDmg("I") +
                          Helpers.GetDmg("ITEMS")) > Combo.Target.Health)
                {
                    Drawing.DrawText(wts[0] - 20, wts[1] + 20, Color.White, "Kill!");
                }

                else if ((Helpers.GetDmg("P") * 2 + Helpers.GetDmg("Q") * 2 + Helpers.GetDmg("W") +
                          Helpers.GetDmg("ITEMS")) > Combo.Target.Health)
                {
                    Drawing.DrawText(wts[0] - 40, wts[1] + 20, Color.White, "Easy Kill!");
                }

                else if ((Helpers.GetDmg("P") * 3 + Helpers.GetDmg("Q") * 3 + Helpers.GetDmg("W") +
                          Helpers.GetDmg("I") + Helpers.GetDmg("R") + Helpers.GetDmg("ITEMS")) > Combo.Target.Health)
                {
                    Drawing.DrawText(wts[0] - 65, wts[1] + 20, Color.White,
                                     "Full Combo Kill!");
                }

                else if ((Helpers.GetDmg("P", true) * 3 + Helpers.GetDmg("Q", true) * 3 + Helpers.GetDmg("W", true) +
                          Helpers.GetDmg("R") + Helpers.GetDmg("I") + Helpers.GetDmg("ITEMS")) > Combo.Target.Health)
                {
                    Drawing.DrawText(wts[0] - 70, wts[1] + 20, Color.White,
                                     "Full Combo Hard Kill!");
                }

                else if ((Helpers.GetDmg("P", true) * 3 + Helpers.GetDmg("Q", true) * 3 + Helpers.GetDmg("ITEMS")) < Combo.Target.Health)
                {
                    Drawing.DrawText(wts[0] - 40, wts[1] + 20, Color.Red, "Cant Kill!");
                }
            }
        }
コード例 #6
0
        internal static void LaneFarm()
        {
            try
            {
                if (Base.Settings.Item("clearkey").GetValue <KeyBind>().Active)
                {
                    var minionList = new[]
                    {
                        "SRU_Razorbeak", "SRU_Krug", "Sru_Crab", "SRU_Baron", "SRU_Dragon",
                        "SRU_Blue", "SRU_Red", "SRU_Murkwolf", "SRU_Gromp"
                    };

                    var small =
                        ObjectManager.Get <Obj_AI_Minion>()
                        .FirstOrDefault(x => x.Name.Contains("Mini") && !x.Name.StartsWith("Minion") && x.IsValidTarget(700));

                    var big =
                        ObjectManager.Get <Obj_AI_Minion>()
                        .FirstOrDefault(
                            x =>
                            !x.Name.Contains("Mini") && !x.Name.StartsWith("Minion") &&
                            minionList.Any(name => x.Name.StartsWith(name)) && x.IsValidTarget(900));

                    var minion = big ?? small;
                    if (minion != null)
                    {
                        Base.OrbTo(minion);
                        if (minionList.Any(x => minion.Name.StartsWith(x) && !minion.Name.Contains("Mini")))
                        {
                            if (Base.GetBool("usejungleq") && Base.Q.IsReady() && Base.CanQ)
                            {
                                if (minion.Distance(Base.Me.ServerPosition, true) <= Math.Pow(Base.Q.Range + 30, 2))
                                {
                                    Base.Q.Cast(minion.ServerPosition);
                                }
                            }

                            if (Base.GetBool("usejunglew") && Base.W.IsReady() && Base.CanW)
                            {
                                if (minion.Distance(Base.Me.ServerPosition, true) <= Base.W.RangeSqr)
                                {
                                    Base.W.Cast();
                                }
                            }

                            if (Base.GetBool("usejunglee"))
                            {
                                if (minion.Distance(Base.Me.ServerPosition, true) > Math.Pow(Base.Me.AttackRange, 2) &&
                                    Base.E.IsReady() && Base.CanE)
                                {
                                    Base.E.Cast(Game.CursorPos);
                                }

                                else if (Base.Me.Health / Base.Me.MaxHealth * 100 <= Base.GetSlider("vhealth") &&
                                         Base.E.IsReady() && Base.CanE)
                                {
                                    Base.E.Cast(Game.CursorPos);
                                }
                            }
                        }
                    }

                    else
                    {
                        var newminion = ObjectManager.Get <Obj_AI_Minion>().First(x => x.IsValidTarget(600));
                        if (!Base.Me.ServerPosition.Extend(newminion.ServerPosition, Base.Q.Range).UnderTurret(true))
                        {
                            if (Base.GetBool("uselaneq") && Base.Q.IsReady() && Base.CanQ)
                            {
                                if (newminion.Distance(Base.Me.ServerPosition, true) <= Math.Pow(Base.Q.Range + 200, 2))
                                {
                                    Base.Q.Cast(newminion.ServerPosition);
                                }
                            }

                            var minions = ObjectManager.Get <Obj_AI_Minion>().Where(x => x.IsValidTarget(600));
                            if (minions.Count(
                                    m => m.IsEnemy && m.Distance(Base.Me.ServerPosition, true) <= Base.W.RangeSqr) >= 3)
                            {
                                if (Items.HasItem(3077) && Items.CanUseItem(3077))
                                {
                                    Items.UseItem(3077);
                                }
                                if (Items.HasItem(3074) && Items.CanUseItem(3074))
                                {
                                    Items.UseItem(3074);
                                }

                                if (Base.GetBool("uselanew") && Base.W.IsReady() && Base.CanW)
                                {
                                    Base.W.Cast();
                                }
                            }
                        }

                        if (Base.GetBool("uselanee"))
                        {
                            if (Base.E.IsReady() && Base.CanE &&
                                newminion.Distance(Base.Me.ServerPosition, true) > Math.Pow(Base.TrueRange + 30, 2))
                            {
                                Base.E.Cast(Game.CursorPos);
                            }
                        }
                    }
                }
            }

            catch (Exception e)
            {
                //Console.WriteLine("Minion died");
            }
        }
コード例 #7
0
        internal static void OnGameUpdate()
        {
            Target = TargetSelector.GetTarget(1200f, TargetSelector.DamageType.Physical);
            if (Target == null)
            {
                return;
            }

            // combo
            if (!Base.Settings.Item("combokey").GetValue <KeyBind>().Active)
            {
                return;
            }

            var ignote = Base.Me.GetSpellSlot("summonerdot");

            if (Base.Me.Spellbook.CanUseSpell(ignote) == SpellState.Ready)
            {
                if (Target.Distance(Base.Me.ServerPosition) <= 600 * 600 && Base.CleaveCount <= 1 &&
                    Base.Q.IsReady())
                {
                    var combo = Helpers.GetDmg("P") * 3 + Helpers.GetDmg("Q") * 3 + Helpers.GetDmg("W") +
                                Helpers.GetDmg("ITEMS") + Helpers.GetDmg("I") + Helpers.GetDmg("R");

                    if (Base.GetBool("useignote") && combo >= Target.Health)
                    {
                        Base.Me.Spellbook.CastSpell(ignote, Target);
                    }

                    else if (Base.GetBool("useignote") && Base.ComboDamage >= Target.Health && Base.R.IsReady())
                    {
                        Base.Me.Spellbook.CastSpell(ignote, Target);
                    }
                }
            }

            Base.OrbTo(Target);
            if (!Target.IsValidTarget(Base.R.Range * 2))
            {
                return;
            }

            // valor
            // engage if target is out of aa range
            if (Base.E.IsReady() && Base.CanE && Base.GetBool("usecomboe") &&
                (Target.Distance(Base.Me.ServerPosition, true) > Math.Pow(Base.TrueRange + 30, 2) ||
                 Base.Me.Health / Base.Me.MaxHealth * 100 <= Base.GetSlider("vhealth")))
            {
                // item handler
                if (Base.GetBool("useitems"))
                {
                    if (Items.HasItem(3142) && Items.CanUseItem(3142))
                    {
                        Items.UseItem(3142);
                    }
                    if (Items.HasItem(3144) && Items.CanUseItem(3144))
                    {
                        Items.UseItem(3144, Target);
                    }
                    if (Items.HasItem(3153) && Items.CanUseItem(3153))
                    {
                        Items.UseItem(3153, Target);
                    }
                }

                if (Base.GetBool("usecomboe"))
                {
                    Base.E.Cast(Target.ServerPosition);
                }

                // after dash event
                if (Base.GetList("engage") == 1)
                {
                    if (Base.CanHD && Base.HasHD)
                    {
                        if (Base.W.IsReady() && !Base.CanBurst)
                        {
                            Items.UseItem(3077);
                            Items.UseItem(3074);
                            Utility.DelayAction.Add(
                                100, () => Helpers.CheckR(Target));
                        }

                        // used hydra or dont own
                        else
                        {
                            Helpers.CheckR(Target);
                        }
                    }
                }

                else
                {
                    Helpers.CheckR(Target);
                }
            }

            // kiburst
            // use w if in range
            else if (Base.W.IsReady() && Base.CanW && Base.GetBool("usecombow") &&
                     Target.Distance(Base.Me.ServerPosition, true) <= Math.Pow(Base.W.Range + 25, 2))
            {
                // item handler
                if (Base.GetBool("useitems"))
                {
                    if (Items.HasItem(3142) && Items.CanUseItem(3142))
                    {
                        Items.UseItem(3142);
                    }

                    if (Target.Distance(Base.Me.ServerPosition, true) <= 450 * 450)
                    {
                        if (Items.HasItem(3144) && Items.CanUseItem(3144))
                        {
                            Items.UseItem(3144, Target);
                        }
                        if (Items.HasItem(3153) && Items.CanUseItem(3153))
                        {
                            Items.UseItem(3153, Target);
                        }
                    }
                }

                if (Base.GetList("engage") == 0)
                {
                    Helpers.CheckR(Target);

                    if (Base.GetBool("usecombow"))
                    {
                        Base.W.Cast();
                    }

                    // hydra after
                    if (Base.CanHD && Base.HasHD)
                    {
                        Items.UseItem(3077);
                        Items.UseItem(3074);
                    }
                }

                else if (Base.GetList("engage") == 1)
                {
                    // hydra before
                    if (Base.CanHD && Base.HasHD && !Base.CanBurst)
                    {
                        Items.UseItem(3077);
                        Items.UseItem(3074);
                        if (Base.GetBool("usecombow"))
                        {
                            Utility.DelayAction.Add(250, () => Base.W.Cast());
                        }
                    }

                    // used hydra or dont own
                    else
                    {
                        Helpers.CheckR(Target);
                        if (Base.GetBool("usecombow"))
                        {
                            Base.W.Cast();
                        }
                    }
                }
            }

            // broken wings
            // use q if in range
            else if (Base.Q.IsReady() && Base.GetBool("usecomboq") &&
                     Target.Distance(Base.Me.ServerPosition, true) <= Math.Pow(Base.Q.Range + 30, 2))
            {
                // item handler
                if (Base.GetBool("useitems"))
                {
                    if (Items.HasItem(3142) && Items.CanUseItem(3142))
                    {
                        Items.UseItem(3142);
                    }

                    if (Target.Distance(Base.Me.ServerPosition, true) <= 450 * 450)
                    {
                        if (Items.HasItem(3144) && Items.CanUseItem(3144))
                        {
                            Items.UseItem(3144, Target);
                        }
                        if (Items.HasItem(3153) && Items.CanUseItem(3153))
                        {
                            Items.UseItem(3153, Target);
                        }
                    }
                }

                // check ultimate
                Helpers.CheckR(Target);

                if (Base.GetList("engage") == 0 ||
                    Helpers.GetDmg("P", true) * 2 + Helpers.GetDmg("Q", true) * 1 + Helpers.GetDmg("R") >= Target.Health)
                {
                    if (Items.CanUseItem(3077) || Items.CanUseItem(3074))
                    {
                        return;
                    }
                }

                if (Base.CanQ && Base.GetBool("usecomboq"))
                {
                    Base.Q.Cast(Target.ServerPosition);
                }
            }

            // gapclose
            else if (Target.Distance(Base.Me.ServerPosition, true) >
                     Math.Pow(Base.TrueRange + 100, 2) && Base.GetBool("qgap"))
            {
                if (!Base.E.IsReady() && Environment.TickCount - Base.LastQ >= 1100 && !Base.DidAA)
                {
                    if (Base.Q.IsReady() && Environment.TickCount - Base.LastE >= 700)
                    {
                        Base.Q.Cast(Target.ServerPosition);
                    }
                }
            }
        }
コード例 #8
0
ファイル: Combo.cs プロジェクト: jsjdxy/Ergou-Best-Champion
        internal static void LaneFarm()
        {
            try
            {
                if (Base.Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.LaneClear)
                {
                    var minionList = new[]
                    {
                        "SRU_Razorbeak", "SRU_Krug", "Sru_Crab", "SRU_Baron", "SRU_Dragon",
                        "SRU_Blue", "SRU_Red", "SRU_Murkwolf", "SRU_Gromp"
                    };

                    var smallMinion =
                        ObjectManager.Get <Obj_AI_Minion>()
                        .FirstOrDefault(x => x.Name.Contains("Mini") && !x.Name.StartsWith("Minion") && x.IsValidTarget(700));

                    var bigMinion =
                        ObjectManager.Get <Obj_AI_Minion>()
                        .FirstOrDefault(
                            x =>
                            !x.Name.Contains("Mini") && !x.Name.StartsWith("Minion") &&
                            minionList.Any(name => x.Name.StartsWith(name)) && x.IsValidTarget(900));

                    var minion = bigMinion ?? smallMinion;
                    if (minion != null)
                    {
                        Base.OrbTo(minion);
                        if (minionList.Any(x => minion.Name.StartsWith(x) && !minion.Name.Contains("Mini")))
                        {
                            if (Base.GetBool("usejungleq") && Base.Q.IsReady() && Base.CanQ)
                            {
                                if (minion.Distance(Base.Me.ServerPosition, true) <= Math.Pow(Base.Q.Range + 30, 2))
                                {
                                    Base.Q.Cast(minion.ServerPosition);
                                }
                            }

                            if (Base.GetBool("usejunglew") && Base.W.IsReady() && Base.CanW)
                            {
                                if (minion.Distance(Base.Me.ServerPosition, true) <= Base.W.RangeSqr)
                                {
                                    Base.W.Cast();
                                }
                            }

                            if (Base.GetBool("usejunglee"))
                            {
                                if (minion.Distance(Base.Me.ServerPosition, true) > Math.Pow(Base.Me.AttackRange, 2) &&
                                    Base.E.IsReady() && Base.CanE)
                                {
                                    Base.E.Cast(Game.CursorPos);
                                }

                                else if (Base.Me.Health / Base.Me.MaxHealth * 100 <= Base.GetSlider("vhealth") &&
                                         Base.E.IsReady() && Base.CanE)
                                {
                                    Base.E.Cast(Game.CursorPos);
                                }
                            }
                        }
                    }

                    else
                    {
                        var newminion = ObjectManager.Get <Obj_AI_Minion>().First(x => x.IsValidTarget(600));
                        if (!Base.Me.ServerPosition.Extend(newminion.ServerPosition, Base.Q.Range).UnderTurret(true))
                        {
                            if (Base.GetBool("uselaneq") && Base.Q.IsReady() && Base.CanQ)
                            {
                                if (newminion.Distance(Base.Me.ServerPosition, true) <= Math.Pow(Base.Q.Range + 200, 2))
                                {
                                    Base.Q.Cast(newminion.ServerPosition);
                                }
                            }
                        }

                        if (Base.GetBool("uselanee"))
                        {
                            if (Base.E.IsReady() && Base.CanE)
                            {
                                Base.E.Cast(Game.CursorPos);
                            }
                        }
                    }
                }
            }

            catch (Exception e)
            {
                //Console.WriteLine("Minion died");
            }
        }