mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-08-29 06:58:30 +01:00
TGUI Engineering: Squashed Edition (Commits Below)
TGUI APCs TGUI vending machines Fix AI default_tgui_interaction TGUI Airlocks Station & Atmospheric Alert TGUI + Misc NTOS-TGUI Fixes TGUI Air Alarms & Central Atmospheric Control Airlock TGUI TG... got rid of UI for fire alarm. í´· TGUI Gas Heating/Cooling System TGUI Gas Pump & Passive Gate + Fixes TGUI Omni Atmospherics TGUI Pipe Dispensers & RPD TGUI IntelliCore & Vending Fix TGUI Handheld Tanks TGUI Portable Pump & Scrubber TGUI Tank Dispenser & Canisters TGUI Radios TGUI SMES & Air Alarm adjustment Tweak vending machine interfaces a tad TGUI Algae Farm TGUI general_air_control - Distro & Waste Console - Riot Control Console - Atmos Intake Console - Engine Cooling Console TGUI Heavy Scrubber Control (and body scanner fix) TGUI trinary devices & shutoff monitor TGUI Telecomms Log Browser TGUI Telecomms Machine Browser TGUI Spaceheater Internal Panel TGUI Gravity Generator TGUI Id Cards & Fix ID Card Images TGUI Id Card Redesign TGUI Turbolift TGUI Suit Cycler & Suit Storage Unit & Vending Fixes TGUI Power Monitor TGUI Signalers TGUI Employment Records TGUI Drone Console TGUI RIGSuits TGUI PA & PACMAN, and Margin Fix TGUI Solar Panels & Fix Power Monitor Adjust TGUI modules & their interaction with NTOS TGUI RCON TGUI Message Monitor Bump TGUI line limit to 120 (ParadiseSS13/Paradise#14002) TGUI Exonet & NTNet Relay TGUI Telecomms Multitool Menu TGUI Shield Capacitor & Shield Generator TGUI Supermatter-everything & Refactors
This commit is contained in:
@@ -111,7 +111,7 @@
|
||||
if(frequency)
|
||||
set_frequency(frequency)
|
||||
|
||||
/obj/machinery/atmospherics/trinary/atmos_filter/attack_hand(user as mob) // -- TLE
|
||||
/obj/machinery/atmospherics/trinary/atmos_filter/attack_hand(user) // -- TLE
|
||||
if(..())
|
||||
return
|
||||
|
||||
@@ -119,81 +119,106 @@
|
||||
to_chat(user, "<span class='warning'>Access denied.</span>")
|
||||
return
|
||||
|
||||
var/dat
|
||||
var/current_filter_type
|
||||
switch(filter_type)
|
||||
if(0)
|
||||
current_filter_type = "Phoron"
|
||||
if(1)
|
||||
current_filter_type = "Oxygen"
|
||||
if(2)
|
||||
current_filter_type = "Nitrogen"
|
||||
if(3)
|
||||
current_filter_type = "Carbon Dioxide"
|
||||
if(4)
|
||||
current_filter_type = "Nitrous Oxide"
|
||||
if(-1)
|
||||
current_filter_type = "Nothing"
|
||||
else
|
||||
current_filter_type = "ERROR - Report this bug to the admin, please!"
|
||||
tgui_interact(user)
|
||||
|
||||
dat += {"
|
||||
<b>Power: </b><a href='?src=\ref[src];power=1'>[use_power?"On":"Off"]</a><br>
|
||||
<b>Filtering: </b>[current_filter_type]<br><HR>
|
||||
<h4>Set Filter Type:</h4>
|
||||
<A href='?src=\ref[src];filterset=0'>Phoron</A><BR>
|
||||
<A href='?src=\ref[src];filterset=1'>Oxygen</A><BR>
|
||||
<A href='?src=\ref[src];filterset=2'>Nitrogen</A><BR>
|
||||
<A href='?src=\ref[src];filterset=3'>Carbon Dioxide</A><BR>
|
||||
<A href='?src=\ref[src];filterset=4'>Nitrous Oxide</A><BR>
|
||||
<A href='?src=\ref[src];filterset=-1'>Nothing</A><BR>
|
||||
<HR>
|
||||
<B>Set Flow Rate Limit:</B>
|
||||
[src.set_flow_rate]L/s | <a href='?src=\ref[src];set_flow_rate=1'>Change</a><BR>
|
||||
<B>Flow rate: </B>[round(last_flow_rate, 0.1)]L/s
|
||||
"}
|
||||
// var/dat
|
||||
// var/current_filter_type
|
||||
// switch(filter_type)
|
||||
// if(0)
|
||||
// current_filter_type = "Phoron"
|
||||
// if(1)
|
||||
// current_filter_type = "Oxygen"
|
||||
// if(2)
|
||||
// current_filter_type = "Nitrogen"
|
||||
// if(3)
|
||||
// current_filter_type = "Carbon Dioxide"
|
||||
// if(4)
|
||||
// current_filter_type = "Nitrous Oxide"
|
||||
// if(-1)
|
||||
// current_filter_type = "Nothing"
|
||||
// else
|
||||
// current_filter_type = "ERROR - Report this bug to the admin, please!"
|
||||
|
||||
user << browse("<HEAD><TITLE>[src.name] control</TITLE></HEAD><TT>[dat]</TT>", "window=atmos_filter")
|
||||
onclose(user, "atmos_filter")
|
||||
return
|
||||
// dat += {"
|
||||
// <b>Power: </b><a href='?src=\ref[src];power=1'>[use_power?"On":"Off"]</a><br>
|
||||
// <b>Filtering: </b>[current_filter_type]<br><HR>
|
||||
// <h4>Set Filter Type:</h4>
|
||||
// <A href='?src=\ref[src];filterset=0'>Phoron</A><BR>
|
||||
// <A href='?src=\ref[src];filterset=1'>Oxygen</A><BR>
|
||||
// <A href='?src=\ref[src];filterset=2'>Nitrogen</A><BR>
|
||||
// <A href='?src=\ref[src];filterset=3'>Carbon Dioxide</A><BR>
|
||||
// <A href='?src=\ref[src];filterset=4'>Nitrous Oxide</A><BR>
|
||||
// <A href='?src=\ref[src];filterset=-1'>Nothing</A><BR>
|
||||
// <HR>
|
||||
// <B>Set Flow Rate Limit:</B>
|
||||
// [src.set_flow_rate]L/s | <a href='?src=\ref[src];set_flow_rate=1'>Change</a><BR>
|
||||
// <B>Flow rate: </B>[round(last_flow_rate, 0.1)]L/s
|
||||
// "}
|
||||
|
||||
/obj/machinery/atmospherics/trinary/atmos_filter/Topic(href, href_list) // -- TLE
|
||||
// user << browse("<HEAD><TITLE>[src.name] control</TITLE></HEAD><TT>[dat]</TT>", "window=atmos_filter")
|
||||
// onclose(user, "atmos_filter")
|
||||
|
||||
|
||||
|
||||
/obj/machinery/atmospherics/trinary/atmos_filter/tgui_interact(mob/user, datum/tgui/ui)
|
||||
ui = SStgui.try_update_ui(user, src, ui)
|
||||
if(!ui)
|
||||
ui = new(user, src, "AtmosFilter", name)
|
||||
ui.open()
|
||||
|
||||
/obj/machinery/atmospherics/trinary/atmos_filter/tgui_data(mob/user)
|
||||
var/list/data = list()
|
||||
|
||||
data["on"] = use_power
|
||||
data["rate"] = set_flow_rate
|
||||
data["max_rate"] = air1.volume
|
||||
|
||||
data["filter_types"] = list()
|
||||
data["filter_types"] += list(list("name" = "Nothing", "f_type" = -1, "selected" = filter_type == -1))
|
||||
data["filter_types"] += list(list("name" = "Phoron", "f_type" = 0, "selected" = filter_type == 0))
|
||||
data["filter_types"] += list(list("name" = "Oxygen", "f_type" = 1, "selected" = filter_type == 1))
|
||||
data["filter_types"] += list(list("name" = "Nitrogen", "f_type" = 2, "selected" = filter_type == 2))
|
||||
data["filter_types"] += list(list("name" = "Carbon Dioxide", "f_type" = 3, "selected" = filter_type == 3))
|
||||
data["filter_types"] += list(list("name" = "Nitrous Oxide", "f_type" = 4, "selected" = filter_type == 4))
|
||||
|
||||
return data
|
||||
|
||||
/obj/machinery/atmospherics/trinary/atmos_filter/tgui_act(action, params)
|
||||
if(..())
|
||||
return 1
|
||||
usr.set_machine(src)
|
||||
src.add_fingerprint(usr)
|
||||
if(href_list["filterset"])
|
||||
filter_type = text2num(href_list["filterset"])
|
||||
return TRUE
|
||||
|
||||
filtered_out.Cut() //no need to create new lists unnecessarily
|
||||
switch(filter_type)
|
||||
if(0) //removing hydrocarbons
|
||||
filtered_out += "phoron"
|
||||
filtered_out += "oxygen_agent_b"
|
||||
if(1) //removing O2
|
||||
filtered_out += "oxygen"
|
||||
if(2) //removing N2
|
||||
filtered_out += "nitrogen"
|
||||
if(3) //removing CO2
|
||||
filtered_out += "carbon_dioxide"
|
||||
if(4)//removing N2O
|
||||
filtered_out += "sleeping_agent"
|
||||
switch(action)
|
||||
if("power")
|
||||
update_use_power(!use_power)
|
||||
if("rate")
|
||||
var/rate = params["rate"]
|
||||
if(rate == "max")
|
||||
rate = air1.volume
|
||||
. = TRUE
|
||||
else if(text2num(rate) != null)
|
||||
rate = text2num(rate)
|
||||
. = TRUE
|
||||
if(.)
|
||||
set_flow_rate = clamp(rate, 0, air1.volume)
|
||||
if("filter")
|
||||
. = TRUE
|
||||
filter_type = text2num(params["filterset"])
|
||||
filtered_out.Cut() //no need to create new lists unnecessarily
|
||||
switch(filter_type)
|
||||
if(0) //removing hydrocarbons
|
||||
filtered_out += "phoron"
|
||||
filtered_out += "oxygen_agent_b"
|
||||
if(1) //removing O2
|
||||
filtered_out += "oxygen"
|
||||
if(2) //removing N2
|
||||
filtered_out += "nitrogen"
|
||||
if(3) //removing CO2
|
||||
filtered_out += "carbon_dioxide"
|
||||
if(4)//removing N2O
|
||||
filtered_out += "sleeping_agent"
|
||||
|
||||
if (href_list["temp"])
|
||||
src.temp = null
|
||||
if(href_list["set_flow_rate"])
|
||||
var/new_flow_rate = input(usr,"Enter new flow rate (0-[air1.volume]L/s)","Flow Rate Control",src.set_flow_rate) as num
|
||||
src.set_flow_rate = max(0, min(air1.volume, new_flow_rate))
|
||||
if(href_list["power"])
|
||||
update_use_power(!use_power)
|
||||
src.update_icon()
|
||||
src.updateUsrDialog()
|
||||
/*
|
||||
for(var/mob/M in viewers(1, src))
|
||||
if ((M.client && M.machine == src))
|
||||
src.attack_hand(M)
|
||||
*/
|
||||
return
|
||||
add_fingerprint(usr)
|
||||
update_icon()
|
||||
|
||||
//
|
||||
// Mirrored Orientation - Flips the output dir to opposite side from normal.
|
||||
|
||||
@@ -77,59 +77,88 @@
|
||||
|
||||
return 1
|
||||
|
||||
/obj/machinery/atmospherics/trinary/mixer/tgui_interact(mob/user, datum/tgui/ui)
|
||||
ui = SStgui.try_update_ui(user, src, ui)
|
||||
if(!ui)
|
||||
ui = new(user, src, "AtmosMixer", name)
|
||||
ui.open()
|
||||
|
||||
/obj/machinery/atmospherics/trinary/mixer/tgui_data(mob/user)
|
||||
var/list/data = list()
|
||||
data["on"] = use_power
|
||||
data["set_pressure"] = round(set_flow_rate)
|
||||
data["max_pressure"] = min(air1.volume, air2.volume)
|
||||
data["node1_concentration"] = round(mixing_inputs[air1]*100, 1)
|
||||
data["node2_concentration"] = round(mixing_inputs[air2]*100, 1)
|
||||
var/list/node_connects = get_node_connect_dirs()
|
||||
data["node1_dir"] = dir_name(node_connects[1],TRUE)
|
||||
data["node2_dir"] = dir_name(node_connects[2],TRUE)
|
||||
return data
|
||||
|
||||
/obj/machinery/atmospherics/trinary/mixer/attack_hand(user as mob)
|
||||
if(..())
|
||||
return
|
||||
src.add_fingerprint(usr)
|
||||
if(!src.allowed(user))
|
||||
to_chat(user, "<span class='warning'>Access denied.</span>")
|
||||
return
|
||||
usr.set_machine(src)
|
||||
var/list/node_connects = get_node_connect_dirs()
|
||||
var/dat = {"<b>Power: </b><a href='?src=\ref[src];power=1'>[use_power?"On":"Off"]</a><br>
|
||||
<b>Set Flow Rate Limit: </b>
|
||||
[set_flow_rate]L/s | <a href='?src=\ref[src];set_press=1'>Change</a>
|
||||
<br>
|
||||
<b>Flow Rate: </b>[round(last_flow_rate, 0.1)]L/s
|
||||
<br><hr>
|
||||
<b>Node 1 ([dir_name(node_connects[1],TRUE)]) Concentration:</b>
|
||||
<a href='?src=\ref[src];node1_c=-0.1'><b>-</b></a>
|
||||
<a href='?src=\ref[src];node1_c=-0.01'>-</a>
|
||||
[mixing_inputs[air1]]([mixing_inputs[air1]*100]%)
|
||||
<a href='?src=\ref[src];node1_c=0.01'><b>+</b></a>
|
||||
<a href='?src=\ref[src];node1_c=0.1'>+</a>
|
||||
<br>
|
||||
<b>Node 2 ([dir_name(node_connects[2],TRUE)]) Concentration:</b>
|
||||
<a href='?src=\ref[src];node2_c=-0.1'><b>-</b></a>
|
||||
<a href='?src=\ref[src];node2_c=-0.01'>-</a>
|
||||
[mixing_inputs[air2]]([mixing_inputs[air2]*100]%)
|
||||
<a href='?src=\ref[src];node2_c=0.01'><b>+</b></a>
|
||||
<a href='?src=\ref[src];node2_c=0.1'>+</a>
|
||||
"}
|
||||
tgui_interact(user)
|
||||
// src.add_fingerprint(usr)
|
||||
// if(!src.allowed(user))
|
||||
// to_chat(user, "<span class='warning'>Access denied.</span>")
|
||||
// return
|
||||
// usr.set_machine(src)
|
||||
// var/list/node_connects = get_node_connect_dirs()
|
||||
// var/dat = {"<b>Power: </b><a href='?src=\ref[src];power=1'>[use_power?"On":"Off"]</a><br>
|
||||
// <b>Set Flow Rate Limit: </b>
|
||||
// [set_flow_rate]L/s | <a href='?src=\ref[src];set_press=1'>Change</a>
|
||||
// <br>
|
||||
// <b>Flow Rate: </b>[round(last_flow_rate, 0.1)]L/s
|
||||
// <br><hr>
|
||||
// <b>Node 1 ([dir_name(node_connects[1],TRUE)]) Concentration:</b>
|
||||
// <a href='?src=\ref[src];node1_c=-0.1'><b>-</b></a>
|
||||
// <a href='?src=\ref[src];node1_c=-0.01'>-</a>
|
||||
// [mixing_inputs[air1]]([mixing_inputs[air1]*100]%)
|
||||
// <a href='?src=\ref[src];node1_c=0.01'><b>+</b></a>
|
||||
// <a href='?src=\ref[src];node1_c=0.1'>+</a>
|
||||
// <br>
|
||||
// <b>Node 2 ([dir_name(node_connects[2],TRUE)]) Concentration:</b>
|
||||
// <a href='?src=\ref[src];node2_c=-0.1'><b>-</b></a>
|
||||
// <a href='?src=\ref[src];node2_c=-0.01'>-</a>
|
||||
// [mixing_inputs[air2]]([mixing_inputs[air2]*100]%)
|
||||
// <a href='?src=\ref[src];node2_c=0.01'><b>+</b></a>
|
||||
// <a href='?src=\ref[src];node2_c=0.1'>+</a>
|
||||
// "}
|
||||
|
||||
user << browse("<HEAD><TITLE>[src.name] control</TITLE></HEAD><TT>[dat]</TT>", "window=atmo_mixer")
|
||||
onclose(user, "atmo_mixer")
|
||||
return
|
||||
// user << browse("<HEAD><TITLE>[src.name] control</TITLE></HEAD><TT>[dat]</TT>", "window=atmo_mixer")
|
||||
// onclose(user, "atmo_mixer")
|
||||
// return
|
||||
|
||||
/obj/machinery/atmospherics/trinary/mixer/Topic(href,href_list)
|
||||
if(..()) return 1
|
||||
if(href_list["power"])
|
||||
update_use_power(!use_power)
|
||||
if(href_list["set_press"])
|
||||
var/max_flow_rate = min(air1.volume, air2.volume)
|
||||
var/new_flow_rate = input(usr,"Enter new flow rate limit (0-[max_flow_rate]L/s)","Flow Rate Control",src.set_flow_rate) as num
|
||||
src.set_flow_rate = max(0, min(max_flow_rate, new_flow_rate))
|
||||
if(href_list["node1_c"])
|
||||
var/value = text2num(href_list["node1_c"])
|
||||
src.mixing_inputs[air1] = max(0, min(1, src.mixing_inputs[air1] + value))
|
||||
src.mixing_inputs[air2] = 1.0 - mixing_inputs[air1]
|
||||
if(href_list["node2_c"])
|
||||
var/value = text2num(href_list["node2_c"])
|
||||
src.mixing_inputs[air2] = max(0, min(1, src.mixing_inputs[air2] + value))
|
||||
src.mixing_inputs[air1] = 1.0 - mixing_inputs[air2]
|
||||
src.update_icon()
|
||||
src.updateUsrDialog()
|
||||
return
|
||||
/obj/machinery/atmospherics/trinary/mixer/tgui_act(action, params)
|
||||
if(..())
|
||||
return TRUE
|
||||
|
||||
switch(action)
|
||||
if("power")
|
||||
update_use_power(!use_power)
|
||||
. = TRUE
|
||||
if("pressure")
|
||||
var/pressure = params["pressure"]
|
||||
if(pressure == "max")
|
||||
pressure = min(air1.volume, air2.volume)
|
||||
. = TRUE
|
||||
else if(text2num(pressure) != null)
|
||||
pressure = text2num(pressure)
|
||||
. = TRUE
|
||||
if(.)
|
||||
set_flow_rate = clamp(pressure, 0, min(air1.volume, air2.volume))
|
||||
if("node1")
|
||||
var/value = text2num(params["concentration"])
|
||||
mixing_inputs[air1] = max(0, min(1, value / 100))
|
||||
mixing_inputs[air2] = 1.0 - mixing_inputs[air1]
|
||||
. = TRUE
|
||||
if("node2")
|
||||
var/value = text2num(params["concentration"])
|
||||
mixing_inputs[air2] = max(0, min(1, value / 100))
|
||||
mixing_inputs[air1] = 1.0 - mixing_inputs[air2]
|
||||
. = TRUE
|
||||
update_icon()
|
||||
|
||||
//
|
||||
// "T" Orientation - Inputs are on oposite sides instead of adjacent
|
||||
|
||||
Reference in New Issue
Block a user