Example #1
0
        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());
        }