Merge pull request #10806 from VOREStation/Icons/vendors

Port Eris, /tg/ vendors
This commit is contained in:
Aronai Sieyes
2021-07-03 16:32:00 -04:00
committed by Chompstation Bot
parent 654ef75433
commit ecc9cf97df
7 changed files with 401 additions and 47 deletions

View File

@@ -39,7 +39,7 @@
/obj/machinery/vending/boozeomat
name = "Booze-O-Mat"
desc = "A technological marvel, the ads would have you believe this is able to mix just the mixture you'd like to drink the moment you ask for one."
icon_state = "fridge_dark"
icon_state = "boozeomat"
products = list(/obj/item/weapon/reagent_containers/food/drinks/glass2/square = 10,
/obj/item/weapon/reagent_containers/food/drinks/glass2/rocks = 10,
/obj/item/weapon/reagent_containers/food/drinks/glass2/shake = 10,
@@ -1070,3 +1070,365 @@
/obj/item/weapon/reagent_containers/food/snacks/packaged/vegration = 8,
/obj/item/weapon/reagent_containers/food/snacks/packaged/meatration = 8)
contraband = list(/obj/item/weapon/reagent_containers/food/snacks/packaged/sweetration = 2)
/**
* Department/job vendors to sit in place of lockers taking up space
*/
/obj/machinery/vending/wardrobe
icon = 'icons/obj/vending_job.dmi'
/obj/machinery/vending/wardrobe/bardrobe
name = "bartender wardrobe vendor"
desc = "All the things you need to perform your job! Why didn't you already have them?"
product_slogans = "Want to do your job? Sure you do!"
icon_state = "bardrobe"
req_access = list()
products = list() // Wow they don't have their own locker
req_log_access = access_hop
has_logs = 1
/obj/machinery/vending/wardrobe/secdrobe
name = "security wardrobe vendor"
desc = "All the things you need to perform your job! Why didn't you already have them?"
product_slogans = "Want to do your job? Sure you do!"
icon_state = "secdrobe"
req_access = list(access_brig)
products = list(
/obj/item/clothing/under/rank/security = 5,
/obj/item/clothing/under/rank/security2 = 5,
/obj/item/clothing/under/rank/security/turtleneck = 5,
/obj/item/clothing/under/rank/security/skirt = 5,
/obj/item/clothing/shoes/boots/jackboots = 5,
/obj/item/clothing/head/soft/sec = 5,
/obj/item/clothing/head/beret/sec = 5,
/obj/item/clothing/head/beret/sec/corporate/officer = 5,
/obj/item/clothing/mask/bandana/red = 5,
/obj/item/clothing/suit/storage/hooded/wintercoat/security = 5,
/obj/item/clothing/accessory/armband = 5,
/obj/item/clothing/accessory/holster/waist = 5
)
req_log_access = access_hop
has_logs = 1
/obj/machinery/vending/wardrobe/chefdrobe
name = "chef wardrobe vendor"
desc = "All the things you need to perform your job! Why didn't you already have them?"
product_slogans = "Want to do your job? Sure you do!"
icon_state = "chefdrobe"
req_access = list()
products = list() // Hmm!
req_log_access = access_hop
has_logs = 1
/obj/machinery/vending/wardrobe/medidrobe
name = "medical wardrobe vendor"
desc = "All the things you need to perform your job! Why didn't you already have them?"
product_slogans = "Want to do your job? Sure you do!"
icon_state = "medidrobe"
req_access = list(access_medical_equip)
products = list(
/obj/item/clothing/under/rank/medical = 5,
/obj/item/clothing/under/rank/medical/skirt = 5,
/obj/item/clothing/under/rank/medical/turtleneck = 5,
/obj/item/clothing/under/rank/medical/scrubs = 5,
/obj/item/clothing/under/rank/medical/scrubs/green = 5,
/obj/item/clothing/under/rank/medical/scrubs/purple = 5,
/obj/item/clothing/under/rank/medical/scrubs/black = 5,
/obj/item/clothing/under/rank/medical/scrubs/navyblue = 5,
/obj/item/clothing/head/surgery/navyblue = 5,
/obj/item/clothing/head/surgery/purple = 5,
/obj/item/clothing/head/surgery/blue = 5,
/obj/item/clothing/head/surgery/green = 5,
/obj/item/clothing/head/surgery/black = 5,
/obj/item/clothing/shoes/white = 5,
/obj/item/clothing/suit/storage/toggle/labcoat = 5,
/obj/item/clothing/mask/surgical = 5,
/obj/item/clothing/suit/storage/hooded/wintercoat/medical = 5,
/obj/item/clothing/shoes/boots/winter/medical = 5
)
req_log_access = access_hop
has_logs = 1
/obj/machinery/vending/wardrobe/chemdrobe
name = "chemistry wardrobe vendor"
desc = "All the things you need to perform your job! Why didn't you already have them?"
product_slogans = "Want to do your job? Sure you do!"
icon_state = "chemdrobe"
req_access = list()
products = list(
/obj/item/clothing/under/rank/chemist = 5,
/obj/item/clothing/under/rank/chemist/skirt = 5,
/obj/item/clothing/shoes/white = 5,
/obj/item/clothing/suit/storage/toggle/labcoat/chemist = 5,
/obj/item/weapon/storage/backpack/chemistry = 5,
/obj/item/weapon/storage/backpack/satchel/chem = 5,
/obj/item/weapon/storage/bag/chemistry = 5
)
req_log_access = access_hop
has_logs = 1
/obj/machinery/vending/wardrobe/genedrobe
name = "genetics wardrobe vendor"
desc = "All the things you need to perform your job! Why didn't you already have them?"
product_slogans = "Want to do your job? Sure you do!"
icon_state = "genedrobe"
req_access = list()
products = list(
/obj/item/clothing/under/rank/geneticist = 5,
/obj/item/clothing/under/rank/geneticist/skirt = 5,
/obj/item/clothing/shoes/white = 5,
/obj/item/clothing/suit/storage/toggle/labcoat/genetics = 5,
/obj/item/weapon/storage/backpack/genetics = 5,
/obj/item/weapon/storage/backpack/satchel/gen = 5
)
req_log_access = access_hop
has_logs = 1
/obj/machinery/vending/wardrobe/virodrobe
name = "virology wardrobe vendor"
desc = "All the things you need to perform your job! Why didn't you already have them?"
product_slogans = "Want to do your job? Sure you do!"
icon_state = "virodrobe"
req_access = list()
products = list(
/obj/item/clothing/under/rank/virologist = 5,
/obj/item/clothing/under/rank/virologist/skirt = 5,
/obj/item/clothing/shoes/white = 5,
/obj/item/clothing/suit/storage/toggle/labcoat/virologist = 5,
/obj/item/clothing/mask/surgical = 5,
/obj/item/weapon/storage/backpack/virology = 5,
/obj/item/weapon/storage/backpack/satchel/vir = 5
)
req_log_access = access_hop
has_logs = 1
/obj/machinery/vending/wardrobe/scidrobe
name = "science wardrobe vendor"
desc = "All the things you need to perform your job! Why didn't you already have them?"
product_slogans = "Want to do your job? Sure you do!"
icon_state = "scidrobe"
req_access = list(access_tox_storage)
products = list(
/obj/item/clothing/under/rank/scientist = 5,
/obj/item/clothing/under/rank/scientist/skirt = 5,
/obj/item/clothing/under/rank/scientist/turtleneck = 5,
/obj/item/clothing/suit/storage/toggle/labcoat = 5,
/obj/item/clothing/shoes/white = 5,
/obj/item/clothing/shoes/slippers = 5,
/obj/item/clothing/suit/storage/hooded/wintercoat/science = 5,
/obj/item/clothing/shoes/boots/winter/science = 5,
/obj/item/weapon/storage/backpack/toxins = 5,
/obj/item/weapon/storage/backpack/satchel/tox = 5
)
req_log_access = access_hop
has_logs = 1
/obj/machinery/vending/wardrobe/robodrobe
name = "robotics wardrobe vendor"
desc = "All the things you need to perform your job! Why didn't you already have them?"
product_slogans = "Want to do your job? Sure you do!"
icon_state = "robodrobe"
req_access = list()
products = list(
/obj/item/clothing/under/rank/roboticist = 5,
/obj/item/clothing/suit/storage/toggle/labcoat = 5,
/obj/item/clothing/shoes/black = 5,
/obj/item/clothing/gloves/black = 5,
/obj/item/weapon/storage/backpack/toxins = 5,
/obj/item/weapon/storage/backpack/satchel/tox = 5
)
req_log_access = access_hop
has_logs = 1
/obj/machinery/vending/wardrobe/chapdrobe
name = "chaplain wardrobe vendor"
desc = "All the things you need to perform your job! Why didn't you already have them?"
product_slogans = "Want to do your job? Sure you do!"
icon_state = "chapdrobe"
req_access = list()
products = list(
/obj/item/clothing/under/rank/chaplain = 5,
/obj/item/clothing/shoes/black = 5,
/obj/item/clothing/suit/nun = 5,
/obj/item/clothing/head/nun_hood = 5,
/obj/item/clothing/suit/storage/hooded/chaplain_hoodie = 5,
/obj/item/clothing/suit/storage/hooded/chaplain_hoodie/whiteout = 5,
/obj/item/clothing/suit/holidaypriest = 5,
/obj/item/clothing/under/wedding/bride_white = 5,
/obj/item/weapon/storage/backpack/cultpack = 5,
/obj/item/weapon/storage/fancy/candle_box = 5,
/obj/item/weapon/storage/fancy/whitecandle_box = 5,
/obj/item/weapon/storage/fancy/blackcandle_box = 5,
/obj/item/godfig = 5,
/obj/item/weapon/deck/tarot = 5
)
req_log_access = access_hop
has_logs = 1
/obj/machinery/vending/wardrobe/engidrobe
name = "engineer wardrobe vendor"
desc = "All the things you need to perform your job! Why didn't you already have them?"
product_slogans = "Want to do your job? Sure you do!"
icon_state = "engidrobe"
req_access = list(access_engine_equip)
products = list(
/obj/item/clothing/under/rank/engineer = 5,
/obj/item/clothing/under/rank/engineer/skirt = 5,
/obj/item/clothing/under/rank/engineer/turtleneck = 5,
/obj/item/clothing/shoes/orange = 5,
/obj/item/clothing/head/hardhat = 5,
/obj/item/clothing/head/beret/engineering = 5,
/obj/item/clothing/mask/bandana/gold = 5,
/obj/item/clothing/suit/storage/hooded/wintercoat/engineering = 5,
/obj/item/clothing/shoes/boots/winter/engineering = 5,
/obj/item/clothing/shoes/boots/workboots = 5
)
req_log_access = access_hop
has_logs = 1
/obj/machinery/vending/wardrobe/atmosdrobe
name = "atmos tech wardrobe vendor"
desc = "All the things you need to perform your job! Why didn't you already have them?"
product_slogans = "Want to do your job? Sure you do!"
icon_state = "atmosdrobe"
req_access = list(access_atmospherics)
products = list(
/obj/item/clothing/under/rank/atmospheric_technician = 5,
/obj/item/clothing/under/rank/atmospheric_technician/skirt = 5,
/obj/item/clothing/shoes/black = 5,
/obj/item/clothing/head/hardhat/red = 5,
/obj/item/clothing/head/beret/engineering = 5,
/obj/item/clothing/mask/bandana/gold = 5,
/obj/item/clothing/suit/storage/hooded/wintercoat/engineering/atmos = 5,
/obj/item/clothing/shoes/boots/winter/atmos = 5
)
req_log_access = access_hop
has_logs = 1
/obj/machinery/vending/wardrobe/hydrobe
name = "hydroponics wardrobe vendor"
desc = "All the things you need to perform your job! Why didn't you already have them?"
product_slogans = "Want to do your job? Sure you do!"
icon_state = "hydrobe"
req_access = list(access_hydroponics)
products = list(
/obj/item/clothing/under/rank/hydroponics = 5,
/obj/item/device/analyzer/plant_analyzer = 5,
/obj/item/clothing/head/greenbandana = 5,
/obj/item/weapon/material/minihoe = 5,
/obj/item/clothing/suit/storage/hooded/wintercoat/hydro = 5,
/obj/item/clothing/shoes/boots/winter/hydro = 5
)
req_log_access = access_hop
has_logs = 1
/obj/machinery/vending/wardrobe/cargodrobe
name = "cargo wardrobe vendor"
desc = "All the things you need to perform your job! Why didn't you already have them?"
product_slogans = "Want to do your job? Sure you do!"
icon_state = "cargodrobe"
req_access = list(access_cargo)
products = list(
/obj/item/clothing/under/rank/cargotech = 5,
/obj/item/clothing/under/rank/cargotech/skirt = 5,
/obj/item/clothing/under/rank/cargotech/jeans = 5,
/obj/item/clothing/under/rank/cargotech/jeans/female = 5,
/obj/item/clothing/suit/storage/hooded/wintercoat/cargo = 5,
/obj/item/clothing/shoes/boots/winter/supply = 5,
/obj/item/clothing/shoes/black = 5,
/obj/item/clothing/gloves/black = 5,
/obj/item/clothing/gloves/fingerless = 5,
/obj/item/clothing/head/soft = 5
)
req_log_access = access_hop
has_logs = 1
/*
/obj/machinery/vending/wardrobe/curadrobe
name = "cura?? wardrobe vendor"
desc = "All the things you need to perform your job! Why didn't you already have them?"
product_slogans = "Want to do your job? Sure you do!"
icon_state = "curadrobe"
req_access = list()
products = list()
req_log_access = access_hop
has_logs = 1
*/
/obj/machinery/vending/wardrobe/janidrobe
name = "janitor wardrobe vendor"
desc = "All the things you need to perform your job! Why didn't you already have them?"
product_slogans = "Want to do your job? Sure you do!"
icon_state = "janidrobe"
req_access = list(
/obj/item/clothing/under/rank/janitor = 5,
/obj/item/clothing/under/dress/maid/janitor = 5,
/obj/item/device/radio/headset/headset_service = 5,
/obj/item/weapon/cartridge/janitor = 5,
/obj/item/clothing/gloves/black = 5,
/obj/item/clothing/head/soft/purple = 5,
/obj/item/clothing/head/beret/purple = 5,
/obj/item/clothing/suit/caution = 20,
/obj/item/weapon/storage/belt/janitor = 5,
/obj/item/clothing/shoes/galoshes = 5
)
products = list()
req_log_access = access_hop
has_logs = 1
/obj/machinery/vending/wardrobe/lawdrobe
name = "lawyer wardrobe vendor"
desc = "All the things you need to perform your job! Why didn't you already have them?"
product_slogans = "Want to do your job? Sure you do!"
icon_state = "lawdrobe"
req_access = list()
products = list(
/obj/item/clothing/under/lawyer/female = 5,
/obj/item/clothing/under/lawyer/black = 5,
/obj/item/clothing/under/lawyer/black/skirt = 5,
/obj/item/clothing/under/lawyer/red = 5,
/obj/item/clothing/under/lawyer/red/skirt = 5,
/obj/item/clothing/suit/storage/toggle/internalaffairs = 5,
/obj/item/clothing/under/lawyer/bluesuit = 5,
/obj/item/clothing/under/lawyer/bluesuit/skirt = 5,
/obj/item/clothing/suit/storage/toggle/lawyer/bluejacket = 5,
/obj/item/clothing/under/lawyer/purpsuit = 5,
/obj/item/clothing/under/lawyer/purpsuit/skirt = 5,
/obj/item/clothing/suit/storage/toggle/lawyer/purpjacket = 5,
/obj/item/clothing/shoes/brown = 5,
/obj/item/clothing/shoes/black = 5,
/obj/item/clothing/shoes/laceup = 5,
/obj/item/clothing/glasses/sunglasses/big = 5,
/obj/item/clothing/under/lawyer/blue = 5,
/obj/item/clothing/under/lawyer/blue/skirt = 5,
/obj/item/device/tape/random = 5
)
req_log_access = access_hop
has_logs = 1
/obj/machinery/vending/wardrobe/detdrobe
name = "detective wardrobe vendor"
desc = "All the things you need to perform your job! Why didn't you already have them?"
product_slogans = "Want to do your job? Sure you do!"
icon_state = "detdrobe"
req_access = list(access_forensics_lockers)
products = list(
/obj/item/clothing/head/det = 5,
/obj/item/clothing/head/det/grey = 5,
/obj/item/clothing/shoes/brown = 5,
/obj/item/clothing/shoes/laceup = 5,
/obj/item/clothing/under/det = 5,
/obj/item/clothing/under/det/waistcoat = 5,
/obj/item/clothing/under/det/grey = 5,
/obj/item/clothing/under/det/grey/waistcoat = 5,
/obj/item/clothing/under/det/black = 5,
/obj/item/clothing/under/det/skirt,
/obj/item/clothing/under/det/corporate = 5,
/obj/item/clothing/suit/storage/det_trench = 5,
/obj/item/clothing/suit/storage/det_trench/grey = 5,
/obj/item/clothing/suit/storage/forensics/blue = 5,
/obj/item/clothing/suit/storage/forensics/red = 5
)
req_log_access = access_hop
has_logs = 1

View File

@@ -1,9 +1,7 @@
/obj/machinery/smartfridge/sheets //Is this used anywhere? It's not secure.
name = "\improper Smart Sheet Storage"
desc = "A storage unit for metals."
icon_state = "fridge_dark"
icon_base = "fridge_dark"
icon_contents = "slime"
icon_contents = "boxes"
stored_datum_type = /datum/stored_item/stack
/obj/machinery/smartfridge/sheets/persistent

View File

@@ -1,10 +1,7 @@
/obj/machinery/smartfridge/produce
name = "\improper Smart Produce Storage"
desc = "For storing all sorts of perishable foods!"
icon = 'icons/obj/vending.dmi'
icon_state = "fridge_food"
icon_base = "fridge_food"
icon_contents = "food"
icon_contents = "boxes"
/obj/machinery/smartfridge/produce/persistent
persistent = /datum/persistent/storage/smartfridge/produce
@@ -18,11 +15,27 @@
return FALSE
/obj/machinery/smartfridge/drinks
name = "\improper Drink Showcase"
name = "\improper Smart Drink Storage"
desc = "A refrigerated storage unit for tasty tasty alcohol."
icon_state = "fridge_drinks"
icon_base = "fridge_drinks"
icon_contents = "drink"
icon_contents = "drinks"
/obj/machinery/smartfridge/drinks/showcase
name = "\improper Drink Showcase"
icon_state = "showcase"
icon_base = "showcase"
/obj/machinery/smartfridge/drinks/update_icon()
cut_overlays()
if(stat & (BROKEN|NOPOWER))
icon_state = "[icon_base]-off"
else
icon_state = icon_base
if(panel_open)
add_overlay("[icon_base]-panel")
if(!stat && contents.len)
add_overlay("[icon_base]-fill")
/obj/machinery/smartfridge/drinks/accept_check(var/obj/item/O as obj)
if(istype(O,/obj/item/weapon/reagent_containers/glass) || istype(O,/obj/item/weapon/reagent_containers/food/drinks) || istype(O,/obj/item/weapon/reagent_containers/food/condiment))
@@ -32,7 +45,7 @@
/obj/machinery/smartfridge/seeds
name = "\improper MegaSeed Servitor"
desc = "When you need seeds fast!"
icon_contents = "chem"
icon_contents = "boxes"
/obj/machinery/smartfridge/seeds/accept_check(var/obj/item/O as obj)
if(istype(O,/obj/item/seeds/))
@@ -42,8 +55,8 @@
/obj/machinery/smartfridge/secure/extract
name = "\improper Biological Sample Storage"
desc = "A refrigerated storage unit for xenobiological samples."
icon_contents = "slime"
req_access = list(access_research)
icon_contents = "drinks"
/obj/machinery/smartfridge/secure/extract/accept_check(var/obj/item/O as obj)
if(istype(O, /obj/item/slime_extract))

View File

@@ -28,7 +28,6 @@
/obj/machinery/smartfridge/chemistry //Is this used anywhere? It's not secure.
name = "\improper Smart Chemical Storage"
desc = "A refrigerated storage unit for medicine and chemical storage."
icon_contents = "chem"
/obj/machinery/smartfridge/chemistry/accept_check(var/obj/item/O as obj)
if(istype(O,/obj/item/weapon/storage/pill_bottle) || istype(O,/obj/item/weapon/reagent_containers))

View File

@@ -4,9 +4,9 @@
name = "\improper SmartFridge"
desc = "For storing all sorts of things! This one doesn't accept any of them!"
icon = 'icons/obj/vending.dmi'
icon_state = "fridge_food"
var/icon_base = "fridge_food" //Iconstate to base all the broken/deny/etc on
var/icon_contents = "food" //Overlay to put on glass to show contents
icon_state = "smartfridge"
var/icon_base = "smartfridge" //Iconstate to base all the broken/deny/etc on
var/icon_contents = "misc" //Overlay to put on glass to show contents
density = 1
anchored = 1
use_power = USE_POWER_IDLE
@@ -28,9 +28,6 @@
/obj/machinery/smartfridge/secure
is_secure = 1
icon_state = "fridge_sci"
icon_base = "fridge_sci"
icon_contents = "chem"
/obj/machinery/smartfridge/Initialize()
. = ..()
@@ -40,6 +37,7 @@
wires = new/datum/wires/smartfridge/secure(src)
else
wires = new/datum/wires/smartfridge(src)
update_icon()
/obj/machinery/smartfridge/Destroy()
qdel(wires)
@@ -74,35 +72,17 @@
else
icon_state = icon_base
if(is_secure)
add_overlay("[icon_base]-sidepanel")
if(panel_open)
add_overlay("[icon_base]-panel")
var/is_off = ""
if(inoperable())
is_off = "-off"
// Fridge contents
if(contents)
switch(contents.len)
if(0)
add_overlay("empty[is_off]")
if(1 to 2)
add_overlay("[icon_contents]-1[is_off]")
if(3 to 5)
add_overlay("[icon_contents]-2[is_off]")
if(6 to 8)
add_overlay("[icon_contents]-3[is_off]")
else
add_overlay("[icon_contents]-4[is_off]")
// Fridge top
var/image/top = image(icon, "[icon_base]-top")
top.pixel_z = 32
top.layer = ABOVE_WINDOW_LAYER
add_overlay(top)
if(1 to 3)
add_overlay("[icon_base]-[icon_contents]1")
if(3 to 6)
add_overlay("[icon_base]-[icon_contents]2")
if(6 to INFINITY)
add_overlay("[icon_base]-[icon_contents]3")
/*******************
* Item Adding
@@ -180,6 +160,7 @@
item_records.Add(I)
I.add_product(O)
SStgui.update_uis(src)
update_icon()
/obj/machinery/smartfridge/proc/vend(datum/stored_item/I, var/count)
var/amount = I.get_amount()
@@ -190,6 +171,7 @@
for(var/i = 1 to min(amount, count))
I.get_product(get_turf(src))
SStgui.update_uis(src)
update_icon()
/obj/machinery/smartfridge/attack_ai(mob/user as mob)
attack_hand(user)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 389 KiB

After

Width:  |  Height:  |  Size: 388 KiB

BIN
icons/obj/vending_job.dmi Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB