Пример #1
0
        public void Combo()
        {
            if (CheckPassive && HasPassive)
            {
                return;
            }

            var t = TargetSelector.GetTarget(Spells[Q].Range, LeagueSharp.Common.TargetSelector.DamageType.Physical);

            if (t != null)
            {
                if (Spells[Q].IsReady() && ComboUseQ)
                {
                    Spells[Q].CastOnUnit(t);
                }

                if (!CheckPassive && Spells[W].IsReady())
                {
                    Spells[W].SPredictionCast(t, HitChance.High);
                }
            }
            else
            {
                if (ComboUseQExtended)
                {
                    ExtendedQ();
                }
            }
        }
Пример #2
0
        public void Combo()
        {
            if (Spells[W].IsReady() && ComboUseW)
            {
                var t = TargetSelector.GetTarget(1000, LeagueSharp.Common.TargetSelector.DamageType.Magical);
                if (t != null)
                {
                    Spells[W].Cast();
                }
            }

            if (Spells[Q].IsReady() && ComboUseQ)
            {
                var t = TargetSelector.GetTarget(Spells[Q].Range, LeagueSharp.Common.TargetSelector.DamageType.Magical);
                if (t != null && !IsBlacklistedComboGrab(t))
                {
                    Spells[Q].SPredictionCast(t, HitChance.High);
                }
            }

            if (Spells[R].IsReady() && ComboUseR)
            {
                var t = TargetSelector.GetTarget(Spells[R].Range - 10, LeagueSharp.Common.TargetSelector.DamageType.Magical);
                if (t != null)
                {
                    Spells[R].Cast();
                }
            }
        }
Пример #3
0
        public void Combo()
        {
            if (Spells[E].IsReady() && ComboUseR)
            {
                var t = TargetSelector.GetTarget(Spells[E].Range, LeagueSharp.Common.TargetSelector.DamageType.Physical);
                if (t != null)
                {
                    Spells[E].SPredictionCast(t, HitChance.High);
                }
            }

            if (Spells[Q].IsReady() && ComboUseQ)
            {
                var t = TargetSelector.GetTarget(Spells[Q].Range, LeagueSharp.Common.TargetSelector.DamageType.Physical);
                if (t != null)
                {
                    Spells[Q].Cast(t);
                }
            }

            if (Spells[R].IsReady() && ComboUseR)
            {
                var t = HeroManager.Enemies.Where(p => p.IsValidTarget(Spells[R].Range) && p.Health < CalculateDamageR(p)).OrderBy(q => q.GetPriority()).FirstOrDefault();
                if (t != null)
                {
                    Spells[R].CastOnUnit(t);
                }
            }
        }
Пример #4
0
        public void Harass()
        {
            if (ObjectManager.Player.ManaPercent < HarassMinMana)
            {
                return;
            }

            var t = TargetSelector.GetTarget(Spells[Q].Range, LeagueSharp.Common.TargetSelector.DamageType.Magical);

            if (t == null)
            {
                return;
            }

            if (HarassUseW && Spells[W].IsReady() && ShouldCast(SpellSlot.W, t))
            {
                Spells[W].Cast(ObjectManager.Player.Position.To2D().Extend(t.Position.To2D(), 450));
            }

            if (HarassUseQ && Spells[Q].IsReady() && ShouldCast(SpellSlot.Q, t))
            {
                foreach (var soldier in Helpers.SoldierMgr.ActiveSoldiers)
                {
                    if (ObjectManager.Player.ServerPosition.Distance(t.ServerPosition) < Spells[Q].Range)
                    {
                        Spells[Q].UpdateSourcePosition(soldier.Position, ObjectManager.Player.ServerPosition);
                        if (Spells[Q].SPredictionCast(t, HitChance.High))
                        {
                            return;
                        }
                    }
                }
            }
        }
Пример #5
0
        public void Combo()
        {
            if (Spells[Q].IsReady() && ComboUseQ && ObjectManager.Player.HealthPercent > ComboUseQHP)
            {
                var t = TargetSelector.GetTarget(Spells[Q].Range, LeagueSharp.Common.TargetSelector.DamageType.Physical);
                if (t != null)
                {
                    Spells[Q].SPredictionCast(t, HitChance.Low);
                }
            }

            if (Spells[W].IsReady() && ComboUseW && !ObjectManager.Player.HasBuff("BurningAgony"))
            {
                var t = TargetSelector.GetTarget(Spells[W].Range, LeagueSharp.Common.TargetSelector.DamageType.Physical);
                if (t != null)
                {
                    Spells[W].Cast();
                }
            }
            else if (Spells[W].IsReady() && ObjectManager.Player.HasBuff("BurningAgony") && !HeroManager.Enemies.Any(p => p.IsValidTarget(400f)))
            {
                Spells[W].Cast();
            }

            if (Spells[R].IsReady() && ObjectManager.Player.HealthPercent < ComboUseRHP)
            {
                Spells[R].Cast();
            }
        }
Пример #6
0
        public void Harass()
        {
            if (ObjectManager.Player.ManaPercent < HarassMinMana)
            {
                return;
            }

            if (Spells[Q].IsReady() && HarassUseQ)
            {
                var t = TargetSelector.GetTarget(Spells[Q].Range, DamageType.Magical);
                if (t != null)
                {
                    Spells[Q].CastIfHitchanceEquals(t, HitChance.High);
                }
            }

            if (!Spells[Q].IsReady() && Spells[W].IsReady() && HarassUseW)
            {
                var t = TargetSelector.GetTarget(Spells[W].Range, DamageType.Magical);
                if (t != null)
                {
                    Spells[W].CastIfHitchanceEquals(t, HitChance.High);
                }
            }

            if (Spells[E].IsReady() && HarassUseE)
            {
                var t = TargetSelector.GetTarget(Spells[E].Range, DamageType.Magical);
                if (t != null && t.HasBuffOfType(BuffType.Poison))
                {
                    Spells[E].Cast();
                }
            }
        }
Пример #7
0
        public void Combo()
        {
            if (Spells[E].IsReady() && ComboUseE)
            {
                var t = TargetSelector.GetTarget(Spells[E].Range, LeagueSharp.Common.TargetSelector.DamageType.Physical);
                if (t != null)
                {
                    if (!ObjectManager.Player.HasBuff("jaxleapstrike") || ComboEStun)
                    {
                        Spells[E].Cast();
                    }
                }
            }

            if (Spells[Q].IsReady() && ComboUseQ)
            {
                var t = TargetSelector.GetTarget(Spells[Q].Range, LeagueSharp.Common.TargetSelector.DamageType.Physical);
                if (t != null)
                {
                    if (ComboEBeforeQ)
                    {
                        if (Spells[E].IsReady() && ComboUseE && !ObjectManager.Player.HasBuff("jaxleapstrike"))
                        {
                            Spells[E].Cast();
                        }
                    }
                    if (!t.IsValidTarget(Orbwalking.GetRealAutoAttackRange(t.Target)) || Spells[Q].IsKillable(t))
                    {
                        Spells[Q].CastOnUnit(t);
                    }
                }
            }
        }
Пример #8
0
        public void Harass()
        {
            if (ObjectManager.Player.ManaPercent < HarassMinMana)
            {
                return;
            }

            if (Spells[Q].IsReady() && HarassUseQ)
            {
                var t = TargetSelector.GetTarget(Spells[Q].Range, LeagueSharp.Common.TargetSelector.DamageType.Magical);
                if (t != null)
                {
                    Spells[Q].SPredictionCast(t, HitChance.High);
                }
            }

            if (Spells[E].IsReady() && HarassUseE)
            {
                var t = TargetSelector.GetTarget(Spells[E].Range, LeagueSharp.Common.TargetSelector.DamageType.Magical);
                if (t != null)
                {
                    Spells[E].Cast();
                }
            }
        }
Пример #9
0
        public void Combo()
        {
            if (Spells[Q].IsReady() && ComboUseQ)
            {
                var t = TargetSelector.GetTarget(Spells[Q].Range, LeagueSharp.Common.TargetSelector.DamageType.Magical);
                if (t != null)
                {
                    Spells[Q].SPredictionCast(t, HitChance.High);
                }
            }

            if (Spells[R].IsReady() && ComboUseR && Spells[R].Instance.Ammo > 0)
            {
                var t = TargetSelector.GetTarget(Spells[R].Range, LeagueSharp.Common.TargetSelector.DamageType.Magical);
                if (t != null)
                {
                    Spells[R].SPredictionCast(t, HitChance.High);
                }
            }

            if (Spells[E].IsReady() && ComboUseE)
            {
                var t = TargetSelector.GetTarget(Spells[E].Range, LeagueSharp.Common.TargetSelector.DamageType.Physical);
                if (t != null && ObjectManager.Player.IsFacing(t))
                {
                    Spells[E].Cast();
                }
            }
        }
Пример #10
0
        public void Combo()
        {
            if (Spells[Q].IsReady() && ComboUseQ)
            {
                var t = TargetSelector.GetTarget(Spells[Q].Range, DamageType.Magical);
                if (t != null)
                {
                    Spells[Q].Cast(t);
                }
            }

            if (!Spells[Q].IsReady() && Spells[W].IsReady() && ComboUseW)
            {
                var t = TargetSelector.GetTarget(Spells[W].Range, DamageType.Magical);
                if (t != null)
                {
                    Spells[W].Cast(t);
                }
            }

            if (Spells[E].IsReady() && ComboUseE)
            {
                var t = TargetSelector.GetTarget(Spells[E].Range, DamageType.Magical);
                if (t != null && t.HasBuffOfType(BuffType.Poison))
                {
                    Spells[E].CastOnUnit(t);
                }
            }


            if (Spells[R].IsReady())
            {
                if (ComboUseRMin == 1)
                {
                    var t = TargetSelector.GetTarget(Spells[R].Range, DamageType.Magical);
                    if (t != null)
                    {
                        var pred = Spells[R].GetPrediction(t);
                        if (pred.Hitchance >= HitChance.High)
                        {
                            if (t.IsFacing(ObjectManager.Player))
                            {
                                Spells[R].Cast(pred.CastPosition);
                            }
                        }
                    }
                }
                else
                {
                    var t = TargetSelector.GetTarget(Spells[R].Range, DamageType.Magical);
                    if (Spells[R].GetHitCount() >= ComboUseRMin)
                    {
                        Spells[R].Cast(Spells[R].GetPrediction(t).CastPosition);
                    }
                }
            }
        }
Пример #11
0
        public void Combo()
        {
            var t = TargetSelector.GetTarget(Spells[Q].Range + Helpers.SoldierMgr.SoldierAttackRange - 25, LeagueSharp.Common.TargetSelector.DamageType.Magical);
            var extendedTarget = TargetSelector.GetTarget(Spells[Q].Range + 400, LeagueSharp.Common.TargetSelector.DamageType.Magical);

            if (t != null)
            {
                if (ComboUseR && Spells[R].IsReady() && t.IsValidTarget(Spells[R].Range) && ShouldCast(SpellSlot.R, t))
                {
                    Spells[R].SPredictionCast(t, HitChance.High);
                }

                if (ComboUseW && Spells[W].IsReady() && ShouldCast(SpellSlot.W, t))
                {
                    Spells[W].Cast(ObjectManager.Player.Position.To2D().Extend(t.Position.To2D(), 450));
                }

                if (ComboUseQ && Spells[Q].IsReady() && ShouldCast(SpellSlot.Q, t))
                {
                    foreach (var soldier in Helpers.SoldierMgr.ActiveSoldiers)
                    {
                        if (ObjectManager.Player.ServerPosition.Distance(t.ServerPosition) < Spells[Q].Range)
                        {
                            Spells[Q].UpdateSourcePosition(soldier.Position, ObjectManager.Player.ServerPosition);
                            var predRes = Spells[Q].GetSPrediction(t);
                            if (predRes.HitChance >= HitChance.High)
                            {
                                var pos = predRes.CastPosition;
                                if (ComboUseQAlwaysMaxRange)
                                {
                                    pos = ObjectManager.Player.ServerPosition.To2D().Extend(pos, Spells[Q].Range);
                                }
                                Spells[Q].Cast(pos);
                                return;
                            }
                        }
                    }
                }
            }

            if (extendedTarget != null)
            {
                if (ComboUseE && Spells[E].IsReady() && ShouldCast(SpellSlot.E, extendedTarget))
                {
                    foreach (var soldier in Helpers.SoldierMgr.ActiveSoldiers)
                    {
                        if (Spells[E].WillHit(extendedTarget, soldier.Position))
                        {
                            Spells[E].Cast(soldier.Position);
                            return;
                        }
                    }
                }
            }
        }
Пример #12
0
 public void Combo()
 {
     if (Spells[Q].IsReady() && ComboUseQ)
     {
         var t = TargetSelector.GetTarget(Spells[Q].Range, LeagueSharp.Common.TargetSelector.DamageType.Physical);
         if (t != null)
         {
             Spells[Q].CastOnUnit(t);
         }
     }
 }
Пример #13
0
 public void Harass()
 {
     if (Spells[Q].IsReady() && HarassUseQ)
     {
         var t = TargetSelector.GetTarget(Spells[Q].Range, LeagueSharp.Common.TargetSelector.DamageType.Physical);
         if (t != null)
         {
             Spells[Q].SPredictionCast(t, HitChance.High);
         }
     }
 }
Пример #14
0
 public void Combo()
 {
     if (ComboUseE)
     {
         var t = TargetSelector.GetTarget(Spells[E].Range, LeagueSharp.Common.TargetSelector.DamageType.Physical);
         if (t != null && Spells[E].IsReady() && Helpers.Condemn.IsValidTarget(t))
         {
             Spells[E].CastOnUnit(t);
         }
     }
 }
Пример #15
0
        public Vayne()
            : base("Vayne", "SAutoCarry - Vayne")
        {
            SCommon.Prediction.Prediction.predMenu.Item("SPREDDRAWINGS").SetValue(false);
            OnDraw      += BeforeDraw;
            OnCombo     += Combo;
            OnHarass    += Harass;
            OnLaneClear += LaneClear;

            TargetSelector.RegisterCustomMultipler((hero) => hero.GetBuffCount("vaynesilvereddebuff") * 10);
        }
Пример #16
0
        public void Harass()
        {
            var t = TargetSelector.GetTarget(Spells[E].Range, LeagueSharp.Common.TargetSelector.DamageType.Magical);

            if (t != null)
            {
                if (Spells[E].IsReady() && HarassUseE)
                {
                    Spells[E].Cast(Spells[E].GetSPrediction(t).CastPosition);
                }
            }
        }
Пример #17
0
 public void BeforeOrbwalk()
 {
     Spells[Q].From = (ObjectManager.Player.ServerPosition.To2D() + ((ObjectManager.Player.Direction.To2D() + ObjectManager.Player.Direction.To2D().Normalized().Perpendicular()) * ObjectManager.Player.BoundingRadius)).To3D();
     if (Spells[Q].IsReady() && AutoGrabEnabled && AutoGrabMinHealth <= ObjectManager.Player.HealthPercent && !ObjectManager.Player.UnderTurret(true))
     {
         var t = TargetSelector.GetTarget(AutoGrabRange, LeagueSharp.Common.TargetSelector.DamageType.Magical);
         if (t != null && !IsBlacklistedAutoGrab(t))
         {
             Spells[Q].SPredictionCast(t, HitChance.High);
         }
     }
 }
Пример #18
0
        public static AIHeroClient Get(float inRange, bool locked = false, LeagueSharp.Common.TargetSelector.DamageType dtype = LeagueSharp.Common.TargetSelector.DamageType.Physical)
        {
            if (Program.Champion.ConfigMenu.Item("CSHYKEY").GetValue <KeyBind>().Active || Program.Champion.ConfigMenu.Item("CFLASHKEY").GetValue <KeyBind>().Active)
            {
                return(TargetSelector.SelectedTarget);
            }

            if (TargetSelector.SelectedTarget != null && TargetSelector.SelectedTarget.IsValidTarget(inRange))
            {
                Set(TargetSelector.SelectedTarget);
                return(TargetSelector.SelectedTarget);
            }
            if (s_Target != null)
            {
                if (!s_Target.IsValidTarget())
                {
                    s_Target = null;
                }
                else
                {
                    if (s_Target.IsDead || !s_Target.IsTargetable)
                    {
                        s_Target = null;
                    }
                    else if (s_Target.Distance(ObjectManager.Player.ServerPosition) > inRange)
                    {
                        if (locked)
                        {
                            return(s_Target);
                        }
                        else
                        {
                            s_Target = null;
                        }
                    }
                }
            }

            if (s_Target == null)
            {
                Set(TargetSelector.GetTarget(inRange, dtype));
            }
            else
            {
                if (TargetSelector.SelectedTarget != null && TargetSelector.SelectedTarget != s_Target && TargetSelector.SelectedTarget.IsValidTarget(inRange))
                {
                    Set(TargetSelector.SelectedTarget);
                }
            }

            return(s_Target);
        }
Пример #19
0
        private void FollowR()
        {
            var t = TargetSelector.GetTarget(1100f, LeagueSharp.Common.TargetSelector.DamageType.Magical);

            if (t != null)
            {
                if (Spells[R].Instance.Name != "ViktorChaosStorm" && Utils.TickCount - m_lastFollowTick > 500)
                {
                    Spells[R].Cast(t.ServerPosition);
                    m_lastFollowTick = Utils.TickCount;
                }
            }
        }
Пример #20
0
        public void Harass()
        {
            if (ObjectManager.Player.ManaPercent < HarassMinMana)
            {
                return;
            }

            if (Spells[Q].IsReady() && HarassUseQ)
            {
                var t = TargetSelector.GetTarget(Spells[Q].Range, LeagueSharp.Common.TargetSelector.DamageType.Magical);
                if (t != null)
                {
                    Spells[Q].SPredictionCast(t, HitChance.High);
                }
            }

            if (Spells[E].IsReady() && HarassUseE)
            {
                var t = TargetSelector.GetTarget(Spells[E].Range, LeagueSharp.Common.TargetSelector.DamageType.Physical);
                if (t != null && ObjectManager.Player.IsFacing(t))
                {
                    Spells[E].Cast();
                }
            }

            if (Spells[R].IsReady() && HarassUseR && Spells[R].Instance.Ammo > HarassRStack)
            {
                var t = TargetSelector.GetTarget(Spells[R].Range, LeagueSharp.Common.TargetSelector.DamageType.Magical);
                if (t != null)
                {
                    var pred = Spells[R].GetSPrediction(t);
                    if (pred.HitChance == HitChance.Collision)
                    {
                        var col = pred.CollisionResult.Units.FirstOrDefault();
                        if (col != null && col.Distance(ObjectManager.Player.ServerPosition) < Spells[R].Range)
                        {
                            if (col.Distance(pred.UnitPosition) < (ObjectManager.Player.HasBuff("corkimissilebarragecounterbig") ? 150f : 75f))
                            {
                                Spells[R].Cast(pred.CastPosition);
                            }
                        }
                    }
                    else if (pred.HitChance >= HitChance.High)
                    {
                        Spells[R].Cast(pred.CastPosition);
                    }
                }
            }
        }
Пример #21
0
        public void Harass()
        {
            if (ObjectManager.Player.ManaPercent < HarassManaPercent)
            {
                return;
            }

            var t = TargetSelector.GetTarget(Spells[Q].Range, LeagueSharp.Common.TargetSelector.DamageType.Physical);

            if (t != null)
            {
                if (Spells[Q].IsReady() && HarassUseQ)
                {
                    Spells[Q].CastOnUnit(t);
                }
            }
        }
Пример #22
0
        public void Harass()
        {
            var t = TargetSelector.GetTarget(ObjectManager.Player.AttackRange + 250, LeagueSharp.Common.TargetSelector.DamageType.Magical);

            if (t != null)
            {
                if (Spells[W].IsReady() && HarassUseW)
                {
                    Helpers.CardMgr.Select(Helpers.CardMgr.Card.Blue);
                }

                if (Spells[Q].IsReady() && HarassUseQ)
                {
                    Spells[Q].Cast(t);
                }
            }
        }
Пример #23
0
        public void Combo()
        {
            if (Spells[E].IsReady() && ComboUseE)
            {
                var t = TargetSelector.GetTarget(Spells[E].Range + m_laserLenght, LeagueSharp.Common.TargetSelector.DamageType.Magical);
                if (t != null)
                {
                    if (SCommon.Orbwalking.Utility.InAARange(t) && ObjectManager.Player.HasBuff("viktorpowertransferreturn") && Orbwalker.CanAttack(250))
                    {
                        return;
                    }

                    Spells[E].SPredictionCastVector(t, m_laserLenght, HitChance.High);
                }
            }

            if (Spells[R].IsReady() && ComboUseR)
            {
                if (ComboUseRMin == 1)
                {
                    var t = TargetSelector.GetTarget(Spells[R].Range, LeagueSharp.Common.TargetSelector.DamageType.Magical);
                    if (t != null && t.Health - CalculateComboDamage(t) - (Spells[Q].IsReady(1000) ? CalculateViktorPassiveAADamage(t) : 0) < 200)
                    {
                        if (SCommon.Orbwalking.Utility.InAARange(t) && ObjectManager.Player.HasBuff("viktorpowertransferreturn") && Orbwalker.CanAttack(250))
                        {
                            return;
                        }
                        Spells[R].SPredictionCast(t, HitChance.High);
                    }
                }
                else
                {
                    Spells[R].SPredictionCastAoe(ComboUseRMin);
                }
            }

            if (Spells[Q].IsReady() && ComboUseQ && !ComboUseQOnlyAA)
            {
                var t = TargetSelector.GetTarget(Spells[Q].Range, LeagueSharp.Common.TargetSelector.DamageType.Magical);
                if (t != null)
                {
                    Spells[Q].CastOnUnit(t);
                }
            }
        }
Пример #24
0
        public void Combo()
        {
            var waitforE = false;

            if (Spells[E].IsReady() && getCheckBoxItem(combo, "SAutoCarry.Veigar.Combo.UseE"))
            {
                var t = TargetSelector.GetTarget(1000, DamageType.Magical);
                if (t != null)
                {
                    var pred      = LeagueSharp.Common.Prediction.GetPrediction(t, 0.2f, t.BoundingRadius);
                    var pos       = pred.UnitPosition;
                    var extendpos = pos.Extend(ObjectManager.Player.ServerPosition, 360);
                    Spells[E].Cast(extendpos);
                    waitforE = true;
                }
            }

            if (Spells[W].IsReady() && getCheckBoxItem(combo, "SAutoCarry.Veigar.Combo.UseW") && !waitforE)
            {
                var t = TargetSelector.GetTarget(Spells[W].Range, DamageType.Magical);
                if (t != null)
                {
                    Spells[W].CastIfHitchanceEquals(t, HitChance.High);
                }
            }

            if (Spells[R].IsReady() && getCheckBoxItem(combo, "SAutoCarry.Veigar.Combo.UseR"))
            {
                var t = TargetSelector.GetTarget(Spells[R].Range, DamageType.Magical);
                if (t != null && CalculateComboDamage(t, 4) >= t.Health)
                {
                    Spells[R].CastOnUnit(t);
                }
            }

            if (Spells[Q].IsReady() && getCheckBoxItem(combo, "SAutoCarry.Veigar.Combo.UseQ"))
            {
                var t = TargetSelector.GetTarget(Spells[Q].Range, DamageType.Magical);
                if (t != null)
                {
                    Spells[Q].CastIfHitchanceEquals(t, HitChance.High);
                }
            }
        }
Пример #25
0
        public void Combo()
        {
            if (Spells[W].IsReady() && ComboUseW)
            {
                var t = TargetSelector.GetTarget(Spells[W].Range, LeagueSharp.Common.TargetSelector.DamageType.Physical);
                if (t != null)
                {
                    Spells[W].SPredictionCast(t, HitChance.High);
                }
            }

            if (Spells[E].IsReady() && ComboUseE)
            {
                if (HeroManager.Enemies.Any(x => x.IsValidTarget(Spells[E].Range) && !x.IsInvulnerable && (x.GetBuffCount("twitchdeadlyvenom") >= 6 || Spells[E].IsKillable(x)) && IsWhitelisted(x)))
                {
                    Spells[E].Cast();
                }
            }
        }
Пример #26
0
        public void Harass()
        {
            if (HarassUseE)
            {
                var t = TargetSelector.GetTarget(Spells[E].Range + 300, LeagueSharp.Common.TargetSelector.DamageType.Physical);
                if (t != null && Spells[E].IsReady())
                {
                    if (HarassUseE3RdW && t.IsValidTarget(Spells[E].Range) && t.GetBuffCount("vaynesilvereddebuff") == 2)
                    {
                        Spells[E].CastOnUnit(t);
                    }

                    if (Helpers.Condemn.IsValidTarget(t))
                    {
                        Spells[E].CastOnUnit(t);
                    }
                }
            }
        }
Пример #27
0
        public void ExtendedQ()
        {
            var t = TargetSelector.GetTarget(1200f, LeagueSharp.Common.TargetSelector.DamageType.Physical);

            if (t != null)
            {
                var enemyHitBox = ClipperWrapper.DefineCircle(SCommon.Prediction.Prediction.GetFastUnitPosition(t, 0.35f), t.BoundingRadius);
                var minions     = MinionManager.GetMinions(Spells[Q].Range, MinionTypes.All, MinionTeam.NotAlly);
                foreach (var minion in minions)
                {
                    var spellHitBox = ClipperWrapper.DefineRectangle(ObjectManager.Player.ServerPosition.To2D(), ObjectManager.Player.ServerPosition.To2D() + (minion.ServerPosition.To2D() - ObjectManager.Player.ServerPosition.To2D()).Normalized() * 1200f, 60f);
                    if (ClipperWrapper.IsIntersects(ClipperWrapper.MakePaths(enemyHitBox), ClipperWrapper.MakePaths(spellHitBox)))
                    {
                        Spells[Q].CastOnUnit(minion);
                        return;
                    }
                }
            }
        }
Пример #28
0
        public void Combo()
        {
            var t = TargetSelector.GetTarget(Spells[E].Range, LeagueSharp.Common.TargetSelector.DamageType.Magical);

            if (t != null)
            {
                if (Spells[E].IsReady() && ComboUseE)
                {
                    Spells[E].SPredictionCast(t, HitChance.Low);
                }

                if (Spells[R].IsReady() && ComboUseR)
                {
                    var aoePred = Spells[R].GetAoeSPrediction();
                    if (aoePred.HitCount >= ComboUseRHitCount)
                    {
                        Spells[R].Cast(aoePred.CastPosition);
                        return;
                    }

                    if (t.Distance(ObjectManager.Player.ServerPosition) > ComboUseRWhenRange)
                    {
                        if (ComboUseROnlyToWall)
                        {
                            var pred = Spells[R].GetSPrediction(t);
                            if (pred.HitChance >= HitChance.Medium)
                            {
                                var endPosition = ObjectManager.Player.ServerPosition.To2D() + (pred.CastPosition - ObjectManager.Player.ServerPosition.To2D()).Normalized() * 1000f;
                                if (IsWallStunable(pred.UnitPosition, endPosition))
                                {
                                    Spells[R].Cast(pred.CastPosition);
                                }
                            }
                        }
                        else
                        {
                            Spells[R].SPredictionCast(t, HitChance.High);
                        }
                    }
                }
            }
        }
Пример #29
0
        public void Combo()
        {
            var t = TargetSelector.GetTarget(Spells[Q].Range * 2f, LeagueSharp.Common.TargetSelector.DamageType.Magical);

            if (t != null)
            {
                if (Spells[Q].IsReady() && (ComboUseQDashing || ComboUseQImmobile))
                {
                    if ((t.IsImmobilized() && ComboUseQImmobile) || (t.IsDashing() && ComboUseQDashing))
                    {
                        CastQ(t, t.ServerPosition.To2D());
                    }
                }

                if (Spells[W].IsReady() && ComboUseW)
                {
                    Helpers.CardMgr.Select(FindCardToSelect(t));
                }
            }
        }
Пример #30
0
        public void Harass()
        {
            if (Spells[Q].IsReady() && HarassUseQ)
            {
                var t = TargetSelector.GetTarget(Spells[Q].Range, LeagueSharp.Common.TargetSelector.DamageType.Physical);
                if (t != null)
                {
                    Spells[Q].CastOnUnit(t);
                }
            }

            if (Spells[E].IsReady() && HarassUseE)
            {
                var t = TargetSelector.GetTarget(Spells[Q].Range, LeagueSharp.Common.TargetSelector.DamageType.Physical);
                if (t != null && !ObjectManager.Player.HasBuff("jaxleapstrike"))
                {
                    Spells[E].Cast();
                }
            }
        }