public override void Do() { MenuIndex.LastHit lasthit = new MenuIndex.LastHit(); foreach (var minion in EntityManager.MinionsAndMonsters.EnemyMinions.Where(m => Player.Instance.IsInRange(m, 900))) { if (lasthit.SmartFarm) { foreach (var unkillableminion in Orbwalker.UnLasthittableMinions) { if (unkillableminion.IsValid && unkillableminion != null && Spells.W.IsReady() && Spells.W.IsInRange(unkillableminion)) { Spells.W.Cast(); } else { if (unkillableminion.IsValid && unkillableminion != null && Spells.Q.IsReady() && Spells.Q.IsInRange(unkillableminion)) { Spells.Q.Cast(unkillableminion); } else { if (unkillableminion.IsValid && unkillableminion != null && Spells.E.IsReady() && Spells.E.IsInRange(unkillableminion)) { Spells.E.Cast(unkillableminion); } } } } } else { if (Prediction.Health.GetPrediction(minion, Spells.Q.CastDelay + Game.Ping / 3) <= Player.Instance.GetSpellDamage(minion as Obj_AI_Base, SpellSlot.Q)) { if (minion.IsValid && minion != null && Spells.Q.IsReady() && Spells.Q.IsInRange(minion) && lasthit.UseQ) { Spells.Q.Cast(minion); } } if (Prediction.Health.GetPrediction(minion, Spells.W.CastDelay + Game.Ping / 3) <= Player.Instance.GetSpellDamage(minion as Obj_AI_Base, SpellSlot.W)) { if (minion.IsValid && minion != null && Spells.W.IsReady() && Spells.W.IsInRange(minion) && lasthit.UseW) { Spells.W.Cast(minion); } } if (Prediction.Health.GetPrediction(minion, Spells.E.CastDelay + Game.Ping / 3) <= Player.Instance.GetSpellDamage(minion as Obj_AI_Base, SpellSlot.Q)) { if (minion.IsValid && minion != null && Spells.E.IsReady() && Spells.E.IsInRange(minion) && lasthit.UseE) { Spells.E.Cast(minion); } } } } }