Merge branch 'master' of https://github.com/ParadiseSS13/Paradise into space_ruins

All hail glorious leader tigercat
This commit is contained in:
Crazylemon64
2016-07-08 00:16:28 -07:00
928 changed files with 8857 additions and 8457 deletions
@@ -34,7 +34,7 @@
ui = nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open)
if (!ui)
if(!ui)
ui = new(user, src, ui_key, "advanced_airlock_console.tmpl", name, 470, 290)
ui.set_initial_data(data)
@@ -90,7 +90,7 @@
ui = nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open)
if (!ui)
if(!ui)
ui = new(user, src, ui_key, "simple_airlock_console.tmpl", name, 470, 290)
ui.set_initial_data(data)
@@ -154,7 +154,7 @@
ui = nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open)
if (!ui)
if(!ui)
ui = new(user, src, ui_key, "door_access_console.tmpl", name, 330, 220)
ui.set_initial_data(data)
@@ -26,7 +26,7 @@
ui = nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open)
if (!ui)
if(!ui)
ui = new(user, src, ui_key, "docking_airlock_console.tmpl", name, 470, 290)
ui.set_initial_data(data)
ui.open()
@@ -71,8 +71,8 @@
airlock_program.master_prog = src
/datum/computer/file/embedded_program/docking/airlock/receive_user_command(command)
if (command == "toggle_override")
if (override_enabled)
if(command == "toggle_override")
if(override_enabled)
disable_override()
else
enable_override()
@@ -120,7 +120,7 @@
var/datum/computer/file/embedded_program/docking/airlock/master_prog
/datum/computer/file/embedded_program/airlock/docking/receive_user_command(command)
if (master_prog.undocked() || master_prog.override_enabled) //only allow the port to be used as an airlock if nothing is docked here or the override is enabled
if(master_prog.undocked() || master_prog.override_enabled) //only allow the port to be used as an airlock if nothing is docked here or the override is enabled
..(command)
/datum/computer/file/embedded_program/airlock/docking/proc/enable_mech_regulators()
@@ -134,7 +134,7 @@
toggleDoor(memory["exterior_status"], tag_exterior_door, memory["secure"], "open")
/datum/computer/file/embedded_program/airlock/docking/cycleDoors(var/target)
if (master_prog.undocked() || master_prog.override_enabled) //only allow the port to be used as an airlock if nothing is docked here or the override is enabled
if(master_prog.undocked() || master_prog.override_enabled) //only allow the port to be used as an airlock if nothing is docked here or the override is enabled
..(target)
/*** DEBUG VERBS ***
@@ -17,8 +17,8 @@
var/list/names = splittext(child_names_txt, ";")
var/list/tags = splittext(child_tags_txt, ";")
if (names.len == tags.len)
for (var/i = 1; i <= tags.len; i++)
if(names.len == tags.len)
for(var/i = 1; i <= tags.len; i++)
child_names[tags[i]] = names[i]
@@ -27,7 +27,7 @@
var/list/airlocks[child_names.len]
var/i = 1
for (var/child_tag in child_names)
for(var/child_tag in child_names)
airlocks[i++] = list("name"=child_names[child_tag], "override_enabled"=(docking_program.children_override[child_tag] == "enabled"))
data = list(
@@ -37,7 +37,7 @@
ui = nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open)
if (!ui)
if(!ui)
ui = new(user, src, ui_key, "multi_docking_console.tmpl", name, 470, 290)
ui.set_initial_data(data)
ui.open()
@@ -75,7 +75,7 @@
ui = nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open)
if (!ui)
if(!ui)
ui = new(user, src, ui_key, "docking_airlock_console.tmpl", name, 470, 290)
ui.set_initial_data(data)
ui.open()
@@ -36,7 +36,7 @@
memory["purge"] = 0
memory["secure"] = 0
if (istype(M, /obj/machinery/embedded_controller/radio/airlock)) //if our controller is an airlock controller than we can auto-init our tags
if(istype(M, /obj/machinery/embedded_controller/radio/airlock)) //if our controller is an airlock controller than we can auto-init our tags
var/obj/machinery/embedded_controller/radio/airlock/controller = M
tag_exterior_door = controller.tag_exterior_door? controller.tag_exterior_door : "[id_tag]_outer"
tag_interior_door = controller.tag_interior_door? controller.tag_interior_door : "[id_tag]_inner"
@@ -177,13 +177,13 @@
if(memory["pump_status"] != "off") //send a signal to stop pumping
signalPump(tag_airpump, 0)
if ((state == STATE_PRESSURIZE || state == STATE_DEPRESSURIZE) && !check_doors_secured())
if((state == STATE_PRESSURIZE || state == STATE_DEPRESSURIZE) && !check_doors_secured())
//the airlock will not allow itself to continue to cycle when any of the doors are forced open.
stop_cycling()
switch(state)
if(STATE_PREPARE)
if (check_doors_secured())
if(check_doors_secured())
var/chamber_pressure = memory["chamber_sensor_pressure"]
var/target_pressure = memory["target_pressure"]
@@ -77,109 +77,109 @@
var/command = signal.data["command"]
var/recipient = signal.data["recipient"] //the intended recipient of the docking signal
if (recipient != id_tag)
if(recipient != id_tag)
return //this signal is not for us
switch (command)
if ("confirm_dock")
if (control_mode == MODE_CLIENT && dock_state == STATE_UNDOCKED && receive_tag == tag_target)
switch(command)
if("confirm_dock")
if(control_mode == MODE_CLIENT && dock_state == STATE_UNDOCKED && receive_tag == tag_target)
dock_state = STATE_DOCKING
broadcast_docking_status()
if (!override_enabled)
if(!override_enabled)
prepare_for_docking()
else if (control_mode == MODE_CLIENT && dock_state == STATE_DOCKING && receive_tag == tag_target)
else if(control_mode == MODE_CLIENT && dock_state == STATE_DOCKING && receive_tag == tag_target)
dock_state = STATE_DOCKED
broadcast_docking_status()
if (!override_enabled)
if(!override_enabled)
finish_docking() //client done docking!
response_sent = 0
else if (control_mode == MODE_SERVER && dock_state == STATE_DOCKING && receive_tag == tag_target) //client just sent us the confirmation back, we're done with the docking process
else if(control_mode == MODE_SERVER && dock_state == STATE_DOCKING && receive_tag == tag_target) //client just sent us the confirmation back, we're done with the docking process
received_confirm = 1
if ("request_dock")
if (control_mode == MODE_NONE && dock_state == STATE_UNDOCKED)
if("request_dock")
if(control_mode == MODE_NONE && dock_state == STATE_UNDOCKED)
control_mode = MODE_SERVER
dock_state = STATE_DOCKING
broadcast_docking_status()
tag_target = receive_tag
if (!override_enabled)
if(!override_enabled)
prepare_for_docking()
send_docking_command(tag_target, "confirm_dock") //acknowledge the request
if ("confirm_undock")
if (control_mode == MODE_CLIENT && dock_state == STATE_UNDOCKING && receive_tag == tag_target)
if (!override_enabled)
if("confirm_undock")
if(control_mode == MODE_CLIENT && dock_state == STATE_UNDOCKING && receive_tag == tag_target)
if(!override_enabled)
finish_undocking()
reset() //client is done undocking!
else if (control_mode == MODE_SERVER && dock_state == STATE_UNDOCKING && receive_tag == tag_target)
else if(control_mode == MODE_SERVER && dock_state == STATE_UNDOCKING && receive_tag == tag_target)
received_confirm = 1
if ("request_undock")
if (control_mode == MODE_SERVER && dock_state == STATE_DOCKED && receive_tag == tag_target)
if("request_undock")
if(control_mode == MODE_SERVER && dock_state == STATE_DOCKED && receive_tag == tag_target)
dock_state = STATE_UNDOCKING
broadcast_docking_status()
if (!override_enabled)
if(!override_enabled)
prepare_for_undocking()
if ("dock_error")
if (receive_tag == tag_target)
if("dock_error")
if(receive_tag == tag_target)
reset()
/datum/computer/file/embedded_program/docking/process()
switch(dock_state)
if (STATE_DOCKING) //waiting for our docking port to be ready for docking
if (ready_for_docking())
if (control_mode == MODE_CLIENT)
if (!response_sent)
if(STATE_DOCKING) //waiting for our docking port to be ready for docking
if(ready_for_docking())
if(control_mode == MODE_CLIENT)
if(!response_sent)
send_docking_command(tag_target, "confirm_dock") //tell the server we're ready
response_sent = 1
else if (control_mode == MODE_SERVER && received_confirm)
else if(control_mode == MODE_SERVER && received_confirm)
send_docking_command(tag_target, "confirm_dock") //tell the client we are done docking.
dock_state = STATE_DOCKED
broadcast_docking_status()
if (!override_enabled)
if(!override_enabled)
finish_docking() //server done docking!
response_sent = 0
received_confirm = 0
if (STATE_UNDOCKING)
if (ready_for_undocking())
if (control_mode == MODE_CLIENT)
if (!response_sent)
if(STATE_UNDOCKING)
if(ready_for_undocking())
if(control_mode == MODE_CLIENT)
if(!response_sent)
send_docking_command(tag_target, "confirm_undock") //tell the server we are OK to undock.
response_sent = 1
else if (control_mode == MODE_SERVER && received_confirm)
else if(control_mode == MODE_SERVER && received_confirm)
send_docking_command(tag_target, "confirm_undock") //tell the client we are done undocking.
if (!override_enabled)
if(!override_enabled)
finish_undocking()
reset() //server is done undocking!
if (response_sent || resend_counter > 0)
if(response_sent || resend_counter > 0)
resend_counter++
if (resend_counter >= MESSAGE_RESEND_TIME || (dock_state != STATE_DOCKING && dock_state != STATE_UNDOCKING))
if(resend_counter >= MESSAGE_RESEND_TIME || (dock_state != STATE_DOCKING && dock_state != STATE_UNDOCKING))
response_sent = 0
resend_counter = 0
//handle invalid states
if (control_mode == MODE_NONE && dock_state != STATE_UNDOCKED)
if (tag_target)
if(control_mode == MODE_NONE && dock_state != STATE_UNDOCKED)
if(tag_target)
send_docking_command(tag_target, "dock_error")
reset()
if (control_mode == MODE_SERVER && dock_state == STATE_UNDOCKED)
if(control_mode == MODE_SERVER && dock_state == STATE_UNDOCKED)
control_mode = MODE_NONE
/datum/computer/file/embedded_program/docking/proc/initiate_docking(var/target)
if (dock_state != STATE_UNDOCKED || control_mode == MODE_SERVER) //must be undocked and not serving another request to begin a new docking handshake
if(dock_state != STATE_UNDOCKED || control_mode == MODE_SERVER) //must be undocked and not serving another request to begin a new docking handshake
return
tag_target = target
@@ -188,13 +188,13 @@
send_docking_command(tag_target, "request_dock")
/datum/computer/file/embedded_program/docking/proc/initiate_undocking()
if (dock_state != STATE_DOCKED || control_mode != MODE_CLIENT) //must be docked and must be client to start undocking
if(dock_state != STATE_DOCKED || control_mode != MODE_CLIENT) //must be docked and must be client to start undocking
return
dock_state = STATE_UNDOCKING
broadcast_docking_status()
if (!override_enabled)
if(!override_enabled)
prepare_for_undocking()
send_docking_command(tag_target, "request_undock")
@@ -240,7 +240,7 @@
/datum/computer/file/embedded_program/docking/proc/force_undock()
// to_chat(world, "[id_tag]: forcing undock")
if (tag_target)
if(tag_target)
send_docking_command(tag_target, "dock_error")
reset()
@@ -269,11 +269,11 @@
//this is mostly for NanoUI
/datum/computer/file/embedded_program/docking/proc/get_docking_status()
switch (dock_state)
if (STATE_UNDOCKED) return "undocked"
if (STATE_DOCKING) return "docking"
if (STATE_UNDOCKING) return "undocking"
if (STATE_DOCKED) return "docked"
switch(dock_state)
if(STATE_UNDOCKED) return "undocked"
if(STATE_DOCKING) return "docking"
if(STATE_UNDOCKING) return "undocking"
if(STATE_DOCKED) return "docked"
#undef STATE_UNDOCKED
@@ -14,19 +14,19 @@
/datum/computer/file/embedded_program/docking/multi/New(var/obj/machinery/embedded_controller/M)
..(M)
if (istype(M,/obj/machinery/embedded_controller/radio/docking_port_multi)) //if our parent controller is the right type, then we can auto-init stuff at construction
if(istype(M,/obj/machinery/embedded_controller/radio/docking_port_multi)) //if our parent controller is the right type, then we can auto-init stuff at construction
var/obj/machinery/embedded_controller/radio/docking_port_multi/controller = M
//parse child_tags_txt and create child tags
children_tags = splittext(controller.child_tags_txt, ";")
children_ready = list()
children_override = list()
for (var/child_tag in children_tags)
for(var/child_tag in children_tags)
children_ready[child_tag] = 0
children_override[child_tag] = "disabled"
/datum/computer/file/embedded_program/docking/multi/proc/clear_children_ready_status()
for (var/child_tag in children_tags)
for(var/child_tag in children_tags)
children_ready[child_tag] = 0
/datum/computer/file/embedded_program/docking/multi/receive_signal(datum/signal/signal, receive_method, receive_param)
@@ -34,21 +34,21 @@
var/command = signal.data["command"]
var/recipient = signal.data["recipient"] //the intended recipient of the docking signal
if (receive_tag in children_tags)
if(receive_tag in children_tags)
//track children status
if (signal.data["override_status"])
if(signal.data["override_status"])
children_override[receive_tag] = signal.data["override_status"]
if (recipient == id_tag)
switch (command)
if ("ready_for_docking")
if(recipient == id_tag)
switch(command)
if("ready_for_docking")
children_ready[receive_tag] = 1
if ("ready_for_undocking")
if("ready_for_undocking")
children_ready[receive_tag] = 1
if ("status_override_enabled")
if("status_override_enabled")
children_override[receive_tag] = 1
if ("status_override_disabled")
if("status_override_disabled")
children_override[receive_tag] = 0
..(signal, receive_method, receive_param)
@@ -58,19 +58,19 @@
clear_children_ready_status()
//tell children to prepare for docking
for (var/child_tag in children_tags)
for(var/child_tag in children_tags)
send_docking_command(child_tag, "prepare_for_docking")
/datum/computer/file/embedded_program/docking/multi/ready_for_docking()
//check children ready status
for (var/child_tag in children_tags)
if (!children_ready[child_tag])
for(var/child_tag in children_tags)
if(!children_ready[child_tag])
return 0
return 1
/datum/computer/file/embedded_program/docking/multi/finish_docking()
//tell children to finish docking
for (var/child_tag in children_tags)
for(var/child_tag in children_tags)
send_docking_command(child_tag, "finish_docking")
//clear ready flags
@@ -81,19 +81,19 @@
clear_children_ready_status()
//tell children to prepare for undocking
for (var/child_tag in children_tags)
for(var/child_tag in children_tags)
send_docking_command(child_tag, "prepare_for_undocking")
/datum/computer/file/embedded_program/docking/multi/ready_for_undocking()
//check children ready status
for (var/child_tag in children_tags)
if (!children_ready[child_tag])
for(var/child_tag in children_tags)
if(!children_ready[child_tag])
return 0
return 1
/datum/computer/file/embedded_program/docking/multi/finish_undocking()
//tell children to finish undocking
for (var/child_tag in children_tags)
for(var/child_tag in children_tags)
send_docking_command(child_tag, "finish_undocking")
//clear ready flags
@@ -118,13 +118,13 @@
/datum/computer/file/embedded_program/airlock/multi_docking/New(var/obj/machinery/embedded_controller/M)
..(M)
if (istype(M, /obj/machinery/embedded_controller/radio/airlock/docking_port_multi)) //if our parent controller is the right type, then we can auto-init stuff at construction
if(istype(M, /obj/machinery/embedded_controller/radio/airlock/docking_port_multi)) //if our parent controller is the right type, then we can auto-init stuff at construction
var/obj/machinery/embedded_controller/radio/airlock/docking_port_multi/controller = M
src.master_tag = controller.master_tag
/datum/computer/file/embedded_program/airlock/multi_docking/receive_user_command(command)
if (command == "toggle_override")
if (override_enabled)
if(command == "toggle_override")
if(override_enabled)
override_enabled = 0
broadcast_override_status()
else
@@ -132,7 +132,7 @@
broadcast_override_status()
return
if (!docking_enabled|| override_enabled) //only allow the port to be used as an airlock if nothing is docked here or the override is enabled
if(!docking_enabled|| override_enabled) //only allow the port to be used as an airlock if nothing is docked here or the override is enabled
..(command)
/datum/computer/file/embedded_program/airlock/multi_docking/receive_signal(datum/signal/signal, receive_method, receive_param)
@@ -142,54 +142,54 @@
var/command = signal.data["command"]
var/recipient = signal.data["recipient"] //the intended recipient of the docking signal
if (receive_tag != master_tag)
if(receive_tag != master_tag)
return //only respond to master
//track master's status
if (signal.data["dock_status"])
if(signal.data["dock_status"])
master_status = signal.data["dock_status"]
if (recipient != id_tag)
if(recipient != id_tag)
return //this signal is not for us
switch (command)
if ("prepare_for_docking")
switch(command)
if("prepare_for_docking")
docking_enabled = 1
docking_mode = 0
response_sent = 0
if (!override_enabled)
if(!override_enabled)
begin_cycle_in()
if ("prepare_for_undocking")
if("prepare_for_undocking")
docking_mode = 1
response_sent = 0
if (!override_enabled)
if(!override_enabled)
stop_cycling()
close_doors()
disable_mech_regulation()
if ("finish_docking")
if (!override_enabled)
if("finish_docking")
if(!override_enabled)
enable_mech_regulation()
open_doors()
if ("finish_undocking")
if("finish_undocking")
docking_enabled = 0
/datum/computer/file/embedded_program/airlock/multi_docking/process()
..()
if (docking_enabled && !response_sent)
if(docking_enabled && !response_sent)
switch (docking_mode)
if (0) //docking
if (ready_for_docking())
switch(docking_mode)
if(0) //docking
if(ready_for_docking())
send_signal_to_master("ready_for_docking")
response_sent = 1
if (1) //undocking
if (ready_for_undocking())
if(1) //undocking
if(ready_for_undocking())
send_signal_to_master("ready_for_undocking")
response_sent = 1
@@ -206,7 +206,7 @@
toggleDoor(memory["exterior_status"], tag_exterior_door, memory["secure"], "open")
/datum/computer/file/embedded_program/airlock/multi_docking/cycleDoors(var/target)
if (!docking_enabled|| override_enabled) //only allow the port to be used as an airlock if nothing is docked here or the override is enabled
if(!docking_enabled|| override_enabled) //only allow the port to be used as an airlock if nothing is docked here or the override is enabled
..(target)
/datum/computer/file/embedded_program/airlock/multi_docking/proc/send_signal_to_master(var/command)
@@ -7,7 +7,7 @@
/datum/computer/file/embedded_program/New(var/obj/machinery/embedded_controller/M)
master = M
if (istype(M, /obj/machinery/embedded_controller/radio))
if(istype(M, /obj/machinery/embedded_controller/radio))
var/obj/machinery/embedded_controller/radio/R = M
id_tag = R.id_tag
@@ -21,7 +21,7 @@
ui = nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open)
if (!ui)
if(!ui)
ui = new(user, src, ui_key, "simple_docking_console.tmpl", name, 470, 290)
ui.set_initial_data(data)
ui.open()
@@ -55,7 +55,7 @@
..(M)
memory["door_status"] = list(state = "closed", lock = "locked") //assume closed and locked in case the doors dont report in
if (istype(M, /obj/machinery/embedded_controller/radio/simple_docking_controller))
if(istype(M, /obj/machinery/embedded_controller/radio/simple_docking_controller))
var/obj/machinery/embedded_controller/radio/simple_docking_controller/controller = M
tag_door = controller.tag_door? controller.tag_door : "[id_tag]_hatch"
@@ -78,13 +78,13 @@
/datum/computer/file/embedded_program/docking/simple/receive_user_command(command)
switch(command)
if("force_door")
if (override_enabled)
if(override_enabled)
if(memory["door_status"]["state"] == "open")
close_door()
else
open_door()
if("toggle_override")
if (override_enabled)
if(override_enabled)
disable_override()
else
enable_override()