diff --git a/code/modules/reagents/chemistry/machinery/chem_dispenser.dm b/code/modules/reagents/chemistry/machinery/chem_dispenser.dm index 1e942e184bd..9dbb156c637 100644 --- a/code/modules/reagents/chemistry/machinery/chem_dispenser.dm +++ b/code/modules/reagents/chemistry/machinery/chem_dispenser.dm @@ -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, diff --git a/modular_zubbers/code/modules/reagents/chemistry/machinery/chem_dispenser.dm b/modular_zubbers/code/modules/reagents/chemistry/machinery/chem_dispenser.dm new file mode 100644 index 00000000000..3b0fd0a001c --- /dev/null +++ b/modular_zubbers/code/modules/reagents/chemistry/machinery/chem_dispenser.dm @@ -0,0 +1,47 @@ +/obj/machinery/chem_dispenser + /// Emagged dispenser reagents + var/static/list/default_emagged_reagents = list( + /datum/reagent/toxin/carpotoxin, + /datum/reagent/consumable/frostoil, + /datum/reagent/toxin/histamine, + /datum/reagent/medicine/morphine, + /datum/reagent/toxin/plasma, + /datum/reagent/drug/space_drugs, + ) + /// Tier 2 dispenser reagents + var/static/list/default_upgrade_reagents = list( + /datum/reagent/ammonia, + /datum/reagent/ash, + /datum/reagent/fuel/oil, + /datum/reagent/phenol, + ) + /// Tier 3 dispenser reagents + var/static/list/default_upgrade2_reagents = list( + /datum/reagent/acetone, + /datum/reagent/diethylamine, + ) + /// Tier 4 dispenser reagents + var/static/list/default_upgrade3_reagents = list( + /datum/reagent/medicine/mine_salve, + /datum/reagent/medicine/mutadone, + /datum/reagent/toxin, + ) + +/obj/machinery/chem_dispenser/drinks + /// Tier 2 drink dispenser reagents + var/static/list/drink_upgrade_reagents = list( + /datum/reagent/consumable/applejuice, + /datum/reagent/consumable/berryjuice, + /datum/reagent/consumable/pumpkinjuice, + /datum/reagent/consumable/vanilla, + ) + /// Tier 3 drink dispenser reagents + var/static/list/drink_upgrade2_reagents = list( + /datum/reagent/consumable/banana, + /datum/reagent/consumable/blumpkinjuice, + ) + /// Tier 4 drink dispenser reagents + var/static/list/drink_upgrade3_reagents = list( + /datum/reagent/consumable/peachjuice, + /datum/reagent/consumable/watermelonjuice, + ) diff --git a/tgstation.dme b/tgstation.dme index e4424006584..3bc663d6618 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -9645,6 +9645,7 @@ #include "modular_zubbers\code\modules\ratqueen\regalrat.dm" #include "modular_zubbers\code\modules\reagents\drink_reagents.dm" #include "modular_zubbers\code\modules\reagents\reagent_dispenser.dm" +#include "modular_zubbers\code\modules\reagents\chemistry\machinery\chem_dispenser.dm" #include "modular_zubbers\code\modules\reagents\chemistry\reagents\food_reagents.dm" #include "modular_zubbers\code\modules\reagents\chemistry\reagents\other_reagents.dm" #include "modular_zubbers\code\modules\reagents\chemistry\reagents\Recipes\others.dm"