Skip to content
This repository was archived by the owner on May 22, 2025. It is now read-only.
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
52 changes: 35 additions & 17 deletions code/modules/reagents/chemistry/machinery/chem_dispenser.dm
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,6 @@
/datum/reagent/fluorine,
/datum/reagent/hydrogen,
/datum/reagent/iodine,
/datum/reagent/iron,
/datum/reagent/lithium,
/datum/reagent/mercury,
/datum/reagent/nitrogen,
Expand All @@ -57,17 +56,21 @@
/datum/reagent/stable_plasma,
/datum/reagent/consumable/sugar,
/datum/reagent/sulfur,
/datum/reagent/toxin/acid,
/datum/reagent/toxin/acid
)
var/list/t2_upgrade_reagents = list(
/datum/reagent/iron,
/datum/reagent/water,
/datum/reagent/fuel
)
//these become available once the manipulator has been upgraded to tier 4 (femto)
var/list/upgrade_reagents = list(
/datum/reagent/acetone,
var/list/t3_upgrade_reagents = list(
/datum/reagent/ammonia,
/datum/reagent/ash,
/datum/reagent/oil
)
var/list/t4_upgrade_reagents = list(
/datum/reagent/acetone,
/datum/reagent/diethylamine,
/datum/reagent/oil,
/datum/reagent/saltpetre
)
var/list/emagged_reagents = list(
Expand All @@ -85,8 +88,12 @@
dispensable_reagents = sortList(dispensable_reagents, /proc/cmp_reagents_asc)
if(emagged_reagents)
emagged_reagents = sortList(emagged_reagents, /proc/cmp_reagents_asc)
if(upgrade_reagents)
upgrade_reagents = sortList(upgrade_reagents, /proc/cmp_reagents_asc)
if(t2_upgrade_reagents)
t2_upgrade_reagents = sortList(t2_upgrade_reagents, /proc/cmp_reagents_asc)
if(t3_upgrade_reagents)
t3_upgrade_reagents = sortList(t3_upgrade_reagents, /proc/cmp_reagents_asc)
if(t4_upgrade_reagents)
t4_upgrade_reagents = sortList(t4_upgrade_reagents, /proc/cmp_reagents_asc)
update_icon()

/obj/machinery/chem_dispenser/Destroy()
Expand All @@ -101,8 +108,8 @@
if(in_range(user, src) || isobserver(user))
. += "<span class='notice'>The status display reads: \n"+\
"Recharging <b>[recharge_amount]</b> power units per interval.\n"+\
"Power efficiency increased by <b>[round((powerefficiency*1000)-100, 1)]%</b>.\n"+\
"Macro granularity at <b>[macroresolution]u</b>.</span>"
"Power efficiency increased by <b>[round((powerefficiency*1000)-100, 1)]%</b>.</span>"
//"Macro granularity at <b>[macroresolution]u</b>.</span>"

/obj/machinery/chem_dispenser/process()
if (recharge_counter >= 4)
Expand Down Expand Up @@ -369,10 +376,13 @@
for(var/obj/item/stock_parts/capacitor/C in component_parts)
recharge_amount *= C.rating
for(var/obj/item/stock_parts/manipulator/M in component_parts)
if (M.rating > 1)
if (M.rating > 1) // T2+
dispensable_reagents |= t2_upgrade_reagents
macroresolution -= M.rating //5 for t1, 3 for t2, 2 for t3, 1 for t4
if (M.rating > 3)
dispensable_reagents |= upgrade_reagents
if (M.rating > 2) // T3+
dispensable_reagents |= t3_upgrade_reagents
if (M.rating > 3) // T4+
dispensable_reagents |= t4_upgrade_reagents
powerefficiency = round(newpowereff, 0.01)

/obj/machinery/chem_dispenser/proc/replace_beaker(mob/living/user, obj/item/reagent_containers/new_beaker)
Expand Down Expand Up @@ -488,7 +498,9 @@
/datum/reagent/consumable/menthol,
/datum/reagent/consumable/berryjuice
)
upgrade_reagents = null
t2_upgrade_reagents = null
t3_upgrade_reagents = null
t4_upgrade_reagents = null
emagged_reagents = list(
/datum/reagent/consumable/ethanol/thirteenloko,
/datum/reagent/consumable/ethanol/whiskey_cola,
Expand Down Expand Up @@ -542,7 +554,9 @@
/datum/reagent/consumable/ethanol/applejack,
/datum/reagent/consumable/ethanol/amaretto
)
upgrade_reagents = null
t2_upgrade_reagents = null
t3_upgrade_reagents = null
t4_upgrade_reagents = null
emagged_reagents = list(
/datum/reagent/consumable/ethanol,
/datum/reagent/iron,
Expand Down Expand Up @@ -573,7 +587,9 @@
name = "mutagen dispenser"
desc = "Creates and dispenses mutagen."
dispensable_reagents = list(/datum/reagent/toxin/mutagen)
upgrade_reagents = null
t2_upgrade_reagents = null
t3_upgrade_reagents = null
t4_upgrade_reagents = null
emagged_reagents = list(/datum/reagent/toxin/plasma)


Expand All @@ -596,7 +612,9 @@
/datum/reagent/ammonia,
/datum/reagent/ash,
/datum/reagent/diethylamine)
upgrade_reagents = null
t2_upgrade_reagents = null
t3_upgrade_reagents = null
t4_upgrade_reagents = null

/obj/machinery/chem_dispenser/mutagensaltpeter/Initialize()
. = ..()
Expand Down