Refactor custom vending machine brand selection (#92205)

The list of options you could choose from when screwdrivering a custom
vending machine circuit board was hard-coded and also contained copy
pastes of every vending machine name (some of which were outdated). It
was yucky
- Add a new var on `/obj/machinery/vending` called `allow_custom`,
defaults to FALSE and determines whether that type shows up as an option
when screwdrivering a custom vending machine board, I've went through
and made assignments for it mirror what was in the old static list i.e.
this won't introduce any new options
- Change the hard-coded static list to be built on Initialize,
populating with every subtype that has `allow_custom` set to TRUE
- Eliminate a second static list that was just the inverse of the first
one (first one was typepath = name and this one was just name =
typepath)
- Changed an `istype` check to `==` because old behavior meant subtypes
of a given vending machine would have their type set to the supertype if
that was also a valid custom vending machine option

Cleaner code, no needing to maintain two separate entries for the name
of a vending machine, eligibility for a machine to be used in custom
vending machines is now a var on the type instead of in a random file
pertaining to circuit boards

🆑
refactor: refactored custom vending machine brand code, a new var on
/obj/machinery/vending called allow_custom now determines whether the
machine can be chosen when screwdrivering the circuit board
/🆑
This commit is contained in:
Roxy
2025-07-30 17:37:44 -04:00
parent 9bf9c875bb
commit 7a9b25c2b7
27 changed files with 91 additions and 69 deletions
@@ -660,88 +660,37 @@
build_path = /obj/machinery/vending/custom
req_components = list(/obj/item/vending_refill/custom = 1)
var/static/list/vending_names_paths = list(
/obj/machinery/vending/assist = "Part-Mart",
/obj/machinery/vending/autodrobe = "AutoDrobe",
/obj/machinery/vending/boozeomat = "Booze-O-Mat",
/obj/machinery/vending/cart = "PTech",
/obj/machinery/vending/cigarette = "ShadyCigs Deluxe",
/obj/machinery/vending/clothing = "ClothesMate",
/obj/machinery/vending/coffee = "Solar's Best Hot Drinks",
/obj/machinery/vending/cola = "Robust Softdrinks",
/obj/machinery/vending/custom = "Custom Vendor",
/obj/machinery/vending/cytopro = "CytoPro",
/obj/machinery/vending/dinnerware = "Plasteel Chef's Dinnerware Vendor",
/obj/machinery/vending/drugs = "NanoDrug Plus",
/obj/machinery/vending/engineering = "Robco Tool Maker",
/obj/machinery/vending/engivend = "Engi-Vend",
/obj/machinery/vending/games = "\improper Good Clean Fun",
/obj/machinery/vending/hydronutrients = "NutriMax",
/obj/machinery/vending/hydroseeds = "MegaSeed Servitor",
/obj/machinery/vending/medical = "NanoMed Plus",
/obj/machinery/vending/modularpc = "Deluxe Silicate Selections",
/obj/machinery/vending/robotics = "Robotech Deluxe",
/obj/machinery/vending/security = "SecTech",
/obj/machinery/vending/snack = "Getmore Chocolate Corp",
/obj/machinery/vending/sovietsoda = "BODA",
/obj/machinery/vending/sustenance = "Sustenance Vendor",
/obj/machinery/vending/tool = "YouTool",
/obj/machinery/vending/wallmed = "NanoMed",
/obj/machinery/vending/wardrobe/atmos_wardrobe = "AtmosDrobe",
/obj/machinery/vending/wardrobe/bar_wardrobe = "BarDrobe",
/obj/machinery/vending/wardrobe/cargo_wardrobe = "CargoDrobe",
/obj/machinery/vending/wardrobe/chap_wardrobe = "ChapDrobe",
/obj/machinery/vending/wardrobe/chef_wardrobe = "ChefDrobe",
/obj/machinery/vending/wardrobe/chem_wardrobe = "ChemDrobe",
/obj/machinery/vending/wardrobe/coroner_wardrobe = "MortiDrobe",
/obj/machinery/vending/wardrobe/curator_wardrobe = "CuraDrobe",
/obj/machinery/vending/wardrobe/det_wardrobe = "DetDrobe",
/obj/machinery/vending/wardrobe/engi_wardrobe = "EngiDrobe",
/obj/machinery/vending/wardrobe/gene_wardrobe = "GeneDrobe",
/obj/machinery/vending/wardrobe/hydro_wardrobe = "HyDrobe",
/obj/machinery/vending/wardrobe/jani_wardrobe = "JaniDrobe",
/obj/machinery/vending/wardrobe/law_wardrobe = "LawDrobe",
/obj/machinery/vending/wardrobe/medi_wardrobe = "MediDrobe",
/obj/machinery/vending/wardrobe/robo_wardrobe = "RoboDrobe",
/obj/machinery/vending/wardrobe/science_wardrobe = "SciDrobe",
/obj/machinery/vending/wardrobe/sec_wardrobe = "SecDrobe",
/obj/machinery/vending/wardrobe/viro_wardrobe = "ViroDrobe",
// SKYRAT STUFF AT THE BOTTOM I SUPPOSE FOR SIMPLICITY'S SAKE
/obj/machinery/vending/access/command = "Command Outfitting Station", //SKYRAT EDIT ADDITION
/obj/machinery/vending/barbervend = "Fab-O-Vend", //SKYRAT EDIT ADDITION
/obj/machinery/vending/dorms = "LustWish", //SKYRAT EDIT CHANGE - ERP UPDATE - ORIGINAL: /obj/machinery/vending/dorms = "KinkVend"
/obj/machinery/vending/imported = "NT Sustenance Supplier", //SKYRAT EDIT ADDITION
/obj/machinery/vending/imported/mothic = "Nomad Fleet Ration Chit Exchange", //SKYRAT EDIT ADDITION
/obj/machinery/vending/imported/tiziran = "Tiziran Imported Delicacies", //SKYRAT EDIT ADDITION
/obj/machinery/vending/imported/yangyu = "Fudobenda", //SKYRAT EDIT ADDITION
/obj/machinery/vending/security = "Armadyne Peacekeeper Equipment Vendor", //SKYRAT EDIT CHANGE - SEC_HUAL - ORIGINAL: /obj/machinery/vending/security = "SecTech",
/obj/machinery/vending/deforest_medvend = "DeForest Med-Vend", //SKYRAT PORT ADDITION
)
///Assoc list (machine name = machine typepath) of all vendors that can be chosen when the circuit is screwdrivered
var/static/list/valid_vendor_names_paths
/obj/item/circuitboard/machine/vendor/Initialize(mapload)
. = ..()
if(!valid_vendor_names_paths)
valid_vendor_names_paths = list()
for(var/obj/machinery/vending/vendor_type as anything in subtypesof(/obj/machinery/vending))
if(vendor_type::allow_custom)
valid_vendor_names_paths[vendor_type::name] = vendor_type
/obj/item/circuitboard/machine/vendor/screwdriver_act(mob/living/user, obj/item/tool)
var/static/list/display_vending_names_paths
if(!display_vending_names_paths)
display_vending_names_paths = list()
for(var/path in vending_names_paths)
display_vending_names_paths[vending_names_paths[path]] = path
var/choice = tgui_input_list(user, "Choose a new brand", "Select an Item", sort_list(display_vending_names_paths))
var/choice = tgui_input_list(user, "Choose a new brand", "Select an Item", sort_list(valid_vendor_names_paths))
if(isnull(choice))
return
if(isnull(display_vending_names_paths[choice]))
if(isnull(valid_vendor_names_paths[choice]))
return
set_type(display_vending_names_paths[choice])
set_type(valid_vendor_names_paths[choice])
return TRUE
/obj/item/circuitboard/machine/vendor/proc/set_type(obj/machinery/vending/typepath)
build_path = typepath
name = "[vending_names_paths[build_path]] Vendor"
name = "[typepath::name] Vendor"
req_components = list(initial(typepath.refill_canister) = 1)
flatpack_components = list(initial(typepath.refill_canister))
/obj/item/circuitboard/machine/vendor/apply_default_parts(obj/machinery/machine)
for(var/typepath in vending_names_paths)
if(istype(machine, typepath))
set_type(typepath)
for(var/key in valid_vendor_names_paths)
// == instead of istype so subtypes don't pass check for their supertypes
if(machine.type == valid_vendor_names_paths[key])
set_type(valid_vendor_names_paths[key])
break
return ..()
+6
View File
@@ -220,6 +220,9 @@ GLOBAL_LIST_EMPTY(vending_machines_to_restock)
//the path of the fish_source datum to use for the fishing_spot component
var/fish_source_path = /datum/fish_source/vending
///Whether this vendor can be selected when building a custom vending machine
var/allow_custom = FALSE
/datum/armor/machinery_vending
melee = 20
fire = 50
@@ -1726,6 +1729,7 @@ GLOBAL_LIST_EMPTY(vending_machines_to_restock)
/// Base64 cache of custom icons.
var/list/base64_cache = list()
panel_type = "panel20"
allow_custom = TRUE
/obj/machinery/vending/custom/compartmentLoadAccessCheck(mob/user)
. = FALSE
@@ -1888,6 +1892,7 @@ GLOBAL_LIST_EMPTY(vending_machines_to_restock)
/obj/machinery/vending/custom/unbreakable
name = "Indestructible Vendor"
resistance_flags = INDESTRUCTIBLE
allow_custom = FALSE
/obj/item/vending_refill/custom
machine_name = "Custom Vendor"
@@ -1902,6 +1907,7 @@ GLOBAL_LIST_EMPTY(vending_machines_to_restock)
max_loaded_items = 40
light_mask = "greed-light-mask"
custom_materials = list(/datum/material/gold = SHEET_MATERIAL_AMOUNT * 5)
allow_custom = FALSE
/obj/machinery/vending/custom/greed/Initialize(mapload)
. = ..()
+1
View File
@@ -34,6 +34,7 @@
/obj/item/universal_scanner = 3,
/obj/item/vending_refill/custom = 3,
)
allow_custom = TRUE
refill_canister = /obj/item/vending_refill/assist
product_ads = "Only the finest!;Have some tools.;The most robust equipment.;The finest gear in space!"
+1
View File
@@ -234,6 +234,7 @@ GLOBAL_VAR_INIT(all_autodrobe_items, (autodrobe_costumes_items +\
extra_price = PAYCHECK_COMMAND
payment_department = ACCOUNT_SRV
light_mask = "theater-light-mask"
allow_custom = TRUE
/obj/machinery/vending/autodrobe/Initialize(mapload)
product_categories = list(
+2
View File
@@ -90,10 +90,12 @@
extra_price = PAYCHECK_COMMAND
payment_department = ACCOUNT_SRV
light_mask = "boozeomat-light-mask"
allow_custom = TRUE
/obj/machinery/vending/boozeomat/syndicate
age_restrictions = FALSE
initial_language_holder = /datum/language_holder/syndicate
allow_custom = FALSE
/obj/item/vending_refill/boozeomat
machine_name = "Booze-O-Mat"
+1
View File
@@ -20,6 +20,7 @@
extra_price = PAYCHECK_COMMAND * 2.5
payment_department = ACCOUNT_SRV
light_mask = "cart-light-mask"
allow_custom = TRUE
/obj/item/vending_refill/cart
machine_name = "PTech"
+3
View File
@@ -35,6 +35,7 @@
extra_price = PAYCHECK_COMMAND
payment_department = ACCOUNT_SRV
light_mask = "cigs-light-mask"
allow_custom = TRUE
/obj/machinery/vending/cigarette/syndicate
products = list(
@@ -50,6 +51,7 @@
/obj/item/storage/fancy/rollingpapers = 5,
)
initial_language_holder = /datum/language_holder/syndicate
allow_custom = FALSE
/obj/machinery/vending/cigarette/beach //Used in the lavaland_biodome_beach.dmm ruin
name = "\improper ShadyCigs Ultra"
@@ -73,6 +75,7 @@
/obj/item/lighter = 3,
)
initial_language_holder = /datum/language_holder/beachbum
allow_custom = FALSE
/obj/item/vending_refill/cigarette
machine_name = "ShadyCigs Deluxe"
+1
View File
@@ -235,6 +235,7 @@
payment_department = NO_FREEBIES
light_mask = "wardrobe-light-mask"
light_color = LIGHT_COLOR_ELECTRIC_GREEN
allow_custom = TRUE
/obj/item/vending_refill/clothing
machine_name = "ClothesMate"
+1
View File
@@ -19,6 +19,7 @@
payment_department = ACCOUNT_SRV
light_mask = "coffee-light-mask"
light_color = COLOR_DARK_MODERATE_ORANGE
allow_custom = TRUE
/obj/item/vending_refill/coffee
machine_name = "Solar's Best Hot Drinks"
+9
View File
@@ -35,6 +35,7 @@
default_price = PAYCHECK_CREW * 0.7
extra_price = PAYCHECK_CREW
payment_department = ACCOUNT_SRV
allow_custom = TRUE
var/static/list/spiking_booze = list(
// Your "common" spiking booze
@@ -81,10 +82,12 @@
icon_state = "Cola_Machine"
light_mask = "cola-light-mask"
light_color = COLOR_MODERATE_BLUE
allow_custom = FALSE
/obj/machinery/vending/cola/black
icon_state = "cola_black"
light_mask = "cola-light-mask"
allow_custom = FALSE
/obj/machinery/vending/cola/red
icon_state = "red_cola"
@@ -93,6 +96,7 @@
product_slogans = "Cola in space!"
light_mask = "red_cola-light-mask"
light_color = COLOR_DARK_RED
allow_custom = FALSE
/obj/machinery/vending/cola/space_up
icon_state = "space_up"
@@ -101,6 +105,7 @@
product_slogans = "Space-up! Like a hull breach in your mouth."
light_mask = "space_up-light-mask"
light_color = COLOR_DARK_MODERATE_LIME_GREEN
allow_custom = FALSE
/obj/machinery/vending/cola/starkist
icon_state = "starkist"
@@ -110,12 +115,14 @@
panel_type = "panel7"
light_mask = "starkist-light-mask"
light_color = COLOR_LIGHT_ORANGE
allow_custom = FALSE
/obj/machinery/vending/cola/sodie
icon_state = "soda"
panel_type = "panel7"
light_mask = "soda-light-mask"
light_color = COLOR_WHITE
allow_custom = FALSE
/obj/machinery/vending/cola/pwr_game
icon_state = "pwr_game"
@@ -124,6 +131,7 @@
product_slogans = "The POWER that gamers crave! PWR GAME!"
light_mask = "pwr_game-light-mask"
light_color = COLOR_STRONG_VIOLET
allow_custom = FALSE
/obj/machinery/vending/cola/shamblers
name = "\improper Shambler's Vendor"
@@ -145,6 +153,7 @@
product_ads = "Refreshing!;Thirsty for DNA? Satiate your craving!;Over 1 trillion souls drank!;Made with real DNA!;The hivemind demands your thirst!;Drink up!;Absorb your thirst."
light_mask = "shamblers-light-mask"
light_color = COLOR_MOSTLY_PURE_PINK
allow_custom = FALSE
/obj/machinery/vending/cola/shamblers/Initialize(mapload)
. = ..()
+1
View File
@@ -29,6 +29,7 @@
default_price = PAYCHECK_CREW * 1
extra_price = PAYCHECK_COMMAND * 0.5
payment_department = ACCOUNT_SCI
allow_custom = TRUE
/obj/item/vending_refill/cytopro
machine_name = "CytoPro"
+1
View File
@@ -69,6 +69,7 @@
extra_price = PAYCHECK_CREW * 2.4
payment_department = ACCOUNT_SRV
light_mask = "dinnerware-light-mask"
allow_custom = TRUE
/obj/item/vending_refill/dinnerware
machine_name = "Plasteel Chef's Dinnerware Vendor"
+1
View File
@@ -35,6 +35,7 @@
extra_price = PAYCHECK_COMMAND * 1.5
payment_department = ACCOUNT_ENG
light_mask = "engi-light-mask"
allow_custom = TRUE
/obj/item/vending_refill/engineering
machine_name = "Robco Tool Maker"
+1
View File
@@ -32,6 +32,7 @@
extra_price = PAYCHECK_COMMAND * 1.5
payment_department = ACCOUNT_ENG
light_mask = "engivend-light-mask"
allow_custom = TRUE
/obj/item/vending_refill/engivend
machine_name = "Engi-Vend"
+1
View File
@@ -115,6 +115,7 @@
extra_price = PAYCHECK_COMMAND * 1.25
payment_department = ACCOUNT_SRV
light_mask = "games-light-mask"
allow_custom = TRUE
/obj/item/vending_refill/games
machine_name = "\improper Good Clean Fun"
+5
View File
@@ -40,6 +40,7 @@
extra_price = PAYCHECK_COMMAND
payment_department = ACCOUNT_MED
light_mask = "med-light-mask"
allow_custom = TRUE
/obj/item/vending_refill/medical
machine_name = "NanoMed Plus"
@@ -48,6 +49,7 @@
/obj/machinery/vending/medical/syndicate
name = "\improper SyndiMed Plus"
initial_language_holder = /datum/language_holder/syndicate
allow_custom = FALSE
/obj/machinery/vending/medical/infested_frigate
products = list(
@@ -65,6 +67,8 @@
/obj/item/cane/white = 2,
/obj/item/clothing/glasses/eyepatch/medical = 2,
)
allow_custom = FALSE
//Created out of a necessity to get these dumb chems out of the medical tools vendor.
/obj/machinery/vending/drugs
name = "\improper NanoDrug Plus"
@@ -103,6 +107,7 @@
extra_price = 100
payment_department = ACCOUNT_MED
refill_canister = /obj/item/vending_refill/drugs
allow_custom = TRUE
/obj/item/vending_refill/drugs
machine_name = "NanoDrug Plus"
+4
View File
@@ -26,6 +26,10 @@
payment_department = ACCOUNT_MED
tiltable = FALSE
light_mask = "wallmed-light-mask"
allow_custom = TRUE
/obj/machinery/vending/wallmed/directional
allow_custom = FALSE
MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/vending/wallmed, 32)
+1
View File
@@ -105,6 +105,7 @@
default_price = PAYCHECK_LOWER
extra_price = PAYCHECK_CREW
payment_department = ACCOUNT_SRV
allow_custom = TRUE
/obj/item/vending_refill/hydroseeds
machine_name = "MegaSeed Servitor"
+1
View File
@@ -19,6 +19,7 @@
default_price = PAYCHECK_CREW
extra_price = PAYCHECK_COMMAND
payment_department = ACCOUNT_SCI
allow_custom = TRUE
/obj/item/vending_refill/modularpc
machine_name = "Deluxe Silicate Selections"
+1
View File
@@ -28,6 +28,7 @@
default_price = PAYCHECK_CREW * 0.8
extra_price = PAYCHECK_COMMAND * 0.8
payment_department = ACCOUNT_SRV
allow_custom = TRUE
/obj/item/vending_refill/hydronutrients
machine_name = "NutriMax"
+1
View File
@@ -26,6 +26,7 @@
refill_canister = /obj/item/vending_refill/robotics
default_price = PAYCHECK_COMMAND
payment_department = ACCOUNT_SCI
allow_custom = TRUE
/obj/item/vending_refill/robotics
machine_name = "Robotech Deluxe"
+1
View File
@@ -37,6 +37,7 @@
default_price = PAYCHECK_CREW
extra_price = PAYCHECK_COMMAND * 1.5
payment_department = ACCOUNT_SEC
allow_custom = TRUE
/obj/machinery/vending/security/pre_throw(obj/item/thrown_item)
if(isgrenade(thrown_item))
+5
View File
@@ -45,18 +45,23 @@
default_price = PAYCHECK_CREW * 0.6
extra_price = PAYCHECK_CREW
payment_department = ACCOUNT_SRV
allow_custom = TRUE
/obj/item/vending_refill/snack
machine_name = "Getmore Chocolate Corp"
/obj/machinery/vending/snack/blue
icon_state = "snackblue"
allow_custom = FALSE
/obj/machinery/vending/snack/orange
icon_state = "snackorange"
allow_custom = FALSE
/obj/machinery/vending/snack/green
icon_state = "snackgreen"
allow_custom = FALSE
/obj/machinery/vending/snack/teal
icon_state = "snackteal"
allow_custom = FALSE
+1
View File
@@ -18,6 +18,7 @@
payment_department = NO_FREEBIES
light_color = COLOR_PALE_ORANGE
initial_language_holder = /datum/language_holder/panslavic //bubber edit; spinwarder to panslavic
allow_custom = TRUE
/obj/item/vending_refill/sovietsoda
machine_name = "BODA"
+2
View File
@@ -25,6 +25,7 @@
default_price = PAYCHECK_LOWER
extra_price = PAYCHECK_LOWER * 0.6
payment_department = NO_FREEBIES
allow_custom = TRUE
/obj/item/vending_refill/sustenance
machine_name = "Sustenance Vendor"
@@ -39,6 +40,7 @@
all_products_free = FALSE
displayed_currency_icon = "digging"
displayed_currency_name = " LP"
allow_custom = FALSE
/obj/machinery/vending/sustenance/interact(mob/user)
if(!isliving(user))
+20
View File
@@ -73,6 +73,7 @@ GLOBAL_VAR_INIT(roaches_deployed, FALSE)
refill_canister = /obj/item/vending_refill/wardrobe/sec_wardrobe
payment_department = ACCOUNT_SEC
light_color = COLOR_MOSTLY_PURE_RED
allow_custom = TRUE
/obj/item/vending_refill/wardrobe/sec_wardrobe
machine_name = "SecDrobe"
@@ -119,6 +120,7 @@ GLOBAL_VAR_INIT(roaches_deployed, FALSE)
)
refill_canister = /obj/item/vending_refill/wardrobe/medi_wardrobe
payment_department = ACCOUNT_MED
allow_custom = TRUE
/obj/item/vending_refill/wardrobe/medi_wardrobe
machine_name = "MediDrobe"
@@ -149,6 +151,7 @@ GLOBAL_VAR_INIT(roaches_deployed, FALSE)
refill_canister = /obj/item/vending_refill/wardrobe/engi_wardrobe
payment_department = ACCOUNT_ENG
light_color = COLOR_VIVID_YELLOW
allow_custom = TRUE
/obj/item/vending_refill/wardrobe/engi_wardrobe
machine_name = "EngiDrobe"
@@ -174,6 +177,7 @@ GLOBAL_VAR_INIT(roaches_deployed, FALSE)
refill_canister = /obj/item/vending_refill/wardrobe/atmos_wardrobe
payment_department = ACCOUNT_ENG
light_color = COLOR_VIVID_YELLOW
allow_custom = TRUE
/obj/item/vending_refill/wardrobe/atmos_wardrobe
machine_name = "AtmosDrobe"
@@ -217,6 +221,7 @@ GLOBAL_VAR_INIT(roaches_deployed, FALSE)
)
refill_canister = /obj/item/vending_refill/wardrobe/cargo_wardrobe
payment_department = ACCOUNT_CAR
allow_custom = TRUE
/obj/item/vending_refill/wardrobe/cargo_wardrobe
machine_name = "CargoDrobe"
@@ -251,6 +256,7 @@ GLOBAL_VAR_INIT(roaches_deployed, FALSE)
refill_canister = /obj/item/vending_refill/wardrobe/robo_wardrobe
extra_price = PAYCHECK_COMMAND * 1.2
payment_department = ACCOUNT_SCI
allow_custom = TRUE
/obj/item/vending_refill/wardrobe/robo_wardrobe
machine_name = "RoboDrobe"
@@ -280,6 +286,7 @@ GLOBAL_VAR_INIT(roaches_deployed, FALSE)
)
refill_canister = /obj/item/vending_refill/wardrobe/science_wardrobe
payment_department = ACCOUNT_SCI
allow_custom = TRUE
/obj/item/vending_refill/wardrobe/science_wardrobe
machine_name = "SciDrobe"
@@ -308,6 +315,7 @@ GLOBAL_VAR_INIT(roaches_deployed, FALSE)
refill_canister = /obj/item/vending_refill/wardrobe/hydro_wardrobe
payment_department = ACCOUNT_SRV
light_color = LIGHT_COLOR_ELECTRIC_GREEN
allow_custom = TRUE
/obj/item/vending_refill/wardrobe/hydro_wardrobe
machine_name = "HyDrobe"
@@ -341,6 +349,7 @@ GLOBAL_VAR_INIT(roaches_deployed, FALSE)
)
refill_canister = /obj/item/vending_refill/wardrobe/curator_wardrobe
payment_department = ACCOUNT_SRV
allow_custom = TRUE
/obj/item/vending_refill/wardrobe/curator_wardrobe
machine_name = "CuraDrobe"
@@ -391,6 +400,7 @@ GLOBAL_VAR_INIT(roaches_deployed, FALSE)
)
refill_canister = /obj/item/vending_refill/wardrobe/coroner_wardrobe
payment_department = ACCOUNT_MED
allow_custom = TRUE
/obj/item/vending_refill/wardrobe/coroner_wardrobe
machine_name = "MortiDrobe"
@@ -428,6 +438,8 @@ GLOBAL_VAR_INIT(roaches_deployed, FALSE)
refill_canister = /obj/item/vending_refill/wardrobe/bar_wardrobe
payment_department = ACCOUNT_MED
extra_price = PAYCHECK_COMMAND
allow_custom = TRUE
/obj/item/vending_refill/wardrobe/bar_wardrobe
machine_name = "BarDrobe"
@@ -457,6 +469,7 @@ GLOBAL_VAR_INIT(roaches_deployed, FALSE)
)
refill_canister = /obj/item/vending_refill/wardrobe/chef_wardrobe
payment_department = ACCOUNT_SRV
allow_custom = TRUE
/obj/item/vending_refill/wardrobe/chef_wardrobe
machine_name = "ChefDrobe"
@@ -496,6 +509,7 @@ GLOBAL_VAR_INIT(roaches_deployed, FALSE)
extra_price = PAYCHECK_COMMAND * 0.8
payment_department = ACCOUNT_SRV
light_color = COLOR_STRONG_MAGENTA
allow_custom = TRUE
/obj/item/vending_refill/wardrobe/jani_wardrobe
machine_name = "JaniDrobe"
@@ -538,6 +552,7 @@ GLOBAL_VAR_INIT(roaches_deployed, FALSE)
)
refill_canister = /obj/item/vending_refill/wardrobe/law_wardrobe
payment_department = ACCOUNT_SRV
allow_custom = TRUE
/obj/item/vending_refill/wardrobe/law_wardrobe
machine_name = "LawDrobe"
@@ -584,6 +599,7 @@ GLOBAL_VAR_INIT(roaches_deployed, FALSE)
)
refill_canister = /obj/item/vending_refill/wardrobe/chap_wardrobe
payment_department = ACCOUNT_SRV
allow_custom = TRUE
/obj/item/vending_refill/wardrobe/chap_wardrobe
machine_name = "DeusVend"
@@ -615,6 +631,7 @@ GLOBAL_VAR_INIT(roaches_deployed, FALSE)
)
refill_canister = /obj/item/vending_refill/wardrobe/chem_wardrobe
payment_department = ACCOUNT_MED
allow_custom = TRUE
/obj/item/vending_refill/wardrobe/chem_wardrobe
machine_name = "ChemDrobe"
@@ -640,6 +657,7 @@ GLOBAL_VAR_INIT(roaches_deployed, FALSE)
)
refill_canister = /obj/item/vending_refill/wardrobe/gene_wardrobe
payment_department = ACCOUNT_SCI
allow_custom = TRUE
/obj/item/vending_refill/wardrobe/gene_wardrobe
machine_name = "GeneDrobe"
@@ -667,6 +685,7 @@ GLOBAL_VAR_INIT(roaches_deployed, FALSE)
)
refill_canister = /obj/item/vending_refill/wardrobe/viro_wardrobe
payment_department = ACCOUNT_MED
allow_custom = TRUE
/obj/item/vending_refill/wardrobe/viro_wardrobe
machine_name = "ViroDrobe"
@@ -713,6 +732,7 @@ GLOBAL_VAR_INIT(roaches_deployed, FALSE)
refill_canister = /obj/item/vending_refill/wardrobe/det_wardrobe
extra_price = PAYCHECK_COMMAND * 1.75
payment_department = ACCOUNT_SEC
allow_custom = TRUE
/obj/item/vending_refill/wardrobe/det_wardrobe
machine_name = "DetDrobe"
+1
View File
@@ -33,6 +33,7 @@
default_price = PAYCHECK_CREW
extra_price = PAYCHECK_COMMAND * 1.5
payment_department = ACCOUNT_ENG
allow_custom = TRUE
/obj/item/vending_refill/youtool
machine_name = "YouTool"