Fix missing dispenser chems (#5038)

## About The Pull Request

Restores the Bubber edits that made chem dispensers multi-tier
upgradeable.

## Why It's Good For The Game

The bartender can make my drink again.

## Changelog

🆑 LT3
fix: Restored missing tier 2/3 reagents in chemical and booze dispensers
/🆑
This commit is contained in:
LT3
2025-12-19 14:15:13 -08:00
committed by GitHub
parent 0d3a319248
commit 83029b36b6
3 changed files with 81 additions and 34 deletions
@@ -34,14 +34,14 @@
var/obj/item/reagent_containers/beaker = null
/// Dispensable_reagents is copypasted in plumbing synthesizers. Please update accordingly. (I didn't make it global because that would limit custom chem dispensers)
var/list/dispensable_reagents = list()
/// These become available once the manipulator has been upgraded to tier 2 (nano) // SKYRAT EDIT CHANGE - ORIGINAL: /// These become available once the manipulator has been upgraded to tier 4 (femto)
/// These become available once the manipulator has been upgraded to tier 2 (nano) // BUBBER EDIT CHANGE - ORIGINAL: /// These become available once the manipulator has been upgraded to tier 4 (femto)
var/list/upgrade_reagents = list()
// SKYRAT EDIT ADDITION BEGIN
// BUBBER EDIT ADDITION BEGIN - Multi-tiered dispenser upgrades
/// These become available once the manipulator has been upgraded to tier 3 (pico)
var/list/upgrade2_reagents = list()
/// These become available once the manipulator has been upgraded to tier 4 (femto)
var/list/upgrade3_reagents = list()
// SKYRAT EDIT ADDITION END
// BUBBER EDIT ADDITION END - Multi-tiered dispenser upgrades
/// These become available once the machine has been emaged
var/list/emagged_reagents = list()
/// Starting purity of the created reagents
@@ -55,12 +55,12 @@
var/shown_reaction_tags = DAMAGE_HEALING_REACTION_TAGS | MEDICATION_REACTION_TAGS | CHEMIST_REACTION_TAGS
/// Filters out all reactions that have any one of these tags from the reaction list
var/hidden_reaction_tags = REACTION_TAG_ACTIVE | REACTION_TAG_FOOD | REACTION_TAG_DRINK
// SKYRAT EDIT ADDITION BEGIN
// BUBBER EDIT ADDITION BEGIN
/// Used for custom transfer amounts
var/list/transferAmounts = list()
/// The custom transfer amount
var/customTransferAmount
// SKYRAT EDIT ADDITION END
// BUBBER EDIT ADDITION END
/// The default list of dispensable_reagents
var/static/list/default_dispensable_reagents = list(
@@ -91,6 +91,8 @@
/datum/reagent/fuel
)
/// The default list of reagents upgrade_reagents
// BUBBER EDIT REMOVAL BEGIN - Multi-tier dispenser upgrades - See modular_zubbers/code/modules/reagents/chemistry/machinery/chem_dispenser.dm
/*
var/static/list/default_upgrade_reagents = list(
/datum/reagent/acetone,
/datum/reagent/ammonia,
@@ -107,6 +109,8 @@
/datum/reagent/drug/space_drugs,
/datum/reagent/toxin
)
*/
// BUBBER EDIT REMOVAL END
/obj/machinery/chem_dispenser/Initialize(mapload)
if(dispensable_reagents != null && !dispensable_reagents.len)
@@ -119,6 +123,18 @@
if(upgrade_reagents)
upgrade_reagents = sort_list(upgrade_reagents, GLOBAL_PROC_REF(cmp_reagents_asc))
// BUBBER EDIT ADDITION BEGIN - Multi-tiered dispenser upgrades
if(upgrade2_reagents != null && !upgrade2_reagents.len)
upgrade2_reagents = default_upgrade2_reagents
if(upgrade2_reagents)
upgrade2_reagents = sort_list(upgrade2_reagents, GLOBAL_PROC_REF(cmp_reagents_asc))
if(upgrade3_reagents != null && !upgrade3_reagents.len)
upgrade3_reagents = default_upgrade3_reagents
if(upgrade3_reagents)
upgrade3_reagents = sort_list(upgrade3_reagents, GLOBAL_PROC_REF(cmp_reagents_asc))
// BUBBER EDIT ADDITION END - Multi-tiered dispenser upgrades
if(emagged_reagents != null && !emagged_reagents.len)
emagged_reagents = default_emagged_reagents
if(emagged_reagents)
@@ -408,7 +424,7 @@
if(is_operational)
recording_recipe = null
return TRUE
//SKYRAT EDIT ADDITION BEGIN - CHEMISTRY QOL
// BUBBER EDIT ADDITION BEGIN - CHEMISTRY QOL
if("custom_amount")
if(!beaker)
to_chat(usr, span_warning("Insert a container first!"))
@@ -418,7 +434,7 @@
customTransferAmount = clamp(input(usr, "Please enter your desired transfer amount.", "Transfer amount", 0) as num|null, 0, beaker.volume)
transferAmounts += customTransferAmount
return TRUE
//SKYRAT EDIT ADDITION END
// BUBBER EDIT ADDITION END
if("reaction_lookup")
if(beaker)
@@ -452,12 +468,12 @@
/obj/machinery/chem_dispenser/item_interaction(mob/living/user, obj/item/tool, list/modifiers)
if(!tool.can_insert_container(user, src))
return NONE
//SKYRAT EDIT ADDITION START - CHEMISTRY QOL
// BUBBER EDIT ADDITION BEGIN - CHEMISTRY QOL
var/obj/item/reagent_containers/container = tool
if(customTransferAmount)
transferAmounts -= customTransferAmount
transferAmounts = container.possible_transfer_amounts
//SKYRAT EDIT ADDITION END
// BUBBER EDIT ADDITION END
if(!replace_beaker(user, tool))
return ITEM_INTERACT_BLOCKING
@@ -501,13 +517,13 @@
recharge_amount *= capacitor.tier
parts_rating += capacitor.tier
for(var/datum/stock_part/servo/servo in component_parts)
/* SKYRAT EDIT - ORIGINAL
/* BUBBER EDIT CHANGE BEGIN - Multi-tiered dispenser upgrades
Original:
if (servo.tier > 3)
dispensable_reagents |= upgrade_reagents
else
dispensable_reagents -= upgrade_reagents
*/
//SKYRAT EDIT START
if (servo.tier > 1)
dispensable_reagents |= upgrade_reagents
else
@@ -522,7 +538,7 @@
dispensable_reagents |= upgrade3_reagents
else
dispensable_reagents -= upgrade3_reagents
//SKYRAT EDIT END
// BUBBER EDIT CHANGE END - Multi-tiered dispenser upgrades
parts_rating += servo.tier
power_cost = max(new_power_cost, 0.1 KILO WATTS)
@@ -670,23 +686,6 @@
/datum/reagent/consumable/tonic,
/datum/reagent/water,
)
//SKYRAT EDIT ADDITION BEGIN
var/static/list/drink_upgrade_reagents = list(
/datum/reagent/consumable/applejuice,
/datum/reagent/consumable/pumpkinjuice,
/datum/reagent/consumable/vanilla
)
var/static/list/drink_upgrade2_reagents = list(
/datum/reagent/consumable/banana,
/datum/reagent/consumable/berryjuice,
/datum/reagent/consumable/blumpkinjuice
)
var/static/list/drink_upgrade3_reagents = list(
/datum/reagent/consumable/watermelonjuice,
/datum/reagent/consumable/peachjuice,
/datum/reagent/consumable/sol_dry
)
//SKYRAT EDIT ADDITION END
upgrade_reagents = null
/// The default list of emagged reagents dispensable by the soda dispenser
var/static/list/drink_emagged_reagents = list(
@@ -702,7 +701,7 @@
dispensable_reagents = drinks_dispensable_reagents
if(emagged_reagents != null && !emagged_reagents.len)
emagged_reagents = drink_emagged_reagents
//SKYRAT EDIT ADDITION BEGIN
// BUBBER EDIT ADDITION BEGIN - Multi-tiered dispenser upgrades
if(upgrade_reagents != null && !upgrade_reagents.len)
upgrade_reagents = drink_upgrade_reagents
if(upgrade_reagents)
@@ -715,7 +714,7 @@
upgrade3_reagents = drink_upgrade3_reagents
if(upgrade3_reagents)
upgrade3_reagents = sort_list(upgrade3_reagents, GLOBAL_PROC_REF(cmp_reagents_asc))
//SKYRAT EDIT ADDITION END
// BUBBER EDIT ADDITION END - Multi-tiered dispenser upgrades
. = ..()
AddComponent(/datum/component/simple_rotation)
@@ -779,7 +778,7 @@
/datum/reagent/consumable/ethanol/rice_beer,
/datum/reagent/consumable/ethanol/rum,
/datum/reagent/consumable/ethanol/sake,
/datum/reagent/consumable/ethanol/synthanol, // SKYRAT EDIT
/datum/reagent/consumable/ethanol/synthanol, // BUBBER EDIT ADDITION
/datum/reagent/consumable/ethanol/tequila,
/datum/reagent/consumable/ethanol/triple_sec,
/datum/reagent/consumable/ethanol/vermouth,
@@ -789,8 +788,8 @@
/datum/reagent/consumable/ethanol/yuyake,
)
upgrade_reagents = null
upgrade2_reagents = null //SKYRAT EDIT
upgrade3_reagents = null //SKYRAT EDIT
upgrade2_reagents = null // BUBBER EDIT ADDITION - Multi-tiered dispenser upgrades
upgrade3_reagents = null // BUBBER EDIT ADDITION - Multi-tiered dispenser upgrades
/// The default list of emagged reagents dispensable by the beer dispenser
var/static/list/beer_emagged_reagents = list(
/datum/reagent/consumable/ethanol,