[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 = "volumetric gas pump"
desc = "A pump that moves gas by volume."
can_unwrench = 1
can_unwrench = TRUE
var/on = FALSE
var/transfer_rate = MAX_TRANSFER_RATE
@@ -34,7 +34,7 @@ Thus, the two variables affect pump operation are set in New():
on = TRUE
/obj/machinery/atmospherics/components/binary/volume_pump/update_icon_nopipes()
if(stat & NOPOWER)
if(!is_operational())
icon_state = "volpump_off"
return
@@ -42,10 +42,8 @@ Thus, the two variables affect pump operation are set in New():
/obj/machinery/atmospherics/components/binary/volume_pump/process_atmos()
// ..()
if(stat & (NOPOWER|BROKEN))
if(!on || !is_operational())
return
if(!on)
return 0
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():
var/output_starting_pressure = air2.return_pressure()
if((input_starting_pressure < 0.01) || (output_starting_pressure > 9000))
return 1
return
var/transfer_ratio = min(1, transfer_rate/air1.volume)
@@ -66,8 +64,6 @@ Thus, the two variables affect pump operation are set in New():
update_parents()
return 1
/obj/machinery/atmospherics/components/binary/volume_pump/proc/set_frequency(new_frequency)
SSradio.remove_object(src, frequency)
frequency = new_frequency
@@ -76,7 +72,7 @@ Thus, the two variables affect pump operation are set in New():
/obj/machinery/atmospherics/components/binary/volume_pump/proc/broadcast_status()
if(!radio_connection)
return 0
return
var/datum/signal/signal = new
signal.transmission_method = 1 //radio signal
@@ -91,8 +87,6 @@ Thus, the two variables affect pump operation are set in New():
)
radio_connection.post_signal(src, signal)
return 1
/obj/machinery/atmospherics/components/binary/volume_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)
@@ -116,14 +110,12 @@ Thus, the two variables affect pump operation are set in New():
if(..())
return
var/turf/T = get_turf(src)
//var/area/A = get_area(src)
var/area/A = get_area(src)
switch(action)
if("power")
on = !on
investigate_log("Volume Pump, [src.name], was turned [on ? "on" : "off"] by [key_name(usr)] at [x], [y], [z], [loc.loc]", INVESTIGATE_ATMOS)
message_admins("Volume Pump, [src.name], turned [on ? "on" : "off"] by [ADMIN_LOOKUPFLW(usr)] at [ADMIN_COORDJMP(T)]")
log_admin("[key_name(usr)] manipulated a volume pump at [x], [y], [z]")
investigate_log("Volume Pump, [src.name], was turned [on ? "on" : "off"] by [key_name(usr)] at [x], [y], [z], [A]", INVESTIGATE_ATMOS)
message_admins("Volume Pump, [src.name], turned [on ? "on" : "off"] by [ADMIN_LOOKUPFLW(usr)] at [ADMIN_COORDJMP(T)], [A]")
. = TRUE
if("rate")
var/rate = params["rate"]
@@ -139,14 +131,13 @@ Thus, the two variables affect pump operation are set in New():
. = TRUE
if(.)
transfer_rate = Clamp(rate, 0, MAX_TRANSFER_RATE)
investigate_log("Volume Pump, [src.name], was set to [transfer_rate] L/s by [key_name(usr)] at [x], [y], [z], [loc.loc]", INVESTIGATE_ATMOS)
message_admins("Volume Pump, [src.name], was set to [transfer_rate] L/s by [ADMIN_LOOKUPFLW(usr)] at [ADMIN_COORDJMP(T)]")
log_admin("[key_name(usr)] manipulated a volume pump at [x], [y], [z]")
investigate_log("Volume Pump, [src.name], was set to [transfer_rate] L/s by [key_name(usr)] at [x], [y], [z], [A]", INVESTIGATE_ATMOS)
message_admins("Volume Pump, [src.name], was set to [transfer_rate] L/s by [ADMIN_LOOKUPFLW(usr)] at [ADMIN_COORDJMP(T)], [A]")
update_icon()
/obj/machinery/atmospherics/components/binary/volume_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
@@ -169,22 +160,18 @@ Thus, the two variables affect pump operation are set in New():
broadcast_status()
update_icon()
return
/obj/machinery/atmospherics/components/binary/volume_pump/power_change()
..()
update_icon()
/obj/machinery/atmospherics/components/binary/volume_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("Volume Pump, [src.name], was unwrenched by [key_name(usr)] at [x], [y], [z], [loc.loc]", INVESTIGATE_ATMOS)
message_admins("Volume Pump, [src.name], was unwrenched by [ADMIN_LOOKUPFLW(usr)] at [ADMIN_COORDJMP(T)]")
log_admin("[key_name(usr)] unwrenched a volume 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("Volume Pump, [src.name], was unwrenched by [key_name(usr)] at [x], [y], [z], [A]", INVESTIGATE_ATMOS)
message_admins("Volume Pump, [src.name], was unwrenched by [ADMIN_LOOKUPFLW(usr)] at [A]")
return