Files
Bubberstation/code/game/objects/items/storage/boxes/service_boxes.dm
san7890 42ec99a1b4 Preset Boxes File De-concatenation (#69753)
* Preset Boxes File De-concatenation

Hey there,

We had one file that was like eighteen-hundred (1800) lines full of just... box presets. There was no rhyme or reason to where anything was in the list, it just sorta got to the point where new features were found near the bottom with zero grouping. So, let's de-concatenate this massive file and give it some proper grouping.

While I was in the area, I did some file cleanup, using `snake_case` instead of whatever the fuck some vars were, alphabetizing and cleaning up lists to have trailing commas, that sorta stuff. Let me know if I broke something somewhere.

* documentations, var improvement

* adds some documentation, clears up some variables
2022-09-08 09:15:58 -04:00

197 lines
6.1 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/tablet/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 class='alert'>Keep out of reach of children.</span>"
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 = ""
/obj/item/storage/box/snappops/Initialize(mapload)
. = ..()
atom_storage.set_holdable(list(/obj/item/toy/snappop))
atom_storage.max_slots = 8
/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"
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
/obj/item/storage/box/matches/Initialize(mapload)
. = ..()
atom_storage.max_slots = 10
atom_storage.set_holdable(list(/obj/item/match))
/obj/item/storage/box/matches/PopulateContents()
for(var/i in 1 to 10)
new /obj/item/match(src)
/obj/item/storage/box/matches/attackby(obj/item/match/W as obj, mob/user as mob, params)
if(istype(W, /obj/item/match))
W.matchignite()
/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"
icon = 'icons/obj/storage/storage.dmi'
illustration = "light"
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 = /obj/item/stack/sheet/cardboard //BubbleWrap
/obj/item/storage/box/lights/Initialize(mapload)
. = ..()
atom_storage.max_slots = 21
atom_storage.set_holdable(list(/obj/item/light/tube, /obj/item/light/bulb))
atom_storage.max_total_storage = 21
atom_storage.allow_quick_gather = FALSE //temp workaround to re-enable filling the light replacer with the box
/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/static/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/manipulator = 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.
/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)