Merge pull request #1808 from Citadel-Station-13/upstream-merge-28870

[MIRROR] Fixes emergency shuttle endgame state
This commit is contained in:
LetterJay
2017-06-29 05:58:11 -05:00
committed by GitHub
4 changed files with 42 additions and 12 deletions

View File

@@ -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

View File

@@ -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"

View File

@@ -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