Example #1
0
 private static void Fight(string mode)
 {
     if (mode == "Combo" && GetValue <bool>(mode, "R") && R.IsReady())
     {
         var target = R.GetTarget();
         if (target != null && CanKill(target, GetRDmg(target)))
         {
             if (Player.Distance(target) > 550 ||
                 (!Orbwalking.InAutoAttackRange(target) && (!GetValue <bool>(mode, "Q") || !Q.IsReady()) &&
                  (!GetValue <bool>(mode, "W") || !W.IsReady()) && (!GetValue <bool>(mode, "E") || !E.IsReady())))
             {
                 if (R.Cast(target).IsCasted())
                 {
                     if (GetValue <bool>(mode, "RItem") && Youmuu.IsReady())
                     {
                         LeagueSharp.Common.Utility.DelayAction.Add(10, () => Youmuu.Cast());
                     }
                     return;
                 }
             }
         }
     }
     if (mode == "Combo" && GetValue <bool>(mode, "E") && GetValue <bool>(mode, "EGap") && E.IsReady())
     {
         var target = E.GetTarget(Orbwalking.GetAutoAttackRange() - 30);
         if (target != null && !Orbwalking.InAutoAttackRange(target) &&
             Orbwalking.InAutoAttackRange(target, 20, Player.ServerPosition.Extend(Game.CursorPos, E.Range)) &&
             E.Cast(Player.ServerPosition.Extend(Game.CursorPos, E.Range)))
         {
             return;
         }
     }
     if (GetValue <bool>(mode, "PSave") && HavePassive)
     {
         return;
     }
     if (GetValue <bool>(mode, "E") &&
         (E.IsReady() || (mode == "Combo" && E.IsReady(GetValue <Slider>(mode, "EDelay").Value))))
     {
         return;
     }
     if (GetValue <bool>(mode, "Q") && Q.IsReady())
     {
         var target = Q.GetTarget() ?? Q2.GetTarget();
         if (target != null)
         {
             if (((Orbwalking.InAutoAttackRange(target) && !HavePassive) ||
                  (!Orbwalking.InAutoAttackRange(target, 20) && Q.IsInRange(target))) &&
                 Q.CastOnUnit(target))
             {
                 return;
             }
             if ((mode == "Harass" || GetValue <bool>(mode, "QExtend")) && !Q.IsInRange(target) &&
                 CastExtendQ(target))
             {
                 return;
             }
         }
     }
     if ((!GetValue <bool>(mode, "Q") || !Q.IsReady()) && GetValue <bool>(mode, "W") && W.IsReady() &&
         !Player.IsDashing())
     {
         var target = W.GetTarget();
         if (target != null &&
             ((Orbwalking.InAutoAttackRange(target) && !HavePassive) || !Orbwalking.InAutoAttackRange(target, 20)))
         {
             if (Orbwalking.InAutoAttackRange(target))
             {
                 W2.CastIfWillHit(target, -1);
             }
             else
             {
                 W.CastIfWillHit(target, -1);
             }
         }
     }
 }