diff --git a/code/modules/reagents/chemistry/machinery/chem_dispenser.dm b/code/modules/reagents/chemistry/machinery/chem_dispenser.dm
index 45e854c4b5..137a9cf792 100644
--- a/code/modules/reagents/chemistry/machinery/chem_dispenser.dm
+++ b/code/modules/reagents/chemistry/machinery/chem_dispenser.dm
@@ -188,7 +188,7 @@
datum/tgui/master_ui = null, datum/ui_state/state = GLOB.default_state)
ui = SStgui.try_update_ui(user, src, ui_key, ui, force_open)
if(!ui)
- ui = new(user, src, ui_key, "chem_dispenser", name, 565, 620, master_ui, state)
+ ui = new(user, src, ui_key, "chem_dispenser", name, 565, 550, master_ui, state)
if(user.hallucinating())
ui.set_autoupdate(FALSE) //to not ruin the immersion by constantly changing the fake chemicals
ui.open()
@@ -741,4 +741,4 @@
component_parts += new /obj/item/stock_parts/manipulator/femto(null)
component_parts += new /obj/item/stack/sheet/glass(null)
component_parts += new /obj/item/stock_parts/cell/bluespace(null)
- RefreshParts()
+ RefreshParts()
\ No newline at end of file
diff --git a/code/modules/reagents/chemistry/machinery/chem_heater.dm b/code/modules/reagents/chemistry/machinery/chem_heater.dm
index 95a0baf625..c0ecbbae6d 100644
--- a/code/modules/reagents/chemistry/machinery/chem_heater.dm
+++ b/code/modules/reagents/chemistry/machinery/chem_heater.dm
@@ -98,7 +98,7 @@
datum/tgui/master_ui = null, datum/ui_state/state = GLOB.default_state)
ui = SStgui.try_update_ui(user, src, ui_key, ui, force_open)
if(!ui)
- ui = new(user, src, ui_key, "chem_heater", name, 275, 320, master_ui, state)
+ ui = new(user, src, ui_key, "chem_heater", name, 275, 400, master_ui, state)
ui.open()
/obj/machinery/chem_heater/ui_data()
@@ -150,4 +150,4 @@
if("eject")
on = FALSE
replace_beaker(usr)
- . = TRUE
+ . = TRUE
\ No newline at end of file
diff --git a/code/modules/reagents/chemistry/machinery/chem_master.dm b/code/modules/reagents/chemistry/machinery/chem_master.dm
index 30fa684bbd..f5db2e8c40 100644
--- a/code/modules/reagents/chemistry/machinery/chem_master.dm
+++ b/code/modules/reagents/chemistry/machinery/chem_master.dm
@@ -29,10 +29,10 @@
//Calculate the span tags and ids fo all the available pill icons
var/datum/asset/spritesheet/simple/assets = get_asset_datum(/datum/asset/spritesheet/simple/pills)
pillStyles = list()
- for(var/x in 1 to PILL_STYLE_COUNT)
+ for (var/x in 1 to PILL_STYLE_COUNT)
var/list/SL = list()
SL["id"] = x
- SL["className"] = assets.icon_tag("pill[x]")
+ SL["htmltag"] = assets.icon_tag("pill[x]")
pillStyles += list(SL)
. = ..()
@@ -158,7 +158,7 @@
if(!ui)
var/datum/asset/assets = get_asset_datum(/datum/asset/spritesheet/simple/pills)
assets.send(user)
- ui = new(user, src, ui_key, "chem_master", name, 465, 550, master_ui, state)
+ ui = new(user, src, ui_key, "chem_master", name, 500, 550, master_ui, state)
ui.open()
//Insert our custom spritesheet css link into the html
@@ -180,8 +180,8 @@
data["isPillBottleLoaded"] = bottle ? 1 : 0
if(bottle)
var/datum/component/storage/STRB = bottle.GetComponent(/datum/component/storage)
- data["pillBottleCurrentAmount"] = bottle.contents.len
- data["pillBottleMaxAmount"] = STRB.max_items
+ data["pillBotContent"] = bottle.contents.len
+ data["pillBotMaxContent"] = STRB.max_items
var/beakerContents[0]
if(beaker)
@@ -480,248 +480,7 @@
screen = params["screen"]
. = TRUE
-/obj/machinery/chem_master/ui_act(action, params)
- if(..())
- return
- if(action == "eject")
- replace_beaker(usr)
- return TRUE
-
- if(action == "ejectPillBottle")
- if(!bottle)
- return FALSE
- bottle.forceMove(drop_location())
- adjust_item_drop_location(bottle)
- bottle = null
- return TRUE
-
- if(action == "transfer")
- if(!beaker)
- return FALSE
- var/reagent = GLOB.name2reagent[params["id"]]
- var/amount = text2num(params["amount"])
- var/to_container = params["to"]
- // Custom amount
- if(amount == -1)
- amount = text2num(input(
- "Enter the amount you want to transfer:",
- name, ""))
- if(amount == null || amount <= 0)
- return FALSE
- if(to_container == "buffer")
- beaker.reagents.trans_id_to(src, reagent, amount)
- return TRUE
- if(to_container == "beaker" && mode)
- reagents.trans_id_to(beaker, reagent, amount)
- return TRUE
- if(to_container == "beaker" && !mode)
- reagents.remove_reagent(reagent, amount)
- return TRUE
- return FALSE
-
- if(action == "toggleMode")
- mode = !mode
- return TRUE
-
- if(action == "createVial")
- var/many = params["many"]
- if(reagents.total_volume == 0)
- return
-
- var/amount_full = 0
- var/vol_part = min(reagents.total_volume, 60)
- if(text2num(many))
- amount_full = round(reagents.total_volume / 60)
- vol_part = reagents.total_volume % 60
- var/name = stripped_input(usr, "Name:","Name your hypovial!", (reagents.total_volume ? reagents.get_master_reagent_name() : " "), MAX_NAME_LEN)
- if(!name || !reagents.total_volume || !src || QDELETED(src) || !usr.canUseTopic(src, !issilicon(usr)))
- return
-
- var/obj/item/reagent_containers/glass/bottle/vial/small/P
- for(var/i = 0; i < amount_full; i++)
- P = new/obj/item/reagent_containers/glass/bottle/vial/small(drop_location())
- P.name = trim("[name] hypovial")
- adjust_item_drop_location(P)
- reagents.trans_to(P, 60)
-
- if(vol_part)
- P = new/obj/item/reagent_containers/glass/bottle/vial/small(drop_location())
- P.name = trim("[name] hypovial")
- adjust_item_drop_location(P)
- reagents.trans_to(P, vol_part)
- . = TRUE
-
- if(action == "createDart")
- for(var/datum/reagent/R in reagents.reagent_list)
- if(!(istype(R, /datum/reagent/medicine)))
- visible_message("The [src] beeps, \"SmartDarts are insoluble with non-medicinal compounds.\"")
- return
-
- var/many = params["many"]
- if(reagents.total_volume == 0)
- return
- var/amount = 1
- var/vol_each = min(reagents.total_volume, 20)
- if(text2num(many))
- amount = CLAMP(round(input(usr, "Max 10. Buffer content will be split evenly.", "How many darts?", amount) as num|null), 0, 10)
- if(!amount)
- return
- vol_each = min(reagents.total_volume / amount, 20)
-
- var/name = stripped_input(usr,"Name:","Name your SmartDart!", "[reagents.get_master_reagent_name()] ([vol_each]u)", MAX_NAME_LEN)
- if(!name || !reagents.total_volume || !src || QDELETED(src) || !usr.canUseTopic(src, !issilicon(usr)))
- return
-
- var/obj/item/reagent_containers/syringe/dart/D
- for(var/i = 0; i < amount; i++)
- D = new /obj/item/reagent_containers/syringe/dart(drop_location())
- D.name = trim("[name] SmartDart")
- adjust_item_drop_location(D)
- reagents.trans_to(D, vol_each)
- D.mode=!mode
- D.update_icon()
- . = TRUE
-
- if(action == "pillStyle")
- var/id = text2num(params["id"])
- chosenPillStyle = id
- return TRUE
-
- if(action == "create")
- if(reagents.total_volume == 0)
- return FALSE
- var/item_type = params["type"]
- // Get amount of items
- var/amount = text2num(params["amount"])
- if(amount == null)
- amount = text2num(input(usr,
- "Max 10. Buffer content will be split evenly.",
- "How many to make?", 1))
- amount = CLAMP(round(amount), 0, 10)
- if (amount <= 0)
- return FALSE
- // Get units per item
- var/vol_each = text2num(params["volume"])
- var/vol_each_text = params["volume"]
- var/vol_each_max = reagents.total_volume / amount
- if (item_type == "pill")
- vol_each_max = min(50, vol_each_max)
- else if (item_type == "patch")
- vol_each_max = min(40, vol_each_max)
- else if (item_type == "bottle")
- vol_each_max = min(30, vol_each_max)
- else if (item_type == "condimentPack")
- vol_each_max = min(10, vol_each_max)
- else if (item_type == "condimentBottle")
- vol_each_max = min(50, vol_each_max)
- else
- return FALSE
- if(vol_each_text == "auto")
- vol_each = vol_each_max
- if(vol_each == null)
- vol_each = text2num(input(usr,
- "Maximum [vol_each_max] units per item.",
- "How many units to fill?",
- vol_each_max))
- vol_each = CLAMP(vol_each, 0, vol_each_max)
- if(vol_each <= 0)
- return FALSE
- // Get item name
- var/name = params["name"]
- var/name_has_units = item_type == "pill" || item_type == "patch"
- if(!name)
- var/name_default = reagents.get_master_reagent_name()
- if (name_has_units)
- name_default += " ([vol_each]u)"
- name = stripped_input(usr,
- "Name:",
- "Give it a name!",
- name_default,
- MAX_NAME_LEN)
- if(!name || !reagents.total_volume || !src || QDELETED(src) || !usr.canUseTopic(src, !issilicon(usr)))
- return FALSE
- // Start filling
- if(item_type == "pill")
- var/obj/item/reagent_containers/pill/P
- var/target_loc = drop_location()
- var/drop_threshold = INFINITY
- if(bottle)
- var/datum/component/storage/STRB = bottle.GetComponent(
- /datum/component/storage)
- if(STRB)
- drop_threshold = STRB.max_items - bottle.contents.len
- for(var/i = 0; i < amount; i++)
- if(i < drop_threshold)
- P = new/obj/item/reagent_containers/pill(target_loc)
- else
- P = new/obj/item/reagent_containers/pill(drop_location())
- P.name = trim("[name] pill")
- if(chosenPillStyle == RANDOM_PILL_STYLE)
- P.icon_state ="pill[rand(1,21)]"
- else
- P.icon_state = "pill[chosenPillStyle]"
- if(P.icon_state == "pill4")
- P.desc = "A tablet or capsule, but not just any, a red one, one taken by the ones not scared of knowledge, freedom, uncertainty and the brutal truths of reality."
- adjust_item_drop_location(P)
- reagents.trans_to(P, vol_each)
- return TRUE
- if(item_type == "patch")
- var/obj/item/reagent_containers/pill/patch/P
- for(var/i = 0; i < amount; i++)
- P = new/obj/item/reagent_containers/pill/patch(drop_location())
- P.name = trim("[name] patch")
- adjust_item_drop_location(P)
- reagents.trans_to(P, vol_each)
- return TRUE
- if(item_type == "bottle")
- var/obj/item/reagent_containers/glass/bottle/P
- for(var/i = 0; i < amount; i++)
- P = new/obj/item/reagent_containers/glass/bottle(drop_location())
- P.name = trim("[name] bottle")
- adjust_item_drop_location(P)
- reagents.trans_to(P, vol_each)
- return TRUE
- if(item_type == "condimentPack")
- var/obj/item/reagent_containers/food/condiment/pack/P
- for(var/i = 0; i < amount; i++)
- P = new/obj/item/reagent_containers/food/condiment/pack(drop_location())
- P.originalname = name
- P.name = trim("[name] pack")
- P.desc = "A small condiment pack. The label says it contains [name]."
- reagents.trans_to(P, vol_each)
- return TRUE
- if(item_type == "condimentBottle")
- var/obj/item/reagent_containers/food/condiment/P
- for(var/i = 0; i < amount; i++)
- P = new/obj/item/reagent_containers/food/condiment(drop_location())
- P.originalname = name
- P.name = trim("[name] bottle")
- reagents.trans_to(P, vol_each)
- return TRUE
- return FALSE
-
- if(action == "analyze")
- var/datum/reagent/R = GLOB.name2reagent[params["id"]]
- if(R)
- var/state = "Unknown"
- if(initial(R.reagent_state) == 1)
- state = "Solid"
- else if(initial(R.reagent_state) == 2)
- state = "Liquid"
- else if(initial(R.reagent_state) == 3)
- state = "Gas"
- var/const/P = 3 //The number of seconds between life ticks
- var/T = initial(R.metabolization_rate) * (60 / P)
- analyzeVars = list("name" = initial(R.name), "state" = state, "color" = initial(R.color), "description" = initial(R.description), "metaRate" = T, "overD" = initial(R.overdose_threshold), "addicD" = initial(R.addiction_threshold))
- screen = "analyze"
- return TRUE
-
- if(action == "goScreen")
- screen = params["screen"]
- return TRUE
-
- return FALSE
/obj/machinery/chem_master/proc/end_fermi_reaction()//Ends any reactions upon moving.
if(beaker && beaker.reagents.fermiIsReacting)
@@ -766,4 +525,4 @@
condi = TRUE
#undef PILL_STYLE_COUNT
-#undef RANDOM_PILL_STYLE
+#undef RANDOM_PILL_STYLE
\ No newline at end of file