diff --git a/code/datums/chat_message.dm b/code/datums/chat_message.dm index c01c113c8d..a625d0cd58 100644 --- a/code/datums/chat_message.dm +++ b/code/datums/chat_message.dm @@ -325,10 +325,13 @@ var/list/runechat_image_cache = list() if(5) return rgb(c,m,x) -/atom/proc/runechat_message(message, range = world.view, italics, list/classes = list(), audible = TRUE) - var/list/hear = get_mobs_and_objs_in_view_fast(get_turf(src), range, remote_ghosts = FALSE) - - var/list/hearing_mobs = hear["mobs"] +/atom/proc/runechat_message(message, range = world.view, italics, list/classes = list(), audible = TRUE, list/specific_viewers) + var/hearing_mobs + if(islist(specific_viewers)) + hearing_mobs = specific_viewers.Copy() + else + var/list/hear = get_mobs_and_objs_in_view_fast(get_turf(src), range, remote_ghosts = FALSE) + hearing_mobs = hear["mobs"] for(var/mob in hearing_mobs) var/mob/M = mob diff --git a/code/datums/supplypacks/misc_vr.dm b/code/datums/supplypacks/misc_vr.dm index 94f23fb61c..005658d414 100644 --- a/code/datums/supplypacks/misc_vr.dm +++ b/code/datums/supplypacks/misc_vr.dm @@ -110,4 +110,21 @@ access = list(access_explorer, access_eva, access_pilot) - one_access = TRUE \ No newline at end of file + one_access = TRUE + +/datum/supply_pack/misc/music_players + name = "music players (3)" + contains = list( + /obj/item/device/walkpod = 3 + ) + cost = 150 + containername = "portable music players crate" + +/datum/supply_pack/misc/juke_remotes + name = "jukebox remote speakers (2)" + contains = list( + /obj/item/device/juke_remote = 2 + ) + cost = 300 + containername = "cordless jukebox speakers crate" + \ No newline at end of file diff --git a/code/game/machinery/jukebox.dm b/code/game/machinery/jukebox.dm index ac24c962e4..c8683e0d00 100644 --- a/code/game/machinery/jukebox.dm +++ b/code/game/machinery/jukebox.dm @@ -29,8 +29,7 @@ var/freq = 0 // Currently no effect, will return in phase II of mediamanager. //VOREStation Add var/loop_mode = JUKEMODE_PLAY_ONCE // Behavior when finished playing a song - var/max_queue_len = 3 // How many songs are we allowed to queue up? - var/list/queue = list() + var/list/obj/item/device/juke_remote/remotes //VOREStation Add End var/datum/track/current_track @@ -60,29 +59,24 @@ // If the current track isn't finished playing, let it keep going if(current_track && world.time < media_start_time + current_track.duration) return - // Otherwise time to pick a new one! - if(queue.len > 0) - current_track = queue[1] - queue.Cut(1, 2) // Remove the item we just took off the list - else - // Oh... nothing in queue? Well then pick next according to our rules - var/list/tracks = getTracksList() - switch(loop_mode) - if(JUKEMODE_NEXT) - var/curTrackIndex = max(1, tracks.Find(current_track)) - var/newTrackIndex = (curTrackIndex % tracks.len) + 1 // Loop back around if past end - current_track = tracks[newTrackIndex] - if(JUKEMODE_RANDOM) - var/previous_track = current_track - do - current_track = pick(tracks) - while(current_track == previous_track && tracks.len > 1) - if(JUKEMODE_REPEAT_SONG) - current_track = current_track - if(JUKEMODE_PLAY_ONCE) - current_track = null - playing = 0 - update_icon() + // Oh... nothing in queue? Well then pick next according to our rules + var/list/tracks = getTracksList() + switch(loop_mode) + if(JUKEMODE_NEXT) + var/curTrackIndex = max(1, tracks.Find(current_track)) + var/newTrackIndex = (curTrackIndex % tracks.len) + 1 // Loop back around if past end + current_track = tracks[newTrackIndex] + if(JUKEMODE_RANDOM) + var/previous_track = current_track + do + current_track = pick(tracks) + while(current_track == previous_track && tracks.len > 1) + if(JUKEMODE_REPEAT_SONG) + current_track = current_track + if(JUKEMODE_PLAY_ONCE) + current_track = null + playing = 0 + update_icon() updateDialog() start_stop_song() @@ -96,6 +90,11 @@ media_url = "" media_start_time = 0 update_music() + //VOREStation Add + for(var/rem in remotes) + var/obj/item/device/juke_remote/remote = rem + remote.update_music() + //VOREStation Add End /obj/machinery/media/jukebox/proc/set_hacked(var/newhacked) if(hacked == newhacked) diff --git a/code/game/machinery/vending_machines_vr.dm b/code/game/machinery/vending_machines_vr.dm index 3a726018e8..afcf7f40db 100644 --- a/code/game/machinery/vending_machines_vr.dm +++ b/code/game/machinery/vending_machines_vr.dm @@ -271,6 +271,2686 @@ req_log_access = access_cmo has_logs = 1 +<<<<<<< HEAD +||||||| parent of 9fbe2cdfdd... Merge pull request #10555 from VOREStation/Arokha/portajuke +/obj/machinery/vending/loadout + name = "Fingers and Toes" + desc = "A special vendor for gloves and shoes!" + product_ads = "Do you have fingers and toes? COVER THEM UP!;Show me your toes! Wait. NO DON'T! BUY NEW SHOES!;Don't leave prints, BUY SOME GLOVES!;Remember to check your shoes for micros! You don't have to let them out, but just check for them!;Fingers and Toes is not liable for micro entrapment or abuse under the feet of our patrons.!;This little piggy went WE WE WE all the way down to FINGERS AND TOES to pick up some sweet new gloves and shoes." + icon = 'icons/obj/vending_vr.dmi' + icon_state = "glovesnshoes" + products = list(/obj/item/clothing/gloves/evening = 5, + /obj/item/clothing/gloves/fingerless = 5, + /obj/item/clothing/gloves/black = 5, + /obj/item/clothing/gloves/blue = 5, + /obj/item/clothing/gloves/brown = 5, + /obj/item/clothing/gloves/color = 5, + /obj/item/clothing/gloves/green = 5, + /obj/item/clothing/gloves/grey = 5, + /obj/item/clothing/gloves/sterile/latex = 5, + /obj/item/clothing/gloves/light_brown = 5, + /obj/item/clothing/gloves/sterile/nitrile = 5, + /obj/item/clothing/gloves/orange = 5, + /obj/item/clothing/gloves/purple = 5, + /obj/item/clothing/gloves/red = 5, + /obj/item/clothing/gloves/fluff/siren = 5, + /obj/item/clothing/gloves/white = 5, + /obj/item/clothing/gloves/duty = 5, + /obj/item/clothing/shoes/athletic = 5, + /obj/item/clothing/shoes/boots/fluff/siren = 5, + /obj/item/clothing/shoes/slippers = 5, + /obj/item/clothing/shoes/boots/cowboy/classic = 5, + /obj/item/clothing/shoes/boots/cowboy = 5, + /obj/item/clothing/shoes/boots/duty = 5, + /obj/item/clothing/shoes/flats/white/color = 5, + /obj/item/clothing/shoes/flipflop = 5, + /obj/item/clothing/shoes/heels = 5, + /obj/item/clothing/shoes/hitops/black = 5, + /obj/item/clothing/shoes/hitops/blue = 5, + /obj/item/clothing/shoes/hitops/green = 5, + /obj/item/clothing/shoes/hitops/orange = 5, + /obj/item/clothing/shoes/hitops/purple = 5, + /obj/item/clothing/shoes/hitops/red = 5, + /obj/item/clothing/shoes/flats/white/color = 5, + /obj/item/clothing/shoes/hitops/yellow = 5, + /obj/item/clothing/shoes/boots/jackboots = 5, + /obj/item/clothing/shoes/boots/jungle = 5, + /obj/item/clothing/shoes/black/cuffs = 5, + /obj/item/clothing/shoes/black/cuffs/blue = 5, + /obj/item/clothing/shoes/black/cuffs/red = 5, + /obj/item/clothing/shoes/sandal = 5, + /obj/item/clothing/shoes/black = 5, + /obj/item/clothing/shoes/blue = 5, + /obj/item/clothing/shoes/brown = 5, + /obj/item/clothing/shoes/laceup = 5, + /obj/item/clothing/shoes/green = 5, + /obj/item/clothing/shoes/laceup/brown = 5, + /obj/item/clothing/shoes/orange = 5, + /obj/item/clothing/shoes/purple = 5, + /obj/item/clothing/shoes/red = 5, + /obj/item/clothing/shoes/white = 5, + /obj/item/clothing/shoes/yellow = 5, + /obj/item/clothing/shoes/skater = 5, + /obj/item/clothing/shoes/boots/cowboy/snakeskin = 5, + /obj/item/clothing/shoes/boots/jackboots/toeless = 5, + /obj/item/clothing/shoes/boots/workboots/toeless = 5, + /obj/item/clothing/shoes/boots/winter = 5, + /obj/item/clothing/shoes/boots/workboots = 5, + /obj/item/clothing/shoes/footwraps = 5) + prices = list(/obj/item/clothing/gloves/evening = 50, + /obj/item/clothing/gloves/fingerless = 50, + /obj/item/clothing/gloves/black = 50, + /obj/item/clothing/gloves/blue = 50, + /obj/item/clothing/gloves/brown = 50, + /obj/item/clothing/gloves/color = 50, + /obj/item/clothing/gloves/green = 50, + /obj/item/clothing/gloves/grey = 50, + /obj/item/clothing/gloves/sterile/latex = 100, + /obj/item/clothing/gloves/light_brown = 50, + /obj/item/clothing/gloves/sterile/nitrile = 100, + /obj/item/clothing/gloves/orange = 50, + /obj/item/clothing/gloves/purple = 50, + /obj/item/clothing/gloves/red = 50, + /obj/item/clothing/gloves/fluff/siren = 50, + /obj/item/clothing/gloves/white = 50, + /obj/item/clothing/gloves/duty = 150, + /obj/item/clothing/shoes/athletic = 50, + /obj/item/clothing/shoes/boots/fluff/siren = 50, + /obj/item/clothing/shoes/slippers = 50, + /obj/item/clothing/shoes/boots/cowboy/classic = 50, + /obj/item/clothing/shoes/boots/cowboy = 50, + /obj/item/clothing/shoes/boots/duty = 100, + /obj/item/clothing/shoes/flats/white/color = 50, + /obj/item/clothing/shoes/flipflop = 50, + /obj/item/clothing/shoes/heels = 50, + /obj/item/clothing/shoes/hitops/black = 50, + /obj/item/clothing/shoes/hitops/blue = 50, + /obj/item/clothing/shoes/hitops/green = 50, + /obj/item/clothing/shoes/hitops/orange = 50, + /obj/item/clothing/shoes/hitops/purple = 50, + /obj/item/clothing/shoes/hitops/red = 50, + /obj/item/clothing/shoes/flats/white/color = 50, + /obj/item/clothing/shoes/hitops/yellow = 50, + /obj/item/clothing/shoes/boots/jackboots = 50, + /obj/item/clothing/shoes/boots/jungle = 100, + /obj/item/clothing/shoes/black/cuffs = 50, + /obj/item/clothing/shoes/black/cuffs/blue = 50, + /obj/item/clothing/shoes/black/cuffs/red = 50, + /obj/item/clothing/shoes/sandal = 50, + /obj/item/clothing/shoes/black = 50, + /obj/item/clothing/shoes/blue = 50, + /obj/item/clothing/shoes/brown = 50, + /obj/item/clothing/shoes/laceup = 50, + /obj/item/clothing/shoes/green = 50, + /obj/item/clothing/shoes/laceup/brown = 50, + /obj/item/clothing/shoes/orange = 50, + /obj/item/clothing/shoes/purple = 50, + /obj/item/clothing/shoes/red = 50, + /obj/item/clothing/shoes/white = 50, + /obj/item/clothing/shoes/yellow = 50, + /obj/item/clothing/shoes/skater = 50, + /obj/item/clothing/shoes/boots/cowboy/snakeskin = 50, + /obj/item/clothing/shoes/boots/jackboots/toeless = 50, + /obj/item/clothing/shoes/boots/workboots/toeless = 50, + /obj/item/clothing/shoes/boots/winter = 50, + /obj/item/clothing/shoes/boots/workboots = 50, + /obj/item/clothing/shoes/footwraps = 50) + premium = list(/obj/item/clothing/gloves/rainbow = 1, + /obj/item/clothing/shoes/rainbow = 1,) + contraband = list(/obj/item/clothing/shoes/syndigaloshes = 1, + /obj/item/clothing/shoes/clown_shoes = 1) + +/obj/machinery/vending/loadout/uniform + name = "The Basics" + desc = "A vendor using compressed matter cartridges to store large amounts of basic station uniforms." + product_ads = "Don't get caught naked!;Pick up your uniform!;Using compressed matter cartridges and VERY ETHICAL labor practices, we bring you the uniforms you need!;No uniform? No problem!;We've got your covered!;The Basics is not responsible for being crushed under the amount of things inside our machines. DO NOT VEND IN EXCESS!!" + icon_state = "loadout" + vend_delay = 16 + products = list(/obj/item/device/pda = 50, + /obj/item/device/radio/headset = 50, + /obj/item/weapon/storage/backpack/ = 10, + /obj/item/weapon/storage/backpack/messenger = 10, + /obj/item/weapon/storage/backpack/satchel = 10, + /obj/item/clothing/under/color = 5, + /obj/item/clothing/under/color/aqua = 5, + /obj/item/clothing/under/color/black = 5, + /obj/item/clothing/under/color/blackjumpskirt = 5, + /obj/item/clothing/under/color/blue = 5, + /obj/item/clothing/under/color/brown = 5, + /obj/item/clothing/under/color/green = 5, + /obj/item/clothing/under/color/grey = 5, + /obj/item/clothing/under/color/orange = 5, + /obj/item/clothing/under/color/pink = 5, + /obj/item/clothing/under/color/red = 5, + /obj/item/clothing/under/color/white = 5, + /obj/item/clothing/under/color/yellow = 5, + /obj/item/clothing/shoes/black = 20, + /obj/item/clothing/shoes/white = 20) + prices = list() + +/obj/machinery/vending/loadout/accessory + name = "Looty Inc." + desc = "A special vendor for accessories." + product_ads = "Want shinies? We have the shinies.;Need that special something to complete your outfit? We have what you need!;Ditch that old dull dangly something you've got and pick up one of our shinies!;Bracelets, collars, scarfs rings and more! We have the fancy things you need!;Does your pet need a collar? We don't judge! Keep them in line with one of one of ours!;Top of the line materials! 'Hand crafted' goods!" + icon_state = "accessory" + vend_delay = 6 + products = list(/obj/item/clothing/accessory = 5, + /obj/item/clothing/accessory/armband/med/color = 10, + /obj/item/clothing/accessory/asymmetric = 5, + /obj/item/clothing/accessory/asymmetric/purple = 5, + /obj/item/clothing/accessory/asymmetric/green = 5, + /obj/item/clothing/accessory/bracelet = 5, + /obj/item/clothing/accessory/bracelet/material = 5, + /obj/item/clothing/accessory/bracelet/friendship = 5, + /obj/item/clothing/accessory/chaps = 5, + /obj/item/clothing/accessory/chaps/black = 5, + /obj/item/weapon/storage/briefcase/clutch = 1, + /obj/item/clothing/accessory/collar = 5, + /obj/item/clothing/accessory/collar/bell = 5, + /obj/item/clothing/accessory/collar/spike = 5, + /obj/item/clothing/accessory/collar/pink = 5, + /obj/item/clothing/accessory/collar/holo = 5, + /obj/item/clothing/accessory/collar/shock = 5, + /obj/item/weapon/storage/belt/fannypack = 1, + /obj/item/weapon/storage/belt/fannypack/white = 5, + /obj/item/clothing/accessory/fullcape = 5, + /obj/item/clothing/accessory/halfcape = 5, + /obj/item/clothing/accessory/hawaii = 5, + /obj/item/clothing/accessory/hawaii/random = 5, + /obj/item/clothing/accessory/locket = 5, + /obj/item/weapon/storage/backpack/purse = 1, + /obj/item/clothing/accessory/sash = 5, + /obj/item/clothing/accessory/scarf = 5, + /obj/item/clothing/accessory/scarf/red = 5, + /obj/item/clothing/accessory/scarf/darkblue = 5, + /obj/item/clothing/accessory/scarf/purple = 5, + /obj/item/clothing/accessory/scarf/yellow = 5, + /obj/item/clothing/accessory/scarf/orange = 5, + /obj/item/clothing/accessory/scarf/lightblue = 5, + /obj/item/clothing/accessory/scarf/white = 5, + /obj/item/clothing/accessory/scarf/black = 5, + /obj/item/clothing/accessory/scarf/zebra = 5, + /obj/item/clothing/accessory/scarf/christmas = 5, + /obj/item/clothing/accessory/scarf/stripedred = 5, + /obj/item/clothing/accessory/scarf/stripedgreen = 5, + /obj/item/clothing/accessory/scarf/stripedblue = 5, + /obj/item/clothing/accessory/jacket = 5, + /obj/item/clothing/accessory/jacket/checkered = 5, + /obj/item/clothing/accessory/jacket/burgundy = 5, + /obj/item/clothing/accessory/jacket/navy = 5, + /obj/item/clothing/accessory/jacket/charcoal = 5, + /obj/item/clothing/accessory/vest = 5, + /obj/item/clothing/accessory/sweater = 5, + /obj/item/clothing/accessory/sweater/pink = 5, + /obj/item/clothing/accessory/sweater/mint = 5, + /obj/item/clothing/accessory/sweater/blue = 5, + /obj/item/clothing/accessory/sweater/heart = 5, + /obj/item/clothing/accessory/sweater/nt = 5, + /obj/item/clothing/accessory/sweater/keyhole = 5, + /obj/item/clothing/accessory/sweater/winterneck = 5, + /obj/item/clothing/accessory/sweater/uglyxmas = 5, + /obj/item/clothing/accessory/sweater/flowersweater = 5, + /obj/item/clothing/accessory/sweater/redneck = 5, + /obj/item/clothing/accessory/tie = 5, + /obj/item/clothing/accessory/tie/horrible = 5, + /obj/item/clothing/accessory/tie/white = 5, + /obj/item/clothing/accessory/tie/navy = 5, + /obj/item/clothing/accessory/tie/yellow = 5, + /obj/item/clothing/accessory/tie/darkgreen = 5, + /obj/item/clothing/accessory/tie/black = 5, + /obj/item/clothing/accessory/tie/red_long = 5, + /obj/item/clothing/accessory/tie/red_clip = 5, + /obj/item/clothing/accessory/tie/blue_long = 5, + /obj/item/clothing/accessory/tie/blue_clip = 5, + /obj/item/clothing/accessory/tie/red = 5, + /obj/item/clothing/accessory/wcoat = 5, + /obj/item/clothing/accessory/wcoat/red = 5, + /obj/item/clothing/accessory/wcoat/grey = 5, + /obj/item/clothing/accessory/wcoat/brown = 5, + /obj/item/clothing/accessory/wcoat/gentleman = 5, + /obj/item/clothing/accessory/wcoat/swvest = 5, + /obj/item/clothing/accessory/wcoat/swvest/blue = 5, + /obj/item/clothing/accessory/wcoat/swvest/red = 5, + /obj/item/weapon/storage/wallet = 5, + /obj/item/weapon/storage/wallet/poly = 5, + /obj/item/weapon/storage/wallet/womens = 5, + /obj/item/weapon/lipstick = 5, + /obj/item/weapon/lipstick/purple = 5, + /obj/item/weapon/lipstick/jade = 5, + /obj/item/weapon/lipstick/black = 5, + /obj/item/clothing/ears/earmuffs = 5, + /obj/item/clothing/ears/earmuffs/headphones = 5, + /obj/item/clothing/ears/earring/stud = 5, + /obj/item/clothing/ears/earring/dangle = 5, + /obj/item/clothing/gloves/ring/mariner = 5, + /obj/item/clothing/gloves/ring/engagement = 5, + /obj/item/clothing/gloves/ring/seal/signet = 5, + /obj/item/clothing/gloves/ring/seal/mason = 5, + /obj/item/clothing/gloves/ring/material/plastic = 5, + /obj/item/clothing/gloves/ring/material/steel = 5, + /obj/item/clothing/gloves/ring/material/gold = 5, + /obj/item/clothing/glasses/eyepatch = 5, + /obj/item/clothing/glasses/gglasses = 5, + /obj/item/clothing/glasses/regular/hipster = 5, + /obj/item/clothing/glasses/rimless = 5, + /obj/item/clothing/glasses/thin = 5, + /obj/item/clothing/glasses/monocle = 5, + /obj/item/clothing/glasses/goggles = 5, + /obj/item/clothing/glasses/fluff/spiffygogs = 5, + /obj/item/clothing/glasses/fakesunglasses = 5, + /obj/item/clothing/glasses/fakesunglasses/aviator = 5, + /obj/item/clothing/mask/bandana/blue = 5, + /obj/item/clothing/mask/bandana/gold = 5, + /obj/item/clothing/mask/bandana/green = 5, + /obj/item/clothing/mask/bandana/red = 5, + /obj/item/clothing/mask/surgical = 5) + prices = list(/obj/item/clothing/accessory = 50, + /obj/item/clothing/accessory/armband/med/color = 50, + /obj/item/clothing/accessory/asymmetric = 50, + /obj/item/clothing/accessory/asymmetric/purple = 50, + /obj/item/clothing/accessory/asymmetric/green = 50, + /obj/item/clothing/accessory/bracelet = 50, + /obj/item/clothing/accessory/bracelet/material = 50, + /obj/item/clothing/accessory/bracelet/friendship = 50, + /obj/item/clothing/accessory/chaps = 50, + /obj/item/clothing/accessory/chaps/black = 50, + /obj/item/weapon/storage/briefcase/clutch = 50, + /obj/item/clothing/accessory/collar = 50, + /obj/item/clothing/accessory/collar/bell = 50, + /obj/item/clothing/accessory/collar/spike = 50, + /obj/item/clothing/accessory/collar/pink = 50, + /obj/item/clothing/accessory/collar/holo = 50, + /obj/item/clothing/accessory/collar/shock = 50, + /obj/item/weapon/storage/belt/fannypack = 50, + /obj/item/weapon/storage/belt/fannypack/white = 50, + /obj/item/clothing/accessory/fullcape = 50, + /obj/item/clothing/accessory/halfcape = 50, + /obj/item/clothing/accessory/hawaii = 50, + /obj/item/clothing/accessory/hawaii/random = 50, + /obj/item/clothing/accessory/locket = 50, + /obj/item/weapon/storage/backpack/purse = 50, + /obj/item/clothing/accessory/sash = 50, + /obj/item/clothing/accessory/scarf = 5, + /obj/item/clothing/accessory/scarf/red = 50, + /obj/item/clothing/accessory/scarf/darkblue = 50, + /obj/item/clothing/accessory/scarf/purple = 50, + /obj/item/clothing/accessory/scarf/yellow = 100, + /obj/item/clothing/accessory/scarf/orange = 50, + /obj/item/clothing/accessory/scarf/lightblue = 50, + /obj/item/clothing/accessory/scarf/white = 50, + /obj/item/clothing/accessory/scarf/black = 50, + /obj/item/clothing/accessory/scarf/zebra = 50, + /obj/item/clothing/accessory/scarf/christmas = 50, + /obj/item/clothing/accessory/scarf/stripedred = 50, + /obj/item/clothing/accessory/scarf/stripedgreen = 50, + /obj/item/clothing/accessory/scarf/stripedblue = 50, + /obj/item/clothing/accessory/jacket = 50, + /obj/item/clothing/accessory/jacket/checkered = 50, + /obj/item/clothing/accessory/jacket/burgundy = 50, + /obj/item/clothing/accessory/jacket/navy = 50, + /obj/item/clothing/accessory/jacket/charcoal = 50, + /obj/item/clothing/accessory/vest = 50, + /obj/item/clothing/accessory/sweater = 50, + /obj/item/clothing/accessory/sweater/pink = 50, + /obj/item/clothing/accessory/sweater/mint = 50, + /obj/item/clothing/accessory/sweater/blue = 50, + /obj/item/clothing/accessory/sweater/heart = 50, + /obj/item/clothing/accessory/sweater/nt = 5, + /obj/item/clothing/accessory/sweater/keyhole = 50, + /obj/item/clothing/accessory/sweater/winterneck = 50, + /obj/item/clothing/accessory/sweater/uglyxmas = 5, + /obj/item/clothing/accessory/sweater/flowersweater = 50, + /obj/item/clothing/accessory/sweater/redneck = 50, + /obj/item/clothing/accessory/tie = 50, + /obj/item/clothing/accessory/tie/horrible = 50, + /obj/item/clothing/accessory/tie/white = 50, + /obj/item/clothing/accessory/tie/navy = 50, + /obj/item/clothing/accessory/tie/yellow = 50, + /obj/item/clothing/accessory/tie/darkgreen = 50, + /obj/item/clothing/accessory/tie/black = 50, + /obj/item/clothing/accessory/tie/red_long = 50, + /obj/item/clothing/accessory/tie/red_clip = 50, + /obj/item/clothing/accessory/tie/blue_long = 50, + /obj/item/clothing/accessory/tie/blue_clip = 50, + /obj/item/clothing/accessory/tie/red = 50, + /obj/item/clothing/accessory/wcoat = 50, + /obj/item/clothing/accessory/wcoat/red = 50, + /obj/item/clothing/accessory/wcoat/grey = 50, + /obj/item/clothing/accessory/wcoat/brown = 50, + /obj/item/clothing/accessory/wcoat/gentleman = 50, + /obj/item/clothing/accessory/wcoat/swvest = 50, + /obj/item/clothing/accessory/wcoat/swvest/blue = 50, + /obj/item/clothing/accessory/wcoat/swvest/red = 50, + /obj/item/weapon/storage/wallet = 50, + /obj/item/weapon/storage/wallet/poly = 50, + /obj/item/weapon/storage/wallet/womens = 50, + /obj/item/weapon/lipstick = 50, + /obj/item/weapon/lipstick/purple = 50, + /obj/item/weapon/lipstick/jade = 50, + /obj/item/weapon/lipstick/black = 50, + /obj/item/clothing/ears/earmuffs = 50, + /obj/item/clothing/ears/earmuffs/headphones = 50, + /obj/item/clothing/ears/earring/stud = 50, + /obj/item/clothing/ears/earring/dangle = 50, + /obj/item/clothing/gloves/ring/mariner = 50, + /obj/item/clothing/gloves/ring/engagement = 50, + /obj/item/clothing/gloves/ring/seal/signet = 50, + /obj/item/clothing/gloves/ring/seal/mason = 50, + /obj/item/clothing/gloves/ring/material/plastic = 50, + /obj/item/clothing/gloves/ring/material/steel = 50, + /obj/item/clothing/gloves/ring/material/gold = 100, + /obj/item/clothing/glasses/eyepatch = 50, + /obj/item/clothing/glasses/gglasses = 50, + /obj/item/clothing/glasses/regular/hipster = 50, + /obj/item/clothing/glasses/rimless = 50, + /obj/item/clothing/glasses/thin = 50, + /obj/item/clothing/glasses/monocle = 50, + /obj/item/clothing/glasses/goggles = 50, + /obj/item/clothing/glasses/fluff/spiffygogs = 50, + /obj/item/clothing/glasses/fakesunglasses = 50, + /obj/item/clothing/glasses/fakesunglasses/aviator = 50, + /obj/item/clothing/mask/bandana/blue = 50, + /obj/item/clothing/mask/bandana/gold = 50, + /obj/item/clothing/mask/bandana/green = 50, + /obj/item/clothing/mask/bandana/red = 50, + /obj/item/clothing/mask/surgical = 50) + premium = list(/obj/item/weapon/bedsheet/rainbow = 1) + contraband = list(/obj/item/clothing/mask/gas/clown_hat = 1) + +/obj/machinery/vending/loadout/clothing + name = "General Jump" + desc = "A special vendor using compressed matter cartridges to store large amounts of clothing." + product_ads = "Tired of your grey jumpsuit? Spruce yourself up!;We have the outfit for you!;Don't let that grey jumpsuit get you down, get a ROBUST outfit right now!;Using compressed matter catridges and VERY ETHICAL labor practices to bring YOU the clothing you crave!;Are you sure you want to go to work in THAT?;All of our wares have a whole TWO pockets!" + icon_state = "clothing" + vend_delay = 16 + products = list(/obj/item/clothing/under/bathrobe = 5, + /obj/item/clothing/under/dress/black_corset = 5, + /obj/item/clothing/under/blazer = 5, + /obj/item/clothing/under/blazer/skirt = 5, + /obj/item/clothing/under/cheongsam = 5, + /obj/item/clothing/under/cheongsam/red = 5, + /obj/item/clothing/under/cheongsam/blue = 5, + /obj/item/clothing/under/cheongsam/black = 5, + /obj/item/clothing/under/cheongsam/darkred = 5, + /obj/item/clothing/under/cheongsam/green = 5, + /obj/item/clothing/under/cheongsam/purple = 5, + /obj/item/clothing/under/cheongsam/darkblue = 5, + /obj/item/clothing/under/croptop = 5, + /obj/item/clothing/under/croptop/red = 5, + /obj/item/clothing/under/croptop/grey = 5, + /obj/item/clothing/under/cuttop = 5, + /obj/item/clothing/under/cuttop/red = 5, + /obj/item/clothing/under/suit_jacket/female/skirt = 5, + /obj/item/clothing/under/dress/dress_fire = 5, + /obj/item/clothing/under/dress/flamenco = 5, + /obj/item/clothing/under/dress/flower_dress = 5, + /obj/item/clothing/under/fluff/gnshorts = 5, + /obj/item/clothing/under/color = 5, + /obj/item/clothing/under/color/aqua = 5, + /obj/item/clothing/under/color/black = 5, + /obj/item/clothing/under/color/blackf = 5, + /obj/item/clothing/under/color/blackjumpskirt = 5, + /obj/item/clothing/under/color/blue = 5, + /obj/item/clothing/under/color/brown = 5, + /obj/item/clothing/under/color/darkblue = 5, + /obj/item/clothing/under/color/darkred = 5, + /obj/item/clothing/under/color/green = 5, + /obj/item/clothing/under/color/grey = 5, + /obj/item/clothing/under/color/lightblue = 5, + /obj/item/clothing/under/color/lightbrown = 5, + /obj/item/clothing/under/color/lightgreen = 5, + /obj/item/clothing/under/color/lightpurple = 5, + /obj/item/clothing/under/color/lightred = 5, + /obj/item/clothing/under/color/orange = 5, + /obj/item/clothing/under/color/pink = 5, + /obj/item/clothing/under/color/prison = 5, + /obj/item/clothing/under/color/ranger = 5, + /obj/item/clothing/under/color/red = 5, + /obj/item/clothing/under/color/white = 5, + /obj/item/clothing/under/color/yellow = 5, + /obj/item/clothing/under/color/yellowgreen = 5, + /obj/item/clothing/under/aether = 5, + /obj/item/clothing/under/focal = 5, + /obj/item/clothing/under/hephaestus = 5, + /obj/item/clothing/under/wardt = 5, + /obj/item/clothing/under/kilt = 5, + /obj/item/clothing/under/fluff/latexmaid = 5, + /obj/item/clothing/under/dress/lilacdress = 5, + /obj/item/clothing/under/dress/white2 = 5, + /obj/item/clothing/under/dress/white4 = 5, + /obj/item/clothing/under/dress/maid = 5, + /obj/item/clothing/under/dress/maid/sexy = 5, + /obj/item/clothing/under/dress/maid/janitor = 5, + /obj/item/clothing/under/moderncoat = 5, + /obj/item/clothing/under/permit = 5, + /obj/item/clothing/under/oldwoman = 5, + /obj/item/clothing/under/frontier = 5, + /obj/item/clothing/under/mbill = 5, + /obj/item/clothing/under/pants/baggy/ = 5, + /obj/item/clothing/under/pants/baggy/classicjeans = 5, + /obj/item/clothing/under/pants/baggy/mustangjeans = 5, + /obj/item/clothing/under/pants/baggy/blackjeans = 5, + /obj/item/clothing/under/pants/baggy/greyjeans = 5, + /obj/item/clothing/under/pants/baggy/youngfolksjeans = 5, + /obj/item/clothing/under/pants/baggy/white = 5, + /obj/item/clothing/under/pants/baggy/red = 5, + /obj/item/clothing/under/pants/baggy/black = 5, + /obj/item/clothing/under/pants/baggy/tan = 5, + /obj/item/clothing/under/pants/baggy/track = 5, + /obj/item/clothing/under/pants/baggy/khaki = 5, + /obj/item/clothing/under/pants/baggy/camo = 5, + /obj/item/clothing/under/pants/utility/ = 5, + /obj/item/clothing/under/pants/utility/orange = 5, + /obj/item/clothing/under/pants/utility/blue = 5, + /obj/item/clothing/under/pants/utility/white = 5, + /obj/item/clothing/under/pants/utility/red = 5, + /obj/item/clothing/under/pants/chaps = 5, + /obj/item/clothing/under/pants/chaps/black = 5, + /obj/item/clothing/under/pants/track = 5, + /obj/item/clothing/under/pants/track/red = 5, + /obj/item/clothing/under/pants/track/white = 5, + /obj/item/clothing/under/pants/track/green = 5, + /obj/item/clothing/under/pants/track/blue = 5, + /obj/item/clothing/under/pants/yogapants = 5, + /obj/item/clothing/under/ascetic = 5, + /obj/item/clothing/under/dress/white3 = 5, + /obj/item/clothing/under/skirt/pleated = 5, + /obj/item/clothing/under/dress/darkred = 5, + /obj/item/clothing/under/dress/redeveninggown = 5, + /obj/item/clothing/under/dress/red_swept_dress = 5, + /obj/item/clothing/under/dress/sailordress = 5, + /obj/item/clothing/under/dress/sari = 5, + /obj/item/clothing/under/dress/sari/green = 5, + /obj/item/clothing/under/dress/qipao = 5, + /obj/item/clothing/under/dress/qipao/red = 5, + /obj/item/clothing/under/dress/qipao/white = 5, + /obj/item/clothing/under/shorts/red = 5, + /obj/item/clothing/under/shorts/green = 5, + /obj/item/clothing/under/shorts/blue = 5, + /obj/item/clothing/under/shorts/black = 5, + /obj/item/clothing/under/shorts/grey = 5, + /obj/item/clothing/under/shorts/white = 5, + /obj/item/clothing/under/shorts/jeans = 5, + /obj/item/clothing/under/shorts/jeans/ = 5, + /obj/item/clothing/under/shorts/jeans/classic = 5, + /obj/item/clothing/under/shorts/jeans/mustang = 5, + /obj/item/clothing/under/shorts/jeans/youngfolks = 5, + /obj/item/clothing/under/shorts/jeans/black = 5, + /obj/item/clothing/under/shorts/jeans/grey = 5, + /obj/item/clothing/under/shorts/khaki/ = 5, + /obj/item/clothing/under/skirt/loincloth = 5, + /obj/item/clothing/under/skirt/khaki = 5, + /obj/item/clothing/under/skirt/blue = 5, + /obj/item/clothing/under/skirt/red = 5, + /obj/item/clothing/under/skirt/denim = 5, + /obj/item/clothing/under/skirt/pleated = 5, + /obj/item/clothing/under/skirt/outfit/plaid_blue = 5, + /obj/item/clothing/under/skirt/outfit/plaid_red = 5, + /obj/item/clothing/under/skirt/outfit/plaid_purple = 5, + /obj/item/clothing/under/overalls/sleek = 5, + /obj/item/clothing/under/sl_suit = 5, + /obj/item/clothing/under/gentlesuit = 5, + /obj/item/clothing/under/gentlesuit/skirt = 5, + /obj/item/clothing/under/suit_jacket = 5, + /obj/item/clothing/under/suit_jacket/really_black/skirt = 5, + /obj/item/clothing/under/suit_jacket/really_black = 5, + /obj/item/clothing/under/suit_jacket/female/skirt = 5, + /obj/item/clothing/under/suit_jacket/female/ = 5, + /obj/item/clothing/under/suit_jacket/red = 5, + /obj/item/clothing/under/suit_jacket/red/skirt = 5, + /obj/item/clothing/under/suit_jacket/charcoal = 5, + /obj/item/clothing/under/suit_jacket/charcoal/skirt = 5, + /obj/item/clothing/under/suit_jacket/navy = 5, + /obj/item/clothing/under/suit_jacket/navy/skirt = 5, + /obj/item/clothing/under/suit_jacket/burgundy = 5, + /obj/item/clothing/under/suit_jacket/burgundy/skirt = 5, + /obj/item/clothing/under/suit_jacket/checkered = 5, + /obj/item/clothing/under/suit_jacket/checkered/skirt = 5, + /obj/item/clothing/under/suit_jacket/tan = 5, + /obj/item/clothing/under/suit_jacket/tan/skirt = 5, + /obj/item/clothing/under/scratch = 5, + /obj/item/clothing/under/scratch/skirt = 5, + /obj/item/clothing/under/sundress = 5, + /obj/item/clothing/under/sundress_white = 5, + /obj/item/clothing/under/rank/psych/turtleneck/sweater = 5, + /obj/item/weapon/storage/box/fluff/swimsuit = 5, + /obj/item/weapon/storage/box/fluff/swimsuit/blue = 5, + /obj/item/weapon/storage/box/fluff/swimsuit/purple = 5, + /obj/item/weapon/storage/box/fluff/swimsuit/green = 5, + /obj/item/weapon/storage/box/fluff/swimsuit/red = 5, + /obj/item/weapon/storage/box/fluff/swimsuit/white = 5, + /obj/item/weapon/storage/box/fluff/swimsuit/earth = 5, + /obj/item/weapon/storage/box/fluff/swimsuit/engineering = 5, + /obj/item/weapon/storage/box/fluff/swimsuit/science = 5, + /obj/item/weapon/storage/box/fluff/swimsuit/security = 5, + /obj/item/weapon/storage/box/fluff/swimsuit/medical = 5, + /obj/item/clothing/under/utility = 5, + /obj/item/clothing/under/utility/grey = 5, + /obj/item/clothing/under/utility/blue = 5, + /obj/item/clothing/under/fluff/v_nanovest = 5, + /obj/item/clothing/under/dress/westernbustle = 5, + /obj/item/clothing/under/wedding/bride_white = 5, + /obj/item/weapon/storage/backpack/ = 5, + /obj/item/weapon/storage/backpack/messenger = 5, + /obj/item/weapon/storage/backpack/satchel = 5) + prices = list(/obj/item/clothing/under/bathrobe = 50, + /obj/item/clothing/under/dress/black_corset = 50, + /obj/item/clothing/under/blazer = 50, + /obj/item/clothing/under/blazer/skirt = 50, + /obj/item/clothing/under/cheongsam = 50, + /obj/item/clothing/under/cheongsam/red = 50, + /obj/item/clothing/under/cheongsam/blue = 50, + /obj/item/clothing/under/cheongsam/black = 50, + /obj/item/clothing/under/cheongsam/darkred = 50, + /obj/item/clothing/under/cheongsam/green = 50, + /obj/item/clothing/under/cheongsam/purple = 50, + /obj/item/clothing/under/cheongsam/darkblue = 50, + /obj/item/clothing/under/croptop = 50, + /obj/item/clothing/under/croptop/red = 50, + /obj/item/clothing/under/croptop/grey = 50, + /obj/item/clothing/under/cuttop = 50, + /obj/item/clothing/under/cuttop/red = 50, + /obj/item/clothing/under/suit_jacket/female/skirt = 50, + /obj/item/clothing/under/dress/dress_fire = 50, + /obj/item/clothing/under/dress/flamenco = 50, + /obj/item/clothing/under/dress/flower_dress = 50, + /obj/item/clothing/under/fluff/gnshorts = 50, + /obj/item/clothing/under/color = 50, + /obj/item/clothing/under/color/aqua = 50, + /obj/item/clothing/under/color/black = 50, + /obj/item/clothing/under/color/blackf = 50, + /obj/item/clothing/under/color/blackjumpskirt = 50, + /obj/item/clothing/under/color/blue = 50, + /obj/item/clothing/under/color/brown = 50, + /obj/item/clothing/under/color/darkblue = 50, + /obj/item/clothing/under/color/darkred = 50, + /obj/item/clothing/under/color/green = 50, + /obj/item/clothing/under/color/grey = 50, + /obj/item/clothing/under/color/lightblue = 50, + /obj/item/clothing/under/color/lightbrown = 50, + /obj/item/clothing/under/color/lightgreen = 50, + /obj/item/clothing/under/color/lightpurple = 50, + /obj/item/clothing/under/color/lightred = 50, + /obj/item/clothing/under/color/orange = 50, + /obj/item/clothing/under/color/pink = 50, + /obj/item/clothing/under/color/prison = 50, + /obj/item/clothing/under/color/ranger = 50, + /obj/item/clothing/under/color/red = 50, + /obj/item/clothing/under/color/white = 50, + /obj/item/clothing/under/color/yellow = 50, + /obj/item/clothing/under/color/yellowgreen = 50, + /obj/item/clothing/under/aether = 50, + /obj/item/clothing/under/focal = 50, + /obj/item/clothing/under/hephaestus = 50, + /obj/item/clothing/under/wardt = 50, + /obj/item/clothing/under/kilt = 50, + /obj/item/clothing/under/fluff/latexmaid = 50, + /obj/item/clothing/under/dress/lilacdress = 50, + /obj/item/clothing/under/dress/white2 = 50, + /obj/item/clothing/under/dress/white4 = 50, + /obj/item/clothing/under/dress/maid = 50, + /obj/item/clothing/under/dress/maid/sexy = 50, + /obj/item/clothing/under/dress/maid/janitor = 50, + /obj/item/clothing/under/moderncoat = 50, + /obj/item/clothing/under/permit = 50, + /obj/item/clothing/under/oldwoman = 50, + /obj/item/clothing/under/frontier = 50, + /obj/item/clothing/under/mbill = 50, + /obj/item/clothing/under/pants/baggy/ = 50, + /obj/item/clothing/under/pants/baggy/classicjeans = 50, + /obj/item/clothing/under/pants/baggy/mustangjeans = 50, + /obj/item/clothing/under/pants/baggy/blackjeans = 50, + /obj/item/clothing/under/pants/baggy/greyjeans = 50, + /obj/item/clothing/under/pants/baggy/youngfolksjeans = 50, + /obj/item/clothing/under/pants/baggy/white = 50, + /obj/item/clothing/under/pants/baggy/red = 50, + /obj/item/clothing/under/pants/baggy/black = 50, + /obj/item/clothing/under/pants/baggy/tan = 50, + /obj/item/clothing/under/pants/baggy/track = 50, + /obj/item/clothing/under/pants/baggy/khaki = 50, + /obj/item/clothing/under/pants/baggy/camo = 50, + /obj/item/clothing/under/pants/utility/ = 50, + /obj/item/clothing/under/pants/utility/orange = 50, + /obj/item/clothing/under/pants/utility/blue = 50, + /obj/item/clothing/under/pants/utility/white = 50, + /obj/item/clothing/under/pants/utility/red = 50, + /obj/item/clothing/under/pants/chaps = 50, + /obj/item/clothing/under/pants/chaps/black = 50, + /obj/item/clothing/under/pants/track = 50, + /obj/item/clothing/under/pants/track/red = 50, + /obj/item/clothing/under/pants/track/white = 50, + /obj/item/clothing/under/pants/track/green = 50, + /obj/item/clothing/under/pants/track/blue = 50, + /obj/item/clothing/under/pants/yogapants = 50, + /obj/item/clothing/under/ascetic = 50, + /obj/item/clothing/under/dress/white3 = 50, + /obj/item/clothing/under/skirt/pleated = 50, + /obj/item/clothing/under/dress/darkred = 50, + /obj/item/clothing/under/dress/redeveninggown = 50, + /obj/item/clothing/under/dress/red_swept_dress = 50, + /obj/item/clothing/under/dress/sailordress = 50, + /obj/item/clothing/under/dress/sari = 50, + /obj/item/clothing/under/dress/sari/green = 50, + /obj/item/clothing/under/dress/qipao = 50, + /obj/item/clothing/under/dress/qipao/red = 50, + /obj/item/clothing/under/dress/qipao/white = 50, + /obj/item/clothing/under/shorts/red = 50, + /obj/item/clothing/under/shorts/green = 50, + /obj/item/clothing/under/shorts/blue = 50, + /obj/item/clothing/under/shorts/black = 50, + /obj/item/clothing/under/shorts/grey = 50, + /obj/item/clothing/under/shorts/white = 50, + /obj/item/clothing/under/shorts/jeans = 50, + /obj/item/clothing/under/shorts/jeans/ = 50, + /obj/item/clothing/under/shorts/jeans/classic = 50, + /obj/item/clothing/under/shorts/jeans/mustang = 50, + /obj/item/clothing/under/shorts/jeans/youngfolks = 50, + /obj/item/clothing/under/shorts/jeans/black = 50, + /obj/item/clothing/under/shorts/jeans/grey = 50, + /obj/item/clothing/under/shorts/khaki/ = 50, + /obj/item/clothing/under/skirt/loincloth = 50, + /obj/item/clothing/under/skirt/khaki = 50, + /obj/item/clothing/under/skirt/blue = 50, + /obj/item/clothing/under/skirt/red = 50, + /obj/item/clothing/under/skirt/denim = 50, + /obj/item/clothing/under/skirt/pleated = 50, + /obj/item/clothing/under/skirt/outfit/plaid_blue = 50, + /obj/item/clothing/under/skirt/outfit/plaid_red = 50, + /obj/item/clothing/under/skirt/outfit/plaid_purple = 50, + /obj/item/clothing/under/overalls/sleek = 50, + /obj/item/clothing/under/sl_suit = 50, + /obj/item/clothing/under/gentlesuit = 50, + /obj/item/clothing/under/gentlesuit/skirt = 50, + /obj/item/clothing/under/suit_jacket = 50, + /obj/item/clothing/under/suit_jacket/really_black/skirt = 50, + /obj/item/clothing/under/suit_jacket/really_black = 50, + /obj/item/clothing/under/suit_jacket/female/skirt = 50, + /obj/item/clothing/under/suit_jacket/female/ = 50, + /obj/item/clothing/under/suit_jacket/red = 50, + /obj/item/clothing/under/suit_jacket/red/skirt = 50, + /obj/item/clothing/under/suit_jacket/charcoal = 50, + /obj/item/clothing/under/suit_jacket/charcoal/skirt = 50, + /obj/item/clothing/under/suit_jacket/navy = 50, + /obj/item/clothing/under/suit_jacket/navy/skirt = 50, + /obj/item/clothing/under/suit_jacket/burgundy = 50, + /obj/item/clothing/under/suit_jacket/burgundy/skirt = 50, + /obj/item/clothing/under/suit_jacket/checkered = 50, + /obj/item/clothing/under/suit_jacket/checkered/skirt = 50, + /obj/item/clothing/under/suit_jacket/tan = 50, + /obj/item/clothing/under/suit_jacket/tan/skirt = 50, + /obj/item/clothing/under/scratch = 50, + /obj/item/clothing/under/scratch/skirt = 50, + /obj/item/clothing/under/sundress = 50, + /obj/item/clothing/under/sundress_white = 50, + /obj/item/clothing/under/rank/psych/turtleneck/sweater = 50, + /obj/item/weapon/storage/box/fluff/swimsuit = 50, + /obj/item/weapon/storage/box/fluff/swimsuit/blue = 50, + /obj/item/weapon/storage/box/fluff/swimsuit/purple = 50, + /obj/item/weapon/storage/box/fluff/swimsuit/green = 50, + /obj/item/weapon/storage/box/fluff/swimsuit/red = 50, + /obj/item/weapon/storage/box/fluff/swimsuit/white = 50, + /obj/item/weapon/storage/box/fluff/swimsuit/earth = 50, + /obj/item/weapon/storage/box/fluff/swimsuit/engineering = 50, + /obj/item/weapon/storage/box/fluff/swimsuit/science = 50, + /obj/item/weapon/storage/box/fluff/swimsuit/security = 50, + /obj/item/weapon/storage/box/fluff/swimsuit/medical = 50, + /obj/item/clothing/under/utility = 50, + /obj/item/clothing/under/utility/grey = 50, + /obj/item/clothing/under/utility/blue = 50, + /obj/item/clothing/under/fluff/v_nanovest = 50, + /obj/item/clothing/under/dress/westernbustle = 50, + /obj/item/clothing/under/wedding/bride_white = 50, + /obj/item/weapon/storage/backpack/ = 50, + /obj/item/weapon/storage/backpack/messenger = 50, + /obj/item/weapon/storage/backpack/satchel = 50) + premium = list(/obj/item/clothing/under/color/rainbow = 1) + contraband = list(/obj/item/clothing/under/rank/clown = 1) + +/obj/machinery/vending/loadout/gadget + name = "Chips Co." + desc = "A special vendor for devices and gadgets." + product_ads = "You can't RESIST our great deals!;Feeling disconnected? We have a gadget for you!;You know you have the capacity to buy our capacitors!;FILL THAT HOLE IN YOUR HEART WITH OUR PLASTIC DISTRACTIONS!!!;Devices for everyone! Chips Co.!;ROBUST INVENTORY, GREAT PRICES! ;DON'T FORGET THE oyPAD 13s PRO! ON SALE NOW, ONLY ONE THOUSAND THALERS!" + icon_state = "gadgets" + vend_delay = 11 + products = list(/obj/item/clothing/suit/circuitry = 1, + /obj/item/clothing/head/circuitry = 1, + /obj/item/clothing/shoes/circuitry = 1, + /obj/item/clothing/gloves/circuitry = 1, + /obj/item/clothing/under/circuitry = 1, + /obj/item/clothing/glasses/circuitry = 1, + /obj/item/clothing/ears/circuitry = 1, + /obj/item/device/text_to_speech = 5, + /obj/item/device/paicard = 5, + /obj/item/device/communicator = 10, + /obj/item/device/communicator/watch = 10, + /obj/item/device/radio = 10, + /obj/item/device/camera = 5, + /obj/item/device/taperecorder = 5, + /obj/item/modular_computer/tablet/preset/custom_loadout/cheap = 5, + /obj/item/device/pda = 10, + /obj/item/device/radio/headset = 10, + /obj/item/device/flashlight = 5, + /obj/item/device/laser_pointer = 3, + /obj/item/clothing/glasses/omnihud = 10) + prices = list(/obj/item/clothing/suit/circuitry = 100, + /obj/item/clothing/head/circuitry = 100, + /obj/item/clothing/shoes/circuitry = 100, + /obj/item/clothing/gloves/circuitry = 100, + /obj/item/clothing/under/circuitry = 100, + /obj/item/clothing/glasses/circuitry = 100, + /obj/item/clothing/ears/circuitry = 100, + /obj/item/device/text_to_speech = 300, + /obj/item/device/paicard = 100, + /obj/item/device/communicator = 100, + /obj/item/device/communicator/watch = 100, + /obj/item/device/radio = 100, + /obj/item/device/camera = 100, + /obj/item/device/taperecorder = 100, + /obj/item/modular_computer/tablet/preset/custom_loadout/cheap = 1000, + /obj/item/device/pda = 50, + /obj/item/device/radio/headset = 50, + /obj/item/device/flashlight = 100, + /obj/item/device/laser_pointer = 200, + /obj/item/clothing/glasses/omnihud = 100) + premium = list(/obj/item/device/perfect_tele/one_beacon = 1) + contraband = list(/obj/item/weapon/disk/nifsoft/compliance = 1) + +/obj/machinery/vending/loadout/loadout_misc + name = "Bits and Bobs" + desc = "A special vendor for things and also stuff!" + product_ads = "You never know when you might need an umbrella.;Hey kid... want some cardemon cards?;Miscellaneous for your miscellaneous heart.;Who's bob? Wouldn't you like to know.;I'm sorry there's no grappling hooks in our umbrellas.;We sell things AND stuff." + icon_state = "loadout_misc" + products = list(/obj/item/weapon/cane = 5, + /obj/item/weapon/pack/cardemon = 25, + /obj/item/weapon/deck/holder = 5, + /obj/item/weapon/deck/cah = 5, + /obj/item/weapon/deck/cah/black = 5, + /obj/item/weapon/deck/tarot = 5, + /obj/item/weapon/deck/cards = 5, + /obj/item/weapon/pack/spaceball = 10, + /obj/item/weapon/storage/pill_bottle/dice = 5, + /obj/item/weapon/storage/pill_bottle/dice_nerd = 5, + /obj/item/weapon/melee/umbrella/random = 10) + prices = list(/obj/item/weapon/cane = 100, + /obj/item/weapon/pack/cardemon = 100, + /obj/item/weapon/deck/holder = 100, + /obj/item/weapon/deck/cah = 100, + /obj/item/weapon/deck/cah/black = 100, + /obj/item/weapon/deck/tarot = 100, + /obj/item/weapon/deck/cards = 100, + /obj/item/weapon/pack/spaceball = 100, + /obj/item/weapon/storage/pill_bottle/dice = 100, + /obj/item/weapon/storage/pill_bottle/dice_nerd = 100, + /obj/item/weapon/melee/umbrella/random = 100) + premium = list(/obj/item/toy/bosunwhistle = 1) + contraband = list(/obj/item/toy/katana = 1) + +/obj/machinery/vending/loadout/overwear + name = "Big D's Best" + desc = "A special vendor using compressed matter cartridges to store large amounts of overwear!" + product_ads = "Dress your best! It's what big D would want.;Overwear for all occasions!;Big D has what you need if what you need is some form of jacket!;Need a new hoodie? Bid D has you covered.;Big D says you need a new suit!;Big D smiles when he sees you in one of his coats!" + icon_state = "suit" + vend_delay = 16 + products = list(/obj/item/clothing/suit/storage/apron = 5, + /obj/item/clothing/suit/storage/flannel/aqua = 5, + /obj/item/clothing/suit/storage/toggle/bomber = 5, + /obj/item/clothing/suit/storage/bomber/alt = 5, + /obj/item/clothing/suit/storage/flannel/brown = 5, + /obj/item/clothing/suit/storage/toggle/cardigan = 5, + /obj/item/clothing/accessory/poncho/roles/cloak/custom = 5, + /obj/item/clothing/suit/storage/duster = 5, + /obj/item/clothing/suit/storage/toggle/denim_jacket = 5, + /obj/item/clothing/suit/storage/toggle/denim_jacket/nanotrasen = 5, + /obj/item/clothing/suit/storage/toggle/denim_jacket/sleeveless = 5, + /obj/item/clothing/suit/storage/toggle/denim_jacket/nanotrasen/sleeveless = 5, + /obj/item/clothing/suit/storage/fluff/gntop = 5, + /obj/item/clothing/suit/greatcoat = 5, + /obj/item/clothing/suit/storage/flannel = 5, + /obj/item/clothing/suit/storage/greyjacket = 5, + /obj/item/clothing/suit/storage/hazardvest = 5, + /obj/item/clothing/suit/storage/toggle/hoodie/black = 5, + /obj/item/clothing/suit/storage/toggle/hoodie/red = 5, + /obj/item/clothing/suit/storage/toggle/hoodie/blue = 5, + /obj/item/clothing/suit/storage/toggle/hoodie/green = 5, + /obj/item/clothing/suit/storage/toggle/hoodie/orange = 5, + /obj/item/clothing/suit/storage/toggle/hoodie/yellow = 5, + /obj/item/clothing/suit/storage/toggle/hoodie/cti = 5, + /obj/item/clothing/suit/storage/toggle/hoodie/mu = 5, + /obj/item/clothing/suit/storage/toggle/hoodie/nt = 5, + /obj/item/clothing/suit/storage/toggle/hoodie/smw = 5, + /obj/item/clothing/suit/storage/toggle/hoodie/nrti = 5, + /obj/item/clothing/suit/storage/fluff/jacket/field = 5, + /obj/item/clothing/suit/storage/fluff/jacket/air_cavalry = 5, + /obj/item/clothing/suit/storage/fluff/jacket/air_force = 5, + /obj/item/clothing/suit/storage/fluff/jacket/navy = 5, + /obj/item/clothing/suit/storage/fluff/jacket/special_forces = 5, + /obj/item/clothing/suit/kamishimo = 5, + /obj/item/clothing/suit/kimono = 5, + /obj/item/clothing/suit/storage/toggle/labcoat = 5, + /obj/item/clothing/suit/storage/toggle/labcoat/blue = 5, + /obj/item/clothing/suit/storage/toggle/labcoat/blue_edge = 5, + /obj/item/clothing/suit/storage/toggle/labcoat/green = 5, + /obj/item/clothing/suit/storage/toggle/labcoat/orange = 5, + /obj/item/clothing/suit/storage/toggle/labcoat/pink = 5, + /obj/item/clothing/suit/storage/toggle/labcoat/red = 5, + /obj/item/clothing/suit/storage/toggle/labcoat/yellow = 5, + /obj/item/clothing/suit/leathercoat = 5, + /obj/item/clothing/suit/storage/toggle/leather_jacket = 5, + /obj/item/clothing/suit/storage/leather_jacket_alt = 5, + /obj/item/clothing/suit/storage/toggle/brown_jacket = 5, + /obj/item/clothing/suit/storage/toggle/leather_jacket/nanotrasen = 5, + /obj/item/clothing/suit/storage/toggle/brown_jacket/nanotrasen = 5, + /obj/item/clothing/suit/storage/toggle/leather_jacket/sleeveless = 5, + /obj/item/clothing/suit/storage/toggle/brown_jacket/sleeveless = 5, + /obj/item/clothing/suit/storage/toggle/leather_jacket/nanotrasen/sleeveless = 5, + /obj/item/clothing/suit/storage/toggle/brown_jacket/nanotrasen/sleeveless = 5, + /obj/item/clothing/suit/storage/miljacket = 5, + /obj/item/clothing/suit/storage/miljacket/alt = 5, + /obj/item/clothing/suit/storage/miljacket/green = 5, + /obj/item/clothing/suit/storage/apron/overalls = 5, + /obj/item/clothing/suit/storage/toggle/peacoat = 5, + /obj/item/clothing/accessory/poncho = 5, + /obj/item/clothing/accessory/poncho/green = 5, + /obj/item/clothing/accessory/poncho/red = 5, + /obj/item/clothing/accessory/poncho/purple = 5, + /obj/item/clothing/accessory/poncho/blue = 5, + /obj/item/clothing/suit/jacket/puffer = 5, + /obj/item/clothing/suit/jacket/puffer/vest = 5, + /obj/item/clothing/suit/storage/flannel/red = 5, + /obj/item/clothing/suit/unathi/robe = 5, + /obj/item/clothing/suit/storage/snowsuit = 5, + /obj/item/clothing/suit/storage/toggle/internalaffairs = 5, + /obj/item/clothing/suit/storage/toggle/lawyer/bluejacket = 5, + /obj/item/clothing/suit/storage/toggle/lawyer/purpjacket = 5, + /obj/item/clothing/suit/suspenders = 5, + /obj/item/clothing/suit/storage/toggle/track = 5, + /obj/item/clothing/suit/storage/toggle/track/blue = 5, + /obj/item/clothing/suit/storage/toggle/track/green = 5, + /obj/item/clothing/suit/storage/toggle/track/red = 5, + /obj/item/clothing/suit/storage/toggle/track/white = 5, + /obj/item/clothing/suit/storage/trench = 5, + /obj/item/clothing/suit/storage/trench/grey = 5, + /obj/item/clothing/suit/varsity = 5, + /obj/item/clothing/suit/varsity/red = 5, + /obj/item/clothing/suit/varsity/purple = 5, + /obj/item/clothing/suit/varsity/green = 5, + /obj/item/clothing/suit/varsity/blue = 5, + /obj/item/clothing/suit/varsity/brown = 5, + /obj/item/clothing/suit/storage/hooded/wintercoat = 5, + /obj/item/clothing/suit/storage/teshari/cloak/standard/white_grey = 5) + prices = list(/obj/item/clothing/suit/storage/apron = 100, + /obj/item/clothing/suit/storage/flannel/aqua = 100, + /obj/item/clothing/suit/storage/toggle/bomber = 100, + /obj/item/clothing/suit/storage/bomber/alt = 100, + /obj/item/clothing/suit/storage/flannel/brown = 100, + /obj/item/clothing/suit/storage/toggle/cardigan = 100, + /obj/item/clothing/accessory/poncho/roles/cloak/custom = 100, + /obj/item/clothing/suit/storage/duster = 100, + /obj/item/clothing/suit/storage/toggle/denim_jacket = 100, + /obj/item/clothing/suit/storage/toggle/denim_jacket/nanotrasen = 100, + /obj/item/clothing/suit/storage/toggle/denim_jacket/sleeveless = 100, + /obj/item/clothing/suit/storage/toggle/denim_jacket/nanotrasen/sleeveless = 100, + /obj/item/clothing/suit/storage/fluff/gntop = 100, + /obj/item/clothing/suit/greatcoat = 100, + /obj/item/clothing/suit/storage/flannel = 100, + /obj/item/clothing/suit/storage/greyjacket = 100, + /obj/item/clothing/suit/storage/hazardvest = 100, + /obj/item/clothing/suit/storage/toggle/hoodie/black = 100, + /obj/item/clothing/suit/storage/toggle/hoodie/red = 100, + /obj/item/clothing/suit/storage/toggle/hoodie/blue = 100, + /obj/item/clothing/suit/storage/toggle/hoodie/green = 100, + /obj/item/clothing/suit/storage/toggle/hoodie/orange = 100, + /obj/item/clothing/suit/storage/toggle/hoodie/yellow = 100, + /obj/item/clothing/suit/storage/toggle/hoodie/cti = 100, + /obj/item/clothing/suit/storage/toggle/hoodie/mu = 100, + /obj/item/clothing/suit/storage/toggle/hoodie/nt = 100, + /obj/item/clothing/suit/storage/toggle/hoodie/smw = 100, + /obj/item/clothing/suit/storage/toggle/hoodie/nrti = 100, + /obj/item/clothing/suit/storage/fluff/jacket/field = 100, + /obj/item/clothing/suit/storage/fluff/jacket/air_cavalry = 100, + /obj/item/clothing/suit/storage/fluff/jacket/air_force = 100, + /obj/item/clothing/suit/storage/fluff/jacket/navy = 100, + /obj/item/clothing/suit/storage/fluff/jacket/special_forces = 100, + /obj/item/clothing/suit/kamishimo = 100, + /obj/item/clothing/suit/kimono = 100, + /obj/item/clothing/suit/storage/toggle/labcoat = 100, + /obj/item/clothing/suit/storage/toggle/labcoat/blue = 100, + /obj/item/clothing/suit/storage/toggle/labcoat/blue_edge = 100, + /obj/item/clothing/suit/storage/toggle/labcoat/green = 100, + /obj/item/clothing/suit/storage/toggle/labcoat/orange = 100, + /obj/item/clothing/suit/storage/toggle/labcoat/pink = 100, + /obj/item/clothing/suit/storage/toggle/labcoat/red = 100, + /obj/item/clothing/suit/storage/toggle/labcoat/yellow = 100, + /obj/item/clothing/suit/leathercoat = 100, + /obj/item/clothing/suit/storage/toggle/leather_jacket = 100, + /obj/item/clothing/suit/storage/leather_jacket_alt = 100, + /obj/item/clothing/suit/storage/toggle/brown_jacket = 100, + /obj/item/clothing/suit/storage/toggle/leather_jacket/nanotrasen = 100, + /obj/item/clothing/suit/storage/toggle/brown_jacket/nanotrasen = 100, + /obj/item/clothing/suit/storage/toggle/leather_jacket/sleeveless = 100, + /obj/item/clothing/suit/storage/toggle/brown_jacket/sleeveless = 100, + /obj/item/clothing/suit/storage/toggle/leather_jacket/nanotrasen/sleeveless = 100, + /obj/item/clothing/suit/storage/toggle/brown_jacket/nanotrasen/sleeveless = 100, + /obj/item/clothing/suit/storage/miljacket = 100, + /obj/item/clothing/suit/storage/miljacket/alt = 100, + /obj/item/clothing/suit/storage/miljacket/green = 100, + /obj/item/clothing/suit/storage/apron/overalls = 100, + /obj/item/clothing/suit/storage/toggle/peacoat = 100, + /obj/item/clothing/accessory/poncho = 100, + /obj/item/clothing/accessory/poncho/green = 100, + /obj/item/clothing/accessory/poncho/red = 100, + /obj/item/clothing/accessory/poncho/purple = 100, + /obj/item/clothing/accessory/poncho/blue = 100, + /obj/item/clothing/suit/jacket/puffer = 100, + /obj/item/clothing/suit/jacket/puffer/vest = 100, + /obj/item/clothing/suit/storage/flannel/red = 100, + /obj/item/clothing/suit/unathi/robe = 100, + /obj/item/clothing/suit/storage/snowsuit = 100, + /obj/item/clothing/suit/storage/toggle/internalaffairs = 100, + /obj/item/clothing/suit/storage/toggle/lawyer/bluejacket = 100, + /obj/item/clothing/suit/storage/toggle/lawyer/purpjacket = 100, + /obj/item/clothing/suit/suspenders = 100, + /obj/item/clothing/suit/storage/toggle/track = 100, + /obj/item/clothing/suit/storage/toggle/track/blue = 100, + /obj/item/clothing/suit/storage/toggle/track/green = 100, + /obj/item/clothing/suit/storage/toggle/track/red = 100, + /obj/item/clothing/suit/storage/toggle/track/white = 100, + /obj/item/clothing/suit/storage/trench = 100, + /obj/item/clothing/suit/storage/trench/grey = 100, + /obj/item/clothing/suit/varsity = 100, + /obj/item/clothing/suit/varsity/red = 100, + /obj/item/clothing/suit/varsity/purple = 100, + /obj/item/clothing/suit/varsity/green = 100, + /obj/item/clothing/suit/varsity/blue = 100, + /obj/item/clothing/suit/varsity/brown = 100, + /obj/item/clothing/suit/storage/hooded/wintercoat = 100, + /obj/item/clothing/suit/storage/teshari/cloak/standard/white_grey = 100) + premium = list(/obj/item/clothing/suit/imperium_monk = 3) + contraband = list(/obj/item/toy/katana = 1) + +/obj/machinery/vending/loadout/costume + name = "Thespian's Delight" + desc = "Sometimes nerds need costumes!" + product_ads = "Don't let your art be stifled!;Remember, practice makes perfect!;Break a leg!;Don't make me get the cane!;Thespian's Delight entering stage right!;Costumes for your acting needs!" + icon = 'icons/obj/vending.dmi' + icon_state = "theater" + products = list(/obj/item/clothing/suit/storage/hooded/carp_costume = 3, + /obj/item/clothing/suit/storage/hooded/carp_costume = 3, + /obj/item/clothing/suit/chickensuit = 3, + /obj/item/clothing/head/chicken = 3, + /obj/item/clothing/head/helmet/gladiator = 3, + /obj/item/clothing/under/gladiator = 3, + /obj/item/clothing/suit/storage/toggle/labcoat/mad = 3, + /obj/item/clothing/under/gimmick/rank/captain/suit = 3, + /obj/item/clothing/glasses/gglasses = 3, + /obj/item/clothing/head/flatcap = 3, + /obj/item/clothing/shoes/boots/jackboots = 3, + /obj/item/clothing/under/schoolgirl = 3, + /obj/item/clothing/head/kitty = 3, + /obj/item/clothing/glasses/sunglasses/blindfold = 3, + /obj/item/clothing/head/beret = 3, + /obj/item/clothing/under/skirt = 3, + /obj/item/clothing/under/suit_jacket = 3, + /obj/item/clothing/head/that = 3, + /obj/item/clothing/accessory/wcoat = 3, + /obj/item/clothing/under/scratch = 3, + /obj/item/clothing/shoes/white = 3, + /obj/item/clothing/gloves/white = 3, + /obj/item/clothing/under/kilt = 3, + /obj/item/clothing/glasses/monocle = 3, + /obj/item/clothing/under/sl_suit = 3, + /obj/item/clothing/mask/fakemoustache = 3, + /obj/item/weapon/cane = 3, + /obj/item/clothing/head/bowler = 3, + /obj/item/clothing/head/plaguedoctorhat = 3, + /obj/item/clothing/suit/bio_suit/plaguedoctorsuit = 3, + /obj/item/clothing/mask/gas/plaguedoctor/fluff = 3, + /obj/item/clothing/under/owl = 3, + /obj/item/clothing/mask/gas/owl_mask = 3, + /obj/item/clothing/under/waiter = 3, + /obj/item/clothing/suit/storage/apron = 3, + /obj/item/clothing/under/pirate = 3, + /obj/item/clothing/head/pirate = 3, + /obj/item/clothing/suit/pirate = 3, + /obj/item/clothing/glasses/eyepatch = 3, + /obj/item/clothing/head/ushanka = 3, + /obj/item/clothing/under/soviet = 3, + /obj/item/clothing/suit/imperium_monk = 1, + /obj/item/clothing/suit/holidaypriest = 3, + /obj/item/clothing/head/witchwig = 3, + /obj/item/clothing/under/sundress = 3, + /obj/item/weapon/staff/broom = 3, + /obj/item/clothing/suit/wizrobe/fake = 3, + /obj/item/clothing/head/wizard/fake = 3, + /obj/item/weapon/staff = 3, + /obj/item/clothing/mask/gas/sexyclown = 3, + /obj/item/clothing/under/sexyclown = 3, + /obj/item/clothing/mask/gas/sexymime = 3, + /obj/item/clothing/under/sexymime = 3, + /obj/item/clothing/suit/storage/hooded/knight_costume = 3, + /obj/item/clothing/suit/storage/hooded/knight_costume/galahad = 3, + /obj/item/clothing/suit/storage/hooded/knight_costume/lancelot = 3, + /obj/item/clothing/suit/storage/hooded/knight_costume/robin = 3, + /obj/item/clothing/suit/armor/combat/crusader_costume = 3, + /obj/item/clothing/suit/armor/combat/crusader_costume/bedevere = 3, + /obj/item/clothing/head/helmet/combat/crusader_costume = 3, + /obj/item/clothing/head/helmet/combat/bedevere_costume = 3, + /obj/item/clothing/gloves/combat/knight_costume = 3, + /obj/item/clothing/gloves/combat/knight_costume/brown = 3, + /obj/item/clothing/shoes/knight_costume = 3, + /obj/item/clothing/shoes/knight_costume/black = 3) + prices = list(/obj/item/clothing/suit/storage/hooded/carp_costume = 200, + /obj/item/clothing/suit/storage/hooded/carp_costume = 200, + /obj/item/clothing/suit/chickensuit = 200, + /obj/item/clothing/head/chicken = 200, + /obj/item/clothing/head/helmet/gladiator = 300, + /obj/item/clothing/under/gladiator = 500, + /obj/item/clothing/suit/storage/toggle/labcoat/mad = 200, + /obj/item/clothing/under/gimmick/rank/captain/suit = 200, + /obj/item/clothing/glasses/gglasses = 200, + /obj/item/clothing/head/flatcap = 200, + /obj/item/clothing/shoes/boots/jackboots = 200, + /obj/item/clothing/under/schoolgirl = 200, + /obj/item/clothing/head/kitty = 200, + /obj/item/clothing/glasses/sunglasses/blindfold = 200, + /obj/item/clothing/head/beret = 200, + /obj/item/clothing/under/skirt = 200, + /obj/item/clothing/under/suit_jacket = 200, + /obj/item/clothing/head/that = 200, + /obj/item/clothing/accessory/wcoat = 200, + /obj/item/clothing/under/scratch = 200, + /obj/item/clothing/shoes/white = 200, + /obj/item/clothing/gloves/white = 200, + /obj/item/clothing/under/kilt = 200, + /obj/item/clothing/glasses/monocle = 400, + /obj/item/clothing/under/sl_suit = 200, + /obj/item/clothing/mask/fakemoustache = 200, + /obj/item/weapon/cane = 300, + /obj/item/clothing/head/bowler = 200, + /obj/item/clothing/head/plaguedoctorhat = 300, + /obj/item/clothing/suit/bio_suit/plaguedoctorsuit = 300, + /obj/item/clothing/mask/gas/plaguedoctor/fluff = 600, + /obj/item/clothing/under/owl = 400, + /obj/item/clothing/mask/gas/owl_mask = 400, + /obj/item/clothing/under/waiter = 100, + /obj/item/clothing/suit/storage/apron = 200, + /obj/item/clothing/under/pirate = 300, + /obj/item/clothing/head/pirate = 400, + /obj/item/clothing/suit/pirate = 600, + /obj/item/clothing/glasses/eyepatch = 200, + /obj/item/clothing/head/ushanka = 200, + /obj/item/clothing/under/soviet = 200, + /obj/item/clothing/suit/imperium_monk = 2000, + /obj/item/clothing/suit/holidaypriest = 200, + /obj/item/clothing/head/witchwig = 200, + /obj/item/clothing/under/sundress = 50, + /obj/item/weapon/staff/broom = 400, + /obj/item/clothing/suit/wizrobe/fake = 200, + /obj/item/clothing/head/wizard/fake = 200, + /obj/item/weapon/staff = 400, + /obj/item/clothing/mask/gas/sexyclown = 600, + /obj/item/clothing/under/sexyclown = 200, + /obj/item/clothing/mask/gas/sexymime = 600, + /obj/item/clothing/under/sexymime = 200, + /obj/item/clothing/suit/storage/hooded/knight_costume = 200, + /obj/item/clothing/suit/storage/hooded/knight_costume/galahad = 200, + /obj/item/clothing/suit/storage/hooded/knight_costume/lancelot = 200, + /obj/item/clothing/suit/storage/hooded/knight_costume/robin = 200, + /obj/item/clothing/suit/armor/combat/crusader_costume = 200, + /obj/item/clothing/suit/armor/combat/crusader_costume/bedevere = 200, + /obj/item/clothing/head/helmet/combat/crusader_costume = 200, + /obj/item/clothing/head/helmet/combat/bedevere_costume = 200, + /obj/item/clothing/gloves/combat/knight_costume = 200, + /obj/item/clothing/gloves/combat/knight_costume/brown = 200, + /obj/item/clothing/shoes/knight_costume = 200, + /obj/item/clothing/shoes/knight_costume/black = 200) + premium = list(/obj/item/clothing/suit/imperium_monk = 3, + /obj/item/clothing/suit/barding/agatha = 2, + /obj/item/clothing/suit/barding/alt_agatha = 2, + /obj/item/clothing/suit/barding/mason = 2, + /obj/item/clothing/suit/drake_cloak = 2) + contraband = list(/obj/item/clothing/head/syndicatefake = 1, + /obj/item/clothing/suit/syndicatefake = 1) + +/obj/machinery/seed_storage/brig + name = "Prisoners' food seed storage" + starting_seeds = list( + /obj/item/seeds/appleseed = 3, + /obj/item/seeds/bananaseed = 3, + /obj/item/seeds/berryseed = 3, + /obj/item/seeds/cabbageseed = 3, + /obj/item/seeds/carrotseed = 3, + /obj/item/seeds/celery = 3, + /obj/item/seeds/chantermycelium = 3, + /obj/item/seeds/cherryseed = 3, + /obj/item/seeds/chiliseed = 3, + /obj/item/seeds/cocoapodseed = 3, + /obj/item/seeds/cornseed = 3, + /obj/item/seeds/durian = 3, + /obj/item/seeds/eggplantseed = 3, + /obj/item/seeds/grapeseed = 3, + /obj/item/seeds/grassseed = 3, + /obj/item/seeds/replicapod = 3, + /obj/item/seeds/lavenderseed = 3, + /obj/item/seeds/lemonseed = 3, + /obj/item/seeds/lettuce = 3, + /obj/item/seeds/limeseed = 3, + /obj/item/seeds/mtearseed = 2, + /obj/item/seeds/orangeseed = 3, + /obj/item/seeds/onionseed = 3, + /obj/item/seeds/peanutseed = 3, + /obj/item/seeds/plumpmycelium = 3, + /obj/item/seeds/poppyseed = 3, + /obj/item/seeds/potatoseed = 3, + /obj/item/seeds/pumpkinseed = 3, + /obj/item/seeds/rhubarb = 3, + /obj/item/seeds/riceseed = 3, + /obj/item/seeds/rose = 3, + /obj/item/seeds/soyaseed = 3, + /obj/item/seeds/pineapple = 3, + /obj/item/seeds/sugarcaneseed = 3, + /obj/item/seeds/sunflowerseed = 3, + /obj/item/seeds/shandseed = 2, + /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/wabback = 2) + +/obj/machinery/vending/hydronutrients/brig + name = "Brig NutriMax" + desc = "A plant nutrients vendor. Seems some items aren't included." + products = list(/obj/item/weapon/reagent_containers/glass/bottle/eznutrient = 6,/obj/item/weapon/reagent_containers/glass/bottle/left4zed = 4,/obj/item/weapon/reagent_containers/glass/bottle/robustharvest = 3,/obj/item/weapon/plantspray/pests = 20, + /obj/item/weapon/reagent_containers/glass/beaker = 4,/obj/item/weapon/storage/bag/plants = 5) + premium = list(/obj/item/weapon/reagent_containers/glass/bottle/ammonia = 10,/obj/item/weapon/reagent_containers/glass/bottle/diethylamine = 5) + +/obj/machinery/vending/emergencyfood + name = "Food Cube Dispenser" + desc = "An ominous machine dispensing food cubes. It will keep you fed, but at what cost?" + icon = 'icons/obj/vending_vr.dmi' + icon_state = "foodcube" + product_ads = "Afraid to starve?;Starvation is not an option!;Add water before consumption.;Let me take care of you.;Dire circumstances call for food cubes, do not let the taste deter you." + products = list(/obj/item/weapon/storage/box/wings/tray = 5, + /obj/item/weapon/reagent_containers/food/drinks/cans/waterbottle = 10) + contraband = list(/obj/item/weapon/storage/box/wings/tray = 5) + +/obj/machinery/vending/emergencyfood/filled + products = list(/obj/item/weapon/storage/box/wings/tray = 40) + contraband = list(/obj/item/weapon/storage/box/wings/tray = 20) + +/obj/machinery/vending/cola + icon_state = "Soda_Machine" + +/obj/machinery/vending/cola/soft + icon = 'icons/obj/vending_vr.dmi' + icon_state = "Cola_Machine" + +//Tweaked existing vendors +/obj/machinery/vending/hydroseeds/New() + products += list(/obj/item/seeds/shrinkshroom = 3,/obj/item/seeds/megashroom = 3) + ..() + +/obj/machinery/vending/security/New() + products += list(/obj/item/weapon/gun/energy/taser = 8,/obj/item/weapon/gun/energy/stunrevolver = 4, + /obj/item/weapon/reagent_containers/spray/pepper = 6,/obj/item/taperoll/police = 6, + /obj/item/clothing/glasses/omnihud/sec = 6) + ..() + +/obj/machinery/vending/tool/New() + products += list(/obj/item/weapon/reagent_containers/spray/windowsealant = 5) + ..() + +/obj/machinery/vending/engivend/New() + products += list(/obj/item/clothing/glasses/omnihud/eng = 6) + contraband += list(/obj/item/weapon/rms = 5) + ..() + +/obj/machinery/vending/medical/New() + products += list(/obj/item/weapon/storage/box/khcrystal = 4,/obj/item/weapon/backup_implanter = 3, + /obj/item/clothing/glasses/omnihud/med = 4, /obj/item/device/glasses_kit = 1, /obj/item/weapon/storage/quickdraw/syringe_case = 4) + ..() + +//I want this not just as part of the zoo. ;v +/obj/machinery/vending/food + name = "Food-O-Mat" + desc = "A technological marvel, supposedly able to cook or mix a large variety of food or drink." + icon_state = "hotfood" + products = list(/obj/item/weapon/tray = 8, + /obj/item/weapon/material/kitchen/utensil/fork = 6, + /obj/item/weapon/material/knife/plastic = 6, + /obj/item/weapon/material/kitchen/utensil/spoon = 6, + /obj/item/weapon/reagent_containers/food/snacks/tomatosoup = 8, + /obj/item/weapon/reagent_containers/food/snacks/mushroomsoup = 8, + /obj/item/weapon/reagent_containers/food/snacks/jellysandwich = 8, + /obj/item/weapon/reagent_containers/food/snacks/taco = 8, + /obj/item/weapon/reagent_containers/food/snacks/cheeseburger = 8, + /obj/item/weapon/reagent_containers/food/snacks/grilledcheese = 8, + /obj/item/weapon/reagent_containers/food/snacks/hotdog = 8, + /obj/item/weapon/reagent_containers/food/snacks/loadedbakedpotato = 8, + /obj/item/weapon/reagent_containers/food/snacks/omelette = 8, + /obj/item/weapon/reagent_containers/food/snacks/pastatomato = 8, + /obj/item/weapon/reagent_containers/food/snacks/tofuburger = 8, + /obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/mushroompizza = 2, + /obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/vegetablepizza = 2, + /obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/margherita = 2, + /obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/meatpizza = 2, + /obj/item/weapon/reagent_containers/food/snacks/waffles = 4, + /obj/item/weapon/reagent_containers/food/snacks/muffin = 4, + /obj/item/weapon/reagent_containers/food/snacks/appletart = 4, + /obj/item/weapon/reagent_containers/food/snacks/sliceable/applecake = 2, + /obj/item/weapon/reagent_containers/food/snacks/sliceable/bananabread = 2, + /obj/item/weapon/reagent_containers/food/snacks/sliceable/creamcheesebread = 2 + ) + contraband = list(/obj/item/weapon/reagent_containers/food/snacks/mysterysoup = 10) + vend_delay = 15 + +/obj/machinery/vending/food/arojoan //Fluff vendor for the lewd houseboat. + name = "Custom Food-O-Mat" + desc = "Do you think Joan cooks? Of course not. Lazy squirrel!" + products = list(/obj/item/weapon/tray = 6, + /obj/item/weapon/material/kitchen/utensil/fork = 6, + /obj/item/weapon/material/knife/plastic = 6, + /obj/item/weapon/material/kitchen/utensil/spoon = 6, + /obj/item/weapon/reagent_containers/food/snacks/hotandsoursoup = 3, + /obj/item/weapon/reagent_containers/food/snacks/kitsuneudon = 3, + /obj/item/weapon/reagent_containers/food/snacks/generalschicken = 3, + /obj/item/weapon/reagent_containers/food/snacks/sliceable/sushi = 2, + /obj/item/weapon/reagent_containers/food/snacks/jellysandwich = 3, + /obj/item/weapon/reagent_containers/food/snacks/grilledcheese = 3, + /obj/item/weapon/reagent_containers/food/snacks/hotdog = 3, + /obj/item/weapon/storage/box/wings = 2, + /obj/item/weapon/reagent_containers/food/snacks/loadedbakedpotato = 3, + /obj/item/weapon/reagent_containers/food/snacks/omelette = 3, + /obj/item/weapon/reagent_containers/food/snacks/waffles = 3, + /obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/mushroompizza = 1, + /obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/vegetablepizza = 1, + /obj/item/weapon/reagent_containers/food/snacks/appletart = 2, + /obj/item/weapon/reagent_containers/food/snacks/sliceable/applecake = 1, + /obj/item/weapon/reagent_containers/food/snacks/sliceable/bananabread = 2, + /obj/item/weapon/reagent_containers/food/snacks/sliceable/creamcheesebread = 2 + ) + contraband = list(/obj/item/weapon/reagent_containers/food/snacks/mysterysoup = 10) + vend_delay = 15 +/* For later, then +/obj/machinery/vending/weapon_machine + name = "Frozen Star Guns&Ammo" + desc = "A self-defense equipment vending machine. When you need to take care of that clown." + product_slogans = "The best defense is good offense!;Buy for your whole family today!;Nobody can outsmart bullet!;God created man - Frozen Star made them EQUAL!;Nobody can outsmart bullet!;Stupidity can be cured! By LEAD.;Dead kids can't bully your children!" + product_ads = "Stunning!;Take justice in your own hands!;LEADearship!" + icon = 'icons/obj/vending_vr.dmi' + icon_state = "weapon" + products = list(/obj/item/device/flash = 6,/obj/item/weapon/reagent_containers/spray/pepper = 6, /obj/item/weapon/gun/projectile/olivaw = 5, /obj/item/weapon/gun/projectile/giskard = 5, /obj/item/ammo_magazine/mg/cl32/rubber = 20) + contraband = list(/obj/item/weapon/reagent_containers/food/snacks/syndicake = 6) + prices = list(/obj/item/device/flash = 600,/obj/item/weapon/reagent_containers/spray/pepper = 800, /obj/item/weapon/gun/projectile/olivaw = 1600, /obj/item/weapon/gun/projectile/giskard = 1200, /obj/item/ammo_magazine/mg/cl32/rubber = 200) +*/ + +/obj/machinery/vending/fitness/New() + products += list(/obj/item/weapon/reagent_containers/food/snacks/liquidprotein = 8) + prices += list(/obj/item/weapon/reagent_containers/food/snacks/liquidprotein = 5) + ..() + +/obj/machinery/vending/blood + name = "Blood-Onator" + desc = "Freezer-vendor for storage and quick dispensing of blood packs" + product_ads = "The true life juice!;Vampire's choice!;Home-grown blood only!;Donate today, be saved tomorrow!;Approved by Zeng-Hu Pharmaceuticals Incorporated!; Curse you, Vey-Med artificial blood!" + icon = 'icons/obj/vending_vr.dmi' + icon_state = "blood" + vend_delay = 7 + idle_power_usage = 211 + req_access = list(access_medical) + products = list(/obj/item/weapon/reagent_containers/blood/prelabeled/APlus = 3,/obj/item/weapon/reagent_containers/blood/prelabeled/AMinus = 3, + /obj/item/weapon/reagent_containers/blood/prelabeled/BPlus = 3,/obj/item/weapon/reagent_containers/blood/prelabeled/BMinus = 3, + /obj/item/weapon/reagent_containers/blood/prelabeled/OPlus = 2,/obj/item/weapon/reagent_containers/blood/prelabeled/OMinus = 5, + /obj/item/weapon/reagent_containers/blood/empty = 5) + contraband = list(/obj/item/weapon/reagent_containers/glass/bottle/stoxin = 2) + req_log_access = access_cmo + has_logs = 1 + +======= +/obj/machinery/vending/loadout + name = "Fingers and Toes" + desc = "A special vendor for gloves and shoes!" + product_ads = "Do you have fingers and toes? COVER THEM UP!;Show me your toes! Wait. NO DON'T! BUY NEW SHOES!;Don't leave prints, BUY SOME GLOVES!;Remember to check your shoes for micros! You don't have to let them out, but just check for them!;Fingers and Toes is not liable for micro entrapment or abuse under the feet of our patrons.!;This little piggy went WE WE WE all the way down to FINGERS AND TOES to pick up some sweet new gloves and shoes." + icon = 'icons/obj/vending_vr.dmi' + icon_state = "glovesnshoes" + products = list(/obj/item/clothing/gloves/evening = 5, + /obj/item/clothing/gloves/fingerless = 5, + /obj/item/clothing/gloves/black = 5, + /obj/item/clothing/gloves/blue = 5, + /obj/item/clothing/gloves/brown = 5, + /obj/item/clothing/gloves/color = 5, + /obj/item/clothing/gloves/green = 5, + /obj/item/clothing/gloves/grey = 5, + /obj/item/clothing/gloves/sterile/latex = 5, + /obj/item/clothing/gloves/light_brown = 5, + /obj/item/clothing/gloves/sterile/nitrile = 5, + /obj/item/clothing/gloves/orange = 5, + /obj/item/clothing/gloves/purple = 5, + /obj/item/clothing/gloves/red = 5, + /obj/item/clothing/gloves/fluff/siren = 5, + /obj/item/clothing/gloves/white = 5, + /obj/item/clothing/gloves/duty = 5, + /obj/item/clothing/shoes/athletic = 5, + /obj/item/clothing/shoes/boots/fluff/siren = 5, + /obj/item/clothing/shoes/slippers = 5, + /obj/item/clothing/shoes/boots/cowboy/classic = 5, + /obj/item/clothing/shoes/boots/cowboy = 5, + /obj/item/clothing/shoes/boots/duty = 5, + /obj/item/clothing/shoes/flats/white/color = 5, + /obj/item/clothing/shoes/flipflop = 5, + /obj/item/clothing/shoes/heels = 5, + /obj/item/clothing/shoes/hitops/black = 5, + /obj/item/clothing/shoes/hitops/blue = 5, + /obj/item/clothing/shoes/hitops/green = 5, + /obj/item/clothing/shoes/hitops/orange = 5, + /obj/item/clothing/shoes/hitops/purple = 5, + /obj/item/clothing/shoes/hitops/red = 5, + /obj/item/clothing/shoes/flats/white/color = 5, + /obj/item/clothing/shoes/hitops/yellow = 5, + /obj/item/clothing/shoes/boots/jackboots = 5, + /obj/item/clothing/shoes/boots/jungle = 5, + /obj/item/clothing/shoes/black/cuffs = 5, + /obj/item/clothing/shoes/black/cuffs/blue = 5, + /obj/item/clothing/shoes/black/cuffs/red = 5, + /obj/item/clothing/shoes/sandal = 5, + /obj/item/clothing/shoes/black = 5, + /obj/item/clothing/shoes/blue = 5, + /obj/item/clothing/shoes/brown = 5, + /obj/item/clothing/shoes/laceup = 5, + /obj/item/clothing/shoes/green = 5, + /obj/item/clothing/shoes/laceup/brown = 5, + /obj/item/clothing/shoes/orange = 5, + /obj/item/clothing/shoes/purple = 5, + /obj/item/clothing/shoes/red = 5, + /obj/item/clothing/shoes/white = 5, + /obj/item/clothing/shoes/yellow = 5, + /obj/item/clothing/shoes/skater = 5, + /obj/item/clothing/shoes/boots/cowboy/snakeskin = 5, + /obj/item/clothing/shoes/boots/jackboots/toeless = 5, + /obj/item/clothing/shoes/boots/workboots/toeless = 5, + /obj/item/clothing/shoes/boots/winter = 5, + /obj/item/clothing/shoes/boots/workboots = 5, + /obj/item/clothing/shoes/footwraps = 5) + prices = list(/obj/item/clothing/gloves/evening = 50, + /obj/item/clothing/gloves/fingerless = 50, + /obj/item/clothing/gloves/black = 50, + /obj/item/clothing/gloves/blue = 50, + /obj/item/clothing/gloves/brown = 50, + /obj/item/clothing/gloves/color = 50, + /obj/item/clothing/gloves/green = 50, + /obj/item/clothing/gloves/grey = 50, + /obj/item/clothing/gloves/sterile/latex = 100, + /obj/item/clothing/gloves/light_brown = 50, + /obj/item/clothing/gloves/sterile/nitrile = 100, + /obj/item/clothing/gloves/orange = 50, + /obj/item/clothing/gloves/purple = 50, + /obj/item/clothing/gloves/red = 50, + /obj/item/clothing/gloves/fluff/siren = 50, + /obj/item/clothing/gloves/white = 50, + /obj/item/clothing/gloves/duty = 150, + /obj/item/clothing/shoes/athletic = 50, + /obj/item/clothing/shoes/boots/fluff/siren = 50, + /obj/item/clothing/shoes/slippers = 50, + /obj/item/clothing/shoes/boots/cowboy/classic = 50, + /obj/item/clothing/shoes/boots/cowboy = 50, + /obj/item/clothing/shoes/boots/duty = 100, + /obj/item/clothing/shoes/flats/white/color = 50, + /obj/item/clothing/shoes/flipflop = 50, + /obj/item/clothing/shoes/heels = 50, + /obj/item/clothing/shoes/hitops/black = 50, + /obj/item/clothing/shoes/hitops/blue = 50, + /obj/item/clothing/shoes/hitops/green = 50, + /obj/item/clothing/shoes/hitops/orange = 50, + /obj/item/clothing/shoes/hitops/purple = 50, + /obj/item/clothing/shoes/hitops/red = 50, + /obj/item/clothing/shoes/flats/white/color = 50, + /obj/item/clothing/shoes/hitops/yellow = 50, + /obj/item/clothing/shoes/boots/jackboots = 50, + /obj/item/clothing/shoes/boots/jungle = 100, + /obj/item/clothing/shoes/black/cuffs = 50, + /obj/item/clothing/shoes/black/cuffs/blue = 50, + /obj/item/clothing/shoes/black/cuffs/red = 50, + /obj/item/clothing/shoes/sandal = 50, + /obj/item/clothing/shoes/black = 50, + /obj/item/clothing/shoes/blue = 50, + /obj/item/clothing/shoes/brown = 50, + /obj/item/clothing/shoes/laceup = 50, + /obj/item/clothing/shoes/green = 50, + /obj/item/clothing/shoes/laceup/brown = 50, + /obj/item/clothing/shoes/orange = 50, + /obj/item/clothing/shoes/purple = 50, + /obj/item/clothing/shoes/red = 50, + /obj/item/clothing/shoes/white = 50, + /obj/item/clothing/shoes/yellow = 50, + /obj/item/clothing/shoes/skater = 50, + /obj/item/clothing/shoes/boots/cowboy/snakeskin = 50, + /obj/item/clothing/shoes/boots/jackboots/toeless = 50, + /obj/item/clothing/shoes/boots/workboots/toeless = 50, + /obj/item/clothing/shoes/boots/winter = 50, + /obj/item/clothing/shoes/boots/workboots = 50, + /obj/item/clothing/shoes/footwraps = 50) + premium = list(/obj/item/clothing/gloves/rainbow = 1, + /obj/item/clothing/shoes/rainbow = 1,) + contraband = list(/obj/item/clothing/shoes/syndigaloshes = 1, + /obj/item/clothing/shoes/clown_shoes = 1) + +/obj/machinery/vending/loadout/uniform + name = "The Basics" + desc = "A vendor using compressed matter cartridges to store large amounts of basic station uniforms." + product_ads = "Don't get caught naked!;Pick up your uniform!;Using compressed matter cartridges and VERY ETHICAL labor practices, we bring you the uniforms you need!;No uniform? No problem!;We've got your covered!;The Basics is not responsible for being crushed under the amount of things inside our machines. DO NOT VEND IN EXCESS!!" + icon_state = "loadout" + vend_delay = 16 + products = list(/obj/item/device/pda = 50, + /obj/item/device/radio/headset = 50, + /obj/item/weapon/storage/backpack/ = 10, + /obj/item/weapon/storage/backpack/messenger = 10, + /obj/item/weapon/storage/backpack/satchel = 10, + /obj/item/clothing/under/color = 5, + /obj/item/clothing/under/color/aqua = 5, + /obj/item/clothing/under/color/black = 5, + /obj/item/clothing/under/color/blackjumpskirt = 5, + /obj/item/clothing/under/color/blue = 5, + /obj/item/clothing/under/color/brown = 5, + /obj/item/clothing/under/color/green = 5, + /obj/item/clothing/under/color/grey = 5, + /obj/item/clothing/under/color/orange = 5, + /obj/item/clothing/under/color/pink = 5, + /obj/item/clothing/under/color/red = 5, + /obj/item/clothing/under/color/white = 5, + /obj/item/clothing/under/color/yellow = 5, + /obj/item/clothing/shoes/black = 20, + /obj/item/clothing/shoes/white = 20) + prices = list() + +/obj/machinery/vending/loadout/accessory + name = "Looty Inc." + desc = "A special vendor for accessories." + product_ads = "Want shinies? We have the shinies.;Need that special something to complete your outfit? We have what you need!;Ditch that old dull dangly something you've got and pick up one of our shinies!;Bracelets, collars, scarfs rings and more! We have the fancy things you need!;Does your pet need a collar? We don't judge! Keep them in line with one of one of ours!;Top of the line materials! 'Hand crafted' goods!" + icon_state = "accessory" + vend_delay = 6 + products = list(/obj/item/clothing/accessory = 5, + /obj/item/clothing/accessory/armband/med/color = 10, + /obj/item/clothing/accessory/asymmetric = 5, + /obj/item/clothing/accessory/asymmetric/purple = 5, + /obj/item/clothing/accessory/asymmetric/green = 5, + /obj/item/clothing/accessory/bracelet = 5, + /obj/item/clothing/accessory/bracelet/material = 5, + /obj/item/clothing/accessory/bracelet/friendship = 5, + /obj/item/clothing/accessory/chaps = 5, + /obj/item/clothing/accessory/chaps/black = 5, + /obj/item/weapon/storage/briefcase/clutch = 1, + /obj/item/clothing/accessory/collar = 5, + /obj/item/clothing/accessory/collar/bell = 5, + /obj/item/clothing/accessory/collar/spike = 5, + /obj/item/clothing/accessory/collar/pink = 5, + /obj/item/clothing/accessory/collar/holo = 5, + /obj/item/clothing/accessory/collar/shock = 5, + /obj/item/weapon/storage/belt/fannypack = 1, + /obj/item/weapon/storage/belt/fannypack/white = 5, + /obj/item/clothing/accessory/fullcape = 5, + /obj/item/clothing/accessory/halfcape = 5, + /obj/item/clothing/accessory/hawaii = 5, + /obj/item/clothing/accessory/hawaii/random = 5, + /obj/item/clothing/accessory/locket = 5, + /obj/item/weapon/storage/backpack/purse = 1, + /obj/item/clothing/accessory/sash = 5, + /obj/item/clothing/accessory/scarf = 5, + /obj/item/clothing/accessory/scarf/red = 5, + /obj/item/clothing/accessory/scarf/darkblue = 5, + /obj/item/clothing/accessory/scarf/purple = 5, + /obj/item/clothing/accessory/scarf/yellow = 5, + /obj/item/clothing/accessory/scarf/orange = 5, + /obj/item/clothing/accessory/scarf/lightblue = 5, + /obj/item/clothing/accessory/scarf/white = 5, + /obj/item/clothing/accessory/scarf/black = 5, + /obj/item/clothing/accessory/scarf/zebra = 5, + /obj/item/clothing/accessory/scarf/christmas = 5, + /obj/item/clothing/accessory/scarf/stripedred = 5, + /obj/item/clothing/accessory/scarf/stripedgreen = 5, + /obj/item/clothing/accessory/scarf/stripedblue = 5, + /obj/item/clothing/accessory/jacket = 5, + /obj/item/clothing/accessory/jacket/checkered = 5, + /obj/item/clothing/accessory/jacket/burgundy = 5, + /obj/item/clothing/accessory/jacket/navy = 5, + /obj/item/clothing/accessory/jacket/charcoal = 5, + /obj/item/clothing/accessory/vest = 5, + /obj/item/clothing/accessory/sweater = 5, + /obj/item/clothing/accessory/sweater/pink = 5, + /obj/item/clothing/accessory/sweater/mint = 5, + /obj/item/clothing/accessory/sweater/blue = 5, + /obj/item/clothing/accessory/sweater/heart = 5, + /obj/item/clothing/accessory/sweater/nt = 5, + /obj/item/clothing/accessory/sweater/keyhole = 5, + /obj/item/clothing/accessory/sweater/winterneck = 5, + /obj/item/clothing/accessory/sweater/uglyxmas = 5, + /obj/item/clothing/accessory/sweater/flowersweater = 5, + /obj/item/clothing/accessory/sweater/redneck = 5, + /obj/item/clothing/accessory/tie = 5, + /obj/item/clothing/accessory/tie/horrible = 5, + /obj/item/clothing/accessory/tie/white = 5, + /obj/item/clothing/accessory/tie/navy = 5, + /obj/item/clothing/accessory/tie/yellow = 5, + /obj/item/clothing/accessory/tie/darkgreen = 5, + /obj/item/clothing/accessory/tie/black = 5, + /obj/item/clothing/accessory/tie/red_long = 5, + /obj/item/clothing/accessory/tie/red_clip = 5, + /obj/item/clothing/accessory/tie/blue_long = 5, + /obj/item/clothing/accessory/tie/blue_clip = 5, + /obj/item/clothing/accessory/tie/red = 5, + /obj/item/clothing/accessory/wcoat = 5, + /obj/item/clothing/accessory/wcoat/red = 5, + /obj/item/clothing/accessory/wcoat/grey = 5, + /obj/item/clothing/accessory/wcoat/brown = 5, + /obj/item/clothing/accessory/wcoat/gentleman = 5, + /obj/item/clothing/accessory/wcoat/swvest = 5, + /obj/item/clothing/accessory/wcoat/swvest/blue = 5, + /obj/item/clothing/accessory/wcoat/swvest/red = 5, + /obj/item/weapon/storage/wallet = 5, + /obj/item/weapon/storage/wallet/poly = 5, + /obj/item/weapon/storage/wallet/womens = 5, + /obj/item/weapon/lipstick = 5, + /obj/item/weapon/lipstick/purple = 5, + /obj/item/weapon/lipstick/jade = 5, + /obj/item/weapon/lipstick/black = 5, + /obj/item/clothing/ears/earmuffs = 5, + /obj/item/clothing/ears/earmuffs/headphones = 5, + /obj/item/clothing/ears/earring/stud = 5, + /obj/item/clothing/ears/earring/dangle = 5, + /obj/item/clothing/gloves/ring/mariner = 5, + /obj/item/clothing/gloves/ring/engagement = 5, + /obj/item/clothing/gloves/ring/seal/signet = 5, + /obj/item/clothing/gloves/ring/seal/mason = 5, + /obj/item/clothing/gloves/ring/material/plastic = 5, + /obj/item/clothing/gloves/ring/material/steel = 5, + /obj/item/clothing/gloves/ring/material/gold = 5, + /obj/item/clothing/glasses/eyepatch = 5, + /obj/item/clothing/glasses/gglasses = 5, + /obj/item/clothing/glasses/regular/hipster = 5, + /obj/item/clothing/glasses/rimless = 5, + /obj/item/clothing/glasses/thin = 5, + /obj/item/clothing/glasses/monocle = 5, + /obj/item/clothing/glasses/goggles = 5, + /obj/item/clothing/glasses/fluff/spiffygogs = 5, + /obj/item/clothing/glasses/fakesunglasses = 5, + /obj/item/clothing/glasses/fakesunglasses/aviator = 5, + /obj/item/clothing/mask/bandana/blue = 5, + /obj/item/clothing/mask/bandana/gold = 5, + /obj/item/clothing/mask/bandana/green = 5, + /obj/item/clothing/mask/bandana/red = 5, + /obj/item/clothing/mask/surgical = 5) + prices = list(/obj/item/clothing/accessory = 50, + /obj/item/clothing/accessory/armband/med/color = 50, + /obj/item/clothing/accessory/asymmetric = 50, + /obj/item/clothing/accessory/asymmetric/purple = 50, + /obj/item/clothing/accessory/asymmetric/green = 50, + /obj/item/clothing/accessory/bracelet = 50, + /obj/item/clothing/accessory/bracelet/material = 50, + /obj/item/clothing/accessory/bracelet/friendship = 50, + /obj/item/clothing/accessory/chaps = 50, + /obj/item/clothing/accessory/chaps/black = 50, + /obj/item/weapon/storage/briefcase/clutch = 50, + /obj/item/clothing/accessory/collar = 50, + /obj/item/clothing/accessory/collar/bell = 50, + /obj/item/clothing/accessory/collar/spike = 50, + /obj/item/clothing/accessory/collar/pink = 50, + /obj/item/clothing/accessory/collar/holo = 50, + /obj/item/clothing/accessory/collar/shock = 50, + /obj/item/weapon/storage/belt/fannypack = 50, + /obj/item/weapon/storage/belt/fannypack/white = 50, + /obj/item/clothing/accessory/fullcape = 50, + /obj/item/clothing/accessory/halfcape = 50, + /obj/item/clothing/accessory/hawaii = 50, + /obj/item/clothing/accessory/hawaii/random = 50, + /obj/item/clothing/accessory/locket = 50, + /obj/item/weapon/storage/backpack/purse = 50, + /obj/item/clothing/accessory/sash = 50, + /obj/item/clothing/accessory/scarf = 5, + /obj/item/clothing/accessory/scarf/red = 50, + /obj/item/clothing/accessory/scarf/darkblue = 50, + /obj/item/clothing/accessory/scarf/purple = 50, + /obj/item/clothing/accessory/scarf/yellow = 100, + /obj/item/clothing/accessory/scarf/orange = 50, + /obj/item/clothing/accessory/scarf/lightblue = 50, + /obj/item/clothing/accessory/scarf/white = 50, + /obj/item/clothing/accessory/scarf/black = 50, + /obj/item/clothing/accessory/scarf/zebra = 50, + /obj/item/clothing/accessory/scarf/christmas = 50, + /obj/item/clothing/accessory/scarf/stripedred = 50, + /obj/item/clothing/accessory/scarf/stripedgreen = 50, + /obj/item/clothing/accessory/scarf/stripedblue = 50, + /obj/item/clothing/accessory/jacket = 50, + /obj/item/clothing/accessory/jacket/checkered = 50, + /obj/item/clothing/accessory/jacket/burgundy = 50, + /obj/item/clothing/accessory/jacket/navy = 50, + /obj/item/clothing/accessory/jacket/charcoal = 50, + /obj/item/clothing/accessory/vest = 50, + /obj/item/clothing/accessory/sweater = 50, + /obj/item/clothing/accessory/sweater/pink = 50, + /obj/item/clothing/accessory/sweater/mint = 50, + /obj/item/clothing/accessory/sweater/blue = 50, + /obj/item/clothing/accessory/sweater/heart = 50, + /obj/item/clothing/accessory/sweater/nt = 5, + /obj/item/clothing/accessory/sweater/keyhole = 50, + /obj/item/clothing/accessory/sweater/winterneck = 50, + /obj/item/clothing/accessory/sweater/uglyxmas = 5, + /obj/item/clothing/accessory/sweater/flowersweater = 50, + /obj/item/clothing/accessory/sweater/redneck = 50, + /obj/item/clothing/accessory/tie = 50, + /obj/item/clothing/accessory/tie/horrible = 50, + /obj/item/clothing/accessory/tie/white = 50, + /obj/item/clothing/accessory/tie/navy = 50, + /obj/item/clothing/accessory/tie/yellow = 50, + /obj/item/clothing/accessory/tie/darkgreen = 50, + /obj/item/clothing/accessory/tie/black = 50, + /obj/item/clothing/accessory/tie/red_long = 50, + /obj/item/clothing/accessory/tie/red_clip = 50, + /obj/item/clothing/accessory/tie/blue_long = 50, + /obj/item/clothing/accessory/tie/blue_clip = 50, + /obj/item/clothing/accessory/tie/red = 50, + /obj/item/clothing/accessory/wcoat = 50, + /obj/item/clothing/accessory/wcoat/red = 50, + /obj/item/clothing/accessory/wcoat/grey = 50, + /obj/item/clothing/accessory/wcoat/brown = 50, + /obj/item/clothing/accessory/wcoat/gentleman = 50, + /obj/item/clothing/accessory/wcoat/swvest = 50, + /obj/item/clothing/accessory/wcoat/swvest/blue = 50, + /obj/item/clothing/accessory/wcoat/swvest/red = 50, + /obj/item/weapon/storage/wallet = 50, + /obj/item/weapon/storage/wallet/poly = 50, + /obj/item/weapon/storage/wallet/womens = 50, + /obj/item/weapon/lipstick = 50, + /obj/item/weapon/lipstick/purple = 50, + /obj/item/weapon/lipstick/jade = 50, + /obj/item/weapon/lipstick/black = 50, + /obj/item/clothing/ears/earmuffs = 50, + /obj/item/clothing/ears/earmuffs/headphones = 50, + /obj/item/clothing/ears/earring/stud = 50, + /obj/item/clothing/ears/earring/dangle = 50, + /obj/item/clothing/gloves/ring/mariner = 50, + /obj/item/clothing/gloves/ring/engagement = 50, + /obj/item/clothing/gloves/ring/seal/signet = 50, + /obj/item/clothing/gloves/ring/seal/mason = 50, + /obj/item/clothing/gloves/ring/material/plastic = 50, + /obj/item/clothing/gloves/ring/material/steel = 50, + /obj/item/clothing/gloves/ring/material/gold = 100, + /obj/item/clothing/glasses/eyepatch = 50, + /obj/item/clothing/glasses/gglasses = 50, + /obj/item/clothing/glasses/regular/hipster = 50, + /obj/item/clothing/glasses/rimless = 50, + /obj/item/clothing/glasses/thin = 50, + /obj/item/clothing/glasses/monocle = 50, + /obj/item/clothing/glasses/goggles = 50, + /obj/item/clothing/glasses/fluff/spiffygogs = 50, + /obj/item/clothing/glasses/fakesunglasses = 50, + /obj/item/clothing/glasses/fakesunglasses/aviator = 50, + /obj/item/clothing/mask/bandana/blue = 50, + /obj/item/clothing/mask/bandana/gold = 50, + /obj/item/clothing/mask/bandana/green = 50, + /obj/item/clothing/mask/bandana/red = 50, + /obj/item/clothing/mask/surgical = 50) + premium = list(/obj/item/weapon/bedsheet/rainbow = 1) + contraband = list(/obj/item/clothing/mask/gas/clown_hat = 1) + +/obj/machinery/vending/loadout/clothing + name = "General Jump" + desc = "A special vendor using compressed matter cartridges to store large amounts of clothing." + product_ads = "Tired of your grey jumpsuit? Spruce yourself up!;We have the outfit for you!;Don't let that grey jumpsuit get you down, get a ROBUST outfit right now!;Using compressed matter catridges and VERY ETHICAL labor practices to bring YOU the clothing you crave!;Are you sure you want to go to work in THAT?;All of our wares have a whole TWO pockets!" + icon_state = "clothing" + vend_delay = 16 + products = list(/obj/item/clothing/under/bathrobe = 5, + /obj/item/clothing/under/dress/black_corset = 5, + /obj/item/clothing/under/blazer = 5, + /obj/item/clothing/under/blazer/skirt = 5, + /obj/item/clothing/under/cheongsam = 5, + /obj/item/clothing/under/cheongsam/red = 5, + /obj/item/clothing/under/cheongsam/blue = 5, + /obj/item/clothing/under/cheongsam/black = 5, + /obj/item/clothing/under/cheongsam/darkred = 5, + /obj/item/clothing/under/cheongsam/green = 5, + /obj/item/clothing/under/cheongsam/purple = 5, + /obj/item/clothing/under/cheongsam/darkblue = 5, + /obj/item/clothing/under/croptop = 5, + /obj/item/clothing/under/croptop/red = 5, + /obj/item/clothing/under/croptop/grey = 5, + /obj/item/clothing/under/cuttop = 5, + /obj/item/clothing/under/cuttop/red = 5, + /obj/item/clothing/under/suit_jacket/female/skirt = 5, + /obj/item/clothing/under/dress/dress_fire = 5, + /obj/item/clothing/under/dress/flamenco = 5, + /obj/item/clothing/under/dress/flower_dress = 5, + /obj/item/clothing/under/fluff/gnshorts = 5, + /obj/item/clothing/under/color = 5, + /obj/item/clothing/under/color/aqua = 5, + /obj/item/clothing/under/color/black = 5, + /obj/item/clothing/under/color/blackf = 5, + /obj/item/clothing/under/color/blackjumpskirt = 5, + /obj/item/clothing/under/color/blue = 5, + /obj/item/clothing/under/color/brown = 5, + /obj/item/clothing/under/color/darkblue = 5, + /obj/item/clothing/under/color/darkred = 5, + /obj/item/clothing/under/color/green = 5, + /obj/item/clothing/under/color/grey = 5, + /obj/item/clothing/under/color/lightblue = 5, + /obj/item/clothing/under/color/lightbrown = 5, + /obj/item/clothing/under/color/lightgreen = 5, + /obj/item/clothing/under/color/lightpurple = 5, + /obj/item/clothing/under/color/lightred = 5, + /obj/item/clothing/under/color/orange = 5, + /obj/item/clothing/under/color/pink = 5, + /obj/item/clothing/under/color/prison = 5, + /obj/item/clothing/under/color/ranger = 5, + /obj/item/clothing/under/color/red = 5, + /obj/item/clothing/under/color/white = 5, + /obj/item/clothing/under/color/yellow = 5, + /obj/item/clothing/under/color/yellowgreen = 5, + /obj/item/clothing/under/aether = 5, + /obj/item/clothing/under/focal = 5, + /obj/item/clothing/under/hephaestus = 5, + /obj/item/clothing/under/wardt = 5, + /obj/item/clothing/under/kilt = 5, + /obj/item/clothing/under/fluff/latexmaid = 5, + /obj/item/clothing/under/dress/lilacdress = 5, + /obj/item/clothing/under/dress/white2 = 5, + /obj/item/clothing/under/dress/white4 = 5, + /obj/item/clothing/under/dress/maid = 5, + /obj/item/clothing/under/dress/maid/sexy = 5, + /obj/item/clothing/under/dress/maid/janitor = 5, + /obj/item/clothing/under/moderncoat = 5, + /obj/item/clothing/under/permit = 5, + /obj/item/clothing/under/oldwoman = 5, + /obj/item/clothing/under/frontier = 5, + /obj/item/clothing/under/mbill = 5, + /obj/item/clothing/under/pants/baggy/ = 5, + /obj/item/clothing/under/pants/baggy/classicjeans = 5, + /obj/item/clothing/under/pants/baggy/mustangjeans = 5, + /obj/item/clothing/under/pants/baggy/blackjeans = 5, + /obj/item/clothing/under/pants/baggy/greyjeans = 5, + /obj/item/clothing/under/pants/baggy/youngfolksjeans = 5, + /obj/item/clothing/under/pants/baggy/white = 5, + /obj/item/clothing/under/pants/baggy/red = 5, + /obj/item/clothing/under/pants/baggy/black = 5, + /obj/item/clothing/under/pants/baggy/tan = 5, + /obj/item/clothing/under/pants/baggy/track = 5, + /obj/item/clothing/under/pants/baggy/khaki = 5, + /obj/item/clothing/under/pants/baggy/camo = 5, + /obj/item/clothing/under/pants/utility/ = 5, + /obj/item/clothing/under/pants/utility/orange = 5, + /obj/item/clothing/under/pants/utility/blue = 5, + /obj/item/clothing/under/pants/utility/white = 5, + /obj/item/clothing/under/pants/utility/red = 5, + /obj/item/clothing/under/pants/chaps = 5, + /obj/item/clothing/under/pants/chaps/black = 5, + /obj/item/clothing/under/pants/track = 5, + /obj/item/clothing/under/pants/track/red = 5, + /obj/item/clothing/under/pants/track/white = 5, + /obj/item/clothing/under/pants/track/green = 5, + /obj/item/clothing/under/pants/track/blue = 5, + /obj/item/clothing/under/pants/yogapants = 5, + /obj/item/clothing/under/ascetic = 5, + /obj/item/clothing/under/dress/white3 = 5, + /obj/item/clothing/under/skirt/pleated = 5, + /obj/item/clothing/under/dress/darkred = 5, + /obj/item/clothing/under/dress/redeveninggown = 5, + /obj/item/clothing/under/dress/red_swept_dress = 5, + /obj/item/clothing/under/dress/sailordress = 5, + /obj/item/clothing/under/dress/sari = 5, + /obj/item/clothing/under/dress/sari/green = 5, + /obj/item/clothing/under/dress/qipao = 5, + /obj/item/clothing/under/dress/qipao/red = 5, + /obj/item/clothing/under/dress/qipao/white = 5, + /obj/item/clothing/under/shorts/red = 5, + /obj/item/clothing/under/shorts/green = 5, + /obj/item/clothing/under/shorts/blue = 5, + /obj/item/clothing/under/shorts/black = 5, + /obj/item/clothing/under/shorts/grey = 5, + /obj/item/clothing/under/shorts/white = 5, + /obj/item/clothing/under/shorts/jeans = 5, + /obj/item/clothing/under/shorts/jeans/ = 5, + /obj/item/clothing/under/shorts/jeans/classic = 5, + /obj/item/clothing/under/shorts/jeans/mustang = 5, + /obj/item/clothing/under/shorts/jeans/youngfolks = 5, + /obj/item/clothing/under/shorts/jeans/black = 5, + /obj/item/clothing/under/shorts/jeans/grey = 5, + /obj/item/clothing/under/shorts/khaki/ = 5, + /obj/item/clothing/under/skirt/loincloth = 5, + /obj/item/clothing/under/skirt/khaki = 5, + /obj/item/clothing/under/skirt/blue = 5, + /obj/item/clothing/under/skirt/red = 5, + /obj/item/clothing/under/skirt/denim = 5, + /obj/item/clothing/under/skirt/pleated = 5, + /obj/item/clothing/under/skirt/outfit/plaid_blue = 5, + /obj/item/clothing/under/skirt/outfit/plaid_red = 5, + /obj/item/clothing/under/skirt/outfit/plaid_purple = 5, + /obj/item/clothing/under/overalls/sleek = 5, + /obj/item/clothing/under/sl_suit = 5, + /obj/item/clothing/under/gentlesuit = 5, + /obj/item/clothing/under/gentlesuit/skirt = 5, + /obj/item/clothing/under/suit_jacket = 5, + /obj/item/clothing/under/suit_jacket/really_black/skirt = 5, + /obj/item/clothing/under/suit_jacket/really_black = 5, + /obj/item/clothing/under/suit_jacket/female/skirt = 5, + /obj/item/clothing/under/suit_jacket/female/ = 5, + /obj/item/clothing/under/suit_jacket/red = 5, + /obj/item/clothing/under/suit_jacket/red/skirt = 5, + /obj/item/clothing/under/suit_jacket/charcoal = 5, + /obj/item/clothing/under/suit_jacket/charcoal/skirt = 5, + /obj/item/clothing/under/suit_jacket/navy = 5, + /obj/item/clothing/under/suit_jacket/navy/skirt = 5, + /obj/item/clothing/under/suit_jacket/burgundy = 5, + /obj/item/clothing/under/suit_jacket/burgundy/skirt = 5, + /obj/item/clothing/under/suit_jacket/checkered = 5, + /obj/item/clothing/under/suit_jacket/checkered/skirt = 5, + /obj/item/clothing/under/suit_jacket/tan = 5, + /obj/item/clothing/under/suit_jacket/tan/skirt = 5, + /obj/item/clothing/under/scratch = 5, + /obj/item/clothing/under/scratch/skirt = 5, + /obj/item/clothing/under/sundress = 5, + /obj/item/clothing/under/sundress_white = 5, + /obj/item/clothing/under/rank/psych/turtleneck/sweater = 5, + /obj/item/weapon/storage/box/fluff/swimsuit = 5, + /obj/item/weapon/storage/box/fluff/swimsuit/blue = 5, + /obj/item/weapon/storage/box/fluff/swimsuit/purple = 5, + /obj/item/weapon/storage/box/fluff/swimsuit/green = 5, + /obj/item/weapon/storage/box/fluff/swimsuit/red = 5, + /obj/item/weapon/storage/box/fluff/swimsuit/white = 5, + /obj/item/weapon/storage/box/fluff/swimsuit/earth = 5, + /obj/item/weapon/storage/box/fluff/swimsuit/engineering = 5, + /obj/item/weapon/storage/box/fluff/swimsuit/science = 5, + /obj/item/weapon/storage/box/fluff/swimsuit/security = 5, + /obj/item/weapon/storage/box/fluff/swimsuit/medical = 5, + /obj/item/clothing/under/utility = 5, + /obj/item/clothing/under/utility/grey = 5, + /obj/item/clothing/under/utility/blue = 5, + /obj/item/clothing/under/fluff/v_nanovest = 5, + /obj/item/clothing/under/dress/westernbustle = 5, + /obj/item/clothing/under/wedding/bride_white = 5, + /obj/item/weapon/storage/backpack/ = 5, + /obj/item/weapon/storage/backpack/messenger = 5, + /obj/item/weapon/storage/backpack/satchel = 5) + prices = list(/obj/item/clothing/under/bathrobe = 50, + /obj/item/clothing/under/dress/black_corset = 50, + /obj/item/clothing/under/blazer = 50, + /obj/item/clothing/under/blazer/skirt = 50, + /obj/item/clothing/under/cheongsam = 50, + /obj/item/clothing/under/cheongsam/red = 50, + /obj/item/clothing/under/cheongsam/blue = 50, + /obj/item/clothing/under/cheongsam/black = 50, + /obj/item/clothing/under/cheongsam/darkred = 50, + /obj/item/clothing/under/cheongsam/green = 50, + /obj/item/clothing/under/cheongsam/purple = 50, + /obj/item/clothing/under/cheongsam/darkblue = 50, + /obj/item/clothing/under/croptop = 50, + /obj/item/clothing/under/croptop/red = 50, + /obj/item/clothing/under/croptop/grey = 50, + /obj/item/clothing/under/cuttop = 50, + /obj/item/clothing/under/cuttop/red = 50, + /obj/item/clothing/under/suit_jacket/female/skirt = 50, + /obj/item/clothing/under/dress/dress_fire = 50, + /obj/item/clothing/under/dress/flamenco = 50, + /obj/item/clothing/under/dress/flower_dress = 50, + /obj/item/clothing/under/fluff/gnshorts = 50, + /obj/item/clothing/under/color = 50, + /obj/item/clothing/under/color/aqua = 50, + /obj/item/clothing/under/color/black = 50, + /obj/item/clothing/under/color/blackf = 50, + /obj/item/clothing/under/color/blackjumpskirt = 50, + /obj/item/clothing/under/color/blue = 50, + /obj/item/clothing/under/color/brown = 50, + /obj/item/clothing/under/color/darkblue = 50, + /obj/item/clothing/under/color/darkred = 50, + /obj/item/clothing/under/color/green = 50, + /obj/item/clothing/under/color/grey = 50, + /obj/item/clothing/under/color/lightblue = 50, + /obj/item/clothing/under/color/lightbrown = 50, + /obj/item/clothing/under/color/lightgreen = 50, + /obj/item/clothing/under/color/lightpurple = 50, + /obj/item/clothing/under/color/lightred = 50, + /obj/item/clothing/under/color/orange = 50, + /obj/item/clothing/under/color/pink = 50, + /obj/item/clothing/under/color/prison = 50, + /obj/item/clothing/under/color/ranger = 50, + /obj/item/clothing/under/color/red = 50, + /obj/item/clothing/under/color/white = 50, + /obj/item/clothing/under/color/yellow = 50, + /obj/item/clothing/under/color/yellowgreen = 50, + /obj/item/clothing/under/aether = 50, + /obj/item/clothing/under/focal = 50, + /obj/item/clothing/under/hephaestus = 50, + /obj/item/clothing/under/wardt = 50, + /obj/item/clothing/under/kilt = 50, + /obj/item/clothing/under/fluff/latexmaid = 50, + /obj/item/clothing/under/dress/lilacdress = 50, + /obj/item/clothing/under/dress/white2 = 50, + /obj/item/clothing/under/dress/white4 = 50, + /obj/item/clothing/under/dress/maid = 50, + /obj/item/clothing/under/dress/maid/sexy = 50, + /obj/item/clothing/under/dress/maid/janitor = 50, + /obj/item/clothing/under/moderncoat = 50, + /obj/item/clothing/under/permit = 50, + /obj/item/clothing/under/oldwoman = 50, + /obj/item/clothing/under/frontier = 50, + /obj/item/clothing/under/mbill = 50, + /obj/item/clothing/under/pants/baggy/ = 50, + /obj/item/clothing/under/pants/baggy/classicjeans = 50, + /obj/item/clothing/under/pants/baggy/mustangjeans = 50, + /obj/item/clothing/under/pants/baggy/blackjeans = 50, + /obj/item/clothing/under/pants/baggy/greyjeans = 50, + /obj/item/clothing/under/pants/baggy/youngfolksjeans = 50, + /obj/item/clothing/under/pants/baggy/white = 50, + /obj/item/clothing/under/pants/baggy/red = 50, + /obj/item/clothing/under/pants/baggy/black = 50, + /obj/item/clothing/under/pants/baggy/tan = 50, + /obj/item/clothing/under/pants/baggy/track = 50, + /obj/item/clothing/under/pants/baggy/khaki = 50, + /obj/item/clothing/under/pants/baggy/camo = 50, + /obj/item/clothing/under/pants/utility/ = 50, + /obj/item/clothing/under/pants/utility/orange = 50, + /obj/item/clothing/under/pants/utility/blue = 50, + /obj/item/clothing/under/pants/utility/white = 50, + /obj/item/clothing/under/pants/utility/red = 50, + /obj/item/clothing/under/pants/chaps = 50, + /obj/item/clothing/under/pants/chaps/black = 50, + /obj/item/clothing/under/pants/track = 50, + /obj/item/clothing/under/pants/track/red = 50, + /obj/item/clothing/under/pants/track/white = 50, + /obj/item/clothing/under/pants/track/green = 50, + /obj/item/clothing/under/pants/track/blue = 50, + /obj/item/clothing/under/pants/yogapants = 50, + /obj/item/clothing/under/ascetic = 50, + /obj/item/clothing/under/dress/white3 = 50, + /obj/item/clothing/under/skirt/pleated = 50, + /obj/item/clothing/under/dress/darkred = 50, + /obj/item/clothing/under/dress/redeveninggown = 50, + /obj/item/clothing/under/dress/red_swept_dress = 50, + /obj/item/clothing/under/dress/sailordress = 50, + /obj/item/clothing/under/dress/sari = 50, + /obj/item/clothing/under/dress/sari/green = 50, + /obj/item/clothing/under/dress/qipao = 50, + /obj/item/clothing/under/dress/qipao/red = 50, + /obj/item/clothing/under/dress/qipao/white = 50, + /obj/item/clothing/under/shorts/red = 50, + /obj/item/clothing/under/shorts/green = 50, + /obj/item/clothing/under/shorts/blue = 50, + /obj/item/clothing/under/shorts/black = 50, + /obj/item/clothing/under/shorts/grey = 50, + /obj/item/clothing/under/shorts/white = 50, + /obj/item/clothing/under/shorts/jeans = 50, + /obj/item/clothing/under/shorts/jeans/ = 50, + /obj/item/clothing/under/shorts/jeans/classic = 50, + /obj/item/clothing/under/shorts/jeans/mustang = 50, + /obj/item/clothing/under/shorts/jeans/youngfolks = 50, + /obj/item/clothing/under/shorts/jeans/black = 50, + /obj/item/clothing/under/shorts/jeans/grey = 50, + /obj/item/clothing/under/shorts/khaki/ = 50, + /obj/item/clothing/under/skirt/loincloth = 50, + /obj/item/clothing/under/skirt/khaki = 50, + /obj/item/clothing/under/skirt/blue = 50, + /obj/item/clothing/under/skirt/red = 50, + /obj/item/clothing/under/skirt/denim = 50, + /obj/item/clothing/under/skirt/pleated = 50, + /obj/item/clothing/under/skirt/outfit/plaid_blue = 50, + /obj/item/clothing/under/skirt/outfit/plaid_red = 50, + /obj/item/clothing/under/skirt/outfit/plaid_purple = 50, + /obj/item/clothing/under/overalls/sleek = 50, + /obj/item/clothing/under/sl_suit = 50, + /obj/item/clothing/under/gentlesuit = 50, + /obj/item/clothing/under/gentlesuit/skirt = 50, + /obj/item/clothing/under/suit_jacket = 50, + /obj/item/clothing/under/suit_jacket/really_black/skirt = 50, + /obj/item/clothing/under/suit_jacket/really_black = 50, + /obj/item/clothing/under/suit_jacket/female/skirt = 50, + /obj/item/clothing/under/suit_jacket/female/ = 50, + /obj/item/clothing/under/suit_jacket/red = 50, + /obj/item/clothing/under/suit_jacket/red/skirt = 50, + /obj/item/clothing/under/suit_jacket/charcoal = 50, + /obj/item/clothing/under/suit_jacket/charcoal/skirt = 50, + /obj/item/clothing/under/suit_jacket/navy = 50, + /obj/item/clothing/under/suit_jacket/navy/skirt = 50, + /obj/item/clothing/under/suit_jacket/burgundy = 50, + /obj/item/clothing/under/suit_jacket/burgundy/skirt = 50, + /obj/item/clothing/under/suit_jacket/checkered = 50, + /obj/item/clothing/under/suit_jacket/checkered/skirt = 50, + /obj/item/clothing/under/suit_jacket/tan = 50, + /obj/item/clothing/under/suit_jacket/tan/skirt = 50, + /obj/item/clothing/under/scratch = 50, + /obj/item/clothing/under/scratch/skirt = 50, + /obj/item/clothing/under/sundress = 50, + /obj/item/clothing/under/sundress_white = 50, + /obj/item/clothing/under/rank/psych/turtleneck/sweater = 50, + /obj/item/weapon/storage/box/fluff/swimsuit = 50, + /obj/item/weapon/storage/box/fluff/swimsuit/blue = 50, + /obj/item/weapon/storage/box/fluff/swimsuit/purple = 50, + /obj/item/weapon/storage/box/fluff/swimsuit/green = 50, + /obj/item/weapon/storage/box/fluff/swimsuit/red = 50, + /obj/item/weapon/storage/box/fluff/swimsuit/white = 50, + /obj/item/weapon/storage/box/fluff/swimsuit/earth = 50, + /obj/item/weapon/storage/box/fluff/swimsuit/engineering = 50, + /obj/item/weapon/storage/box/fluff/swimsuit/science = 50, + /obj/item/weapon/storage/box/fluff/swimsuit/security = 50, + /obj/item/weapon/storage/box/fluff/swimsuit/medical = 50, + /obj/item/clothing/under/utility = 50, + /obj/item/clothing/under/utility/grey = 50, + /obj/item/clothing/under/utility/blue = 50, + /obj/item/clothing/under/fluff/v_nanovest = 50, + /obj/item/clothing/under/dress/westernbustle = 50, + /obj/item/clothing/under/wedding/bride_white = 50, + /obj/item/weapon/storage/backpack/ = 50, + /obj/item/weapon/storage/backpack/messenger = 50, + /obj/item/weapon/storage/backpack/satchel = 50) + premium = list(/obj/item/clothing/under/color/rainbow = 1) + contraband = list(/obj/item/clothing/under/rank/clown = 1) + +/obj/machinery/vending/loadout/gadget + name = "Chips Co." + desc = "A special vendor for devices and gadgets." + product_ads = "You can't RESIST our great deals!;Feeling disconnected? We have a gadget for you!;You know you have the capacity to buy our capacitors!;FILL THAT HOLE IN YOUR HEART WITH OUR PLASTIC DISTRACTIONS!!!;Devices for everyone! Chips Co.!;ROBUST INVENTORY, GREAT PRICES! ;DON'T FORGET THE oyPAD 13s PRO! ON SALE NOW, ONLY ONE THOUSAND THALERS!" + icon_state = "gadgets" + vend_delay = 11 + products = list(/obj/item/clothing/suit/circuitry = 1, + /obj/item/clothing/head/circuitry = 1, + /obj/item/clothing/shoes/circuitry = 1, + /obj/item/clothing/gloves/circuitry = 1, + /obj/item/clothing/under/circuitry = 1, + /obj/item/clothing/glasses/circuitry = 1, + /obj/item/clothing/ears/circuitry = 1, + /obj/item/device/text_to_speech = 5, + /obj/item/device/paicard = 5, + /obj/item/device/communicator = 10, + /obj/item/device/communicator/watch = 10, + /obj/item/device/radio = 10, + /obj/item/device/camera = 5, + /obj/item/device/taperecorder = 5, + /obj/item/modular_computer/tablet/preset/custom_loadout/cheap = 5, + /obj/item/device/pda = 10, + /obj/item/device/radio/headset = 10, + /obj/item/device/flashlight = 5, + /obj/item/device/laser_pointer = 3, + /obj/item/clothing/glasses/omnihud = 10, + /obj/item/device/walkpod = 5, + /obj/item/device/juke_remote = 1) + prices = list(/obj/item/clothing/suit/circuitry = 100, + /obj/item/clothing/head/circuitry = 100, + /obj/item/clothing/shoes/circuitry = 100, + /obj/item/clothing/gloves/circuitry = 100, + /obj/item/clothing/under/circuitry = 100, + /obj/item/clothing/glasses/circuitry = 100, + /obj/item/clothing/ears/circuitry = 100, + /obj/item/device/text_to_speech = 300, + /obj/item/device/paicard = 100, + /obj/item/device/communicator = 100, + /obj/item/device/communicator/watch = 100, + /obj/item/device/radio = 100, + /obj/item/device/camera = 100, + /obj/item/device/taperecorder = 100, + /obj/item/modular_computer/tablet/preset/custom_loadout/cheap = 1000, + /obj/item/device/pda = 50, + /obj/item/device/radio/headset = 50, + /obj/item/device/flashlight = 100, + /obj/item/device/laser_pointer = 200, + /obj/item/clothing/glasses/omnihud = 100, + /obj/item/device/walkpod = 300, + /obj/item/device/juke_remote = 1000) + premium = list(/obj/item/device/perfect_tele/one_beacon = 1) + contraband = list(/obj/item/weapon/disk/nifsoft/compliance = 1) + +/obj/machinery/vending/loadout/loadout_misc + name = "Bits and Bobs" + desc = "A special vendor for things and also stuff!" + product_ads = "You never know when you might need an umbrella.;Hey kid... want some cardemon cards?;Miscellaneous for your miscellaneous heart.;Who's bob? Wouldn't you like to know.;I'm sorry there's no grappling hooks in our umbrellas.;We sell things AND stuff." + icon_state = "loadout_misc" + products = list(/obj/item/weapon/cane = 5, + /obj/item/weapon/pack/cardemon = 25, + /obj/item/weapon/deck/holder = 5, + /obj/item/weapon/deck/cah = 5, + /obj/item/weapon/deck/cah/black = 5, + /obj/item/weapon/deck/tarot = 5, + /obj/item/weapon/deck/cards = 5, + /obj/item/weapon/pack/spaceball = 10, + /obj/item/weapon/storage/pill_bottle/dice = 5, + /obj/item/weapon/storage/pill_bottle/dice_nerd = 5, + /obj/item/weapon/melee/umbrella/random = 10) + prices = list(/obj/item/weapon/cane = 100, + /obj/item/weapon/pack/cardemon = 100, + /obj/item/weapon/deck/holder = 100, + /obj/item/weapon/deck/cah = 100, + /obj/item/weapon/deck/cah/black = 100, + /obj/item/weapon/deck/tarot = 100, + /obj/item/weapon/deck/cards = 100, + /obj/item/weapon/pack/spaceball = 100, + /obj/item/weapon/storage/pill_bottle/dice = 100, + /obj/item/weapon/storage/pill_bottle/dice_nerd = 100, + /obj/item/weapon/melee/umbrella/random = 100) + premium = list(/obj/item/toy/bosunwhistle = 1) + contraband = list(/obj/item/toy/katana = 1) + +/obj/machinery/vending/loadout/overwear + name = "Big D's Best" + desc = "A special vendor using compressed matter cartridges to store large amounts of overwear!" + product_ads = "Dress your best! It's what big D would want.;Overwear for all occasions!;Big D has what you need if what you need is some form of jacket!;Need a new hoodie? Bid D has you covered.;Big D says you need a new suit!;Big D smiles when he sees you in one of his coats!" + icon_state = "suit" + vend_delay = 16 + products = list(/obj/item/clothing/suit/storage/apron = 5, + /obj/item/clothing/suit/storage/flannel/aqua = 5, + /obj/item/clothing/suit/storage/toggle/bomber = 5, + /obj/item/clothing/suit/storage/bomber/alt = 5, + /obj/item/clothing/suit/storage/flannel/brown = 5, + /obj/item/clothing/suit/storage/toggle/cardigan = 5, + /obj/item/clothing/accessory/poncho/roles/cloak/custom = 5, + /obj/item/clothing/suit/storage/duster = 5, + /obj/item/clothing/suit/storage/toggle/denim_jacket = 5, + /obj/item/clothing/suit/storage/toggle/denim_jacket/nanotrasen = 5, + /obj/item/clothing/suit/storage/toggle/denim_jacket/sleeveless = 5, + /obj/item/clothing/suit/storage/toggle/denim_jacket/nanotrasen/sleeveless = 5, + /obj/item/clothing/suit/storage/fluff/gntop = 5, + /obj/item/clothing/suit/greatcoat = 5, + /obj/item/clothing/suit/storage/flannel = 5, + /obj/item/clothing/suit/storage/greyjacket = 5, + /obj/item/clothing/suit/storage/hazardvest = 5, + /obj/item/clothing/suit/storage/toggle/hoodie/black = 5, + /obj/item/clothing/suit/storage/toggle/hoodie/red = 5, + /obj/item/clothing/suit/storage/toggle/hoodie/blue = 5, + /obj/item/clothing/suit/storage/toggle/hoodie/green = 5, + /obj/item/clothing/suit/storage/toggle/hoodie/orange = 5, + /obj/item/clothing/suit/storage/toggle/hoodie/yellow = 5, + /obj/item/clothing/suit/storage/toggle/hoodie/cti = 5, + /obj/item/clothing/suit/storage/toggle/hoodie/mu = 5, + /obj/item/clothing/suit/storage/toggle/hoodie/nt = 5, + /obj/item/clothing/suit/storage/toggle/hoodie/smw = 5, + /obj/item/clothing/suit/storage/toggle/hoodie/nrti = 5, + /obj/item/clothing/suit/storage/fluff/jacket/field = 5, + /obj/item/clothing/suit/storage/fluff/jacket/air_cavalry = 5, + /obj/item/clothing/suit/storage/fluff/jacket/air_force = 5, + /obj/item/clothing/suit/storage/fluff/jacket/navy = 5, + /obj/item/clothing/suit/storage/fluff/jacket/special_forces = 5, + /obj/item/clothing/suit/kamishimo = 5, + /obj/item/clothing/suit/kimono = 5, + /obj/item/clothing/suit/storage/toggle/labcoat = 5, + /obj/item/clothing/suit/storage/toggle/labcoat/blue = 5, + /obj/item/clothing/suit/storage/toggle/labcoat/blue_edge = 5, + /obj/item/clothing/suit/storage/toggle/labcoat/green = 5, + /obj/item/clothing/suit/storage/toggle/labcoat/orange = 5, + /obj/item/clothing/suit/storage/toggle/labcoat/pink = 5, + /obj/item/clothing/suit/storage/toggle/labcoat/red = 5, + /obj/item/clothing/suit/storage/toggle/labcoat/yellow = 5, + /obj/item/clothing/suit/leathercoat = 5, + /obj/item/clothing/suit/storage/toggle/leather_jacket = 5, + /obj/item/clothing/suit/storage/leather_jacket_alt = 5, + /obj/item/clothing/suit/storage/toggle/brown_jacket = 5, + /obj/item/clothing/suit/storage/toggle/leather_jacket/nanotrasen = 5, + /obj/item/clothing/suit/storage/toggle/brown_jacket/nanotrasen = 5, + /obj/item/clothing/suit/storage/toggle/leather_jacket/sleeveless = 5, + /obj/item/clothing/suit/storage/toggle/brown_jacket/sleeveless = 5, + /obj/item/clothing/suit/storage/toggle/leather_jacket/nanotrasen/sleeveless = 5, + /obj/item/clothing/suit/storage/toggle/brown_jacket/nanotrasen/sleeveless = 5, + /obj/item/clothing/suit/storage/miljacket = 5, + /obj/item/clothing/suit/storage/miljacket/alt = 5, + /obj/item/clothing/suit/storage/miljacket/green = 5, + /obj/item/clothing/suit/storage/apron/overalls = 5, + /obj/item/clothing/suit/storage/toggle/peacoat = 5, + /obj/item/clothing/accessory/poncho = 5, + /obj/item/clothing/accessory/poncho/green = 5, + /obj/item/clothing/accessory/poncho/red = 5, + /obj/item/clothing/accessory/poncho/purple = 5, + /obj/item/clothing/accessory/poncho/blue = 5, + /obj/item/clothing/suit/jacket/puffer = 5, + /obj/item/clothing/suit/jacket/puffer/vest = 5, + /obj/item/clothing/suit/storage/flannel/red = 5, + /obj/item/clothing/suit/unathi/robe = 5, + /obj/item/clothing/suit/storage/snowsuit = 5, + /obj/item/clothing/suit/storage/toggle/internalaffairs = 5, + /obj/item/clothing/suit/storage/toggle/lawyer/bluejacket = 5, + /obj/item/clothing/suit/storage/toggle/lawyer/purpjacket = 5, + /obj/item/clothing/suit/suspenders = 5, + /obj/item/clothing/suit/storage/toggle/track = 5, + /obj/item/clothing/suit/storage/toggle/track/blue = 5, + /obj/item/clothing/suit/storage/toggle/track/green = 5, + /obj/item/clothing/suit/storage/toggle/track/red = 5, + /obj/item/clothing/suit/storage/toggle/track/white = 5, + /obj/item/clothing/suit/storage/trench = 5, + /obj/item/clothing/suit/storage/trench/grey = 5, + /obj/item/clothing/suit/varsity = 5, + /obj/item/clothing/suit/varsity/red = 5, + /obj/item/clothing/suit/varsity/purple = 5, + /obj/item/clothing/suit/varsity/green = 5, + /obj/item/clothing/suit/varsity/blue = 5, + /obj/item/clothing/suit/varsity/brown = 5, + /obj/item/clothing/suit/storage/hooded/wintercoat = 5, + /obj/item/clothing/suit/storage/teshari/cloak/standard/white_grey = 5) + prices = list(/obj/item/clothing/suit/storage/apron = 100, + /obj/item/clothing/suit/storage/flannel/aqua = 100, + /obj/item/clothing/suit/storage/toggle/bomber = 100, + /obj/item/clothing/suit/storage/bomber/alt = 100, + /obj/item/clothing/suit/storage/flannel/brown = 100, + /obj/item/clothing/suit/storage/toggle/cardigan = 100, + /obj/item/clothing/accessory/poncho/roles/cloak/custom = 100, + /obj/item/clothing/suit/storage/duster = 100, + /obj/item/clothing/suit/storage/toggle/denim_jacket = 100, + /obj/item/clothing/suit/storage/toggle/denim_jacket/nanotrasen = 100, + /obj/item/clothing/suit/storage/toggle/denim_jacket/sleeveless = 100, + /obj/item/clothing/suit/storage/toggle/denim_jacket/nanotrasen/sleeveless = 100, + /obj/item/clothing/suit/storage/fluff/gntop = 100, + /obj/item/clothing/suit/greatcoat = 100, + /obj/item/clothing/suit/storage/flannel = 100, + /obj/item/clothing/suit/storage/greyjacket = 100, + /obj/item/clothing/suit/storage/hazardvest = 100, + /obj/item/clothing/suit/storage/toggle/hoodie/black = 100, + /obj/item/clothing/suit/storage/toggle/hoodie/red = 100, + /obj/item/clothing/suit/storage/toggle/hoodie/blue = 100, + /obj/item/clothing/suit/storage/toggle/hoodie/green = 100, + /obj/item/clothing/suit/storage/toggle/hoodie/orange = 100, + /obj/item/clothing/suit/storage/toggle/hoodie/yellow = 100, + /obj/item/clothing/suit/storage/toggle/hoodie/cti = 100, + /obj/item/clothing/suit/storage/toggle/hoodie/mu = 100, + /obj/item/clothing/suit/storage/toggle/hoodie/nt = 100, + /obj/item/clothing/suit/storage/toggle/hoodie/smw = 100, + /obj/item/clothing/suit/storage/toggle/hoodie/nrti = 100, + /obj/item/clothing/suit/storage/fluff/jacket/field = 100, + /obj/item/clothing/suit/storage/fluff/jacket/air_cavalry = 100, + /obj/item/clothing/suit/storage/fluff/jacket/air_force = 100, + /obj/item/clothing/suit/storage/fluff/jacket/navy = 100, + /obj/item/clothing/suit/storage/fluff/jacket/special_forces = 100, + /obj/item/clothing/suit/kamishimo = 100, + /obj/item/clothing/suit/kimono = 100, + /obj/item/clothing/suit/storage/toggle/labcoat = 100, + /obj/item/clothing/suit/storage/toggle/labcoat/blue = 100, + /obj/item/clothing/suit/storage/toggle/labcoat/blue_edge = 100, + /obj/item/clothing/suit/storage/toggle/labcoat/green = 100, + /obj/item/clothing/suit/storage/toggle/labcoat/orange = 100, + /obj/item/clothing/suit/storage/toggle/labcoat/pink = 100, + /obj/item/clothing/suit/storage/toggle/labcoat/red = 100, + /obj/item/clothing/suit/storage/toggle/labcoat/yellow = 100, + /obj/item/clothing/suit/leathercoat = 100, + /obj/item/clothing/suit/storage/toggle/leather_jacket = 100, + /obj/item/clothing/suit/storage/leather_jacket_alt = 100, + /obj/item/clothing/suit/storage/toggle/brown_jacket = 100, + /obj/item/clothing/suit/storage/toggle/leather_jacket/nanotrasen = 100, + /obj/item/clothing/suit/storage/toggle/brown_jacket/nanotrasen = 100, + /obj/item/clothing/suit/storage/toggle/leather_jacket/sleeveless = 100, + /obj/item/clothing/suit/storage/toggle/brown_jacket/sleeveless = 100, + /obj/item/clothing/suit/storage/toggle/leather_jacket/nanotrasen/sleeveless = 100, + /obj/item/clothing/suit/storage/toggle/brown_jacket/nanotrasen/sleeveless = 100, + /obj/item/clothing/suit/storage/miljacket = 100, + /obj/item/clothing/suit/storage/miljacket/alt = 100, + /obj/item/clothing/suit/storage/miljacket/green = 100, + /obj/item/clothing/suit/storage/apron/overalls = 100, + /obj/item/clothing/suit/storage/toggle/peacoat = 100, + /obj/item/clothing/accessory/poncho = 100, + /obj/item/clothing/accessory/poncho/green = 100, + /obj/item/clothing/accessory/poncho/red = 100, + /obj/item/clothing/accessory/poncho/purple = 100, + /obj/item/clothing/accessory/poncho/blue = 100, + /obj/item/clothing/suit/jacket/puffer = 100, + /obj/item/clothing/suit/jacket/puffer/vest = 100, + /obj/item/clothing/suit/storage/flannel/red = 100, + /obj/item/clothing/suit/unathi/robe = 100, + /obj/item/clothing/suit/storage/snowsuit = 100, + /obj/item/clothing/suit/storage/toggle/internalaffairs = 100, + /obj/item/clothing/suit/storage/toggle/lawyer/bluejacket = 100, + /obj/item/clothing/suit/storage/toggle/lawyer/purpjacket = 100, + /obj/item/clothing/suit/suspenders = 100, + /obj/item/clothing/suit/storage/toggle/track = 100, + /obj/item/clothing/suit/storage/toggle/track/blue = 100, + /obj/item/clothing/suit/storage/toggle/track/green = 100, + /obj/item/clothing/suit/storage/toggle/track/red = 100, + /obj/item/clothing/suit/storage/toggle/track/white = 100, + /obj/item/clothing/suit/storage/trench = 100, + /obj/item/clothing/suit/storage/trench/grey = 100, + /obj/item/clothing/suit/varsity = 100, + /obj/item/clothing/suit/varsity/red = 100, + /obj/item/clothing/suit/varsity/purple = 100, + /obj/item/clothing/suit/varsity/green = 100, + /obj/item/clothing/suit/varsity/blue = 100, + /obj/item/clothing/suit/varsity/brown = 100, + /obj/item/clothing/suit/storage/hooded/wintercoat = 100, + /obj/item/clothing/suit/storage/teshari/cloak/standard/white_grey = 100) + premium = list(/obj/item/clothing/suit/imperium_monk = 3) + contraband = list(/obj/item/toy/katana = 1) + +/obj/machinery/vending/loadout/costume + name = "Thespian's Delight" + desc = "Sometimes nerds need costumes!" + product_ads = "Don't let your art be stifled!;Remember, practice makes perfect!;Break a leg!;Don't make me get the cane!;Thespian's Delight entering stage right!;Costumes for your acting needs!" + icon = 'icons/obj/vending.dmi' + icon_state = "theater" + products = list(/obj/item/clothing/suit/storage/hooded/carp_costume = 3, + /obj/item/clothing/suit/storage/hooded/carp_costume = 3, + /obj/item/clothing/suit/chickensuit = 3, + /obj/item/clothing/head/chicken = 3, + /obj/item/clothing/head/helmet/gladiator = 3, + /obj/item/clothing/under/gladiator = 3, + /obj/item/clothing/suit/storage/toggle/labcoat/mad = 3, + /obj/item/clothing/under/gimmick/rank/captain/suit = 3, + /obj/item/clothing/glasses/gglasses = 3, + /obj/item/clothing/head/flatcap = 3, + /obj/item/clothing/shoes/boots/jackboots = 3, + /obj/item/clothing/under/schoolgirl = 3, + /obj/item/clothing/head/kitty = 3, + /obj/item/clothing/glasses/sunglasses/blindfold = 3, + /obj/item/clothing/head/beret = 3, + /obj/item/clothing/under/skirt = 3, + /obj/item/clothing/under/suit_jacket = 3, + /obj/item/clothing/head/that = 3, + /obj/item/clothing/accessory/wcoat = 3, + /obj/item/clothing/under/scratch = 3, + /obj/item/clothing/shoes/white = 3, + /obj/item/clothing/gloves/white = 3, + /obj/item/clothing/under/kilt = 3, + /obj/item/clothing/glasses/monocle = 3, + /obj/item/clothing/under/sl_suit = 3, + /obj/item/clothing/mask/fakemoustache = 3, + /obj/item/weapon/cane = 3, + /obj/item/clothing/head/bowler = 3, + /obj/item/clothing/head/plaguedoctorhat = 3, + /obj/item/clothing/suit/bio_suit/plaguedoctorsuit = 3, + /obj/item/clothing/mask/gas/plaguedoctor/fluff = 3, + /obj/item/clothing/under/owl = 3, + /obj/item/clothing/mask/gas/owl_mask = 3, + /obj/item/clothing/under/waiter = 3, + /obj/item/clothing/suit/storage/apron = 3, + /obj/item/clothing/under/pirate = 3, + /obj/item/clothing/head/pirate = 3, + /obj/item/clothing/suit/pirate = 3, + /obj/item/clothing/glasses/eyepatch = 3, + /obj/item/clothing/head/ushanka = 3, + /obj/item/clothing/under/soviet = 3, + /obj/item/clothing/suit/imperium_monk = 1, + /obj/item/clothing/suit/holidaypriest = 3, + /obj/item/clothing/head/witchwig = 3, + /obj/item/clothing/under/sundress = 3, + /obj/item/weapon/staff/broom = 3, + /obj/item/clothing/suit/wizrobe/fake = 3, + /obj/item/clothing/head/wizard/fake = 3, + /obj/item/weapon/staff = 3, + /obj/item/clothing/mask/gas/sexyclown = 3, + /obj/item/clothing/under/sexyclown = 3, + /obj/item/clothing/mask/gas/sexymime = 3, + /obj/item/clothing/under/sexymime = 3, + /obj/item/clothing/suit/storage/hooded/knight_costume = 3, + /obj/item/clothing/suit/storage/hooded/knight_costume/galahad = 3, + /obj/item/clothing/suit/storage/hooded/knight_costume/lancelot = 3, + /obj/item/clothing/suit/storage/hooded/knight_costume/robin = 3, + /obj/item/clothing/suit/armor/combat/crusader_costume = 3, + /obj/item/clothing/suit/armor/combat/crusader_costume/bedevere = 3, + /obj/item/clothing/head/helmet/combat/crusader_costume = 3, + /obj/item/clothing/head/helmet/combat/bedevere_costume = 3, + /obj/item/clothing/gloves/combat/knight_costume = 3, + /obj/item/clothing/gloves/combat/knight_costume/brown = 3, + /obj/item/clothing/shoes/knight_costume = 3, + /obj/item/clothing/shoes/knight_costume/black = 3) + prices = list(/obj/item/clothing/suit/storage/hooded/carp_costume = 200, + /obj/item/clothing/suit/storage/hooded/carp_costume = 200, + /obj/item/clothing/suit/chickensuit = 200, + /obj/item/clothing/head/chicken = 200, + /obj/item/clothing/head/helmet/gladiator = 300, + /obj/item/clothing/under/gladiator = 500, + /obj/item/clothing/suit/storage/toggle/labcoat/mad = 200, + /obj/item/clothing/under/gimmick/rank/captain/suit = 200, + /obj/item/clothing/glasses/gglasses = 200, + /obj/item/clothing/head/flatcap = 200, + /obj/item/clothing/shoes/boots/jackboots = 200, + /obj/item/clothing/under/schoolgirl = 200, + /obj/item/clothing/head/kitty = 200, + /obj/item/clothing/glasses/sunglasses/blindfold = 200, + /obj/item/clothing/head/beret = 200, + /obj/item/clothing/under/skirt = 200, + /obj/item/clothing/under/suit_jacket = 200, + /obj/item/clothing/head/that = 200, + /obj/item/clothing/accessory/wcoat = 200, + /obj/item/clothing/under/scratch = 200, + /obj/item/clothing/shoes/white = 200, + /obj/item/clothing/gloves/white = 200, + /obj/item/clothing/under/kilt = 200, + /obj/item/clothing/glasses/monocle = 400, + /obj/item/clothing/under/sl_suit = 200, + /obj/item/clothing/mask/fakemoustache = 200, + /obj/item/weapon/cane = 300, + /obj/item/clothing/head/bowler = 200, + /obj/item/clothing/head/plaguedoctorhat = 300, + /obj/item/clothing/suit/bio_suit/plaguedoctorsuit = 300, + /obj/item/clothing/mask/gas/plaguedoctor/fluff = 600, + /obj/item/clothing/under/owl = 400, + /obj/item/clothing/mask/gas/owl_mask = 400, + /obj/item/clothing/under/waiter = 100, + /obj/item/clothing/suit/storage/apron = 200, + /obj/item/clothing/under/pirate = 300, + /obj/item/clothing/head/pirate = 400, + /obj/item/clothing/suit/pirate = 600, + /obj/item/clothing/glasses/eyepatch = 200, + /obj/item/clothing/head/ushanka = 200, + /obj/item/clothing/under/soviet = 200, + /obj/item/clothing/suit/imperium_monk = 2000, + /obj/item/clothing/suit/holidaypriest = 200, + /obj/item/clothing/head/witchwig = 200, + /obj/item/clothing/under/sundress = 50, + /obj/item/weapon/staff/broom = 400, + /obj/item/clothing/suit/wizrobe/fake = 200, + /obj/item/clothing/head/wizard/fake = 200, + /obj/item/weapon/staff = 400, + /obj/item/clothing/mask/gas/sexyclown = 600, + /obj/item/clothing/under/sexyclown = 200, + /obj/item/clothing/mask/gas/sexymime = 600, + /obj/item/clothing/under/sexymime = 200, + /obj/item/clothing/suit/storage/hooded/knight_costume = 200, + /obj/item/clothing/suit/storage/hooded/knight_costume/galahad = 200, + /obj/item/clothing/suit/storage/hooded/knight_costume/lancelot = 200, + /obj/item/clothing/suit/storage/hooded/knight_costume/robin = 200, + /obj/item/clothing/suit/armor/combat/crusader_costume = 200, + /obj/item/clothing/suit/armor/combat/crusader_costume/bedevere = 200, + /obj/item/clothing/head/helmet/combat/crusader_costume = 200, + /obj/item/clothing/head/helmet/combat/bedevere_costume = 200, + /obj/item/clothing/gloves/combat/knight_costume = 200, + /obj/item/clothing/gloves/combat/knight_costume/brown = 200, + /obj/item/clothing/shoes/knight_costume = 200, + /obj/item/clothing/shoes/knight_costume/black = 200) + premium = list(/obj/item/clothing/suit/imperium_monk = 3, + /obj/item/clothing/suit/barding/agatha = 2, + /obj/item/clothing/suit/barding/alt_agatha = 2, + /obj/item/clothing/suit/barding/mason = 2, + /obj/item/clothing/suit/drake_cloak = 2) + contraband = list(/obj/item/clothing/head/syndicatefake = 1, + /obj/item/clothing/suit/syndicatefake = 1) + +/obj/machinery/seed_storage/brig + name = "Prisoners' food seed storage" + starting_seeds = list( + /obj/item/seeds/appleseed = 3, + /obj/item/seeds/bananaseed = 3, + /obj/item/seeds/berryseed = 3, + /obj/item/seeds/cabbageseed = 3, + /obj/item/seeds/carrotseed = 3, + /obj/item/seeds/celery = 3, + /obj/item/seeds/chantermycelium = 3, + /obj/item/seeds/cherryseed = 3, + /obj/item/seeds/chiliseed = 3, + /obj/item/seeds/cocoapodseed = 3, + /obj/item/seeds/cornseed = 3, + /obj/item/seeds/durian = 3, + /obj/item/seeds/eggplantseed = 3, + /obj/item/seeds/grapeseed = 3, + /obj/item/seeds/grassseed = 3, + /obj/item/seeds/replicapod = 3, + /obj/item/seeds/lavenderseed = 3, + /obj/item/seeds/lemonseed = 3, + /obj/item/seeds/lettuce = 3, + /obj/item/seeds/limeseed = 3, + /obj/item/seeds/mtearseed = 2, + /obj/item/seeds/orangeseed = 3, + /obj/item/seeds/onionseed = 3, + /obj/item/seeds/peanutseed = 3, + /obj/item/seeds/plumpmycelium = 3, + /obj/item/seeds/poppyseed = 3, + /obj/item/seeds/potatoseed = 3, + /obj/item/seeds/pumpkinseed = 3, + /obj/item/seeds/rhubarb = 3, + /obj/item/seeds/riceseed = 3, + /obj/item/seeds/rose = 3, + /obj/item/seeds/soyaseed = 3, + /obj/item/seeds/pineapple = 3, + /obj/item/seeds/sugarcaneseed = 3, + /obj/item/seeds/sunflowerseed = 3, + /obj/item/seeds/shandseed = 2, + /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/wabback = 2) + +/obj/machinery/vending/hydronutrients/brig + name = "Brig NutriMax" + desc = "A plant nutrients vendor. Seems some items aren't included." + products = list(/obj/item/weapon/reagent_containers/glass/bottle/eznutrient = 6,/obj/item/weapon/reagent_containers/glass/bottle/left4zed = 4,/obj/item/weapon/reagent_containers/glass/bottle/robustharvest = 3,/obj/item/weapon/plantspray/pests = 20, + /obj/item/weapon/reagent_containers/glass/beaker = 4,/obj/item/weapon/storage/bag/plants = 5) + premium = list(/obj/item/weapon/reagent_containers/glass/bottle/ammonia = 10,/obj/item/weapon/reagent_containers/glass/bottle/diethylamine = 5) + +/obj/machinery/vending/emergencyfood + name = "Food Cube Dispenser" + desc = "An ominous machine dispensing food cubes. It will keep you fed, but at what cost?" + icon = 'icons/obj/vending_vr.dmi' + icon_state = "foodcube" + product_ads = "Afraid to starve?;Starvation is not an option!;Add water before consumption.;Let me take care of you.;Dire circumstances call for food cubes, do not let the taste deter you." + products = list(/obj/item/weapon/storage/box/wings/tray = 5, + /obj/item/weapon/reagent_containers/food/drinks/cans/waterbottle = 10) + contraband = list(/obj/item/weapon/storage/box/wings/tray = 5) + +/obj/machinery/vending/emergencyfood/filled + products = list(/obj/item/weapon/storage/box/wings/tray = 40) + contraband = list(/obj/item/weapon/storage/box/wings/tray = 20) + +/obj/machinery/vending/cola + icon_state = "Soda_Machine" + +/obj/machinery/vending/cola/soft + icon = 'icons/obj/vending_vr.dmi' + icon_state = "Cola_Machine" + +//Tweaked existing vendors +/obj/machinery/vending/hydroseeds/New() + products += list(/obj/item/seeds/shrinkshroom = 3,/obj/item/seeds/megashroom = 3) + ..() + +/obj/machinery/vending/security/New() + products += list(/obj/item/weapon/gun/energy/taser = 8,/obj/item/weapon/gun/energy/stunrevolver = 4, + /obj/item/weapon/reagent_containers/spray/pepper = 6,/obj/item/taperoll/police = 6, + /obj/item/clothing/glasses/omnihud/sec = 6) + ..() + +/obj/machinery/vending/tool/New() + products += list(/obj/item/weapon/reagent_containers/spray/windowsealant = 5) + ..() + +/obj/machinery/vending/engivend/New() + products += list(/obj/item/clothing/glasses/omnihud/eng = 6) + contraband += list(/obj/item/weapon/rms = 5) + ..() + +/obj/machinery/vending/medical/New() + products += list(/obj/item/weapon/storage/box/khcrystal = 4,/obj/item/weapon/backup_implanter = 3, + /obj/item/clothing/glasses/omnihud/med = 4, /obj/item/device/glasses_kit = 1, /obj/item/weapon/storage/quickdraw/syringe_case = 4) + ..() + +//I want this not just as part of the zoo. ;v +/obj/machinery/vending/food + name = "Food-O-Mat" + desc = "A technological marvel, supposedly able to cook or mix a large variety of food or drink." + icon_state = "hotfood" + products = list(/obj/item/weapon/tray = 8, + /obj/item/weapon/material/kitchen/utensil/fork = 6, + /obj/item/weapon/material/knife/plastic = 6, + /obj/item/weapon/material/kitchen/utensil/spoon = 6, + /obj/item/weapon/reagent_containers/food/snacks/tomatosoup = 8, + /obj/item/weapon/reagent_containers/food/snacks/mushroomsoup = 8, + /obj/item/weapon/reagent_containers/food/snacks/jellysandwich = 8, + /obj/item/weapon/reagent_containers/food/snacks/taco = 8, + /obj/item/weapon/reagent_containers/food/snacks/cheeseburger = 8, + /obj/item/weapon/reagent_containers/food/snacks/grilledcheese = 8, + /obj/item/weapon/reagent_containers/food/snacks/hotdog = 8, + /obj/item/weapon/reagent_containers/food/snacks/loadedbakedpotato = 8, + /obj/item/weapon/reagent_containers/food/snacks/omelette = 8, + /obj/item/weapon/reagent_containers/food/snacks/pastatomato = 8, + /obj/item/weapon/reagent_containers/food/snacks/tofuburger = 8, + /obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/mushroompizza = 2, + /obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/vegetablepizza = 2, + /obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/margherita = 2, + /obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/meatpizza = 2, + /obj/item/weapon/reagent_containers/food/snacks/waffles = 4, + /obj/item/weapon/reagent_containers/food/snacks/muffin = 4, + /obj/item/weapon/reagent_containers/food/snacks/appletart = 4, + /obj/item/weapon/reagent_containers/food/snacks/sliceable/applecake = 2, + /obj/item/weapon/reagent_containers/food/snacks/sliceable/bananabread = 2, + /obj/item/weapon/reagent_containers/food/snacks/sliceable/creamcheesebread = 2 + ) + contraband = list(/obj/item/weapon/reagent_containers/food/snacks/mysterysoup = 10) + vend_delay = 15 + +/obj/machinery/vending/food/arojoan //Fluff vendor for the lewd houseboat. + name = "Custom Food-O-Mat" + desc = "Do you think Joan cooks? Of course not. Lazy squirrel!" + products = list(/obj/item/weapon/tray = 6, + /obj/item/weapon/material/kitchen/utensil/fork = 6, + /obj/item/weapon/material/knife/plastic = 6, + /obj/item/weapon/material/kitchen/utensil/spoon = 6, + /obj/item/weapon/reagent_containers/food/snacks/hotandsoursoup = 3, + /obj/item/weapon/reagent_containers/food/snacks/kitsuneudon = 3, + /obj/item/weapon/reagent_containers/food/snacks/generalschicken = 3, + /obj/item/weapon/reagent_containers/food/snacks/sliceable/sushi = 2, + /obj/item/weapon/reagent_containers/food/snacks/jellysandwich = 3, + /obj/item/weapon/reagent_containers/food/snacks/grilledcheese = 3, + /obj/item/weapon/reagent_containers/food/snacks/hotdog = 3, + /obj/item/weapon/storage/box/wings = 2, + /obj/item/weapon/reagent_containers/food/snacks/loadedbakedpotato = 3, + /obj/item/weapon/reagent_containers/food/snacks/omelette = 3, + /obj/item/weapon/reagent_containers/food/snacks/waffles = 3, + /obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/mushroompizza = 1, + /obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/vegetablepizza = 1, + /obj/item/weapon/reagent_containers/food/snacks/appletart = 2, + /obj/item/weapon/reagent_containers/food/snacks/sliceable/applecake = 1, + /obj/item/weapon/reagent_containers/food/snacks/sliceable/bananabread = 2, + /obj/item/weapon/reagent_containers/food/snacks/sliceable/creamcheesebread = 2 + ) + contraband = list(/obj/item/weapon/reagent_containers/food/snacks/mysterysoup = 10) + vend_delay = 15 +/* For later, then +/obj/machinery/vending/weapon_machine + name = "Frozen Star Guns&Ammo" + desc = "A self-defense equipment vending machine. When you need to take care of that clown." + product_slogans = "The best defense is good offense!;Buy for your whole family today!;Nobody can outsmart bullet!;God created man - Frozen Star made them EQUAL!;Nobody can outsmart bullet!;Stupidity can be cured! By LEAD.;Dead kids can't bully your children!" + product_ads = "Stunning!;Take justice in your own hands!;LEADearship!" + icon = 'icons/obj/vending_vr.dmi' + icon_state = "weapon" + products = list(/obj/item/device/flash = 6,/obj/item/weapon/reagent_containers/spray/pepper = 6, /obj/item/weapon/gun/projectile/olivaw = 5, /obj/item/weapon/gun/projectile/giskard = 5, /obj/item/ammo_magazine/mg/cl32/rubber = 20) + contraband = list(/obj/item/weapon/reagent_containers/food/snacks/syndicake = 6) + prices = list(/obj/item/device/flash = 600,/obj/item/weapon/reagent_containers/spray/pepper = 800, /obj/item/weapon/gun/projectile/olivaw = 1600, /obj/item/weapon/gun/projectile/giskard = 1200, /obj/item/ammo_magazine/mg/cl32/rubber = 200) +*/ + +/obj/machinery/vending/fitness/New() + products += list(/obj/item/weapon/reagent_containers/food/snacks/liquidprotein = 8) + prices += list(/obj/item/weapon/reagent_containers/food/snacks/liquidprotein = 5) + ..() + +/obj/machinery/vending/blood + name = "Blood-Onator" + desc = "Freezer-vendor for storage and quick dispensing of blood packs" + product_ads = "The true life juice!;Vampire's choice!;Home-grown blood only!;Donate today, be saved tomorrow!;Approved by Zeng-Hu Pharmaceuticals Incorporated!; Curse you, Vey-Med artificial blood!" + icon = 'icons/obj/vending_vr.dmi' + icon_state = "blood" + vend_delay = 7 + idle_power_usage = 211 + req_access = list(access_medical) + products = list(/obj/item/weapon/reagent_containers/blood/prelabeled/APlus = 3,/obj/item/weapon/reagent_containers/blood/prelabeled/AMinus = 3, + /obj/item/weapon/reagent_containers/blood/prelabeled/BPlus = 3,/obj/item/weapon/reagent_containers/blood/prelabeled/BMinus = 3, + /obj/item/weapon/reagent_containers/blood/prelabeled/OPlus = 2,/obj/item/weapon/reagent_containers/blood/prelabeled/OMinus = 5, + /obj/item/weapon/reagent_containers/blood/empty = 5) + contraband = list(/obj/item/weapon/reagent_containers/glass/bottle/stoxin = 2) + req_log_access = access_cmo + has_logs = 1 + +>>>>>>> 9fbe2cdfdd... Merge pull request #10555 from VOREStation/Arokha/portajuke /obj/machinery/vending/abductor name = "Abduct-U" desc = "A mysterious machine which can fabricate many tools for acquiring test subjects." diff --git a/code/modules/media/juke_remote.dm b/code/modules/media/juke_remote.dm new file mode 100644 index 0000000000..416db7a792 --- /dev/null +++ b/code/modules/media/juke_remote.dm @@ -0,0 +1,111 @@ +/obj/item/device/juke_remote + name = "\improper BoomTown cordless speaker" + desc = "Once paired with a jukebox, this speaker can relay the tunes elsewhere!" + + description_fluff = "The BoomTown cordless speaker is capable of maintaining a high-quality 49kbps audio stream from a stationary jukebox and relaying the sound locally. It's like magic!" + description_info = "Hit it on a jukebox to pair, then set it down to play tunes. Does nothing while held, it has to be stationary, visible in the world. Keep in mind music is done by AREA, not within a certain range. You will need more than one to cover a department." + + icon = 'icons/obj/device_vr.dmi' + icon_state = "bspeaker" + + var/obj/machinery/media/jukebox/paired_juke + var/area/our_area + +/* +/obj/item/device/juke_remote/Initialize() + . = ..() + flags |= NOBLUDGEON +*/ +// Pairing +/obj/item/device/juke_remote/proc/pair_juke(obj/machinery/media/jukebox/juke, mob/user) + if(paired_juke) + to_chat(user, "The [src] is already paired to [paired_juke == juke ? "that" : "a different"] jukebox.") + return + paired_juke = juke + LAZYDISTINCTADD(paired_juke.remotes, src) + to_chat(user, "You pair the [src] to the [juke].") + icon_state = "[initial(icon_state)]_ready" + +/obj/item/device/juke_remote/proc/unpair_juke(mob/user) + if(!paired_juke) + to_chat(user, "The [src] isn't paired to anything.") + return + LAZYREMOVE(paired_juke.remotes, src) + paired_juke = null + icon_state = initial(icon_state) + unanchor() + detach_area() + to_chat(user, "You unpair the [src].") + icon_state = "[initial(icon_state)]" + +/obj/item/device/juke_remote/afterattack(atom/target, mob/user, proximity_flag, click_parameters) + if(istype(target, /obj/machinery/media/jukebox)) + pair_juke(target, user) + return + return ..() + +/obj/item/device/juke_remote/verb/reset() + set name = "Reset Pairing" + set desc = "Unpair this speaker from a jukebox." + + unpair_juke(usr) + +// Deploying +/obj/item/device/juke_remote/Moved(atom/old_loc, direction, forced) + . = ..() + if(paired_juke && !anchored && isturf(loc)) + anchor() + +/obj/item/device/juke_remote/attack_hand(mob/living/user) + if(anchored) + unanchor() + return ..() + +/obj/item/device/juke_remote/proc/anchor() + if(anchored) + return + anchored = TRUE + if(attach_area()) + visible_message("[src] attaches to the nearest surface and bounces happily, ready to pump tunes.", runemessage = "clank") + if(paired_juke) // we were able to claim the area + icon_state = "[initial(icon_state)]_playing" + else + icon_state = "[initial(icon_state)]" + +/obj/item/device/juke_remote/proc/unanchor() + detach_area() + anchored = FALSE + visible_message("[src] detaches from it's mounting surface, able to be moved once again.", runemessage = "clunk") + if(paired_juke) + icon_state = "[initial(icon_state)]_ready" + else + icon_state = "[initial(icon_state)]" + +// Area handling +/obj/item/device/juke_remote/proc/attach_area() + var/area/A = get_area(src) + if(!A || !paired_juke) + error("Jukebox remote at [x],[y],[z] without paired juke tried to bind to an area.") + return FALSE + if(A.media_source) + return FALSE // Already has a media source, won't overpower it with porta speaker + our_area = A + A.media_source = paired_juke + update_music() + return TRUE + +/obj/item/device/juke_remote/proc/detach_area() + if(!our_area || (paired_juke && our_area.media_source != paired_juke)) + return + our_area.media_source = null + update_music() + our_area = null + +// Music handling +/obj/item/device/juke_remote/proc/update_music() + if(!our_area || !paired_juke) + return + // Send update to clients. + for(var/mob/M in mobs_in_area(our_area)) + if(M?.client) + M.update_music() \ No newline at end of file diff --git a/code/modules/media/walkpod.dm b/code/modules/media/walkpod.dm new file mode 100644 index 0000000000..8b1a2e2876 --- /dev/null +++ b/code/modules/media/walkpod.dm @@ -0,0 +1,268 @@ +// Mostly a jukebox copy-paste, given the vastly different paths though it seemed worth it. +// Would rather not have a bunch of /machinery baggage on our portable music player. + +/obj/item/device/walkpod + name = "\improper PodZu music player" + desc = "Portable music player! For when you need to ignore the rest of the world, there's only one choice: PodZu." + description_fluff = "A prestigious set: The ZuMan music player, and the HeadPods headphones, both 90th anniversary releases! Together they form the PodZu Music Player, famous in the local galactic cluster for pumping sick beats directly into your head." + description_info = "An easy way to access the menu while the player is in a pocket is Alt-Click. Wearing the headphones is not actually necessary to listen to music, but you can if you want, by right-clicking on the player and using 'Take HeadPods'." + + icon = 'icons/obj/device_vr.dmi' + icon_state = "podzu" // podzu_o, headpod, zuman + + var/loop_mode = JUKEMODE_PLAY_ONCE // Behavior when finished playing a song + var/datum/track/current_track // Current track playing + var/mob/living/listener // Person whomst is listening to us + + var/playing = 0 + var/volume = 1 + + var/media_url = "" + var/media_start_time + + var/obj/item/device/headpods/deployed_headpods + + w_class = ITEMSIZE_COST_SMALL + +/obj/item/device/walkpod/Destroy() + remove_listener() + return ..() + +// Icon +/obj/item/device/walkpod/update_icon() + if(listener) + if(deployed_headpods) + icon_state = "zuman_on" + else + icon_state = "[initial(icon_state)]_on" + else + if(deployed_headpods) + icon_state = "zuman" + else + icon_state = "[initial(icon_state)]" + +// Listener handling +/obj/item/device/walkpod/proc/check_listener() + if(loc == listener) + return TRUE + return FALSE + +/obj/item/device/walkpod/proc/remove_listener() + if(playing) + StopPlaying() + STOP_PROCESSING(SSobj, src) + if(deployed_headpods) + restore_headpods() + to_chat(listener, "You are no longer wearing the [src]'s headphones.") + listener = null + update_icon() + +/obj/item/device/walkpod/proc/set_listener(mob/living/L) + if(listener) + remove_listener() + listener = L + START_PROCESSING(SSobj, src) + to_chat(L, "You put the [src]'s headphones on and power it up, preparing to listen to some sick tunes.") + update_icon() + +/obj/item/device/walkpod/proc/update_music() + listener?.force_music(media_url, media_start_time, volume) // Calling this with "" url (when we aren't playing) helpfully disables forced music + +/obj/item/device/walkpod/AltClick(mob/living/L) + if(L == listener && check_listener()) + tgui_interact(L) + else if(loc == L) // at least they're holding it + to_chat(L, "Turn on the [src] first.") + +/obj/item/device/walkpod/attack_self(mob/living/L) + if(!istype(L) || loc != L) + return + if(!listener) + set_listener(L) + tgui_interact(L) + +// Process ticks to ensure our listener remains valid and we do music-ing +/obj/item/device/walkpod/process() + if(!check_headpods()) + restore_headpods() + if(!check_listener()) + remove_listener() + return + if(!playing) + return + // If the current track isn't finished playing, let it keep going + if(current_track && world.time < media_start_time + current_track.duration) + return + // Oh... nothing in queue? Well then pick next according to our rules + var/list/tracks = getTracksList() + switch(loop_mode) + if(JUKEMODE_NEXT) + var/curTrackIndex = max(1, tracks.Find(current_track)) + var/newTrackIndex = (curTrackIndex % tracks.len) + 1 // Loop back around if past end + current_track = tracks[newTrackIndex] + if(JUKEMODE_RANDOM) + var/previous_track = current_track + do + current_track = pick(tracks) + while(current_track == previous_track && tracks.len > 1) + if(JUKEMODE_REPEAT_SONG) + current_track = current_track + if(JUKEMODE_PLAY_ONCE) + current_track = null + playing = 0 + update_icon() + updateDialog() + start_stop_song() + +// Track/music internals +/obj/item/device/walkpod/proc/start_stop_song() + if(current_track && playing) + media_url = current_track.url + media_start_time = world.time + runechat_message("* [current_track.display()] *", specific_viewers = list(listener)) + else + media_url = "" + media_start_time = 0 + update_music() + +/obj/item/device/walkpod/proc/StopPlaying() + playing = 0 + start_stop_song() + +/obj/item/device/walkpod/proc/StartPlaying() + if(!current_track) + return + playing = 1 + start_stop_song() + updateDialog() + +// Advance to the next track - Don't start playing it unless we were already playing +/obj/item/device/walkpod/proc/NextTrack() + var/list/tracks = getTracksList() + if(!tracks.len) return + var/curTrackIndex = max(1, tracks.Find(current_track)) + var/newTrackIndex = (curTrackIndex % tracks.len) + 1 // Loop back around if past end + current_track = tracks[newTrackIndex] + if(playing) + start_stop_song() + updateDialog() + +// Unadvance to the notnext track - Don't start playing it unless we were already playing +/obj/item/device/walkpod/proc/PrevTrack() + var/list/tracks = getTracksList() + if(!tracks.len) return + var/curTrackIndex = max(1, tracks.Find(current_track)) + var/newTrackIndex = curTrackIndex == 1 ? tracks.len : curTrackIndex - 1 + current_track = tracks[newTrackIndex] + if(playing) + start_stop_song() + updateDialog() + +// UI +/obj/item/device/walkpod/proc/getTracksList() + return SSmedia_tracks.jukebox_tracks + +/obj/item/device/walkpod/tgui_interact(mob/user, datum/tgui/ui) + ui = SStgui.try_update_ui(user, src, ui) + if(!ui) + ui = new(user, src, "Jukebox", "PodZu Music Player") + ui.open() + +/obj/item/device/walkpod/tgui_data(mob/user, datum/tgui/ui, datum/tgui_state/state) + var/list/data = ..() + + data["playing"] = playing + data["loop_mode"] = loop_mode + data["volume"] = volume + data["current_track_ref"] = null + data["current_track"] = null + data["current_genre"] = null + if(current_track) + data["current_track_ref"] = "\ref[current_track]" // Convenient shortcut + data["current_track"] = current_track.toTguiList() + data["current_genre"] = current_track.genre + data["percent"] = playing ? min(100, round(world.time - media_start_time) / current_track.duration) : 0; + + var/list/tgui_tracks = list() + for(var/datum/track/T in getTracksList()) + tgui_tracks.Add(list(T.toTguiList())) + data["tracks"] = tgui_tracks + + return data + +/obj/item/device/walkpod/tgui_act(action, list/params, datum/tgui/ui, datum/tgui_state/state) + if(..()) + return TRUE + + switch(action) + if("change_track") + var/datum/track/T = locate(params["change_track"]) in getTracksList() + if(istype(T)) + current_track = T + StartPlaying() + return TRUE + if("loopmode") + var/newval = text2num(params["loopmode"]) + loop_mode = sanitize_inlist(newval, list(JUKEMODE_NEXT, JUKEMODE_RANDOM, JUKEMODE_REPEAT_SONG, JUKEMODE_PLAY_ONCE), loop_mode) + return TRUE + if("volume") + var/newval = text2num(params["val"]) + volume = clamp(newval, 0, 1) + update_music() // To broadcast volume change without restarting song + return TRUE + if("stop") + StopPlaying() + return TRUE + if("play") + if(current_track == null) + to_chat(usr, "No track selected.") + else + StartPlaying() + return TRUE + +// Silly verb +/obj/item/device/walkpod/verb/take_headpods() + set name = "Take HeadPods" + set desc = "Grab the pair of HeadPods." + + var/mob/living/L = usr + if(!istype(L)) + return + if(deployed_headpods) + to_chat(usr, "The HeadPods are already deployed!") + return + deployed_headpods = new () + L.put_in_any_hand_if_possible(deployed_headpods) + update_icon() + +/obj/item/device/walkpod/attackby(obj/item/W, mob/user) + if(W == deployed_headpods) + restore_headpods(user) + return + return ..() + +/obj/item/device/walkpod/proc/restore_headpods(mob/living/potential_holder) + if(!deployed_headpods) + return + + if(listener) + to_chat(listener, "The headphone cable reunites the [deployed_headpods] with the [src] by retracting inwards.") + + if(istype(potential_holder)) + potential_holder.unEquip(deployed_headpods, force = TRUE) + qdel_null(deployed_headpods) + update_icon() + +/obj/item/device/walkpod/proc/check_headpods() + if(deployed_headpods && deployed_headpods.loc != loc) + return FALSE + return TRUE + +/obj/item/device/headpods + name = "\improper pair of HeadPods" + desc = "Portable listening in Hi-Fi!" + icon = 'icons/obj/device_vr.dmi' + icon_state = "headpods" + item_state = "headphones_on" + w_class = ITEMSIZE_SMALL + slot_flags = SLOT_HEAD diff --git a/code/modules/research/designs/misc_vr.dm b/code/modules/research/designs/misc_vr.dm index 518a0d8201..859834b447 100644 --- a/code/modules/research/designs/misc_vr.dm +++ b/code/modules/research/designs/misc_vr.dm @@ -53,3 +53,18 @@ build_path = /obj/item/weapon/mining_scanner/advanced sort_string = "FBAAB" +/datum/design/item/general/walkpod + name = "PodZu Music Player" + id = "walkpod" + req_tech = list(TECH_MAGNET = 3, TECH_ENGINEERING = 3) + materials = list(DEFAULT_WALL_MATERIAL = 2000, MAT_GLASS = 2000) + build_path = /obj/item/device/walkpod + sort_string = "TCVAD" + +/datum/design/item/general/juke_remote + name = "BoomTown Cordless Speaker" + id = "juke_remote" + req_tech = list(TECH_MAGNET = 3, TECH_ENGINEERING = 4, TECH_BLUESPACE = 1) + materials = list(DEFAULT_WALL_MATERIAL = 4000, MAT_GLASS = 4000, MAT_URANIUM = 2000) + build_path = /obj/item/device/juke_remote + sort_string = "TCVAE" diff --git a/icons/obj/device_vr.dmi b/icons/obj/device_vr.dmi index 200443e046..d74e254079 100644 Binary files a/icons/obj/device_vr.dmi and b/icons/obj/device_vr.dmi differ diff --git a/vorestation.dme b/vorestation.dme index e89adee5d9..f901e384d2 100644 --- a/vorestation.dme +++ b/vorestation.dme @@ -2685,12 +2685,14 @@ #include "code\modules\materials\sheets\organic\tanning\hide_hairless.dm" #include "code\modules\materials\sheets\organic\tanning\leather_wet.dm" #include "code\modules\materials\sheets\organic\tanning\tanning_rack.dm" +#include "code\modules\media\juke_remote.dm" #include "code\modules\media\media_machinery.dm" #include "code\modules\media\media_player_html5.dm" #include "code\modules\media\media_player_vlc.dm" #include "code\modules\media\media_player_wmp.dm" #include "code\modules\media\media_tracks.dm" #include "code\modules\media\mediamanager.dm" +#include "code\modules\media\walkpod.dm" #include "code\modules\metric\activity.dm" #include "code\modules\metric\count.dm" #include "code\modules\metric\department.dm"