Exemple #1
0
        private static void Obj_AI_Base_OnIssueOrder(Obj_AI_Base sender, GameObjectIssueOrderEventArgs args)
        {
            if (sender == null || !sender.IsValid || !sender.IsMe)
            {
                return;
            }
            if (args.Order == GameObjectOrder.MoveTo)
            {
                if (Environment.TickCount - LastMove < Menu.Item("MovementDelay").GetValue <Slider>().Value&&
                    Menu.Item("MovementEnabled").GetValue <bool>())
                {
                    args.Process = false;
                    return;
                }
                if (ObjectHandler.Get <Obj_AI_Turret>().Any(t => t.IsEnemy && t.Distance(args.TargetPosition) < 800) &&
                    MetaHandler.CountNearbyAllyMinions(
                        ObjectHandler.Get <Obj_AI_Turret>()
                        .FirstOrDefault(t => t.IsEnemy && t.Distance(args.TargetPosition) < 800), 800) <= 2)
                {
                    args.Process = false;
                    return;
                }
                LastMove = Environment.TickCount;
            }

            if (args.Target == null)
            {
                return;
            }
            if (args.Target.IsEnemy && args.Target is Obj_AI_Hero && sender.UnderTurret(true) &&
                (args.Order == GameObjectOrder.AutoAttack || args.Order == GameObjectOrder.AttackUnit))
            {
                args.Process = false;
            }
        }