-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdescent.ks
More file actions
92 lines (77 loc) · 1.79 KB
/
descent.ks
File metadata and controls
92 lines (77 loc) · 1.79 KB
1
SET atmosphere TO 70000.SET state TO "Waiting for re-entry...".UNTIL GetTrueAltitude() < atmosphere { UpdateScreen(). WAIT 1.}SET state TO "Entering atmosphere...".RetractAntenna().UNTIL GetTrueAltitude() < 5000 { UpdateScreen(). WAIT 1.}SET state TO "Deploying chute!".DeployChutes().WAIT 1.STAGE.UpdateScreen().WAIT 1.SET state TO "Chute deployed, waiting for touchdown...".UNTIL STATUS = "LANDED" OR STATUS = "SPLASHED" { UpdateScreen(). WAIT 1.}SET state TO "Ship landed.".ExtendAntenna().UNTIL false { UpdateScreen(). WAIT 1.}function UpdateScreen { CLEARSCREEN. PRINT "Status: " + state. PRINT "Comms: " + PRINT "Delay: " + GetCommsDelay(). PRINT "EC: " + GetElectricCharge(). PRINT "Alt: " + ROUND(GetTrueAltitude()). PRINT "Abl: " + SHIP:ABLATOR. PRINT "AP: " + ALT:APOAPSIS. PRINT "PE: " + ALT:PERIAPSIS.}function GetCommsDelay { IF ADDONS:RT:HASKSCCONNECTION(SHIP) { RETURN ADDONS:RT:KSCDELAY(SHIP). } ELSE { RETURN "N/A". }}function GetElectricCharge { FOR res IN SHIP:RESOURCES { IF res:NAME = "ElectricCharge" { RETURN ROUND(100*res:AMOUNT/res:CAPACITY). } }}function GetTrueAltitude { SET terrainHeight TO SHIP:GEOPOSITION:TERRAINHEIGHT. IF terrainHeight < 0 { return ALT:RADAR. } ELSE { return ALT:RADAR - terrainHeight. }}function RetractAntenna { SET antenna TO SHIP:PARTSDUBBED("mainCommsAntenna")[0]:GETMODULE("ModuleRTAntenna"). antenna:DOACTION("deactivate", true).}function ExtendAntenna { SET antenna TO SHIP:PARTSDUBBED("mainCommsAntenna")[0]:GETMODULE("ModuleRTAntenna"). antenna:DOACTION("activate", true).}function DeployChutes { SET shipChutes TO SHIP:PARTSDUBBED("parachuteRadial"). FOR chute IN shipChutes { chute:GETMODULE("ModuleParachute"):DOEVENT("Deploy Chute"). } }