Merge pull request #1808 from Citadel-Station-13/upstream-merge-28870
[MIRROR] Fixes emergency shuttle endgame state
This commit is contained in:
@@ -27,6 +27,7 @@
|
||||
#define UNLAUNCHED 0
|
||||
#define ENDGAME_LAUNCHED 1
|
||||
#define EARLY_LAUNCHED 2
|
||||
#define ENDGAME_TRANSIT 3
|
||||
|
||||
// Ripples, effects that signal a shuttle's arrival
|
||||
#define SHUTTLE_RIPPLE_TIME 100
|
||||
@@ -50,4 +51,4 @@
|
||||
//Engine related
|
||||
#define ENGINE_COEFF_MIN 0.5
|
||||
#define ENGINE_COEFF_MAX 2
|
||||
#define ENGINE_DEFAULT_MAXSPEED_ENGINES 5
|
||||
#define ENGINE_DEFAULT_MAXSPEED_ENGINES 5
|
||||
|
||||
@@ -347,9 +347,7 @@
|
||||
//move each escape pod (or applicable spaceship) to its corresponding transit dock
|
||||
for(var/A in SSshuttle.mobile)
|
||||
var/obj/docking_port/mobile/M = A
|
||||
if(M.launch_status == UNLAUNCHED) //Pods will not launch from the mine/planet, and other ships won't launch unless we tell them to.
|
||||
M.launch_status = ENDGAME_LAUNCHED
|
||||
M.enterTransit()
|
||||
M.on_emergency_launch()
|
||||
|
||||
//now move the actual emergency shuttle to its transit dock
|
||||
var/list/areas = list()
|
||||
@@ -383,11 +381,7 @@
|
||||
//move each escape pod to its corresponding escape dock
|
||||
for(var/A in SSshuttle.mobile)
|
||||
var/obj/docking_port/mobile/M = A
|
||||
if(M.launch_status == ENDGAME_LAUNCHED)
|
||||
if(istype(M, /obj/docking_port/mobile/pod))
|
||||
M.dock(SSshuttle.getDock("[M.id]_away")) //Escape pods dock at centcomm
|
||||
else
|
||||
continue //Mapping a new docking point for each ship mappers could potentially want docking with centcomm would take up lots of space, just let them keep flying off into the sunset for their greentext
|
||||
M.on_emergency_dock()
|
||||
|
||||
// now move the actual emergency shuttle to centcomm
|
||||
// unless the shuttle is "hijacked"
|
||||
@@ -551,9 +545,6 @@
|
||||
SSshuttle.emergency = current_emergency
|
||||
SSshuttle.backup_shuttle = src
|
||||
|
||||
#undef UNLAUNCHED
|
||||
#undef LAUNCHED
|
||||
#undef EARLY_LAUNCHED
|
||||
#undef TIMELEFT
|
||||
#undef ENGINES_START_TIME
|
||||
#undef ENGINES_STARTED
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
diff a/code/modules/shuttle/emergency.dm b/code/modules/shuttle/emergency.dm (rejected hunks)
|
||||
@@ -383,12 +381,7 @@
|
||||
//move each escape pod to its corresponding escape dock
|
||||
for(var/A in SSshuttle.mobile)
|
||||
var/obj/docking_port/mobile/M = A
|
||||
- if(M.launch_status == ENDGAME_LAUNCHED)
|
||||
- if(istype(M, /obj/docking_port/mobile/pod))
|
||||
- M.dock(SSshuttle.getDock("[M.id]_away")) //Escape pods dock at centcomm
|
||||
- else
|
||||
- M.launch_status = ENDGAME_TRANSIT
|
||||
- //Mapping a new docking point for each ship mappers could potentially want docking with centcomm would take up lots of space, just let them keep flying off into the sunset for their greentext
|
||||
+ M.on_emergency_dock()
|
||||
|
||||
// now move the actual emergency shuttle to centcomm
|
||||
// unless the shuttle is "hijacked"
|
||||
@@ -826,4 +826,27 @@
|
||||
return ..()
|
||||
|
||||
|
||||
//Called when emergency shuttle leaves the station
|
||||
/obj/docking_port/mobile/proc/on_emergency_launch()
|
||||
if(launch_status == UNLAUNCHED) //Pods will not launch from the mine/planet, and other ships won't launch unless we tell them to.
|
||||
launch_status = ENDGAME_LAUNCHED
|
||||
enterTransit()
|
||||
|
||||
/obj/docking_port/mobile/emergency/on_emergency_launch()
|
||||
return
|
||||
|
||||
//Called when emergency shuttle docks at centcom
|
||||
/obj/docking_port/mobile/proc/on_emergency_dock()
|
||||
//Mapping a new docking point for each ship mappers could potentially want docking with centcomm would take up lots of space, just let them keep flying off into the sunset for their greentext
|
||||
if(launch_status == ENDGAME_LAUNCHED)
|
||||
launch_status = ENDGAME_TRANSIT
|
||||
|
||||
/obj/docking_port/mobile/pod/on_emergency_dock()
|
||||
if(launch_status == ENDGAME_LAUNCHED)
|
||||
dock(SSshuttle.getDock("[id]_away")) //Escape pods dock at centcomm
|
||||
launch_status = SHUTTLE_ENDGAME
|
||||
|
||||
/obj/docking_port/mobile/emergency/on_emergency_dock()
|
||||
return
|
||||
|
||||
#undef DOCKING_PORT_HIGHLIGHT
|
||||
|
||||
Reference in New Issue
Block a user