diff --git a/code/controllers/subsystem/shuttles/emergency.dm b/code/controllers/subsystem/shuttles/emergency.dm index d3e9ad64a44..652cff69e34 100644 --- a/code/controllers/subsystem/shuttles/emergency.dm +++ b/code/controllers/subsystem/shuttles/emergency.dm @@ -106,7 +106,8 @@ if(time_left <= 0 && !SSshuttle.emergencyNoEscape) //move each escape pod to its corresponding transit dock for(var/obj/docking_port/mobile/pod/M in SSshuttle.mobile) - M.enterTransit() + if(M.z == ZLEVEL_STATION) //Will not launch from the mine/planet + M.enterTransit() //now move the actual emergency shuttle to its transit dock enterTransit() mode = SHUTTLE_ESCAPE @@ -131,16 +132,13 @@ width = 3 height = 4 - New() - if(id == "pod") - WARNING("[type] id has not been changed from the default. Use the id convention \"pod1\" \"pod2\" etc.") - ..() +/obj/docking_port/mobile/pod/New() + if(id == "pod") + WARNING("[type] id has not been changed from the default. Use the id convention \"pod1\" \"pod2\" etc.") + ..() - request() - return - - cancel() - return +/obj/docking_port/mobile/pod/cancel() + return /* findTransitDock() @@ -148,3 +146,27 @@ if(.) return . return ..() */ + +/obj/machinery/computer/shuttle/pod + name = "pod control computer" + admin_controlled = 1 + shuttleId = "pod" + possible_destinations = "pod_asteroid" + icon = 'icons/obj/terminals.dmi' + icon_state = "dorm_available" + density = 0 + +/obj/machinery/computer/shuttle/pod/update_icon() + return + +/obj/machinery/computer/shuttle/pod/emag_act(mob/user as mob) + user << " Access requirements overridden. The pod may now be launched manually at any time." + admin_controlled = 0 + icon_state = "dorm_emag" + +/obj/docking_port/stationary/random/initialize() + ..() + var/target_area = /area/mine/unexplored + var/turfs = get_area_turfs(target_area) + var/T=pick(turfs) + src.loc = T diff --git a/code/modules/security levels/security levels.dm b/code/modules/security levels/security levels.dm index da714890067..19d85889439 100644 --- a/code/modules/security levels/security levels.dm +++ b/code/modules/security levels/security levels.dm @@ -23,7 +23,7 @@ if(SEC_LEVEL_GREEN) minor_announce(config.alert_desc_green, "Attention! Security level lowered to green:") security_level = SEC_LEVEL_GREEN - for(var/obj/machinery/firealarm/FA in world) + for(var/obj/machinery/firealarm/FA in machines) if(FA.z == ZLEVEL_STATION) FA.update_icon() if(SEC_LEVEL_BLUE) @@ -32,7 +32,7 @@ else minor_announce(config.alert_desc_blue_downto, "Attention! Security level lowered to blue:") security_level = SEC_LEVEL_BLUE - for(var/obj/machinery/firealarm/FA in world) + for(var/obj/machinery/firealarm/FA in machines) if(FA.z == ZLEVEL_STATION) FA.update_icon() if(SEC_LEVEL_RED) @@ -47,15 +47,19 @@ if(CC) CC.post_status("alert", "redalert")*/ - for(var/obj/machinery/firealarm/FA in world) + for(var/obj/machinery/firealarm/FA in machines) if(FA.z == ZLEVEL_STATION) FA.update_icon() + for(var/obj/machinery/computer/shuttle/pod/pod in machines) + pod.admin_controlled = 0 if(SEC_LEVEL_DELTA) minor_announce(config.alert_desc_delta, "Attention! Delta security level reached!",1) security_level = SEC_LEVEL_DELTA - for(var/obj/machinery/firealarm/FA in world) + for(var/obj/machinery/firealarm/FA in machines) if(FA.z == ZLEVEL_STATION) FA.update_icon() + for(var/obj/machinery/computer/shuttle/pod/pod in machines) + pod.admin_controlled = 0 else return @@ -102,4 +106,4 @@ set_security_level(2) /mob/verb/set_thing3() set_security_level(3) -*/ \ No newline at end of file +*/