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); } } }
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); } }
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); } } }
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); } }