diff --git a/code/ATMOSPHERICS/components/binary_devices/dp_vent_pump.dm b/code/ATMOSPHERICS/components/binary_devices/dp_vent_pump.dm
index 9b145bd1eb3..785d58520a0 100644
--- a/code/ATMOSPHERICS/components/binary_devices/dp_vent_pump.dm
+++ b/code/ATMOSPHERICS/components/binary_devices/dp_vent_pump.dm
@@ -261,4 +261,4 @@
return .
if("toggleadvcontrol" in href_list)
advcontrol = !advcontrol
- return MT_UPDATE
+ return TRUE
diff --git a/code/ATMOSPHERICS/components/unary_devices/vent_pump.dm b/code/ATMOSPHERICS/components/unary_devices/vent_pump.dm
index c47893fc9dd..613d0f0794e 100644
--- a/code/ATMOSPHERICS/components/unary_devices/vent_pump.dm
+++ b/code/ATMOSPHERICS/components/unary_devices/vent_pump.dm
@@ -413,7 +413,7 @@
/obj/machinery/atmospherics/unary/vent_pump/multitool_topic(var/mob/user, var/list/href_list, var/obj/O)
if("toggleadvcontrol" in href_list)
advcontrol = !advcontrol
- return MT_UPDATE
+ return TRUE
if("set_id" in href_list)
var/newid = copytext(reject_bad_text(input(usr, "Specify the new ID tag for this machine", src, src.id_tag) as null|text), 1, MAX_MESSAGE_LEN)
@@ -426,7 +426,7 @@
id_tag = newid
broadcast_status()
- return MT_UPDATE
+ return TRUE
return ..()
diff --git a/code/ATMOSPHERICS/components/unary_devices/vent_scrubber.dm b/code/ATMOSPHERICS/components/unary_devices/vent_scrubber.dm
index e22d00c3f80..8416a784019 100644
--- a/code/ATMOSPHERICS/components/unary_devices/vent_scrubber.dm
+++ b/code/ATMOSPHERICS/components/unary_devices/vent_scrubber.dm
@@ -351,7 +351,7 @@
/obj/machinery/atmospherics/unary/vent_scrubber/multitool_topic(var/mob/user, var/list/href_list, var/obj/O)
if("toggleadvcontrol" in href_list)
advcontrol = !advcontrol
- return MT_UPDATE
+ return TRUE
if("set_id" in href_list)
var/newid = copytext(reject_bad_text(input(usr, "Specify the new ID tag for this machine", src, src:id_tag) as null|text),1,MAX_MESSAGE_LEN)
@@ -365,7 +365,7 @@
id_tag = newid
broadcast_status()
- return MT_UPDATE
+ return TRUE
return ..()
diff --git a/code/__DEFINES/machines.dm b/code/__DEFINES/machines.dm
index 809567a0a75..7a691c44df2 100644
--- a/code/__DEFINES/machines.dm
+++ b/code/__DEFINES/machines.dm
@@ -32,11 +32,6 @@
#define HYDRO_SPEED_MULTIPLIER 1
-// multitool_topic() shit
-#define MT_ERROR -1
-#define MT_UPDATE 1
-#define MT_REINIT 2
-
//Modular computer/NTNet defines
//Modular computer part defines
diff --git a/code/game/machinery/atmo_control.dm b/code/game/machinery/atmo_control.dm
index 2e41ec49c0a..61547f270bf 100644
--- a/code/game/machinery/atmo_control.dm
+++ b/code/game/machinery/atmo_control.dm
@@ -57,14 +57,14 @@
output &= ~bitflag_value
else//can't not be off
output |= bitflag_value
- return MT_UPDATE
+ return TRUE
if("toggle_bolts" in href_list)
bolts = !bolts
if(bolts)
visible_message("You hear a quite click as the [src] bolts to the floor", "You hear a quite click")
else
visible_message("You hear a quite click as the [src]'s floor bolts raise", "You hear a quite click")
- return MT_UPDATE
+ return TRUE
/obj/machinery/air_sensor/attackby(var/obj/item/W as obj, var/mob/user as mob)
if(istype(W, /obj/item/multitool))
@@ -301,19 +301,19 @@
sensor_list|=G.id_tag
if(!sensor_list.len)
to_chat(user, "No sensors on this frequency.")
- return MT_ERROR
+ return FALSE
// Have the user pick one of them and name its label
var/sensor = input(user, "Select a sensor:", "Sensor Data") as null|anything in sensor_list
if(!sensor)
- return MT_ERROR
+ return FALSE
var/label = reject_bad_name( input(user, "Choose a sensor label:", "Sensor Label") as text|null, allow_numbers=1)
if(!label)
- return MT_ERROR
+ return FALSE
// Add the sensor's information to general_air_controler
sensors[sensor] = label
- return MT_UPDATE
+ return TRUE
if("edit_sensor" in href_list)
var/list/sensor_list = list()
@@ -322,14 +322,14 @@
sensor_list|=G.id_tag
if(!sensor_list.len)
to_chat(user, "No sensors on this frequency.")
- return MT_ERROR
+ return FALSE
var/label = sensors[href_list["edit_sensor"]]
var/sensor = input(user, "Select a sensor:", "Sensor Data", href_list["edit_sensor"]) as null|anything in sensor_list
if(!sensor)
- return MT_ERROR
+ return FALSE
sensors.Remove(href_list["edit_sensor"])
sensors[sensor] = label
- return MT_UPDATE
+ return TRUE
/obj/machinery/computer/general_air_control/unlinkFrom(mob/user, obj/O)
..()
diff --git a/code/game/machinery/atmoalter/meter.dm b/code/game/machinery/atmoalter/meter.dm
index d3d23e96bba..dba1d942e2d 100644
--- a/code/game/machinery/atmoalter/meter.dm
+++ b/code/game/machinery/atmoalter/meter.dm
@@ -4,17 +4,17 @@
icon = 'icons/obj/meter.dmi'
icon_state = "meterX"
var/obj/machinery/atmospherics/pipe/target = null
- anchored = 1
+ anchored = TRUE
armor = list(melee = 0, bullet = 0, laser = 0, energy = 100, bomb = 0, bio = 100, rad = 100)
power_channel = ENVIRON
- var/frequency = 0
+ var/frequency = ATMOS_DISTRO_FREQ
var/id
var/id_tag
use_power = IDLE_POWER_USE
idle_power_usage = 2
active_power_usage = 5
req_one_access_txt = "24;10"
- Mtoollink = 1
+ Mtoollink = TRUE
settagwhitelist = list("id_tag")
/obj/machinery/meter/New()
diff --git a/code/game/machinery/machinery.dm b/code/game/machinery/machinery.dm
index b0ab09be91b..553016400ad 100644
--- a/code/game/machinery/machinery.dm
+++ b/code/game/machinery/machinery.dm
@@ -222,11 +222,11 @@ Class Procs:
var/newid = copytext(reject_bad_text(input(usr, "Specify the new ID tag for this machine", src, src:id_tag) as null|text),1,MAX_MESSAGE_LEN)
if(newid)
src:id_tag = newid
- return MT_UPDATE|MT_REINIT
+ return TRUE
if("set_freq" in href_list)
if(!("frequency" in vars))
warning("set_freq: [type] has no frequency var.")
- return 0
+ return FALSE
var/newfreq=src:frequency
if(href_list["set_freq"]!="-1")
newfreq=text2num(href_list["set_freq"])
@@ -235,90 +235,81 @@ Class Procs:
if(newfreq)
if(findtext(num2text(newfreq), "."))
newfreq *= 10 // shift the decimal one place
- if(newfreq < 10000)
- src:frequency = newfreq
- return MT_UPDATE|MT_REINIT
- return 0
+ src:frequency = sanitize_frequency(newfreq, RADIO_LOW_FREQ, RADIO_HIGH_FREQ)
+ return TRUE
+ return FALSE
/obj/machinery/proc/handle_multitool_topic(var/href, var/list/href_list, var/mob/user)
if(!allowed(user))//no, not even HREF exploits
- return 0
+ return FALSE
var/obj/item/multitool/P = get_multitool(usr)
if(P && istype(P))
- var/update_mt_menu=0
- var/re_init=0
+ var/update_mt_menu = FALSE
if("set_tag" in href_list)
if(!(href_list["set_tag"] in settagwhitelist))//I see you're trying Href exploits, I see you're failing, I SEE ADMIN WARNING. (seriously though, this is a powerfull HREF, I originally found this loophole, I'm not leaving it in on my PR)
message_admins("set_tag HREF (var attempted to edit: [href_list["set_tag"]]) exploit attempted by [key_name_admin(user)] on [src] (JMP)")
- return 1
+ return FALSE
if(!(href_list["set_tag"] in vars))
to_chat(usr, "Something went wrong: Unable to find [href_list["set_tag"]] in vars!")
- return 1
+ return FALSE
var/current_tag = vars[href_list["set_tag"]]
var/newid = copytext(reject_bad_text(input(usr, "Specify the new value", src, current_tag) as null|text),1,MAX_MESSAGE_LEN)
if(newid)
vars[href_list["set_tag"]] = newid
- re_init=1
+ update_mt_menu = TRUE
if("unlink" in href_list)
var/idx = text2num(href_list["unlink"])
if(!idx)
- return 1
+ return FALSE
var/obj/O = getLink(idx)
if(!O)
- return 1
+ return FALSE
if(!canLink(O))
to_chat(usr, "You can't link with that device.")
- return 1
+ return FALSE
if(unlinkFrom(usr, O))
to_chat(usr, "A green light flashes on \the [P], confirming the link was removed.")
else
to_chat(usr, "A red light flashes on \the [P]. It appears something went wrong when unlinking the two devices.")
- update_mt_menu=1
+ update_mt_menu = TRUE
if("link" in href_list)
var/obj/O = P.buffer
if(!O)
- return 1
+ return FALSE
if(!canLink(O,href_list))
to_chat(usr, "You can't link with that device.")
- return 1
+ return FALSE
if(isLinkedWith(O))
to_chat(usr, "A red light flashes on \the [P]. The two devices are already linked.")
- return 1
+ return FALSE
if(linkWith(usr, O, href_list))
to_chat(usr, "A green light flashes on \the [P], confirming the link was added.")
else
to_chat(usr, "A red light flashes on \the [P]. It appears something went wrong when linking the two devices.")
- update_mt_menu=1
+ update_mt_menu = TRUE
if("buffer" in href_list)
P.buffer = src
to_chat(usr, "A green light flashes, and the device appears in the multitool buffer.")
- update_mt_menu=1
+ update_mt_menu = TRUE
if("flush" in href_list)
to_chat(usr, "A green light flashes, and the device disappears from the multitool buffer.")
P.buffer = null
- update_mt_menu=1
+ update_mt_menu = TRUE
var/ret = multitool_topic(usr,href_list,P.buffer)
- if(ret == MT_ERROR)
- return 1
- if(ret & MT_UPDATE)
- update_mt_menu=1
- if(ret & MT_REINIT)
- re_init=1
+ if(ret)
+ update_mt_menu = TRUE
- if(re_init)
- Initialize()
if(update_mt_menu)
- //usr.set_machine(src)
update_multitool_menu(usr)
- return 1
+ return TRUE
/obj/machinery/Topic(href, href_list, var/nowindow = 0, var/datum/topic_state/state = default_state)
if(..(href, href_list, nowindow, state))