public override void Execute() { var jgminion = EntityManager.MinionsAndMonsters.GetJungleMonsters() .OrderByDescending(j => j.Health) .FirstOrDefault(j => j.IsValidTarget(E.Range)); if (jgminion == null) { return; } var minionE = EntityManager.MinionsAndMonsters.GetLaneMinions() .OrderByDescending(m => m.Health) .FirstOrDefault( m => m.IsValidTarget(E.Range) && Prediction.Health.GetPrediction(m, E.CastDelay) <= SpellDamage.GetRealDamage(SpellSlot.E, m) && Prediction.Health.GetPrediction(m, E.CastDelay) > 10); if (minionE != null) { E.Cast(minionE); } if (Q.IsReady() && jgminion.IsValidTarget(Q.Range) && Settings.UseQ && Player.Instance.IsFacing(jgminion) && Player.Instance.Mana <= 60) { Q.Cast(); } }
public override void Execute() { var minion = EntityManager.MinionsAndMonsters.GetLaneMinions() .OrderByDescending(m => m.Health) .FirstOrDefault(m => m.IsValidTarget(E.Range)); if (minion == null) { return; } if (E.IsReady() && minion.IsValidTarget(E.Range) && Settings.UseE) { var minionE = EntityManager.MinionsAndMonsters.GetLaneMinions() .OrderByDescending(m => m.Health) .FirstOrDefault( m => m.IsValidTarget(E.Range) && m.Health <= SpellDamage.GetRealDamage(SpellSlot.E, m)); if (minionE != null) { E.Cast(minionE); } } }
public override void Execute() { var minion = EntityManager.MinionsAndMonsters.GetLaneMinions() .OrderByDescending(m => m.Health) .FirstOrDefault(m => m.IsValidTarget(Q.Range)); //if (minion == null || Settings.ManaLast >= Player.Instance.ManaPercent) return; if (E.IsReady() && minion.IsValidTarget(E.Range) && Settings.UseE && Settings.LastMana < Player.Instance.ManaPercent) { var minionE = EntityManager.MinionsAndMonsters.GetLaneMinions() .OrderByDescending(m => m.Health) .FirstOrDefault( m => m.IsValidTarget(E.Range) && m.Health <= SpellDamage.GetRealDamage(SpellSlot.E, m)); if (minionE != null) { E.Cast(minion); } } if (Q.IsReady() && minion.IsValidTarget(Q.Range) && Settings.UseQ && Settings.LastMana < Player.Instance.ManaPercent) { var minionQ = EntityManager.MinionsAndMonsters.GetLaneMinions() .OrderByDescending(m => m.Health) .FirstOrDefault( m => m.IsValidTarget(E.Range) && m.Health <= SpellDamage.GetRealDamage(SpellSlot.Q, m)); if (minionQ != null) { Q.Cast(minion); } } }
public override void Execute() { if (Q.IsReady() && Settings.UseQ && Player.Instance.ManaPercent >= Settings.ManaLane) { var minionq = EntityManager.MinionsAndMonsters.EnemyMinions.FirstOrDefault( m => m.IsValidTarget(Q.Range) && m.Health <= SpellDamage.GetRealDamage(SpellSlot.Q, m)); if (minionq != null) { Q.Cast(minionq); } } if (EventsManager.CanW && Settings.UseW && Player.Instance.ManaPercent >= Settings.ManaLane) { var minionw = EntityManager.MinionsAndMonsters.EnemyMinions.FirstOrDefault( m => m.IsValidTarget(Player.Instance.GetAutoAttackRange())); if (minionw != null) { W.Cast(); } } }
public override void Execute() { var minion = EntityManager.MinionsAndMonsters.GetLaneMinions() .OrderByDescending(m => m.Health) .FirstOrDefault(m => m.IsValidTarget(Q.Range)); if (minion == null) { return; } if (Settings.UseQ && Q.IsReady()) { var minionQ = EntityManager.MinionsAndMonsters.GetLaneMinions() .FirstOrDefault( m => m.IsValidTarget(Q.Range) && m.IsEnemy && m.Health < SpellDamage.GetRealDamage(SpellSlot.Q, m)); if (minionQ != null) { Q.Cast(minionQ); } } }
public override void Execute() { var minion = EntityManager.MinionsAndMonsters.GetLaneMinions() .OrderByDescending(m => m.Health) .FirstOrDefault(m => m.IsValidTarget(Q.Range)); if (minion == null) { return; } //TODO TEST THIS CODE if (E.IsReady() && minion.IsValidTarget(E.Range) && Settings.UseE) { var minions = EntityManager.MinionsAndMonsters.GetLaneMinions(EntityManager.UnitTeam.Enemy, Player.Instance.ServerPosition, E.Range, false).ToArray(); if (minions.Length == 0) { return; } var farmLocation = EntityManager.MinionsAndMonsters.GetCircularFarmLocation(minions, W.Range, (int)E.Range); if (farmLocation.HitNumber >= 3) { E.Cast(farmLocation.CastPosition); } } if (W.IsReady() && minion.IsValidTarget(W.Range) && Settings.UseW) { var minionW = EntityManager.MinionsAndMonsters.GetLaneMinions() .OrderByDescending(m => m.Health) .FirstOrDefault( m => m.IsValidTarget(E.Range) && m.Health <= SpellDamage.GetRealDamage(SpellSlot.W, m)); if (minionW != null) { W.Cast(); } } if (Q.IsReady() && minion.IsValidTarget(Q.Range) && Settings.UseQ) { var minionQ = EntityManager.MinionsAndMonsters.GetLaneMinions() .OrderByDescending(m => m.Health) .FirstOrDefault( m => m.IsValidTarget(E.Range) && m.Health <= SpellDamage.GetRealDamage(SpellSlot.Q, m)); if (minionQ != null) { Q.Cast(minion); } } }
public override void Execute() { if (Settings.UseR && R.IsReady()) { var hero = EntityManager.Heroes.Enemies.OrderByDescending(e => e.Distance(Player.Instance)).FirstOrDefault( e => e.IsVisible && e.HasBuffOfType(BuffType.Stun) || e.HasBuffOfType(BuffType.Knockup) || e.HasBuffOfType(BuffType.Snare)); if (hero != null) { R.Cast(hero); } var target = TargetSelector.GetTarget(Settings.maxR, DamageType.Physical); if (target == null || target.IsZombie) { return; } if (!target.IsInRange(Player.Instance, Settings.minR) && target.Health <= SpellDamage.GetRealDamage(SpellSlot.R, target) && target.Health >= Settings.MinHealthR) { R.Cast(target); } } if (Configs.UseQ && Q.IsReady() && Configs.ManaAutoHarass <= Player.Instance.ManaPercent) { var target = TargetSelector.GetTarget(Q.Range, DamageType.Physical); if (target == null || target.IsZombie) { return; } if (target.IsValidTarget(Q.Range)) { Q.Cast(target); } } if (Configs.UseW && W.IsReady() && Configs.ManaAutoHarass <= Player.Instance.ManaPercent) { var target = TargetSelector.GetTarget(W.Range, DamageType.Physical); if (target == null || target.IsZombie) { return; } if (target.IsValidTarget(W.Range)) { W.Cast(target); } } }
public override void Execute() { if (Player.Instance.CanAttack && Settings.UseAA) { var targetAutoAttack = TargetSelector.GetTarget(Player.Instance.AttackRange * 2, DamageType.Physical); if (targetAutoAttack != null) { if (targetAutoAttack.HasBuff("caitlynyordletrapinternal")) { Player.IssueOrder(GameObjectOrder.AttackUnit, targetAutoAttack); } } } if (Settings.UseQCC && Q.IsReady()) { var target = TargetSelector.GetTarget(Q.Range, DamageType.Physical); if (target != null) { if (target.HasBuffOfType(BuffType.Stun) || target.HasBuffOfType(BuffType.Snare) || target.HasBuffOfType(BuffType.Knockup)) { Q.Cast(target); } } } if (Settings.UseWCC && _lastW + 1500 > Environment.TickCount && W.IsReady()) { var target = TargetSelector.GetTarget(W.Range, DamageType.Physical); if (target != null) { if (target.HasBuffOfType(BuffType.Stun) || target.HasBuffOfType(BuffType.Snare) || target.HasBuffOfType(BuffType.Knockup)) { W.Cast(target); _lastW = Environment.TickCount; } } } if (R.IsReady() && Settings.KeyR) { var targetR = TargetSelector.GetTarget(SpellManager.R.Range, DamageType.Physical); if (targetR != null) { if (targetR.IsValidTarget(R.Range) && targetR.Health < SpellDamage.GetRealDamage(SpellSlot.R, targetR)) { R.Cast(targetR); } } } }
public override void Execute() { var target = TargetSelector.GetTarget(E.Range, DamageType.Magical); if (target != null && !target.IsZombie && !target.HasUndyingBuff()) { if (E.IsReady() && target.IsValidTarget(E.Range) && Settings.UseE && (Functions.ShouldOverload(SpellSlot.E) || Player.Instance.Mana < 80)) { var pred = E.GetPrediction(target); if (pred.HitChance >= HitChance.Medium) { E.Cast(E.GetPrediction(target).CastPosition); } } if (Player.Instance.Spellbook.GetSpell(SpellSlot.E).ToggleState == 1) { var pred = E.GetPrediction(target); if (pred.HitChance >= HitChance.Medium) { E.Cast(E.GetPrediction(target).CastPosition); } } if (Q.IsReady() && target.IsValidTarget(Q.Range) && Settings.UseQ && Player.Instance.IsFacing(target) && (Functions.ShouldOverload(SpellSlot.Q) || Player.Instance.Mana < 80)) { Q.Cast(); } } var targetR = TargetSelector.GetTarget(R.Range, DamageType.Magical); if (targetR == null || targetR.IsZombie || targetR.HasUndyingBuff()) { return; } if (R.IsReady() && targetR.IsValidTarget(R.Range) && Settings.UseR && !targetR.IsInRange(Player.Instance, E.Range) && !targetR.IsFacing(Player.Instance)) { if (Settings.UseRKillable && Prediction.Health.GetPrediction(targetR, R.CastDelay) <= SpellDamage.GetRealDamage(SpellSlot.R, targetR)) { Functions.CastR(targetR, Settings.MinR); } else { Functions.CastR(targetR, Settings.MinR); } } }
public override void Execute() { var target = TargetSelector.GetTarget(Q.Range, DamageType.Magical); if (target == null || target.IsZombie || target.HasUndyingBuff()) { return; } //RKS if (SpellManager.R.IsReady() && target.IsValidTarget(R.Range) && Prediction.Health.GetPrediction(target, R.CastDelay) <= SpellDamage.GetRealDamage(SpellSlot.R, target) && Prediction.Health.GetPrediction(target, R.CastDelay) > Misc.OverkillR) { R.Cast(target); } //RKS //AutoHarass var tower = EntityManager.Turrets.Allies.FirstOrDefault(t => t.IsInRange(Player.Instance, 920)); if (tower == null && Settings.KeyAutoHarass) { if (Q.IsReady() && E.IsReady() && target.IsValidTarget(QE.Range) && Settings.UseAutoQ && Settings.UseAutoE && Player.Instance.ManaPercent > Settings.ManaAutoHarass) { Functions.QE(QE.GetPrediction(target).CastPosition); } else { if (Q.IsReady() && target.IsValidTarget(Q.Range) && Settings.UseAutoQ && Player.Instance.ManaPercent > Settings.ManaAutoHarass) { Q.Cast(target); } if (E.IsReady() && target.IsValidTarget(E.Range) && Settings.UseAutoE && Player.Instance.ManaPercent > Settings.ManaAutoHarass) { E.Cast(target); } } if (W.IsReady() && target.IsValidTarget(W.Range) && Settings.UseAutoE && Player.Instance.ManaPercent > Settings.ManaAutoHarass) { if (Player.Instance.Spellbook.GetSpell(SpellSlot.W).ToggleState != 2 && lastWCast + 1000 < Environment.TickCount) { W.Cast(Functions.GrabWPost(false)); lastWCast = Environment.TickCount; } if (Player.Instance.Spellbook.GetSpell(SpellSlot.W).ToggleState == 2 && lastWCast + 500 < Environment.TickCount) { W.Cast(W.GetPrediction(target).CastPosition); } } } }
public override void Execute() { var target = TargetSelector.GetTarget(R.Range, DamageType.Magical); if (target == null || target.IsZombie) { return; } if (R.IsReady() && target.IsValidTarget(R.Range) && target.Health <= SpellDamage.GetRealDamage(SpellSlot.R, target)) { R.Cast(target); } }
public override void Execute() { if (Q.IsReady() && Settings.UseQ && Player.Instance.ManaPercent >= Settings.LastMana) { var minionq = EntityManager.MinionsAndMonsters.EnemyMinions.FirstOrDefault( m => m.IsValidTarget(Q.Range) && m.Health < SpellDamage.GetRealDamage(SpellSlot.Q, m)); if (minionq != null) { Q.Cast(minionq); } } }
public override void Execute() { var enemy = EntityManager.Heroes.Enemies.FirstOrDefault( e => e.Health <= SpellDamage.GetRealDamage(SpellSlot.Q, e) + SpellDamage.GetRealDamage(SpellSlot.W, e)); if (W.IsReady() && Q.IsReady() && Settings.QWKillSteal && Player.Instance.ManaPercent >= Settings.KillStealMana && enemy.IsValidTarget(Q.Range)) { W.Cast(); Q.Cast(enemy); } }
public override void Execute() { var laneMinion = EntityManager.MinionsAndMonsters.GetLaneMinions() .FirstOrDefault(m => m.IsValidTarget(Q.Range) && m.Health <= SpellDamage.GetRealDamage(SpellSlot.Q, m)); if (laneMinion == null) { return; } if (Settings.UseQ && Q.IsReady() && Settings.LastMana <= Player.Instance.ManaPercent && !Player.Instance.IsInAutoAttackRange(laneMinion)) { Q.Cast(laneMinion); } }
public override void Execute() { if (Q.IsReady() && Settings.UseQ) { var minionQ = EntityManager.MinionsAndMonsters.GetLaneMinions() .OrderByDescending(m => m.Health) .FirstOrDefault( m => m.IsValidTarget(Q.Range) && m.Health <= SpellDamage.GetRealDamage(SpellSlot.Q, m)); if (minionQ != null && !Player.Instance.IsInAutoAttackRange(minionQ) && Player.Instance.ManaPercent > Settings.LastMana) { Q.Cast(minionQ); } } }
public override void Execute() { var target = TargetSelector.GetTarget(QE.Range, DamageType.Magical); if (target == null || target.IsZombie || target.HasUndyingBuff()) { return; } if (R.IsReady() && target.IsValidTarget(R.Range) && Settings.UseR && target.Health <= SpellDamage.GetRealDamage(SpellSlot.R, target) && target.Health > Misc.OverkillR) { R.Cast(target); } if (Q.IsReady() && E.IsReady() && target.IsValidTarget(QE.Range) && Settings.UseQ && Settings.UseE) { Functions.QE(QE.GetPrediction(target).CastPosition); } else { if (Q.IsReady() && target.IsValidTarget(Q.Range) && Settings.UseQ) { Q.Cast(target); } if (E.IsReady() && target.IsValidTarget(E.Range) && Settings.UseE) { E.Cast(target); } } if (W.IsReady() && target.IsValidTarget(W.Range) && Settings.UseW) { if (Player.Instance.Spellbook.GetSpell(SpellSlot.W).ToggleState != 2 && lastWCast + 650 < Environment.TickCount) { W.Cast(Functions.GrabWPost(false)); lastWCast = Environment.TickCount; } if (Player.Instance.Spellbook.GetSpell(SpellSlot.W).ToggleState == 2 && lastWCast + 300 < Environment.TickCount) { W.Cast(W.GetPrediction(target).CastPosition); } } }
public override void Execute() { var minion = EntityManager.MinionsAndMonsters.GetLaneMinions() .OrderByDescending(m => m.Health) .FirstOrDefault(m => m.IsValidTarget(Q.Range)); if (minion == null) { return; } if (W.IsReady() && Settings.UseW) { W.Cast(Player.Instance.Position.Extend(minion.Position, W.Range).To3D()); } if (E.IsReady() && minion.IsValidTarget(E.Range) && Settings.UseE) { var minionE = EntityManager.MinionsAndMonsters.GetLaneMinions() .OrderByDescending(m => m.Health) .FirstOrDefault( m => m.IsValidTarget(E.Range) && m.Health <= SpellDamage.GetRealDamage(SpellSlot.E, m)); if (minionE != null) { E.Cast(minionE); } } if (Q.IsReady() && minion.IsValidTarget(Q.Range) && Settings.UseQ) { var minionQ = EntityManager.MinionsAndMonsters.GetLaneMinions() .OrderByDescending(m => m.Health) .FirstOrDefault( m => m.IsValidTarget(Q.Range) && m.Health <= SpellDamage.GetRealDamage(SpellSlot.Q, m)); if (minionQ != null) { Q.Cast(minionQ); } } }
public override void Execute() { var laneMinion = EntityManager.MinionsAndMonsters.GetLaneMinions() .OrderByDescending(m => m.Health) .FirstOrDefault( m => m.IsValidTarget(Q.Range) && m.Health <= SpellDamage.GetRealDamage(SpellSlot.Q, m)); if (laneMinion == null && Orbwalker.IsAutoAttacking) { return; } if (Settings.UseQ && Q.IsReady() && Settings.ManaLane <= Player.Instance.ManaPercent) { Q.Cast(laneMinion); } }
public override void Execute() { var minion = EntityManager.MinionsAndMonsters.GetLaneMinions() .OrderByDescending(m => m.Health) .FirstOrDefault(m => m.IsValidTarget(Q.Range)); if (minion == null) { return; } if (Q.IsReady() && minion.IsValidTarget(Q.Range) && Settings.UseQ) { Q.Cast(minion); } var minions = EntityManager.MinionsAndMonsters.GetLaneMinions() .Where( m => m.Health <= SpellDamage.GetRealDamage(SpellSlot.E, m) && m.IsEnemy && m.IsValidTarget(E.Range)) .ToArray(); if (minions.Length == 0) { return; } var farmLocation = Prediction.Position.PredictCircularMissileAoe(minions, E.Range, E.Width, E.CastDelay, E.Speed).OrderByDescending(r => r.GetCollisionObjects <Obj_AI_Minion>().Length).FirstOrDefault(); if (farmLocation != null && Settings.UseE && Settings.LastMana <= Player.Instance.ManaPercent) { var predictedMinion = farmLocation.GetCollisionObjects <Obj_AI_Minion>(); if (predictedMinion.Length >= Settings.ECount) { E.Cast(farmLocation.CastPosition); PermaActive.CastedE = true; } } }
public override void Execute() { var minion = EntityManager.MinionsAndMonsters.GetLaneMinions() .FirstOrDefault( m => m.IsValidTarget(Q.Range) && !m.IsInRange(Player.Instance, Player.Instance.AttackRange) && (m.Health <= SpellDamage.GetRealDamage(SpellSlot.Q, m))); if (minion == null) { return; } if (Q.IsReady() && Settings.UseQ) { Q.Cast(minion); } }
public override void Execute() { var minion = EntityManager.MinionsAndMonsters.GetLaneMinions() .OrderByDescending(m => m.Health) .FirstOrDefault(m => m.IsValidTarget(Q.Range)); if (minion == null) { return; } if (Q.IsReady() && minion.IsValidTarget(Q.Range) && Settings.UseQ) { var minionQ = EntityManager.MinionsAndMonsters.GetLaneMinions() .OrderByDescending(m => m.Health) .FirstOrDefault( m => m.IsValidTarget(Q.Range) && m.Health <= SpellDamage.GetRealDamage(SpellSlot.Q, m) && m.CountEnemiesInRange(400) >= 1); if (minionQ != null) { Q.Cast(minion); } } if (EventsManager.CanW && minion.IsValidTarget(W.Range) && Settings.UseW) { var minionW = EntityManager.MinionsAndMonsters.GetLaneMinions() .OrderByDescending(m => m.Health) .FirstOrDefault( m => m.IsValidTarget(Q.Range) && m.Health <= SpellDamage.GetRealDamage(SpellSlot.W, m) + Player.Instance.GetAutoAttackDamage(m) && m.CountEnemiesInRange(400) >= 1); if (minionW != null) { W.Cast(); } } }
public override void Execute() { var minion = EntityManager.MinionsAndMonsters.GetLaneMinions() .OrderByDescending(m => m.Health) .FirstOrDefault(m => m.IsValidTarget(Q.Range)); if (minion == null) { return; } if (Settings.UseQ && Q.IsReady()) { var minionQ = EntityManager.MinionsAndMonsters.GetLaneMinions() .FirstOrDefault( m => m.IsValidTarget(Q.Range) && m.IsEnemy && m.Health < SpellDamage.GetRealDamage(SpellSlot.Q, m)); if (minionQ != null) { Q.Cast(minionQ); } } if (Settings.UseW && W.IsReady() && minion.IsValidTarget(W.Range) && !Player.Instance.HasBuff("burningagony")) { { W.Cast(); } } if (Settings.UseE && E.IsReady() && minion.IsValidTarget(E.Range)) { { E.Cast(); } } }
public override void Execute() { var target = TargetSelector.GetTarget(R.Range, DamageType.Physical); if (target == null || target.IsZombie) { return; } if (R.IsReady() && Settings.UseR) { var stacks = target.GetBuffCount("tristanaecharge"); if (stacks > 0) { if (target.Health <= (SpellDamage.GetRealDamage(SpellSlot.E, target) * ((0.3 * stacks) + 1) + SpellDamage.GetRealDamage(SpellSlot.R, target))) { R.Cast(target); } } } if (R.IsReady() && Settings.UseR) { if (target.Health <= (SpellDamage.GetRealDamage(SpellSlot.R, target)) && target.Health > Player.Instance.TotalAttackDamage) { R.Cast(target); } } if (R.IsReady() /* && Settings.UseRTower*/) { if (target.RPos().AllyTower()) { R.Cast(target); } } }
public override void Execute() { var target = TargetSelector.GetTarget(R.Range, DamageType.Magical); if (target == null || target.IsZombie) { return; } //Passive Follow target if (Player.Instance.IsDead) { Player.IssueOrder(GameObjectOrder.MoveTo, target); } //Passive Follow target //R KS if (R.IsReady() && target.IsValidTarget(R.Range) && target.Health <= SpellDamage.GetRealDamage(SpellSlot.R, target)) { R.Cast(target); } //R KS }
public override void Execute() { if (CastedE) { if (Player.Instance.Spellbook.GetSpell(SpellSlot.E).ToggleState == 2 || Player.Instance.Spellbook.GetSpell(SpellSlot.E).ToggleState == 1) { E.Cast(Player.Instance); CastedE = false; } else { CastedE = false; } } if (R.IsReady() && Settings.KillStealR && Player.Instance.ManaPercent >= Settings.KillStealMana) { var targetR = TargetSelector.GetTarget(R.Range, DamageType.Magical); if (targetR != null && !targetR.IsZombie && !targetR.HasUndyingBuff() && targetR.CountAlliesInRange(1000) < 3) { var predHealth = Prediction.Health.GetPrediction(targetR, 1000); if (predHealth <= SpellDamage.GetRealDamage(SpellSlot.R, targetR) && predHealth > +targetR.CountAlliesInRange(1000) * 50) { if (targetR.HasBuffOfType(BuffType.Snare) || targetR.HasBuffOfType(BuffType.Stun)) { R.Cast(targetR.Position); } else { var pred = R.GetPrediction(targetR); if (pred.HitChancePercent >= 85) { R.Cast(pred.CastPosition); } } } } } if (W.IsReady() && Settings.WDefense && Player.Instance.Mana >= Settings.WMana) { if (Player.Instance.InDanger(85)) { W.Cast(Player.Instance); } var ally = EntityManager.Heroes.Allies.FirstOrDefault(a => a.InDanger(45)); if (ally != null) { W.Cast(ally.Position); } } if (Q.IsReady() && Settings.KillStealQ && Player.Instance.ManaPercent >= Settings.KillStealMana) { var targetQ = TargetSelector.GetTarget(Q.Range, DamageType.Magical); if (targetQ != null && !targetQ.IsZombie && !targetQ.HasUndyingBuff()) { if (Prediction.Health.GetPrediction(targetQ, Q.CastDelay) <= SpellDamage.GetRealDamage(SpellSlot.Q, targetQ) && !targetQ.IsInAutoAttackRange(Player.Instance) && targetQ.Health > Player.Instance.GetAutoAttackDamage(targetQ)) { Q.Cast(Q.GetPrediction(targetQ).CastPosition); } } } if (E.IsReady() && Settings.KillStealE && Player.Instance.ManaPercent >= Settings.KillStealMana) { var targetE = TargetSelector.GetTarget(E.Range, DamageType.Magical); if (targetE != null && !targetE.IsZombie && !targetE.HasUndyingBuff()) { if (Prediction.Health.GetPrediction(targetE, E.CastDelay) <= SpellDamage.GetRealDamage(SpellSlot.E, targetE) && !targetE.IsInAutoAttackRange(Player.Instance) && targetE.Health > Player.Instance.GetAutoAttackDamage(targetE)) { E.Cast(E.GetPrediction(targetE).CastPosition); } } } //JungleSteal if (R.IsReady() && Settings.JungleSteal) { var targetR = TargetSelector.GetTarget(R.Range, DamageType.Magical); if (targetR != null) { if (Settings.JungleStealBlue) { var blue = EntityManager.MinionsAndMonsters.GetJungleMonsters() .FirstOrDefault( m => Prediction.Health.GetPrediction(m, R.CastDelay) <= SpellDamage.GetRealDamage(SpellSlot.R, m) && m.IsValidTarget(R.Range) && m.BaseSkinName == "SRU_Blue" && m.IsInRange(targetR, 1500) && Prediction.Health.GetPrediction(m, 1000) > m.CountEnemiesInRange(1000) * 60); if (blue != null) { var pred = R.GetPrediction(blue); if (pred.HitChance >= HitChance.High) { R.Cast(pred.CastPosition); } } } if (Settings.JungleStealRed) { var red = EntityManager.MinionsAndMonsters.GetJungleMonsters() .FirstOrDefault( m => Prediction.Health.GetPrediction(m, R.CastDelay) < SpellDamage.GetRealDamage(SpellSlot.R, m) && m.IsValidTarget(R.Range) && m.BaseSkinName == "SRU_Red" && m.IsInRange(targetR, 1500) && Prediction.Health.GetPrediction(m, 1000) > m.CountEnemiesInRange(1000) * 60); if (red != null) { var pred = R.GetPrediction(red); if (pred.HitChance >= HitChance.High) { R.Cast(pred.CastPosition); } } } if (Settings.JungleStealDrag) { var drag = EntityManager.MinionsAndMonsters.GetJungleMonsters() .FirstOrDefault( m => Prediction.Health.GetPrediction(m, R.CastDelay) < SpellDamage.GetRealDamage(SpellSlot.R, m) && m.IsValidTarget(R.Range) && m.BaseSkinName == "SRU_Dragon" && m.IsInRange(targetR, 1500) && Prediction.Health.GetPrediction(m, 1000) > m.CountEnemiesInRange(1000) * 60); if (drag != null) { var pred = R.GetPrediction(drag); if (pred.HitChance >= HitChance.High) { R.Cast(pred.CastPosition); } } } if (Settings.JungleStealBaron) { var baron = EntityManager.MinionsAndMonsters.GetJungleMonsters() .FirstOrDefault( m => Prediction.Health.GetPrediction(m, R.CastDelay) < SpellDamage.GetRealDamage(SpellSlot.R, m) && m.IsValidTarget(R.Range) && m.BaseSkinName == "SRU_Baron" && m.IsInRange(targetR, 1500) && Prediction.Health.GetPrediction(m, 1000) > m.CountEnemiesInRange(1000) * 60); if (baron != null) { var pred = R.GetPrediction(baron); if (pred.HitChance >= HitChance.High) { R.Cast(pred.CastPosition); } } } } } }
public static void Execute() { var target = TargetSelector.GetTarget(1700, DamageType.Magical); if (target == null || target.IsInvulnerable || target.MagicImmune) { return; } Core.DelayAction(delegate { if (target.IsValidTarget(E.Range) && E.IsReady() && ComboMenu.GetCheckBoxValue("eUse") && (Hitch.ShouldOverload(SpellSlot.E) || Player.Instance.Mana < 80)) { E.Cast(target.Position); } }, Edelay); Core.DelayAction(delegate { if (Player.Instance.Spellbook.GetSpell(SpellSlot.E).ToggleState == 1) { E.Cast(target.Position); } }, Edelay); if (target.IsValidTarget(Q.Range) && Q.IsReady() && ComboMenu.GetCheckBoxValue("qUse") && Player.Instance.IsFacing(target) && (Hitch.ShouldOverload(SpellSlot.Q) || Player.Instance.Mana < 80)) { Q.Cast(); } if (W.IsReady() && ComboMenu.GetCheckBoxValue("wUse")) { W.Cast(); } var targetR = TargetSelector.GetTarget(R.Range, DamageType.Magical); if (targetR == null || targetR.IsZombie || targetR.HasUndyingBuff()) { return; } if (ComboMenu["rlog"].Cast <ComboBox>().CurrentValue == 0 && R.IsReady()) { if (targetR.IsMoving) { if (targetR.IsValidTarget(R.Range + 300)) { R.Cast(target.Position - target.MoveSpeed); } else { R.Cast(target.Position - target.MoveSpeed / 2); } } else if (R.IsReady() && targetR.IsValidTarget(R.Range + Q.Range) && ComboMenu["rlog"].Cast <ComboBox>().CurrentValue == 1 && !targetR.IsInRange(Player.Instance, E.Range) && !targetR.IsFacing(Player.Instance)) { if (ComboMenu.GetCheckBoxValue("rUse") && Prediction.Health.GetPrediction(targetR, R.CastDelay) <= SpellDamage.GetRealDamage(SpellSlot.R, targetR)) { Hitch.CastR(targetR, MiscMenu.GetSliderValue("minR")); } else { Hitch.CastR(targetR, MiscMenu.GetSliderValue("minR")); } } else if (ComboMenu["rlog"].Cast <ComboBox>().CurrentValue == 2 && R.IsReady()) { if (targetR.IsValidTarget(R.Range + Q.Range)) { var predr = R.GetPrediction(targetR); if (predr.HitChance >= HitChance.High) { R.Cast(predr.CastPosition - 40); } } else { var predictedHealth = Prediction.Health.GetPrediction(targetR, R.CastDelay + Game.Ping); var predr = R.GetPrediction(targetR); var rDamage = targetR.GetDamage(SpellSlot.R); if (predictedHealth <= rDamage) { R.Cast(predr.CastPosition); } } } } }
public override void Execute() { var laneMinion = EntityManager.MinionsAndMonsters.GetLaneMinions() .OrderByDescending(m => m.Health) .FirstOrDefault( m => m.IsValidTarget(Q.Range) && Prediction.Health.GetPrediction(m, Q.CastDelay) <= SpellDamage.GetRealDamage(SpellSlot.Q, m) && Prediction.Health.GetPrediction(m, Q.CastDelay) > Player.Instance.GetAutoAttackDamage(m)); if (laneMinion == null) { return; } if (Settings.UseQ && Q.IsReady() && Settings.LaneMana <= Player.Instance.ManaPercent) { Q.Cast(laneMinion); } }
public override void Execute() { var jgminion = EntityManager.MinionsAndMonsters.GetJungleMonsters() .OrderByDescending(j => j.Health) .FirstOrDefault(j => j.IsValidTarget(Q.Range)); if (jgminion == null) { return; } if (Q.IsReady() && jgminion.IsValidTarget(Q.Range) && Settings.UseQ) { Q.Cast(); } if (E.IsReady() && jgminion.IsValidTarget(E.Range) && Settings.UseE) { E.Cast(); } if (W.IsReady() && jgminion.IsValidTarget(W.Range) && Settings.UseW && jgminion.Health <= SpellDamage.GetRealDamage(SpellSlot.W, jgminion)) { W.Cast(jgminion); } }
public override void Execute() { var target = TargetSelector.GetTarget(E.Range, DamageType.Physical); if (target == null || target.IsZombie) { return; } if (E.IsReady() && target.IsValidTarget(E.Range) && Settings.UseE) { E.Cast(target); } if (Q.IsReady() && target.IsValidTarget(Q.Range) && Settings.UseQ) { Q.Cast(); } if (W.IsReady() && target.IsValidTarget(W.Range) && Settings.UseW) { W.Cast(); } if (R.IsReady() && target.IsValidTarget(R.Range) && Settings.UseR && target.Health < SpellDamage.GetRealDamage(SpellSlot.R, target)) { R.Cast(target); } }
public override void Execute() { CheckUlt(); var target = TargetSelector.GetTarget(SpellManager.Q.Range, DamageType.Magical); if (target == null) { return; } var qDamage = SpellDamage.GetRealDamage(SpellSlot.Q, target); var wDamage = SpellDamage.GetRealDamage(SpellSlot.W, target); var eDamage = SpellDamage.GetRealDamage(SpellSlot.E, target); //Simple KS if (SpellManager.Q.IsReady() && target.IsValidTarget(SpellManager.Q.Range) && target.Health <= qDamage && Settings.UseQ) { SpellManager.Q.Cast(target); } if (SpellManager.E.IsReady() && target.IsValidTarget(SpellManager.E.Range) && target.Health <= eDamage && Settings.UseE) { SpellManager.E.Cast(target); } if (SpellManager.W.IsReady() && target.IsValidTarget(SpellManager.W.Range) && target.Health <= wDamage && Settings.UseW) { SpellManager.W.Cast(); } //Smart KS //Q+W+Qmark if (SpellManager.Q.IsReady() && SpellManager.W.IsReady() && target.IsValidTarget(SpellManager.W.Range) && target.Health <= (qDamage + wDamage + dmgQstack(target)) && Settings.UseQ && Settings.UseW) { SpellManager.Q.Cast(target); } if (SpellManager.W.IsReady() && target.IsValidTarget(SpellManager.W.Range) && target.HasBuff("KatarinaQMark") && target.Health <= (wDamage + dmgQstack(target)) && Settings.UseW) { SpellManager.W.Cast(); } //Q+W+Qmark //E+W if (SpellManager.E.IsReady() && SpellManager.W.IsReady() && target.IsValidTarget(SpellManager.E.Range) && target.Health <= (eDamage + wDamage) && target.CountEnemiesInRange(SpellManager.R.Range) <= 2 && Settings.UseE && Settings.UseW) { SpellManager.E.Cast(target); } //E+W //E+W+Q if (SpellManager.E.IsReady() && SpellManager.W.IsReady() && SpellManager.Q.IsReady() && target.IsValidTarget(SpellManager.E.Range) && target.Health <= (eDamage + wDamage + qDamage) && target.CountEnemiesInRange(SpellManager.R.Range) <= 2 && Settings.UseQ && Settings.UseW && Settings.UseE) { SpellManager.E.Cast(target); SpellManager.W.Cast(); SpellManager.Q.Cast(target); } //E+W+Q }