diff --git a/code/modules/reagents/Chemistry-Machinery.dm b/code/modules/reagents/Chemistry-Machinery.dm
index 9de1bfe886e..0f9ebfbb8ee 100644
--- a/code/modules/reagents/Chemistry-Machinery.dm
+++ b/code/modules/reagents/Chemistry-Machinery.dm
@@ -43,7 +43,7 @@
/obj/machinery/chem_dispenser/process()
- if(recharged < 0)
+ if(recharged <= 0)
recharge()
recharged = 15
else
@@ -68,7 +68,7 @@
options[/obj/item/stack/sheet/mineral/gold] = "Wire a golden filament to fix it."
options[/obj/item/stack/sheet/plasteel] = "Surround the outside with a plasteel cover to fix it."
options[/obj/item/stack/sheet/rglass] = "Insert a pane of reinforced glass to fix it."
-
+ stat |= BROKEN
while(amount > 0)
amount -= 1
@@ -105,12 +105,11 @@
* @return nothing
*/
/obj/machinery/chem_dispenser/ui_interact(mob/user, ui_key = "main")
- if(stat & (BROKEN|NOPOWER)) return
- if(user.stat || user.restrained()) return
-
if(broken_requirements.len)
user << "[src] is broken. [broken_requirements[broken_requirements[1]]]"
return
+ if(stat & (BROKEN|NOPOWER)) return
+ if(user.stat || user.restrained()) return
// this is the data which will be sent to the ui
var/data[0]
@@ -195,6 +194,8 @@
else
user.drop_item()
del(B)
+ if(broken_requirements.len==0)
+ stat ^= BROKEN
return
if(src.beaker)
user << "Something is already loaded into the machine."
diff --git a/maps/tgstation2.dmm b/maps/tgstation2.dmm
index c6fb8919c03..721c389386e 100644
--- a/maps/tgstation2.dmm
+++ b/maps/tgstation2.dmm
@@ -9123,7 +9123,7 @@
"dtC" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/mine/abandoned)
"dtD" = (/obj/structure/transit_tube{icon_state = "N-SW"},/obj/structure/lattice,/turf/space,/area)
"dtE" = (/obj/structure/sign/nosmoking_2{pixel_x = 32},/obj/machinery/camera{c_tag = "Research Outpost Mass Spectrometry"; dir = 8; network = list("Research","SS13")},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/hologram/holopad,/turf/simulated/floor{dir = 4; icon_state = "whitegreen"},/area/research_outpost/spectro)
-"dtF" = (/obj/machinery/chem_dispenser{broken_on_spawn = 1; energy = 0; recharged = 5000},/obj/item/weapon/paper{info = "Until I can get one of the repair crews in from Orion to look at it, no-one is to touch this thing.
And when I find out who thought it would be a good idea to do that with the emitter from the lab, you're finished here!"; name = "Out of Order"},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/sample)
+"dtF" = (/obj/machinery/chem_dispenser{broken_on_spawn = 1; energy = 0},/obj/item/weapon/paper{info = "Until I can get one of the repair crews in from Orion to look at it, no-one is to touch this thing.
And when I find out who thought it would be a good idea to do that with the emitter from the lab, you're finished here!"; name = "Out of Order"},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/sample)
"dtG" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 2; on = 1; scrub_CO2 = 0; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/sample)
"dtH" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 2; on = 1},/turf/simulated/floor{icon_state = "white"},/area/research_outpost/sample)
"dtI" = (/obj/machinery/light/small{dir = 4},/obj/machinery/power/apc{dir = 4; name = "Sample Preparation APC"; pixel_x = 24; pixel_y = 0},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/structure/cable,/turf/simulated/floor{icon_state = "white"},/area/research_outpost/sample)