private static void PermaActive(EventArgs args) { if (Menu.Config.Item("ks.q").IsActive()) { foreach (var enemy in HeroManager.Enemies.Where(e => Q.CanCast(e) && Q.IsKillable(e))) { Q.Cast(enemy); return; } } if (Menu.Config.Item("ks.r").IsActive()) { var r2 = Player.HasBuff("corkimissilebarragecounterbig"); if (r2) { foreach (var enemy in HeroManager.Enemies.Where(e => R.CanCast(e) && R.IsKillable(e))) { R.Cast(enemy); return; } } else { foreach (var enemy in HeroManager.Enemies.Where(e => R2.CanCast(e) && R2.IsKillable(e))) { R2.Cast(enemy); return; } } } }
public static void Combo() { var target = TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Physical); if (target != null) { if (Menu.Config.Item("q.combo").IsActive()) { if (Q.CanCast(target)) { if (target.IsMoving && target.Path.ToList().Count >= 2) { //var qpred = Q.GetPrediction(target); var x = target.Position.Extend(Prediction.GetPrediction(target, Q.Delay).UnitPosition, 300); if (Q.IsInRange(x)) { Q.Cast(x); return; } } var qpred = Q.GetPrediction(target); if (qpred.Hitchance >= HitChance.Dashing) { Q.Cast(qpred.CastPosition); } } } if (Menu.Config.Item("e.combo").IsActive()) { if (E.IsReady() && Player.IsFacing(target)) { E.Cast(target); } } } if (Menu.Config.Item("r.combo").IsActive() && Menu.Config.Item("r.combo.stacks").GetValue <Slider>().Value < R.Instance.Ammo) { if (R.IsReady()) { var r2 = Player.HasBuff("corkimissilebarragecounterbig"); if (!r2) { var rtarget = TargetSelector.GetTarget(R.Range, TargetSelector.DamageType.Magical); if (rtarget == null) { return; } var pred = R.GetPrediction(rtarget); if (R.CanCast(rtarget)) { switch (pred.Hitchance) { case HitChance.High: case HitChance.VeryHigh: case HitChance.Immobile: R.Cast(pred.CastPosition); break; case HitChance.Collision: var colliding = pred.CollisionObjects.OrderBy(o => o.Distance(Player.ServerPosition)).ToList(); if (colliding[0].Distance(rtarget.ServerPosition) <= 200 + colliding[0].BoundingRadius) { R.Cast(pred.CastPosition); } break; } } } else { var rtarget = TargetSelector.GetTarget(R2.Range, TargetSelector.DamageType.Magical); if (rtarget == null) { return; } var pred = R2.GetPrediction(rtarget); if (R2.CanCast(rtarget)) { switch (pred.Hitchance) { case HitChance.High: case HitChance.VeryHigh: case HitChance.Immobile: R2.Cast(pred.CastPosition); break; case HitChance.Collision: var colliding = pred.CollisionObjects.OrderBy(o => o.Distance(Player.ServerPosition)).ToList(); if (colliding[0].Distance(rtarget.ServerPosition) <= 200 + colliding[0].BoundingRadius) { R.Cast(pred.CastPosition); } break; } } } } } }