private void Cast_W() { if (!W.IsReady() || _passiveUp || Environment.TickCount - _passivTimer < 250) { return; } var target = SimpleTs.GetTarget(W.Range + 150, SimpleTs.DamageType.Physical); if (target.IsValidTarget(W.Range + 150) && W.GetPrediction(target).Hitchance >= HitChance.Medium) { W.UpdateSourcePosition(); _passivTimer = Environment.TickCount; W.Cast(target, UsePackets()); } if (W.GetPrediction(target).Hitchance != HitChance.Collision) { return; } var collisionMinions = W.GetCollision(MyHero.Position.To2D(), new List <Vector2>() { target.Position.To2D() }); Obj_AI_Base[] nearstMinion = { null }; foreach (var collmin in collisionMinions.Where(collminion => nearstMinion[0] == null || collminion.Distance(MyHero) < nearstMinion[0].Distance(MyHero))) { nearstMinion[0] = collmin; } if (!(target.Distance(nearstMinion[0]) < W2.Width)) { return; } W2.UpdateSourcePosition(); _passivTimer = Environment.TickCount; W2.Cast(target, UsePackets()); }