AkaQPosition() public method

public AkaQPosition ( ) : System.Vector3
return System.Vector3
Esempio n. 1
0
        public static void OnCastTumble(Obj_AI_Base target, Vector3 position)
        {
            var mode = Manager.MenuManager.UseQMode;
            var afterTumblePosition = Variables._Player.ServerPosition.Extend(position, 300f);
            var distanceToTarget    = afterTumblePosition.Distance(target.ServerPosition, true);

            if ((distanceToTarget < Math.Pow(Variables._Player.AttackRange + 65, 2) && distanceToTarget > 110 * 110) ||
                Manager.MenuManager.SpamQ)
            {
                switch (mode)
                {
                case 0:
                    //To mouse
                    DefaultQCast(position, target);
                    break;

                case 1:
                    //smart logic!
                    var smartQPosition = QECombo();
                    var smartQCheck    = smartQPosition != Vector3.Zero;
                    var QPosition      = smartQCheck ? smartQPosition : Game.CursorPos;
                    var QPosition2     = Provider.AkaQPosition() != Vector3.Zero ? Provider.AkaQPosition() : QPosition;

                    if (!Variables.UnderEnemyTower((Vector2)QPosition2) || (Variables.UnderEnemyTower((Vector2)QPosition2) && Variables.UnderEnemyTower((Vector2)Variables._Player.Position)))
                    {
                        CastQ(QPosition2);
                    }
                    break;

                case 2:
                    //Away from melee enemies
                    if (Variables.MeleeEnemiesTowardsMe.Any() &&
                        !Variables.MeleeEnemiesTowardsMe.All(m => m.HealthPercent <= 15))
                    {
                        var Closest =
                            Variables.MeleeEnemiesTowardsMe.OrderBy(m => m.Distance(Variables._Player)).First();
                        var whereToQ = (Vector3)Closest.ServerPosition.Extend(
                            Variables._Player.ServerPosition, Closest.Distance(Variables._Player) + 300f);

                        if (whereToQ.IsTotallySafe())
                        {
                            CastQ(whereToQ);
                        }
                    }
                    else
                    {
                        DefaultQCast(position, target);
                    }
                    break;

                case 3:
                    //Prada
                    var Target = TargetSelector.GetTarget((int)Variables._Player.GetAutoAttackRange(), DamageType.Physical);
                    if (Target == null)
                    {
                        return;
                    }
                    var tumblePosition = Target.GetTumblePos();
                    CastQ(tumblePosition);
                    break;

                case 4:
                    //Sebby
                    CastDash();
                    break;
                }
            }
        }