mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-22 04:30:44 +01:00
## About The Pull Request 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 ## Why It's Good For The Game 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 ## Changelog 🆑 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 /🆑
103 lines
4.7 KiB
Plaintext
103 lines
4.7 KiB
Plaintext
/obj/machinery/vending/boozeomat
|
|
name = "\improper Booze-O-Mat"
|
|
desc = "A technological marvel, supposedly able to mix just the mixture you'd like to drink the moment you ask for one."
|
|
icon_state = "boozeomat"
|
|
icon_deny = "boozeomat-deny"
|
|
panel_type = "panel22"
|
|
|
|
product_categories = list(
|
|
list(
|
|
"name" = "Alcoholic",
|
|
"icon" = "wine-bottle",
|
|
"products" = list(
|
|
/obj/item/reagent_containers/cup/glass/bottle/curacao = 5,
|
|
/obj/item/reagent_containers/cup/glass/bottle/applejack = 5,
|
|
/obj/item/reagent_containers/cup/glass/bottle/wine_voltaic = 5,
|
|
/obj/item/reagent_containers/cup/glass/bottle/tequila = 5,
|
|
/obj/item/reagent_containers/cup/glass/bottle/rum = 5,
|
|
/obj/item/reagent_containers/cup/glass/bottle/cognac = 5,
|
|
/obj/item/reagent_containers/cup/glass/bottle/wine = 5,
|
|
/obj/item/reagent_containers/cup/glass/bottle/absinthe = 5,
|
|
/obj/item/reagent_containers/cup/glass/bottle/vermouth = 5,
|
|
/obj/item/reagent_containers/cup/glass/bottle/gin = 5,
|
|
/obj/item/reagent_containers/cup/glass/bottle/grenadine = 4,
|
|
/obj/item/reagent_containers/cup/glass/bottle/hcider = 5,
|
|
/obj/item/reagent_containers/cup/glass/bottle/amaretto = 5,
|
|
/obj/item/reagent_containers/cup/glass/bottle/ale = 6,
|
|
/obj/item/reagent_containers/cup/glass/bottle/grappa = 5,
|
|
/obj/item/reagent_containers/cup/glass/bottle/navy_rum = 5,
|
|
/obj/item/reagent_containers/cup/glass/bottle/maltliquor = 6,
|
|
/obj/item/reagent_containers/cup/glass/bottle/kahlua = 5,
|
|
/obj/item/reagent_containers/cup/glass/bottle/sake = 5,
|
|
/obj/item/reagent_containers/cup/glass/bottle/beer = 6,
|
|
/obj/item/reagent_containers/cup/glass/bottle/vodka = 5,
|
|
/obj/item/reagent_containers/cup/glass/bottle/whiskey = 5,
|
|
/obj/item/reagent_containers/cup/glass/bottle/coconut_rum = 5,
|
|
/obj/item/reagent_containers/cup/glass/bottle/yuyake = 5,
|
|
/obj/item/reagent_containers/cup/glass/bottle/shochu = 5,
|
|
/obj/item/reagent_containers/cup/soda_cans/beer = 10,
|
|
/obj/item/reagent_containers/cup/soda_cans/beer/rice = 10,
|
|
),
|
|
),
|
|
|
|
list(
|
|
"name" = "Non-Alcoholic",
|
|
"icon" = "bottle-water",
|
|
"products" = list(
|
|
/obj/item/reagent_containers/cup/glass/ice = 10,
|
|
/obj/item/reagent_containers/cup/glass/bottle/juice/limejuice = 4,
|
|
/obj/item/reagent_containers/cup/glass/bottle/juice/menthol = 4,
|
|
/obj/item/reagent_containers/cup/glass/bottle/juice/cream = 4,
|
|
/obj/item/reagent_containers/cup/glass/bottle/juice/orangejuice = 4,
|
|
/obj/item/reagent_containers/cup/glass/bottle/juice/tomatojuice = 4,
|
|
/obj/item/reagent_containers/cup/soda_cans/sodawater = 15,
|
|
/obj/item/reagent_containers/cup/soda_cans/sol_dry = 8,
|
|
/obj/item/reagent_containers/cup/soda_cans/cola = 8,
|
|
/obj/item/reagent_containers/cup/soda_cans/tonic = 8,
|
|
/obj/item/reagent_containers/cup/glass/bottle/hakka_mate = 5,
|
|
/obj/item/reagent_containers/cup/soda_cans/melon_soda = 5,
|
|
),
|
|
),
|
|
|
|
list(
|
|
"name" = "Glassware",
|
|
"icon" = "wine-glass",
|
|
"products" = list(
|
|
/obj/item/reagent_containers/cup/glass/drinkingglass = 30,
|
|
/obj/item/reagent_containers/cup/glass/drinkingglass/shotglass = 12,
|
|
/obj/item/reagent_containers/cup/glass/flask = 3,
|
|
/obj/item/reagent_containers/cup/glass/bottle = 15,
|
|
/obj/item/reagent_containers/cup/glass/bottle/small = 15,
|
|
),
|
|
),
|
|
)
|
|
|
|
contraband = list(
|
|
/obj/item/reagent_containers/cup/glass/mug/tea = 12,
|
|
/obj/item/reagent_containers/cup/glass/bottle/fernet = 5,
|
|
)
|
|
premium = list(
|
|
/obj/item/reagent_containers/cup/bottle/ethanol = 4,
|
|
/obj/item/reagent_containers/cup/glass/bottle/champagne = 5,
|
|
/obj/item/reagent_containers/cup/glass/bottle/trappist = 5,
|
|
/obj/item/reagent_containers/cup/glass/bottle/bitters = 5,
|
|
)
|
|
|
|
product_slogans = "I hope nobody asks me for a bloody cup o' tea...;Alcohol is humanity's friend. Would you abandon a friend?;Quite delighted to serve you!;Is nobody thirsty on this station?"
|
|
product_ads = "Drink up!;Booze is good for you!;Alcohol is humanity's best friend.;Quite delighted to serve you!;Care for a nice, cold beer?;Nothing cures you like booze!;Have a sip!;Have a drink!;Have a beer!;Beer is good for you!;Only the finest alcohol!;Best quality booze since 2053!;Award-winning wine!;Maximum alcohol!;Man loves beer.;A toast for progress!"
|
|
refill_canister = /obj/item/vending_refill/boozeomat
|
|
default_price = PAYCHECK_CREW * 0.9
|
|
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"
|
|
icon_state = "refill_booze"
|