예제 #1
0
        public static float GetTrueAARangeFrom(Obj_AI_Base target)
        {
            var ret = target.GetAutoAttackRange();

            ret += ObjectManager.Player.BoundingRadius;
            return(ret);
        }
예제 #2
0
        public static void DefaultQCast(Vector3 position, Obj_AI_Base Target)
        {
            var afterTumblePosition = GetAfterTumblePosition(Game.CursorPos);
            var CursorPos           = Game.CursorPos;
            var EnemyPoints         = GetEnemyPoints();

            if (afterTumblePosition.IsSafe(true) || (!EnemyPoints.Contains(Game.CursorPos.To2D())) || (Variables.EnemiesClose.Count() == 1))
            {
                if (afterTumblePosition.Distance(Target.ServerPosition) <= Target.GetAutoAttackRange())
                {
                    CastQ(position);
                }
            }
        }
예제 #3
0
        /*
         * public static float GetDamageReduction(this AIHeroClient target)
         * {
         *  return 0f;
         * }
         */

        internal static bool IsMovingTowards(this Obj_AI_Base source, Obj_AI_Base target, int minDistance = 0)
        {
            var safetyDistance = minDistance == 0 ? target.GetAutoAttackRange() : minDistance;

            if (source.DistanceCached(target) < safetyDistance)
            {
                return(true);
            }

            if (!source.IsMoving || source.Distance(source.RealPath().Last()) < 10)
            {
                return(false);
            }

            return(source.IsFacing(target) && source.RealPath().Last().DistanceSquared(target.Position) < safetyDistance * safetyDistance);
        }
예제 #4
0
 private static void Dash_OnDash(Obj_AI_Base sender, Dash.DashEventArgs e)
 {
     if (sender.IsValidTarget() && sender.IsEnemy)
     {
         if (Util.MyHero.Distance(e.StartPos, true) < Util.MyHero.Distance(e.EndPos, true))
         {
             if (MenuManager.GetSubMenu("Automatic").CheckBox("W.Spells"))
             {
                 SpellManager.CastW(sender);
             }
         }
         else
         {
             if (MenuManager.GetSubMenu("Automatic").CheckBox("E.Antigapcloser"))
             {
                 //SpellManager.CastE(sender);
             }
             if (Util.MyHero.Distance(e.EndPos, true) < (sender.GetAutoAttackRange(Util.MyHero) * 1.5f).Pow())
             {
                 ShouldWaitTime = Core.GameTickCount;
             }
         }
     }
 }
예제 #5
0
 private static void Dash_OnDash(Obj_AI_Base sender, Dash.DashEventArgs e)
 {
     if (sender.IsValidTarget() && sender.IsEnemy)
     {
         if (Util.MyHero.Distance(e.StartPos, true) < Util.MyHero.Distance(e.EndPos, true))
         {
             if (MenuManager.Menu.GetCheckBoxValue("W.Spells"))
             {
                 SpellManager.CastW(sender);
             }
         }
         else
         {
             if (MenuManager.Menu.GetCheckBoxValue("E.Antigapcloser"))
             {
                 //SpellManager.CastE(sender);
             }
             if (Util.MyHero.Distance(e.EndPos, true) < (sender.GetAutoAttackRange(Util.MyHero) * 1.5f).Pow())
             {
                 ShouldWaitTime = Core.GameTickCount;
             }
         }
     }
 }
예제 #6
0
파일: QLogic.cs 프로젝트: lolscripts/Aka-s
 public static void DefaultQCast(Vector3 position, Obj_AI_Base Target)
 {
     var afterTumblePosition = GetAfterTumblePosition(Game.CursorPos);
     var CursorPos = Game.CursorPos;
     var EnemyPoints = GetEnemyPoints();
     if (afterTumblePosition.IsSafe(true) || (!EnemyPoints.Contains(Game.CursorPos.To2D())) || (Variables.EnemiesClose.Count() == 1))
     {
         if (afterTumblePosition.Distance(Target.ServerPosition) <= Target.GetAutoAttackRange())
         {
             CastQ(position);
         }
     }
 }
예제 #7
0
 public static float GetTrueAARangeFrom(Obj_AI_Base target)
 {
     var ret = target.GetAutoAttackRange() + target.BoundingRadius;
     ret += ObjectManager.Player.BoundingRadius;
     return ret;
 }