Beispiel #1
0
        public void Combo()
        {
            if (doingEQCombo)
            {
                if (ObjectManager.Player.IsDashing() &&
                    SteelTempest.Q.IsReady() && SteelTempest.Empowered &&
                    ObjectManager.Player.CountEnemyChampionsInRange(250) > 0)
                {
                    SteelTempest.QDash.Cast();
                    doingEQCombo = false;
                }
                if (doingEQCombo)
                {
                    return;
                }
            }
            var comboTarget = TargetSelector.GetTarget(LastBreath.R.Range, DamageType.Physical);

            if (comboTarget != null && comboTarget.IsValid)
            {
                if (YasuoUtils.DecideKnockup(comboTarget))
                {
                    var bestUnit = YasuoUtils.BestQDashKnockupUnit();
                    if (bestUnit != null)
                    {
                        doingEQCombo = true;
                        SweepingBlade.E.Cast(bestUnit);
                        Core.DelayAction(() => { doingEQCombo = false; }, 100);
                    }
                }
                else
                {
                    SweepingBlade.GapClose(comboTarget);
                }
            }
            else
            {
                SweepingBlade.GapClose();
                return;
            }

            var targetDistance = comboTarget.Distance(ObjectManager.Player, true);

            if (Config.comboMenu["ylm.combo.useq"].Cast <CheckBox>().CurrentValue&& SteelTempest.Q.IsReady() &&
                targetDistance <= SteelTempest.Q.RangeSquared)
            {
                SteelTempest.Q.Cast(comboTarget);
            }

            if (Config.comboMenu["ylm.combo.useq3"].Cast <CheckBox>().CurrentValue&& SteelTempest.Empowered && SteelTempest.Q.IsReady() &&
                targetDistance <= SteelTempest.QEmp.RangeSquared)
            {
                SteelTempest.QEmp.Cast(comboTarget);
            }
            if (Config.comboMenu["ylm.combo.user"].Cast <CheckBox>().CurrentValue&& LastBreath.ShouldUlt(comboTarget))
            {
                LastBreath.CastR(comboTarget);
            }
            //TODO: Items
        }
Beispiel #2
0
 public void LastHit()
 {
     if (Config.lasthitMenu["ylm.lasthit.enabled"].Cast <CheckBox>().CurrentValue)
     {
         SteelTempest.LastHitQ();
         SweepingBlade.LaneE(true);
     }
 }
Beispiel #3
0
 public void LastHit()
 {
     if (Config.Param <bool>("ylm.lasthit.enabled"))
     {
         SteelTempest.LastHitQ();
         SweepingBlade.LaneE(true);
     }
 }
Beispiel #4
0
        public void Harass()
        {
            var qRange = SteelTempest.Empowered ? SteelTempest.QEmp.Range : SteelTempest.Q.Range;
            var useQ   = (SteelTempest.Empowered && Config.harassMenu["ylm.mixed.useq3"].Cast <CheckBox>().CurrentValue) ||
                         (!SteelTempest.Empowered && Config.harassMenu["ylm.mixed.useq"].Cast <CheckBox>().CurrentValue);

            var eTarget = TargetSelector.GetTarget(SweepingBlade.E.Range, DamageType.Magical);
            var qTarget = TargetSelector.GetTarget(qRange, DamageType.Physical);

            if (useQ && qTarget != null && SteelTempest.Q.IsReady())
            {
                if (ObjectManager.Player.IsDashing() &&
                    ObjectManager.Player.Distance(qTarget, true) < -375)
                {
                    SteelTempest.QDash.Cast();
                }
                else
                {
                    if (SteelTempest.Empowered)
                    {
                        SteelTempest.QEmp.Cast(qTarget);
                    }
                    else
                    {
                        SteelTempest.Q.Cast(qTarget);
                    }
                }
            }

            if (eTarget != null && Config.harassMenu["ylm.mixed.usee"].Cast <CheckBox>().CurrentValue&& SweepingBlade.CanCastE(eTarget))
            {
                if (Config.harassMenu["ylm.mixed.mode"].Cast <ComboBox>().CurrentValue == 0)
                {
                    SweepingBlade.E.Cast(eTarget);
                }
                else
                {
                    if (!SteelTempest.Q.IsReady() && eTarget.Distance(ObjectManager.Player, true) <= 200 * 200)
                    //Run away we useless :^(
                    {
                        SweepingBlade.RunAway(eTarget);
                    }
                    else if (SteelTempest.Q.IsReady())
                    {
                        SweepingBlade.E.Cast(eTarget);
                    }
                }
            }
            if (Config.harassMenu["ylm.mixed.lasthit"].Cast <CheckBox>().CurrentValue)
            {
                SteelTempest.LastHitQ();
                SweepingBlade.LaneE(true);
            }
        }
Beispiel #5
0
        public void Harass()
        {
            var qRange = SteelTempest.Empowered ? SteelTempest.QEmp.Range : SteelTempest.Q.Range;
            var useQ   = (SteelTempest.Empowered && Config.Param <bool>("ylm.mixed.useq3")) ||
                         (!SteelTempest.Empowered && Config.Param <bool>("ylm.mixed.useq"));

            var eTarget = TargetSelector.GetTarget(SweepingBlade.E.Range, TargetSelector.DamageType.Magical);
            var qTarget = TargetSelector.GetTarget(qRange, TargetSelector.DamageType.Physical);

            if (useQ && qTarget != null && SteelTempest.Q.IsReady())
            {
                if (ObjectManager.Player.IsDashing() &&
                    ObjectManager.Player.Distance(qTarget, true) < SteelTempest.QDash.WidthSqr)
                {
                    SteelTempest.QDash.Cast();
                }
                else
                {
                    if (SteelTempest.Empowered)
                    {
                        SteelTempest.QEmp.Cast(qTarget);
                    }
                    else
                    {
                        SteelTempest.Q.Cast(qTarget);
                    }
                }
            }

            if (eTarget != null && Config.Param <bool>("ylm.mixed.usee") && SweepingBlade.CanCastE(eTarget))
            {
                if (Config.Param <Slider>("ylm.mixed.mode").Value == 0)
                {
                    SweepingBlade.E.Cast(eTarget);
                }
                else
                {
                    if (!SteelTempest.Q.IsReady() && eTarget.Distance(ObjectManager.Player, true) <= 200 * 200)
                    //Run away we useless :^(
                    {
                        SweepingBlade.RunAway(eTarget);
                    }
                    else if (SteelTempest.Q.IsReady())
                    {
                        SweepingBlade.E.Cast(eTarget);
                    }
                }
            }
            if (Config.Param <bool>("ylm.mixed.lasthit"))
            {
                SteelTempest.LastHitQ();
                SweepingBlade.LaneE(true);
            }
        }
Beispiel #6
0
 public void Clear()
 {
     if (Config.laneclearMenu["ylm.laneclear.enabled"].Cast <CheckBox>().CurrentValue)
     {
         SteelTempest.ClearQ();
         SweepingBlade.LaneE();
     }
     if (Config.jungleclearMenu["ylm.jungleclear.enabled"].Cast <CheckBox>().CurrentValue)
     {
         SteelTempest.ClearQ(true);
         SweepingBlade.JungleClearE();
     }
 }
Beispiel #7
0
 public void Clear()
 {
     if (Config.Param <bool>("ylm.laneclear.enabled"))
     {
         SteelTempest.ClearQ();
         SweepingBlade.LaneE();
     }
     if (Config.Param <bool>("ylm.jungleclear.enabled"))
     {
         SteelTempest.ClearQ(true);
         SweepingBlade.JungleClearE();
     }
 }
Beispiel #8
0
        public void Escape()
        {
            var escapeTarget = YasuoUtils.ClosestMinion(Game.CursorPos);

            if (escapeTarget != null)
            {
                SweepingBlade.GapClose(escapeTarget, true);
            }
            if (SteelTempest.Empowered && SteelTempest.Q.IsReady() && !ObjectManager.Player.IsDashing())
            {
                var q3Target = TargetSelector.GetTarget(SteelTempest.QEmp.Range, DamageType.Physical);
                if (q3Target != null)
                {
                    SteelTempest.QEmp.Cast(q3Target);
                }
            }
        }
Beispiel #9
0
        public static Obj_AI_Base BestQDashKnockupUnit()
        {
            //var heroes = ObjectManager.Get<AIHeroClient>();
            var eRangeheroes = ObjectManager.Player.GetEnemiesInRange(SweepingBlade.E.Range)
                               .Where(h => SweepingBlade.CanCastE(h, true));
            int          max      = 0;
            AIHeroClient bestUnit = null;

            foreach (var eHero in eRangeheroes)
            {
                var enemyCount = SweepingBlade.EndPos(eHero).CountEnemiesInRange(SteelTempest.QDash.Width);
                if (enemyCount > max)
                {
                    max      = enemyCount;
                    bestUnit = eHero;
                }
            }
            return(bestUnit);
        }
Beispiel #10
0
        public static Obj_AI_Base BestQDashKnockupUnit()
        {
            //var heroes = ObjectManager.Get<Obj_AI_Hero>();
            var eRangeheroes = EntityManager.Heroes.Enemies
                               .Where(h => SweepingBlade.CanCastE(h, true) && SweepingBlade.E.IsInRange(h));
            int          max      = 0;
            AIHeroClient bestUnit = null;

            foreach (var eHero in eRangeheroes)
            {
                var enemyCount = SweepingBlade.EndPos(eHero).CountEnemyChampionsInRange(375);
                if (enemyCount > max)
                {
                    max      = enemyCount;
                    bestUnit = eHero;
                }
            }
            return(bestUnit);
        }
Beispiel #11
0
        public void Combo()
        {
            if (doingEQCombo)
            {
                if (ObjectManager.Player.IsDashing() &&
                    SteelTempest.Q.IsReady() && SteelTempest.Empowered &&
                    ObjectManager.Player.CountEnemiesInRange(250) > 0)
                {
                    SteelTempest.QDash.Cast();
                    doingEQCombo = false;
                }
                if (doingEQCombo)
                {
                    return;
                }
            }
            var comboTarget = TargetSelector.GetTarget(LastBreath.R.Range, TargetSelector.DamageType.Physical);

            if (comboTarget != null && comboTarget.IsValid)
            {
                if (YasuoUtils.DecideKnockup(comboTarget))
                {
                    var bestUnit = YasuoUtils.BestQDashKnockupUnit();
                    if (bestUnit != null)
                    {
                        doingEQCombo = true;
                        SweepingBlade.E.Cast(bestUnit);
                        LeagueSharp.Common.Utility.DelayAction.Add(100, () => { doingEQCombo = false; });
                    }
                }
                else
                {
                    SweepingBlade.GapClose(comboTarget);
                }
            }
            else
            {
                SweepingBlade.GapClose();
                return;
            }

            var targetDistance = comboTarget.Distance(ObjectManager.Player, true);

            if (Config.Param <bool>("ylm.combo.useq") && SteelTempest.Q.IsReady() &&
                targetDistance <= SteelTempest.Q.RangeSqr)
            {
                SteelTempest.Q.Cast(comboTarget);
            }

            if (Config.Param <bool>("ylm.combo.useq3") && SteelTempest.Empowered && SteelTempest.Q.IsReady() &&
                targetDistance <= SteelTempest.QEmp.RangeSqr)
            {
                SteelTempest.QEmp.Cast(comboTarget);
            }

            if (Config.Param <bool>("ylm.combo.user") && LastBreath.ShouldUlt(comboTarget))
            {
                LastBreath.CastR(comboTarget);
            }
            //TODO: Items
        }