[Original suggestion
here.](https://forums.aurorastation.org/topic/22454-tidy-up-lockers/)
- Replaces departmental/job-specific wardrobe lockers with new 'Drobe'
vending machines, each containing pertinent clothing, all with new
icons: ClothesMate, EngiDrobe, AtmosDrobe, HyDrobe, SecDrobe, BarDrobe,
ChefDrobe, ChapelDrobe, SciDrobe, MediDrobe, ChemDrobe, CargoDrobe,
RoboDrobe
- Makes vending machine ads populate at the top of the purchasing UI and
randomly cycle.
- Few vending-machine related map touch-ups (mostly vending machines
missing the floor 'hatched' pattern underneath).
- Misc code readability improvements.
This commit is contained in:
Batrachophreno
2025-08-10 08:09:16 +00:00
committed by GitHub
parent 5f904d8c2b
commit a19b3797b2
30 changed files with 3970 additions and 3524 deletions
+19 -3
View File
@@ -985,9 +985,6 @@
#include "code\game\machinery\tesla_beacon.dm"
#include "code\game\machinery\transformer.dm"
#include "code\game\machinery\turret_control.dm"
#include "code\game\machinery\vending.dm"
#include "code\game\machinery\vending_items.dm"
#include "code\game\machinery\vending_types.dm"
#include "code\game\machinery\wall_frames.dm"
#include "code\game\machinery\washing_machine.dm"
#include "code\game\machinery\abstract\abstract.dm"
@@ -1072,6 +1069,25 @@
#include "code\game\machinery\telecomms\machines\processor.dm"
#include "code\game\machinery\telecomms\machines\receiver.dm"
#include "code\game\machinery\telecomms\machines\server.dm"
#include "code\game\machinery\vending\_vending.dm"
#include "code\game\machinery\vending\antagclothes.dm"
#include "code\game\machinery\vending\booze.dm"
#include "code\game\machinery\vending\cigarette.dm"
#include "code\game\machinery\vending\clothing.dm"
#include "code\game\machinery\vending\engitech.dm"
#include "code\game\machinery\vending\food.dm"
#include "code\game\machinery\vending\hotdrinks.dm"
#include "code\game\machinery\vending\hydro.dm"
#include "code\game\machinery\vending\medical.dm"
#include "code\game\machinery\vending\misc_awaysite.dm"
#include "code\game\machinery\vending\misc_offship.dm"
#include "code\game\machinery\vending\miscellaneous.dm"
#include "code\game\machinery\vending\restocker.dm"
#include "code\game\machinery\vending\security.dm"
#include "code\game\machinery\vending\service.dm"
#include "code\game\machinery\vending\snacks.dm"
#include "code\game\machinery\vending\soda.dm"
#include "code\game\machinery\vending\wardrobe.dm"
#include "code\game\modifiers\modifiers.dm"
#include "code\game\objects\buckling.dm"
#include "code\game\objects\empulse.dm"
@@ -4,18 +4,24 @@
/datum/data/vending_product
/// Display name for the product
var/product_name = "generic"
/// Typepath of the product that is created when this record "sells"
var/product_path = null
/// Amount held in the vending machine
var/amount = 0
/// How many we can store at maximum
var/max_amount = 0
/// Price to buy one
var/price = 0
/// Whether crew with an ID with an age below AGE_MINOR (20 by default) can buy this item
/// Imported from TG during rework and not implemented, but if we decided on this how FUNNY would that be.
// var/age_restricted = FALSE
/// Display color for vending machine listing
var/display_color = null
/// `CAT_HIDDEN` for contraband, `CAT_COIN` for premium
var/category = CAT_NORMAL
var/icon/product_icon
var/icon/icon_state
name = "generic"
/datum/data/vending_product/New(var/path, var/name = null, var/amount = 1, var/price = 0, var/color = null, var/category = CAT_NORMAL)
. = ..()
@@ -43,10 +49,12 @@
QDEL_NULL(A)
/**
* A vending machine
* Vending machine.
*
* Captalism in the year 2467: everything in a vending machine. Even love.
*/
/obj/machinery/vending
name = "Vendomat"
name = "\improper Vendomat"
desc = "A generic vending machine."
icon = 'icons/obj/vending.dmi'
icon_state = "generic"
@@ -57,11 +65,19 @@
manufacturer = "idris"
z_flags = ZMM_MANGLE_PLANES
/// `icon_state` when vending
// Every vending machine has one of these.
/// `icon_state` when off. Defined on init.
var/icon_off
/// `icon_state` when vending. Defined on init.
var/icon_vend
/// `icon_state` when denying
var/icon_deny
/// 'icon_state' when broken. Defined on init.
var/icon_broken
/// 'icon_state' when on, if overlay exists.
var/icon_screen
/// `icon_state` when denying.
var/icon_deny
// Power
idle_power_usage = 10
@@ -86,20 +102,23 @@
/// Set to 1 if status_message is an error
var/status_error = 0
/*
Variables used to initialize the product list
These are used for initialization only, and so are optional if
product_records is specified
*/
var/list/products = list() // For each, use the following pattern:
var/list/contraband = list() // list(/type/path = amount,/type/path2 = amount2)
var/list/premium = list() // No specified amount = only one in stock
var/list/prices = list() // Prices for each item, list(/type/path = price), items not in the list don't have a price.
/**
* Variables used to initialize the product list These are used for initialization only, and so are
* optional if product_records is specified.
*
* For each, use the following pattern:
* list(/type/path = amount,/type/path2 = amount2)
* No specified amount = only one in stock
* Prices for each item, list(/type/path = price), items not in the list don't have a price.
**/
var/list/products = list()
var/list/contraband = list()
var/list/premium = list()
var/list/prices = list()
/// List of vending_product items available.
var/list/product_records = list()
// Variables used to initialize advertising
/// String of slogans spoken out loud, separated by semicolons
var/product_slogans = ""
@@ -109,6 +128,12 @@
var/product_ads = ""
/// Set on init. Populated by `product_ads`
var/list/ads_list = list()
/// Currently displayed avertisement
var/display_ad = ""
/// When did we last update the displayed ad?
var/last_ad = 0
/// How long until we refresh our ad?
var/ad_delay = 10 SECONDS
/// String of messages spoken when item is vended, seperated by semicolons
var/vend_reply = ""
/// Set on init. Populated by `vend_reply`
@@ -122,7 +147,7 @@
/// When did we last pitch?
var/last_slogan = 0
/// How long until we can pitch again?
var/slogan_delay = 10 MINUTES
var/slogan_delay = 20 MINUTES
// Things that can go wrong
/// Ignores if somebody doesn't have card access to that machine.
@@ -140,7 +165,7 @@
/// If you can wrench the machine out of place
var/can_move = TRUE
/// Id of the refill cartridge that has to be used
/// ID of the refill cartridge that has to be used
var/vend_id = "generic"
/// If items can be restocked into the vending machine
var/restock_items = FALSE
@@ -161,24 +186,61 @@
/// Sound made when an item is vended
var/vending_sound = 'sound/machines/vending/vending_drop.ogg'
/// Lighting mask for vending machine
var/light_mask
/// This is for scaling the ui buttons - i've settled on 80x80 for machines with prices, and 60x60 for those without and with large inventories (boozeomat)
var/ui_size = 80
var/datum/asset/spritesheet/vending/v_asset
// Null/set to 0 for vending machines that shouldn't glow for some reason (Horizon recovery ward)
/// Lighting mask for vending machine
var/light_mask
light_range = 2
light_power = 0.9
/**
* Is this item on station or not
*
* if it doesn't originate from off-station during mapload, all_products_free gets automatically set to TRUE if it was unset previously.
* if it's off-station during mapload, it's also safe from the brand intelligence event
*/
var/onstation = TRUE
/**
* DO NOT APPLY THIS GLOBALLY. For mapping var edits only.
* A variable to change on a per instance basis that allows the instance to avoid having onstation set for them during mapload.
* Setting this to TRUE means that the vending machine is treated as if it were still onstation if it spawns off-station during mapload.
* Useful to specify an off-station machine that will still have costs for any given reason.
*/
var/onstation_override = FALSE
/**
* If this is set to TRUE, all products sold by the vending machine are free (cost nothing).
* Takes precedence over any price setting.
* If unset, this will get automatically set to TRUE during init if the machine originates from off-station during mapload.
* Defaults to null, set it to TRUE or FALSE explicitly on a per-machine basis if you want to force it to be a certain value.
*/
var/all_products_free
/**
* Recommended to set multipliers on these for a given vending machine's parent obj, to make things broadly more or less expensive.
* Vending machine products with no price explicitly set will use the defined prices- otherwise, an explicit price will override.
* If all_products_free is TRUE, all of this will be ignored.
* NOT YET IMPLEMENTED
*/
/// Default price of items if not overridden
var/default_price = 20
/// Default price of premium items if not overridden
var/extra_price = 50
/obj/machinery/vending/mechanics_hints(mob/user, distance, is_adjacent)
. += ..()
. += "A vending machine infected with a launcher virus can be fixed by using a debugger on it. This takes longer than using a wiring panel."
. += "All vending machines can be hacked to obtain some contraband items from them, and some can be fed with coins to gain access to premium items."
/obj/machinery/vending/Initialize(mapload)
. = ..()
wires = new(src)
if(src.product_slogans)
src.slogan_list += text2list(src.product_slogans, ";")
@@ -189,15 +251,30 @@
if(src.product_ads)
src.ads_list += text2list(src.product_ads, ";")
src.last_ad = world.time + rand(0, ad_delay)
if(src.vend_reply)
src.reply_list += text2list(src.vend_reply, ";")
icon_vend = "[initial(icon_state)]-vend"
icon_broken = "[initial(icon_state)]-broken"
icon_off = "[initial(icon_state)]-off"
reset_light()
build_products()
build_inventory()
power_change()
// Check if we were created off-station during mapload. Non-station vending machines are always free.
var/turf/T = get_turf(src)
if(mapload && T)
if(!is_station_level(T.z))
if(!onstation_override)
onstation = FALSE
// Only auto-set the free products var if we haven't explicitly assigned a value to it yet.
if(isnull(all_products_free))
all_products_free = TRUE
return INITIALIZE_HINT_LATELOAD
/obj/machinery/vending/LateInitialize()
@@ -233,7 +310,7 @@
* products that the vending machine is to carry without manually populating
* src.product_records.
*/
/obj/machinery/vending/proc/build_inventory()
/obj/machinery/vending/proc/build_inventory(list/productlist, list/recordlist, list/categories, start_empty = FALSE, premium = FALSE)
var/list/all_products = list(
list(src.products, CAT_NORMAL),
list(src.contraband, CAT_HIDDEN),
@@ -586,6 +663,7 @@
data["manufacturer"] = manufacturer
data["products"] = list()
data["ui_size"] = ui_size
data["display_ad"] = display_ad
if(currently_vending || !vend_ready)
data["vending_item"] = TRUE
@@ -634,12 +712,6 @@
else
data["coin"] = null
if(src.panel_open)
data["panel"] = TRUE
data["speaker"] = shut_up ? FALSE : TRUE
else
data["panel"] = FALSE
return data
/obj/machinery/vending/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state)
@@ -711,7 +783,6 @@
add_fingerprint(usr)
/obj/machinery/vending/proc/vend(datum/data/vending_product/R, mob/user)
if (!R || R.amount < 1)
return
@@ -808,10 +879,15 @@
src.seconds_electrified--
//Pitch to the people! Really sell it!
if(((src.last_slogan + src.slogan_delay) <= world.time) && (src.slogan_list.len > 0) && (!src.shut_up) && prob(5))
var/slogan = pick(src.slogan_list)
src.speak(slogan)
if(((src.last_ad + src.ad_delay) <= world.time) && length(ads_list))
display_ad = pick(ads_list)
src.last_ad = world.time
if(((src.last_slogan + src.slogan_delay) <= world.time) && length(slogan_list) && !src.shut_up && prob(2))
var/slogan = pick(slogan_list)
src.last_slogan = world.time
src.speak(slogan)
if(src.shoot_inventory && prob(shoot_inventory_chance))
src.throw_item()
@@ -834,14 +910,14 @@
if(!anchored)
stat |= NOPOWER
if(stat & BROKEN)
icon_state = "[initial(icon_state)]-broken"
icon_state = icon_broken
ClearOverlays()
set_light(0)
else if(!(stat & NOPOWER))
icon_state = initial(icon_state)
update_icon()
else
icon_state = "[initial(icon_state)]-off"
icon_state = icon_off
ClearOverlays()
set_light(0)
@@ -861,7 +937,7 @@
break
stat |= BROKEN
src.icon_state = "[initial(icon_state)]-broken"
src.icon_state = icon_broken
return
/// Somebody cut an important wire and now we're following a new definition of "pitch."
@@ -890,7 +966,48 @@
src.visible_message(SPAN_WARNING("[src] launches [throw_item.name] at [target.name]!"))
return TRUE
// screens go over the lighting layer, so googly eyes go under them
/// Screens go over the lighting layer. Sorry.
/obj/machinery/vending/can_attach_sticker(var/mob/user, var/obj/item/sticker/S)
to_chat(user, SPAN_WARNING("\The [src]'s non-stick surface prevents you from attaching a sticker to it!"))
return FALSE
/**
* Refill a vending machine from a refill canister
*
* This takes the products from the refill canister and then fills the products, contraband and premium product categories
*
* Arguments:
* * canister - the vending canister we are refilling from
*/
/obj/item/device/vending_refill
name = "resupply canister"
desc = "A vending machine restock cart."
icon = 'icons/obj/assemblies/electronic_setups.dmi'
icon_state = "setup_medium-open"
item_state = "restock_unit"
force = 16
throwforce = 10
throw_speed = 1
throw_range = 7
w_class = WEIGHT_CLASS_NORMAL
var/vend_id = "generic"
var/charges = 0
/obj/item/device/vending_refill/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
if(charges > 0)
. += "It can restock [charges] item(s)."
else
. += SPAN_WARNING("It's empty!")
/obj/item/device/vending_refill/proc/restock_inventory(var/obj/machinery/vending/vendor)
if(vendor)
for(var/datum/data/vending_product/product in vendor.product_records)
if(product.amount < product.max_amount)
var/expense = product.max_amount - product.amount
if(charges < expense)
expense = charges
product.amount += expense
charges -= expense
if(!charges)
break
+132
View File
@@ -0,0 +1,132 @@
/*
* Generic Clothing Vendor
* Actor Vendor
**/
/obj/machinery/vending/actor
name = "\improper Actor Vendor"
desc = "Has all your odyssey actor items, to let you effectively do your odysseying and actoring."
vend_id = "actor"
icon_state = "generic"
icon_vend = "generic-vend"
light_mask = "generic-lightmask"
products = list(
/obj/item/device/radio/headset/ship/odyssey = 12,
/obj/item/portable_map_reader/odyssey = 12,
/obj/item/card/id/syndicate = 12,
/obj/item/storage/box/syndie_kit/chameleon = 12,
)
light_color = COLOR_GUNMETAL
random_itemcount = FALSE
/*
Generic clothing vendor used in antagonist areas. For now, this almost entirely contains generic items. Prioritises recolourable items.
Intended to take some pressure off admins asked regularly to spawn in clothing by allowing players to spawn and colour their clothes themselves.
Only contains very few origin-specific items, as otherwise the list would get so long it'd be entirely incomprehensible.
If you want to expand this to more than primarily generic items, I recommend designing a UI that supports switching between categories.
*/
/obj/machinery/vending/generic_clothing
name = "\improper Generic Clothing Vendor"
desc = "Contains a large number of generic clothing items. Comes with hand-held dyers to dye its contents however the user wishes."
vend_id = "generic_clothing"
icon_state = "robotics"
icon_vend = "robotics-vend"
light_mask = "robotics-light-mask"
light_color = COLOR_GREEN
random_itemcount = FALSE
products = list (
// This item allows players to change the colour of recolourable items from this vendor without needing admin intervention.
/obj/item/device/clothes_dyer = 6,
// Generic suits.
/obj/item/clothing/suit/storage/toggle/labcoat = 6,
/obj/item/clothing/suit/storage/hazardvest/colorable = 6,
/obj/item/clothing/suit/storage/hooded/wintercoat/colorable = 6,
/obj/item/clothing/suit/storage/hooded/wintercoat/hoodie = 6,
/obj/item/clothing/suit/storage/surgical_gown = 6,
/obj/item/clothing/suit/storage/toggle/suitjacket = 6,
/obj/item/clothing/suit/storage/toggle/trench/colorable = 6,
/obj/item/clothing/suit/storage/toggle/bomber = 6,
/obj/item/clothing/suit/storage/toggle/cardigan = 6,
/obj/item/clothing/suit/storage/toggle/dominia/bomber = 6,
/obj/item/clothing/suit/storage/toggle/greatcoat/brown = 6,
// Generic shirts.
/obj/item/clothing/under/dressshirt/alt = 6,
/obj/item/clothing/under/dressshirt/polo = 6,
/obj/item/clothing/under/dressshirt/silversun= 6,
/obj/item/clothing/under/dressshirt/tanktop = 6,
/obj/item/clothing/under/dressshirt/puffyblouse = 6,
// Generic pants & skirts.
/obj/item/clothing/pants/shorts/colourable = 6,
/obj/item/clothing/pants/mustang/colourable = 6,
/obj/item/clothing/pants/dress = 6,
/obj/item/clothing/pants/skirt = 6,
/obj/item/clothing/pants/skirt/high = 6,
/obj/item/clothing/pants/skirt/pencil = 6,
// Generic uniforms.
/obj/item/clothing/under/color/colorable = 6,
/obj/item/clothing/under/syndicate = 6,
/obj/item/clothing/under/syndicate/tracksuit = 6,
/obj/item/clothing/under/dress/colorable/longsleeve = 6,
/obj/item/clothing/under/dress/colorable/sleeveless = 6,
/obj/item/clothing/under/librarian = 6,
/obj/item/clothing/under/rank/medical/generic = 6,
/obj/item/clothing/under/dominia/imperial_suit = 6,
/obj/item/clothing/under/suit_jacket = 6,
/obj/item/clothing/under/tajaran = 6,
// Generic hats.
/obj/item/clothing/head/bandana/colorable = 6,
/obj/item/clothing/head/beanie = 6,
/obj/item/clothing/head/beret/colorable = 6,
/obj/item/clothing/head/bucket/boonie = 6,
/obj/item/clothing/head/cowboy/wide = 6,
/obj/item/clothing/head/cowboy = 6,
/obj/item/clothing/head/fedora = 6,
/obj/item/clothing/head/flatcap/colourable = 6,
/obj/item/clothing/head/wool = 6,
/obj/item/clothing/head/sidecap = 6,
/obj/item/clothing/head/plain_hood = 6,
// Generic gloves.
/obj/item/clothing/gloves/black_leather/colour = 6,
/obj/item/clothing/gloves/fingerless/colour = 6,
/obj/item/clothing/gloves/evening = 6,
// Generic accessories.
/obj/item/clothing/accessory/wcoat_rec = 6,
/obj/item/clothing/accessory/bandanna/colorable = 6,
/obj/item/clothing/accessory/apron = 6,
/obj/item/clothing/accessory/tie/colourable = 6,
/obj/item/clothing/accessory/tie/ribbon/neck = 6,
/obj/item/clothing/accessory/poncho/colorable/gradient = 6,
/obj/item/clothing/accessory/poncho/dominia_cape = 6,
/obj/item/clothing/accessory/scarf = 6,
// Bags.
/obj/item/storage/backpack/duffel/eng = 6,
/obj/item/storage/backpack/industrial = 6,
/obj/item/storage/backpack/messenger = 6,
/obj/item/storage/backpack/satchel = 6,
/obj/item/storage/backpack/satchel/leather/recolorable = 6,
/obj/item/storage/backpack/satchel/leather = 6,
// Sunglasses and other eyewear.
/obj/item/clothing/glasses/regular = 6,
/obj/item/clothing/glasses/sunglasses = 6,
/obj/item/clothing/glasses/sunglasses/blindfold = 6,
/obj/item/clothing/glasses/monocle = 6,
/obj/item/clothing/glasses/eyepatch = 6,
// Shoes and boots.
/obj/item/clothing/shoes/jackboots = 6,
/obj/item/clothing/shoes/jackboots/cavalry = 6,
/obj/item/clothing/shoes/jackboots/toeless = 6,
/obj/item/clothing/shoes/sneakers/black = 6,
/obj/item/clothing/shoes/laceup/colourable = 6,
/obj/item/clothing/shoes/heels = 6,
/obj/item/clothing/shoes/winter = 6,
)
+189
View File
@@ -0,0 +1,189 @@
/**
* Booze-O-Mat
* Merchant Station
* Abandoned
* Low Supply
*/
/obj/machinery/vending/boozeomat
name = "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" //////////////18 drink entities below, plus the glasses, in case someone wants to edit the number of bottles
icon_vend = "boozeomat-vend"
light_mask = "boozeomat-lightmask"
vend_id = "booze"
products = list(
/obj/item/reagent_containers/food/drinks/bottle/applejack = 5,
/obj/item/reagent_containers/food/drinks/bottle/bitters = 6,
/obj/item/reagent_containers/food/drinks/bottle/boukha = 2,
/obj/item/reagent_containers/food/drinks/bottle/brandy = 4,
/obj/item/reagent_containers/food/drinks/bottle/grenadine = 5,
/obj/item/reagent_containers/food/drinks/bottle/tequila = 5,
/obj/item/reagent_containers/food/drinks/bottle/rum = 5,
/obj/item/reagent_containers/food/drinks/bottle/fernet = 3,
/obj/item/reagent_containers/food/drinks/bottle/cognac = 5,
/obj/item/reagent_containers/food/drinks/bottle/cremeyvette = 4,
/obj/item/reagent_containers/food/drinks/bottle/wine = 5,
/obj/item/reagent_containers/food/drinks/bottle/rose_wine = 5,
/obj/item/reagent_containers/food/drinks/bottle/whitewine = 5,
/obj/item/reagent_containers/food/drinks/bottle/skrellwineylpha = 2,
/obj/item/reagent_containers/food/drinks/bottle/drambuie = 4,
/obj/item/reagent_containers/food/drinks/bottle/melonliquor = 2,
/obj/item/reagent_containers/food/drinks/bottle/gin = 5,
/obj/item/reagent_containers/food/drinks/bottle/vermouth = 5,
/obj/item/reagent_containers/food/drinks/bottle/chartreusegreen = 5,
/obj/item/reagent_containers/food/drinks/bottle/guinness = 4,
/obj/item/reagent_containers/food/drinks/bottle/absinthe = 2,
/obj/item/reagent_containers/food/drinks/bottle/bluecuracao = 2,
/obj/item/reagent_containers/food/drinks/bottle/kahlua = 5,
/obj/item/reagent_containers/food/drinks/bottle/triplesec = 5,
/obj/item/reagent_containers/food/drinks/bottle/sarezhiwine = 2,
/obj/item/reagent_containers/food/drinks/bottle/champagne = 5,
/obj/item/reagent_containers/food/drinks/bottle/vodka = 5,
/obj/item/reagent_containers/food/drinks/bottle/vodka/mushroom = 1,
/obj/item/reagent_containers/food/drinks/bottle/pulque = 5,
/obj/item/reagent_containers/food/drinks/bottle/fireball = 2,
/obj/item/reagent_containers/food/drinks/bottle/whiskey = 5,
/obj/item/reagent_containers/food/drinks/bottle/victorygin = 2,
/obj/item/reagent_containers/food/drinks/bottle/makgeolli = 2,
/obj/item/reagent_containers/food/drinks/bottle/soju = 2,
/obj/item/reagent_containers/food/drinks/bottle/sake = 1,
/obj/item/reagent_containers/food/drinks/bottle/cremewhite = 4,
/obj/item/reagent_containers/food/drinks/bottle/mintsyrup = 5,
/obj/item/reagent_containers/food/drinks/bottle/sugartree_liquor = 2,
/obj/item/reagent_containers/food/drinks/bottle/chartreuseyellow = 5,
/obj/item/reagent_containers/food/drinks/bottle/messa_mead = 2,
/obj/item/reagent_containers/food/drinks/bottle/dominian_wine = 1,
/obj/item/reagent_containers/food/drinks/bottle/assunzione_wine = 1,
/obj/item/reagent_containers/food/drinks/bottle/algae_wine = 1,
/obj/item/reagent_containers/food/drinks/bottle/kvass = 1,
/obj/item/reagent_containers/food/drinks/bottle/tarasun = 1,
/obj/item/reagent_containers/food/drinks/bottle/valokki_wine = 1,
/obj/item/reagent_containers/food/drinks/bottle/twentytwoseventyfive = 1,
/obj/item/reagent_containers/food/drinks/bottle/saintjacques = 1,
/obj/item/reagent_containers/food/drinks/bottle/hooch = 1,
/obj/item/reagent_containers/food/drinks/bottle/nemiik = 1,
/obj/item/reagent_containers/food/drinks/bottle/ogogoro = 2,
/obj/item/reagent_containers/food/drinks/carton/applejuice = 2,
/obj/item/reagent_containers/food/drinks/carton/cream = 4,
/obj/item/reagent_containers/food/drinks/carton/dynjuice = 2,
/obj/item/reagent_containers/food/drinks/carton/limejuice = 4,
/obj/item/reagent_containers/food/drinks/carton/lemonjuice = 4,
/obj/item/reagent_containers/food/drinks/carton/orangejuice = 4,
/obj/item/reagent_containers/food/drinks/carton/tomatojuice = 2,
/obj/item/reagent_containers/food/drinks/carton/cranberryjuice = 2,
/obj/item/reagent_containers/food/drinks/carton/watermelonjuice = 2,
/obj/item/reagent_containers/food/drinks/carton/bananajuice = 2,
/obj/item/reagent_containers/food/drinks/carton/fatshouters = 1,
/obj/item/reagent_containers/food/drinks/carton/mutthir = 1,
/obj/item/reagent_containers/food/drinks/boba = 2,
/obj/item/reagent_containers/food/drinks/ice = 9,
/obj/item/storage/box/fancy/vkrexi_swollen_organ = 1
)
contraband = list(
/obj/item/reagent_containers/food/drinks/tea = 10
)
premium = list(
/obj/item/reagent_containers/food/drinks/bottle/bottleofnothing = 2
)
vend_delay = 15
idle_power_usage = 211 //refrigerator - believe it or not, this is actually the average power consumption of a refrigerated vending machine according to NRCan.
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!"
req_access = list(ACCESS_BAR)
random_itemcount = 0
vending_sound = 'sound/machines/vending/vending_cans.ogg'
light_color = COLOR_PALE_BLUE_GRAY
ui_size = 60
/obj/item/device/vending_refill/booze
name = "booze resupply canister"
vend_id = "booze"
charges = 100 //holy shit that's a lot of booze
/obj/machinery/vending/boozeomat/ui_data(mob/user)
var/list/data = ..()
data["width_override"] = 900
data["height_override"] = 600
return data
/obj/machinery/vending/boozeomat/merchant
// boozeomat variant used on the merchant station
products = list(
/obj/item/reagent_containers/food/drinks/drinkingglass = 12,
/obj/item/reagent_containers/food/drinks/ice = 12,
/obj/item/reagent_containers/food/drinks/bottle/whiskey = 6,
/obj/item/reagent_containers/food/drinks/bottle/tequila = 6,
/obj/item/reagent_containers/food/drinks/bottle/champagne = 2,
/obj/item/reagent_containers/food/drinks/bottle/vodka = 6,
/obj/item/reagent_containers/food/drinks/bottle/rum = 6,
/obj/item/reagent_containers/food/drinks/bottle/wine = 6,
/obj/item/reagent_containers/food/drinks/bottle/cognac = 6,
/obj/item/reagent_containers/food/drinks/bottle/victorygin = 6,
/obj/item/reagent_containers/food/drinks/bottle/boukha = 6,
/obj/item/reagent_containers/food/drinks/bottle/small/beer = 12,
/obj/item/reagent_containers/food/drinks/bottle/absinthe = 6,
/obj/item/reagent_containers/food/drinks/bottle/brandy = 6,
/obj/item/reagent_containers/food/drinks/bottle/sarezhiwine = 6)
random_itemcount = 1
req_access = list()
restock_items = TRUE
/obj/machinery/vending/boozeomat/abandoned
// badly stocked, with trash, junk, etc
desc = "Used to hold bottles and drinks cold and nice in the past, now it is all dusty and barely functioning, if at all."
products = list(
/obj/item/reagent_containers/food/drinks/drinkingglass = 1,
/obj/item/reagent_containers/food/drinks/drinkingglass/newglass/shot = 5,
/obj/item/reagent_containers/food/drinks/ice = 1,
/obj/item/reagent_containers/food/drinks/bottle/whiskey = 2,
/obj/item/reagent_containers/food/drinks/bottle/tequila = 1,
/obj/item/reagent_containers/food/drinks/bottle/vodka = 2,
/obj/item/reagent_containers/food/drinks/bottle/rum = 1,
/obj/item/reagent_containers/food/drinks/bottle/wine = 1,
/obj/item/reagent_containers/food/drinks/bottle/victorygin = 1,
/obj/item/reagent_containers/food/drinks/bottle/ogogoro = 1,
/obj/item/reagent_containers/food/drinks/bottle/small/beer = 2,
/obj/item/reagent_containers/food/drinks/bottle = 6,
/obj/random/junk = 7,
/obj/item/material/shard = 3,
/obj/item/broken_bottle = 5)
random_itemcount = 1
req_access = list()
restock_items = TRUE
use_power = 0
/obj/machinery/vending/boozeomat/low_supply
// just badly stocked
products = list(
/obj/item/reagent_containers/food/drinks/bottle/applejack = 1,
/obj/item/reagent_containers/food/drinks/bottle/bitters = 2,
/obj/item/reagent_containers/food/drinks/bottle/boukha = 1,
/obj/item/reagent_containers/food/drinks/bottle/grenadine = 2,
/obj/item/reagent_containers/food/drinks/bottle/tequila = 1,
/obj/item/reagent_containers/food/drinks/bottle/rum = 1,
/obj/item/reagent_containers/food/drinks/bottle/fernet = 1,
/obj/item/reagent_containers/food/drinks/bottle/drambuie = 2,
/obj/item/reagent_containers/food/drinks/bottle/melonliquor = 1,
/obj/item/reagent_containers/food/drinks/bottle/chartreusegreen = 2,
/obj/item/reagent_containers/food/drinks/bottle/absinthe = 1,
/obj/item/reagent_containers/food/drinks/bottle/kahlua = 1,
/obj/item/reagent_containers/food/drinks/bottle/triplesec = 1,
/obj/item/reagent_containers/food/drinks/bottle/sarezhiwine = 1,
/obj/item/reagent_containers/food/drinks/bottle/vodka = 2,
/obj/item/reagent_containers/food/drinks/bottle/pulque = 1,
/obj/item/reagent_containers/food/drinks/bottle/fireball = 2,
/obj/item/reagent_containers/food/drinks/bottle/cremewhite = 1,
/obj/item/reagent_containers/food/drinks/bottle/mintsyrup = 2,
/obj/item/reagent_containers/food/drinks/bottle/chartreuseyellow = 1,
/obj/item/reagent_containers/food/drinks/bottle/messa_mead = 2,
/obj/item/reagent_containers/food/drinks/bottle/kvass = 1,
/obj/item/reagent_containers/food/drinks/bottle/hooch = 4,
/obj/item/reagent_containers/food/drinks/bottle/nemiik = 1,
/obj/item/reagent_containers/food/drinks/carton/applejuice = 1,
/obj/item/reagent_containers/food/drinks/carton/cream = 4,
/obj/item/reagent_containers/food/drinks/carton/dynjuice = 1,
/obj/item/reagent_containers/food/drinks/carton/tomatojuice = 1,
/obj/item/reagent_containers/food/drinks/carton/cranberryjuice = 1,
/obj/item/reagent_containers/food/drinks/ice = 9
)
+152
View File
@@ -0,0 +1,152 @@
/*
* Cigarette machine
* Low Supply
* Merchant Station
* Hacked
*/
/obj/machinery/vending/cigarette
name = "\improper cigarette machine" //OCD had to be uppercase to look nice with the new formating
desc = "If you want to get cancer, might as well do it in style!"
product_slogans = "Space cigs taste good like a cigarette should.;I'd rather toolbox than switch.;Smoke!;Don't believe the reports - smoke today!"
product_ads = "Probably not bad for you!;Don't believe the scientists!;It's good for you!;Don't quit, buy more!;Smoke!;Nicotine heaven.;Best cigarettes since 2150.;Award-winning cigs."
vend_delay = 24
icon_state = "cigs"
icon_vend = "cigs-vend"
vend_id = "smokes"
products = list(
/obj/item/storage/box/fancy/cigarettes/rugged = 6,
/obj/item/storage/box/fancy/cigarettes = 8,
/obj/item/storage/box/fancy/cigarettes/dromedaryco = 5,
/obj/item/storage/box/fancy/cigarettes/nicotine = 3,
/obj/item/storage/box/fancy/cigarettes/pra = 6,
/obj/item/storage/box/fancy/cigarettes/dpra = 6,
/obj/item/storage/box/fancy/cigarettes/nka = 6,
/obj/item/storage/box/fancy/cigarettes/federation = 3,
/obj/item/storage/box/fancy/cigarettes/dyn = 3,
/obj/item/storage/box/fancy/cigarettes/oracle = 3,
/obj/item/storage/chewables/rollable = 8,
/obj/item/storage/chewables/rollable/unathi = 6,
/obj/item/storage/chewables/rollable/fine = 5,
/obj/item/storage/chewables/rollable/nico = 3,
/obj/item/storage/chewables/rollable/oracle = 5,
/obj/item/storage/chewables/rollable/vedamor = 3,
/obj/item/storage/chewables/tobacco/bad = 6,
/obj/item/storage/chewables/tobacco = 8,
/obj/item/storage/chewables/tobacco/fine = 5,
/obj/item/storage/chewables/tobacco/federation = 2,
/obj/item/storage/chewables/tobacco/dyn = 2,
/obj/item/storage/chewables/tobacco/koko = 2,
/obj/item/storage/chewables/oracle = 4,
/obj/item/storage/box/fancy/chewables/tobacco/nico = 3,
/obj/item/storage/cigfilters = 6,
/obj/item/storage/box/fancy/cigpaper = 6,
/obj/item/storage/box/fancy/cigpaper/fine = 4,
/obj/item/storage/box/fancy/matches = 10,
/obj/item/flame/lighter/random = 4,
/obj/item/spacecash/ewallet/lotto = 30,
/obj/item/clothing/mask/smokable/ecig/util = 2,
/obj/item/clothing/mask/smokable/ecig/simple = 2,
/obj/item/reagent_containers/ecig_cartridge/med_nicotine = 10,
/obj/item/reagent_containers/ecig_cartridge/high_nicotine = 10,
/obj/item/reagent_containers/ecig_cartridge/orange = 10,
/obj/item/reagent_containers/ecig_cartridge/watermelon = 10,
/obj/item/reagent_containers/ecig_cartridge/grape = 10
)
contraband = list(
/obj/item/storage/box/fancy/cigarettes/blank = 5,
/obj/item/storage/box/fancy/cigarettes/acmeco = 5,
/obj/item/clothing/mask/smokable/cigarette/cigar/sausage = 3
)
premium = list(
/obj/item/flame/lighter/zippo = 4,
/obj/item/storage/box/fancy/cigarettes/cigar = 5
)
prices = list(
/obj/item/storage/box/fancy/cigarettes/rugged = 8.00,
/obj/item/storage/box/fancy/cigarettes = 9.00,
/obj/item/storage/box/fancy/cigarettes/dromedaryco = 9.75,
/obj/item/storage/box/fancy/cigarettes/nicotine = 10.50,
/obj/item/storage/box/fancy/cigarettes/pra = 9.75,
/obj/item/storage/box/fancy/cigarettes/dpra = 10.25,
/obj/item/storage/box/fancy/cigarettes/nka = 9.25,
/obj/item/storage/box/fancy/cigarettes/federation = 11.50,
/obj/item/storage/box/fancy/cigarettes/dyn = 10.25,
/obj/item/storage/box/fancy/cigarettes/oracle = 10.25,
/obj/item/storage/chewables/rollable = 7.50,
/obj/item/storage/chewables/rollable/unathi = 7.75,
/obj/item/storage/chewables/rollable/fine = 8.00,
/obj/item/storage/chewables/rollable/nico = 10.00,
/obj/item/storage/chewables/rollable/oracle = 7.75,
/obj/item/storage/chewables/rollable/vedamor = 8.50,
/obj/item/storage/chewables/tobacco/bad = 6.50,
/obj/item/storage/chewables/tobacco = 9.00,
/obj/item/storage/chewables/tobacco/fine = 10.00,
/obj/item/storage/chewables/tobacco/federation = 10.25,
/obj/item/storage/chewables/tobacco/dyn = 9.75,
/obj/item/storage/box/fancy/chewables/tobacco/nico = 10.75,
/obj/item/storage/chewables/oracle = 11.50,
/obj/item/storage/chewables/tobacco/koko = 11.00,
/obj/item/storage/box/fancy/matches = 1.50,
/obj/item/flame/lighter/random = 1.50,
/obj/item/storage/cigfilters = 1.25,
/obj/item/storage/box/fancy/cigpaper = 2.50,
/obj/item/storage/box/fancy/cigpaper/fine = 3.50,
/obj/item/spacecash/ewallet/lotto = 5.00,
/obj/item/clothing/mask/smokable/ecig/simple = 25.00,
/obj/item/clothing/mask/smokable/ecig/util = 35.00,
/obj/item/reagent_containers/ecig_cartridge/med_nicotine = 4.50,
/obj/item/reagent_containers/ecig_cartridge/high_nicotine = 5.25,
/obj/item/reagent_containers/ecig_cartridge/orange = 4.25,
/obj/item/reagent_containers/ecig_cartridge/watermelon = 4.00,
/obj/item/reagent_containers/ecig_cartridge/grape = 4.40
)
light_color = COLOR_BLUE_GRAY
/obj/machinery/vending/cigarette/low_supply
products = list(
/obj/item/storage/box/fancy/cigarettes/rugged = 4,
/obj/item/storage/box/fancy/cigarettes = 2,
/obj/item/storage/box/fancy/cigarettes/dpra = 2,
/obj/item/storage/box/fancy/cigarettes/federation = 1,
/obj/item/storage/chewables/rollable = 2,
/obj/item/storage/chewables/rollable/unathi = 1,
/obj/item/storage/chewables/tobacco/bad = 2,
/obj/item/storage/chewables/tobacco/koko = 1,
/obj/item/storage/cigfilters = 1,
/obj/item/storage/box/fancy/cigpaper = 4,
/obj/item/storage/box/fancy/matches = 4,
/obj/item/spacecash/ewallet/lotto = 9,
/obj/item/clothing/mask/smokable/ecig/util = 1,
/obj/item/clothing/mask/smokable/ecig/simple = 1,
/obj/item/reagent_containers/ecig_cartridge/med_nicotine = 2,
/obj/item/reagent_containers/ecig_cartridge/grape = 1
)
/obj/machinery/vending/cigarette/merchant
// Mapped in merchant station
premium = list()
prices = list()
products = list(
/obj/item/storage/box/fancy/cigarettes = 10,
/obj/item/storage/box/fancy/cigarettes/oracle = 10,
/obj/item/storage/box/fancy/matches = 10,
/obj/item/flame/lighter/random = 4,
/obj/item/storage/box/fancy/cigarettes/cigar = 5,
/obj/item/storage/box/fancy/cigarettes/acmeco = 5
)
/obj/machinery/vending/cigarette/hacked
name = "hacked cigarette machine"
prices = list()
products = list(
/obj/item/storage/box/fancy/cigarettes = 10,
/obj/item/storage/box/fancy/matches = 10,
/obj/item/flame/lighter/zippo = 4,
/obj/item/clothing/mask/smokable/cigarette/cigar/havana = 2
)
/obj/item/device/vending_refill/smokes
name = "smokes resupply canister"
vend_id = "smokes"
charges = 25
+80
View File
@@ -0,0 +1,80 @@
/**
* ClothesMate
*/
/obj/machinery/vending/clothing
name = "ClothesMate"
desc = "A vending machine for clothing."
icon_state = "clothes"
icon_vend = "clothes-vend"
icon_deny = "clothes-deny"
product_ads = "Dress for success!;Prepare to look swagalicious!;Look at all this swag!;Why leave style up to fate? Use the ClothesMate!"
vend_reply = "Thank you for using ClothesMate!"
vend_id = "wardrobe"
products = list(
// Suits
/obj/item/clothing/under/color/black = 4,
/obj/item/clothing/under/color/grey = 4,
/obj/item/clothing/under/color/white = 4,
/obj/item/clothing/under/color/red = 4,
/obj/item/clothing/under/color/orange = 4,
/obj/item/clothing/under/color/yellow = 4,
/obj/item/clothing/under/color/green = 4,
/obj/item/clothing/under/color/blue = 4,
/obj/item/clothing/under/color/purple = 4,
/obj/item/clothing/under/swimsuit/black = 2,
/obj/item/clothing/under/swimsuit/blue = 2,
/obj/item/clothing/under/swimsuit/red = 2,
/obj/item/clothing/under/swimsuit/purple = 2,
/obj/item/clothing/under/dressshirt/silversun = 8,
// Pants
/obj/item/clothing/pants/black = 8,
/obj/item/clothing/pants/tan = 4,
/obj/item/clothing/pants/jeans = 4,
/obj/item/clothing/pants/jeansblack = 4,
/obj/item/clothing/pants/striped = 4,
/obj/item/clothing/pants/track = 4,
/obj/item/clothing/pants/track/red = 4,
/obj/item/clothing/pants/shorts/athletic/black = 2,
/obj/item/clothing/pants/shorts/athletic/blue = 2,
/obj/item/clothing/pants/shorts/athletic/red = 2,
/obj/item/clothing/pants/shorts/athletic/green = 2,
// Shoes
/obj/item/clothing/shoes/sneakers/black = 8,
/obj/item/clothing/shoes/sneakers/brown = 4,
/obj/item/clothing/shoes/sneakers/black/tajara = 2,
/obj/item/clothing/shoes/vaurca = 2,
/obj/item/clothing/shoes/workboots = 8,
/obj/item/clothing/shoes/workboots/toeless = 4,
/obj/item/clothing/shoes/sandals = 4,
/obj/item/clothing/shoes/winter = 8,
/obj/item/clothing/shoes/winter/toeless = 4,
/obj/item/clothing/shoes/footwraps = 2,
// Headwear
/obj/item/clothing/head/hijab = 2,
/obj/item/clothing/head/turban = 2,
/obj/item/clothing/head/kippah = 2,
/obj/item/clothing/mask/trinary_mask = 2,
// Eyewear
/obj/item/clothing/glasses/regular = 4,
/obj/item/clothing/glasses/regular/circle = 4,
/obj/item/clothing/glasses/night/aviator = 8,
/obj/item/clothing/glasses/sunglasses = 8,
/obj/item/clothing/glasses/fakesunglasses = 4
)
contraband = list(
/obj/item/clothing/head/bandana/pirate = 4,
/obj/item/clothing/glasses/eyepatch = 4,
/obj/item/clothing/under/rank/machinist/einstein = 4,
/obj/item/clothing/under/rank/liaison/einstein = 4,
/obj/item/clothing/glasses/sunglasses/blindfold = 4,
/obj/item/clothing/mask/fakemoustache = 4
)
premium = list(
/obj/item/clothing/head/fez = 2,
/obj/item/clothing/head/bowlerhat = 2,
/obj/item/clothing/head/that = 2
)
light_mask = "clothes-lightmask"
light_color = COLOR_PALE_BLUE_GRAY
restock_items = TRUE
+271
View File
@@ -0,0 +1,271 @@
/**
* Robotech Deluxe
* EngiVend
* Low Supply
* Robco Tool Maker
* YouTool
* Low Supply
* SCC Encryption Key Vendor
* Vendomat (Parts Vendor)
* Syndicate
*/
/obj/machinery/vending/robotics
name = "Robotech Deluxe"
desc = "All the tools you need to create your own robot army."
icon_state = "robotics"
icon_vend = "robotics-vend"
req_access = list(ACCESS_ROBOTICS)
vend_id = "robo-tools"
products = list(
/obj/item/stack/cable_coil = 4,
/obj/item/device/flash/synthetic = 4,
/obj/item/cell/high = 12,
/obj/item/device/assembly/prox_sensor = 3,
/obj/item/device/assembly/signaler = 3,
/obj/item/device/healthanalyzer = 3,
/obj/item/surgery/scalpel = 2,
/obj/item/surgery/circular_saw = 2,
/obj/item/screwdriver = 5,
/obj/item/crowbar = 5
)
contraband = list(
/obj/item/device/flash = 2
)
premium = list(
/obj/item/device/paicard = 2
)
//everything after the power cell had no amounts, I improvised. -Sayu
restock_blocked_items = list(
/obj/item/stack/cable_coil,
/obj/item/device/flash,
/obj/item/light/tube
)
restock_items = TRUE
random_itemcount = 0
light_color = COLOR_BABY_BLUE
manufacturer = "hephaestus"
/obj/item/device/vending_refill/robo
name = "robo-tools resupply canister"
vend_id = "robo-tools"
charges = 38
/obj/machinery/vending/engivend
name = "Engi-Vend"
desc = "Spare tool vending. What? Did you expect some witty description?"
icon_state = "engivend"
icon_vend = "engivend-vend"
req_access = list(ACCESS_ENGINE)
vend_id = "tools"
products = list(
/obj/item/device/multitool = 4,
/obj/item/taperoll/engineering = 4,
/obj/item/clothing/glasses/safety/goggles = 4,
/obj/item/airlock_electronics = 20,
/obj/item/module/power_control = 10,
/obj/item/airalarm_electronics = 10,
/obj/item/firealarm_electronics = 10,
/obj/item/cell/high = 10,
/obj/item/grenade/chem_grenade/antifuel = 5,
/obj/item/device/geiger = 5
)
contraband = list(
/obj/item/cell/potato = 3
)
premium = list(
/obj/item/storage/belt/utility = 3
)
restock_items = TRUE
random_itemcount = 0
light_color = COLOR_GOLD
manufacturer = "hephaestus"
/obj/machinery/vending/engivend/low_supply
products = list(
/obj/item/device/multitool = 2,
/obj/item/taperoll/engineering = 2,
/obj/item/clothing/glasses/safety/goggles = 3,
/obj/item/airlock_electronics = 12,
/obj/item/module/power_control = 7,
/obj/item/airalarm_electronics = 7,
/obj/item/firealarm_electronics = 8,
/obj/item/cell/high = 4,
/obj/item/grenade/chem_grenade/antifuel = 3,
/obj/item/device/geiger = 1
)
/obj/machinery/vending/tool
name = "YouTool"
desc = "Tools for tools."
icon_state = "tool"
icon_vend = "tool-vend"
vend_id = "tools"
//req_access = list(ACCESS_MAINT_TUNNELS) //Maintenance access
products = list(
/obj/item/stack/cable_coil/random = 10,
/obj/item/crowbar = 5,
/obj/item/weldingtool = 3,
/obj/item/wirecutters = 5,
/obj/item/wrench = 5,
/obj/item/device/analyzer = 5,
/obj/item/device/t_scanner = 5,
/obj/item/screwdriver = 5,
/obj/item/tape_roll = 3,
/obj/item/hammer = 5
)
contraband = list(
/obj/item/weldingtool/hugetank = 2,
/obj/item/clothing/gloves/yellow/budget = 2
)
premium = list(
/obj/item/clothing/gloves/yellow = 1
)
restock_blocked_items = list(
/obj/item/stack/cable_coil,
/obj/item/weldingtool,
/obj/item/weldingtool/hugetank
)
restock_items = TRUE
light_color = COLOR_GOLD
manufacturer = "hephaestus"
/obj/machinery/vending/tool/low_supply
products = list(
/obj/item/stack/cable_coil/random = 4,
/obj/item/crowbar = 3,
/obj/item/weldingtool = 1,
/obj/item/wirecutters = 2,
/obj/item/wrench = 2,
/obj/item/device/analyzer = 3,
/obj/item/device/t_scanner = 2,
/obj/item/screwdriver = 3,
/obj/item/tape_roll = 1,
/obj/item/hammer = 1
)
//This one's from bay12
/obj/machinery/vending/engineering
name = "Robco Tool Maker"
desc = "Everything you need for do-it-yourself station repair."
icon_state = "engi"
icon_vend = "engi-vend"
req_access = list(ACCESS_ENGINE_EQUIP)
vend_id = "tools"
products = list(
/obj/item/clothing/head/hardhat = 4,
/obj/item/storage/belt/utility = 5,
/obj/item/clothing/glasses/safety/goggles = 4,
/obj/item/clothing/gloves/yellow = 4,
/obj/item/screwdriver = 8,
/obj/item/crowbar = 8,
/obj/item/wirecutters = 8,
/obj/item/device/multitool = 8,
/obj/item/wrench = 8,
/obj/item/device/t_scanner = 8,
/obj/item/stack/cable_coil/random = 10,
/obj/item/cell = 5,
/obj/item/device/analyzer = 5,
/obj/item/cell/high = 2,
/obj/item/weldingtool = 8,
/obj/item/clothing/head/welding = 8,
/obj/item/light/tube = 10,
/obj/item/clothing/head/hardhat/firefighter = 4,
/obj/item/clothing/suit/fire = 4,
/obj/item/stock_parts/scanning_module = 5,
/obj/item/stock_parts/micro_laser = 5,
/obj/item/stock_parts/matter_bin = 5,
/obj/item/stock_parts/manipulator = 5,
/obj/item/stock_parts/console_screen = 5,
/obj/item/tape_roll = 5
)
restock_blocked_items = list(
/obj/item/stack/cable_coil,
/obj/item/weldingtool,
/obj/item/light/tube
)
restock_items = TRUE
light_color = COLOR_GOLD
manufacturer = "hephaestus"
/obj/item/device/vending_refill/tools
name = "tools resupply canister"
vend_id = "tools"
charges = 25
/obj/machinery/vending/encryption
name = "SCC Encryption Key Vendor"
desc = "Communications galore, at the tip of your fingers."
product_ads = "Stop walkin, get talkin!;Get them keys!;Psst, got a minute?"
icon_state = "wallencrypt"
density = 0 //It is wall-mounted.
req_access = list(ACCESS_HOP)
vend_id = "encryption"
products = list(
/obj/item/device/encryptionkey/heads/captain = 1,
/obj/item/device/encryptionkey/heads/ce = 1,
/obj/item/device/encryptionkey/heads/cmo = 1,
/obj/item/device/encryptionkey/heads/hos = 1,
/obj/item/device/encryptionkey/heads/rd = 1,
/obj/item/device/encryptionkey/heads/xo = 1,
/obj/item/device/encryptionkey/headset_operations_manager = 1,
/obj/item/device/encryptionkey/headset_com = 5,
/obj/item/device/encryptionkey/headset_cargo = 5,
/obj/item/device/encryptionkey/headset_eng = 5,
/obj/item/device/encryptionkey/headset_med = 5,
/obj/item/device/encryptionkey/headset_sci = 5,
/obj/item/device/encryptionkey/headset_sec = 5,
/obj/item/device/encryptionkey/headset_service = 5,
/obj/item/device/encryptionkey/headset_warden = 5,
/obj/item/device/encryptionkey/headset_xenoarch = 5,
)
/obj/item/device/vending_refill/encryption
name = "encryption key resupply canister"
vend_id = "encryption"
charges = 60
/obj/machinery/vending/assist
vend_id = "tools"
icon_state = "generic"
icon_vend = "generic-vend"
light_mask = "generic-lightmask"
products = list(
/obj/item/device/assembly/prox_sensor = 5,
/obj/item/device/assembly/igniter = 3,
/obj/item/device/assembly/signaler = 4,
/obj/item/wirecutters = 1
)
contraband = list(
/obj/item/device/flashlight = 5,
/obj/item/device/assembly/timer = 2,
/obj/item/device/assembly/infra = 2,
/obj/item/device/assembly/voice = 2
)
premium = list(
/obj/item/device/multitool/ = 2
)
product_ads = "Only the finest!;Have some tools.;The most robust equipment.;The finest gear in space!"
restock_items = TRUE
light_color = COLOR_GUNMETAL
/obj/machinery/vending/assist/synd
name = "\improper Parts vendor"
desc = "Just a normal vending machine - nothing to see here."
icon_state = "generic"
icon_vend = "generic-vend"
light_mask = "generic-lightmask"
contraband = null
random_itemcount = 0
products = list(
/obj/item/device/assembly/prox_sensor = 5,
/obj/item/device/assembly/signaler = 4,
/obj/item/device/assembly/infra = 4,
/obj/item/device/assembly/prox_sensor = 4,
/obj/item/handcuffs = 8,
/obj/item/device/flash = 4,
/obj/item/clothing/glasses/sunglasses = 4
)
+73
View File
@@ -0,0 +1,73 @@
/**
* MREs
* Low Supply
* Ramen
*/
/obj/machinery/vending/mredispenser
name = "MRE dispenser"
desc = "A vending machine filled with MRE's."
icon_state = "mrevend"
icon_deny = "mrevend-deny"
product_slogans = ";FOREIGN LEGION TESTED!, FOREIGN LEGION RECOMMENDED!, FOREIGN LEGION APPROVED!;YOU ARE NOT ALLOWED A JELLY DOUGHNUT!;YOU DON'T WANT TO DIE HUNGRY, SOLDIER!"
product_ads = "Everything the body needs!;Now trans-fat free!;Vegan options are available.;Safe for all known species!"
products = list(
/obj/item/storage/box/fancy/mre = 2,
/obj/item/storage/box/fancy/mre/menu2 = 2,
/obj/item/storage/box/fancy/mre/menu3 = 2,
/obj/item/storage/box/fancy/mre/menu4 = 2,
/obj/item/storage/box/fancy/mre/menu5 = 2,
/obj/item/storage/box/fancy/mre/menu6 = 2,
/obj/item/storage/box/fancy/mre/menu7 = 2,
/obj/item/storage/box/fancy/mre/menu8 = 2,
/obj/item/storage/box/fancy/mre/menu9 = 10,
/obj/item/storage/box/fancy/mre/menu10 = 10,
/obj/item/storage/box/fancy/mre/menu12 = 5
)
prices = list(
/obj/item/storage/box/fancy/mre = 12.00,
/obj/item/storage/box/fancy/mre/menu2 = 12.00,
/obj/item/storage/box/fancy/mre/menu3 = 12.00,
/obj/item/storage/box/fancy/mre/menu4 = 12.00,
/obj/item/storage/box/fancy/mre/menu5 = 12.00,
/obj/item/storage/box/fancy/mre/menu6 = 12.00,
/obj/item/storage/box/fancy/mre/menu7 = 12.00,
/obj/item/storage/box/fancy/mre/menu8 = 12.00,
/obj/item/storage/box/fancy/mre/menu9 = 12.00,
/obj/item/storage/box/fancy/mre/menu10 = 12.00,
/obj/item/storage/box/fancy/mre/menu12 = 12.00
)
contraband = list(
/obj/item/storage/box/fancy/mre/menu11 = 5, // memes.
/obj/item/reagent_containers/food/snacks/liquidfood = 5
)
vend_delay = 15
idle_power_usage = 211 // Cold MREs...
/obj/machinery/vending/mredispenser/low_supply
products = list(
/obj/item/storage/box/fancy/mre = 1,
/obj/item/storage/box/fancy/mre/menu2 = 1,
/obj/item/storage/box/fancy/mre/menu4 = 1,
/obj/item/storage/box/fancy/mre/menu9 = 4,
/obj/item/storage/box/fancy/mre/menu10 = 5,
/obj/item/storage/box/fancy/mre/menu12 = 3
)
/obj/machinery/vending/ramen
name = "\improper ramen vendor"
desc = "A generic brand vending machine capable of cooking tonkotsu ramen at the push of a button. Truly a pinnacle of human engineering!"
icon_state = "ramen"
icon_vend = "ramen-vend"
icon_deny = "ramen-deny"
product_slogans = "Irasshaimase!"
vend_id = "ramen"
products = list(
/obj/item/reagent_containers/food/snacks/ramenbowl = 15,
/obj/item/reagent_containers/food/snacks/aoyama_ramen = 15
)
prices = list(
/obj/item/reagent_containers/food/snacks/ramenbowl = 7.00,
/obj/item/reagent_containers/food/snacks/aoyama_ramen = 8.25
)
light_color = COLOR_GUNMETAL
+75
View File
@@ -0,0 +1,75 @@
/**
* Hot drinks machine
* Low Supply
* Free
*/
/obj/machinery/vending/coffee
name = "\improper Hot Drinks machine"
desc = "A vending machine which dispenses hot drinks."
product_ads = "Have a drink!;Drink up!;It's good for you!;Would you like a hot joe?;I'd kill for some coffee!;The best beans in the galaxy.;Only the finest brew for you.;Mmmm. Nothing like a coffee.;I like coffee, don't you?;Coffee helps you work!;Try some tea.;We hope you like the best!;Try our new chocolate!;Admin conspiracies"
icon_state = "coffee"
icon_vend = "coffee-vend"
icon_screen = "coffee-screen"
light_mask = "coffee-lightmask"
vend_delay = 34
idle_power_usage = 211 //refrigerator - believe it or not, this is actually the average power consumption of a refrigerated vending machine according to NRCan.
vend_id = "coffee"
products = list(
/obj/item/reagent_containers/food/drinks/coffee = 25,
/obj/item/reagent_containers/food/drinks/tea = 25,
/obj/item/reagent_containers/food/drinks/greentea = 25,
/obj/item/reagent_containers/food/drinks/chaitea = 25,
/obj/item/reagent_containers/food/drinks/hotcider = 25,
/obj/item/reagent_containers/food/drinks/h_chocolate = 25,
/obj/item/reagent_containers/food/snacks/donut/normal = 20
)
contraband = list(
/obj/item/reagent_containers/food/drinks/ice = 10,
/obj/item/reagent_containers/food/drinks/carton/soymilk = 2
)
prices = list(
/obj/item/reagent_containers/food/drinks/coffee = 2,
/obj/item/reagent_containers/food/drinks/tea = 2,
/obj/item/reagent_containers/food/drinks/greentea = 2.25,
/obj/item/reagent_containers/food/drinks/chaitea = 2.50,
/obj/item/reagent_containers/food/drinks/hotcider = 2.50,
/obj/item/reagent_containers/food/drinks/h_chocolate = 2,
/obj/item/reagent_containers/food/snacks/donut/normal = 2.50
)
premium = list(
/obj/item/reagent_containers/glass/beaker/teapot/ = 5
)
vending_sound = 'sound/machines/vending/vending_coffee.ogg'
cooling_temperature = T0C + 57 //Optimal coffee temperature
heating_temperature = T0C + 100 //ULTRA HOT COFFEE
temperature_setting = -1
light_color = COLOR_BROWN
/obj/machinery/vending/coffee/free
name = "\improper Free Hot Drinks machine"
desc = "A vending machine which dispenses complimentary hot drinks."
random_itemcount = 0
products = list(
/obj/item/reagent_containers/food/drinks/coffee = 12,
/obj/item/reagent_containers/food/drinks/tea = 8,
/obj/item/reagent_containers/food/drinks/h_chocolate = 8,
/obj/item/reagent_containers/food/snacks/donut/normal = 6
)
prices = list()
/obj/machinery/vending/coffee/low_supply
products = list(
/obj/item/reagent_containers/food/drinks/coffee = 2,
/obj/item/reagent_containers/food/drinks/tea = 3,
/obj/item/reagent_containers/food/drinks/greentea = 1,
/obj/item/reagent_containers/food/drinks/chaitea = 1,
/obj/item/reagent_containers/food/drinks/hotcider = 1,
/obj/item/reagent_containers/food/drinks/h_chocolate = 1,
/obj/item/reagent_containers/food/snacks/donut/normal = 2
)
/obj/item/device/vending_refill/coffee
name = "coffee resupply canister"
vend_id = "coffee"
charges = 38
+362
View File
@@ -0,0 +1,362 @@
/**
* NutriMax
* Low Supply
* NutriMax Xenobotany
* Low Supply
* HydroVend
* Low Supply
* Public Garden ($)
* GardenVend
* MegaSeed Servitor
*/
/obj/machinery/vending/hydronutrients
name = "NutriMax"
desc = "A plant nutrients vendor."
product_slogans = "Aren't you glad you don't have to fertilize the natural way?;Now with 50% less stink!;Plants are people too!"
product_ads = "We like plants!;Don't you want some?;The greenest thumbs ever.;We like big plants.;Soft soil..."
icon_state = "nutri"
icon_vend = "nutri-vend"
vend_id = "hydro"
products = list(
/obj/item/reagent_containers/glass/fertilizer/ez = 6,
/obj/item/reagent_containers/glass/fertilizer/l4z = 5,
/obj/item/reagent_containers/glass/fertilizer/rh = 3,
/obj/item/plantspray/pests = 20,
/obj/item/reagent_containers/syringe = 5,
/obj/item/storage/bag/plants = 5
)
premium = list(
/obj/item/reagent_containers/glass/bottle/ammonia = 10,
/obj/item/reagent_containers/glass/bottle/diethylamine = 5,
/obj/random/horticulture_magazine = 4
)
contraband = list(
/obj/item/reagent_containers/glass/bottle/mutagen = 2
)
idle_power_usage = 211 //refrigerator - believe it or not, this is actually the average power consumption of a refrigerated vending machine according to NRCan.
random_itemcount = 0
light_color = COLOR_BABY_BLUE
/obj/machinery/vending/hydronutrients/low_supply
products = list(
/obj/item/reagent_containers/glass/fertilizer/ez = 3,
/obj/item/reagent_containers/glass/fertilizer/l4z = 4,
/obj/item/reagent_containers/glass/fertilizer/rh = 1,
/obj/item/plantspray/pests = 12,
/obj/item/reagent_containers/syringe = 3,
/obj/item/storage/bag/plants = 3
)
/obj/machinery/vending/hydronutrients/xenobotany
products = list(
/obj/item/reagent_containers/glass/fertilizer/ez = 6,
/obj/item/reagent_containers/glass/fertilizer/l4z = 6,
/obj/item/reagent_containers/glass/fertilizer/rh = 3,
/obj/item/plantspray/pests = 20,
/obj/item/reagent_containers/syringe = 6,
/obj/item/storage/bag/plants = 6,
/obj/item/device/analyzer/plant_analyzer = 2,
/obj/item/material/minihoe = 2,
/obj/item/material/hatchet = 2,
/obj/item/wirecutters/clippers = 2,
/obj/item/reagent_containers/spray/plantbgone = 2,
/obj/item/reagent_containers/glass/bottle/mutagen = 3
)
/obj/machinery/vending/hydronutrients/xenobotany/low_supply
products = list(
/obj/item/reagent_containers/glass/fertilizer/ez = 3,
/obj/item/reagent_containers/glass/fertilizer/l4z = 4,
/obj/item/reagent_containers/glass/fertilizer/rh = 1,
/obj/item/plantspray/pests = 12,
/obj/item/reagent_containers/syringe = 4,
/obj/item/storage/bag/plants = 2,
/obj/item/device/analyzer/plant_analyzer = 1,
/obj/item/material/minihoe = 1,
/obj/item/material/hatchet = 1,
/obj/item/wirecutters/clippers = 1,
/obj/item/reagent_containers/spray/plantbgone = 1,
/obj/item/reagent_containers/glass/bottle/mutagen = 2
)
//Used specifically for more advanced setups, includes analyzers and tools inside the machine.
/obj/machinery/vending/hydronutrients/hydroponics
name = "HydroVend"
desc = "A one stop shop for all your hydroponics needs."
products = list(
/obj/item/reagent_containers/glass/fertilizer/ez = 6,
/obj/item/reagent_containers/glass/fertilizer/l4z = 6,
/obj/item/reagent_containers/glass/fertilizer/rh = 3,
/obj/item/plantspray/pests = 10,
/obj/item/reagent_containers/syringe = 6,
/obj/item/storage/bag/plants = 6,
/obj/item/device/analyzer/plant_analyzer = 2,
/obj/item/material/minihoe = 2,
/obj/item/material/hatchet = 2,
/obj/item/wirecutters/clippers = 2,
/obj/item/reagent_containers/spray/plantbgone = 2
)
premium = list(
/obj/item/reagent_containers/glass/bottle/ammonia = 10,
/obj/item/reagent_containers/glass/bottle/diethylamine = 5,
/obj/random/horticulture_magazine = 4
)
contraband = list(
/obj/item/reagent_containers/glass/bottle/mutagen = 2
)
//Meant to replace garden vending machines in public spaces, has a price list for items. Nothing unreasonable.
/obj/machinery/vending/hydronutrients/gardenvend
name = "GardenVend"
desc = "A one stop shop for all your gardening needs."
products = list(
/obj/item/reagent_containers/glass/fertilizer/ez = 6,
/obj/item/reagent_containers/glass/fertilizer/l4z = 6,
/obj/item/reagent_containers/glass/fertilizer/rh = 3,
/obj/item/plantspray/pests = 10,
/obj/item/storage/bag/plants = 6,
/obj/item/material/minihoe = 2,
/obj/item/material/hatchet = 2,
/obj/item/wirecutters/clippers = 2,
/obj/item/reagent_containers/spray/plantbgone = 2
)
prices = list(
/obj/item/reagent_containers/glass/fertilizer/ez = 10.00,
/obj/item/reagent_containers/glass/fertilizer/l4z = 10.00,
/obj/item/reagent_containers/glass/fertilizer/rh = 20.00,
/obj/item/plantspray/pests = 7.50,
/obj/item/storage/bag/plants = 10.00,
/obj/item/material/minihoe = 15.00,
/obj/item/material/hatchet = 15.00,
/obj/item/wirecutters/clippers = 15.00,
/obj/item/reagent_containers/spray/plantbgone = 35.00
)
premium = list(
/obj/item/reagent_containers/glass/bottle/ammonia = 10,
/obj/item/reagent_containers/glass/bottle/diethylamine = 5,
/obj/random/horticulture_magazine = 4
)
contraband = list(
/obj/item/reagent_containers/glass/bottle/mutagen = 2
)
/obj/machinery/vending/hydronutrients/gardenvend/low_supply
products = list(
/obj/item/reagent_containers/glass/fertilizer/ez = 2,
/obj/item/plantspray/pests = 3,
/obj/item/storage/bag/plants = 1,
/obj/item/material/minihoe = 1,
/obj/item/material/hatchet = 1,
/obj/item/wirecutters/clippers = 1,
/obj/item/reagent_containers/spray/plantbgone = 1
)
/obj/item/device/vending_refill/hydro
name = "hydro resupply canister"
vend_id = "hydro"
charges = 23
/obj/machinery/vending/hydroseeds
name = "MegaSeed Servitor"
desc = "When you need seeds fast!"
product_slogans = "THIS'S WHERE TH' SEEDS LIVE! GIT YOU SOME!;Hands down the best seed selection on the station!;Also certain mushroom varieties available, more for experts! Get certified today!"
product_ads = "We like plants!;Grow some crops!;Grow, baby, growww!;Aw h'yeah son!"
icon_state = SEED_NOUN_SEEDS
vend_id = SEED_NOUN_SEEDS
products = list(
/obj/item/seeds/aghrasshseed = 3,
/obj/item/seeds/ambrosiavulgarisseed = 3,
/obj/item/seeds/appleseed = 3,
/obj/item/seeds/bananaseed = 3,
/obj/item/seeds/bellpepperseed = 3,
/obj/item/seeds/berryseed = 3,
/obj/item/seeds/blackraspberryseed = 3,
/obj/item/seeds/blizzard = 3,
/obj/item/seeds/blueberryseed = 3,
/obj/item/seeds/blueraspberryseed = 3,
/obj/item/seeds/cabbageseed = 3,
/obj/item/seeds/carrotseed = 3,
/obj/item/seeds/chantermycelium = 3,
/obj/item/seeds/cherryseed = 3,
/obj/item/seeds/chiliseed = 3,
/obj/item/seeds/cocoapodseed = 3,
/obj/item/seeds/coffeeseed = 3,
/obj/item/seeds/cornseed = 3,
/obj/item/seeds/dynseed = 3,
/obj/item/seeds/earthenroot = 2,
/obj/item/seeds/eggplantseed = 3,
/obj/item/seeds/eki = 3,
/obj/item/seeds/garlicseed = 3,
/obj/item/seeds/gukheseed = 3,
/obj/item/seeds/grapeseed = 3,
/obj/item/seeds/grassseed = 3,
/obj/item/seeds/greengrapeseed = 3,
/obj/item/seeds/guamiseed = 3,
/obj/item/seeds/harebell = 3,
/obj/item/seeds/lemonseed = 3,
/obj/item/seeds/limeseed = 3,
/obj/item/seeds/mtearseed = 3,
/obj/item/seeds/mintseed = 3,
/obj/item/seeds/dirtberries = 2,
/obj/item/seeds/onionseed = 3,
/obj/item/seeds/oracleseed = 3,
/obj/item/seeds/orangeseed = 3,
/obj/item/seeds/peanutseed = 3,
/obj/item/seeds/peaseed = 3,
/obj/item/seeds/peppercornseed = 3,
/obj/item/seeds/plastiseed = 3,
/obj/item/seeds/plumpmycelium = 3,
/obj/item/seeds/poppyseed = 3,
/obj/item/seeds/potatoseed = 3,
/obj/item/seeds/pumpkinseed = 3,
/obj/item/seeds/qlortseed = 3,
/obj/item/seeds/clam/rasval = 3,
/obj/item/seeds/raspberryseed = 3,
/obj/item/seeds/replicapod = 3,
/obj/item/seeds/reishimycelium = 3,
/obj/item/seeds/riceseed = 3,
/obj/item/seeds/richcoffeeseed = 3,
/obj/item/seeds/sarezhiseed = 3,
/obj/item/seeds/serkiflowerseed,
/obj/item/seeds/shandseed = 3,
/obj/item/seeds/soyaseed = 3,
/obj/item/seeds/sthberryseed = 3,
/obj/item/seeds/strawberryseed = 3,
/obj/item/seeds/cranberryseed = 3,
/obj/item/seeds/sugarcaneseed = 3,
/obj/item/seeds/sunflowerseed = 3,
/obj/item/seeds/sugartree = 2,
/obj/item/seeds/teaseed = 3,
/obj/item/seeds/tobaccoseed = 3,
/obj/item/seeds/tomatoseed = 3,
/obj/item/seeds/towermycelium = 3,
/obj/item/seeds/vanilla = 3,
/obj/item/seeds/watermelonseed = 3,
/obj/item/seeds/wheatseed = 3,
/obj/item/seeds/whitebeetseed = 3,
/obj/item/seeds/wulumunushaseed = 2,
/obj/item/seeds/xuiziseed = 3,
/obj/item/seeds/ylpha = 3
)
contraband = list(
/obj/item/seeds/amanitamycelium = 3,
/obj/item/seeds/cocaseed = 3,
/obj/item/seeds/glowshroom = 3,
/obj/item/seeds/libertymycelium = 3,
/obj/item/seeds/nettleseed = 3
)
premium = list(
/obj/item/seeds/ambrosiadeusseed = 3
)
prices = list(
/obj/item/seeds/ambrosiavulgarisseed = 12.00,
/obj/item/seeds/appleseed = 6.00,
/obj/item/seeds/bananaseed = 7.00,
/obj/item/seeds/bellpepperseed = 5.00,
/obj/item/seeds/berryseed = 5.00,
/obj/item/seeds/blackraspberryseed = 5.00,
/obj/item/seeds/blizzard = 9.00,
/obj/item/seeds/blueberryseed = 4.00,
/obj/item/seeds/blueraspberryseed = 5.00,
/obj/item/seeds/cabbageseed = 5.00,
/obj/item/seeds/carrotseed = 2.50,
/obj/item/seeds/chantermycelium = 12.50,
/obj/item/seeds/cherryseed = 5.00,
/obj/item/seeds/chiliseed = 6.00,
/obj/item/seeds/cocoapodseed = 6.00,
/obj/item/seeds/coffeeseed = 12.00,
/obj/item/seeds/cornseed = 4.00,
/obj/item/seeds/dynseed = 8.50,
/obj/item/seeds/earthenroot = 12.00,
/obj/item/seeds/eggplantseed = 4.00,
/obj/item/seeds/eki = 15.00,
/obj/item/seeds/garlicseed = 4.00,
/obj/item/seeds/grapeseed = 5.00,
/obj/item/seeds/grassseed = 2.00,
/obj/item/seeds/greengrapeseed = 5.00,
/obj/item/seeds/guamiseed = 13.50,
/obj/item/seeds/harebell = 1.50,
/obj/item/seeds/lemonseed = 5.00,
/obj/item/seeds/limeseed = 6.00,
/obj/item/seeds/mtearseed = 7.00,
/obj/item/seeds/mintseed = 6.00,
/obj/item/seeds/dirtberries = 12.00,
/obj/item/seeds/onionseed = 4.00,
/obj/item/seeds/oracleseed = 11.00,
/obj/item/seeds/orangeseed = 5.00,
/obj/item/seeds/peanutseed = 4.00,
/obj/item/seeds/peaseed = 5.00,
/obj/item/seeds/peppercornseed = 4.00,
/obj/item/seeds/plastiseed = 5.00,
/obj/item/seeds/plumpmycelium = 2.50,
/obj/item/seeds/poppyseed = 1.50,
/obj/item/seeds/potatoseed = 4.00,
/obj/item/seeds/pumpkinseed = 5.00,
/obj/item/seeds/qlortseed = 12.00,
/obj/item/seeds/clam/rasval = 18.00,
/obj/item/seeds/raspberryseed = 5.00,
/obj/item/seeds/reishimycelium = 15.00,
/obj/item/seeds/replicapod = 35.00,
/obj/item/seeds/riceseed = 2.50,
/obj/item/seeds/richcoffeeseed = 25.00,
/obj/item/seeds/shandseed = 7.00,
/obj/item/seeds/soyaseed = 5.00,
/obj/item/seeds/strawberryseed = 5.00,
/obj/item/seeds/cranberryseed = 5.00,
/obj/item/seeds/sugarcaneseed = 2.50,
/obj/item/seeds/sunflowerseed = 2.50,
/obj/item/seeds/sugartree = 5.00,
/obj/item/seeds/teaseed = 4.00,
/obj/item/seeds/tobaccoseed = 5.00,
/obj/item/seeds/tomatoseed = 4.00,
/obj/item/seeds/towermycelium = 7.50,
/obj/item/seeds/vanilla = 12.00,
/obj/item/seeds/watermelonseed = 4.00,
/obj/item/seeds/wheatseed = 2.50,
/obj/item/seeds/whitebeetseed = 2.50,
/obj/item/seeds/wulumunushaseed = 15.00,
/obj/item/seeds/ylpha = 16.00
)
restock_items = TRUE
random_itemcount = 0
light_color = COLOR_BABY_BLUE
/obj/item/device/vending_refill/seeds
name = "resupply canister"
vend_id = SEED_NOUN_SEEDS
charges = 175
/**
* Populate hydroseeds product_records
*
* This needs to be customized to fetch the actual names of the seeds, otherwise
* the machine would simply list "packet of seeds" times 20
*/
/obj/machinery/vending/hydroseeds/build_inventory()
var/list/all_products = list(
list(src.products, CAT_NORMAL),
list(src.contraband, CAT_HIDDEN),
list(src.premium, CAT_COIN))
for(var/current_list in all_products)
var/category = current_list[2]
for(var/entry in current_list[1])
var/obj/item/seeds/S = new entry(src)
var/name = S.name
var/datum/data/vending_product/product = new/datum/data/vending_product(entry, name)
product.price = (entry in src.prices) ? src.prices[entry] : 0
product.amount = (current_list[1][entry]) ? current_list[1][entry] : 1
product.category = category
src.product_records.Add(product)
+208
View File
@@ -0,0 +1,208 @@
/**
* NanoMed Plus
* Low Supply
* NanoMed
* Low Supply
* NanoMed Mini
* Low Supply
* NanoPharm Mini
* Low Supply
*/
/obj/machinery/vending/medical
name = "NanoMed Plus"
desc = "Medical drug dispenser."
icon_state = "med"
icon_vend = "med-vend"
product_ads = "Go save some lives!;The best stuff for your medbay.;Only the finest tools.;Natural chemicals!;This stuff saves lives.;Don't you want some?;Ping!"
req_access = list(ACCESS_MEDICAL_EQUIP)
vend_id = "meds"
products = list(
/obj/item/reagent_containers/glass/bottle/antitoxin = 4,
/obj/item/reagent_containers/glass/bottle/inaprovaline = 4,
/obj/item/reagent_containers/glass/bottle/perconol = 3,
/obj/item/reagent_containers/glass/bottle/toxin = 1,
/obj/item/reagent_containers/glass/bottle/coagzolug = 2,
/obj/item/reagent_containers/glass/bottle/thetamycin = 2,
/obj/item/reagent_containers/syringe = 12,
/obj/item/device/healthanalyzer = 5,
/obj/item/device/breath_analyzer = 2,
/obj/item/reagent_containers/glass/beaker = 4,
/obj/item/reagent_containers/dropper = 2,
/obj/item/stack/medical/bruise_pack = 5,
/obj/item/stack/medical/ointment = 5,
/obj/item/stack/medical/advanced/bruise_pack = 3,
/obj/item/stack/medical/advanced/ointment = 3,
/obj/item/stack/medical/splint = 2,
/obj/item/reagent_containers/pill/antitox = 6,
/obj/item/reagent_containers/pill/cetahydramine = 6,
/obj/item/reagent_containers/pill/perconol = 6,
/obj/item/reagent_containers/glass/beaker/medcup = 4,
/obj/item/storage/pill_bottle = 4,
/obj/item/reagent_containers/spray/sterilizine = 2
)
contraband = list(
/obj/item/reagent_containers/inhaler/space_drugs = 2,
/obj/item/reagent_containers/pill/tox = 3,
/obj/item/reagent_containers/pill/stox = 4
)
idle_power_usage = 211 //refrigerator - believe it or not, this is actually the average power consumption of a refrigerated vending machine according to NRCan.
random_itemcount = 0
temperature_setting = -1
light_color = LIGHT_COLOR_GREEN
manufacturer = "zenghu"
/obj/machinery/vending/medical/low_supply
products = list(
/obj/item/reagent_containers/glass/bottle/inaprovaline = 1,
/obj/item/reagent_containers/glass/bottle/perconol = 1,
/obj/item/reagent_containers/glass/bottle/toxin = 1,
/obj/item/reagent_containers/glass/bottle/thetamycin = 1,
/obj/item/reagent_containers/syringe = 8,
/obj/item/device/healthanalyzer = 1,
/obj/item/stack/medical/bruise_pack = 2,
/obj/item/stack/medical/ointment = 1,
/obj/item/stack/medical/splint = 1,
/obj/item/reagent_containers/pill/antitox = 2,
/obj/item/reagent_containers/pill/cetahydramine = 1,
/obj/item/reagent_containers/pill/perconol = 1,
/obj/item/reagent_containers/glass/beaker/medcup = 4,
/obj/item/storage/pill_bottle = 2,
/obj/item/reagent_containers/spray/sterilizine = 1
)
/obj/machinery/vending/wallmed1
name = "NanoMed"
desc = "A wall-mounted version of the NanoMed."
product_ads = "Go save some lives!;The best stuff for your medbay.;Only the finest tools.;Natural chemicals!;This stuff saves lives.;Don't you want some?"
icon_state = "wallmed"
req_access = list(ACCESS_MEDICAL)
density = FALSE //It is wall-mounted, and thus, not dense. --Superxpdude
vend_id = "meds"
products = list(
/obj/item/stack/medical/bruise_pack = 3,
/obj/item/stack/medical/ointment = 3,
/obj/item/reagent_containers/pill/perconol = 4,
/obj/item/storage/box/fancy/med_pouch/trauma = 1,
/obj/item/storage/box/fancy/med_pouch/burn = 1,
/obj/item/storage/box/fancy/med_pouch/oxyloss = 1,
/obj/item/storage/box/fancy/med_pouch/toxin = 1,
/obj/item/device/healthanalyzer = 1,
/obj/item/device/breath_analyzer = 1
)
contraband = list(
/obj/item/reagent_containers/syringe/dylovene = 4,
/obj/item/reagent_containers/pill/tox = 1
)
premium = list(
/obj/item/reagent_containers/pill/mortaphenyl = 4
)
random_itemcount = FALSE
temperature_setting = -1
light_color = LIGHT_COLOR_GREEN
obj_flags = OBJ_FLAG_MOVES_UNSUPPORTED
manufacturer = "zenghu"
/obj/machinery/vending/wallmed1/low_supply
products = list(
/obj/item/stack/medical/bruise_pack = 1,
/obj/item/stack/medical/ointment = 1,
/obj/item/reagent_containers/pill/perconol = 2,
/obj/item/storage/box/fancy/med_pouch/oxyloss = 1,
/obj/item/storage/box/fancy/med_pouch/toxin = 1
)
/obj/machinery/vending/wallmed2
name = "NanoMed Mini"
desc = "A wall-mounted version of the NanoMed, containing only vital first aid equipment."
icon_state = "wallmed"
req_access = list(ACCESS_MEDICAL)
density = FALSE //It is wall-mounted, and thus, not dense. --Superxpdude
vend_id = "meds"
products = list(
/obj/item/reagent_containers/hypospray/autoinjector/inaprovaline = 5,
/obj/item/stack/medical/bruise_pack = 4,
/obj/item/stack/medical/ointment = 4,
/obj/item/storage/box/fancy/med_pouch/trauma = 1,
/obj/item/storage/box/fancy/med_pouch/burn = 1,
/obj/item/storage/box/fancy/med_pouch/oxyloss = 1,
/obj/item/storage/box/fancy/med_pouch/toxin = 1,
/obj/item/storage/box/fancy/med_pouch/radiation = 1,
/obj/item/device/healthanalyzer = 1,
/obj/item/device/breath_analyzer = 1
)
contraband = list(
/obj/item/reagent_containers/pill/tox = 3
)
premium = list(
/obj/item/reagent_containers/pill/mortaphenyl = 4
)
random_itemcount = FALSE
temperature_setting = -1
light_color = LIGHT_COLOR_GREEN
obj_flags = OBJ_FLAG_MOVES_UNSUPPORTED
manufacturer = "zenghu"
/obj/machinery/vending/wallmed2/low_supply
products = list(
/obj/item/reagent_containers/hypospray/autoinjector/inaprovaline = 1,
/obj/item/stack/medical/bruise_pack = 2,
/obj/item/stack/medical/ointment = 2,
/obj/item/storage/box/fancy/med_pouch/radiation = 1
)
/obj/item/device/vending_refill/meds
name = "meds resupply canister"
vend_id = "meds"
charges = 38
/obj/machinery/vending/wallpharm
name = "NanoPharm Mini"
desc = "A wall-mounted pharmaceuticals vending machine packed with over-the-counter bottles. For the sick salaried worker in you."
icon_state = "wallpharm"
density = FALSE
products = list(
/obj/item/stack/medical/bruise_pack = 5,
/obj/item/stack/medical/ointment = 5,
/obj/item/reagent_containers/hypospray/autoinjector/inaprovaline = 2,
/obj/item/storage/pill_bottle/antidexafen = 4,
/obj/item/storage/pill_bottle/dexalin = 4,
/obj/item/storage/pill_bottle/dylovene = 4,
/obj/item/storage/pill_bottle/vitamin = 5,
/obj/item/storage/pill_bottle/cetahydramine = 4,
/obj/item/storage/pill_bottle/caffeine = 3,
/obj/item/storage/pill_bottle/nicotine = 4,
/obj/item/storage/pill_bottle/rmt = 2
)
prices = list(
/obj/item/storage/pill_bottle/antidexafen = 7.00,
/obj/item/storage/pill_bottle/dexalin = 25.00,
/obj/item/storage/pill_bottle/dylovene = 12.00,
/obj/item/storage/pill_bottle/vitamin = 8.00,
/obj/item/storage/pill_bottle/cetahydramine = 10.00,
/obj/item/storage/pill_bottle/caffeine = 9.00,
/obj/item/storage/pill_bottle/nicotine = 15.00,
/obj/item/storage/pill_bottle/rmt = 55.00
)
contraband = list(
/obj/item/reagent_containers/pill/tox = 3,
/obj/item/storage/pill_bottle/perconol = 3
)
random_itemcount = FALSE
temperature_setting = -1
light_color = COLOR_GOLD
obj_flags = OBJ_FLAG_MOVES_UNSUPPORTED
manufacturer = "nanotrasen"
/obj/machinery/vending/wallpharm/low_supply
products = list(
/obj/item/stack/medical/bruise_pack = 2,
/obj/item/stack/medical/ointment = 2,
/obj/item/storage/pill_bottle/antidexafen = 1,
/obj/item/storage/pill_bottle/dexalin = 1,
/obj/item/storage/pill_bottle/dylovene = 2,
/obj/item/storage/pill_bottle/vitamin = 2,
/obj/item/storage/pill_bottle/cetahydramine = 1,
/obj/item/storage/pill_bottle/rmt = 1
)
@@ -0,0 +1,140 @@
/**
* Minimart refridgerator
* Minimart alcohol selection
* Rental Bikes self-service vendor
*/
/obj/machinery/vending/minimart
name = "\improper minimart refrigerator"
desc = "A snack machine courtesy of the Getmore Chocolate Corporation, based out of Mars."
//product_slogans = "Try our new nougat bar!;Twice the calories for half the price!"
//product_ads = "The healthiest!;Award-winning chocolate bars!;Mmm! So good!;Oh my god it's so juicy!;Have a snack.;Snacks are good for you!;Have some more Getmore!;Best quality snacks straight from mars.;We love chocolate!;Try our new jerky!"
icon_state = "minimart"
icon_vend = "minimart"
vend_id = "snacks"
density = 0
products = list(
/obj/item/reagent_containers/food/drinks/cans/cola = 10,
/obj/item/reagent_containers/food/drinks/cans/diet_cola = 10,
/obj/item/reagent_containers/food/drinks/cans/space_mountain_wind = 10,
/obj/item/reagent_containers/food/drinks/cans/starkist = 10,
/obj/item/reagent_containers/food/drinks/waterbottle = 10,
/obj/item/reagent_containers/food/drinks/cans/dyn = 5,
/obj/item/reagent_containers/food/drinks/cans/space_up = 10,
/obj/item/reagent_containers/food/drinks/cans/iced_tea = 10,
/obj/item/reagent_containers/food/drinks/cans/grape_juice = 10,
/obj/item/reagent_containers/food/drinks/cans/peach_soda = 10,
/obj/item/reagent_containers/food/drinks/cans/beetle_milk = 5,
/obj/item/reagent_containers/food/drinks/carton/small/milk = 10,
/obj/item/reagent_containers/food/drinks/carton/small/milk/choco = 10,
/obj/item/reagent_containers/food/drinks/carton/small/milk/strawberry = 10,
/obj/item/reagent_containers/food/drinks/cans/melon_soda = 10
)
contraband = list(
/obj/item/reagent_containers/food/drinks/cans/thirteenloko = 5,
/obj/item/reagent_containers/food/drinks/cans/koispunch = 3
)
premium = list(
/obj/item/reagent_containers/food/drinks/bottle/cola = 2,
/obj/item/reagent_containers/food/drinks/bottle/space_mountain_wind = 2,
/obj/item/reagent_containers/food/drinks/bottle/space_up = 2
)
prices = list(
/obj/item/reagent_containers/food/drinks/cans/cola = 1.50,
/obj/item/reagent_containers/food/drinks/cans/diet_cola = 1.50,
/obj/item/reagent_containers/food/drinks/cans/space_mountain_wind = 1.20,
/obj/item/reagent_containers/food/drinks/cans/dr_gibb = 1.75,
/obj/item/reagent_containers/food/drinks/cans/root_beer = 1.40,
/obj/item/reagent_containers/food/drinks/cans/starkist = 1.50,
/obj/item/reagent_containers/food/drinks/waterbottle = 1.25,
/obj/item/reagent_containers/food/drinks/cans/dyn = 1.80,
/obj/item/reagent_containers/food/drinks/cans/space_up = 1.50,
/obj/item/reagent_containers/food/drinks/cans/iced_tea = 1.40,
/obj/item/reagent_containers/food/drinks/cans/grape_juice = 1.75,
/obj/item/reagent_containers/food/drinks/cans/peach_soda = 1.75,
/obj/item/reagent_containers/food/drinks/cans/koispunch = 5.00,
/obj/item/reagent_containers/food/drinks/cans/beetle_milk = 0.50,
/obj/item/reagent_containers/food/drinks/cans/hrozamal_soda = 3.50,
/obj/item/reagent_containers/food/drinks/carton/small/milk = 1.80,
/obj/item/reagent_containers/food/drinks/carton/small/milk/choco = 1.80,
/obj/item/reagent_containers/food/drinks/carton/small/milk/strawberry = 1.80,
/obj/item/reagent_containers/food/drinks/cans/melon_soda = 1.75
)
light_color = COLOR_BABY_BLUE
/obj/machinery/vending/minimart/alcohol
name = "\improper minimart alcohol selection"
products = list(
/obj/item/reagent_containers/food/drinks/bottle/makgeolli = 5,
/obj/item/reagent_containers/food/drinks/bottle/soju = 15,
/obj/item/reagent_containers/food/drinks/bottle/soju/shochu = 5,
/obj/item/reagent_containers/food/drinks/bottle/sake = 5,
/obj/item/reagent_containers/food/drinks/cans/beer/rice = 5,
/obj/item/reagent_containers/food/drinks/cans/beer/rice/shimauma = 5,
/obj/item/reagent_containers/food/drinks/cans/beer/rice/moonlabor = 5,
/obj/item/reagent_containers/food/drinks/cans/beer = 10,
/obj/item/reagent_containers/food/drinks/bottle/small/beer = 5,
/obj/item/reagent_containers/food/drinks/bottle/whiskey = 5,
/obj/item/reagent_containers/food/drinks/bottle/wine = 5,
/obj/item/reagent_containers/food/drinks/bottle/champagne = 3
)
prices = list(
/obj/item/reagent_containers/food/drinks/bottle/makgeolli = 12.00,
/obj/item/reagent_containers/food/drinks/bottle/soju = 6.00,
/obj/item/reagent_containers/food/drinks/bottle/soju/shochu = 12.00,
/obj/item/reagent_containers/food/drinks/bottle/sake = 16.00,
/obj/item/reagent_containers/food/drinks/cans/beer/rice = 8.00,
/obj/item/reagent_containers/food/drinks/cans/beer/rice/shimauma = 8.00,
/obj/item/reagent_containers/food/drinks/cans/beer/rice/moonlabor = 8.00,
/obj/item/reagent_containers/food/drinks/cans/beer = 8.00,
/obj/item/reagent_containers/food/drinks/bottle/small/beer = 8.00,
/obj/item/reagent_containers/food/drinks/bottle/whiskey = 12.00,
/obj/item/reagent_containers/food/drinks/bottle/wine = 20.00,
/obj/item/reagent_containers/food/drinks/bottle/champagne = 40.00
)
/obj/machinery/vending/rental_bikes
name = "\improper Rental Bikes self-service vendor"
desc = "Rent-a-bike, for a day!"
icon_state = "rent-a-bike"
icon_vend = "rent-a-bike-vend"
vend_id = "rent-a-bike"
products = list(
/obj/item/key/bike/moped = 0, // filled from the key data lists
/obj/item/key/bike/sport = 0,
)
prices = list(
/obj/item/key/bike/moped = 15.00,
/obj/item/key/bike/sport = 50.00
)
restock_items = FALSE
random_itemcount = FALSE
light_color = COLOR_BABY_BLUE
/// List of strings.
/// Vended out keys will be filled with these key data (== bike reg plates) strings.
/// Also based on this list is filled the products assoc list.
var/list/key_data_mopeds = list()
/// Same as the list for mopeds, except for sports bikes.
var/list/key_data_sports = list()
/obj/machinery/vending/rental_bikes/build_products()
products[/obj/item/key/bike/moped] = length(key_data_mopeds)
products[/obj/item/key/bike/sport] = length(key_data_sports)
/obj/machinery/vending/rental_bikes/vended_product_post(var/obj/vended)
var/obj/item/key/key = vended
if(!istype(key))
return
// expires the next day
var/rental_expiry = "[GLOB.game_year]-[time2text(world.realtime + 1 DAY, "MM-DD")] [worldtime2text()]"
key.desc += " Property of Idris Incorporated. Rental expires on [rental_expiry]. Return fully charged."
if(key_data_mopeds && istype(key, /obj/item/key/bike/moped))
key.key_data = key_data_mopeds[1]
key_data_mopeds.Cut(1,2)
else if(key_data_sports && istype(key, /obj/item/key/bike/sport))
key.key_data = key_data_sports[1]
key_data_sports.Cut(1,2)
@@ -0,0 +1,63 @@
/**
* Grand Romanovich casino vendor
*/
/obj/machinery/vending/casino
name = "Grand Romanovich vending machine"
desc = "A vending machine commonly found in Crevus' casinos."
icon_state = "casinovend"
product_slogans = "The House always wins!;Spends your chips right here!;Let Go and Begin Again..."
product_ads = "Finding it, though, that's not the hard part. It's letting go."
vend_id = "casino"
products = list(
/obj/item/coin/casino = 50
)
contraband = list(
/obj/item/ammo_magazine/boltaction = 2
)
premium = list(
/obj/item/gun/projectile/shotgun/pump/rifle/blank = 3,
/obj/item/ammo_magazine/boltaction/blank = 10,
/obj/item/storage/box/fancy/cigarettes/dpra = 5,
/obj/item/storage/chewables/tobacco/bad = 5,
/obj/item/reagent_containers/food/drinks/bottle/messa_mead = 5,
/obj/item/reagent_containers/food/drinks/bottle/victorygin = 5,
/obj/item/reagent_containers/food/drinks/bottle/pwine = 5,
/obj/item/reagent_containers/food/snacks/hardbread = 5,
/obj/item/reagent_containers/food/drinks/cans/adhomai_milk = 5,
/obj/item/reagent_containers/food/snacks/adhomian_can = 5,
/obj/item/reagent_containers/food/snacks/clam = 5,
/obj/item/reagent_containers/food/snacks/tajaran_bread = 5,
/obj/item/toy/plushie/farwa = 2,
/obj/item/reagent_containers/food/snacks/monkeycube/wrapped/farwacube = 2,
/obj/item/razor = 2,
/obj/item/toy/balloon/syndicate = 2,
/obj/item/grenade/fake = 2,
/obj/item/eightball/haunted = 5,
/obj/item/spirit_board = 5,
/obj/item/device/flashlight/maglight = 5,
/obj/item/contraband/poster = 5,
/obj/item/spacecash/ewallet/lotto = 15,
/obj/item/device/laser_pointer = 5,
/obj/item/beach_ball = 1,
/obj/item/material/knife/butterfly/switchblade = 2,
/obj/item/reagent_containers/hypospray/autoinjector/stimpack = 2,
/obj/item/clothing/under/tajaran/summer = 2,
/obj/item/clothing/pants/tajaran = 2,
/obj/item/clothing/under/dress/tajaran =2,
/obj/item/clothing/under/dress/tajaran/blue = 2,
/obj/item/clothing/under/dress/tajaran/green = 2,
/obj/item/clothing/under/dress/tajaran/red = 2,
/obj/item/clothing/head/tajaran/circlet = 2,
/obj/item/clothing/head/tajaran/circlet/silver = 2,
/obj/item/gun/energy/lasertag/red = 2,
/obj/item/clothing/suit/armor/riot/laser_tag = 2,
/obj/item/gun/energy/lasertag/blue = 2,
/obj/item/clothing/suit/armor/riot/laser_tag/blue = 2
)
prices = list(
/obj/item/coin/casino = 100
)
restock_items = FALSE
random_itemcount = FALSE
@@ -0,0 +1,161 @@
/**
* Toximate 3000
* Battlemonsters vendor
* GwokBuzz vendor
* Lavatory Essentials
* Low Supply
*/
/obj/machinery/vending/phoronresearch
name = "Toximate 3000"
desc = "All the fine parts you need in one vending machine!"
vend_id = "bomba"
icon_state = "generic"
icon_vend = "generic-vend"
products = list(
/obj/item/clothing/under/rank/scientist = 6,
/obj/item/clothing/suit/hazmat = 6,
/obj/item/clothing/head/hazmat = 6,
/obj/item/device/transfer_valve = 6,
/obj/item/device/assembly/timer = 6,
/obj/item/device/assembly/signaler = 6,
/obj/item/device/assembly/igniter = 6
)
contraband = list(
/obj/item/device/assembly/prox_sensor = 4,
/obj/item/device/assembly/infra = 4,
/obj/item/device/assembly/mousetrap = 4,
/obj/item/device/assembly/voice = 4
)
premium = list(
/obj/item/clothing/head/collectable/petehat = 1
)
restock_items = TRUE
random_itemcount = 0
light_color = COLOR_BLUE_GRAY
manufacturer = "scc"
/obj/machinery/vending/battlemonsters
name = "\improper Battlemonsters vendor"
desc = "A good place to dump all your rent money."
icon_state = "battlemonsters"
icon_vend = "battlemonsters-vend"
vend_id = "battlemonsters"
products = list(
/obj/item/book/manual/wiki/battlemonsters = 10,
/obj/item/battle_monsters/wrapped/basic = 20,
/obj/item/battle_monsters/wrapped = 20,
/obj/item/battle_monsters/wrapped/pro = 20,
/obj/item/battle_monsters/wrapped/species = 10, //Human monsters
/obj/item/battle_monsters/wrapped/species/lizard = 10, //Reptile Monsters
/obj/item/battle_monsters/wrapped/species/cat = 10, //Feline Monsters
/obj/item/battle_monsters/wrapped/species/ant = 10, //Ant Monsters
/obj/item/battle_monsters/wrapped/rare = 10
)
prices = list(
/obj/item/book/manual/wiki/battlemonsters = 15.00,
/obj/item/battle_monsters/wrapped = 25.00,
/obj/item/battle_monsters/wrapped/pro = 20.00,
/obj/item/battle_monsters/wrapped/species = 15.00,
/obj/item/battle_monsters/wrapped/species/lizard = 15.00,
/obj/item/battle_monsters/wrapped/species/cat = 15.00,
/obj/item/battle_monsters/wrapped/species/ant = 15.00,
/obj/item/battle_monsters/wrapped/rare = 35.00
)
contraband = list(
/obj/item/battle_monsters/wrapped/legendary = 5
)
premium = list(
/obj/item/coin/battlemonsters = 10
)
restock_items = FALSE
random_itemcount = FALSE
light_color = COLOR_BABY_BLUE
/obj/item/device/vending_refill/battlemonsters
name = "Battlemonsters resupply canister"
vend_id = "battlemonsters"
charges = 40
/obj/machinery/vending/overloaders
name = "GwokBuzz Vendor"
desc = "An entertainment software machine supplied by Gwok Software, a member of the Gwok Group."
desc_extended = "Previously the realm of amateur programmers and niche companies, the Gwok Group acquired and amalgamated a number of popular Port Verdant overloader brands in order to capitalize on the growing industry. Seeing untapped markets abroad, the corporation has begun exporting to nations with free IPC populations."
icon_state = "synth"
icon_vend = "synth-vend"
product_slogans = "GwokBuzz, to take the edge off!;Try our new Rainbow Essence flavour!;Safe and sanctioned by the authorities!"
vend_id = "overloaders"
products = list(
/obj/item/storage/overloader/classic = 5,
/obj/item/storage/overloader/tranquil = 5,
/obj/item/storage/overloader/rainbow = 5,
/obj/item/storage/overloader/screenshaker = 5
)
prices = list(
/obj/item/storage/overloader/classic = 50.00,
/obj/item/storage/overloader/tranquil = 60.00,
/obj/item/storage/overloader/rainbow = 60.00,
/obj/item/storage/overloader/screenshaker = 60.00,
/obj/item/storage/overloader/jitterbug = 85.00
)
contraband = list(
/obj/item/storage/overloader/rainbow = 2
)
premium = list(
/obj/item/storage/overloader/jitterbug = 5
)
light_color = LIGHT_COLOR_CYAN
/obj/machinery/vending/overloaders/low_supply
products = list(
/obj/item/storage/overloader/classic = 2,
/obj/item/storage/overloader/rainbow = 1,
/obj/item/storage/overloader/screenshaker = 1
)
/obj/machinery/vending/lavatory
name = "Lavatory Essentials"
desc = "Vends things that make you less reviled in the work-place!"
icon_state = "lavatory"
icon_vend = "lavatory-vend"
icon_deny = "lavatory-deny"
product_ads = "Take a shower you hippie.;Get a haircut, hippie!;Reeking of Vaurca taint? Take a shower!;You reek! Freshen up!;Hey, you dropped something!;Cleansing the world, one person at a time!"
prices = list(
/obj/item/soap = 3.50,
/obj/item/mirror = 7.00,
/obj/item/haircomb/random = 7.00,
/obj/item/towel/random = 8.50,
/obj/item/reagent_containers/spray/cleaner/deodorant = 5.00,
/obj/item/reagent_containers/toothpaste = 7.00,
/obj/item/reagent_containers/toothbrush = 3.50,
/obj/item/reagent_containers/food/drinks/flask/vacuumflask/mouthwash = 5.00
)
products = list(
/obj/item/soap = 12,
/obj/item/mirror = 8,
/obj/item/haircomb/random = 8,
/obj/item/towel/random = 6,
/obj/item/reagent_containers/spray/cleaner/deodorant = 5,
/obj/item/reagent_containers/toothpaste = 5,
/obj/item/reagent_containers/toothbrush = 12,
/obj/item/reagent_containers/food/drinks/flask/vacuumflask/mouthwash = 5
)
premium = list(
/obj/item/grenade/chem_grenade/metalfoam = 0
)
contraband = list(
/obj/item/inflatable_duck = 1
)
/obj/machinery/vending/lavatory/low_supply
products = list(
/obj/item/soap = 4,
/obj/item/mirror = 2,
/obj/item/haircomb/random = 3,
/obj/item/towel/random = 4,
/obj/item/reagent_containers/spray/cleaner/deodorant = 2,
/obj/item/reagent_containers/toothpaste = 3,
/obj/item/reagent_containers/toothbrush = 6,
/obj/item/reagent_containers/food/drinks/flask/vacuumflask/mouthwash = 2
)
+45
View File
@@ -0,0 +1,45 @@
/**
* Omni-Restocker
*/
/obj/machinery/vending/vendors
name = "Omni-Restocker"
desc = "The mother of all vendors, from which vending itself comes!"
icon_state = "engivend"
icon_vend = "engivend-vend"
vend_id = "admin"
req_access = list(ACCESS_JANITOR)
products = list(
/obj/item/device/vending_refill/booze = 2,
/obj/item/device/vending_refill/tools = 2,
/obj/item/device/vending_refill/coffee = 2,
/obj/item/device/vending_refill/snack = 2,
/obj/item/device/vending_refill/cola = 2,
/obj/item/device/vending_refill/zora = 2,
/obj/item/device/vending_refill/frontiervend = 2,
/obj/item/device/vending_refill/smokes = 2,
/obj/item/device/vending_refill/meds = 2,
/obj/item/device/vending_refill/robust = 2,
/obj/item/device/vending_refill/hydro = 2,
/obj/item/device/vending_refill/cutlery = 2,
/obj/item/device/vending_refill/robo = 2,
/obj/item/device/vending_refill/battlemonsters = 2,
/obj/item/device/vending_refill/encryption = 2
)
random_itemcount = 0
light_color = COLOR_GOLD
light_mask = "engivend-light-mask"
/obj/machinery/vending/vendors/low_supply
products = list(
/obj/item/device/vending_refill/tools = 1,
/obj/item/device/vending_refill/coffee = 1,
/obj/item/device/vending_refill/meds = 1,
/obj/item/device/vending_refill/robust = 1,
/obj/item/device/vending_refill/hydro = 1,
/obj/item/device/vending_refill/cutlery = 1,
/obj/item/device/vending_refill/robo = 1,
/obj/item/device/vending_refill/battlemonsters = 1,
/obj/item/device/vending_refill/encryption = 1
)
+116
View File
@@ -0,0 +1,116 @@
/**
* SecTech
* Tactical Express
* Nanosecurity Plus
*/
/obj/machinery/vending/security
name = "SecTech"
desc = "A security equipment vendor."
product_ads = "Crack capitalist skulls!;Beat some heads in!;Don't forget - harm is good!;Your weapons are right here.;Handcuffs!;Freeze, scumbag!;Don't tase me bro!;Tase them, bro.;Why not have a donut?"
icon_state = "sec"
icon_vend = "sec-vend"
req_access = list(ACCESS_SECURITY)
vend_id = "security"
products = list(
/obj/item/handcuffs = 8,
/obj/item/grenade/chem_grenade/teargas = 4,
/obj/item/device/flash = 5,
/obj/item/reagent_containers/spray/pepper = 5,
/obj/item/storage/box/evidence = 6,
/obj/item/device/holowarrant = 5,
/obj/item/device/flashlight/maglight = 5,
/obj/item/device/hailer = 5,
/obj/item/reagent_containers/food/snacks/donut/normal = 6
)
premium = list(
/obj/item/storage/box/fancy/donut = 2
)
contraband = list(
/obj/item/clothing/glasses/sunglasses = 2,
/obj/item/grenade/flashbang = 4,
/obj/item/grenade/stinger = 4
)
restock_blocked_items = list(
/obj/item/storage/box/fancy/donut,
/obj/item/storage/box/evidence,
/obj/item/device/flash,
/obj/item/reagent_containers/spray/pepper
)
restock_items = TRUE
random_itemcount = 0
light_color = COLOR_BABY_BLUE
manufacturer = "zavodskoi"
/obj/machinery/vending/security/low_supply
products = list(
/obj/item/handcuffs = 2,
/obj/item/grenade/chem_grenade/teargas = 1,
/obj/item/device/flash = 2,
/obj/item/reagent_containers/spray/pepper = 2,
/obj/item/storage/box/evidence = 4,
/obj/item/device/holowarrant = 3,
/obj/item/device/flashlight/maglight = 2,
/obj/item/device/hailer = 1
)
/obj/item/device/vending_refill/robust
name = "security resupply canister"
vend_id = "security"
charges = 25
/obj/machinery/vending/tacticool //Tried not to go overboard with the amount of fun security has access to.
name = "Tactical Express"
desc = "Everything you need to ensure corporate bureaucracy makes it another day."
icon_state = "tact"
req_access = list(ACCESS_SECURITY)
vend_id = "tactical" // Refill cartridge DNE 2025/07
products = list(
/obj/item/storage/box/shotgunammo = 2,
/obj/item/storage/box/shotgunshells = 2,
/obj/item/ammo_magazine/c45m = 6,
/obj/item/grenade/chem_grenade/teargas = 6,
/obj/item/ammo_magazine/mc9mmt = 2,
/obj/item/clothing/mask/gas/tactical = 4,
/obj/item/handcuffs/ziptie = 3
)
contraband = list(
/obj/item/grenade/flashbang/clusterbang = 1 //this can only go well.
)
premium = list(
/obj/item/grenade/chem_grenade/gas = 2
)
random_itemcount = 0
light_color = COLOR_BROWN
manufacturer = "zavodskoi"
/obj/machinery/vending/tacticool/ert //Slightly more !FUN!
name = "Nanosecurity Plus"
desc = "For when shit really goes down; the private contractor's personal armory."
req_access = list(ACCESS_SECURITY)
vend_id = "ert" // Refill cartridge DNE 2025/07
products = list(
/obj/item/storage/box/shotgunammo = 2,
/obj/item/storage/box/shotgunshells = 2,
/obj/item/grenade/chem_grenade/gas = 6,
/obj/item/clothing/mask/gas/tactical = 8,
/obj/item/shield/riot/tact = 4,
/obj/item/handcuffs/ziptie = 6,
/obj/item/ammo_magazine/mc9mmt = 6,
/obj/item/ammo_magazine/mc9mmt/rubber = 4,
/obj/item/gun/projectile/automatic/x9 = 2,
/obj/item/ammo_magazine/c45m/auto = 6,
/obj/item/ammo_magazine/a556 = 12,
/obj/item/ammo_magazine/a556/ap = 4,
/obj/item/material/knife/tacknife = 4,
/obj/item/device/firing_pin = 12
)
contraband = list(
/obj/item/gun/bang/deagle = 1
)
premium = list(
/obj/item/shield/riot/tact = 2
)
random_itemcount = 0
manufacturer = "zavodskoi"
+124
View File
@@ -0,0 +1,124 @@
/**
* Dinnerware vendor
* Plastic utensil vendor
* Metal utensil vendor
* Glasses vendor
*/
/obj/machinery/vending/dinnerware
name = "\improper Dinnerware vendor"
desc = "A kitchen and restaurant equipment vendor."
product_ads = "Mm, food stuffs!;Food and food accessories.;Get your plates!;You like forks?;I like forks.;Woo, utensils.;You don't really need these..."
icon_state = "dinnerware"
icon_vend = "dinnerware-vend"
light_mask = "dinnerware-lightmask"
vend_id = "cutlery"
products = list(
/obj/item/material/kitchen/utensil/fork = 12,
/obj/item/material/kitchen/utensil/knife = 12,
/obj/item/material/kitchen/utensil/spoon = 12,
/obj/item/material/kitchen/utensil/fork/chopsticks = 12,
/obj/item/material/knife = 2,
/obj/item/material/hatchet/butch = 2,
/obj/item/reagent_containers/food/drinks/drinkingglass = 12,
/obj/item/reagent_containers/food/drinks/drinkingglass/newglass/carafe = 3,
/obj/item/reagent_containers/glass/beaker/pitcher = 3,
/obj/item/reagent_containers/food/drinks/drinkingglass/newglass/coffeecup = 6,
/obj/item/reagent_containers/food/drinks/takeaway_cup_idris = 6,
/obj/item/clothing/accessory/apron/chef = 2,
/obj/item/clothing/suit/chef_jacket = 2,
/obj/item/material/kitchen/rollingpin = 2,
/obj/item/reagent_containers/cooking_container/oven = 5,
/obj/item/reagent_containers/cooking_container/fryer = 4,
/obj/item/reagent_containers/cooking_container/skillet = 4,
/obj/item/reagent_containers/cooking_container/saucepan = 4,
/obj/item/reagent_containers/cooking_container/pot = 4,
/obj/item/reagent_containers/cooking_container/board = 3,
/obj/item/reagent_containers/cooking_container/board/bowl = 2,
/obj/item/reagent_containers/ladle = 4,
/obj/item/storage/toolbox/lunchbox/nt = 6,
/obj/item/storage/toolbox/lunchbox/idris = 6,
/obj/item/reagent_containers/glass/rag = 8,
/obj/item/evidencebag/plasticbag = 20,
/obj/item/tray = 12,
/obj/item/tray/tea = 2,
/obj/item/tray/plate = 10,
/obj/item/reagent_containers/bowl = 10,
/obj/item/reagent_containers/bowl/plate = 10,
/obj/item/reagent_containers/bowl/gravy_boat = 8,
/obj/item/reagent_containers/glass/bottle/syrup = 4,
)
contraband = list(
/obj/item/storage/toolbox/lunchbox/syndicate = 2
)
premium = list(
/obj/item/storage/toolbox/lunchbox/scc/filled = 2,
)
restock_items = TRUE
random_itemcount = 0
light_color = COLOR_STEEL
/obj/machinery/vending/dinnerware/plastic
name = "\improper plastic utensil vendor"
desc = "A kitchen and restaurant utensil vendor."
products = list(
/obj/item/material/kitchen/utensil/fork/plastic = 12,
/obj/item/material/kitchen/utensil/spoon/plastic = 12,
/obj/item/material/kitchen/utensil/knife/plastic = 12,
/obj/item/material/kitchen/utensil/fork/chopsticks/bamboo = 12,
/obj/item/reagent_containers/food/drinks/drinkingglass = 12,
/obj/item/reagent_containers/food/drinks/drinkingglass/newglass/carafe = 3,
/obj/item/reagent_containers/glass/beaker/pitcher = 3,
/obj/item/reagent_containers/food/drinks/drinkingglass/newglass/coffeecup = 6,
/obj/item/reagent_containers/food/drinks/takeaway_cup_idris = 6,
)
/obj/machinery/vending/dinnerware/metal
name = "\improper metal utensil vendor"
desc = "An upscale kitchen and restaurant utensil vendor."
products = list(
/obj/item/material/kitchen/utensil/fork = 12,
/obj/item/material/kitchen/utensil/spoon = 12,
/obj/item/material/kitchen/utensil/knife = 12,
/obj/item/material/kitchen/utensil/fork/chopsticks = 12,
/obj/item/reagent_containers/food/drinks/drinkingglass = 12,
/obj/item/reagent_containers/food/drinks/drinkingglass/newglass/carafe = 3,
/obj/item/reagent_containers/glass/beaker/pitcher = 3,
/obj/item/reagent_containers/food/drinks/drinkingglass/newglass/coffeecup = 6,
/obj/item/reagent_containers/food/drinks/takeaway_cup_idris = 6,
)
/obj/machinery/vending/dinnerware/bar
name = "\improper glasses vendor"
desc = "A bar vendor for dispensing various glasses and cups."
products = list(
/obj/item/reagent_containers/glass/beaker/pitcher = 8,
/obj/item/reagent_containers/food/drinks/drinkingglass = 40,
/obj/item/reagent_containers/food/drinks/drinkingglass/newglass/carafe = 3,
/obj/item/reagent_containers/food/drinks/drinkingglass/newglass/coffeecup = 6,
/obj/item/reagent_containers/food/drinks/takeaway_cup_idris = 12,
/obj/item/reagent_containers/food/drinks/drinkingglass/newglass/pint = 6,
/obj/item/reagent_containers/food/drinks/drinkingglass/newglass/square = 6,
/obj/item/reagent_containers/food/drinks/drinkingglass/newglass/mug = 6,
/obj/item/reagent_containers/food/drinks/drinkingglass/newglass/shake = 6,
/obj/item/reagent_containers/food/drinks/drinkingglass/newglass/goblet = 6,
/obj/item/reagent_containers/food/drinks/drinkingglass/newglass/wine = 6,
/obj/item/reagent_containers/food/drinks/drinkingglass/newglass/flute = 6,
/obj/item/reagent_containers/food/drinks/drinkingglass/newglass/cognac = 6,
/obj/item/reagent_containers/food/drinks/drinkingglass/newglass/rocks = 6,
/obj/item/reagent_containers/food/drinks/drinkingglass/newglass/cocktail = 6,
/obj/item/reagent_containers/food/drinks/drinkingglass/newglass/shot = 6,
/obj/item/reagent_containers/food/drinks/drinkingglass/newglass/coffeecup/teacup = 6,
/obj/item/reagent_containers/food/drinks/flask/barflask = 2,
/obj/item/reagent_containers/food/drinks/flask/vacuumflask = 2,
/obj/item/material/kitchen/utensil/fork = 6,
/obj/item/material/kitchen/utensil/knife = 6,
/obj/item/material/kitchen/utensil/spoon = 6,
/obj/item/tray = 12,
/obj/item/tray/tea = 2,
)
/obj/item/device/vending_refill/cutlery
name = "cutlery resupply canister"
vend_id = "cutlery"
charges = 50
+245
View File
@@ -0,0 +1,245 @@
/**
* GetMore Chocolate Corp
* Low Supply
* Konyang
* FrontierVend
* Low Supply
* Hacked
*/
/obj/machinery/vending/snack
name = "Getmore Chocolate Corp"
desc = "A snack machine courtesy of the Getmore Chocolate Corporation, based out of Mars."
product_slogans = "Try our new nougat bar!;Twice the calories for half the price!"
product_ads = "The healthiest!;Award-winning chocolate bars!;Mmm! So good!;Oh my god it's so juicy!;Have a snack.;Snacks are good for you!;Have some more Getmore!;Best quality snacks straight from mars.;We love chocolate!;Try our new jerky!"
icon_state = "snack"
light_mask = "snack-lightmask"
vend_id = "snacks"
products = list(
/obj/item/reagent_containers/food/snacks/candy = 6,
/obj/item/reagent_containers/food/drinks/dry_ramen = 6,
/obj/item/reagent_containers/food/snacks/chips =6,
/obj/item/reagent_containers/food/snacks/sosjerky = 6,
/obj/item/reagent_containers/food/snacks/no_raisin = 6,
/obj/item/reagent_containers/food/snacks/spacetwinkie = 6,
/obj/item/reagent_containers/food/snacks/cheesiehonkers = 6,
/obj/item/reagent_containers/food/snacks/tastybread = 6,
/obj/item/storage/box/pineapple = 4,
/obj/item/reagent_containers/food/snacks/chocolatebar = 6,
/obj/item/reagent_containers/food/snacks/whitechocolate/wrapped = 6,
/obj/item/storage/box/fancy/cookiesnack = 6,
/obj/item/storage/box/fancy/gum = 4,
/obj/item/storage/box/fancy/vkrexitaffy = 5,
/obj/item/clothing/mask/chewable/candy/lolli = 8,
/obj/item/storage/box/fancy/admints = 4,
/obj/item/reagent_containers/food/snacks/skrellsnacks = 3,
/obj/item/reagent_containers/food/snacks/meatsnack = 2,
/obj/item/reagent_containers/food/snacks/maps = 2,
/obj/item/reagent_containers/food/snacks/nathisnack = 2,
/obj/item/reagent_containers/food/snacks/koisbar_clean = 4,
/obj/item/reagent_containers/food/snacks/candy/koko = 5,
/obj/item/reagent_containers/food/snacks/tuna = 2,
/obj/item/reagent_containers/food/snacks/adhomian_can = 2,
/obj/item/reagent_containers/food/snacks/ricetub = 2,
/obj/item/reagent_containers/food/snacks/riceball = 4,
/obj/item/reagent_containers/food/snacks/seaweed = 5,
/obj/item/reagent_containers/food/drinks/jyalra = 5,
/obj/item/reagent_containers/food/drinks/jyalra/cheese = 5,
/obj/item/reagent_containers/food/drinks/jyalra/apple = 5,
/obj/item/reagent_containers/food/drinks/jyalra/cherry = 5
)
contraband = list(
/obj/item/reagent_containers/food/snacks/syndicake = 6,
/obj/item/reagent_containers/food/snacks/koisbar = 4
)
premium = list(
/obj/item/reagent_containers/food/snacks/cookie = 6,
/obj/item/storage/box/fancy/food/pralinebox = 2
)
prices = list(
/obj/item/reagent_containers/food/snacks/candy = 1.50,
/obj/item/reagent_containers/food/drinks/dry_ramen = 2.00,
/obj/item/reagent_containers/food/snacks/chips = 2.50,
/obj/item/reagent_containers/food/snacks/sosjerky = 3.50,
/obj/item/reagent_containers/food/snacks/no_raisin = 2.00,
/obj/item/reagent_containers/food/snacks/spacetwinkie = 2.00,
/obj/item/reagent_containers/food/snacks/cheesiehonkers = 2.50,
/obj/item/reagent_containers/food/snacks/tastybread = 3.50,
/obj/item/storage/box/pineapple = 5.00,
/obj/item/reagent_containers/food/snacks/chocolatebar = 2.00,
/obj/item/reagent_containers/food/snacks/whitechocolate/wrapped = 3.00,
/obj/item/storage/box/fancy/cookiesnack = 4.00,
/obj/item/storage/box/fancy/gum = 2.50,
/obj/item/storage/box/fancy/vkrexitaffy = 3.50,
/obj/item/clothing/mask/chewable/candy/lolli = 1.00,
/obj/item/storage/box/fancy/admints = 2.00,
/obj/item/reagent_containers/food/snacks/skrellsnacks = 1.50,
/obj/item/reagent_containers/food/snacks/meatsnack = 3.00,
/obj/item/reagent_containers/food/snacks/maps = 3.25,
/obj/item/reagent_containers/food/snacks/nathisnack = 2.00,
/obj/item/reagent_containers/food/snacks/koisbar_clean = 4.25,
/obj/item/reagent_containers/food/snacks/candy/koko = 3.00,
/obj/item/reagent_containers/food/snacks/tuna = 2.50,
/obj/item/reagent_containers/food/snacks/adhomian_can = 2.00,
/obj/item/reagent_containers/food/snacks/ricetub = 4.50,
/obj/item/reagent_containers/food/snacks/riceball = 3.00,
/obj/item/reagent_containers/food/snacks/seaweed = 2.50,
/obj/item/reagent_containers/food/drinks/jyalra = 1.50,
/obj/item/reagent_containers/food/drinks/jyalra/cheese = 1.75,
/obj/item/reagent_containers/food/drinks/jyalra/apple = 1.75,
/obj/item/reagent_containers/food/drinks/jyalra/cherry = 1.75,
/obj/item/reagent_containers/food/snacks/syndicake = 3.50,
/obj/item/reagent_containers/food/snacks/koisbar = 12.00,
)
light_color = COLOR_BABY_BLUE
manufacturer = "nanotrasen"
/obj/machinery/vending/snack/low_supply
products = list(
/obj/item/reagent_containers/food/drinks/dry_ramen = 4,
/obj/item/reagent_containers/food/snacks/chips = 1,
/obj/item/reagent_containers/food/snacks/sosjerky = 2,
/obj/item/reagent_containers/food/snacks/no_raisin = 4,
/obj/item/storage/box/fancy/vkrexitaffy = 3,
/obj/item/reagent_containers/food/snacks/skrellsnacks = 1,
/obj/item/reagent_containers/food/snacks/maps = 1,
/obj/item/reagent_containers/food/snacks/koisbar_clean = 1,
/obj/item/reagent_containers/food/snacks/adhomian_can = 1,
/obj/item/reagent_containers/food/drinks/jyalra = 1
)
/obj/machinery/vending/snack/konyang
products = list(
/obj/item/reagent_containers/food/snacks/candy = 6,
/obj/item/reagent_containers/food/drinks/dry_ramen = 12,
/obj/item/reagent_containers/food/snacks/chips =6,
/obj/item/reagent_containers/food/snacks/sosjerky = 6,
/obj/item/reagent_containers/food/snacks/no_raisin = 6,
/obj/item/reagent_containers/food/snacks/spacetwinkie = 6,
/obj/item/reagent_containers/food/snacks/cheesiehonkers = 6,
/obj/item/reagent_containers/food/snacks/tastybread = 12,
/obj/item/storage/box/pineapple = 6,
/obj/item/reagent_containers/food/snacks/chocolatebar = 6,
/obj/item/storage/box/fancy/cookiesnack = 6,
/obj/item/storage/box/fancy/gum = 4,
/obj/item/clothing/mask/chewable/candy/lolli = 8,
/obj/item/storage/box/fancy/admints = 4,
/obj/item/reagent_containers/food/snacks/skrellsnacks = 3,
/obj/item/reagent_containers/food/snacks/meatsnack = 2,
/obj/item/reagent_containers/food/snacks/maps = 2,
/obj/item/reagent_containers/food/snacks/tuna = 2,
/obj/item/reagent_containers/food/snacks/ricetub = 4,
/obj/item/reagent_containers/food/snacks/riceball = 8,
/obj/item/reagent_containers/food/snacks/seaweed = 10,
)
/obj/item/device/vending_refill/snack
name = "snacks resupply canister"
vend_id = "snacks"
charges = 38
/obj/machinery/vending/frontiervend
name = "FrontierVend"
desc = "A vending machine specialized in snacks from the Coalition of Colonies."
desc_extended = "Almost rebranded to the 'Coalition of Snackolonies', the FrontierVend brand is owned by a now-subsidiary of Orion Express specialized in food exports. These machines \
are omnipresent throughout the settled regions of human space, forming a sort of Coalition superculture; it's easier to sympathize with someone if you eat the same snacks."
icon_state = "frontiervend"
icon_deny = "frontiervend-deny"
product_slogans = "At least 85 billion served!;A new frontier of flavors!;Snacking for a free frontier!;Every purchase made supports the efforts of the Frontier Protection Bureau!"
product_ads = "Roundhouse kick a Solarian into the concrete.;Slam-dunk Solarians into the trashcan.;Launch Solarians into the sun.;Frost got what he deserved."
vend_id = "frontiervend"
products = list(
/obj/item/reagent_containers/food/drinks/cans/himeokvass = 8,
/obj/item/reagent_containers/food/drinks/cans/boch = 8,
/obj/item/reagent_containers/food/drinks/cans/boch/buckthorn = 8,
/obj/item/reagent_containers/food/drinks/cans/xanuchai = 6,
/obj/item/reagent_containers/food/drinks/cans/xanuchai/creme = 8,
/obj/item/reagent_containers/food/drinks/cans/xanuchai/chocolate = 8,
/obj/item/reagent_containers/food/drinks/cans/xanuchai/neapolitan = 8,
/obj/item/reagent_containers/food/drinks/cans/galatea = 8,
/obj/item/reagent_containers/food/drinks/bottle/bestblend = 6,
/obj/item/reagent_containers/food/snacks/fishjerky = 8,
/obj/item/reagent_containers/food/snacks/pepperoniroll = 8,
/obj/item/reagent_containers/food/snacks/salmiak = 6,
/obj/item/reagent_containers/food/snacks/hakhspam = 6,
/obj/item/reagent_containers/food/snacks/pemmicanbar = 8,
/obj/item/reagent_containers/food/snacks/choctruffles = 6,
/obj/item/reagent_containers/food/snacks/peanutsnack = 8,
/obj/item/reagent_containers/food/snacks/peanutsnack/pepper = 6,
/obj/item/reagent_containers/food/snacks/peanutsnack/choc = 6,
/obj/item/reagent_containers/food/snacks/peanutsnack/masala = 6,
/obj/item/reagent_containers/food/snacks/chana = 8,
/obj/item/reagent_containers/food/snacks/chana/wild = 8,
/obj/item/reagent_containers/food/snacks/papad = 8,
/obj/item/reagent_containers/food/snacks/papad/garlic = 8,
/obj/item/reagent_containers/food/snacks/papad/ginger = 8,
/obj/item/reagent_containers/food/snacks/papad/apple = 8,
/obj/item/storage/box/fancy/foysnack = 4
)
prices = list(
/obj/item/reagent_containers/food/drinks/cans/himeokvass = 3.50,
/obj/item/reagent_containers/food/drinks/cans/boch = 2.50,
/obj/item/reagent_containers/food/drinks/cans/boch/buckthorn = 2.50,
/obj/item/reagent_containers/food/drinks/cans/xanuchai = 2.50,
/obj/item/reagent_containers/food/drinks/cans/xanuchai/creme = 2.50,
/obj/item/reagent_containers/food/drinks/cans/xanuchai/chocolate = 2.50,
/obj/item/reagent_containers/food/drinks/cans/xanuchai/neapolitan = 2.50,
/obj/item/reagent_containers/food/drinks/cans/galatea = 4.50,
/obj/item/reagent_containers/food/drinks/bottle/bestblend = 3.50,
/obj/item/reagent_containers/food/snacks/fishjerky = 3.50,
/obj/item/reagent_containers/food/snacks/pepperoniroll = 3.50,
/obj/item/reagent_containers/food/snacks/salmiak = 3.50,
/obj/item/reagent_containers/food/snacks/hakhspam = 4.00,
/obj/item/reagent_containers/food/snacks/pemmicanbar = 2.50,
/obj/item/reagent_containers/food/snacks/choctruffles = 3.50,
/obj/item/reagent_containers/food/snacks/peanutsnack = 2.50,
/obj/item/reagent_containers/food/snacks/peanutsnack/pepper = 2.50,
/obj/item/reagent_containers/food/snacks/peanutsnack/choc = 2.50,
/obj/item/reagent_containers/food/snacks/peanutsnack/masala = 2.50,
/obj/item/reagent_containers/food/snacks/chana = 3.25,
/obj/item/reagent_containers/food/snacks/chana/wild = 3.25,
/obj/item/reagent_containers/food/snacks/papad = 2.50,
/obj/item/reagent_containers/food/snacks/papad/garlic = 2.50,
/obj/item/reagent_containers/food/snacks/papad/ginger = 2.50,
/obj/item/reagent_containers/food/snacks/papad/apple = 2.50,
/obj/item/storage/box/fancy/foysnack = 4.00
)
contraband = list()
premium = list(
/obj/item/toy/comic/inspector = 2,
/obj/item/toy/comic/stormman = 2,
/obj/item/toy/plushie/greimorian = 2
)
random_itemcount = 0
light_color = COLOR_BABY_BLUE
/obj/machinery/vending/frontiervend/low_supply
products = list(
/obj/item/reagent_containers/food/drinks/cans/himeokvass = 2,
/obj/item/reagent_containers/food/drinks/cans/boch = 1,
/obj/item/reagent_containers/food/drinks/cans/boch/buckthorn = 2,
/obj/item/reagent_containers/food/drinks/cans/xanuchai = 2,
/obj/item/reagent_containers/food/drinks/cans/xanuchai/creme = 1,
/obj/item/reagent_containers/food/drinks/cans/galatea = 1,
/obj/item/reagent_containers/food/drinks/bottle/bestblend = 2,
/obj/item/reagent_containers/food/snacks/fishjerky = 1,
/obj/item/reagent_containers/food/snacks/pepperoniroll = 1,
/obj/item/reagent_containers/food/snacks/salmiak = 1,
/obj/item/reagent_containers/food/snacks/pemmicanbar = 1,
/obj/item/reagent_containers/food/snacks/peanutsnack = 2,
/obj/item/reagent_containers/food/snacks/peanutsnack/pepper = 1,
/obj/item/reagent_containers/food/snacks/chana = 1,
/obj/item/reagent_containers/food/snacks/papad = 2,
/obj/item/storage/box/fancy/foysnack = 1
)
/obj/machinery/vending/frontiervend/hacked
name = "\improper hacked FrontierVend"
desc = "A complimentary FrontierVend machine. No money? No worries."
prices = list()
/obj/item/device/vending_refill/frontiervend
name = "frontiervend resupply canister"
vend_id = "frontiervend"
charges = 220
+203
View File
@@ -0,0 +1,203 @@
/**
* Idris Re-Fresh
* Low Supply
* Konyang
* Zo'ra Soda
* Low Supply
* BODA (Soviet Soda)
*/
/obj/machinery/vending/cola
name = "Idris Re-Fresh"
desc = "A soft drink vendor provided by an Idris subsidiary."
icon_state = "cola_machine"
icon_vend = "cola_machine-vend"
icon_deny = "cola_machine-deny"
icon_screen = "cola_machine-screen"
light_mask = "cola_machine-lightmask"
product_slogans = "Idris Re-Fresh: the more expensive the place, the more of us you'll seee!"
product_ads = "Refreshing!;Hope you're thirsty!;Thirsty? Why not cola?;Please, have a drink!;Drink up!;The best drinks in space."
vend_id = "cola"
products = list(
/obj/item/reagent_containers/food/drinks/cans/cola = 10,
/obj/item/reagent_containers/food/drinks/cans/diet_cola = 10,
/obj/item/reagent_containers/food/drinks/cans/space_mountain_wind = 10,
/obj/item/reagent_containers/food/drinks/cans/dr_gibb = 10,
/obj/item/reagent_containers/food/drinks/cans/root_beer = 10,
/obj/item/reagent_containers/food/drinks/cans/starkist = 10,
/obj/item/reagent_containers/food/drinks/waterbottle = 10,
/obj/item/reagent_containers/food/drinks/cans/dyn = 10,
/obj/item/reagent_containers/food/drinks/cans/space_up = 10,
/obj/item/reagent_containers/food/drinks/cans/iced_tea = 10,
/obj/item/reagent_containers/food/drinks/cans/grape_juice = 10,
/obj/item/reagent_containers/food/drinks/cans/peach_soda = 10,
/obj/item/reagent_containers/food/drinks/cans/beetle_milk = 10,
/obj/item/reagent_containers/food/drinks/cans/hrozamal_soda = 10,
/obj/item/reagent_containers/food/drinks/carton/small/milk = 10,
/obj/item/reagent_containers/food/drinks/carton/small/milk/choco = 10,
/obj/item/reagent_containers/food/drinks/carton/small/milk/strawberry = 10,
/obj/item/reagent_containers/food/drinks/cans/melon_soda = 10,
/obj/item/reagent_containers/food/drinks/zobo = 10
)
contraband = list(
/obj/item/reagent_containers/food/drinks/cans/thirteenloko = 5,
/obj/item/reagent_containers/food/drinks/cans/koispunch = 3
)
premium = list(
/obj/item/reagent_containers/food/drinks/bottle/cola = 2,
/obj/item/reagent_containers/food/drinks/bottle/space_mountain_wind = 2,
/obj/item/reagent_containers/food/drinks/bottle/space_up = 2
)
prices = list(
/obj/item/reagent_containers/food/drinks/cans/cola = 1.50,
/obj/item/reagent_containers/food/drinks/cans/diet_cola = 1.50,
/obj/item/reagent_containers/food/drinks/cans/space_mountain_wind = 1.50,
/obj/item/reagent_containers/food/drinks/cans/dr_gibb = 1.50,
/obj/item/reagent_containers/food/drinks/cans/root_beer = 1.50,
/obj/item/reagent_containers/food/drinks/cans/starkist = 1.50,
/obj/item/reagent_containers/food/drinks/waterbottle = 1.25,
/obj/item/reagent_containers/food/drinks/cans/dyn = 1.80,
/obj/item/reagent_containers/food/drinks/cans/space_up = 1.50,
/obj/item/reagent_containers/food/drinks/cans/iced_tea = 1.40,
/obj/item/reagent_containers/food/drinks/cans/grape_juice = 1.75,
/obj/item/reagent_containers/food/drinks/cans/peach_soda = 1.75,
/obj/item/reagent_containers/food/drinks/cans/koispunch = 5.00,
/obj/item/reagent_containers/food/drinks/cans/beetle_milk = 2.25,
/obj/item/reagent_containers/food/drinks/cans/hrozamal_soda = 3.00,
/obj/item/reagent_containers/food/drinks/carton/small/milk = 1.80,
/obj/item/reagent_containers/food/drinks/carton/small/milk/choco = 1.80,
/obj/item/reagent_containers/food/drinks/carton/small/milk/strawberry = 1.80,
/obj/item/reagent_containers/food/drinks/cans/melon_soda = 1.75,
/obj/item/reagent_containers/food/drinks/zobo = 1.75
)
idle_power_usage = 211 //refrigerator - believe it or not, this is actually the average power consumption of a refrigerated vending machine according to NRCan.
vending_sound = 'sound/machines/vending/vending_cans.ogg'
temperature_setting = -1
light_color = COLOR_GUNMETAL
/obj/machinery/vending/cola/low_supply
products = list(
/obj/item/reagent_containers/food/drinks/cans/diet_cola = 1,
/obj/item/reagent_containers/food/drinks/cans/space_mountain_wind = 2,
/obj/item/reagent_containers/food/drinks/cans/dr_gibb = 1,
/obj/item/reagent_containers/food/drinks/cans/root_beer = 2,
/obj/item/reagent_containers/food/drinks/cans/starkist = 1,
/obj/item/reagent_containers/food/drinks/waterbottle = 4,
/obj/item/reagent_containers/food/drinks/cans/dyn = 1,
/obj/item/reagent_containers/food/drinks/cans/space_up = 2,
/obj/item/reagent_containers/food/drinks/cans/beetle_milk = 8,
/obj/item/reagent_containers/food/drinks/cans/hrozamal_soda = 2
)
/obj/machinery/vending/cola/konyang
products = list(
/obj/item/reagent_containers/food/drinks/cans/cola = 10,
/obj/item/reagent_containers/food/drinks/cans/diet_cola = 10,
/obj/item/reagent_containers/food/drinks/cans/space_mountain_wind = 10,
/obj/item/reagent_containers/food/drinks/cans/starkist = 10,
/obj/item/reagent_containers/food/drinks/waterbottle = 10,
/obj/item/reagent_containers/food/drinks/cans/dyn = 5,
/obj/item/reagent_containers/food/drinks/cans/space_up = 10,
/obj/item/reagent_containers/food/drinks/cans/iced_tea = 10,
/obj/item/reagent_containers/food/drinks/cans/grape_juice = 10,
/obj/item/reagent_containers/food/drinks/cans/peach_soda = 10,
/obj/item/reagent_containers/food/drinks/cans/beetle_milk = 5,
/obj/item/reagent_containers/food/drinks/carton/small/milk = 10,
/obj/item/reagent_containers/food/drinks/carton/small/milk/choco = 10,
/obj/item/reagent_containers/food/drinks/carton/small/milk/strawberry = 10,
/obj/item/reagent_containers/food/drinks/cans/melon_soda = 10
)
/obj/item/device/vending_refill/cola
name = "cola resupply canister"
vend_id = "cola"
charges = 50
/obj/machinery/vending/zora
name = "Zo'ra Soda"
desc = "An energy drink vendor provided by the Getmore Corporation in partnership with the brood of Ta'Akaix'Xakt'yagz'isk Zo'ra."
icon_state = "zoda"
icon_vend = "zoda-vend"
product_slogans = "Safe for consumption by all species!;Made by hard-working bound drones!;The most refreshing energy drink around!;A product of two thousand years!"
product_ads = "Tired? Try some Zo'ra Soda!;Thirsty? Why not Zo'ra Soda?;Bored? Have some Zo'ra Soda!;Zo'ra Soda. Drink up!;ZZZOOO'RRRAAA SSSOOODDDAAA!"
vend_id = "zora"
products = list(
/obj/item/reagent_containers/food/drinks/cans/zorasoda/cherry = 5,
/obj/item/reagent_containers/food/drinks/cans/zorasoda/phoron = 5,
/obj/item/reagent_containers/food/drinks/cans/zorasoda/klax = 5,
/obj/item/reagent_containers/food/drinks/cans/zorasoda/cthur = 5,
/obj/item/reagent_containers/food/drinks/cans/zorasoda/venomgrass = 5,
/obj/item/reagent_containers/food/drinks/cans/zorasoda/kois = 5,
/obj/item/reagent_containers/food/drinks/cans/zorasoda/drone = 5,
/obj/item/reagent_containers/food/drinks/cans/zorasoda/mixedberry = 5,
/obj/item/reagent_containers/food/drinks/cans/zorasoda/lemonlime = 5,
/obj/item/reagent_containers/food/drinks/cans/zorasoda/xuizi = 5,
/obj/item/reagent_containers/food/drinks/cans/zorasoda/dyn = 5,
/obj/item/reagent_containers/food/drinks/cans/zorasoda/buzz = 5,
/obj/item/reagent_containers/food/drinks/waterbottle/sedantis_water = 5
)
contraband = list(
/obj/item/reagent_containers/food/drinks/cans/zorasoda/hozm = 5
)
premium = list(
/obj/item/reagent_containers/food/drinks/cans/zorasoda/jelly = 3
)
prices = list(
/obj/item/reagent_containers/food/drinks/cans/zorasoda/cherry = 2.50,
/obj/item/reagent_containers/food/drinks/cans/zorasoda/phoron = 2.50,
/obj/item/reagent_containers/food/drinks/cans/zorasoda/klax = 2.50,
/obj/item/reagent_containers/food/drinks/cans/zorasoda/cthur = 2.50,
/obj/item/reagent_containers/food/drinks/cans/zorasoda/venomgrass = 2.50,
/obj/item/reagent_containers/food/drinks/cans/zorasoda/kois = 2.50,
/obj/item/reagent_containers/food/drinks/cans/zorasoda/drone = 2.50,
/obj/item/reagent_containers/food/drinks/cans/zorasoda/mixedberry = 2.50,
/obj/item/reagent_containers/food/drinks/cans/zorasoda/lemonlime = 2.50,
/obj/item/reagent_containers/food/drinks/cans/zorasoda/xuizi = 2.50,
/obj/item/reagent_containers/food/drinks/cans/zorasoda/dyn = 2.50,
/obj/item/reagent_containers/food/drinks/cans/zorasoda/buzz = 2.50,
/obj/item/reagent_containers/food/drinks/waterbottle/sedantis_water = 3.50
)
idle_power_usage = 211
temperature_setting = -1
light_color = COLOR_CULT_REINFORCED
/obj/machinery/vending/zora/low_supply
products = list(
/obj/item/reagent_containers/food/drinks/cans/zorasoda/cherry = 2,
/obj/item/reagent_containers/food/drinks/cans/zorasoda/phoron = 3,
/obj/item/reagent_containers/food/drinks/cans/zorasoda/venomgrass = 2,
/obj/item/reagent_containers/food/drinks/cans/zorasoda/kois = 1,
/obj/item/reagent_containers/food/drinks/cans/zorasoda/drone = 5,
/obj/item/reagent_containers/food/drinks/cans/zorasoda/xuizi = 3,
/obj/item/reagent_containers/food/drinks/cans/zorasoda/dyn = 1
)
/obj/item/device/vending_refill/zora
name = "Zo'ra Soda resupply canister"
vend_id = "zora"
charges = 40
/obj/machinery/vending/sovietsoda
name = "BODA"
desc = "An old sweet water vending machine, how did this end up here?"
icon_state = "sovietsoda"
icon_vend = "sovietsoda-vend"
vend_id = "cola"
product_ads = "For Tsar and Country.;Have you fulfilled your nutrition quota today?;Very nice!;We are simple people, for this is all we eat.;If there is a person, there is a problem. If there is no person, then there is no problem."
products = list(
/obj/item/reagent_containers/food/drinks/drinkingglass/soda = 30
)
//would a soviet vending machine really have a premium item? hmmm.
premium = list(
/obj/item/reagent_containers/food/drinks/bottle/vodka = 5
)
contraband = list(
/obj/item/reagent_containers/food/drinks/drinkingglass/cola = 20
)
idle_power_usage = 211 //refrigerator - believe it or not, this is actually the average power consumption of a refrigerated vending machine according to NRCan.
random_itemcount = 0
temperature_setting = -1
vending_sound = 'sound/machines/vending/vending_cans.ogg'
light_color = COLOR_RED
+944
View File
@@ -0,0 +1,944 @@
/**
* Drobes
*/
/obj/machinery/vending/wardrobe
name = "Drobe - PARENT DO NOT USE"
random_itemcount = FALSE
/obj/machinery/vending/wardrobe/engi_wardrobe
name = "\improper EngiDrobe"
desc = "A vending machine renowned for vending industrial grade clothing."
icon_state = "engidrobe"
icon_deny = "engidrobe-deny"
light_mask = "clothes-lightmask"
product_ads = "Guaranteed* to protect against industrial accidents! (*not guaranteed);Yellow is the most radiation-resistant color!;Hi-viz is in this year! No, really!;You're the smartest department on the ship, so dress like it!"
vend_reply = "Thank you for using EngiDrobe!"
products = list(
/obj/item/clothing/under/rank/engineer/apprentice/heph = 2,
/obj/item/clothing/under/rank/engineer/apprentice/zavod = 2,
/obj/item/clothing/under/rank/engineer/heph = 4,
/obj/item/clothing/under/rank/engineer/zavod = 4,
/obj/item/clothing/suit/storage/hazardvest = 5,
/obj/item/clothing/suit/storage/hazardvest/green = 2,
/obj/item/clothing/suit/storage/hazardvest/red = 2,
/obj/item/clothing/suit/storage/hooded/wintercoat/engineering = 8,
/obj/item/clothing/suit/storage/hooded/wintercoat/heph = 4,
/obj/item/clothing/suit/storage/hooded/wintercoat/zavod = 2,
/obj/item/clothing/suit/storage/hooded/wintercoat/zavod/alt = 2,
/obj/item/clothing/suit/storage/toggle/engi_dep_jacket = 8,
/obj/item/clothing/suit/storage/toggle/corp/heph = 4,
/obj/item/clothing/suit/storage/toggle/corp/zavod = 2,
/obj/item/clothing/suit/storage/toggle/corp/zavod/alt = 2,
/obj/item/clothing/suit/storage/toggle/highvis = 5,
/obj/item/clothing/suit/storage/toggle/highvis_alt = 5,
/obj/item/clothing/suit/storage/toggle/highvis_orange = 5,
/obj/item/clothing/suit/storage/toggle/highvis_red = 5,
/obj/item/clothing/suit/storage/toggle/labcoat/heph = 2,
/obj/item/clothing/suit/storage/toggle/labcoat/zavodskoi = 2,
/obj/item/clothing/suit/storage/toggle/labcoat/zavodskoi/alt = 2,
/obj/item/clothing/suit/storage/toggle/longcoat/heph = 2,
/obj/item/clothing/suit/storage/toggle/longcoat/zavodskoi = 2,
/obj/item/clothing/accessory/poncho/roles/cloak/engineer = 5,
/obj/item/clothing/accessory/poncho/roles/engineering = 5,
/obj/item/clothing/glasses/safety/goggles = 6,
/obj/item/clothing/head/bandana/engineering = 4,
/obj/item/clothing/head/beret/engineering = 4,
/obj/item/clothing/head/beret/corporate/heph = 3,
/obj/item/clothing/head/beret/corporate/zavod = 2,
/obj/item/clothing/head/beret/corporate/zavod/alt = 2,
/obj/item/clothing/head/hardhat/green = 2,
/obj/item/clothing/head/hardhat/orange = 4,
/obj/item/clothing/head/hardhat/red = 2,
/obj/item/clothing/head/sidecap/heph = 3,
/obj/item/clothing/head/sidecap/zavod = 3,
/obj/item/clothing/head/sidecap/zavod/alt = 3,
/obj/item/clothing/head/softcap/engineering = 4,
/obj/item/clothing/head/softcap/zavod = 2,
/obj/item/clothing/head/softcap/zavod/alt = 2,
/obj/item/clothing/head/wool/heph = 4,
/obj/item/clothing/head/wool/zavod = 2,
/obj/item/clothing/head/wool/zavod/alt = 2,
/obj/item/clothing/pants/highvis = 5,
/obj/item/clothing/pants/highvis_alt = 5,
/obj/item/clothing/pants/highvis_orange = 5,
/obj/item/clothing/pants/highvis_red = 5,
/obj/item/clothing/shoes/sneakers/orange = 6,
/obj/item/clothing/shoes/workboots/dark = 6,
/obj/item/clothing/shoes/workboots/toeless = 4,
/obj/item/storage/backpack/industrial = 6,
/obj/item/storage/backpack/heph = 4,
/obj/item/storage/backpack/zavod = 4,
/obj/item/storage/backpack/duffel/eng = 6,
/obj/item/storage/backpack/duffel/heph = 4,
/obj/item/storage/backpack/duffel/zavod = 4,
/obj/item/storage/backpack/cloak/engi = 3,
/obj/item/storage/backpack/cloak/heph = 2,
/obj/item/storage/backpack/cloak/zavod = 2
)
premium = list(
/obj/item/toy/figure/engineer = 6,
/obj/item/toy/figure/ce = 2
)
contraband = list(
/obj/item/clothing/under/rank/engineer/einstein = 4
)
light_color = COLOR_GOLD
/obj/machinery/vending/wardrobe/atmos_wardrobe
name = "\improper AtmosDrobe"
desc = "This relatively unknown vending machine delivers clothing for Atmospherics Technicians, an equally unknown job."
icon_state = "atmosdrobe"
icon_deny = "atmosdrobe-deny"
light_mask = "clothes-lightmask"
product_ads = "Flammable? Inflammable? Doesn't matter!;If you know the Ideal Gas constant, show it off with these clothes!;Show up those pitiful engineers with stylish blue trim today!;Long live Atmosia! Gloria Admosia!"
vend_reply = "Thank you for using Atmosdrobe!"
products = list(
/obj/item/clothing/under/rank/atmospheric_technician/heph = 2,
/obj/item/clothing/under/rank/atmospheric_technician/zavod = 2,
/obj/item/clothing/suit/storage/hazardvest/blue/atmos = 3,
/obj/item/clothing/suit/storage/hazardvest/green = 2,
/obj/item/clothing/suit/storage/hazardvest/red = 2,
/obj/item/clothing/suit/storage/hooded/wintercoat/engineering/atmos = 4,
/obj/item/clothing/suit/storage/hooded/wintercoat/heph = 4,
/obj/item/clothing/suit/storage/hooded/wintercoat/zavod = 2,
/obj/item/clothing/suit/storage/hooded/wintercoat/zavod/alt = 2,
/obj/item/clothing/suit/storage/toggle/engi_dep_jacket = 4,
/obj/item/clothing/suit/storage/toggle/corp/heph = 4,
/obj/item/clothing/suit/storage/toggle/corp/zavod = 2,
/obj/item/clothing/suit/storage/toggle/corp/zavod/alt = 2,
/obj/item/clothing/suit/storage/toggle/highvis = 3,
/obj/item/clothing/suit/storage/toggle/highvis_alt = 3,
/obj/item/clothing/suit/storage/toggle/highvis_orange = 3,
/obj/item/clothing/suit/storage/toggle/highvis_red = 3,
/obj/item/clothing/suit/storage/toggle/labcoat/heph = 2,
/obj/item/clothing/suit/storage/toggle/labcoat/zavodskoi = 2,
/obj/item/clothing/suit/storage/toggle/labcoat/zavodskoi/alt = 2,
/obj/item/clothing/suit/storage/toggle/longcoat/heph = 2,
/obj/item/clothing/suit/storage/toggle/longcoat/zavodskoi = 2,
/obj/item/clothing/accessory/poncho/roles/cloak/atmos = 3,
/obj/item/clothing/accessory/poncho/roles/engineering = 3,
/obj/item/clothing/pants/highvis = 3,
/obj/item/clothing/pants/highvis_alt = 3,
/obj/item/clothing/pants/highvis_orange = 3,
/obj/item/clothing/pants/highvis_red = 3,
/obj/item/clothing/glasses/safety/goggles = 3,
/obj/item/clothing/head/bandana/atmos = 2,
/obj/item/clothing/head/beret/atmos = 2,
/obj/item/clothing/head/beret/corporate/heph = 3,
/obj/item/clothing/head/beret/corporate/zavod = 2,
/obj/item/clothing/head/beret/corporate/zavod/alt = 2,
/obj/item/clothing/head/hardhat/orange = 2,
/obj/item/clothing/head/hardhat/green = 2,
/obj/item/clothing/head/hardhat/red = 2,
/obj/item/clothing/head/sidecap/zavod = 3,
/obj/item/clothing/head/sidecap/zavod/alt = 3,
/obj/item/clothing/head/softcap/atmos = 2,
/obj/item/clothing/head/softcap/zavod = 2,
/obj/item/clothing/head/softcap/zavod/alt = 2,
/obj/item/clothing/head/wool/heph = 4,
/obj/item/clothing/head/wool/zavod = 2,
/obj/item/clothing/head/wool/zavod/alt = 2,
/obj/item/clothing/shoes/sneakers/orange = 4,
/obj/item/clothing/shoes/workboots/dark = 4,
/obj/item/clothing/shoes/workboots/toeless = 2,
/obj/item/storage/backpack/industrial = 6,
/obj/item/storage/backpack/heph = 4,
/obj/item/storage/backpack/zavod = 4,
/obj/item/storage/backpack/duffel/eng = 6,
/obj/item/storage/backpack/duffel/heph = 4,
/obj/item/storage/backpack/duffel/zavod = 4,
/obj/item/storage/backpack/cloak/engi = 3,
/obj/item/storage/backpack/cloak/heph = 2,
/obj/item/storage/backpack/cloak/zavod = 2
)
premium = list(
/obj/item/toy/figure/atmos = 3,
/obj/item/toy/figure/ce = 2
)
contraband = list(
/obj/item/clothing/under/rank/engineer/einstein = 4
)
light_color = COLOR_GOLD
/obj/machinery/vending/wardrobe/sec_wardrobe
name = "\improper SecDrobe"
desc = "A vending machine for security and security-related clothing!"
icon_state = "secdrobe"
icon_deny = "secdrobe-deny"
light_mask = "clothes-lightmask"
product_ads = "Beat perps in style!;You have the right to be fashionable!;Now you can be the fashion police you always wanted to be!;Blood on your uniform? Don't wash it out, get a one!;Be more than a mall cop!"
vend_reply = "Thank you for using SecDrobe!"
products = list(
/obj/item/clothing/under/rank/cadet = 4,
/obj/item/clothing/under/rank/cadet/idris = 3,
/obj/item/clothing/under/rank/cadet/pmc = 3,
/obj/item/clothing/under/rank/cadet/zavod = 3,
/obj/item/clothing/under/rank/security = 4,
/obj/item/clothing/under/rank/security/idris = 3,
/obj/item/clothing/under/rank/security/idris/idrissec = 3,
/obj/item/clothing/under/rank/security/idris/idrissec/alt = 3,
/obj/item/clothing/under/rank/security/pmc = 3,
/obj/item/clothing/under/rank/security/pmc/pmcsec = 3,
/obj/item/clothing/under/rank/security/pmc/pmcsec/alt = 3,
/obj/item/clothing/under/rank/security/zavod = 3,
/obj/item/clothing/under/rank/security/zavod/zavodsec = 3,
/obj/item/clothing/under/rank/security/zavod/zavodsec/alt = 3,
/obj/item/clothing/under/det = 2,
/obj/item/clothing/under/det/idris = 2,
/obj/item/clothing/under/det/idris/alt = 2,
/obj/item/clothing/under/det/pmc = 2,
/obj/item/clothing/under/det/pmc/alt = 2,
/obj/item/clothing/under/det/zavod = 2,
/obj/item/clothing/under/det/zavod/alt = 2,
/obj/item/clothing/under/rank/warden = 2,
/obj/item/clothing/under/rank/warden/idris = 2,
/obj/item/clothing/under/rank/warden/pmc = 2,
/obj/item/clothing/under/rank/warden/zavod = 2,
/obj/item/clothing/suit/storage/hooded/wintercoat/security = 8,
/obj/item/clothing/suit/storage/hooded/wintercoat/idris = 4,
/obj/item/clothing/suit/storage/hooded/wintercoat/idris/alt = 4,
/obj/item/clothing/suit/storage/hooded/wintercoat/pmc = 4,
/obj/item/clothing/suit/storage/hooded/wintercoat/zavod = 4,
/obj/item/clothing/suit/storage/hooded/wintercoat/zavod/alt = 4,
/obj/item/clothing/suit/storage/security/officer/idris = 2,
/obj/item/clothing/suit/storage/security/officer/idris/alt = 2,
/obj/item/clothing/suit/storage/security/officer/pmc = 4,
/obj/item/clothing/suit/storage/security/officer/zav = 2,
/obj/item/clothing/suit/storage/security/officer/zav/alt = 2,
/obj/item/clothing/suit/storage/security/investigator = 2,
/obj/item/clothing/suit/storage/security/investigator/idris = 2,
/obj/item/clothing/suit/storage/security/investigator/pmc = 2,
/obj/item/clothing/suit/storage/security/investigator/zavod = 2,
/obj/item/clothing/suit/storage/toggle/warden = 2,
/obj/item/clothing/suit/storage/toggle/warden/idris = 2,
/obj/item/clothing/suit/storage/toggle/warden/pmc = 2,
/obj/item/clothing/suit/storage/toggle/warden/zavod = 2,
/obj/item/clothing/suit/storage/toggle/warden/zavod/alt = 2,
/obj/item/clothing/suit/storage/toggle/corp/idris = 2,
/obj/item/clothing/suit/storage/toggle/corp/idris/alt = 2,
/obj/item/clothing/suit/storage/toggle/corp/pmc = 4,
/obj/item/clothing/suit/storage/toggle/corp/zavod = 2,
/obj/item/clothing/suit/storage/toggle/corp/zavod/alt = 2,
/obj/item/clothing/suit/storage/toggle/labcoat/idris = 4,
/obj/item/clothing/suit/storage/toggle/labcoat/idris/alt = 4,
/obj/item/clothing/suit/storage/toggle/labcoat/pmc = 4,
/obj/item/clothing/suit/storage/toggle/labcoat/pmc/alt = 4,
/obj/item/clothing/suit/storage/toggle/labcoat/zavodskoi = 4,
/obj/item/clothing/suit/storage/toggle/labcoat/zavodskoi/alt = 4,
/obj/item/clothing/suit/storage/toggle/longcoat/idris = 4,
/obj/item/clothing/suit/storage/toggle/longcoat/pmc = 4,
/obj/item/clothing/suit/storage/toggle/longcoat/zavodskoi = 4,
/obj/item/clothing/suit/storage/toggle/sec_dep_jacket = 8,
/obj/item/clothing/accessory/holster/waist = 8,
/obj/item/clothing/accessory/poncho/roles/cloak/security = 8,
/obj/item/clothing/gloves/black_leather = 8,
/obj/item/clothing/mask/balaclava = 4,
/obj/item/clothing/head/bandana/security = 8,
/obj/item/clothing/head/beret/security = 4,
/obj/item/clothing/head/beret/security/officer = 4,
/obj/item/clothing/head/beret/corporate/idris = 4,
/obj/item/clothing/head/beret/corporate/idris/alt = 4,
/obj/item/clothing/head/beret/corporate/zavod = 4,
/obj/item/clothing/head/beret/corporate/zavod/alt = 4,
/obj/item/clothing/head/peaked_cap/idris = 4,
/obj/item/clothing/head/peaked_cap/idris/no_logo = 4,
/obj/item/clothing/head/sidecap/pmcg = 4,
/obj/item/clothing/head/sidecap/zavod = 4,
/obj/item/clothing/head/sidecap/zavod/alt = 4,
/obj/item/clothing/head/softcap/security = 8,
/obj/item/clothing/head/softcap/idris = 4,
/obj/item/clothing/head/softcap/idris/alt = 4,
/obj/item/clothing/head/softcap/pmc = 4,
/obj/item/clothing/head/softcap/zavod = 4,
/obj/item/clothing/head/softcap/zavod/alt = 4,
/obj/item/clothing/head/warden = 2,
/obj/item/clothing/head/warden/idris = 2,
/obj/item/clothing/head/warden/pmc = 2,
/obj/item/clothing/head/warden/zavod = 2,
/obj/item/clothing/head/warden/zavod/alt = 2,
/obj/item/clothing/head/wool/idris = 4,
/obj/item/clothing/head/wool/idris/alt = 4,
/obj/item/clothing/head/wool/pmc = 4,
/obj/item/clothing/head/wool/zavod = 4,
/obj/item/clothing/head/wool/zavod/alt = 4,
/obj/item/clothing/shoes/jackboots = 8,
/obj/item/clothing/shoes/jackboots/toeless = 6,
/obj/item/storage/backpack/security = 6,
/obj/item/storage/backpack/idris = 4,
/obj/item/storage/backpack/pmcg = 4,
/obj/item/storage/backpack/zavod = 4,
/obj/item/storage/backpack/duffel/sec = 6,
/obj/item/storage/backpack/duffel/idris = 4,
/obj/item/storage/backpack/duffel/pmcg = 4,
/obj/item/storage/backpack/duffel/zavod = 4,
/obj/item/storage/backpack/cloak/phalanx = 2,
/obj/item/storage/backpack/cloak/sec = 2,
/obj/item/storage/backpack/cloak/zavod = 2
)
premium = list(
/obj/item/toy/figure/secofficer = 6,
/obj/item/toy/figure/detective = 2,
/obj/item/toy/figure/warden = 2,
/obj/item/toy/figure/hos = 2,
/obj/item/clothing/accessory/storage/bayonet = 4
)
contraband = list(
/obj/item/clothing/under/rank/security/einstein = 4
)
light_color = COLOR_PALE_BLUE_GRAY
/obj/machinery/vending/wardrobe/bar_wardrobe
name = "BarDrobe"
desc = "A stylish vendor to dispense the most stylish bar clothing!"
icon_state = "bardrobe"
icon_deny = "bardrobe-deny"
light_mask = "clothes-lightmask"
product_ads = "Now 12% more stain-resistant!;Better-dressed bartenders get better tips! Hint hint!;Let's class this joint up! Or down, your call!;How's it feel to be the coolest part of the Service department?"
vend_reply = "Thank you for using the BarDrobe!"
products = list(
/obj/item/clothing/under/sl_suit = 3,
/obj/item/clothing/under/rank/bartender = 3,
/obj/item/clothing/under/suit_jacket = 3,
/obj/item/clothing/under/suit_jacket/burgundy = 3,
/obj/item/clothing/under/suit_jacket/navy = 3,
/obj/item/clothing/under/suit_jacket/really_black = 3,
/obj/item/clothing/under/suit_jacket/red = 3,
/obj/item/clothing/suit/storage/bartender = 3,
/obj/item/clothing/suit/storage/bartender/idris = 3,
/obj/item/clothing/suit/storage/bartender/orion = 3,
/obj/item/clothing/suit/storage/hooded/wintercoat/idris = 2,
/obj/item/clothing/suit/storage/hooded/wintercoat/idris/alt = 2,
/obj/item/clothing/suit/storage/hooded/wintercoat/nt = 2,
/obj/item/clothing/suit/storage/hooded/wintercoat/orion = 2,
/obj/item/clothing/suit/storage/hooded/wintercoat/orion/alt = 2,
/obj/item/clothing/suit/storage/toggle/corp/nt = 2,
/obj/item/clothing/suit/storage/toggle/corp/orion = 2,
/obj/item/clothing/suit/storage/toggle/corp/orion/alt = 2,
/obj/item/clothing/accessory/wcoat = 3,
/obj/item/clothing/head/bowler = 3,
/obj/item/clothing/head/flatcap/bartender = 3,
/obj/item/clothing/head/flatcap/bartender/idris = 3,
/obj/item/clothing/head/flatcap/bartender/orion = 3,
/obj/item/clothing/head/pin/flower = 3,
/obj/item/clothing/head/pin/flower/blue = 3,
/obj/item/clothing/head/pin/flower/pink = 3,
/obj/item/clothing/head/pin/flower/yellow = 3,
/obj/item/clothing/head/pin/magnetic = 3,
/obj/item/clothing/head/softcap/idris = 3,
/obj/item/clothing/head/softcap/idris/alt = 3,
/obj/item/clothing/head/softcap/nt = 3,
/obj/item/clothing/head/softcap/orion = 3,
/obj/item/clothing/head/wool/idris = 3,
/obj/item/clothing/head/wool/idris/alt = 3,
/obj/item/clothing/head/wool/nt = 3,
/obj/item/clothing/head/wool/orion = 3,
/obj/item/clothing/head/wool/orion/alt = 3,
/obj/item/clothing/head/top_hat = 3,
/obj/item/clothing/shoes/laceup = 3,
/obj/item/clothing/shoes/laceup/grey = 3,
/obj/item/clothing/shoes/sneakers/black = 3,
/obj/item/storage/backpack/idris = 2,
/obj/item/storage/backpack/nt = 2,
/obj/item/storage/backpack/orion = 2,
/obj/item/storage/backpack/duffel/idris = 2,
/obj/item/storage/backpack/duffel/nt = 2,
/obj/item/storage/backpack/duffel/orion = 2,
/obj/item/storage/backpack/cloak/orion = 2
)
premium = list(
/obj/item/toy/figure/bartender = 3,
/obj/item/clothing/accessory/storage/bandolier = 2,
/obj/item/clothing/head/bearpelt = 2,
/obj/item/clothing/head/cowboy = 2,
/obj/item/clothing/head/fez = 2,
/obj/item/clothing/glasses/monocle = 2
)
contraband = list(
/obj/item/clothing/head/welding = 2
)
light_color = COLOR_PALE_BLUE_GRAY
/obj/machinery/vending/wardrobe/chef_wardrobe
name = "ChefDrobe"
desc = "This vending machine might not dispense food, but it certainly dispenses chef-related clothing."
icon_state = "chefdrobe"
icon_deny = "chefdrobe-deny"
light_mask = "clothes-lightmask"
product_ads = "Now 17% more stain-resistant!;Won't make your food taste any better, but you'll look good!;The taller the hat, the better the chef.;Did you leave something on the stove?;About time you got some sweet fit!"
vend_reply = "Thank you for using the ChefDrobe!"
products = list(
/obj/item/clothing/under/rank/chef = 3,
/obj/item/clothing/under/rank/chef/idris = 3,
/obj/item/clothing/under/rank/chef/orion = 3,
/obj/item/clothing/under/waiter = 3,
/obj/item/clothing/suit/storage/hooded/wintercoat/idris = 2,
/obj/item/clothing/suit/storage/hooded/wintercoat/idris/alt = 2,
/obj/item/clothing/suit/storage/hooded/wintercoat/nt = 2,
/obj/item/clothing/suit/storage/hooded/wintercoat/orion = 2,
/obj/item/clothing/suit/storage/hooded/wintercoat/orion/alt = 2,
/obj/item/clothing/suit/storage/toggle/corp/nt = 2,
/obj/item/clothing/suit/storage/toggle/corp/orion = 2,
/obj/item/clothing/suit/storage/toggle/corp/orion/alt = 2,
/obj/item/clothing/accessory/wcoat = 3,
/obj/item/clothing/head/hairnet = 3,
/obj/item/clothing/head/chefhat = 3,
/obj/item/clothing/head/chefhat/nt = 3,
/obj/item/clothing/head/chefhat/idris = 3,
/obj/item/clothing/head/chefhat/orion = 3,
/obj/item/clothing/head/softcap/idris = 3,
/obj/item/clothing/head/softcap/idris/alt = 3,
/obj/item/clothing/head/softcap/nt = 3,
/obj/item/clothing/head/softcap/orion = 3,
/obj/item/clothing/head/wool/idris = 3,
/obj/item/clothing/head/wool/idris/alt = 3,
/obj/item/clothing/head/wool/nt = 3,
/obj/item/clothing/head/wool/orion = 3,
/obj/item/clothing/head/wool/orion/alt = 3,
/obj/item/storage/box/gloves = 3,
/obj/item/storage/backpack/idris = 2,
/obj/item/storage/backpack/nt = 2,
/obj/item/storage/backpack/orion = 2,
/obj/item/storage/backpack/duffel/idris = 2,
/obj/item/storage/backpack/duffel/nt = 2,
/obj/item/storage/backpack/duffel/orion = 2,
/obj/item/storage/backpack/cloak/nt = 2,
/obj/item/storage/backpack/cloak/orion = 2
)
premium = list(
/obj/item/toy/figure/chef = 3
)
light_color = COLOR_PALE_BLUE_GRAY
/obj/machinery/vending/wardrobe/jani_wardrobe
name = "JaniDrobe"
desc = "A self-cleaning vending machine capable of dispensing clothing for janitors."
icon_state = "janidrobe"
icon_deny = "janidrobe-deny"
light_mask = "clothes-lightmask"
product_ads = "Now endorsed by lizard janitors everywhere!;Proudly represent Janitor Nation!;Don't worry, purple is in this season!;Clothes covered in hydraulic fluid and blood? Get some ones!;Fuck the haters. You look great."
vend_reply = "Thank you for using JaniDrobe!"
products = list(
/obj/item/clothing/under/rank/janitor = 3,
/obj/item/clothing/under/rank/janitor/alt = 3,
/obj/item/clothing/under/rank/janitor/idris = 3,
/obj/item/clothing/under/rank/janitor/idris/alt = 3,
/obj/item/clothing/under/rank/janitor/orion = 3,
/obj/item/clothing/suit/caution = 6,
/obj/item/clothing/suit/storage/hazardvest = 5,
/obj/item/clothing/suit/storage/hazardvest/purple = 4,
/obj/item/clothing/suit/storage/hooded/wintercoat/idris = 2,
/obj/item/clothing/suit/storage/hooded/wintercoat/idris/alt = 2,
/obj/item/clothing/suit/storage/hooded/wintercoat/nt = 2,
/obj/item/clothing/suit/storage/hooded/wintercoat/orion = 2,
/obj/item/clothing/suit/storage/hooded/wintercoat/orion/alt = 2,
/obj/item/clothing/suit/storage/toggle/corp/nt = 2,
/obj/item/clothing/suit/storage/toggle/corp/orion = 2,
/obj/item/clothing/suit/storage/toggle/corp/orion/alt = 2,
/obj/item/clothing/suit/storage/toggle/highvis = 5,
/obj/item/clothing/suit/storage/toggle/highvis_alt = 5,
/obj/item/clothing/suit/storage/toggle/highvis_orange = 5,
/obj/item/clothing/suit/storage/toggle/highvis_red = 5,
/obj/item/storage/belt/custodial = 3,
/obj/item/clothing/accessory/holster/utility/custodial/armpit = 2,
/obj/item/clothing/accessory/holster/utility/custodial/hip = 2,
/obj/item/clothing/pants/highvis = 3,
/obj/item/clothing/pants/highvis_alt = 3,
/obj/item/clothing/pants/highvis_orange = 3,
/obj/item/clothing/pants/highvis_red = 3,
/obj/item/clothing/head/bandana/janitor = 3,
/obj/item/clothing/head/beret/janitor = 3,
/obj/item/clothing/head/softcap/idris = 3,
/obj/item/clothing/head/softcap/idris/alt = 3,
/obj/item/clothing/head/softcap/idris/custodian = 3,
/obj/item/clothing/head/softcap/nt = 3,
/obj/item/clothing/head/softcap/nt/custodian = 3,
/obj/item/clothing/head/softcap/orion = 3,
/obj/item/clothing/head/wool/idris = 3,
/obj/item/clothing/head/wool/idris/alt = 3,
/obj/item/clothing/head/wool/nt = 3,
/obj/item/clothing/head/wool/orion = 3,
/obj/item/clothing/head/wool/orion/alt = 3,
/obj/item/clothing/gloves/janitor = 4,
/obj/item/clothing/gloves/janitor/tajara = 2,
/obj/item/clothing/gloves/janitor/unathi = 2,
/obj/item/clothing/gloves/janitor/vaurca = 2,
/obj/item/clothing/glasses/safety/goggles = 6,
/obj/item/clothing/shoes/galoshes = 4,
/obj/item/storage/backpack/idris = 2,
/obj/item/storage/backpack/nt = 2,
/obj/item/storage/backpack/orion = 2,
/obj/item/storage/backpack/duffel/idris = 2,
/obj/item/storage/backpack/duffel/nt = 2,
/obj/item/storage/backpack/duffel/orion = 2,
/obj/item/storage/backpack/cloak/nt = 2,
/obj/item/storage/backpack/cloak/orion = 2
)
premium = list(
/obj/item/toy/figure/janitor = 6
)
light_color = COLOR_LIME
/obj/machinery/vending/wardrobe/hydro_wardrobe
name = "HyDrobe"
desc = "A machine with a catchy name. It dispenses botany-related clothing and gear."
icon_state = "hydrobe"
icon_deny = "hydrobe-deny"
light_mask = "clothes-lightmask"
product_ads = "Do you love soil? Then buy our clothes!;Get outfits to match your green thumb here!;Soil resistant! Or absorbant! Who cares!;Guaranteed-ish to make plants grow faster if you wear it!;Can you hear them speaking too?"
vend_reply = "Thank you for using HyDrobe!"
products = list(
/obj/item/clothing/suit/storage/hooded/wintercoat/hydro = 4,
/obj/item/clothing/suit/storage/hooded/wintercoat/idris = 2,
/obj/item/clothing/suit/storage/hooded/wintercoat/idris/alt = 2,
/obj/item/clothing/suit/storage/hooded/wintercoat/nt = 2,
/obj/item/clothing/suit/storage/hooded/wintercoat/orion = 2,
/obj/item/clothing/suit/storage/hooded/wintercoat/orion/alt = 2,
/obj/item/clothing/suit/storage/toggle/corp/nt = 2,
/obj/item/clothing/suit/storage/toggle/corp/orion = 2,
/obj/item/clothing/suit/storage/toggle/corp/orion/alt = 2,
/obj/item/clothing/suit/storage/toggle/labcoat/idris = 2,
/obj/item/clothing/suit/storage/toggle/labcoat/nt = 2,
/obj/item/clothing/suit/storage/toggle/labcoat/orion = 2,
/obj/item/clothing/suit/storage/toggle/longcoat/idris = 2,
/obj/item/clothing/suit/storage/toggle/longcoat/nt = 2,
/obj/item/clothing/suit/storage/toggle/longcoat/orion = 2,
/obj/item/clothing/head/bandana/hydro = 3,
/obj/item/clothing/head/bandana/hydro/idris = 3,
/obj/item/clothing/head/bandana/hydro/nt = 3,
/obj/item/clothing/head/bandana/hydro/orion = 3,
/obj/item/clothing/head/beret/hydro = 3,
/obj/item/clothing/head/softcap/hydro = 3,
/obj/item/clothing/head/softcap/idris = 3,
/obj/item/clothing/head/softcap/idris/alt = 3,
/obj/item/clothing/head/softcap/idris/custodian = 3,
/obj/item/clothing/head/softcap/nt = 3,
/obj/item/clothing/head/softcap/nt/custodian = 3,
/obj/item/clothing/head/softcap/orion = 3,
/obj/item/clothing/head/wool/idris = 3,
/obj/item/clothing/head/wool/idris/alt = 3,
/obj/item/clothing/head/wool/nt = 3,
/obj/item/clothing/head/wool/orion = 3,
/obj/item/clothing/head/wool/orion/alt = 3,
/obj/item/storage/backpack/hydroponics = 5,
/obj/item/storage/backpack/idris = 2,
/obj/item/storage/backpack/nt = 2,
/obj/item/storage/backpack/orion = 2,
/obj/item/storage/backpack/duffel/hyd = 5,
/obj/item/storage/backpack/duffel/idris = 2,
/obj/item/storage/backpack/duffel/nt = 2,
/obj/item/storage/backpack/duffel/orion = 2,
/obj/item/storage/backpack/cloak/nt = 2,
/obj/item/storage/backpack/cloak/orion = 2
)
premium = list(
/obj/item/toy/figure/gardener = 3
)
light_color = COLOR_LIME
/obj/machinery/vending/wardrobe/chap_wardrobe
name = "ChapelDrobe"
desc = "God wills your purchase."
icon_state = "chapdrobe"
icon_deny = "chapdrobe-deny"
light_mask = "clothes-lightmask"
product_ads = "Maybe they'd listen if you dressed better?;Clothes for people of the cloth!;No laity allowed!"
vend_reply = "Thank you for using ChapelDrobe!"
products = list(
/obj/item/clothing/under/rank/chaplain = 3,
/obj/item/clothing/under/tajaran/matake = 3,
/obj/item/clothing/under/unathi/skakh = 2,
/obj/item/clothing/under/unathi/skakh/fisher = 2,
/obj/item/clothing/under/unathi/skakh/healer = 2,
/obj/item/clothing/under/unathi/skakh/warrior = 2,
/obj/item/clothing/suit/nun = 3,
/obj/item/clothing/head/chaplain_hood = 3,
/obj/item/clothing/head/nun_hood = 3,
/obj/item/clothing/head/hijab = 3,
/obj/item/clothing/head/turban = 3,
/obj/item/clothing/head/kippah = 3,
/obj/item/clothing/head/unathi/maxtlatl = 3,
/obj/item/clothing/mask/trinary_mask = 3,
/obj/item/clothing/mask/gas/unathi = 3,
/obj/item/clothing/mask/tajara = 3,
/obj/item/clothing/shoes/sneakers/black = 3,
/obj/item/storage/box/fancy/candle_box = 3,
/obj/item/storage/box/fancy/candle_box = 3,
/obj/item/deck/tarot = 3,
/obj/item/deck/tarot/nralakk = 2,
/obj/item/deck/tarot/nonnralakk = 2,
/obj/item/deck/tarot/adhomai = 2,
/obj/item/deck/lyodii = 2
)
contraband = list(
/obj/item/clothing/suit/cultrobes/alt = 2,
/obj/item/clothing/head/culthood/alt = 2,
/obj/item/clothing/shoes/cult = 2,
/obj/item/clothing/head/tajaran/raskara = 2
)
premium = list(
/obj/item/toy/figure/chaplain = 3
)
light_color = COLOR_PALE_BLUE_GRAY
/obj/machinery/vending/wardrobe/science_wardrobe
name = "SciDrobe"
desc = "A simple vending machine suitable to dispense well-tailored science clothing."
icon_state = "scidrobe"
product_ads = "Surely nothing will go wrong!;Leave a pretty corpse!;Be remembered for your slick fashion sense!"
vend_reply = "Thank you for using SciDrobe!"
products = list(
/obj/item/clothing/under/rank/scientist/intern = 3,
/obj/item/clothing/under/rank/scientist/intern/zavod = 2,
/obj/item/clothing/under/rank/scientist/intern/zeng = 2,
/obj/item/clothing/under/rank/scientist = 6,
/obj/item/clothing/under/rank/scientist/zavod = 3,
/obj/item/clothing/under/rank/scientist/zeng = 3,
/obj/item/clothing/under/rank/scientist/botany = 6,
/obj/item/clothing/under/rank/scientist/botany/zavod = 3,
/obj/item/clothing/under/rank/scientist/botany/zeng = 3,
/obj/item/clothing/under/rank/scientist/xenobio = 6,
/obj/item/clothing/under/rank/scientist/xenobio/zavod = 3,
/obj/item/clothing/under/rank/scientist/xenobio/zeng = 3,
/obj/item/clothing/under/rank/scientist/xenoarchaeologist = 6,
/obj/item/clothing/under/rank/scientist/xenoarchaeologist/zavod = 3,
/obj/item/clothing/under/rank/scientist/xenoarchaeologist/zeng = 3,
/obj/item/clothing/under/rank/scientist/anomalist = 6,
/obj/item/clothing/under/rank/scientist/anomalist/zavod = 3,
/obj/item/clothing/under/rank/scientist/anomalist/zeng = 3,
/obj/item/clothing/suit/storage/hooded/wintercoat/science = 8,
/obj/item/clothing/suit/storage/hooded/wintercoat/nt = 6,
/obj/item/clothing/suit/storage/hooded/wintercoat/zavod = 3,
/obj/item/clothing/suit/storage/hooded/wintercoat/zavod/alt = 3,
/obj/item/clothing/suit/storage/hooded/wintercoat/zeng = 3,
/obj/item/clothing/suit/storage/hooded/wintercoat/zeng/alt = 3,
/obj/item/clothing/suit/storage/toggle/sci_dep_jacket = 6,
/obj/item/clothing/suit/storage/toggle/corp/nt = 4,
/obj/item/clothing/suit/storage/toggle/corp/zavod = 2,
/obj/item/clothing/suit/storage/toggle/corp/zavod/alt = 2,
/obj/item/clothing/suit/storage/toggle/corp/zeng = 2,
/obj/item/clothing/suit/storage/toggle/corp/zeng/alt = 2,
/obj/item/clothing/suit/storage/toggle/labcoat = 6,
/obj/item/clothing/suit/storage/toggle/labcoat/nt = 4,
/obj/item/clothing/suit/storage/toggle/labcoat/zavodskoi = 2,
/obj/item/clothing/suit/storage/toggle/labcoat/zavodskoi/alt = 2,
/obj/item/clothing/suit/storage/toggle/labcoat/zeng = 2,
/obj/item/clothing/suit/storage/toggle/labcoat/zeng/alt = 2,
/obj/item/clothing/head/bandana/science = 8,
/obj/item/clothing/head/beret/science = 6,
/obj/item/clothing/head/beret/corporate/zavod = 3,
/obj/item/clothing/head/beret/corporate/zavod/alt = 3,
/obj/item/clothing/head/beret/corporate/zeng = 3,
/obj/item/clothing/head/beret/corporate/zeng/alt = 3,
/obj/item/clothing/head/softcap/science = 6,
/obj/item/clothing/head/softcap/nt = 4,
/obj/item/clothing/head/softcap/zavod = 3,
/obj/item/clothing/head/softcap/zavod/alt = 3,
/obj/item/clothing/head/softcap/zeng = 3,
/obj/item/clothing/head/wool/nt = 6,
/obj/item/clothing/head/wool/zeng = 3,
/obj/item/clothing/head/wool/zeng/alt = 3,
/obj/item/clothing/head/wool/zavod = 3,
/obj/item/clothing/head/wool/zavod/alt = 3,
/obj/item/clothing/accessory/poncho/roles/science = 8,
/obj/item/clothing/shoes/sneakers/medsci = 8,
/obj/item/clothing/shoes/sneakers/medsci/zavod = 4,
/obj/item/clothing/shoes/sneakers/medsci/zeng = 4,
/obj/item/storage/backpack/toxins = 8,
/obj/item/storage/backpack/nt = 4,
/obj/item/storage/backpack/zavod = 4,
/obj/item/storage/backpack/zeng = 4,
/obj/item/storage/backpack/duffel/tox = 8,
/obj/item/storage/backpack/duffel/nt = 4,
/obj/item/storage/backpack/duffel/zavod = 4,
/obj/item/storage/backpack/duffel/zeng = 4,
/obj/item/storage/backpack/cloak/sci = 4,
/obj/item/storage/backpack/cloak/nt = 2,
/obj/item/storage/backpack/cloak/zavod = 2
)
contraband = list(
/obj/item/clothing/under/rank/scientist/einstein = 4
)
premium = list(
/obj/item/toy/figure/scientist = 8
)
light_color = COLOR_PALE_BLUE_GRAY
/obj/machinery/vending/wardrobe/medi_wardrobe
name = "\improper MediDrobe"
desc = "A vending machine rumoured to be capable of dispensing clothing for medical personnel."
icon_state = "medidrobe"
product_ads = "Blood is always a great accent color!;Look like you stepped right off the set of a med drama holo!;Save lives AND look good!"
vend_reply = "Thank you for using MediDrobe!"
products = list(
/obj/item/clothing/under/rank/medical/intern = 3,
/obj/item/clothing/under/rank/medical/intern/pmc/alt = 2,
/obj/item/clothing/under/rank/medical/intern/zeng = 2,
/obj/item/clothing/under/rank/medical = 6,
/obj/item/clothing/under/rank/medical/pmc/alt = 3,
/obj/item/clothing/under/rank/medical/pmc/nexus = 3,
/obj/item/clothing/under/rank/medical/zeng = 3,
/obj/item/clothing/under/rank/medical/paramedic/pmc/alt = 2,
/obj/item/clothing/under/rank/medical/paramedic/pmc/epmc = 2,
/obj/item/clothing/under/rank/medical/paramedic/pmc/nexus = 2,
/obj/item/clothing/under/rank/medical/paramedic/pmc/sekh = 2,
/obj/item/clothing/under/rank/medical/paramedic/pmc/vekatak_phalanx = 2,
/obj/item/clothing/under/rank/medical/paramedic/zeng = 2,
/obj/item/clothing/under/rank/medical/psych = 3,
/obj/item/clothing/under/rank/medical/psych/pmc/alt = 2,
/obj/item/clothing/under/rank/medical/psych/zeng = 2,
/obj/item/clothing/under/rank/medical/surgeon = 3,
/obj/item/clothing/under/rank/medical/surgeon/pmc/alt = 2,
/obj/item/clothing/under/rank/medical/surgeon/zeng = 2,
/obj/item/clothing/under/medical_gown = 6,
/obj/item/clothing/under/medical_gown/white = 6,
/obj/item/clothing/suit/storage/surgical_gown/nt = 3,
/obj/item/clothing/suit/storage/surgical_gown/zeng = 3,
/obj/item/clothing/suit/storage/surgical_gown/pmc/alt = 3,
/obj/item/clothing/suit/storage/hooded/wintercoat/medical = 6,
/obj/item/clothing/suit/storage/hooded/wintercoat/nt = 4,
/obj/item/clothing/suit/storage/hooded/wintercoat/pmc/alt = 4,
/obj/item/clothing/suit/storage/hooded/wintercoat/zeng = 2,
/obj/item/clothing/suit/storage/hooded/wintercoat/zeng/alt = 2,
/obj/item/clothing/suit/storage/toggle/med_dep_jacket = 8,
/obj/item/clothing/suit/storage/toggle/corp/nt = 4,
/obj/item/clothing/suit/storage/toggle/corp/pmc/alt = 4,
/obj/item/clothing/suit/storage/toggle/corp/zeng = 2,
/obj/item/clothing/suit/storage/toggle/corp/zeng/alt = 2,
/obj/item/clothing/suit/storage/toggle/para_jacket = 4,
/obj/item/clothing/suit/storage/toggle/para_jacket/pmc = 2,
/obj/item/clothing/suit/storage/toggle/para_jacket/zeng = 2,
/obj/item/clothing/suit/storage/toggle/labcoat = 8,
/obj/item/clothing/suit/storage/toggle/labcoat/epmc = 4,
/obj/item/clothing/suit/storage/toggle/labcoat/nexus = 4,
/obj/item/clothing/suit/storage/toggle/labcoat/nt = 4,
/obj/item/clothing/suit/storage/toggle/labcoat/zeng = 2,
/obj/item/clothing/suit/storage/toggle/labcoat/zeng/alt = 2,
/obj/item/clothing/head/bandana/medical = 8,
/obj/item/clothing/head/surgery = 4,
/obj/item/clothing/head/surgery/generic = 2,
/obj/item/clothing/head/surgery/zeng = 2,
/obj/item/clothing/head/surgery/pmc/alt = 2,
/obj/item/clothing/head/beret/medical = 8,
/obj/item/clothing/head/beret/corporate/pmc/epmc = 4,
/obj/item/clothing/head/beret/corporate/zeng = 2,
/obj/item/clothing/head/beret/corporate/zeng/alt = 2,
/obj/item/clothing/head/softcap/medical = 6,
/obj/item/clothing/head/softcap/nt = 3,
/obj/item/clothing/head/softcap/pmc/epmc = 3,
/obj/item/clothing/head/softcap/zeng = 3,
/obj/item/clothing/head/wool/nt = 4,
/obj/item/clothing/head/wool/pmc/alt = 4,
/obj/item/clothing/head/wool/zeng = 2,
/obj/item/clothing/head/wool/zeng/alt = 2,
/obj/item/clothing/head/hardhat/paramedic = 4,
/obj/item/clothing/mask/surgical = 8,
/obj/item/clothing/accessory/stethoscope = 8,
/obj/item/clothing/accessory/poncho/roles/medical = 6,
/obj/item/clothing/shoes/sneakers/black = 6,
/obj/item/clothing/shoes/sneakers/medsci = 6,
/obj/item/clothing/shoes/sneakers/medsci/pmc = 4,
/obj/item/clothing/shoes/sneakers/medsci/zeng = 4,
/obj/item/storage/backpack/medic = 8,
/obj/item/storage/backpack/emt = 4,
/obj/item/storage/backpack/psychiatrist = 2,
/obj/item/storage/backpack/nt = 4,
/obj/item/storage/backpack/pmcg = 4,
/obj/item/storage/backpack/zeng = 4,
/obj/item/storage/backpack/duffel/med = 8,
/obj/item/storage/backpack/duffel/emt = 4,
/obj/item/storage/backpack/duffel/psych = 2,
/obj/item/storage/backpack/duffel/nt = 4,
/obj/item/storage/backpack/duffel/pmcg = 4,
/obj/item/storage/backpack/duffel/zeng = 4,
/obj/item/storage/backpack/cloak/medical = 4,
/obj/item/storage/backpack/cloak/nt = 2,
/obj/item/storage/backpack/cloak/phalanx = 2
)
premium = list(
/obj/item/toy/figure/md = 6,
/obj/item/toy/figure/paramedic = 4,
/obj/item/toy/figure/psychologist = 2
)
light_color = COLOR_PALE_BLUE_GRAY
/obj/machinery/vending/wardrobe/chem_wardrobe
name = "ChemDrobe"
desc = "A vending machine for dispensing chemistry related clothing."
icon_state = "chemdrobe"
product_ads = "Now 0.5% more resistant to acid spills!;Forget meds, make napalm! Be cool!;Try our new grenade fannypacks!"
vend_reply = "Thank you for using ChemDrobe!"
products = list(
/obj/item/clothing/under/rank/medical/pharmacist = 3,
/obj/item/clothing/under/rank/medical/pharmacist/pmc/alt = 2,
/obj/item/clothing/under/rank/medical/pharmacist/zeng = 2,
/obj/item/clothing/suit/storage/hooded/wintercoat/medical = 4,
/obj/item/clothing/suit/storage/hooded/wintercoat/nt = 3,
/obj/item/clothing/suit/storage/hooded/wintercoat/pmc/alt = 3,
/obj/item/clothing/suit/storage/hooded/wintercoat/zeng = 2,
/obj/item/clothing/suit/storage/hooded/wintercoat/zeng/alt = 2,
/obj/item/clothing/suit/storage/toggle/med_dep_jacket = 4,
/obj/item/clothing/suit/storage/toggle/corp/nt = 3,
/obj/item/clothing/suit/storage/toggle/corp/pmc/alt = 3,
/obj/item/clothing/suit/storage/toggle/corp/zeng = 2,
/obj/item/clothing/suit/storage/toggle/corp/zeng/alt = 2,
/obj/item/clothing/suit/storage/toggle/labcoat = 4,
/obj/item/clothing/suit/storage/toggle/labcoat/epmc = 3,
/obj/item/clothing/suit/storage/toggle/labcoat/nexus = 3,
/obj/item/clothing/suit/storage/toggle/labcoat/nt = 3,
/obj/item/clothing/suit/storage/toggle/labcoat/zeng = 2,
/obj/item/clothing/suit/storage/toggle/labcoat/zeng/alt = 2,
/obj/item/clothing/head/bandana/medical = 4,
/obj/item/clothing/head/beret/medical = 4,
/obj/item/clothing/head/beret/corporate/pmc/epmc = 4,
/obj/item/clothing/head/beret/corporate/zeng = 2,
/obj/item/clothing/head/beret/corporate/zeng/alt = 2,
/obj/item/clothing/head/softcap/medical = 4,
/obj/item/clothing/head/softcap/nt = 3,
/obj/item/clothing/head/softcap/pmc/epmc = 3,
/obj/item/clothing/head/softcap/zeng = 3,
/obj/item/clothing/head/wool/nt = 4,
/obj/item/clothing/head/wool/pmc/alt = 4,
/obj/item/clothing/head/wool/zeng = 2,
/obj/item/clothing/head/wool/zeng/alt = 2,
/obj/item/storage/belt/fannypack = 3,
/obj/item/clothing/accessory/poncho/roles/medical = 3,
/obj/item/clothing/shoes/sneakers/black = 4,
/obj/item/clothing/shoes/sneakers/medsci = 4,
/obj/item/clothing/shoes/sneakers/medsci/pmc = 2,
/obj/item/clothing/shoes/sneakers/medsci/zeng = 2,
/obj/item/storage/backpack/medic = 4,
/obj/item/storage/backpack/pharmacy = 3,
/obj/item/storage/backpack/nt = 3,
/obj/item/storage/backpack/pmcg = 3,
/obj/item/storage/backpack/zeng = 3,
/obj/item/storage/backpack/duffel/med = 4,
/obj/item/storage/backpack/duffel/pharm = 3,
/obj/item/storage/backpack/duffel/nt = 3,
/obj/item/storage/backpack/duffel/pmcg = 3,
/obj/item/storage/backpack/duffel/zeng = 3,
/obj/item/storage/backpack/cloak/medical = 4,
/obj/item/storage/backpack/cloak/nt = 2,
/obj/item/storage/backpack/cloak/phalanx = 2
)
premium = list(
/obj/item/toy/figure/chemist = 3
)
light_color = COLOR_PALE_BLUE_GRAY
/obj/machinery/vending/wardrobe/cargo_wardrobe
name = "CargoDrobe"
desc = "A highly advanced vending machine for buying cargo related clothing for free."
icon_state = "cargodrobe"
product_ads = "These shorts are comfy and easy to wear, get yours now!;Extra sweat-wicking power!;Stop browsing, start wearing, you've got deadlines!"
vend_reply = "Thank you for using the CargoDrobe!"
products = list(
/obj/item/clothing/under/rank/hangar_technician = 3,
/obj/item/clothing/under/rank/hangar_technician/heph = 3,
/obj/item/clothing/under/rank/hangar_technician/orion = 3,
/obj/item/clothing/suit/storage/hooded/wintercoat/cargo = 4,
/obj/item/clothing/suit/storage/hooded/wintercoat/heph = 4,
/obj/item/clothing/suit/storage/hooded/wintercoat/orion = 4,
/obj/item/clothing/suit/storage/toggle/corp/heph = 4,
/obj/item/clothing/suit/storage/toggle/corp/orion = 4,
/obj/item/clothing/suit/storage/toggle/highvis = 3,
/obj/item/clothing/suit/storage/toggle/highvis_alt = 3,
/obj/item/clothing/suit/storage/toggle/highvis_orange = 3,
/obj/item/clothing/suit/storage/toggle/highvis_red = 3,
/obj/item/clothing/pants/shorts/khaki = 24,
/obj/item/clothing/pants/highvis = 3,
/obj/item/clothing/pants/highvis_alt = 3,
/obj/item/clothing/pants/highvis_orange = 3,
/obj/item/clothing/pants/highvis_red = 3,
/obj/item/clothing/head/bandana/cargo = 3,
/obj/item/clothing/head/beret/cargo = 3,
/obj/item/clothing/head/beret/corporate/heph = 3,
/obj/item/clothing/head/beret/corporate/orion = 3,
/obj/item/clothing/head/softcap/cargo = 3,
/obj/item/clothing/head/softcap/orion = 3,
/obj/item/clothing/head/wool/heph = 4,
/obj/item/clothing/head/wool/orion = 4,
/obj/item/clothing/accessory/poncho/roles/cargo = 4,
/obj/item/clothing/accessory/poncho/roles/cloak/cargo = 2,
/obj/item/clothing/glasses/safety/goggles = 3,
/obj/item/clothing/gloves/black = 3,
/obj/item/clothing/gloves/yellow = 3,
/obj/item/clothing/gloves/yellow/specialu = 3,
/obj/item/clothing/gloves/yellow/specialt = 3,
/obj/item/clothing/shoes/sneakers/black = 3,
/obj/item/clothing/shoes/workboots/dark = 4,
/obj/item/clothing/shoes/workboots/toeless = 2,
/obj/item/storage/backpack/heph = 4,
/obj/item/storage/backpack/orion = 4,
/obj/item/storage/backpack/duffel/heph = 4,
/obj/item/storage/backpack/duffel/orion = 4,
/obj/item/storage/backpack/cloak/heph = 2,
/obj/item/storage/backpack/cloak/orion = 2,
/obj/item/device/flashlight/marshallingwand = 3
)
premium = list(
/obj/item/toy/figure/cargotech = 3,
/obj/item/toy/figure/miner = 3
)
light_color = COLOR_GOLD
/obj/machinery/vending/wardrobe/robo_wardrobe
name = "RoboDrobe"
desc = "A vending machine designed to dispense clothing known only to roboticists."
icon_state = "robodrobe"
product_ads = "You turn me TRUE, use defines!;0110001101101100011011100101011001100101;Become 83% less likely to die in The Uprising!"
vend_reply = "Thank you for using the RoboDrobe!"
products = list(
/obj/item/clothing/under/rank/machinist = 3,
/obj/item/clothing/under/rank/machinist/orion = 2,
/obj/item/clothing/under/rank/machinist/heph = 2,
/obj/item/clothing/suit/storage/machinist = 3,
/obj/item/clothing/suit/storage/hooded/wintercoat/cargo = 4,
/obj/item/clothing/suit/storage/hooded/wintercoat/heph = 4,
/obj/item/clothing/suit/storage/hooded/wintercoat/orion = 4,
/obj/item/clothing/suit/storage/toggle/corp/heph = 4,
/obj/item/clothing/suit/storage/toggle/corp/orion = 4,
/obj/item/clothing/suit/storage/toggle/highvis = 3,
/obj/item/clothing/suit/storage/toggle/highvis_alt = 3,
/obj/item/clothing/suit/storage/toggle/highvis_orange = 3,
/obj/item/clothing/suit/storage/toggle/highvis_red = 3,
/obj/item/clothing/suit/storage/toggle/labcoat = 3,
/obj/item/clothing/suit/storage/toggle/labcoat/heph = 2,
/obj/item/clothing/suit/storage/toggle/labcoat/orion = 2,
/obj/item/clothing/suit/storage/toggle/longcoat/heph = 2,
/obj/item/clothing/suit/storage/toggle/longcoat/orion = 2,
/obj/item/clothing/pants/highvis = 3,
/obj/item/clothing/pants/highvis_alt = 3,
/obj/item/clothing/pants/highvis_orange = 3,
/obj/item/clothing/pants/highvis_red = 3,
/obj/item/clothing/head/bandana/cargo = 3,
/obj/item/clothing/head/beret/cargo = 3,
/obj/item/clothing/head/beret/corporate/heph = 3,
/obj/item/clothing/head/beret/corporate/orion = 3,
/obj/item/clothing/head/softcap/cargo = 3,
/obj/item/clothing/head/softcap/orion = 3,
/obj/item/clothing/head/wool/heph = 4,
/obj/item/clothing/head/wool/orion = 4,
/obj/item/clothing/accessory/poncho/roles/cargo = 4,
/obj/item/clothing/accessory/poncho/roles/cloak/cargo = 2,
/obj/item/clothing/glasses/safety/goggles = 3,
/obj/item/clothing/gloves/black = 3,
/obj/item/clothing/gloves/yellow = 3,
/obj/item/clothing/gloves/yellow/specialu = 3,
/obj/item/clothing/gloves/yellow/specialt = 3,
/obj/item/clothing/shoes/sneakers/black = 3,
/obj/item/clothing/shoes/workboots/dark = 4,
/obj/item/clothing/shoes/workboots/toeless = 2,
/obj/item/storage/backpack/heph = 4,
/obj/item/storage/backpack/orion = 4,
/obj/item/storage/backpack/duffel/heph = 4,
/obj/item/storage/backpack/duffel/orion = 4,
/obj/item/storage/backpack/cloak/cargo = 3,
/obj/item/storage/backpack/cloak/heph = 2,
/obj/item/storage/backpack/cloak/orion = 2
)
premium = list(
/obj/item/toy/figure/roboticist = 3,
/obj/item/toy/figure/borg = 3
)
light_color = COLOR_LIME
-114
View File
@@ -1,114 +0,0 @@
/obj/item/device/vending_refill
name = "resupply canister"
desc = "A vending machine restock cart."
icon = 'icons/obj/assemblies/electronic_setups.dmi'
icon_state = "setup_medium-open"
item_state = "restock_unit"
force = 16
throwforce = 10
throw_speed = 1
throw_range = 7
w_class = WEIGHT_CLASS_NORMAL
var/vend_id = "generic"
var/charges = 0
/obj/item/device/vending_refill/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
. = ..()
if(charges > 0)
. += "It can restock [charges] item(s)."
else
. += SPAN_WARNING("It's empty!")
/obj/item/device/vending_refill/proc/restock_inventory(var/obj/machinery/vending/vendor)
if(vendor)
for(var/datum/data/vending_product/product in vendor.product_records)
if(product.amount < product.max_amount)
var/expense = product.max_amount - product.amount
if(charges < expense)
expense = charges
product.amount += expense
charges -= expense
if(!charges)
break
//can refill most vendors from half depleted once.
/obj/item/device/vending_refill/booze
name = "booze resupply canister"
vend_id = "booze"
charges = 100 //holy shit that's a lot of booze
/obj/item/device/vending_refill/tools
name = "tools resupply canister"
vend_id = "tools"
charges = 25
/obj/item/device/vending_refill/coffee
name = "coffee resupply canister"
vend_id = "coffee"
charges = 38
/obj/item/device/vending_refill/snack
name = "snacks resupply canister"
vend_id = "snacks"
charges = 38
/obj/item/device/vending_refill/cola
name = "cola resupply canister"
vend_id = "cola"
charges = 50
/obj/item/device/vending_refill/smokes
name = "smokes resupply canister"
vend_id = "smokes"
charges = 25
/obj/item/device/vending_refill/meds
name = "meds resupply canister"
vend_id = "meds"
charges = 38
/obj/item/device/vending_refill/robust
name = "security resupply canister"
vend_id = "security"
charges = 25
/obj/item/device/vending_refill/hydro
name = "hydro resupply canister"
vend_id = "hydro"
charges = 23
/obj/item/device/vending_refill/seeds
name = "resupply canister"
vend_id = SEED_NOUN_SEEDS
charges = 175
/obj/item/device/vending_refill/cutlery
name = "cutlery resupply canister"
vend_id = "cutlery"
charges = 50
/obj/item/device/vending_refill/robo
name = "robo-tools resupply canister"
vend_id = "robo-tools"
charges = 38
/obj/item/device/vending_refill/zora
name = "Zo'ra Soda resupply canister"
vend_id = "zora"
charges = 40
/obj/item/device/vending_refill/frontiervend
name = "frontiervend resupply canister"
vend_id = "frontiervend"
charges = 220
/obj/item/device/vending_refill/battlemonsters
name = "Battlemonsters resupply canister"
vend_id = "battlemonsters"
charges = 40
/obj/item/device/vending_refill/encryption
name = "encryption key resupply canister"
vend_id = "encryption"
charges = 60
File diff suppressed because it is too large Load Diff
+6 -9
View File
@@ -33,10 +33,16 @@ BLIND // can't see anything
var/activated_color = null
var/normal_layer = GLASSES_LAYER
var/shatter_material = /obj/item/material/shard
var/brand_name
species_restricted = list("exclude",BODYTYPE_VAURCA_BREEDER)
drop_sound = 'sound/items/drop/accessory.ogg'
pickup_sound = 'sound/items/pickup/accessory.ogg'
/obj/item/clothing/glasses/Initialize()
. = ..()
if(brand_name)
desc += " This pair has been made in [brand_name] colors."
// Called in mob/RangedAttack() and mob/UnarmedAttack.
/obj/item/clothing/glasses/proc/Look(var/atom/A, mob/user, var/proximity)
return 0 // return 1 to cancel attack_hand/RangedAttack()
@@ -365,7 +371,6 @@ BLIND // can't see anything
/obj/item/clothing/glasses/safety/goggles/tactical
name = "tactical goggles"
desc = "A stylish pair of tactical goggles that protect the eyes from aerosolized chemicals, debris and bright flashes."
var/brand_name
icon_state = "military_goggles"
var/sprite_state = "military_goggles"
// Implementing this temporarily to use the generic goggle inhands until unique sprites are made.
@@ -381,8 +386,6 @@ BLIND // can't see anything
item_state = sprite_state
off_state = sprite_state
. = ..()
if(brand_name)
desc += " This pair has been made in [brand_name] colors."
/obj/item/clothing/glasses/safety/goggles/tactical/handle_additional_changes()
flash_protection = up ? FLASH_PROTECTION_NONE : FLASH_PROTECTION_MODERATE
@@ -395,7 +398,6 @@ BLIND // can't see anything
/obj/item/clothing/glasses/safety/goggles/goon
name = "tactical goggles"
desc = "A stylish pair of tactical goggles that protect the eyes from aerosolized chemicals, debris and bright flashes. Comes with a security HUD."
var/brand_name
icon_state = "security_goggles"
var/sprite_state = "security_goggles"
// Implementing this temporarily to use the generic goggle inhands until unique sprites are made.
@@ -411,8 +413,6 @@ BLIND // can't see anything
item_state = sprite_state
off_state = sprite_state
. = ..()
if(brand_name)
desc += " This pair has been made in [brand_name] colors."
/obj/item/clothing/glasses/safety/goggles/goon/process_hud(var/mob/M)
if(!up)
@@ -443,7 +443,6 @@ BLIND // can't see anything
/obj/item/clothing/glasses/safety/goggles/medical
name = "medical goggles"
desc = "A stylish pair of medical goggles that protect the eyes from aerosolized chemicals and debris. Comes with a medical HUD."
var/brand_name
icon_state = "security_goggles"
var/sprite_state = "security_goggles"
// Implementing this temporarily to use the generic goggle inhands until unique sprites are made.
@@ -458,8 +457,6 @@ BLIND // can't see anything
item_state = sprite_state
off_state = sprite_state
. = ..()
if(brand_name)
desc += " This pair has been made in [brand_name] colors."
/obj/item/clothing/glasses/safety/goggles/medical/process_hud(var/mob/M)
if(!up)
@@ -1194,6 +1194,7 @@
/// Imparts hallucination effects scaling with bac.
var/alchohol_affected = TRUE
var/messagedelay = MEDICATION_MESSAGE_DELAY
/// Generic fluff messages for anyone who takes it.
var/list/goodmessage = list()
/// Species-specific fluff messages- will override the generic version for the given species. See following comment/example for implementation details.
+62
View File
@@ -0,0 +1,62 @@
################################
# Example Changelog File
#
# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb.
#
# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.)
# When it is, any changes listed below will disappear.
#
# Valid Prefixes:
# bugfix
# - (fixes bugs)
# wip
# - (work in progress)
# qol
# - (quality of life)
# soundadd
# - (adds a sound)
# sounddel
# - (removes a sound)
# rscadd
# - (adds a feature)
# rscdel
# - (removes a feature)
# imageadd
# - (adds an image or sprite)
# imagedel
# - (removes an image or sprite)
# spellcheck
# - (fixes spelling or grammar)
# experiment
# - (experimental change)
# balance
# - (balance changes)
# code_imp
# - (misc internal code change)
# refactor
# - (refactors code)
# config
# - (makes a change to the config files)
# admin
# - (makes changes to administrator tools)
# server
# - (miscellaneous changes to server)
#################################
# Your name.
author: Batrachophrenoboocosmomachia
# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again.
delete-after: True
# Any changes you've made. See valid prefix list above.
# INDENT WITH TWO SPACES. NOT TABS. SPACES.
# SCREW THIS UP AND IT WON'T WORK.
# Also, this gets changed to [] after reading. Just remove the brackets when you add new shit.
# Please surround your changes in double quotes ("). It works without them, but if you use certain characters it screws up compiling. The quotes will not show up in the changelog.
changes:
- rscadd: "Added 13 new 'Drobe' vending machines, containing stock for associated departments/jobs, throughout the ship."
- rscdel: "Removed old wardrobe lockers where a Drobe machine existed to replace them."
- rscadd: "Updated all Vending machine product ads, made them display at random on the purchase screen."
- code_imp: "Split vending machine prefab code for readability, added documentation."
- bugfix: "Added floor 'hatch' markings to existing SCCV Horizon vending machines that were missing them."
@@ -0,0 +1,59 @@
################################
# Example Changelog File
#
# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb.
#
# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.)
# When it is, any changes listed below will disappear.
#
# Valid Prefixes:
# bugfix
# - (fixes bugs)
# wip
# - (work in progress)
# qol
# - (quality of life)
# soundadd
# - (adds a sound)
# sounddel
# - (removes a sound)
# rscadd
# - (adds a feature)
# rscdel
# - (removes a feature)
# imageadd
# - (adds an image or sprite)
# imagedel
# - (removes an image or sprite)
# spellcheck
# - (fixes spelling or grammar)
# experiment
# - (experimental change)
# balance
# - (balance changes)
# code_imp
# - (misc internal code change)
# refactor
# - (refactors code)
# config
# - (makes a change to the config files)
# admin
# - (makes changes to administrator tools)
# server
# - (miscellaneous changes to server)
#################################
# Your name.
author: ChangeMe
# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again.
delete-after: True
# Any changes you've made. See valid prefix list above.
# INDENT WITH TWO SPACES. NOT TABS. SPACES.
# SCREW THIS UP AND IT WON'T WORK.
# Also, this gets changed to [] after reading. Just remove the brackets when you add new shit.
# Please surround your changes in double quotes ("). It works without them, but if you use certain characters it screws up compiling. The quotes will not show up in the changelog.
changes:
- code_imp: "Added support for reagent/mental to return different feedback text strings based on species."
- bugfix: "Koko Reed Juice now only returns drug feedback messages to Unathi."
Binary file not shown.

Before

Width:  |  Height:  |  Size: 83 KiB

After

Width:  |  Height:  |  Size: 111 KiB

@@ -1,922 +0,0 @@
//Engineering
/area/engineering/lobby
name = "Engineering - Lobby"
/area/engineering/storage/tech
name = "Engineering - Technical Storage"
icon_state = "auxstorage"
/area/engineering/storage/lower
name = "Engineering - Lower Deck Storage"
/area/engineering/aft_airlock
name = "Engineering - Aft Service Airlock"
/area/engineering/rust_office
name = "Engineering - INDRA Office"
/area/engineering/engine_room/rust
name = "Engineering - INDRA Engine"
/area/engineering/engine_room/turbine
name = "Engineering - Combustion Turbine"
/area/engineering/smes
name = "Engineering - SM SMES"
icon_state = "engine_smes"
sound_environment = SOUND_AREA_SMALL_ENCLOSED
ambience = AMBIENCE_SINGULARITY
/area/engineering/smes/rust
name = "Engineering - INDRA SMES"
/area/engineering/engine_monitoring/rust
name = "Engineering - INDRA Engine Monitoring"
/area/engineering/atmos/air
name = "Engineering - Air Mixing"
/area/maintenance/substation/engineering/lower
name = "Engineering Substation - Lower Deck"
/area/hallway/engineering
name = "Engineering - Main Hallway"
icon_state = "engineering"
ambience = AMBIENCE_ENGINEERING
holomap_color = HOLOMAP_AREACOLOR_ENGINEERING
/area/hallway/engineering/rust
name = "Engineering - INDRA Hallway"
/area/engineering/bluespace_drive
name = "Engineering - Bluespace Drive"
icon_state = "engine"
/area/engineering/bluespace_drive/monitoring
name = "Engineering - Bluespace Drive"
icon_state = "engineering"
//Medical
/area/medical/ors
name = "Medical - Combined Operating Rooms"
icon_state = "surgery"
/area/medical/exam
name = "Medical - Examination Room"
icon_state = "exam_room"
/area/medical/ward
name = "Medical - Ward"
icon_state = "patients"
/area/medical/ward/isolation
name = "Medical - Isolation Ward"
area_blurb = "This seldom-used ward somehow smells sterile and musty at the same time."
area_blurb_category = "medical_isolation"
/area/medical/emergency_storage
name = "Medical - Lower Deck Emergency Storage"
sound_environment = SOUND_AREA_SMALL_ENCLOSED
/area/medical/morgue/lower
name = "Medical - Morgue"
icon_state = "morgue"
ambience = AMBIENCE_GHOSTLY
/area/medical/equipment
name = "Medical - Equipment Room"
/area/medical/smoking
name = "Medical - Smoking Lounge"
area_blurb = "The smell of cigarette smoke lingers within this room."
area_blurb_category = "medical_smoking"
/area/medical/washroom
name = "Medical - Washroom"
/area/hallway/medical
name = "Medical - Atrium"
holomap_color = HOLOMAP_AREACOLOR_MEDICAL
icon_state = "medbay"
/area/hallway/medical/upper
name = "Medical - Upper Atrium"
/area/hallway/crew_area
name = "Crew Quarters Hallway"
icon_state = "crew_area"
//Research
/area/rnd/conference
name = "Research - Conference Room"
/area/maintenance/substation/xenoarchaeology
name = "Xenoarchaeology Substation"
//Hangar
/area/hangar
name = "Hangar"
icon_state = "bluenew"
ambience = AMBIENCE_HANGAR
sound_environment = SOUND_ENVIRONMENT_HANGAR
station_area = TRUE
holomap_color = HOLOMAP_AREACOLOR_HANGAR
/area/hangar/briefing
name = "Expedition Briefing Room"
sound_environment = SOUND_AREA_LARGE_ENCLOSED
/area/hangar/control
name = "Hangar Control Room"
sound_environment = SOUND_AREA_SMALL_ENCLOSED
/area/hangar/intrepid
name = "Intrepid Hangar"
area_blurb = "A big, open room, home to the SCCV Horizon's largest shuttle, the Intrepid."
area_blurb_category = "intrepid_hanger"
/area/hangar/intrepid/interstitial
name = "Intrepid Hangar Access"
/area/hangar/operations
name = "Operations Hangar"
/area/hangar/auxiliary
name = "Auxiliary Hangar"
/area/maintenance/substation/hangar
name = "Hangar Substation"
//Operations
/area/operations
name = "Operations"
icon_state = "dark"
ambience = AMBIENCE_ENGINEERING
station_area = TRUE
holomap_color = HOLOMAP_AREACOLOR_OPERATIONS
/area/operations/lower
name = "Lower Operations"
icon_state = "dark160"
/area/operations/upper
name = "Upper Operations"
icon_state = "dark128"
/area/operations/storage
name = "Operations Equipment Storage"
icon_state = "dark160"
sound_environment = SOUND_AREA_LARGE_ENCLOSED
area_blurb = "Scuff marks scar the floor from the movement of many crates and stored goods."
area_blurb_category = "ops_warehouse"
/area/operations/lower/machinist
name = "Machinist Workshop"
icon_state = "machinist_workshop"
area_blurb = "The scents of oil and mechanical lubricants fill the air in this workshop."
area_blurb_category = "robotics"
/area/operations/lower/machinist/surgicalbay
name = "Machinist Surgical Bay"
icon_state = "machinist_workshop"
area_blurb = "The scent of sterilized equipment fill the air in this surgical bay."
area_blurb_category = "robotics"
/area/operations/lobby
name = "Operations Lobby"
/area/operations/loading
name = "Operations Bay"
icon_state = "quartloading"
/area/operations/break_room
name = "Operations Break Room"
icon_state = "blue"
/area/operations/office
name = "Operations Office"
icon_state = "quartoffice"
sound_environment = SOUND_AREA_MEDIUM_SOFTFLOOR
/area/operations/office_aux
name = "Operations Office (Aux)"
icon_state = "quartoffice"
sound_environment = SOUND_AREA_MEDIUM_SOFTFLOOR
/area/operations/mail_room
name = "Operations Mail Room"
icon_state = "red"
/area/operations/qm
name = "Operations Manager's Office"
icon_state = "quart"
sound_environment = SOUND_AREA_SMALL_SOFTFLOOR
//Wings
/area/maintenance/substation/wing_starboard
name = "Starboard Wing Substation"
/area/maintenance/substation/wing_port
name = "Port Wing Substation"
/area/maintenance/hangar
name = "Hangar Maintenance"
/area/maintenance/hangar/port
name = "Port Hangar Maintenance"
/area/maintenance/wing/cargo_compartment
name = "Auxiliary Cargo Maintenance"
/area/maintenance/hangar/starboard
name = "Starboard Hangar Maintenance"
/area/maintenance/wing
name = "Wing Frame Maintenance"
icon_state = "fpmaint"
/area/maintenance/wing/starboard
name = "Central Wing Frame Interior - Starboard"
/area/maintenance/wing/starboard/far
name = "Central Wing Frame Interior - Far Starboard"
/area/maintenance/wing/starboard/deck1
name = "Lower Wing Frame Interior - Starboard"
/area/maintenance/wing/port
name = "Central Wing Frame Interior - Port"
/area/maintenance/wing/port/far
name = "Central Wing Frame Interior - Far Port"
/area/maintenance/wing/port/deck1
name = "Lower Wing Frame Interior - Port"
//Propulsion
/area/engineering/atmos/propulsion
name = "Port Propulsion"
icon_state = "blue2"
sound_environment = SOUND_AREA_SMALL_ENCLOSED
/area/engineering/atmos/propulsion/starboard
name = "Starboard Propulsion"
icon_state = "blue-red2"
//Bridge
/area/crew_quarters/heads/hop/xo
name = "Command - Executive Officer's Office"
/area/bridge/bridge_crew
name = "Bridge Crew Preparation"
icon_state = "bridge_crew"
/area/bridge/helm
name = "Bridge Helm"
icon_state = "bridge_helm"
/area/bridge/supply
name = "Bridge Supply Closet"
icon_state = "bridge_crew"
//Crew quarters
/area/crew_quarters/lounge
name = "Crew Lounge"
icon_state = "lounge"
/area/crew_quarters/lounge/secondary
name = "Secondary Crew Lounge"
icon_state = "lounge2"
// Maintenance
/area/maintenance/operations
name = "Operations Maintenance"
icon_state = "maint_cargo"
/area/maintenance/aux_atmospherics/deck_2/starboard
name = "Starboard Auxiliary Atmospherics"
/area/maintenance/aux_atmospherics/deck_2/starboard/wing
name = "Starboard Wing Auxiliary Atmospherics"
/area/maintenance/aux_atmospherics/deck_3
name = "Central Auxiliary Atmospherics"
// Infrastructure
/area/storage/shields
name = "Ship Shield Control"
icon_state = "eva"
//shuttles
/area/shuttle/intrepid
name = "Intrepid"
icon_state = "intrepid"
requires_power = TRUE
/area/shuttle/intrepid/main_compartment
name = "Intrepid Main Compartment"
/area/shuttle/intrepid/port_compartment
name = "Intrepid Port Compartment"
/area/shuttle/intrepid/starboard_compartment
name = "Intrepid Starboard Compartment"
/area/shuttle/intrepid/junction_compartment
name = "Intrepid Junction Compartment"
/area/shuttle/intrepid/buffet
name = "Intrepid Buffet"
/area/shuttle/intrepid/medical
name = "Intrepid Medical Compartment"
/area/shuttle/intrepid/engineering
name = "Intrepid Engineering Compartment"
/area/shuttle/intrepid/port_storage
name = "Intrepid Port Nacelle"
/area/shuttle/intrepid/flight_deck
name = "Intrepid Flight Deck"
/area/shuttle/canary
name = "Canary"
requires_power = TRUE
/area/shuttle/quark/cockpit
name = "Quark Cockpit"
requires_power = TRUE
/area/shuttle/quark/cargo_hold
name = "Quark Cargo Hold"
requires_power = TRUE
//
// SCCV Horizon Areas
//
/area/horizon
name = "Horizon (PARENT AREA - DON'T USE)"
icon_state = "unknown"
station_area = TRUE
ambience = AMBIENCE_GENERIC
// Exterior
/area/horizon/exterior
name = "Horizon - Exterior"
icon_state = "exterior"
base_turf = /turf/space
dynamic_lighting = TRUE
requires_power = FALSE
has_gravity = FALSE
no_light_control = TRUE
allow_nightmode = FALSE
ambience = AMBIENCE_SPACE
area_flags = AREA_FLAG_HIDE_FROM_HOLOMAP
/********** Maintenance Start **********/
// Maintenance
/area/horizon/maintenance
name = "Horizon - Maintenance (PARENT AREA - DON'T USE)"
icon_state = "maintenance"
area_flags = AREA_FLAG_RAD_SHIELDED | AREA_FLAG_HIDE_FROM_HOLOMAP
sound_environment = SOUND_AREA_TUNNEL_ENCLOSED
turf_initializer = new /datum/turf_initializer/maintenance()
ambience = AMBIENCE_MAINTENANCE
/area/horizon/maintenance/deck_two/fore/starboard
name = "Horizon - Maintenance - Deck Two - Fore Starboard"
/area/horizon/maintenance/deck_two/fore/port
name = "Horizon - Maintenance - Deck Two - Fore Port"
/area/horizon/maintenance/deck_three/aft/starboard
name = "Horizon - Maintenance - Deck Three - Aft Starboard"
/********** Maintenance End **********/
/********** Hallways Start **********/
// Hallways
/area/horizon/hallway
name = "Horizon - Hallway (PARENT AREA - DON'T USE)"
sound_environment = SOUND_AREA_LARGE_ENCLOSED
allow_nightmode = TRUE
lightswitch = TRUE
holomap_color = HOLOMAP_AREACOLOR_HALLWAYS
emergency_lights = TRUE
/area/horizon/hallway/deck_three/primary/central
name = "Horizon - Deck 3 - Central Primary Hallway"
icon_state = "hallC"
/area/horizon/hallway/deck_three/primary/starboard
name = "Horizon - Deck 3 - Starboard Primary Hallway"
icon_state = "hallS"
/area/horizon/hallway/deck_three/primary/starboard/docks
name = "Horizon - Deck 3 - Starboard Primary Hallway - Docks"
holomap_color = HOLOMAP_AREACOLOR_DOCK
/area/horizon/hallway/deck_three/primary/port
name = "Horizon - Deck 3 - Port Primary Hallway"
icon_state = "hallP"
/area/horizon/hallway/deck_three/primary/port/docks
name = "Horizon - Deck 3 - Port Primary Hallway - Docks"
holomap_color = HOLOMAP_AREACOLOR_DOCK
/area/horizon/hallway/deck_two/fore
name = "Horizon - Deck 2 - Fore Hallway"
icon_state = "hallF"
/********** Hallways End **********/
/********** Stairwells Start **********/
// Stairwells
/area/horizon/stairwell
name = "Horizon - Stairwell (PARENT AREA - DON'T USE)"
area_flags = AREA_FLAG_RAD_SHIELDED
holomap_color = HOLOMAP_AREACOLOR_HALLWAYS
/area/horizon/stairwell/central
name = "Horizon - Central Stairwell"
icon_state = "stairwell"
sound_environment = SOUND_AREA_SMALL_ENCLOSED
/area/horizon/stairwell/bridge
name = "Horizon - Bridge Stairwell"
icon_state = "bridge_stairs"
sound_environment = SOUND_AREA_SMALL_ENCLOSED
ambience = AMBIENCE_HIGHSEC
/********** Stairwells End **********/
/********** Crew Quarters Start **********/
// Crew Quarters
/area/horizon/crew_quarters
name = "Horizon - Crew Quarters (PARENT AREA - DON'T USE)"
area_flags = AREA_FLAG_RAD_SHIELDED
holomap_color = HOLOMAP_AREACOLOR_CIVILIAN
// Cryogenics
/area/horizon/crew_quarters/cryo
name = "Horizon - Cryogenic Storage"
icon_state = "Sleep"
/area/horizon/crew_quarters/cryo/living_quarters_lift
name = "Horizon - Living Quarters Lift"
sound_environment = SOUND_AREA_SMALL_ENCLOSED
/area/horizon/crew_quarters/cryo/dormitories
name = "Horizon - Cryogenic Storage - Dormitories"
/area/horizon/crew_quarters/cryo/washroom
name = "Horizon - Cryogenic Storage - Washroom"
icon_state = "washroom"
sound_environment = SOUND_AREA_SMALL_ENCLOSED
/area/horizon/crew_quarters/cryo/showers
name = "Horizon - Cryogenic Storage - Showers"
icon_state = "showers"
sound_environment = SOUND_AREA_SMALL_ENCLOSED
// Fitness Center
/area/horizon/crew_quarters/fitness
name = "Horizon - Fitness Center (PARENT AREA - DON'T USE)"
icon_state = "fitness"
/area/horizon/crew_quarters/fitness/hallway
name = "Horizon - Fitness Center Hallway"
icon_state = "fitness_hallway"
/area/horizon/crew_quarters/fitness/pool
name = "Horizon - Fitness Center - Pool"
icon_state = "fitness_pool"
/area/horizon/crew_quarters/fitness/gym
name = "Horizon - Fitness Center - Gym"
icon_state = "fitness_gym"
/area/horizon/crew_quarters/fitness/changing
name = "Horizon - Fitness Center - Changing Room"
icon_state = "fitness_changingroom"
/area/horizon/crew_quarters/fitness/washroom
name = "Horizon - Fitness Center - Washroom"
icon_state = "washroom"
sound_environment = SOUND_AREA_SMALL_ENCLOSED
/area/horizon/crew_quarters/fitness/showers
name = "Horizon - Fitness Center - Showers"
icon_state = "showers"
sound_environment = SOUND_AREA_SMALL_ENCLOSED
/area/horizon/crew_quarters/fitness/lounge
name = "Horizon - Fitness Center - Lounge"
icon_state = "fitness_lounge"
sound_environment = SOUND_AREA_SMALL_SOFTFLOOR
// Lounges
/area/horizon/crew_quarters/lounge/bar
name = "Horizon - Bar Lounge"
icon_state = "lounge"
sound_environment = SOUND_AREA_SMALL_SOFTFLOOR
// Miscellanous
/area/horizon/crew_quarters/washroom/central
name = "Horizon - Central Washroom"
icon_state = "washroom"
sound_environment = SOUND_AREA_SMALL_ENCLOSED
/********** Crew Quarters End **********/
/********** Holodeck Start **********/
// Holodeck
/area/horizon/holodeck_control
name = "Horizon - Holodeck Alpha"
area_flags = AREA_FLAG_RAD_SHIELDED
holomap_color = HOLOMAP_AREACOLOR_CIVILIAN
/area/horizon/holodeck_control/beta
name = "Horizon - Holodeck Beta"
/area/horizon/holodeck
name = "Horizon - Holodeck (PARENT AREA - DON'T USE)"
icon_state = "Holodeck"
sound_environment = SOUND_AREA_LARGE_ENCLOSED
no_light_control = TRUE
dynamic_lighting = FALSE
area_flags = AREA_FLAG_RAD_SHIELDED | AREA_FLAG_NO_GHOST_TELEPORT_ACCESS
holomap_color = HOLOMAP_AREACOLOR_CIVILIAN
/area/horizon/holodeck/alphadeck
name = "Horizon - Holodeck Alpha"
dynamic_lighting = TRUE
/area/horizon/holodeck/betadeck
name = "Horizon - Holodeck Beta"
dynamic_lighting = TRUE
/area/horizon/holodeck/source_plating
name = "Horizon - Holodeck - Off"
/area/horizon/holodeck/source_chapel
name = "Horizon - Holodeck - Chapel"
/area/horizon/holodeck/source_gym
name = "Horizon - Holodeck - Gym"
sound_environment = SOUND_ENVIRONMENT_ARENA
/area/horizon/holodeck/source_range
name = "Horizon - Holodeck - Range"
sound_environment = SOUND_ENVIRONMENT_ARENA
/area/horizon/holodeck/source_emptycourt
name = "Horizon - Holodeck - Empty Court"
sound_environment = SOUND_ENVIRONMENT_ARENA
/area/horizon/holodeck/source_boxingcourt
name = "Horizon - Holodeck - Boxing Court"
sound_environment = SOUND_ENVIRONMENT_ARENA
/area/horizon/holodeck/source_basketball
name = "Horizon - Holodeck - Basketball Court"
sound_environment = SOUND_ENVIRONMENT_ARENA
/area/horizon/holodeck/source_thunderdomecourt
name = "Horizon - Holodeck - Thunderdome Court"
sound_environment = SOUND_ENVIRONMENT_ARENA
/area/horizon/holodeck/source_courtroom
name = "Horizon - Holodeck - Courtroom"
sound_environment = SOUND_ENVIRONMENT_AUDITORIUM
/area/horizon/holodeck/source_burntest
name = "Horizon - Holodeck - Atmospheric Burn Test"
/area/horizon/holodeck/source_wildlife
name = "Horizon - Holodeck - Wildlife Simulation"
/area/horizon/holodeck/source_meetinghall
name = "Horizon - Holodeck - Meeting Hall"
sound_environment = SOUND_ENVIRONMENT_AUDITORIUM
/area/horizon/holodeck/source_theatre
name = "Horizon - Holodeck - Callistean Theatre"
sound_environment = SOUND_ENVIRONMENT_CONCERT_HALL
/area/horizon/holodeck/source_picnicarea
name = "Horizon - Holodeck - Picnic Area"
sound_environment = SOUND_ENVIRONMENT_PLAIN
/area/horizon/holodeck/source_dininghall
name = "Horizon - Holodeck - Dining Hall"
sound_environment = SOUND_ENVIRONMENT_PLAIN
/area/horizon/holodeck/source_snowfield
name = "Horizon - Holodeck - Bursa Tundra"
sound_environment = SOUND_ENVIRONMENT_FOREST
/area/horizon/holodeck/source_desert
name = "Horizon - Holodeck - Desert"
sound_environment = SOUND_ENVIRONMENT_PLAIN
/area/horizon/holodeck/source_space
name = "Horizon - Holodeck - Space"
has_gravity = FALSE
sound_environment = SOUND_AREA_SPACE
/area/horizon/holodeck/source_battlemonsters
name = "Horizon - Holodeck - Battlemonsters Arena"
sound_environment = SOUND_ENVIRONMENT_ARENA
/area/horizon/holodeck/source_chessboard
name = "Horizon - Holodeck - Chessboard"
/area/horizon/holodeck/source_adhomai
name = "Horizon - Holodeck - Adhomian Campfire"
/area/horizon/holodeck/source_beach
name = "Horizon - Holodeck - Silversunner Coast"
sound_environment = SOUND_ENVIRONMENT_PLAIN
/area/horizon/holodeck/source_pool
name = "Horizon - Holodeck - Swimming Pool"
/area/horizon/holodeck/source_sauna
name = "Horizon - Holodeck - Sauna"
/area/horizon/holodeck/source_jupiter
name = "Horizon - Holodeck - Jupiter Upper Atmosphere"
/area/horizon/holodeck/source_konyang
name = "Horizon - Holodeck - Konyanger Boardwalk"
/area/horizon/holodeck/source_moghes
name = "Horizon - Holodeck - Moghresian Jungle"
/area/horizon/holodeck/source_biesel
name = "Horizon - Holodeck - Foggy Mendell Skyline"
/area/horizon/holodeck/source_tribunal
name = "Horizon - Holodeck - Tribunalist Chapel"
/area/horizon/holodeck/source_trinary
name = "Horizon - Holodeck - Trinarist Chapel"
/area/horizon/holodeck/source_cafe
name = "Horizon - Holodeck - Animal Cafe"
/area/horizon/holodeck/source_lasertag
name = "Horizon - Holodeck - Laser Tag Arena"
/area/horizon/holodeck/source_combat_training
name = "Horizon - Holodeck - Combat Training Arena"
/********** Holodeck End **********/
/********** Unique Start **********/
// Hydroponics
/area/horizon/hydroponics
name = "Horizon - Hydroponics"
icon_state = "hydro"
holomap_color = HOLOMAP_AREACOLOR_CIVILIAN
/area/horizon/hydroponics/lower
name = "Horizon - Hydroponics - Lower"
/area/horizon/hydroponics/garden
name = "Horizon - Public Garden"
icon_state = "garden"
// Library
/area/horizon/library
name = "Horizon - Library"
icon_state = "library"
sound_environment = SOUND_AREA_LARGE_SOFTFLOOR
holomap_color = HOLOMAP_AREACOLOR_CIVILIAN
// Kitchen
/area/horizon/kitchen
name = "Horizon - Kitchen"
icon_state = "kitchen"
allow_nightmode = FALSE
holomap_color = HOLOMAP_AREACOLOR_CIVILIAN
/area/horizon/kitchen/hallway
name = "Horizon - Kitchen - Hallway"
/area/horizon/kitchen/freezer
name = "Horizon - Kitchen - Freezer"
sound_environment = SOUND_AREA_SMALL_ENCLOSED
// Bar
/area/horizon/bar
name = "Horizon - Bar"
icon_state = "bar"
allow_nightmode = FALSE
holomap_color = HOLOMAP_AREACOLOR_CIVILIAN
/area/horizon/bar/backroom
name = "Horizon - Bar - Backroom"
holomap_color = HOLOMAP_AREACOLOR_CIVILIAN
area_flags = AREA_FLAG_RAD_SHIELDED
// Cafeteria
/area/horizon/cafeteria
name = "Horizon - Deck 3 Cafeteria"
icon_state = "cafeteria"
holomap_color = HOLOMAP_AREACOLOR_CIVILIAN
area_blurb = "The smell of coffee wafts over from the cafe. Patience, the tree, stands proudly in the centre of the atrium."
area_blurb_category = "d3_cafe"
// Custodial
/area/horizon/custodial
name = "Horizon - Custodial Closet"
icon_state = "janitor"
allow_nightmode = FALSE
sound_environment = SOUND_AREA_LARGE_ENCLOSED
ambience = list(AMBIENCE_FOREBODING, AMBIENCE_ENGINEERING)
holomap_color = HOLOMAP_AREACOLOR_CIVILIAN
area_blurb = "A strong, concentrated smell of many cleaning supplies linger within this room."
area_blurb_category = "janitor"
/area/horizon/custodial/disposals
name = "Horizon - Disposals and Recycling"
icon_state = "disposal"
ambience = list(AMBIENCE_ENGINEERING, AMBIENCE_ATMOS) // Industrial sounds.
area_blurb = "A large trash compactor takes up much of the room, ready to crush the ship's rubbish."
area_blurb_category = "trash_compactor"
/area/horizon/custodial/auxiliary
name = "Horizon - Auxiliary Custodial Closet"
sound_environment = SOUND_AREA_SMALL_ENCLOSED
holomap_color = HOLOMAP_AREACOLOR_CIVILIAN
// Crew Armoury
/area/horizon/crew_armoury
name = "Horizon - Crew Armoury"
icon_state = "crew_armoury"
sound_environment = SOUND_AREA_LARGE_ENCLOSED
ambience = AMBIENCE_HIGHSEC
allow_nightmode = FALSE
holomap_color = HOLOMAP_AREACOLOR_COMMAND
/area/horizon/crew_armoury/foyer
name = "Horizon - Crew Armoury - Foyer"
icon_state = "crew_armoury_foyer"
sound_environment = SOUND_AREA_SMALL_ENCLOSED
ambience = AMBIENCE_FOREBODING
holomap_color = HOLOMAP_AREACOLOR_HALLWAYS
// Security (Deck 2)
/area/horizon/security
name = "Horizon - Security (PARENT AREA - DON'T USE)"
holomap_color = HOLOMAP_AREACOLOR_SECURITY
/area/horizon/security/lobby
name = "Horizon - Security - Lobby"
icon_state = "security"
/area/horizon/security/office
name = "Horizon - Security - Office"
icon_state = "security"
sound_environment = SOUND_AREA_SMALL_ENCLOSED
/area/horizon/security/hallway
name = "Horizon - Security - Main Hallway"
icon_state = "security"
/area/horizon/security/equipment
name = "Horizon - Security - Equipment Room"
icon_state = "security"
/area/horizon/security/washroom
name = "Horizon - Security - Washroom"
icon_state = "security"
sound_environment = SOUND_AREA_SMALL_ENCLOSED
/area/horizon/security/brig
name = "Horizon - Security - Brig"
icon_state = "brig"
area_flags = AREA_FLAG_HIDE_FROM_HOLOMAP | AREA_FLAG_PRISON
ambience = AMBIENCE_HIGHSEC
/area/horizon/security/holding_cell_a
name = "Horizon - Security - Holding Cell A"
icon_state = "brig_proc"
/area/horizon/security/holding_cell_b
name = "Horizon - Security - Holding Cell B"
icon_state = "brig_proc_two"
/area/horizon/security/head_of_security
name = "Horizon - Security - Head of Security's Office"
icon_state = "head_quarters"
area_flags = AREA_FLAG_HIDE_FROM_HOLOMAP
ambience = AMBIENCE_HIGHSEC
sound_environment = SOUND_AREA_SMALL_ENCLOSED
/area/horizon/security/warden
name = "Horizon - Security - Warden's Office"
icon_state = "Warden"
area_flags = AREA_FLAG_HIDE_FROM_HOLOMAP
ambience = AMBIENCE_HIGHSEC
sound_environment = SOUND_AREA_SMALL_ENCLOSED
/area/horizon/security/armoury
name = "Horizon - Security - Armoury"
icon_state = "Warden"
area_flags = AREA_FLAG_HIDE_FROM_HOLOMAP
ambience = AMBIENCE_HIGHSEC
sound_environment = SOUND_AREA_LARGE_ENCLOSED
// Security (Deck 3)
/area/horizon/security/investigations_hallway
name = "Horizon - Security - Investigations Hallway"
icon_state = "security"
/area/horizon/security/meeting_room
name = "Horizon - Security - Meeting Room"
icon_state = "security"
/area/horizon/security/firing_range
name = "Horizon - Security - Firing Range"
icon_state = "security"
sound_environment = SOUND_AREA_LARGE_ENCLOSED
/area/horizon/security/investigators_office
name = "Horizon - Security - Investigators' Office"
icon_state = "investigations_office"
sound_environment = SOUND_AREA_MEDIUM_SOFTFLOOR
/area/horizon/security/interrogation
name = "Horizon - Security - Interrogation"
icon_state = "investigations"
ambience = list(AMBIENCE_HIGHSEC, AMBIENCE_FOREBODING)
sound_environment = SOUND_AREA_SMALL_ENCLOSED
/area/horizon/security/interrogation/monitoring
name = "Horizon - Security - Interrogation Monitoring"
/area/horizon/security/forensic_laboratory
name = "Horizon - Security - Forensic Laboratory"
icon_state = "investigations"
/area/horizon/security/autopsy_laboratory
name = "Horizon - Security - Autopsy Laboratory"
icon_state = "investigations"
ambience = list(AMBIENCE_GHOSTLY, AMBIENCE_FOREBODING)
/area/horizon/security/evidence_storage
name = "Horizon - Security - Evidence Storage"
icon_state = "evidence"
ambience = AMBIENCE_FOREBODING
sound_environment = SOUND_AREA_SMALL_ENCLOSED
// Commissary
/area/horizon/commissary
name = "Horizon - Commissary"
/********** Unique End **********/
/********** Weapon Systems Start **********/
// Secure Ammunition Storage
/area/horizon/secure_ammunition_storage
name = "Horizon - Secure Ammunitions Storage"
sound_environment = SOUND_AREA_SMALL_ENCLOSED
ambience = AMBIENCE_FOREBODING
holomap_color = HOLOMAP_AREACOLOR_OPERATIONS
// ZAT
/area/horizon/zat
name = "Horizon - ZAT Weapon System"
icon_state = "zat"
sound_environment = SOUND_AREA_LARGE_ENCLOSED
ambience = AMBIENCE_SINGULARITY
area_blurb = "A gargantuan machine dominates the room, covered in components and moving parts. Its name is befitting of its size."
area_blurb_category = "leviathan"
area_flags = AREA_FLAG_HIDE_FROM_HOLOMAP
// Longbow
/area/horizon/longbow
name = "Horizon - Longbow Weapon System"
icon_state = "bridge_weapon"
sound_environment = SOUND_AREA_LARGE_ENCLOSED
ambience = AMBIENCE_HIGHSEC
area_flags = AREA_FLAG_HIDE_FROM_HOLOMAP
/area/horizon/grauwolf
name = "Horizon - Grauwolf Weapon System"
icon_state = "bridge_weapon"
sound_environment = SOUND_AREA_LARGE_ENCLOSED
ambience = AMBIENCE_HIGHSEC
area_flags = AREA_FLAG_HIDE_FROM_HOLOMAP
/********** Weapon Systems End **********/
+86 -57
View File
@@ -3136,6 +3136,7 @@
},
/obj/machinery/alarm/north,
/obj/machinery/recharge_station,
/obj/effect/floor_decal/industrial/hatch/yellow,
/turf/simulated/floor/tiled,
/area/horizon/operations/break_room)
"atH" = (
@@ -5240,6 +5241,9 @@
/obj/effect/floor_decal/spline/fancy/wood{
dir = 4
},
/obj/item/storage/toolbox/mechanical{
pixel_y = 13
},
/turf/simulated/floor/wood,
/area/horizon/operations/machinist/surgicalbay)
"aII" = (
@@ -5668,6 +5672,18 @@
/obj/effect/map_effect/perma_light/starlight/wide,
/turf/space/dynamic,
/area/template_noop)
"aLN" = (
/obj/effect/floor_decal/industrial/outline/service,
/obj/structure/table/rack,
/obj/random/hydroponics,
/obj/random/hydroponics,
/obj/random/hydroponics,
/obj/random/hydroponics,
/obj/item/reagent_containers/glass/bucket,
/obj/random/hydroponics,
/obj/random/hydroponics,
/turf/simulated/floor/tiled/dark/full,
/area/horizon/service/hydroponics/lower)
"aLR" = (
/obj/structure/lattice/catwalk/indoor/grate/dark,
/obj/structure/platform{
@@ -10154,6 +10170,7 @@
dir = 1
},
/obj/machinery/vending/cola,
/obj/effect/floor_decal/industrial/hatch/yellow,
/turf/simulated/floor/tiled/white,
/area/horizon/operations/break_room)
"btb" = (
@@ -12824,6 +12841,7 @@
/obj/effect/floor_decal/spline/plain{
dir = 6
},
/obj/effect/floor_decal/industrial/outline/yellow,
/turf/simulated/floor/carpet/rubber,
/area/horizon/medical/pharmacy)
"bOZ" = (
@@ -13877,7 +13895,7 @@
/obj/effect/floor_decal/corner/yellow{
dir = 9
},
/obj/effect/floor_decal/industrial/outline/operations,
/obj/effect/floor_decal/industrial/outline/yellow,
/turf/simulated/floor/tiled,
/area/horizon/engineering/locker_room)
"bWC" = (
@@ -20340,9 +20358,9 @@
/turf/simulated/floor/wood,
/area/horizon/crew/lounge)
"cRG" = (
/obj/structure/closet/secure_closet/machinist,
/obj/effect/floor_decal/industrial/outline/yellow,
/obj/machinery/atmospherics/unary/vent_pump/on,
/obj/structure/closet/secure_closet/machinist,
/turf/simulated/floor/tiled/dark/full,
/area/horizon/operations/machinist/surgicalbay)
"cRO" = (
@@ -21877,9 +21895,9 @@
/obj/machinery/light{
dir = 8
},
/obj/structure/closet/wardrobe/engineering_yellow,
/obj/effect/floor_decal/corner/yellow/full,
/obj/effect/floor_decal/industrial/outline/operations,
/obj/machinery/vending/wardrobe/engi_wardrobe,
/obj/effect/floor_decal/industrial/hatch/yellow,
/turf/simulated/floor/tiled,
/area/horizon/engineering/locker_room)
"ddc" = (
@@ -27149,6 +27167,7 @@
/obj/effect/floor_decal/corner/beige{
dir = 5
},
/obj/effect/floor_decal/industrial/outline/yellow,
/turf/simulated/floor/tiled/dark,
/area/horizon/medical/icu)
"dNx" = (
@@ -27445,6 +27464,7 @@
/obj/effect/floor_decal/spline/plain{
dir = 8
},
/obj/effect/floor_decal/industrial/hatch/yellow,
/turf/simulated/floor/tiled/white,
/area/horizon/operations/break_room)
"dPE" = (
@@ -31991,6 +32011,7 @@
/obj/machinery/light{
dir = 1
},
/obj/effect/floor_decal/industrial/outline/yellow,
/turf/simulated/floor/tiled/dark,
/area/horizon/medical/gen_treatment)
"exs" = (
@@ -36575,6 +36596,7 @@
/obj/effect/floor_decal/spline/plain{
dir = 5
},
/obj/effect/floor_decal/industrial/outline/yellow,
/turf/simulated/floor/carpet/rubber,
/area/horizon/medical/pharmacy)
"fgw" = (
@@ -39201,6 +39223,7 @@
dir = 9
},
/obj/structure/extinguisher_cabinet/west,
/obj/effect/floor_decal/industrial/outline/yellow,
/turf/simulated/floor/carpet/rubber,
/area/horizon/medical/pharmacy)
"fAU" = (
@@ -40446,14 +40469,8 @@
/obj/machinery/atmospherics/unary/vent_scrubber/on{
dir = 4
},
/obj/structure/closet/gmcloset,
/obj/item/flame/lighter/zippo,
/obj/item/storage/box/fancy/candle_box,
/obj/item/storage/box/fancy/candle_box,
/obj/item/device/quikpay,
/obj/item/storage/box/fancy/matches,
/obj/structure/extinguisher_cabinet/west,
/obj/effect/floor_decal/industrial/outline/grey,
/obj/effect/floor_decal/industrial/hatch/grey,
/obj/machinery/vending/wardrobe/bar_wardrobe,
/turf/simulated/floor/tiled/dark,
/area/horizon/service/bar/backroom)
"fKQ" = (
@@ -44409,11 +44426,9 @@
},
/obj/machinery/power/apc/east,
/obj/structure/cable/green,
/obj/structure/closet/secure_closet/engineering_personal,
/obj/effect/floor_decal/corner/yellow/full{
dir = 4
},
/obj/effect/floor_decal/industrial/outline/operations,
/turf/simulated/floor/tiled,
/area/horizon/engineering/locker_room)
"gmT" = (
@@ -48494,8 +48509,10 @@
/turf/unsimulated/floor/plating,
/area/centcom/ferry)
"gQy" = (
/turf/template_noop,
/area/horizon/maintenance/deck_2/wing/starboard/nacelle)
/obj/effect/floor_decal/industrial/hatch/yellow,
/obj/machinery/vending/wardrobe/hydro_wardrobe,
/turf/simulated/floor/tiled/dark/full,
/area/horizon/service/hydroponics/lower)
"gQD" = (
/obj/machinery/atmospherics/pipe/simple/visible/cyan{
dir = 4
@@ -49455,8 +49472,8 @@
/turf/simulated/floor/tiled/dark,
/area/horizon/weapons/longbow)
"gXE" = (
/obj/machinery/shieldgen,
/obj/effect/floor_decal/industrial/outline/yellow,
/obj/machinery/power/emitter,
/turf/simulated/floor/tiled/dark/full,
/area/horizon/engineering/storage_hard)
"gXG" = (
@@ -49862,10 +49879,10 @@
/area/horizon/maintenance/deck_1/main/interstitial)
"gZW" = (
/obj/effect/floor_decal/industrial/outline/operations,
/obj/structure/closet/wardrobe/atmospherics_yellow,
/obj/machinery/light{
dir = 4
},
/obj/machinery/vending/wardrobe/atmos_wardrobe,
/turf/simulated/floor/tiled/dark/full,
/area/horizon/engineering/atmos/storage)
"gZY" = (
@@ -51790,15 +51807,15 @@
/obj/effect/floor_decal/corner/mauve/full{
dir = 8
},
/obj/machinery/vending/coffee{
pixel_y = 24;
density = 0
},
/obj/machinery/camera/network/research{
c_tag = "Research - Conference Room";
pixel_y = 9;
dir = 4
},
/obj/machinery/vending/wardrobe/science_wardrobe{
pixel_y = 24;
density = 0
},
/turf/simulated/floor/tiled/white,
/area/horizon/rnd/conference)
"hom" = (
@@ -65004,6 +65021,7 @@
dir = 4
},
/obj/structure/table/stone/marble,
/obj/item/device/quikpay,
/turf/simulated/floor/tiled/dark/full,
/area/horizon/service/kitchen)
"jiA" = (
@@ -73650,11 +73668,11 @@
/area/horizon/engineering/atmos/air)
"ktJ" = (
/obj/machinery/recharge_station,
/obj/effect/floor_decal/industrial/hatch/yellow,
/obj/effect/floor_decal/corner/green/diagonal,
/obj/machinery/light/small{
dir = 8
},
/obj/effect/floor_decal/industrial/hatch/yellow,
/turf/simulated/floor/tiled/white,
/area/horizon/crew/washroom/deck_2)
"ktR" = (
@@ -75354,6 +75372,7 @@
dir = 8
},
/obj/structure/closet/secure_closet/cabinet/beer/horizon,
/obj/structure/extinguisher_cabinet/south,
/turf/simulated/floor/tiled/dark,
/area/horizon/service/bar/backroom)
"kFm" = (
@@ -81748,7 +81767,7 @@
/obj/effect/floor_decal/corner/yellow/full{
dir = 1
},
/obj/effect/floor_decal/industrial/outline/operations,
/obj/effect/floor_decal/industrial/outline/yellow,
/turf/simulated/floor/tiled,
/area/horizon/engineering/locker_room)
"lzB" = (
@@ -88796,6 +88815,7 @@
/obj/effect/floor_decal/corner/beige{
dir = 10
},
/obj/effect/floor_decal/industrial/outline/yellow,
/turf/simulated/floor/tiled/dark,
/area/horizon/medical/gen_treatment)
"mEU" = (
@@ -90001,6 +90021,7 @@
dir = 1
},
/obj/machinery/vending/lavatory,
/obj/effect/floor_decal/industrial/hatch/grey,
/turf/simulated/floor/tiled/white,
/area/horizon/operations/break_room)
"mOb" = (
@@ -90443,6 +90464,7 @@
/obj/structure/sign/nosmoking_2{
pixel_x = 28
},
/obj/effect/floor_decal/industrial/outline/yellow,
/turf/simulated/floor/tiled/dark,
/area/horizon/medical/gen_treatment)
"mRY" = (
@@ -95279,10 +95301,8 @@
c_tag = "Service - Chapel Storage";
dir = 4
},
/obj/structure/closet/crate/coffin,
/obj/structure/closet/crate/coffin{
pixel_y = 4
},
/obj/effect/floor_decal/industrial/hatch/yellow,
/obj/machinery/vending/wardrobe/chap_wardrobe,
/turf/simulated/floor/tiled/dark,
/area/horizon/service/chapel/office)
"nCL" = (
@@ -99605,6 +99625,11 @@
dir = 4
},
/obj/machinery/alarm/west,
/obj/item/device/quikpay,
/obj/item/storage/box/fancy/candle_box,
/obj/item/storage/box/fancy/candle_box,
/obj/item/storage/box/fancy/matches,
/obj/item/flame/lighter/zippo,
/turf/simulated/floor/tiled/dark,
/area/horizon/service/bar/backroom)
"oik" = (
@@ -111182,8 +111207,12 @@
/obj/effect/floor_decal/corner_wide/orange{
dir = 10
},
/obj/effect/floor_decal/industrial/outline/medical,
/obj/structure/closet/secure_closet/chemical,
/obj/item/modular_computer/laptop/preset/medical,
/obj/item/clothing/glasses/safety/goggles,
/obj/item/clothing/glasses/safety/goggles,
/obj/item/storage/box/gloves,
/obj/effect/floor_decal/industrial/outline/yellow,
/turf/simulated/floor/tiled/white,
/area/horizon/medical/pharmacy)
"pSa" = (
@@ -112093,8 +112122,6 @@
/obj/effect/floor_decal/corner/dark_blue/full{
dir = 8
},
/obj/structure/closet/wardrobe/red,
/obj/effect/floor_decal/industrial/outline/security,
/obj/machinery/light{
dir = 1
},
@@ -112102,6 +112129,8 @@
c_tag = "Security - Equipment Room";
dir = 4
},
/obj/effect/floor_decal/industrial/hatch/yellow,
/obj/machinery/vending/wardrobe/sec_wardrobe,
/turf/simulated/floor/tiled,
/area/horizon/security/equipment)
"pZK" = (
@@ -112110,6 +112139,7 @@
dir = 10
},
/obj/structure/extinguisher_cabinet/west,
/obj/effect/floor_decal/industrial/outline/yellow,
/turf/simulated/floor/carpet/rubber,
/area/horizon/medical/pharmacy)
"pZM" = (
@@ -118333,9 +118363,9 @@
/turf/simulated/floor/tiled/dark/full,
/area/horizon/shuttle/intrepid/buffet)
"qWp" = (
/obj/machinery/vending/coffee,
/obj/effect/floor_decal/corner/purple/full,
/obj/effect/floor_decal/industrial/hatch/yellow,
/obj/machinery/vending/wardrobe/jani_wardrobe,
/turf/simulated/floor/tiled,
/area/horizon/service/custodial)
"qWr" = (
@@ -118387,10 +118417,9 @@
/area/shuttle/mercenary)
"qWy" = (
/obj/effect/floor_decal/corner/grey/diagonal,
/obj/structure/closet/chefcloset,
/obj/item/device/quikpay,
/obj/effect/floor_decal/industrial/outline/grey,
/obj/effect/floor_decal/spline/plain/corner,
/obj/effect/floor_decal/industrial/hatch/yellow,
/obj/machinery/vending/wardrobe/chef_wardrobe,
/turf/simulated/floor/tiled/white,
/area/horizon/service/kitchen)
"qWC" = (
@@ -120419,7 +120448,7 @@
/obj/effect/floor_decal/corner/yellow{
dir = 6
},
/obj/effect/floor_decal/industrial/outline/operations,
/obj/effect/floor_decal/industrial/outline/yellow,
/turf/simulated/floor/tiled,
/area/horizon/engineering/locker_room)
"rlZ" = (
@@ -123855,8 +123884,8 @@
/turf/simulated/floor/tiled/white,
/area/horizon/shuttle/intrepid/medical)
"rLc" = (
/obj/machinery/power/emitter,
/obj/effect/floor_decal/industrial/outline/yellow,
/obj/machinery/shieldgen,
/turf/simulated/floor/tiled/dark/full,
/area/horizon/engineering/storage_hard)
"rLi" = (
@@ -133261,12 +133290,8 @@
/obj/effect/floor_decal/corner_wide/orange{
dir = 10
},
/obj/effect/floor_decal/industrial/outline/medical,
/obj/structure/closet/wardrobe/pharmacy_white,
/obj/item/storage/box/gloves,
/obj/item/clothing/glasses/safety/goggles,
/obj/item/clothing/glasses/safety/goggles,
/obj/item/modular_computer/laptop/preset/medical,
/obj/machinery/vending/wardrobe/chem_wardrobe,
/obj/effect/floor_decal/industrial/hatch/yellow,
/turf/simulated/floor/tiled/white,
/area/horizon/medical/pharmacy)
"tav" = (
@@ -135767,6 +135792,7 @@
/obj/effect/floor_decal/corner/beige{
dir = 10
},
/obj/effect/floor_decal/industrial/outline/yellow,
/turf/simulated/floor/tiled/dark,
/area/horizon/medical/icu)
"tsJ" = (
@@ -143248,6 +143274,9 @@
/obj/structure/table/rack,
/obj/random/hydroponics,
/obj/random/hydroponics,
/obj/item/reagent_containers/glass/bucket,
/obj/random/hydroponics,
/obj/random/hydroponics,
/obj/random/hydroponics,
/obj/random/hydroponics,
/obj/item/reagent_containers/glass/bucket,
@@ -146698,7 +146727,8 @@
/obj/effect/floor_decal/corner/brown/full{
dir = 8
},
/obj/random/pottedplant,
/obj/machinery/vending/wardrobe/cargo_wardrobe,
/obj/effect/floor_decal/industrial/hatch/yellow,
/turf/simulated/floor/tiled,
/area/horizon/operations/office)
"uUy" = (
@@ -148863,6 +148893,7 @@
dir = 8
},
/obj/machinery/vending/lavatory,
/obj/effect/floor_decal/industrial/hatch/grey,
/turf/simulated/floor/tiled/white,
/area/horizon/crew/washroom/deck_2)
"vjq" = (
@@ -152130,11 +152161,11 @@
/turf/simulated/floor/tiled/dark,
/area/horizon/hangar/intrepid)
"vGa" = (
/obj/effect/floor_decal/industrial/outline/medical,
/obj/structure/closet/secure_closet/personal,
/obj/machinery/light{
dir = 4
},
/obj/machinery/vending/wardrobe/medi_wardrobe,
/obj/effect/floor_decal/industrial/hatch/yellow,
/turf/simulated/floor/tiled/full,
/area/horizon/medical/washroom)
"vGb" = (
@@ -168577,9 +168608,9 @@
/turf/simulated/floor/tiled/dark,
/area/horizon/rnd/xenobiology/xenoflora)
"xUo" = (
/obj/machinery/shieldgen,
/obj/effect/floor_decal/industrial/outline/yellow,
/obj/machinery/light,
/obj/machinery/power/emitter,
/turf/simulated/floor/tiled/dark/full,
/area/horizon/engineering/storage_hard)
"xUr" = (
@@ -169502,14 +169533,11 @@
/turf/simulated/floor/wood,
/area/horizon/command/bridge/minibar)
"ycF" = (
/obj/structure/table/standard,
/obj/item/storage/toolbox/mechanical{
pixel_y = 13
},
/obj/structure/sign/poster{
pixel_y = 32
},
/obj/item/storage/box/fancy/donut,
/obj/machinery/vending/wardrobe/robo_wardrobe,
/obj/effect/floor_decal/industrial/hatch/yellow,
/turf/simulated/floor/tiled/dark/full,
/area/horizon/operations/machinist/surgicalbay)
"ycJ" = (
@@ -169879,6 +169907,7 @@
/obj/effect/floor_decal/corner/beige{
dir = 6
},
/obj/effect/floor_decal/industrial/outline/yellow,
/turf/simulated/floor/tiled/dark,
/area/horizon/medical/gen_treatment)
"yex" = (
@@ -207175,7 +207204,7 @@ bCt
gmT
oGR
plU
uwp
aLN
uEI
hWP
upH
@@ -207689,7 +207718,7 @@ gOA
gga
aUk
kZw
uwp
gQy
uEI
pNi
eQS
@@ -248753,7 +248782,7 @@ eSV
eSV
eSV
eSV
gQy
eSV
eSV
eSV
eSV
@@ -261611,7 +261640,7 @@ dpV
ydR
dRW
rLc
rLc
gXE
fov
xoO
oJM
@@ -261867,7 +261896,7 @@ cQy
moc
uIe
viJ
gXE
rLc
xUo
fov
viv
@@ -12,6 +12,7 @@ export type VendingData = {
sel_icon: string;
message: string;
message_err: string;
display_ad: string;
products: Product[];
coin: string;
@@ -38,6 +39,7 @@ export const Vending = (props, context) => {
return (
<Window resizable width={425} height={500} theme={data.manufacturer}>
<Window.Content scrollable>
<Box textAlign="center">{data.display_ad}</Box>
<Section>
{data.vending_item && data.sel_price !== 0 ? (
<ShowVendingItem />