protected override void Harass()
 {
     if (ResourceManager.Check("harass"))
     {
         var useQ = Menu.Item(Menu.Name + ".harass.q").GetValue <bool>() && Q.IsReady();
         var useW = Menu.Item(Menu.Name + ".harass.w").GetValue <bool>() && W.IsReady();
         if (useQ)
         {
             Casting.SkillShot(Q, Q.GetHitChance("harass"));
         }
         if (useW)
         {
             WLogic();
         }
     }
     if (ResourceManager.Check("harass-r"))
     {
         var useR = Menu.Item(Menu.Name + ".harass.r").GetValue <bool>() && R.IsReady();
         if (useR && Menu.Item(Menu.Name + ".miscellaneous.r-max").GetValue <Slider>().Value > GetRBuffCount())
         {
             var target = TargetSelector.GetTarget(R);
             if (target != null &&
                 (Player.FlatMagicDamageMod > 50 ||
                  !GameObjects.Enemy.Any(e => e.IsValidTarget() && Orbwalking.InAutoAttackRange(e))))
             {
                 Casting.SkillShot(R, R.GetHitChance("harass"));
             }
         }
     }
 }
 protected override void Killsteal()
 {
     if (Menu.Item(Menu.Name + ".killsteal.r").GetValue <bool>() && R.IsReady())
     {
         var fPredEnemy =
             GameObjects.EnemyHeroes.Where(
                 e => e.IsValidTarget(R.Range) && !Orbwalking.InAutoAttackRange(e) && R.IsKillable(e))
             .Select(enemy => R.GetPrediction(enemy, true))
             .FirstOrDefault(pred => pred.Hitchance >= HitChance.High);
         if (fPredEnemy != null)
         {
             R.Cast(fPredEnemy.CastPosition);
         }
     }
 }