3 Commits

Author SHA1 Message Date
CHOMPStation2StaffMirrorBot
896094ef9c Limit dispenser importing to specific jobs 2025-12-08 20:23:17 +00:00
SatinIsle
65aa2cbdc7 Limit dispenser importing to specific jobs (#18805)
* Limit dispenser importing to specific jobs

This change is designed to encourage people playing specific jobs to set up their dispensers how they like, and slow down other people who may try to do that job from under them by requiring them to do it manually. Therefore chemists and bartenders can import a list of recipes into their respective dispensers, but a medical doctor can't rush in and immediately print their favourite 7 bottles before the chemist even walks in the door.

* Fix nulls
2025-12-08 20:23:16 +00:00
chompstation-ci[bot]
50d9481fa2 Automatic changelog compile [ci skip] 2025-12-07 01:38:29 +00:00
9 changed files with 32 additions and 19 deletions

View File

@@ -10,6 +10,7 @@
ui_title = "Premium Drink Dispensary"
accept_drinking = 1
var/max_cartridges = 90
import_job = null
/obj/machinery/chemical_dispenser/premium/full
spawn_cartridges = list(

View File

@@ -25,6 +25,7 @@
var/list/recording_recipe
/// Saves all the recipes recorded by the machine
var/list/saved_recipes = list()
var/import_job = JOB_CHEMIST
/obj/machinery/chemical_dispenser/Initialize(mapload)
. = ..()
@@ -203,6 +204,9 @@
. = TRUE
if("import_config")
if(import_job && (ui.user.mind.assigned_role != import_job))
to_chat(ui.user, span_warning("This option is only available to the job: [import_job]"))
return FALSE
var/list/our_data = params["config"]
if(!islist(our_data))
return FALSE

View File

@@ -64,6 +64,7 @@
icon_state = "soda_dispenser"
ui_title = "Soda Dispenser"
accept_drinking = 1
import_job = JOB_BARTENDER
/obj/machinery/chemical_dispenser/bar_soft/full
spawn_cartridges = list(
@@ -95,6 +96,7 @@
icon_state = "booze_dispenser"
ui_title = "Booze Dispenser"
accept_drinking = 1
import_job = JOB_BARTENDER
/obj/machinery/chemical_dispenser/bar_alc/full
spawn_cartridges = list(
@@ -127,6 +129,7 @@
icon_state = "coffee_dispenser"
ui_title = "Coffee Dispenser"
accept_drinking = 1
import_job = JOB_BARTENDER
/obj/machinery/chemical_dispenser/bar_coffee/full
spawn_cartridges = list(

View File

@@ -4,6 +4,7 @@
dispense_reagents = list(
REAGENT_ID_WATER, REAGENT_ID_SUGAR, REAGENT_ID_ETHANOL, REAGENT_ID_RADIUM, REAGENT_ID_AMMONIA, REAGENT_ID_DIETHYLAMINE, REAGENT_ID_PLANTBGONE, REAGENT_ID_MUTAGEN, REAGENT_ID_CALCIUM
)
import_job = JOB_XENOBOTANIST
/obj/machinery/chemical_dispenser/xenoflora/full
spawn_cartridges = list(
@@ -24,6 +25,7 @@
dispense_reagents = list(
REAGENT_ID_NUTRIMENT, REAGENT_ID_PROTEIN, REAGENT_ID_MILK
)
import_job = null
/obj/machinery/chemical_dispenser/biochemistry/full
spawn_cartridges = list(
@@ -32,6 +34,9 @@
/obj/item/reagent_containers/chem_disp_cartridge/milk
)
/obj/machinery/chemical_dispenser/ert/specialops
import_job = null
/obj/machinery/chemical_dispenser/ert/specialops
spawn_cartridges = list(
/obj/item/reagent_containers/chem_disp_cartridge/inaprov,
@@ -70,3 +75,4 @@
name = "chemical dispenser"
icon_state = "dispenser_2way"
desc = "A mysterious machine which can fabricate many chemicals."
import_job = null

View File

@@ -1,6 +0,0 @@
author: "FluffMedic"
delete-after: True
changes:
- rscadd: "Two new Tyr weapons"
- balance: "Tyr gun buffed, Tyr foes retuned a fair bit to favour longer fights"
- bugfix: "Shield boss stops spamming re-shielding"

View File

@@ -1,4 +0,0 @@
author: "CHOMPStation2StaffMirrorBot"
delete-after: True
changes:
- code_imp: "update dependencies"

View File

@@ -1,9 +0,0 @@
author: "Diana"
delete-after: True
changes:
- qol: "You can now alt-shift click someone to open the inventory menu (as if you drag-dropped them onto yourself)"
- qol: "Admins can now tag datums via ctrl-middle click"
- refactor: "Honey I refactored click code!"
- code_imp: "Cleans up click code."
- code_imp: "Adds framework for allowing objects to ignore ctrl click and not allowed to be dragged"
- bugfix: "Fixes a bug where joining in the game would cause 180 topic calls to be made (still happens) causing you to be rate limited."

View File

@@ -42,3 +42,20 @@
Will:
- bugfix: Phased shadekin are no longer knocked down or thrown when a shuttle they
are inside of moves.
2025-12-07:
CHOMPStation2StaffMirrorBot:
- code_imp: update dependencies
Diana:
- qol: You can now alt-shift click someone to open the inventory menu (as if you
drag-dropped them onto yourself)
- qol: Admins can now tag datums via ctrl-middle click
- refactor: Honey I refactored click code!
- code_imp: Cleans up click code.
- code_imp: Adds framework for allowing objects to ignore ctrl click and not allowed
to be dragged
- bugfix: Fixes a bug where joining in the game would cause 180 topic calls to be
made (still happens) causing you to be rate limited.
FluffMedic:
- rscadd: Two new Tyr weapons
- balance: Tyr gun buffed, Tyr foes retuned a fair bit to favour longer fights
- bugfix: Shield boss stops spamming re-shielding

View File

@@ -438,6 +438,7 @@
icon_state = "kettle"
ui_title = "kettle"
accept_drinking = 1
import_job = null
/obj/machinery/chemical_dispenser/kettle/full
spawn_cartridges = list(