Example #1
0
        private void FlashUlt()
        {
            if (!SummonerManager.Flash_Ready() || Utils.TickCount - _lastFlash < 500)
            {
                return;
            }

            var vec   = Player.ServerPosition.Extend(Game.CursorPos, R.Range + 400);
            var count = HeroManager.Enemies.Count(x => x.IsValidTarget() && R2.WillHit(x, vec));

            if (count == 0)
            {
                return;
            }

            Player.Spellbook.CastSpell(SpellSlot.R, vec);
            _flashVec  = vec;
            _lastFlash = Utils.TickCount;
        }
Example #2
0
 private static void Fight(string mode)
 {
     if (GetValue <bool>(mode, "P") && HaveP && Orbwalk.GetBestHeroTarget != null && Orbwalk.CanAttack)
     {
         return;
     }
     if (GetValue <bool>(mode, "Q") && Q.IsReady())
     {
         if (IsQOne)
         {
             var target = Q.GetTarget();
             if (target != null)
             {
                 var state = Q.Cast(target, PacketCast);
                 if (state.IsCasted())
                 {
                     return;
                 }
                 if (state == Spell.CastStates.Collision && GetValue <bool>(mode, "QCol") && Smite.IsReady())
                 {
                     var pred = Q.GetPrediction(target);
                     if (
                         pred.CollisionObjects.Count(
                             i => i.IsValid <Obj_AI_Minion>() && IsSmiteable((Obj_AI_Minion)i)) == 1 &&
                         CastSmite(pred.CollisionObjects.First()) && Q.Cast(pred.CastPosition, PacketCast))
                     {
                         return;
                     }
                 }
             }
         }
         else
         {
             var target = Q2.GetTarget(0, HeroManager.Enemies.Where(i => !HaveQ(i)));
             if (target != null &&
                 (QAgain(target) ||
                  ((target.HasBuffOfType(BuffType.Knockback) || target.HasBuffOfType(BuffType.Knockup)) &&
                   Player.Distance(target) > 300 && !R.IsReady() && Utils.TickCount - R.LastCastAttemptT < 1500) ||
                  Q.IsKillable(target, 1) || !Orbwalk.InAutoAttackRange(target, 100) || !HaveP) &&
                 Q2.Cast(PacketCast))
             {
                 return;
             }
             if (target == null)
             {
                 var sub = Q2.GetTarget();
                 if (sub != null &&
                     ObjHaveQ.Any(i => i.Distance(sub) < Player.Distance(sub) && i.Distance(sub) < E.Range) &&
                     Q2.Cast(PacketCast))
                 {
                     return;
                 }
             }
         }
     }
     if (GetValue <bool>(mode, "Smite") && CurrentSmiteType == SmiteType.Red)
     {
         var target = TargetSelector.GetTarget(760, TargetSelector.DamageType.Physical);
         if (target != null)
         {
             CastSmite(target, false);
         }
         return;
     }
     if (GetValue <bool>(mode, "E") && E.IsReady())
     {
         if (IsEOne)
         {
             if (E.GetTarget() != null && Player.Mana >= 70 && E.Cast(PacketCast))
             {
                 return;
             }
         }
         else if (
             HeroManager.Enemies.Where(i => i.IsValidTarget(E2.Range) && HaveE(i))
             .Any(i => EAgain(i) || !Orbwalk.InAutoAttackRange(i, 50) || !HaveP) && Player.Mana >= 50 &&
             E2.Cast(PacketCast))
         {
             return;
         }
     }
     if (GetValue <bool>(mode, "R") && R.IsReady())
     {
         var target = R.GetTarget(0, HeroManager.Enemies.Where(i => !HaveQ(i)));
         if (GetValue <bool>(mode, "Q") && Q.IsReady() && !IsQOne && target != null)
         {
             if (CanKill(target, GetQ2Dmg(target, R.GetDamage(target))) && R.CastOnUnit(target, PacketCast))
             {
                 return;
             }
         }
         else
         {
             foreach (var enemy in
                      HeroManager.Enemies.Where(i => i.IsValidTarget(R.Range) && !R.IsKillable(i)))
             {
                 R2.UpdateSourcePosition(enemy.ServerPosition, enemy.ServerPosition);
                 var enemyBehind =
                     HeroManager.Enemies.Where(
                         i =>
                         i.IsValidTarget(R2.Range) && i.NetworkId != enemy.NetworkId &&
                         R2.WillHit(
                             i, enemy.ServerPosition.Extend(Player.ServerPosition, -R2.Range),
                             (int)enemy.BoundingRadius)).ToList();
                 if (GetValue <bool>(mode, "RBehind") && enemyBehind.Any(i => R.IsKillable(i)) &&
                     R.CastOnUnit(enemy, PacketCast))
                 {
                     break;
                 }
                 if (enemyBehind.Count >= GetValue <Slider>(mode, "RCount").Value&&
                     R.CastOnUnit(enemy, PacketCast))
                 {
                     break;
                 }
             }
         }
     }
     if (GetValue <bool>(mode, "W") && W.IsReady() && Orbwalk.GetBestHeroTarget != null)
     {
         if (IsWOne)
         {
             if (Player.HealthPercent < GetValue <Slider>(mode, "WHpU").Value)
             {
                 W.Cast(PacketCast);
             }
         }
         else if (!Player.HasBuff("BlindMonkSafeguard") &&
                  (Player.HealthPercent < GetValue <Slider>(mode, "WHpU").Value || !HaveP))
         {
             W.Cast(PacketCast);
         }
     }
 }