mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-07-08 22:50:51 +01:00
d5102b2030
## About The Pull Request Void stamp added to bureaucracy loot spawners, a new box that contains a granted, denied, and void stamp found in the lawdrobe, hop locker, bureaucracy crate, mod stamper module, and the paperwork implant gets a stamp that can cycle between 3 different ones like the mod stamp. ## Why It's Good For The Game Finally the void stamp is obtainable ## Changelog 🆑 add: The void stamp is now obtainable add: The lawdrobe now sells a box of stamps add: The head of personnel's locker now contains a box of stamps fix: The mod stamper module is now visible /🆑 --------- Co-authored-by: Fghj240 <fakeemail@notrealemail.com>
321 lines
9.8 KiB
Plaintext
321 lines
9.8 KiB
Plaintext
// This file contains all boxes used by the Service department and its purpose on the station.
|
|
// Because we want to avoid some sort of "miscellaneous" file, let's put all the bureaucracy (pens and stuff) and the HoP's stuff here as well.
|
|
|
|
/obj/item/storage/box/drinkingglasses
|
|
name = "box of drinking glasses"
|
|
desc = "It has a picture of drinking glasses on it."
|
|
illustration = "drinkglass"
|
|
|
|
/obj/item/storage/box/drinkingglasses/PopulateContents()
|
|
for(var/i in 1 to 6)
|
|
new /obj/item/reagent_containers/cup/glass/drinkingglass(src)
|
|
/obj/item/storage/box/cups
|
|
name = "box of paper cups"
|
|
desc = "It has pictures of paper cups on the front."
|
|
illustration = "cup"
|
|
|
|
/obj/item/storage/box/cups/PopulateContents()
|
|
for(var/i in 1 to 7)
|
|
new /obj/item/reagent_containers/cup/glass/sillycup(src)
|
|
|
|
//Some spare PDAs in a box
|
|
/obj/item/storage/box/pdas
|
|
name = "spare PDAs"
|
|
desc = "A box of spare PDA microcomputers."
|
|
illustration = "pda"
|
|
|
|
/obj/item/storage/box/pdas/PopulateContents()
|
|
for(var/i in 1 to 4)
|
|
new /obj/item/modular_computer/pda(src)
|
|
|
|
/obj/item/storage/box/ids
|
|
name = "box of spare IDs"
|
|
desc = "Has so many empty IDs."
|
|
illustration = "id"
|
|
|
|
/obj/item/storage/box/ids/PopulateContents()
|
|
for(var/i in 1 to 7)
|
|
new /obj/item/card/id/advanced(src)
|
|
/obj/item/storage/box/silver_ids
|
|
name = "box of spare silver IDs"
|
|
desc = "Shiny IDs for important people."
|
|
illustration = "id"
|
|
|
|
/obj/item/storage/box/silver_ids/PopulateContents()
|
|
for(var/i in 1 to 7)
|
|
new /obj/item/card/id/advanced/silver(src)
|
|
|
|
/obj/item/storage/box/mousetraps
|
|
name = "box of Pest-B-Gon mousetraps"
|
|
desc = span_alert("Keep out of reach of children.")
|
|
illustration = "mousetrap"
|
|
|
|
/obj/item/storage/box/mousetraps/PopulateContents()
|
|
for(var/i in 1 to 6)
|
|
new /obj/item/assembly/mousetrap(src)
|
|
|
|
/obj/item/storage/box/snappops
|
|
name = "snap pop box"
|
|
desc = "Eight wrappers of fun! Ages 8 and up. Not suitable for children."
|
|
icon = 'icons/obj/toys/toy.dmi'
|
|
icon_state = "spbox"
|
|
illustration = ""
|
|
storage_type = /datum/storage/box/snappops
|
|
|
|
/obj/item/storage/box/snappops/PopulateContents()
|
|
for(var/i in 1 to 8)
|
|
new /obj/item/toy/snappop(src)
|
|
|
|
/obj/item/storage/box/matches
|
|
name = "matchbox"
|
|
desc = "A small box of Almost But Not Quite Plasma Premium Matches."
|
|
icon = 'icons/obj/cigarettes.dmi'
|
|
icon_state = "matchbox"
|
|
inhand_icon_state = "zippo"
|
|
lefthand_file = 'icons/mob/inhands/items_lefthand.dmi'
|
|
righthand_file = 'icons/mob/inhands/items_righthand.dmi'
|
|
worn_icon_state = "lighter"
|
|
w_class = WEIGHT_CLASS_TINY
|
|
slot_flags = ITEM_SLOT_BELT
|
|
drop_sound = 'sound/items/handling/matchbox_drop.ogg'
|
|
pickup_sound = 'sound/items/handling/matchbox_pickup.ogg'
|
|
custom_price = PAYCHECK_CREW * 0.4
|
|
base_icon_state = "matchbox"
|
|
illustration = null
|
|
storage_type = /datum/storage/box/match
|
|
|
|
/obj/item/storage/box/matches/Initialize(mapload)
|
|
. = ..()
|
|
AddElement(/datum/element/ignites_matches)
|
|
|
|
/obj/item/storage/box/matches/PopulateContents()
|
|
for(var/i in 1 to 10)
|
|
new /obj/item/match(src)
|
|
|
|
/obj/item/storage/box/matches/update_icon_state()
|
|
. = ..()
|
|
switch(length(contents))
|
|
if(10)
|
|
icon_state = base_icon_state
|
|
if(5 to 9)
|
|
icon_state = "[base_icon_state]_almostfull"
|
|
if(1 to 4)
|
|
icon_state = "[base_icon_state]_almostempty"
|
|
if(0)
|
|
icon_state = "[base_icon_state]_e"
|
|
|
|
/obj/item/storage/box/lights
|
|
name = "box of replacement bulbs"
|
|
desc = "This box is shaped on the inside so that only light tubes and bulbs fit."
|
|
inhand_icon_state = "syringe_kit"
|
|
lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi'
|
|
righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi'
|
|
foldable_result = /obj/item/stack/sheet/cardboard //BubbleWrap
|
|
illustration = "light"
|
|
storage_type = /datum/storage/box/lights
|
|
|
|
/obj/item/storage/box/lights/bulbs/PopulateContents()
|
|
for(var/i in 1 to 21)
|
|
new /obj/item/light/bulb(src)
|
|
|
|
/obj/item/storage/box/lights/tubes
|
|
name = "box of replacement tubes"
|
|
illustration = "lighttube"
|
|
|
|
/obj/item/storage/box/lights/tubes/PopulateContents()
|
|
for(var/i in 1 to 21)
|
|
new /obj/item/light/tube(src)
|
|
|
|
/obj/item/storage/box/lights/mixed
|
|
name = "box of replacement lights"
|
|
illustration = "lightmixed"
|
|
|
|
/obj/item/storage/box/lights/mixed/PopulateContents()
|
|
for(var/i in 1 to 14)
|
|
new /obj/item/light/tube(src)
|
|
for(var/i in 1 to 7)
|
|
new /obj/item/light/bulb(src)
|
|
|
|
/obj/item/storage/box/fountainpens
|
|
name = "box of fountain pens"
|
|
illustration = "fpen"
|
|
|
|
/obj/item/storage/box/fountainpens/PopulateContents()
|
|
for(var/i in 1 to 7)
|
|
new /obj/item/pen/fountain(src)
|
|
|
|
/obj/item/storage/box/dishdrive
|
|
name = "DIY Dish Drive Kit"
|
|
desc = "Contains everything you need to build your own Dish Drive!"
|
|
custom_premium_price = PAYCHECK_CREW * 3
|
|
|
|
/obj/item/storage/box/dishdrive/PopulateContents()
|
|
var/list/items_inside = list(
|
|
/obj/item/circuitboard/machine/dish_drive = 1,
|
|
/obj/item/screwdriver = 1,
|
|
/obj/item/stack/cable_coil/five = 1,
|
|
/obj/item/stack/sheet/glass = 1,
|
|
/obj/item/stack/sheet/iron/five = 1,
|
|
/obj/item/stock_parts/servo = 1,
|
|
/obj/item/stock_parts/matter_bin = 2,
|
|
/obj/item/wrench = 1,
|
|
)
|
|
generate_items_inside(items_inside,src)
|
|
|
|
/obj/item/storage/box/actionfigure
|
|
name = "box of action figures"
|
|
desc = "The latest set of collectable action figures."
|
|
icon_state = "box"
|
|
|
|
/obj/item/storage/box/actionfigure/PopulateContents()
|
|
for(var/i in 1 to 4)
|
|
var/random_figure = pick(subtypesof(/obj/item/toy/figure))
|
|
new random_figure(src)
|
|
|
|
/obj/item/storage/box/tail_pin
|
|
name = "pin the tail on the corgi supplies"
|
|
desc = "For ages 10 and up. ...Why is this even on a space station? Aren't you a little old for babby games?" //Intentional typo.
|
|
custom_price = PAYCHECK_COMMAND * 1.25
|
|
|
|
/obj/item/storage/box/tail_pin/PopulateContents()
|
|
for(var/i in 1 to 3)
|
|
new /obj/item/poster/tail_board(src)
|
|
new /obj/item/tail_pin(src)
|
|
|
|
/obj/item/storage/box/party_poppers
|
|
name = "box of party poppers"
|
|
desc = "Turn any event into a celebration and ensure the janitor stays busy."
|
|
|
|
/obj/item/storage/box/party_poppers/PopulateContents()
|
|
for(var/i in 1 to 5)
|
|
new /obj/item/reagent_containers/spray/chemsprayer/party(src)
|
|
|
|
/obj/item/storage/box/balloons
|
|
name = "box of long balloons"
|
|
desc = "A completely randomized and wacky box of long balloons, harvested straight from balloon farms on the clown planet."
|
|
illustration = "balloon"
|
|
storage_type = /datum/storage/box/balloon
|
|
|
|
/obj/item/storage/box/balloons/PopulateContents()
|
|
for(var/i in 1 to 24)
|
|
new /obj/item/toy/balloon/long(src)
|
|
|
|
/obj/item/storage/box/stickers
|
|
name = "sticker pack"
|
|
desc = "A pack of removable stickers. Removable? What a rip off!<br>On the back, <b>DO NOT GIVE TO THE CLOWN!</b> is printed in large lettering."
|
|
icon = 'icons/obj/toys/stickers.dmi'
|
|
icon_state = "stickerpack"
|
|
illustration = null
|
|
w_class = WEIGHT_CLASS_TINY
|
|
storage_type = /datum/storage/box/stickers
|
|
|
|
var/static/list/pack_labels = list(
|
|
"smile",
|
|
"frown",
|
|
"heart",
|
|
"silentman",
|
|
"tider",
|
|
"star",
|
|
)
|
|
|
|
/obj/item/storage/box/stickers/Initialize(mapload)
|
|
. = ..()
|
|
if(isnull(illustration))
|
|
illustration = pick(pack_labels)
|
|
update_appearance()
|
|
|
|
/obj/item/storage/box/stickers/proc/generate_non_contraband_stickers_list()
|
|
var/list/allowed_stickers = list()
|
|
|
|
for(var/obj/item/sticker/sticker_type as anything in subtypesof(/obj/item/sticker))
|
|
if(!sticker_type::exclude_from_random)
|
|
allowed_stickers += sticker_type
|
|
|
|
return allowed_stickers
|
|
|
|
/obj/item/storage/box/stickers/PopulateContents()
|
|
var/static/list/non_contraband
|
|
|
|
if(isnull(non_contraband))
|
|
non_contraband = generate_non_contraband_stickers_list()
|
|
|
|
for(var/i in 1 to rand(4, 8))
|
|
var/type = pick(non_contraband)
|
|
new type(src)
|
|
|
|
/obj/item/storage/box/stickers/googly
|
|
name = "googly eye sticker pack"
|
|
desc = "Turn anything and everything into something vaguely alive!"
|
|
illustration = "googly-alt"
|
|
|
|
/obj/item/storage/box/stickers/googly/PopulateContents()
|
|
for(var/i in 1 to 6)
|
|
new /obj/item/sticker/googly(src)
|
|
|
|
/// A box containing a skub, for easier carry because skub is a bulky item.
|
|
/obj/item/storage/box/stickers/skub
|
|
name = "skub fan pack"
|
|
desc = "A vinyl pouch to store your skub and pro-skub shirt in. A label on the back reads: \"Skubtide, Stationwide\"."
|
|
icon_state = "skubpack"
|
|
illustration = "label_skub"
|
|
w_class = WEIGHT_CLASS_SMALL
|
|
storage_type = /datum/storage/box/skub
|
|
|
|
/obj/item/storage/box/stickers/skub/PopulateContents()
|
|
new /obj/item/skub(src)
|
|
new /obj/item/sticker/skub(src)
|
|
new /obj/item/sticker/skub(src)
|
|
|
|
/obj/item/storage/box/stickers/anti_skub
|
|
name = "anti-skub stickers pack"
|
|
desc = "The enemy may have been given a skub and a shirt, but I've got more stickers! Plus the pack can hold my anti-skub shirt."
|
|
icon_state = "skubpack"
|
|
illustration = "label_anti_skub"
|
|
storage_type = /datum/storage/box/anti_skub
|
|
|
|
/obj/item/storage/box/stickers/anti_skub/PopulateContents()
|
|
for(var/i in 1 to 4)
|
|
new /obj/item/sticker/anti_skub(src)
|
|
|
|
/obj/item/storage/box/pinpointer_pairs
|
|
name = "pinpointer pair box"
|
|
|
|
/obj/item/storage/box/pinpointer_pairs/PopulateContents()
|
|
var/obj/item/pinpointer/pair/A = new(src)
|
|
var/obj/item/pinpointer/pair/B = new(src)
|
|
|
|
A.other_pair = B
|
|
B.other_pair = A
|
|
|
|
/obj/item/storage/box/heretic_box
|
|
name = "box of pierced realities"
|
|
desc = "A box containing toys resembling pierced realities."
|
|
|
|
/obj/item/storage/box/heretic_box/PopulateContents()
|
|
for(var/i in 1 to rand(1,4))
|
|
new /obj/item/toy/reality_pierce(src)
|
|
|
|
|
|
/obj/item/storage/box/purity_seal_box
|
|
name = "box of purity seals"
|
|
desc = "A box containing several blessed purity seals."
|
|
|
|
/obj/item/storage/box/purity_seal_box/PopulateContents()
|
|
for(var/i in 1 to 4)
|
|
new /obj/item/sticker/purity_seal(src)
|
|
new /obj/item/sticker/purity_seal/purity_seal_2(src)
|
|
|
|
/obj/item/storage/box/stamps
|
|
name = "box of stamps"
|
|
desc = "Stamps for all kinds of documents."
|
|
illustration = "stamp"
|
|
custom_price = PAYCHECK_CREW
|
|
|
|
/obj/item/storage/box/stamps/PopulateContents()
|
|
var/static/items_inside = list(
|
|
/obj/item/stamp/granted = 1,
|
|
/obj/item/stamp/denied = 1,
|
|
/obj/item/stamp/void = 1,
|
|
)
|
|
generate_items_inside(items_inside,src)
|