Skip to content

Instantly share code, notes, and snippets.

@YeOldeDM
Created July 17, 2016 18:20
Show Gist options
  • Save YeOldeDM/d5ba19191f5e9ae937fa3beed07fbf05 to your computer and use it in GitHub Desktop.
Save YeOldeDM/d5ba19191f5e9ae937fa3beed07fbf05 to your computer and use it in GitHub Desktop.
#################################################
# CONTROLLER SIGNALS FOR SHIP FLIGHT CONTROL #
# #
# (Any actions set in this ship's Controller #
# MUST have a function defined here. The #
# function name must be identical to the #
# Controller signal emitted. #
# #
#################################################
# CONTROLLER SIGNAL FUNCTIONS START HERE #
#############################################
# PRIMARY THRUST
func thrust_pro(delta):
if systems['mainThrust']:
var lv = get_linear_velocity()
lv += (_get_pro_thrust()*delta)/get_total_mass()
set_linear_velocity(lv)
func thrust_retro(delta):
if systems['mainThrust']:
var lv = get_linear_velocity()
lv -= (_get_pro_thrust()*delta)/get_total_mass()
set_linear_velocity(lv)
# REACTION CONTROL THRUST
func rcs_pro(delta):
if systems['RCSThrust']:
var lv = get_linear_velocity()
lv += (_get_rcs_forward()*delta)/get_total_mass()
set_linear_velocity(lv)
func rcs_retro(delta):
if systems['RCSThrust']:
var lv = get_linear_velocity()
lv -= (_get_rcs_forward()*delta)/get_total_mass()
set_linear_velocity(lv)
func rcs_left(delta):
if systems['RCSThrust']:
var lv = get_linear_velocity()
lv += (_get_rcs_left()*delta)/get_total_mass()
set_linear_velocity(lv)
func rcs_right(delta):
if systems['RCSThrust']:
var lv = get_linear_velocity()
lv -= (_get_rcs_left()*delta)/get_total_mass()
set_linear_velocity(lv)
# YAW THRUST
func yaw_left(delta):
if systems['RCSThrust']:
var lv = get_angular_velocity()
lv -= (_get_rcs_yaw()*delta)/get_total_mass()
set_angular_velocity(lv)
func yaw_right(delta):
if systems['RCSThrust']:
var lv = get_angular_velocity()
lv += (_get_rcs_yaw()*delta)/get_total_mass()
set_angular_velocity(lv)
# DOCK/UNDOCK
func dock(delta):
if systems['Docking']:
if in_dock_zone:
dock_with_target()
docked = true
func undock(delta):
if systems['Docking']:
if docked:
docked = false
undock_from_target()
#########################################
# END OF CONTROLLER SIGNAL FUNCTIONS #
#########################################
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment