Advertisement
Guest User

Untitled

a guest
Jun 24th, 2017
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.47 KB | None | 0 0
  1. #define TURN_SPEED_MS_DEGREE 5.6333332 /2
  2.  
  3. float ShouldTurn(vect loc, float follow_distance)
  4. {
  5.     bool turn = true;
  6.     int direction = 0;
  7.     UpdatePlayerLoc();
  8.     float desired_heading = GetDesiredHeading(loc);
  9.     float heading = PlayerLoc.rot * 57.2957795;
  10.     float correction = heading - desired_heading;
  11.     if (GetDistanceVect(loc) < follow_distance)
  12.             StopWalking(); 
  13.     if (!CheckCombatFlag() && (GetTime()-iCombat) < 2000)
  14.             return false;
  15.         UpdatePlayer();
  16.         if (!Player.currenthealth)
  17.             //break;
  18.             return 0;
  19.         UpdatePlayerLoc();
  20.         desired_heading = GetDesiredHeading(loc);
  21.         heading = PlayerLoc.rot * 57.2957795;
  22.         correction = heading - desired_heading;
  23.         float right = 360;
  24.         float left = 360;
  25.         IsStuck();
  26.         if (desired_heading < heading)
  27.         {
  28.             right = heading - desired_heading;
  29.             left = 360 - heading + desired_heading;
  30.         }
  31.         else
  32.         {
  33.             left = desired_heading - heading;
  34.             right = heading + 360 - desired_heading ;
  35.         }
  36.         float var = 0;
  37.         if (left <= right)
  38.             var = left;
  39.         else
  40.             var = right;
  41.         if (var < atof(Config.GetVar("turn_tolerance")))
  42.         {
  43.             turn = false;
  44.             StopTurning();
  45.             return desired_heading;
  46.         }
  47.  
  48.        
  49.         if (left <= right)
  50.         {
  51.             var = left;
  52.             if (IsTurningRight())
  53.                 StopTurning();
  54.             TurnLeft(var * TURN_SPEED_MS_DEGREE);
  55.         }
  56.         else
  57.         {
  58.             var = right;
  59.             if (IsTurningLeft())
  60.                 StopTurning();
  61.             TurnRight(var * TURN_SPEED_MS_DEGREE);
  62.         }
  63.     if (var > 45)
  64.     {
  65.         StopWalking();
  66.     }
  67.     return desired_heading;
  68. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement