private void OnCorePostUpdate(EventArgs args)
 {
     try
     {
         if (Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.LaneClear ||
             Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.LastHit)
         {
             if (Cards.Has(CardColor.Red))
             {
                 var range   = Player.AttackRange + Player.BoundingRadius * 1.5f;
                 var minions = MinionManager.GetMinions(range, MinionTypes.All, MinionTeam.NotAlly);
                 var pred    =
                     MinionManager.GetBestCircularFarmLocation(
                         minions.Select(m => m.Position.To2D()).ToList(), 500, range);
                 var target = minions.OrderBy(m => m.Distance(pred.Position)).FirstOrDefault();
                 if (target != null)
                 {
                     Orbwalker.ForceTarget(target);
                 }
             }
         }
         if (!Cards.ShouldWait && Cards.Status != SelectStatus.Selecting && Cards.Status != SelectStatus.Selected)
         {
             Orbwalker.ForceTarget(null);
         }
         if (Cards.Status != SelectStatus.Selected)
         {
             if (Menu.Item(Menu.Name + ".manual.blue").GetValue <KeyBind>().Active)
             {
                 Cards.Select(CardColor.Blue);
             }
             if (Menu.Item(Menu.Name + ".manual.red").GetValue <KeyBind>().Active)
             {
                 Cards.Select(CardColor.Red);
             }
             if (Menu.Item(Menu.Name + ".manual.gold").GetValue <KeyBind>().Active)
             {
                 Cards.Select(CardColor.Gold);
             }
         }
     }
     catch (Exception ex)
     {
         Global.Logger.AddItem(new LogItem(ex));
     }
 }