mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-07-11 16:14:08 +01:00
be1f231869
## About The Pull Request This PR makes all R&D console boards that are either printed or sourced from tech storage start out locked. They can be unlocked by swiping them with an ID that has research access. R&D consoles can also be unlocked with an emag, but doing so will break their comms circuit as well, making all researched nodes broadcast over public comms. You can still emag the console itself after it's been constructed without breaking it in any way, while also silencing announcements instead. (that's definitely a noob trap, but it's out of scope for this PR) The reason why the tech storage board is locked as well is because the goal of this PR is to stop engineers from making R&D consoles, and engineers have access to tech storage. Leaving the board unlocked and moving it to secure tech storage would make engineers break in there every shift. The changelog basically has a FAQ for "Okay, so what do I do instead?", because I know people will be confused about what route they're intended to take when science closes their desk shutters for the umpteenth time this week. ## Why It's Good For The Game Engineering has a habit of making an R&D console every round to bypass having to ask science or a head of staff to research things. Locking the consoles at least makes engineers consider asking science to do science's job. Note that this doesn't solve the issue entirely, it just removes the easiest and most convenient way of bypassing science. Engineers can still break into R&D extremely easily using their wire knowledge, and do so regularly. More importantly though, this might shine some light on the fact that heads of department like the CE have remote access to the research network via their PDAs. This means engineers can ask the CE to research things for them. Asking people with access to the research network to research things is a lot better for roleplay and immersion than having engineering construct R&D consoles every shift. ## Changelog 🆑 balance: R&D console boards sourced from printing or tech storage are now locked by default. It's recommended to ask your respective head of department or the science department to complete research for you. Heads of department can remotely access the research network using their PDAs. /🆑
140 lines
4.9 KiB
Plaintext
140 lines
4.9 KiB
Plaintext
// This file contains all boxes used by the Science department and its purpose on the station.
|
|
|
|
/obj/item/storage/box/swab
|
|
name = "box of microbiological swabs"
|
|
desc = "Contains a number of sterile swabs for collecting microbiological samples."
|
|
illustration = "swab"
|
|
|
|
/obj/item/storage/box/swab/PopulateContents()
|
|
for(var/i in 1 to 7)
|
|
new /obj/item/swab(src)
|
|
|
|
/obj/item/storage/box/petridish
|
|
name = "box of petri dishes"
|
|
desc = "This box purports to contain a number of high rim petri dishes."
|
|
illustration = "petridish"
|
|
|
|
/obj/item/storage/box/petridish/PopulateContents()
|
|
for(var/i in 1 to 7)
|
|
new /obj/item/petri_dish(src)
|
|
|
|
/obj/item/storage/box/plumbing
|
|
name = "box of plumbing supplies"
|
|
desc = "Contains a small supply of pipes, water recyclers, and iron to connect to the rest of the station."
|
|
|
|
//Disk boxes
|
|
|
|
/obj/item/storage/box/disks
|
|
name = "diskette box"
|
|
illustration = "disk_kit"
|
|
|
|
/obj/item/storage/box/disks/PopulateContents()
|
|
for(var/i in 1 to 7)
|
|
new /obj/item/disk/data(src)
|
|
|
|
/obj/item/storage/box/monkeycubes
|
|
name = "monkey cube box"
|
|
desc = "Drymate brand monkey cubes. Just add water!"
|
|
icon_state = "monkeycubebox"
|
|
illustration = null
|
|
custom_price = PAYCHECK_CREW * 2
|
|
storage_type = /datum/storage/box/monkey_cube
|
|
/// Which type of cube are we spawning in this box?
|
|
var/cube_type = /obj/item/food/monkeycube
|
|
|
|
/obj/item/storage/box/monkeycubes/PopulateContents()
|
|
for(var/i in 1 to 5)
|
|
new cube_type(src)
|
|
|
|
/obj/item/storage/box/monkeycubes/syndicate
|
|
desc = "Waffle Corp. brand monkey cubes. Just add water and a dash of subterfuge!"
|
|
cube_type = /obj/item/food/monkeycube/syndicate
|
|
|
|
/obj/item/storage/box/monkeycubes/random
|
|
name = "monster cube box"
|
|
desc = "A box containing a bunch of random cubes. Add water and see what you get!"
|
|
cube_type = /obj/item/food/monkeycube/random
|
|
|
|
/obj/item/storage/box/gorillacubes
|
|
name = "gorilla cube box"
|
|
desc = "Waffle Corp. brand gorilla cubes. Do not taunt."
|
|
icon_state = "monkeycubebox"
|
|
illustration = null
|
|
storage_type = /datum/storage/box/gorilla_cube_box
|
|
|
|
/obj/item/storage/box/gorillacubes/PopulateContents()
|
|
for(var/i in 1 to 3)
|
|
new /obj/item/food/monkeycube/gorilla(src)
|
|
|
|
/obj/item/storage/box/stockparts/basic //for ruins where it's a bad idea to give access to an autolathe/protolathe, but still want to make stock parts accessible
|
|
name = "box of stock parts"
|
|
desc = "Contains a variety of basic stock parts."
|
|
|
|
/obj/item/storage/box/stockparts/basic/PopulateContents()
|
|
var/static/items_inside = list(
|
|
/obj/item/stock_parts/capacitor = 3,
|
|
/obj/item/stock_parts/servo = 3,
|
|
/obj/item/stock_parts/matter_bin = 3,
|
|
/obj/item/stock_parts/micro_laser = 3,
|
|
/obj/item/stock_parts/scanning_module = 3,
|
|
)
|
|
generate_items_inside(items_inside,src)
|
|
|
|
/obj/item/storage/box/stockparts/deluxe
|
|
name = "box of deluxe stock parts"
|
|
desc = "Contains a variety of deluxe stock parts."
|
|
icon_state = "syndiebox"
|
|
|
|
/obj/item/storage/box/stockparts/deluxe/PopulateContents()
|
|
var/static/items_inside = list(
|
|
/obj/item/stock_parts/capacitor/quadratic = 3,
|
|
/obj/item/stock_parts/scanning_module/triphasic = 3,
|
|
/obj/item/stock_parts/servo/femto = 3,
|
|
/obj/item/stock_parts/micro_laser/quadultra = 3,
|
|
/obj/item/stock_parts/matter_bin/bluespace = 3,
|
|
)
|
|
generate_items_inside(items_inside,src)
|
|
|
|
/obj/item/storage/box/rndboards
|
|
name = "\proper the liberator's legacy"
|
|
desc = "A box containing a gift for worthy golems."
|
|
illustration = "scicircuit"
|
|
|
|
/obj/item/storage/box/rndboards/PopulateContents()
|
|
new /obj/item/circuitboard/machine/protolathe/offstation(src)
|
|
new /obj/item/circuitboard/machine/destructive_analyzer(src)
|
|
new /obj/item/circuitboard/machine/circuit_imprinter/offstation(src)
|
|
new /obj/item/circuitboard/computer/rdconsole/unlocked(src)
|
|
|
|
/obj/item/storage/box/stabilized //every single stabilized extract from xenobiology
|
|
name = "box of stabilized extracts"
|
|
icon_state = "syndiebox"
|
|
storage_type = /datum/storage/box/stabilized
|
|
|
|
/obj/item/storage/box/stabilized/PopulateContents()
|
|
var/static/items_inside = list(
|
|
/obj/item/slimecross/stabilized/adamantine=1,
|
|
/obj/item/slimecross/stabilized/black=1,
|
|
/obj/item/slimecross/stabilized/blue=1,
|
|
/obj/item/slimecross/stabilized/bluespace=1,
|
|
/obj/item/slimecross/stabilized/cerulean=1,
|
|
/obj/item/slimecross/stabilized/darkblue=1,
|
|
/obj/item/slimecross/stabilized/darkpurple=1,
|
|
/obj/item/slimecross/stabilized/gold=1,
|
|
/obj/item/slimecross/stabilized/green=1,
|
|
/obj/item/slimecross/stabilized/grey=1,
|
|
/obj/item/slimecross/stabilized/lightpink=1,
|
|
/obj/item/slimecross/stabilized/metal=1,
|
|
/obj/item/slimecross/stabilized/oil=1,
|
|
/obj/item/slimecross/stabilized/orange=1,
|
|
/obj/item/slimecross/stabilized/pink=1,
|
|
/obj/item/slimecross/stabilized/purple=1,
|
|
/obj/item/slimecross/stabilized/pyrite=1,
|
|
/obj/item/slimecross/stabilized/rainbow=1,
|
|
/obj/item/slimecross/stabilized/red=1,
|
|
/obj/item/slimecross/stabilized/sepia=1,
|
|
/obj/item/slimecross/stabilized/silver=1,
|
|
/obj/item/slimecross/stabilized/yellow=1,
|
|
)
|
|
generate_items_inside(items_inside,src)
|