Weapons Racks (#19338)

Added weapons racks, can be locked/unlocked with an ID card.
Added weapons racks sprites, from Wezzy.
Refactored some circuitboard code, moved the defines, applied the
defines, DMDocs.
Moved mutable appearance appearance flag set to the mutable appearance
file.
Reorganized the Horizon armory with the weapons racks, moved things
around, put down markers on lockers depending on the danger level of
their content, reorganized content of the remaining lockers.
Made weapons racks constructable with circuitboards.


![image](https://github.com/Aurorastation/Aurora.3/assets/65877598/8b4ec7ae-40c4-4cd7-b338-76120d468b90)

![image](https://github.com/Aurorastation/Aurora.3/assets/65877598/a69d1f85-c4b2-4643-af2b-6832e3ea2c43)

![image](https://github.com/Aurorastation/Aurora.3/assets/65877598/11c1afe4-0fa1-4708-8eb4-64e1f5594913)

sound/items/metal_shutter.ogg -
https://freesound.org/people/bruno.auzet/sounds/524695/ (CC0, sound was
edited)
This commit is contained in:
Fluffy
2024-06-09 17:07:52 +00:00
committed by GitHub
parent aaaaef6122
commit 9acce89e2a
40 changed files with 626 additions and 252 deletions
@@ -1,2 +0,0 @@
#define BOARD_MACHINE "machine"
#define BOARD_COMPUTER "computer"
@@ -18,7 +18,13 @@
throw_speed = 3
throw_range = 15
var/build_path
var/board_type = "computer"
/**
* The type of board
*
* One of the BOARD_* defines, see `code\game\objects\items\weapons\circuitboards\_defines.dm`
*/
var/board_type = BOARD_COMPUTER
var/list/req_components
var/contain_parts = 1
@@ -5,7 +5,7 @@
/obj/item/circuitboard/biogenerator
name = T_BOARD("biogenerator")
build_path = /obj/machinery/biogenerator
board_type = "machine"
board_type = BOARD_MACHINE
origin_tech = list(TECH_DATA = 2)
req_components = list(
"/obj/item/stock_parts/matter_bin" = 1,
@@ -5,7 +5,7 @@
/obj/item/circuitboard/chem_heater
name = T_BOARD("chem heater")
build_path = /obj/machinery/chem_heater
board_type = "machine"
board_type = BOARD_MACHINE
origin_tech = list(TECH_DATA = 1, TECH_BIO = 2)
req_components = list(
"/obj/item/stock_parts/manipulator" = 3
@@ -5,7 +5,7 @@
/obj/item/circuitboard/clonepod
name = T_BOARD("clone pod")
build_path = /obj/machinery/clonepod
board_type = "machine"
board_type = BOARD_MACHINE
origin_tech = list(TECH_DATA = 3, TECH_BIO = 3)
req_components = list(
"/obj/item/stack/cable_coil" = 2,
@@ -16,7 +16,7 @@
/obj/item/circuitboard/clonescanner
name = T_BOARD("cloning scanner")
build_path = /obj/machinery/dna_scannernew
board_type = "machine"
board_type = BOARD_MACHINE
origin_tech = list(TECH_DATA = 2, TECH_BIO = 2)
req_components = list(
"/obj/item/stock_parts/scanning_module" = 1,
@@ -5,7 +5,7 @@
/obj/item/circuitboard/bluespacerelay
name = T_BOARD("bluespacerelay")
build_path = /obj/machinery/bluespacerelay
board_type = "machine"
board_type = BOARD_MACHINE
origin_tech = list(TECH_BLUESPACE = 2, TECH_DATA = 2)
req_components = list(
"/obj/item/stack/cable_coil" = 30,
@@ -5,7 +5,7 @@
/obj/item/circuitboard/mech_recharger
name = T_BOARD("mech recharger")
build_path = /obj/machinery/mech_recharger
board_type = "machine"
board_type = BOARD_MACHINE
origin_tech = list(TECH_DATA = 2, TECH_POWER = 2, TECH_ENGINEERING = 2)
req_components = list(
"/obj/item/stock_parts/capacitor" = 2,
@@ -5,7 +5,7 @@
/obj/item/circuitboard/miningdrill
name = T_BOARD("mining drill head")
build_path = /obj/machinery/mining/drill
board_type = "machine"
board_type = BOARD_MACHINE
origin_tech = list(TECH_DATA = 1, TECH_ENGINEERING = 1)
req_components = list(
"/obj/item/stock_parts/capacitor" = 1,
@@ -16,6 +16,6 @@
/obj/item/circuitboard/miningdrillbrace
name = T_BOARD("mining drill brace")
build_path = /obj/machinery/mining/brace
board_type = "machine"
board_type = BOARD_MACHINE
origin_tech = list(TECH_DATA = 1, TECH_ENGINEERING = 1)
req_components = list()
@@ -3,7 +3,7 @@
desc = "The circuitboard for an ore processing machine."
build_path = /obj/machinery/mineral/processing_unit
origin_tech = list(TECH_MAGNET = 2, TECH_ENGINEERING = 2)
board_type = "machine"
board_type = BOARD_MACHINE
req_components = list(
"/obj/item/stock_parts/capacitor" = 2,
"/obj/item/stock_parts/scanning_module" = 1,
@@ -16,7 +16,7 @@
desc = "The circuitboard for an ore redemption console."
build_path = /obj/machinery/mineral/processing_unit_console
origin_tech = list(TECH_MAGNET = 2, TECH_ENGINEERING = 2)
board_type = "machine"
board_type = BOARD_MACHINE
req_components = list(
"/obj/item/stock_parts/scanning_module" = 1,
"/obj/item/stock_parts/console_screen" = 1
@@ -39,7 +39,7 @@
desc = "The circuitboard for an unloading machine."
build_path = /obj/machinery/mineral/unloading_machine
origin_tech = list(TECH_MAGNET = 2, TECH_ENGINEERING = 2)
board_type = "machine"
board_type = BOARD_MACHINE
req_components = list(
"/obj/item/stock_parts/manipulator" = 2
)
@@ -49,7 +49,7 @@
desc = "The circuitboard for a stacking machine."
build_path = /obj/machinery/mineral/stacking_machine
origin_tech = list(TECH_MAGNET = 2, TECH_ENGINEERING = 2)
board_type = "machine"
board_type = BOARD_MACHINE
req_components = list(
"/obj/item/stock_parts/manipulator" = 2
)
@@ -59,7 +59,7 @@
desc = "The circuitboard for an stacking machine console."
build_path = /obj/machinery/mineral/stacking_unit_console
origin_tech = list(TECH_MAGNET = 2, TECH_ENGINEERING = 2)
board_type = "machine"
board_type = BOARD_MACHINE
req_components = list(
"/obj/item/stock_parts/scanning_module" = 1,
"/obj/item/stock_parts/console_screen" = 1
@@ -7,14 +7,14 @@
/obj/item/circuitboard/aicore
name = T_BOARD("AI core")
origin_tech = list(TECH_DATA = 4, TECH_BIO = 2)
board_type = "other"
board_type = BOARD_OTHER
/obj/item/circuitboard/sleeper
name = T_BOARD("Sleeper")
desc = "The circuitboard for a sleeper."
build_path = /obj/machinery/sleeper
origin_tech = list(TECH_MAGNET = 2, TECH_ENGINEERING = 2)
board_type = "machine"
board_type = BOARD_MACHINE
req_components = list(
"/obj/item/stock_parts/capacitor" = 2,
"/obj/item/stock_parts/scanning_module" = 2,
@@ -26,7 +26,7 @@
desc = "The circuitboard for a lifeform stasis unit."
build_path = /obj/machinery/stasis_bed
origin_tech = list(TECH_MAGNET = 4, TECH_ENGINEERING = 4, TECH_BIO = 4)
board_type = "machine"
board_type = BOARD_MACHINE
req_components = list(
"/obj/item/stock_parts/micro_laser" = 1,
"/obj/item/stock_parts/capacitor" = 2,
@@ -39,7 +39,7 @@
desc = "The circuitboard for a cryo tube."
build_path = /obj/machinery/atmospherics/unary/cryo_cell
origin_tech = list(TECH_MAGNET = 2, TECH_ENGINEERING = 3)
board_type = "machine"
board_type = BOARD_MACHINE
req_components = list(
"/obj/item/stock_parts/scanning_module" = 2,
"/obj/item/stock_parts/console_screen" = 1,
@@ -52,7 +52,7 @@
desc = "The circuitboard for a body scanner machine."
build_path = /obj/machinery/bodyscanner
origin_tech = list(TECH_MAGNET = 2, TECH_ENGINEERING = 2)
board_type = "machine"
board_type = BOARD_MACHINE
req_components = list(
"/obj/item/stock_parts/capacitor" = 1,
"/obj/item/stock_parts/scanning_module" = 1,
@@ -63,7 +63,7 @@
desc = "The circuitboard for a body scanner console."
build_path = /obj/machinery/body_scanconsole
origin_tech = list(TECH_DATA = 2, TECH_ENGINEERING = 2)
board_type = "machine"
board_type = BOARD_MACHINE
req_components = list(
"/obj/item/stock_parts/scanning_module" = 2,
"/obj/item/stock_parts/console_screen" = 1)
@@ -73,7 +73,7 @@
desc = "The circuitboard for a body scanner console."
build_path = /obj/machinery/requests_console
origin_tech = list(TECH_DATA = 3, TECH_ENGINEERING = 2)
board_type = "machine"
board_type = BOARD_MACHINE
req_components = list(
"/obj/item/stock_parts/capacitor" = 1,
"/obj/item/stock_parts/console_screen" = 1)
@@ -83,7 +83,7 @@
desc = "The circuitboard for a operation table."
build_path = /obj/machinery/optable
origin_tech = list(TECH_MAGNET = 1, TECH_ENGINEERING = 2)
board_type = "machine"
board_type = BOARD_MACHINE
req_components = list(
"/obj/item/stock_parts/scanning_module" = 1)
@@ -92,7 +92,7 @@
desc = "The circuitboard for a smart fridge."
build_path = /obj/machinery/smartfridge
origin_tech = list(TECH_MAGNET = 1, TECH_ENGINEERING = 3)
board_type = "machine"
board_type = BOARD_MACHINE
req_components = list(
"/obj/item/stock_parts/manipulator" = 3)
@@ -101,7 +101,7 @@
desc = "The circuitboard for an oven."
build_path = /obj/machinery/appliance/cooker/oven
origin_tech = list(TECH_MAGNET = 2, TECH_ENGINEERING = 2)
board_type = "machine"
board_type = BOARD_MACHINE
req_components = list(
"/obj/item/stock_parts/capacitor" = 3,
"/obj/item/stock_parts/scanning_module" = 1,
@@ -112,7 +112,7 @@
desc = "The circuitboard for a deep fryer."
build_path = /obj/machinery/appliance/cooker/fryer
origin_tech = list(TECH_MAGNET = 2, TECH_ENGINEERING = 2)
board_type = "machine"
board_type = BOARD_MACHINE
req_components = list(
"/obj/item/stock_parts/capacitor" = 3,
"/obj/item/stock_parts/scanning_module" = 1,
@@ -123,7 +123,7 @@
desc = "The circuitboard for a stove."
build_path = /obj/machinery/appliance/cooker/stove
origin_tech = list(TECH_MAGNET = 2, TECH_ENGINEERING = 2)
board_type = "machine"
board_type = BOARD_MACHINE
req_components = list(
"/obj/item/stock_parts/capacitor" = 3,
"/obj/item/stock_parts/scanning_module" = 1,
@@ -134,7 +134,7 @@
desc = "The circuitboard for a cereal maker."
build_path = /obj/machinery/appliance/mixer/cereal
origin_tech = list(TECH_MAGNET = 2, TECH_ENGINEERING = 2)
board_type = "machine"
board_type = BOARD_MACHINE
req_components = list(
"/obj/item/stock_parts/capacitor" = 3,
"/obj/item/stock_parts/scanning_module" = 1,
@@ -145,7 +145,7 @@
desc = "The circuitboard for a grill."
build_path = /obj/machinery/appliance/cooker/grill
origin_tech = list(TECH_MAGNET = 2, TECH_ENGINEERING = 3)
board_type = "machine"
board_type = BOARD_MACHINE
req_components = list(
"/obj/item/stock_parts/capacitor" = 2,
"/obj/item/stock_parts/micro_laser" = 1,
@@ -157,7 +157,7 @@
desc = "The circuitboard for a candy machine."
build_path = /obj/machinery/appliance/mixer/candy
origin_tech = list(TECH_MAGNET = 2, TECH_ENGINEERING = 2)
board_type = "machine"
board_type = BOARD_MACHINE
req_components = list(
"/obj/item/stock_parts/capacitor" = 3,
"/obj/item/stock_parts/scanning_module" = 1,
@@ -168,7 +168,7 @@
desc = "The circuitboard for a holopad."
build_path = /obj/machinery/hologram/holopad
origin_tech = list(TECH_MAGNET = 3, TECH_ENGINEERING = 2)
board_type = "machine"
board_type = BOARD_MACHINE
req_components = list(
"/obj/item/stock_parts/capacitor" = 2,
"/obj/item/stock_parts/scanning_module" = 1)
@@ -178,7 +178,7 @@
desc = "The circuitboard for a weapons analyzer."
build_path = /obj/machinery/weapons_analyzer
origin_tech = list(TECH_DATA = 3, TECH_ENGINEERING = 4, TECH_COMBAT = 3)
board_type = "machine"
board_type = BOARD_MACHINE
req_components = list(
"/obj/item/stock_parts/scanning_module" = 2,
"/obj/item/stock_parts/capacitor" = 1,
@@ -189,7 +189,7 @@
desc = "The circuitboard for an IV drip."
build_path = /obj/machinery/iv_drip
origin_tech = list(TECH_DATA = 1, TECH_BIO = 2)
board_type = "machine"
board_type = BOARD_MACHINE
req_components = list(
"/obj/item/reagent_containers/syringe" = 1,
"/obj/item/stock_parts/matter_bin" = 1,
@@ -198,7 +198,7 @@
/obj/item/circuitboard/oxyregenerator
name = "circuit board (oxygen regenerator)"
build_path = /obj/machinery/atmospherics/binary/oxyregenerator
board_type = "machine"
board_type = BOARD_MACHINE
origin_tech = list(TECH_MAGNET = 2, TECH_ENGINEERING = 2)
req_components = list(
"/obj/item/stock_parts/micro_laser" = 1,
@@ -5,7 +5,7 @@
/obj/item/circuitboard/portgen
name = T_BOARD("portable generator")
build_path = /obj/machinery/power/portgen/basic
board_type = "machine"
board_type = BOARD_MACHINE
origin_tech = list(TECH_DATA = 3, TECH_POWER = 3, TECH_PHORON = 3, TECH_ENGINEERING = 3)
req_components = list(
"/obj/item/stock_parts/matter_bin" = 1,
@@ -5,14 +5,14 @@
/obj/item/circuitboard/smes
name = T_BOARD("superconductive magnetic energy storage")
build_path = /obj/machinery/power/smes/buildable
board_type = "machine"
board_type = BOARD_MACHINE
origin_tech = list(TECH_POWER = 6, TECH_ENGINEERING = 4)
req_components = list("/obj/item/smes_coil" = 1, "/obj/item/stack/cable_coil" = 30)
/obj/item/circuitboard/batteryrack
name = T_BOARD("battery rack PSU")
build_path = /obj/machinery/power/smes/batteryrack
board_type = "machine"
board_type = BOARD_MACHINE
origin_tech = list(TECH_POWER = 3, TECH_ENGINEERING = 2)
req_components = list("/obj/item/cell" = 3)
@@ -20,7 +20,7 @@
name = T_BOARD("makeshift PSU")
desc = "An APC circuit repurposed into some power storage device controller."
build_path = /obj/machinery/power/smes/batteryrack/makeshift
board_type = "machine"
board_type = BOARD_MACHINE
req_components = list("/obj/item/cell" = 3)
/obj/item/circuitboard/ghettosmes/attackby(obj/item/attacking_item, mob/user)
@@ -5,7 +5,7 @@
/obj/item/circuitboard/recharge_station
name = T_BOARD("cyborg recharging station")
build_path = /obj/machinery/recharge_station
board_type = "machine"
board_type = BOARD_MACHINE
origin_tech = list(TECH_DATA = 3, TECH_ENGINEERING = 3)
req_components = list(
"/obj/item/stack/cable_coil" = 5,
@@ -5,7 +5,7 @@
/obj/item/circuitboard/rdserver
name = T_BOARD("R&D server")
build_path = /obj/machinery/r_n_d/server
board_type = "machine"
board_type = BOARD_MACHINE
origin_tech = list(TECH_DATA = 3)
req_components = list(
"/obj/item/stack/cable_coil" = 2,
@@ -14,7 +14,7 @@
/obj/item/circuitboard/rdtechprocessor
name = T_BOARD("R&D tech processor")
build_path = /obj/machinery/r_n_d/tech_processor
board_type = "machine"
board_type = BOARD_MACHINE
origin_tech = list(TECH_DATA = 3)
req_components = list(
"/obj/item/stack/cable_coil" = 2,
@@ -24,7 +24,7 @@
/obj/item/circuitboard/destructive_analyzer
name = T_BOARD("destructive analyzer")
build_path = /obj/machinery/r_n_d/destructive_analyzer
board_type = "machine"
board_type = BOARD_MACHINE
origin_tech = list(TECH_MAGNET = 2, TECH_ENGINEERING = 2, TECH_DATA = 2)
req_components = list(
"/obj/item/stock_parts/scanning_module" = 1,
@@ -34,7 +34,7 @@
/obj/item/circuitboard/autolathe
name = T_BOARD("autolathe")
build_path = /obj/machinery/autolathe
board_type = "machine"
board_type = BOARD_MACHINE
origin_tech = list(TECH_ENGINEERING = 2, TECH_DATA = 2)
req_components = list(
"/obj/item/stock_parts/matter_bin" = 3,
@@ -44,7 +44,7 @@
/obj/item/circuitboard/protolathe
name = T_BOARD("protolathe")
build_path = /obj/machinery/r_n_d/protolathe
board_type = "machine"
board_type = BOARD_MACHINE
origin_tech = list(TECH_ENGINEERING = 2, TECH_DATA = 2)
req_components = list(
"/obj/item/stock_parts/matter_bin" = 2,
@@ -55,7 +55,7 @@
/obj/item/circuitboard/circuit_imprinter
name = T_BOARD("circuit imprinter")
build_path = /obj/machinery/r_n_d/circuit_imprinter
board_type = "machine"
board_type = BOARD_MACHINE
origin_tech = list(TECH_ENGINEERING = 2, TECH_DATA = 2)
req_components = list(
"/obj/item/stock_parts/matter_bin" = 1,
@@ -65,7 +65,7 @@
/obj/item/circuitboard/mechfab
name = "Circuit board (Exosuit Fabricator)"
build_path = /obj/machinery/mecha_part_fabricator
board_type = "machine"
board_type = BOARD_MACHINE
origin_tech = list(TECH_DATA = 3, TECH_ENGINEERING = 3)
req_components = list(
"/obj/item/stock_parts/matter_bin" = 2,
@@ -76,7 +76,7 @@
/obj/item/circuitboard/telesci_pad
name = T_BOARD("telepad")
build_path = /obj/machinery/telepad
board_type = "machine"
board_type = BOARD_MACHINE
origin_tech = list(TECH_DATA = 4, TECH_ENGINEERING = 3, TECH_MATERIAL = 3, TECH_BLUESPACE = 4)
req_components = list(
"/obj/item/bluespace_crystal" = 2,
@@ -87,7 +87,7 @@
/obj/item/circuitboard/ntnet_relay
name = "Circuit board (NTNet Quantum Relay)"
build_path = /obj/machinery/ntnet_relay
board_type = "machine"
board_type = BOARD_MACHINE
origin_tech = list(TECH_DATA = 4)
req_components = list(
"/obj/item/stack/cable_coil" = 15)
@@ -4,7 +4,7 @@
/obj/item/circuitboard/shield_gen_ex
name = T_BOARD("hull shield generator")
board_type = "machine"
board_type = BOARD_MACHINE
build_path = /obj/machinery/shield_gen/external
origin_tech = list(TECH_BLUESPACE = 4, TECH_PHORON = 3)
req_components = list(
@@ -17,7 +17,7 @@
/obj/item/circuitboard/shield_gen
name = T_BOARD("bubble shield generator")
board_type = "machine"
board_type = BOARD_MACHINE
build_path = /obj/machinery/shield_gen
origin_tech = list(TECH_BLUESPACE = 4, TECH_PHORON = 3)
req_components = list(
@@ -30,7 +30,7 @@
/obj/item/circuitboard/shield_cap
name = T_BOARD("shield capacitor")
board_type = "machine"
board_type = BOARD_MACHINE
build_path = /obj/machinery/shield_capacitor
origin_tech = list(TECH_MAGNET = 3, TECH_POWER = 4)
req_components = list(
@@ -16,7 +16,7 @@
/obj/item/circuitboard/engine/ion
name = T_BOARD("ion propulsion device")
board_type = "machine"
board_type = BOARD_MACHINE
icon_state = "mcontroller"
build_path = /obj/machinery/ion_engine
origin_tech = list(TECH_POWER = 4, TECH_ENGINEERING = 3)
@@ -27,7 +27,7 @@
/obj/item/circuitboard/engine/maneuvering
name = T_BOARD("pulse-maneuvering device")
board_type = "machine"
board_type = BOARD_MACHINE
icon_state = "mcontroller"
build_path = /obj/machinery/maneuvering_engine
origin_tech = list(TECH_POWER = 4, TECH_ENGINEERING = 3)
@@ -40,7 +40,7 @@
//IFF Beacon
/obj/item/circuitboard/iff_beacon
name = T_BOARD("IFF transponder")
board_type = "machine"
board_type = BOARD_MACHINE
icon_state = "mcontroller"
build_path = /obj/machinery/iff_beacon
origin_tech = list(TECH_DATA = 4, TECH_ENGINEERING = 4)
@@ -53,7 +53,7 @@
//Sensors
/obj/item/circuitboard/shipsensors
name = T_BOARD("sensor suite")
board_type = "machine"
board_type = BOARD_MACHINE
icon_state = "mcontroller"
build_path = /obj/machinery/shipsensors
origin_tech = list(TECH_POWER = 3, TECH_ENGINEERING = 5, TECH_BLUESPACE = 3)
@@ -68,7 +68,7 @@
/obj/item/circuitboard/shipsensors/weak
name = T_BOARD("low-power sensor suite")
board_type = "machine"
board_type = BOARD_MACHINE
icon_state = "mcontroller"
build_path = /obj/machinery/shipsensors/weak
origin_tech = list(TECH_POWER = 3, TECH_ENGINEERING = 3, TECH_BLUESPACE = 1)
@@ -3,7 +3,7 @@
#endif
/obj/item/circuitboard/telecomms
board_type = "machine"
board_type = BOARD_MACHINE
/obj/item/circuitboard/telecomms/receiver
name = T_BOARD("subspace receiver")
@@ -5,7 +5,7 @@
/obj/item/circuitboard/crusher
name = T_BOARD("crusher")
build_path = /obj/machinery/crusher_base
board_type = "machine"
board_type = BOARD_MACHINE
origin_tech = list(TECH_ENGINEERING = 3, TECH_DATA = 1, TECH_MAGNET = 1, TECH_MATERIAL = 3)
req_components = list(
"/obj/item/stock_parts/matter_bin" = 4,
@@ -3,7 +3,7 @@
#endif
/obj/item/circuitboard/unary_atmos
board_type = "machine"
board_type = BOARD_MACHINE
var/machine_dir = SOUTH
var/init_dirs = SOUTH
@@ -0,0 +1,8 @@
/obj/item/circuitboard/structure
name = "weapons rack"
build_path = /obj/structure/weapons_rack
board_type = BOARD_MACHINE
origin_tech = list(TECH_ENGINEERING = 2, TECH_MATERIAL = 2)
req_components = list(
"/obj/item/stock_parts/scanning_module" = 1,
"/obj/item/stock_parts/manipulator" = 1)