Ejemplo n.º 1
0
        private static void WardJump(AIHeroClient target)
        {
            var pred = SpellManager.W1.GetPrediction(target);

            if (WardManager.CanWardJump && pred.HitChancePercent >= 30f)
            {
                var gapclosepos = pred.CastPosition + (pred.CastPosition - ExpectedEndPosition).Normalized() * DistanceBetween;
                if (Extensions.Distance(gapclosepos, Util.myHero, true) <= Math.Pow(WardManager.WardRange, 2) && Extensions.Distance(gapclosepos, target, true) <= Math.Pow(SpellManager.R.Range, 2) && Extensions.Distance(gapclosepos, target, true) < Extensions.Distance(gapclosepos, ExpectedEndPosition, true))
                {
                    if (Orbwalker.CanMove)
                    {
                        LastGapcloseAttempt = Game.Time;
                        Orbwalker.MoveTo(gapclosepos + (gapclosepos - ExpectedEndPosition).Normalized() * (DistanceBetween + Util.myHero.BoundingRadius / 2));
                    }
                    AllySelected                = null;
                    PositionSelected            = EndPosition;
                    LastSetPositionTime         = Game.Time;
                    TargetSelector.ForcedTarget = target;
                    var obj = Champion.GetBestObjectNearTo(gapclosepos);
                    if (obj != null && Extensions.Distance(obj, target, true) < Extensions.Distance(obj, ExpectedEndPosition, true))
                    {
                        SpellManager.CastW1(obj);
                    }
                    else
                    {
                        WardManager.CastWardTo(gapclosepos);
                    }
                }
            }
        }
Ejemplo n.º 2
0
 public static void GapCloseWithoutWard(Obj_AI_Base target)
 {
     if (SpellManager.CanCastW1)
     {
         var obj = GetBestObjectNearTo(target.Position);
         if (obj != null && Extensions.Distance(Util.myHero, target, true) > Extensions.Distance(obj, target, true))
         {
             SpellManager.CastW1(obj);
         }
     }
 }
Ejemplo n.º 3
0
 public static void JumpToVector(Vector3 position)
 {
     if (SpellManager.CanCastW1)
     {
         var ward = GetNearestTo(position);
         if (ward != null && position.To2D().Distance(ward.Position.To2D(), true) < Math.Pow(250f, 2))
         {
             SpellManager.CastW1(ward);
         }
     }
 }
Ejemplo n.º 4
0
 public static void JumpToVector(Vector3 Position)
 {
     if (SpellManager.CanCastW1)
     {
         var ward = GetNearestTo(Position) as Obj_AI_Minion;
         if (ward != null && Extensions.Distance(Position.To2D(), ward.Position.To2D(), true) < Math.Pow(250f, 2))
         {
             SpellManager.CastW1(ward);
         }
     }
 }
Ejemplo n.º 5
0
 private static void Obj_Ward_OnCreate(GameObject sender, EventArgs args)
 {
     if (sender.IsWard())
     {
         var ward = sender as Obj_AI_Minion;
         WardsAvailable.Add(ward);
         LastWardCreated = Game.Time;
         if (IsTryingToJump)
         {
             if (Extensions.Distance(LastWardJumpVector.To2D(), ward.Position.To2D(), true) < Math.Pow(80, 2))
             {
                 SpellManager.CastW1(ward);
             }
         }
     }
 }
Ejemplo n.º 6
0
 public static void Execute()
 {
     if (SpellManager.CanCastW1)
     {
         var obj = Champion.GetBestObjectNearTo(Util.MousePos);
         if (obj != null && Menu.GetCheckBoxValue("W"))
         {
             SpellManager.CastW1(obj);
         }
         else if (Menu.GetCheckBoxValue("WardJump"))
         {
             if (WardManager.CanCastWard)
             {
                 WardManager.CastWardTo(Util.MousePos);
             }
         }
     }
 }
Ejemplo n.º 7
0
 public static void GapCloseWithWard(Obj_AI_Base target)
 {
     if (SpellManager.CanCastW1)
     {
         var obj = GetBestObjectNearTo(target.Position);
         if (obj != null && Extensions.Distance(Util.myHero, target, true) > Extensions.Distance(obj, target, true))
         {
             SpellManager.CastW1(obj);
         }
         else if (WardManager.CanCastWard)
         {
             var pred = SpellManager.W1.GetPrediction(target);
             if (pred.HitChancePercent >= 50f)
             {
                 WardManager.CastWardTo(pred.CastPosition);
             }
         }
     }
 }
Ejemplo n.º 8
0
 public static void GapCloseWithWard(Obj_AI_Base target)
 {
     if (SpellManager.CanCastW1)
     {
         var obj = GetBestObjectNearTo(target.Position);
         if (obj != null && Util.MyHero.Distance(target, true) > obj.Distance(target, true))
         {
             SpellManager.CastW1(obj);
         }
         else if (WardManager.CanCastWard)
         {
             var pred = SpellManager.W1.GetPrediction(target);
             if (pred.HitChance >= HitChance.AveragePoint)
             {
                 WardManager.CastWardTo(pred.CastPosition);
             }
         }
     }
 }
Ejemplo n.º 9
0
        public static void Execute()
        {
            var target = TargetSelector.Target;

            if (target.IsValidTarget())
            {
                if (Util.myHero.IsInAutoAttackRange(target) && Champion.PassiveStack > 0)
                {
                    return;
                }
                if (Menu.GetCheckBoxValue("Q"))
                {
                    SpellManager.CastQ(target);
                }
                if (Menu.GetCheckBoxValue("E"))
                {
                    SpellManager.CastE1(target);
                }
                if (_Q.IsDashing || _Q.IsWaitingMissile || _Q.HasQ2Buff || (SpellSlot.Q.IsReady() && SpellSlot.Q.IsFirstSpell() && Menu.GetCheckBoxValue("Q")))
                {
                    return;
                }
                if (Menu.GetCheckBoxValue("W"))
                {
                    var damageI = target.GetBestCombo();
                    if (target.IsInAutoAttackRange(Util.myHero) && !damageI.IsKillable)
                    {
                        var obj = Champion.GetBestObjectFarFrom(target.Position);
                        if (obj != null && SpellManager.CanCastW1 && Extensions.Distance(Util.myHero, target, true) < Extensions.Distance(obj, target, true))
                        {
                            SpellManager.CastW1(obj);
                        }
                    }
                }
            }
        }
Ejemplo n.º 10
0
        public static void Execute()
        {
            var target = TargetSelector.Target;

            if (target.IsValidTarget())
            {
                if (Util.MyHero.HealthPercent <= Menu.GetSliderValue("Normal.W") && SpellSlot.W.IsReady())
                {
                    if (SpellSlot.W.IsFirstSpell())
                    {
                        if (target.IsInAutoAttackRange(Util.MyHero) || Util.MyHero.IsInAutoAttackRange(target))
                        {
                            SpellManager.CastW1(Util.MyHero);
                        }
                    }
                    else
                    {
                        if (Util.MyHero.IsInAutoAttackRange(target))
                        {
                            SpellManager.CastW2();
                        }
                    }
                }
                if (Util.MyHero.IsInAutoAttackRange(target) && Champion.PassiveStack > 2 - Menu.GetSliderValue("Normal.Stack"))
                {
                    return;
                }
                if (Menu.GetCheckBoxValue("Normal.R"))
                {
                    SpellManager.CastR(target);
                }
                var t = _R.BestHitR(Menu.GetSliderValue("Normal.R.Hit"));
                if (Menu.GetSliderValue("Normal.R.Hit") <= t.Item1)
                {
                    SpellManager.CastR(t.Item2);
                }
                if (Menu.GetCheckBoxValue("E"))
                {
                    SpellManager.CastE(target);
                }
                if (Menu.GetCheckBoxValue("Q") && SpellSlot.Q.IsReady())
                {
                    if (SpellSlot.Q.IsFirstSpell())
                    {
                        SpellManager.CastQ1(target);
                    }
                    else if (!target.HaveR())
                    {
                        SpellManager.CastQ2(target);
                    }
                }
                if (Menu.GetCheckBoxValue("W") && SpellSlot.W.IsReady() && !SpellSlot.W.IsFirstSpell() && Util.MyHero.IsInAutoAttackRange(target))
                {
                    SpellManager.CastW2();
                }
                if (_Q.IsDashing || _Q.IsWaitingMissile || _Q.HasQ2Buff)
                {
                    return;
                }
                if (Util.MyHero.Distance(target, true) > Math.Pow(500, 2) && Menu.GetCheckBoxValue("W") && SpellManager.CanCastW1)
                {
                    if (Menu.GetCheckBoxValue("Normal.Ward"))
                    {
                        Champion.GapCloseWithWard(target);
                    }
                    else
                    {
                        Champion.GapCloseWithoutWard(target);
                    }
                }
            }
        }