[MIRROR] Improve atmos components code + OmegaStation fixes (#2752)

* Improve atmos components code + OmegaStation fixes

* Update circulator.dm

* Update dp_vent_pump.dm

* Update pump.dm

* Update volume_pump.dm

* Update pump.dm

* Update pump.dm

* Update volume_pump.dm

* fixes pumps shows area rather than vague jump

also removes it from admin log, wew

* wew
This commit is contained in:
CitadelStationBot
2017-09-22 20:05:58 -05:00
committed by Poojawa
parent 751e219f4b
commit bf1e4a456f
19 changed files with 356 additions and 424 deletions
@@ -17,7 +17,7 @@ Thus, the two variables affect pump operation are set in New():
name = "gas pump"
desc = "A pump that moves gas by pressure."
can_unwrench = 1
can_unwrench = TRUE
var/on = FALSE
var/target_pressure = ONE_ATMOSPHERE
@@ -36,7 +36,7 @@ Thus, the two variables affect pump operation are set in New():
return ..()
/obj/machinery/atmospherics/components/binary/pump/update_icon_nopipes()
if(stat & NOPOWER)
if(!is_operational())
icon_state = "pump_off"
return
@@ -44,10 +44,8 @@ Thus, the two variables affect pump operation are set in New():
/obj/machinery/atmospherics/components/binary/pump/process_atmos()
// ..()
if(stat & (NOPOWER|BROKEN))
return 0
if(!on)
return 0
if(!on || !is_operational())
return
var/datum/gas_mixture/air1 = AIR1
var/datum/gas_mixture/air2 = AIR2
@@ -56,7 +54,7 @@ Thus, the two variables affect pump operation are set in New():
if((target_pressure - output_starting_pressure) < 0.01)
//No need to pump gas if target is already reached!
return 1
return
//Calculate necessary moles to transfer using PV=nRT
if((air1.total_moles() > 0) && (air1.temperature>0))
@@ -69,8 +67,6 @@ Thus, the two variables affect pump operation are set in New():
update_parents()
return 1
//Radio remote control
/obj/machinery/atmospherics/components/binary/pump/proc/set_frequency(new_frequency)
SSradio.remove_object(src, frequency)
@@ -80,7 +76,7 @@ Thus, the two variables affect pump operation are set in New():
/obj/machinery/atmospherics/components/binary/pump/proc/broadcast_status()
if(!radio_connection)
return 0
return
var/datum/signal/signal = new
signal.transmission_method = 1 //radio signal
@@ -96,8 +92,6 @@ Thus, the two variables affect pump operation are set in New():
radio_connection.post_signal(src, signal, filter = GLOB.RADIO_ATMOSIA)
return 1
/obj/machinery/atmospherics/components/binary/pump/ui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, force_open = FALSE, \
datum/tgui/master_ui = null, datum/ui_state/state = GLOB.default_state)
ui = SStgui.try_update_ui(user, src, ui_key, ui, force_open)
@@ -121,8 +115,7 @@ Thus, the two variables affect pump operation are set in New():
if("power")
on = !on
investigate_log("Pump, [src.name], was turned [on ? "on" : "off"] by [key_name(usr)] at [x], [y], [z], [A]", INVESTIGATE_ATMOS)
message_admins("Pump, [src.name], turned [on ? "on" : "off"] by [ADMIN_LOOKUPFLW(usr)] at [ADMIN_COORDJMP(T)]")
log_admin("[key_name(usr)] manipulated a pump at [x], [y], [z]")
message_admins("Pump, [src.name], turned [on ? "on" : "off"] by [ADMIN_LOOKUPFLW(usr)] at [ADMIN_COORDJMP(T)], [A]")
. = TRUE
if("pressure")
var/pressure = params["pressure"]
@@ -139,8 +132,7 @@ Thus, the two variables affect pump operation are set in New():
if(.)
target_pressure = Clamp(pressure, 0, MAX_OUTPUT_PRESSURE)
investigate_log("Pump, [src.name], was set to [target_pressure] kPa by [key_name(usr)] at [x], [y], [z], [A]", INVESTIGATE_ATMOS)
message_admins("Pump, [src.name], was set to [target_pressure] kPa by [ADMIN_LOOKUPFLW(usr)] at [ADMIN_COORDJMP(T)]")
log_admin("[key_name(usr)] manipulated a pump at [x], [y], [z]")
message_admins("Pump, [src.name], was set to [target_pressure] kPa by [ADMIN_LOOKUPFLW(usr)] at [ADMIN_COORDJMP(T)], [A]")
update_icon()
/obj/machinery/atmospherics/components/binary/pump/atmosinit()
@@ -150,7 +142,7 @@ Thus, the two variables affect pump operation are set in New():
/obj/machinery/atmospherics/components/binary/pump/receive_signal(datum/signal/signal)
if(!signal.data["tag"] || (signal.data["tag"] != id) || (signal.data["sigtype"]!="command"))
return 0
return
var/old_on = on //for logging
@@ -172,21 +164,18 @@ Thus, the two variables affect pump operation are set in New():
broadcast_status()
update_icon()
return
/obj/machinery/atmospherics/components/binary/pump/power_change()
..()
update_icon()
/obj/machinery/atmospherics/components/binary/pump/can_unwrench(mob/user)
if(..())
var/turf/T = get_turf(src)
var/area/A = get_area(src)
if(!(stat & NOPOWER) && on)
to_chat(user, "<span class='warning'>You cannot unwrench [src], turn it off first!</span>")
else
investigate_log("Pump, [src.name], was unwrenched by [key_name(usr)] at [x], [y], [z], [A]", INVESTIGATE_ATMOS)
message_admins("Pump, [src.name], was unwrenched by [ADMIN_LOOKUPFLW(user)] at [ADMIN_COORDJMP(T)]")
log_admin("[key_name(usr)] unwrenched a pump at [x], [y], [z]")
return 1
. = ..()
var/area/A = get_area(src)
if(. && on && is_operational())
to_chat(user, "<span class='warning'>You cannot unwrench [src], turn it off first!</span>")
return FALSE
else
investigate_log("Pump, [src.name], was unwrenched by [key_name(usr)] at [x], [y], [z], [A]", INVESTIGATE_ATMOS)
message_admins("Pump, [src.name], was unwrenched by [ADMIN_LOOKUPFLW(user)] at [A]")
return TRUE