run once "lib/guidance".

local APOAPSIS_TARGET is 80000.
local GRAVITY_TURN_START is 5000.
SensorCheck().

// Countdowns are cute.
print "Initiating automated launch sequence".
from { local x is 5. } until x = 0 step { set x to x - 1. } do {
  print "..." + x.
  wait 1.
}
print "Launching".

// Disable subsystems.
RCS off.
SAS off.

// throttle controls
when TWR() > 1.5 then {
  if SHIP:ALTITUDE > 32000 {
    lock THROTTLE to 1.0.
    return false.
  }

  local newThrot is ThrottleToTWR(1.5).
  print "Setting throttle to " + newThrot.
  lock THROTTLE to newThrot.
  return true.
}

// Main ascent control.
lock THROTTLE to 1.0.
lock STEERING to heading(90,90,-90).
stage.

wait until SHIP:ALTITUDE > 200.
lock STEERING to heading(90, 85, -90).

wait until SHIP:ALTITUDE > GRAVITY_TURN_START.
print "Beginning gravity turn".
until SHIP:APOAPSIS > 80000 {
  local angle is max(30, SHIP:PROGRADE:PITCH - 2).
  lock STEERING to heading(90, angle, -90).
  wait 0.001.
}

print "Releasing controls. Good luck, Kerman!".
set THROTTLE to 0.0.