Exemplo n.º 1
0
        public override void Execute(Obj_AI_Hero target)
        {
            //Console.WriteLine(Delay);
            var bestPosFacing = GetBestPosition(HeroManager.Enemies.Where(item => item.IsFacingMe()));

            if (MinTargetsFacing <= bestPosFacing?.Item2)
            {
                Cast(bestPosFacing.Item1);
                return;
            }

            var bestPos = GetBestPosition(HeroManager.Enemies);

            if (bestPos?.Item2 >= MinTargetsNotFacing)
            {
                Cast(bestPos.Item1);
                return;
            }


            if (UltOnKillable && Provider.GetComboDamage(target) > target.Health && target.IsFacingMe() && target.HealthPercent > MinHealth && target.IsValidTarget() || PanicModeHealth > ObjectManager.Player.HealthPercent || BurstMode.IsActive())
            {
                var targetPos = CassW.GetMovementPrediction(target);
                if (targetPos.Distance(ObjectManager.Player.Position, true) < Range * Range)
                {
                    Cast(targetPos);
                }
            }
        }
Exemplo n.º 2
0
        public override void Execute(Obj_AI_Hero target)
        {
            var pred = GetPrediction(target);
            if (pred.Hitchance < Commons.Prediction.HitChance.Low) return;

            var targets = HeroManager.Enemies.Where(enemy => enemy.IsValidTarget(Range) && WillHit(enemy.Position, pred.CastPosition));
            var looking = targets.Count(trgt => trgt.IsFacingMe());

            if (looking >= MinTargetsFacing || targets.Count() >= MinTargetsNotFacing || UltOnKillable && Provider.GetComboDamage(target) > target.Health && target.IsFacingMe() && target.HealthPercent > MinHealth && target.IsValidTarget(Range) || PanicModeHealth > ObjectManager.Player.HealthPercent || BurstMode.IsActive())
            {
                Cast(pred.CastPosition);
            }
        }
Exemplo n.º 3
0
        public override void Execute(Obj_AI_Hero target)
        {
            //Console.WriteLine(Delay);

            if (MinEnemiesOnlyInCombo)
            {
                TryMassUlt();
            }

            if (!target.IsValidTarget())
            {
                return;
            }

            if (UltOnKillable && Provider.GetComboDamage(target) > target.Health && target.IsFacingMe() && target.HealthPercent > MinHealth || PanicModeHealth > ObjectManager.Player.HealthPercent || BurstMode.IsActive())
            {
                var targetPos = CassW.GetMovementPrediction(target);
                if (targetPos.Distance(ObjectManager.Player.Position, true) < Range * Range)
                {
                    Cast(targetPos);
                }
            }
        }
Exemplo n.º 4
0
        public override void Execute(Obj_AI_Hero target)
        {
            var pred = GetPrediction(target);

            if (pred.Hitchance < HitChance.Low)
            {
                return;
            }

            var targets = HeroManager.Enemies.Where(enemy => enemy.IsValidTarget(Range) && WillHit(enemy.Position, pred.CastPosition));
            var looking = targets.Count(trgt => trgt.IsFacingMe());

            if (looking >= MinTargetsFacing || targets.Count() >= MinTargetsNotFacing || UltOnKillable && Provider.GetComboDamage(target) > target.Health && target.IsFacingMe() && target.HealthPercent > MinHealth && target.IsValidTarget(Range) || PanicModeHealth > ObjectManager.Player.HealthPercent || BurstMode.IsActive())
            {
                Cast(pred.CastPosition);
            }
        }