mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-09 07:57:00 +00:00
[MIRROR] Techweb Unittest (#11813)
Co-authored-by: Will <7099514+Willburd@users.noreply.github.com> Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com>
This commit is contained in:
committed by
GitHub
parent
6bb56dd70c
commit
2a5af7a893
24
.gitignore
vendored
24
.gitignore
vendored
@@ -32,18 +32,6 @@ cfg/
|
||||
!/.vscode/settings.json
|
||||
!/.vscode/tasks.json
|
||||
|
||||
<<<<<<< HEAD
|
||||
#GitHub Atom
|
||||
.atom-build.json
|
||||
|
||||
#KDevelop and Kate
|
||||
*.kdev4*
|
||||
*.kate-swp
|
||||
|
||||
#extra map stuff
|
||||
/_maps/**/backup/
|
||||
/_maps/templates.dm
|
||||
=======
|
||||
#Ignore IDE files we don't need in the repo.
|
||||
/.vs/**/*
|
||||
/v17/**/*
|
||||
@@ -52,22 +40,18 @@ cfg/
|
||||
/v20/**/*
|
||||
/v21/**/*
|
||||
/v22/**/*
|
||||
>>>>>>> 4cb5713256 (Gatorsnout (#18536))
|
||||
|
||||
temp.dmi
|
||||
|
||||
# JavaScript tools
|
||||
**/node_modules
|
||||
node_modules/
|
||||
package-lock.json
|
||||
|
||||
# CBT Things
|
||||
.cache
|
||||
|
||||
# named byond versions config
|
||||
/tools/build/dm_versions.json
|
||||
|
||||
config/jobwhitelist.txt
|
||||
|
||||
#These get built by some automatic process
|
||||
tgui/public/tgui.bundle.css
|
||||
tgui/public/tgui.bundle.js
|
||||
#ignore tracy dll
|
||||
prof.dll
|
||||
|
||||
|
||||
@@ -107,7 +107,7 @@
|
||||
category = list(
|
||||
RND_CATEGORY_MACHINE + RND_SUBCATEGORY_MACHINE_MEDICAL
|
||||
)
|
||||
departmental_flags = DEPARTMENT_BITFLAG_MEDICAL | DEPARTMENT_BITFLAG_ENGINEERING
|
||||
departmental_flags = DEPARTMENT_BITFLAG_MEDICAL | DEPARTMENT_BITFLAG_ENGINEERING | DEPARTMENT_BITFLAG_SCIENCE
|
||||
|
||||
/datum/design_techweb/board/chem_analyzer
|
||||
name = "chem analyzer PRO circuit"
|
||||
@@ -117,4 +117,4 @@
|
||||
category = list(
|
||||
RND_CATEGORY_MACHINE + RND_SUBCATEGORY_MACHINE_MEDICAL
|
||||
)
|
||||
departmental_flags = DEPARTMENT_BITFLAG_MEDICAL | DEPARTMENT_BITFLAG_ENGINEERING
|
||||
departmental_flags = DEPARTMENT_BITFLAG_MEDICAL | DEPARTMENT_BITFLAG_ENGINEERING | DEPARTMENT_BITFLAG_SCIENCE
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
category = list(
|
||||
RND_CATEGORY_COMPUTER + RND_SUBCATEGORY_COMPUTER_ENTERTAINMENT
|
||||
)
|
||||
departmental_flags = DEPARTMENT_BITFLAG_SERVICE
|
||||
departmental_flags = DEPARTMENT_BITFLAG_SERVICE | DEPARTMENT_BITFLAG_SCIENCE
|
||||
|
||||
/datum/design_techweb/board/oriontrail
|
||||
name = "orion trail arcade machine"
|
||||
@@ -27,7 +27,7 @@
|
||||
category = list(
|
||||
RND_CATEGORY_COMPUTER + RND_SUBCATEGORY_COMPUTER_ENTERTAINMENT
|
||||
)
|
||||
departmental_flags = DEPARTMENT_BITFLAG_SERVICE
|
||||
departmental_flags = DEPARTMENT_BITFLAG_SERVICE | DEPARTMENT_BITFLAG_SCIENCE
|
||||
|
||||
/datum/design_techweb/board/clawmachine
|
||||
name = "grab-a-gift arcade machine"
|
||||
@@ -38,7 +38,7 @@
|
||||
category = list(
|
||||
RND_CATEGORY_COMPUTER + RND_SUBCATEGORY_COMPUTER_ENTERTAINMENT
|
||||
)
|
||||
departmental_flags = DEPARTMENT_BITFLAG_SERVICE
|
||||
departmental_flags = DEPARTMENT_BITFLAG_SERVICE | DEPARTMENT_BITFLAG_SCIENCE
|
||||
|
||||
/datum/design_techweb/board/seccamera
|
||||
name = "security camera monitor"
|
||||
@@ -48,7 +48,7 @@
|
||||
category = list(
|
||||
RND_CATEGORY_COMPUTER + RND_SUBCATEGORY_COMPUTER_SECURITY
|
||||
)
|
||||
departmental_flags = DEPARTMENT_BITFLAG_SECURITY
|
||||
departmental_flags = DEPARTMENT_BITFLAG_SECURITY | DEPARTMENT_BITFLAG_SCIENCE
|
||||
|
||||
/datum/design_techweb/board/secdata
|
||||
name = "security records console"
|
||||
@@ -58,7 +58,7 @@
|
||||
category = list(
|
||||
RND_CATEGORY_COMPUTER + RND_SUBCATEGORY_COMPUTER_SECURITY
|
||||
)
|
||||
departmental_flags = DEPARTMENT_BITFLAG_SECURITY
|
||||
departmental_flags = DEPARTMENT_BITFLAG_SECURITY | DEPARTMENT_BITFLAG_SCIENCE
|
||||
|
||||
/datum/design_techweb/board/prisonmanage
|
||||
name = "prisoner management console"
|
||||
@@ -68,7 +68,7 @@
|
||||
category = list(
|
||||
RND_CATEGORY_COMPUTER + RND_SUBCATEGORY_COMPUTER_SECURITY
|
||||
)
|
||||
departmental_flags = DEPARTMENT_BITFLAG_SECURITY
|
||||
departmental_flags = DEPARTMENT_BITFLAG_SECURITY | DEPARTMENT_BITFLAG_SCIENCE
|
||||
|
||||
/datum/design_techweb/board/med_data
|
||||
name = "medical records console"
|
||||
@@ -78,7 +78,7 @@
|
||||
category = list(
|
||||
RND_CATEGORY_COMPUTER + RND_SUBCATEGORY_COMPUTER_MEDICAL
|
||||
)
|
||||
departmental_flags = DEPARTMENT_BITFLAG_MEDICAL
|
||||
departmental_flags = DEPARTMENT_BITFLAG_MEDICAL | DEPARTMENT_BITFLAG_SCIENCE
|
||||
|
||||
/datum/design_techweb/board/operating
|
||||
name = "patient monitoring console"
|
||||
@@ -88,7 +88,7 @@
|
||||
category = list(
|
||||
RND_CATEGORY_COMPUTER + RND_SUBCATEGORY_COMPUTER_MEDICAL
|
||||
)
|
||||
departmental_flags = DEPARTMENT_BITFLAG_MEDICAL
|
||||
departmental_flags = DEPARTMENT_BITFLAG_MEDICAL | DEPARTMENT_BITFLAG_SCIENCE
|
||||
|
||||
/datum/design_techweb/board/scan_console
|
||||
name = "DNA console"
|
||||
@@ -98,7 +98,7 @@
|
||||
category = list(
|
||||
RND_CATEGORY_COMPUTER + RND_SUBCATEGORY_COMPUTER_MEDICAL
|
||||
)
|
||||
departmental_flags = DEPARTMENT_BITFLAG_MEDICAL
|
||||
departmental_flags = DEPARTMENT_BITFLAG_MEDICAL | DEPARTMENT_BITFLAG_SCIENCE
|
||||
|
||||
/datum/design_techweb/board/clonecontrol
|
||||
name = "cloning control console circuit"
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
category = list(
|
||||
RND_CATEGORY_MACHINE + RND_SUBCATEGORY_MACHINE_ENGINEERING
|
||||
)
|
||||
departmental_flags = DEPARTMENT_BITFLAG_ENGINEERING
|
||||
departmental_flags = DEPARTMENT_BITFLAG_ENGINEERING | DEPARTMENT_BITFLAG_SCIENCE
|
||||
|
||||
/datum/design_techweb/board/industrial_reagent_furnace
|
||||
name = "Industrial Reagent Furnace"
|
||||
@@ -16,7 +16,7 @@
|
||||
category = list(
|
||||
RND_CATEGORY_MACHINE + RND_SUBCATEGORY_MACHINE_ENGINEERING
|
||||
)
|
||||
departmental_flags = DEPARTMENT_BITFLAG_ENGINEERING
|
||||
departmental_flags = DEPARTMENT_BITFLAG_ENGINEERING | DEPARTMENT_BITFLAG_SCIENCE
|
||||
|
||||
/datum/design_techweb/board/industrial_reagent_grinder
|
||||
name = "Industrial Reagent Grinder"
|
||||
@@ -26,7 +26,7 @@
|
||||
category = list(
|
||||
RND_CATEGORY_MACHINE + RND_SUBCATEGORY_MACHINE_ENGINEERING
|
||||
)
|
||||
departmental_flags = DEPARTMENT_BITFLAG_ENGINEERING
|
||||
departmental_flags = DEPARTMENT_BITFLAG_ENGINEERING | DEPARTMENT_BITFLAG_SCIENCE
|
||||
|
||||
/datum/design_techweb/board/industrial_reagent_hub
|
||||
name = "Industrial Reagent Hub"
|
||||
@@ -36,7 +36,7 @@
|
||||
category = list(
|
||||
RND_CATEGORY_MACHINE + RND_SUBCATEGORY_MACHINE_ENGINEERING
|
||||
)
|
||||
departmental_flags = DEPARTMENT_BITFLAG_ENGINEERING
|
||||
departmental_flags = DEPARTMENT_BITFLAG_ENGINEERING | DEPARTMENT_BITFLAG_SCIENCE
|
||||
|
||||
/datum/design_techweb/board/industrial_reagent_pipe
|
||||
name = "Industrial Reagent Pipe"
|
||||
@@ -46,7 +46,7 @@
|
||||
category = list(
|
||||
RND_CATEGORY_MACHINE + RND_SUBCATEGORY_MACHINE_ENGINEERING
|
||||
)
|
||||
departmental_flags = DEPARTMENT_BITFLAG_ENGINEERING
|
||||
departmental_flags = DEPARTMENT_BITFLAG_ENGINEERING | DEPARTMENT_BITFLAG_SCIENCE
|
||||
|
||||
/datum/design_techweb/board/industrial_reagent_pump
|
||||
name = "Industrial Reagent Pump"
|
||||
@@ -56,7 +56,7 @@
|
||||
category = list(
|
||||
RND_CATEGORY_MACHINE + RND_SUBCATEGORY_MACHINE_ENGINEERING
|
||||
)
|
||||
departmental_flags = DEPARTMENT_BITFLAG_ENGINEERING
|
||||
departmental_flags = DEPARTMENT_BITFLAG_ENGINEERING | DEPARTMENT_BITFLAG_SCIENCE
|
||||
|
||||
/datum/design_techweb/board/industrial_reagent_reactor
|
||||
name = "Industrial Reagent Reactor"
|
||||
@@ -66,7 +66,7 @@
|
||||
category = list(
|
||||
RND_CATEGORY_MACHINE + RND_SUBCATEGORY_MACHINE_ENGINEERING
|
||||
)
|
||||
departmental_flags = DEPARTMENT_BITFLAG_ENGINEERING
|
||||
departmental_flags = DEPARTMENT_BITFLAG_ENGINEERING | DEPARTMENT_BITFLAG_SCIENCE
|
||||
|
||||
/datum/design_techweb/board/industrial_reagent_vat
|
||||
name = "Industrial Reagent Vat"
|
||||
@@ -76,7 +76,7 @@
|
||||
category = list(
|
||||
RND_CATEGORY_MACHINE + RND_SUBCATEGORY_MACHINE_ENGINEERING
|
||||
)
|
||||
departmental_flags = DEPARTMENT_BITFLAG_ENGINEERING
|
||||
departmental_flags = DEPARTMENT_BITFLAG_ENGINEERING | DEPARTMENT_BITFLAG_SCIENCE
|
||||
|
||||
/datum/design_techweb/board/industrial_reagent_mixer
|
||||
name = "Industrial Reagent Mixer"
|
||||
@@ -86,7 +86,7 @@
|
||||
category = list(
|
||||
RND_CATEGORY_MACHINE + RND_SUBCATEGORY_MACHINE_ENGINEERING
|
||||
)
|
||||
departmental_flags = DEPARTMENT_BITFLAG_ENGINEERING
|
||||
departmental_flags = DEPARTMENT_BITFLAG_ENGINEERING | DEPARTMENT_BITFLAG_SCIENCE
|
||||
|
||||
/datum/design_techweb/board/industrial_reagent_waste_processor
|
||||
name = "Industrial Reagent Waste Processor"
|
||||
@@ -96,7 +96,7 @@
|
||||
category = list(
|
||||
RND_CATEGORY_MACHINE + RND_SUBCATEGORY_MACHINE_ENGINEERING
|
||||
)
|
||||
departmental_flags = DEPARTMENT_BITFLAG_ENGINEERING
|
||||
departmental_flags = DEPARTMENT_BITFLAG_ENGINEERING | DEPARTMENT_BITFLAG_SCIENCE
|
||||
|
||||
/datum/design_techweb/board/pump_relay
|
||||
name = "Pump Relay"
|
||||
@@ -106,7 +106,7 @@
|
||||
category = list(
|
||||
RND_CATEGORY_MACHINE + RND_SUBCATEGORY_MACHINE_ENGINEERING
|
||||
)
|
||||
departmental_flags = DEPARTMENT_BITFLAG_ENGINEERING
|
||||
departmental_flags = DEPARTMENT_BITFLAG_ENGINEERING | DEPARTMENT_BITFLAG_SCIENCE
|
||||
|
||||
/datum/design_techweb/board/fluid_pump
|
||||
name = "Fluid Pump"
|
||||
@@ -116,4 +116,4 @@
|
||||
category = list(
|
||||
RND_CATEGORY_MACHINE + RND_SUBCATEGORY_MACHINE_ENGINEERING
|
||||
)
|
||||
departmental_flags = DEPARTMENT_BITFLAG_ENGINEERING
|
||||
departmental_flags = DEPARTMENT_BITFLAG_ENGINEERING | DEPARTMENT_BITFLAG_SCIENCE
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
category = list(
|
||||
RND_CATEGORY_MECHFAB_EQUIPMENT + RND_SUBCATEGORY_MECHFAB_EQUIPMENT_MINING
|
||||
)
|
||||
departmental_flags = DEPARTMENT_BITFLAG_CARGO
|
||||
departmental_flags = DEPARTMENT_BITFLAG_CARGO | DEPARTMENT_BITFLAG_SCIENCE
|
||||
|
||||
/datum/design_techweb/mechfab/equipment/drill
|
||||
name = "Drill"
|
||||
@@ -29,7 +29,7 @@
|
||||
category = list(
|
||||
RND_CATEGORY_MECHFAB_EQUIPMENT + RND_SUBCATEGORY_MECHFAB_EQUIPMENT_MINING
|
||||
)
|
||||
departmental_flags = DEPARTMENT_BITFLAG_CARGO
|
||||
departmental_flags = DEPARTMENT_BITFLAG_CARGO | DEPARTMENT_BITFLAG_SCIENCE
|
||||
|
||||
/datum/design_techweb/mechfab/equipment/extinguisher
|
||||
name = "Extinguisher"
|
||||
@@ -56,7 +56,7 @@
|
||||
category = list(
|
||||
RND_CATEGORY_MECHFAB_EQUIPMENT + RND_SUBCATEGORY_MECHFAB_EQUIPMENT_MEDICAL
|
||||
)
|
||||
departmental_flags = DEPARTMENT_BITFLAG_MEDICAL
|
||||
departmental_flags = DEPARTMENT_BITFLAG_MEDICAL | DEPARTMENT_BITFLAG_SCIENCE
|
||||
|
||||
/datum/design_techweb/mechfab/equipment/passenger
|
||||
name = "Passenger Compartment"
|
||||
@@ -77,7 +77,7 @@
|
||||
category = list(
|
||||
RND_CATEGORY_MECHFAB_EQUIPMENT + RND_SUBCATEGORY_MECHFAB_EQUIPMENT_MODULES
|
||||
)
|
||||
departmental_flags = DEPARTMENT_BITFLAG_SECURITY
|
||||
departmental_flags = DEPARTMENT_BITFLAG_SECURITY | DEPARTMENT_BITFLAG_SCIENCE
|
||||
|
||||
/// I guess this isn't STRICTLY a weapon...
|
||||
/datum/design_techweb/mechfab/equipment/syringe_gun
|
||||
@@ -88,7 +88,7 @@
|
||||
category = list(
|
||||
RND_CATEGORY_MECHFAB_EQUIPMENT + RND_SUBCATEGORY_MECHFAB_EQUIPMENT_MEDICAL
|
||||
)
|
||||
departmental_flags = DEPARTMENT_BITFLAG_MEDICAL
|
||||
departmental_flags = DEPARTMENT_BITFLAG_MEDICAL | DEPARTMENT_BITFLAG_SCIENCE
|
||||
|
||||
//You escape the weapon designation as well.
|
||||
/datum/design_techweb/mechfab/equipment/medigun
|
||||
@@ -101,7 +101,7 @@
|
||||
category = list(
|
||||
RND_CATEGORY_MECHFAB_EQUIPMENT + RND_SUBCATEGORY_MECHFAB_EQUIPMENT_MEDICAL
|
||||
)
|
||||
departmental_flags = DEPARTMENT_BITFLAG_MEDICAL
|
||||
departmental_flags = DEPARTMENT_BITFLAG_MEDICAL | DEPARTMENT_BITFLAG_SCIENCE
|
||||
|
||||
// *** Weapon modules
|
||||
/datum/design_techweb/mechfab/equipment/weapon
|
||||
@@ -110,7 +110,7 @@
|
||||
category = list(
|
||||
RND_CATEGORY_MECHFAB_EQUIPMENT + RND_SUBCATEGORY_MECHFAB_EQUIPMENT_WEAPONS
|
||||
)
|
||||
departmental_flags = DEPARTMENT_BITFLAG_SECURITY
|
||||
departmental_flags = DEPARTMENT_BITFLAG_SECURITY | DEPARTMENT_BITFLAG_SCIENCE
|
||||
|
||||
|
||||
/datum/design_techweb/mechfab/equipment/weapon/taser
|
||||
@@ -324,7 +324,7 @@
|
||||
category = list(
|
||||
RND_CATEGORY_MECHFAB_EQUIPMENT + RND_SUBCATEGORY_MECHFAB_EQUIPMENT_MISC
|
||||
)
|
||||
departmental_flags = DEPARTMENT_BITFLAG_ENGINEERING
|
||||
departmental_flags = DEPARTMENT_BITFLAG_ENGINEERING | DEPARTMENT_BITFLAG_SCIENCE
|
||||
|
||||
/datum/design_techweb/mechfab/equipment/gravcatapult
|
||||
name = "Gravitational Catapult"
|
||||
@@ -381,7 +381,7 @@
|
||||
category = list(
|
||||
RND_CATEGORY_MECHFAB_EQUIPMENT + RND_SUBCATEGORY_MECHFAB_EQUIPMENT_MEDICAL
|
||||
)
|
||||
departmental_flags = DEPARTMENT_BITFLAG_MEDICAL
|
||||
departmental_flags = DEPARTMENT_BITFLAG_MEDICAL | DEPARTMENT_BITFLAG_SCIENCE
|
||||
|
||||
/datum/design_techweb/mechfab/equipment/rad_drone
|
||||
name = "Hazmat Drone"
|
||||
@@ -393,7 +393,7 @@
|
||||
category = list(
|
||||
RND_CATEGORY_MECHFAB_EQUIPMENT + RND_SUBCATEGORY_MECHFAB_EQUIPMENT_MEDICAL
|
||||
)
|
||||
departmental_flags = DEPARTMENT_BITFLAG_MEDICAL
|
||||
departmental_flags = DEPARTMENT_BITFLAG_MEDICAL | DEPARTMENT_BITFLAG_SCIENCE
|
||||
|
||||
/datum/design_techweb/mechfab/equipment/medanalyzer
|
||||
name = "Mounted Body Scanner"
|
||||
@@ -405,7 +405,7 @@
|
||||
category = list(
|
||||
RND_CATEGORY_MECHFAB_EQUIPMENT + RND_SUBCATEGORY_MECHFAB_EQUIPMENT_MEDICAL
|
||||
)
|
||||
departmental_flags = DEPARTMENT_BITFLAG_MEDICAL
|
||||
departmental_flags = DEPARTMENT_BITFLAG_MEDICAL | DEPARTMENT_BITFLAG_SCIENCE
|
||||
|
||||
/datum/design_techweb/mechfab/equipment/jetpack
|
||||
name = "Ion Jetpack"
|
||||
@@ -449,7 +449,7 @@
|
||||
category = list(
|
||||
RND_CATEGORY_MECHFAB_EQUIPMENT + RND_SUBCATEGORY_MECHFAB_EQUIPMENT_MODULES
|
||||
)
|
||||
departmental_flags = DEPARTMENT_BITFLAG_SECURITY
|
||||
departmental_flags = DEPARTMENT_BITFLAG_SECURITY | DEPARTMENT_BITFLAG_SCIENCE
|
||||
|
||||
/datum/design_techweb/mechfab/equipment/proj_armor
|
||||
name = "Ranged Armor Booster"
|
||||
@@ -461,7 +461,7 @@
|
||||
category = list(
|
||||
RND_CATEGORY_MECHFAB_EQUIPMENT + RND_SUBCATEGORY_MECHFAB_EQUIPMENT_MODULES
|
||||
)
|
||||
departmental_flags = DEPARTMENT_BITFLAG_SECURITY
|
||||
departmental_flags = DEPARTMENT_BITFLAG_SECURITY | DEPARTMENT_BITFLAG_SCIENCE
|
||||
|
||||
/datum/design_techweb/mechfab/equipment/diamond_drill
|
||||
name = "Diamond Drill"
|
||||
@@ -473,7 +473,7 @@
|
||||
category = list(
|
||||
RND_CATEGORY_MECHFAB_EQUIPMENT + RND_SUBCATEGORY_MECHFAB_EQUIPMENT_MINING
|
||||
)
|
||||
departmental_flags = DEPARTMENT_BITFLAG_CARGO
|
||||
departmental_flags = DEPARTMENT_BITFLAG_CARGO | DEPARTMENT_BITFLAG_SCIENCE
|
||||
|
||||
/datum/design_techweb/mechfab/equipment/ground_drill
|
||||
name = "Surface Bore"
|
||||
@@ -485,7 +485,7 @@
|
||||
category = list(
|
||||
RND_CATEGORY_MECHFAB_EQUIPMENT + RND_SUBCATEGORY_MECHFAB_EQUIPMENT_MINING
|
||||
)
|
||||
departmental_flags = DEPARTMENT_BITFLAG_CARGO
|
||||
departmental_flags = DEPARTMENT_BITFLAG_CARGO | DEPARTMENT_BITFLAG_SCIENCE
|
||||
|
||||
/datum/design_techweb/mechfab/equipment/orescanner
|
||||
name = "Ore Scanner"
|
||||
@@ -497,7 +497,7 @@
|
||||
category = list(
|
||||
RND_CATEGORY_MECHFAB_EQUIPMENT + RND_SUBCATEGORY_MECHFAB_EQUIPMENT_MINING
|
||||
)
|
||||
departmental_flags = DEPARTMENT_BITFLAG_CARGO
|
||||
departmental_flags = DEPARTMENT_BITFLAG_CARGO | DEPARTMENT_BITFLAG_SCIENCE
|
||||
|
||||
/datum/design_techweb/mechfab/equipment/advorescanner
|
||||
name = "Advanced Ore Scanner"
|
||||
@@ -509,7 +509,7 @@
|
||||
category = list(
|
||||
RND_CATEGORY_MECHFAB_EQUIPMENT + RND_SUBCATEGORY_MECHFAB_EQUIPMENT_MINING
|
||||
)
|
||||
departmental_flags = DEPARTMENT_BITFLAG_CARGO
|
||||
departmental_flags = DEPARTMENT_BITFLAG_CARGO | DEPARTMENT_BITFLAG_SCIENCE
|
||||
|
||||
/datum/design_techweb/mechfab/equipment/runningboard
|
||||
name = "Powered Exosuit Running Board"
|
||||
@@ -532,7 +532,7 @@
|
||||
category = list(
|
||||
RND_CATEGORY_MECHFAB_EQUIPMENT + RND_SUBCATEGORY_MECHFAB_EQUIPMENT_MISC
|
||||
)
|
||||
departmental_flags = DEPARTMENT_BITFLAG_ENGINEERING
|
||||
departmental_flags = DEPARTMENT_BITFLAG_ENGINEERING | DEPARTMENT_BITFLAG_SCIENCE
|
||||
|
||||
/datum/design_techweb/mechfab/equipment/powercrowbar
|
||||
name = "hydraulic prybar"
|
||||
@@ -544,7 +544,7 @@
|
||||
category = list(
|
||||
RND_CATEGORY_MECHFAB_EQUIPMENT + RND_SUBCATEGORY_MECHFAB_EQUIPMENT_MISC
|
||||
)
|
||||
departmental_flags = DEPARTMENT_BITFLAG_ENGINEERING
|
||||
departmental_flags = DEPARTMENT_BITFLAG_ENGINEERING | DEPARTMENT_BITFLAG_SCIENCE
|
||||
|
||||
/datum/design_techweb/mechfab/equipment/powercutters
|
||||
name = "hydraulic cable cutter"
|
||||
@@ -556,7 +556,7 @@
|
||||
category = list(
|
||||
RND_CATEGORY_MECHFAB_EQUIPMENT + RND_SUBCATEGORY_MECHFAB_EQUIPMENT_MISC
|
||||
)
|
||||
departmental_flags = DEPARTMENT_BITFLAG_ENGINEERING
|
||||
departmental_flags = DEPARTMENT_BITFLAG_ENGINEERING | DEPARTMENT_BITFLAG_SCIENCE
|
||||
|
||||
/datum/design_techweb/mechfab/equipment/powerscrewdriver
|
||||
name = "hydraulic screwdriver"
|
||||
@@ -568,7 +568,7 @@
|
||||
category = list(
|
||||
RND_CATEGORY_MECHFAB_EQUIPMENT + RND_SUBCATEGORY_MECHFAB_EQUIPMENT_MISC
|
||||
)
|
||||
departmental_flags = DEPARTMENT_BITFLAG_ENGINEERING
|
||||
departmental_flags = DEPARTMENT_BITFLAG_ENGINEERING | DEPARTMENT_BITFLAG_SCIENCE
|
||||
|
||||
/datum/design_techweb/mechfab/equipment/powerwelder
|
||||
name = "welding laser"
|
||||
@@ -580,7 +580,7 @@
|
||||
category = list(
|
||||
RND_CATEGORY_MECHFAB_EQUIPMENT + RND_SUBCATEGORY_MECHFAB_EQUIPMENT_MISC
|
||||
)
|
||||
departmental_flags = DEPARTMENT_BITFLAG_ENGINEERING
|
||||
departmental_flags = DEPARTMENT_BITFLAG_ENGINEERING | DEPARTMENT_BITFLAG_SCIENCE
|
||||
|
||||
/datum/design_techweb/mechfab/equipment/inflatables
|
||||
name = "inflatables deployer"
|
||||
@@ -592,7 +592,7 @@
|
||||
category = list(
|
||||
RND_CATEGORY_MECHFAB_EQUIPMENT + RND_SUBCATEGORY_MECHFAB_EQUIPMENT_MISC
|
||||
)
|
||||
departmental_flags = DEPARTMENT_BITFLAG_ENGINEERING
|
||||
departmental_flags = DEPARTMENT_BITFLAG_ENGINEERING | DEPARTMENT_BITFLAG_SCIENCE
|
||||
|
||||
/datum/design_techweb/mechfab/equipment/hardpoint_clamp
|
||||
name = "hardpoint actuator"
|
||||
|
||||
@@ -402,7 +402,7 @@
|
||||
id = "rig_component_graviton"
|
||||
//req_tech = list(TECH_MATERIAL = 5, TECH_ENGINEERING = 6, TECH_MAGNET = 4, TECH_POWER = 5)
|
||||
materials = list(MAT_PLASTEEL = 3500, MAT_GRAPHITE = 2000, MAT_OSMIUM = 1000)
|
||||
build_path = /obj/item/rig_module/vision/mining
|
||||
build_path = /obj/item/rig_module/vision/graviton
|
||||
category = list(
|
||||
RND_CATEGORY_MODSUIT_MODULES + RND_SUBCATEGORY_MODSUIT_MODULES_SCIENCE
|
||||
)
|
||||
|
||||
@@ -196,7 +196,7 @@
|
||||
category = list(
|
||||
RND_CATEGORY_TOOLS + RND_SUBCATEGORY_TOOLS_MISC
|
||||
)
|
||||
departmental_flags = DEPARTMENT_BITFLAG_ENGINEERING
|
||||
departmental_flags = DEPARTMENT_BITFLAG_ENGINEERING | DEPARTMENT_BITFLAG_SCIENCE
|
||||
|
||||
/datum/design_techweb/beaker_noreact
|
||||
name = "Cryostasis Beaker"
|
||||
|
||||
@@ -10,7 +10,8 @@
|
||||
"anobattery-advanced",
|
||||
"anobattery-exotic",
|
||||
)
|
||||
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_2_POINTS)
|
||||
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_3_POINTS)
|
||||
announce_channels = list(CHANNEL_SCIENCE)
|
||||
|
||||
/datum/techweb_node/alien_engi
|
||||
id = TECHWEB_NODE_ALIEN_ENGI
|
||||
@@ -24,5 +25,5 @@
|
||||
"hybridwirecutters",
|
||||
"hybridwelder",
|
||||
)
|
||||
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_2_POINTS)
|
||||
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_3_POINTS)
|
||||
announce_channels = list(CHANNEL_ENGINEERING)
|
||||
|
||||
@@ -31,6 +31,7 @@
|
||||
// "biopsy_tool",
|
||||
)
|
||||
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_2_POINTS)
|
||||
announce_channels = list(CHANNEL_MEDICAL)
|
||||
|
||||
/datum/techweb_node/xenobiology
|
||||
id = TECHWEB_NODE_XENOBIOLOGY
|
||||
@@ -55,6 +56,7 @@
|
||||
)
|
||||
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_3_POINTS)
|
||||
discount_experiments = list(/datum/experiment/scanning/points/slime_scanning = TECHWEB_TIER_3_POINTS)
|
||||
announce_channels = list(CHANNEL_MEDICAL)
|
||||
|
||||
/datum/techweb_node/gene_engineering
|
||||
id = TECHWEB_NODE_GENE_ENGINEERING
|
||||
|
||||
@@ -26,6 +26,7 @@
|
||||
"ic_printer_upgrade_clone",
|
||||
)
|
||||
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_1_POINTS)
|
||||
announce_channels = list(CHANNEL_SCIENCE)
|
||||
|
||||
/datum/techweb_node/programmed_robot
|
||||
id = TECHWEB_NODE_PROGRAMMED_ROBOT
|
||||
@@ -41,3 +42,4 @@
|
||||
"assembly-drone-e", //CHOMPEdit Start - More Movable Shells
|
||||
)
|
||||
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_2_POINTS)
|
||||
announce_channels = list(CHANNEL_SCIENCE)
|
||||
|
||||
@@ -169,6 +169,7 @@
|
||||
prereq_ids = list(TECHWEB_NODE_AUGMENTATION)
|
||||
design_ids = list(
|
||||
"implant_backup",
|
||||
"health_scan_implant",
|
||||
// "skill_station",
|
||||
// "implant_trombone",
|
||||
// "implant_chem",
|
||||
|
||||
@@ -118,6 +118,7 @@
|
||||
"s-transmitter",
|
||||
)
|
||||
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_5_POINTS)
|
||||
announce_channels = list(CHANNEL_ENGINEERING)
|
||||
|
||||
/datum/techweb_node/parts_omni
|
||||
id = TECHWEB_NODE_PARTS_OMNI
|
||||
@@ -210,6 +211,7 @@
|
||||
"grid_checker",
|
||||
"breakerbox",
|
||||
"tesla_coil",
|
||||
"rtg",
|
||||
// "apc_control",
|
||||
// "powermonitor",
|
||||
// "smes",
|
||||
@@ -256,6 +258,7 @@
|
||||
// "modular_shield_console",
|
||||
)
|
||||
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_2_POINTS)
|
||||
announce_channels = list(CHANNEL_ENGINEERING)
|
||||
|
||||
/datum/techweb_node/exp_tools
|
||||
id = TECHWEB_NODE_EXP_TOOLS
|
||||
@@ -293,6 +296,7 @@
|
||||
"janitor_hud",
|
||||
"rig_component_medhud",
|
||||
"rig_component_sechud",
|
||||
"rig_component_mining",
|
||||
"graviton_goggles",
|
||||
"omnihud",
|
||||
// "diagnostic_hud",
|
||||
@@ -393,6 +397,8 @@
|
||||
// "nv_scigoggles",
|
||||
// "security_hud_night",
|
||||
)
|
||||
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_4_POINTS)
|
||||
announce_channels = list(CHANNEL_SECURITY, CHANNEL_SCIENCE, CHANNEL_ENGINEERING)
|
||||
|
||||
/datum/techweb_node/graviton_vision
|
||||
id = TECHWEB_NODE_GRAVITON_VISION
|
||||
|
||||
@@ -112,6 +112,7 @@
|
||||
"mech_med_analyzer",
|
||||
)
|
||||
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_2_POINTS)
|
||||
announce_channels = list(CHANNEL_SCIENCE)
|
||||
|
||||
/datum/techweb_node/mech_mining
|
||||
id = TECHWEB_NODE_MECH_MINING
|
||||
|
||||
@@ -41,3 +41,4 @@
|
||||
"mindbinder", //CHOMPEDIT - Adds Mindbinder to illegal techweb.
|
||||
)
|
||||
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_3_POINTS)
|
||||
announce_channels = list(CHANNEL_SCIENCE)
|
||||
|
||||
@@ -167,7 +167,8 @@
|
||||
"nsfw_cell_xray",
|
||||
// "nsfw_cell_stripper", // CHOMPRemove
|
||||
)
|
||||
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_3_POINTS)
|
||||
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_4_POINTS)
|
||||
announce_channels = list(CHANNEL_SECURITY)
|
||||
|
||||
/datum/techweb_node/phase_weapons //CHOMPEdit Start - Adds Phase Weaponry
|
||||
id = TECHWEB_NODE_PHASE_WEAPONS
|
||||
@@ -185,7 +186,7 @@
|
||||
"marksman_rifle_frontier_phaser",
|
||||
"handbow_frontier_phaser",
|
||||
)
|
||||
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_2_POINTS) //They mostly work on mobs.
|
||||
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_3_POINTS) //They mostly work on mobs.
|
||||
announce_channels = list(CHANNEL_SECURITY) //CHOMPEdit End - Adds Phase Weaponry
|
||||
|
||||
/datum/techweb_node/cryogun //CHOMPEdit Start
|
||||
@@ -196,7 +197,7 @@
|
||||
design_ids = list(
|
||||
"cryogun",
|
||||
)
|
||||
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_2_POINTS) //It's actually laughably weak.
|
||||
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_3_POINTS) //It's actually laughably weak.
|
||||
announce_channels = list(CHANNEL_SECURITY)
|
||||
|
||||
/datum/techweb_node/caseless_rifle
|
||||
|
||||
@@ -176,6 +176,7 @@
|
||||
)
|
||||
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_2_POINTS)
|
||||
discount_experiments = list(/datum/experiment/physical/arcade_winner = TECHWEB_TIER_2_POINTS)
|
||||
announce_channels = list(CHANNEL_SERVICE)
|
||||
|
||||
/datum/techweb_node/fireworks
|
||||
id = TECHWEB_NODE_FIREWORKS
|
||||
@@ -199,7 +200,7 @@
|
||||
"fireworkfallout",
|
||||
)
|
||||
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_3_POINTS)
|
||||
announce_channels = list(CHANNEL_COMMON)
|
||||
announce_channels = list(CHANNEL_SCIENCE)
|
||||
|
||||
|
||||
// Kitchen root node
|
||||
@@ -271,5 +272,5 @@
|
||||
design_ids = list(
|
||||
"confetti_cannon",
|
||||
)
|
||||
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_1_POINTS)
|
||||
announce_channels = list(CHANNEL_COMMON)
|
||||
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_3_POINTS)
|
||||
announce_channels = list(CHANNEL_SERVICE)
|
||||
|
||||
@@ -113,6 +113,7 @@
|
||||
#include "spritesheets.dm"
|
||||
#include "sqlite_tests.dm"
|
||||
#include "subsystem_init.dm"
|
||||
#include "techwebs.dm"
|
||||
#include "tgui_create_message.dm"
|
||||
#include "timer_sanity.dm"
|
||||
#include "trait_tests.dm"
|
||||
|
||||
114
code/modules/unit_tests/techwebs.dm
Normal file
114
code/modules/unit_tests/techwebs.dm
Normal file
@@ -0,0 +1,114 @@
|
||||
/datum/unit_test/techwebs_must_all_be_valid
|
||||
|
||||
/datum/unit_test/techwebs_must_all_be_valid/Run()
|
||||
var/failed = FALSE
|
||||
var/list/unique_nodes = list()
|
||||
|
||||
// Each node in the web
|
||||
var/list/used_designs = list()
|
||||
for(var/node_id in SSresearch.techweb_nodes)
|
||||
var/datum/techweb_node/node = SSresearch.techweb_nodes[node_id]
|
||||
if(node.id == /datum/techweb_node/error_node::id)
|
||||
continue
|
||||
|
||||
// Nodes must always be unique
|
||||
if(node.id in unique_nodes)
|
||||
TEST_NOTICE(src, "TECHWEB NODE - [node.type] used an id already in use by another node: \"[node.id]\"")
|
||||
failed = TRUE
|
||||
unique_nodes += node.id
|
||||
|
||||
// Must have a description
|
||||
if(node.description == /datum/techweb_node::description)
|
||||
TEST_NOTICE(src, "TECHWEB NODE - [node.type] did not have a description set.")
|
||||
failed = TRUE
|
||||
|
||||
// Must have an announcement channel
|
||||
if(!node.starting_node && !node.announce_channels?.len)
|
||||
TEST_NOTICE(src, "TECHWEB NODE - [node.type] did not have any announce_channels set.")
|
||||
failed = TRUE
|
||||
if(node.starting_node && node.announce_channels?.len)
|
||||
TEST_NOTICE(src, "TECHWEB NODE - [node.type] starting node has announcement channels, it should not.")
|
||||
failed = TRUE
|
||||
|
||||
// Must have costs set
|
||||
if(!node.starting_node && !node.research_costs?.len)
|
||||
TEST_NOTICE(src, "TECHWEB NODE - [node.type] did not have any research_costs set.")
|
||||
failed = TRUE
|
||||
|
||||
// Must have valid designs
|
||||
if(!node.design_ids)
|
||||
TEST_NOTICE(src, "TECHWEB NODE - [node.type] does not have any design_ids.")
|
||||
failed = TRUE
|
||||
else
|
||||
for(var/design in node.design_ids)
|
||||
used_designs += design
|
||||
if(!SSresearch.techweb_designs[design])
|
||||
TEST_NOTICE(src, "TECHWEB NODE - [node.type] has a non-existant design_id: \"[design]\"")
|
||||
failed = TRUE
|
||||
|
||||
// Must have valid prereqs
|
||||
if(node.prereq_ids.len)
|
||||
for(var/req in node.prereq_ids)
|
||||
if(!SSresearch.techweb_nodes[req])
|
||||
TEST_NOTICE(src, "TECHWEB NODE - [node.type] has a non-existant prereq_id: \"[req]\"")
|
||||
failed = TRUE
|
||||
|
||||
// We can't check for for some stuff in here if we haven't already checked and made sure the nodes are valid first
|
||||
if(!failed)
|
||||
for(var/node_id in SSresearch.techweb_nodes)
|
||||
var/datum/techweb_node/node = SSresearch.techweb_nodes[node_id]
|
||||
|
||||
// Check that our cost and make sure it's more expensive than our prior tier, unless they have a required experiment.
|
||||
if(!node.required_experiments.len && node.prereq_ids.len)
|
||||
if(!node.starting_node)
|
||||
var/current_cost = node.research_costs.len ? INFINITY : 0
|
||||
for(var/check_cost_type in node.research_costs)
|
||||
// Get the LOWEST cost of us
|
||||
if(node.research_costs[check_cost_type] < current_cost)
|
||||
current_cost = node.research_costs[check_cost_type]
|
||||
|
||||
for(var/prereq_node_id in node.prereq_ids)
|
||||
var/datum/techweb_node/prereq_node = SSresearch.techweb_nodes[prereq_node_id]
|
||||
var/prereq_currentcost = prereq_node.research_costs ? INFINITY : 0
|
||||
if(prereq_node.starting_node)
|
||||
continue
|
||||
|
||||
for(var/req_cost_type in prereq_node.research_costs)
|
||||
// Get the LOWEST cost of prereq
|
||||
if(prereq_node.research_costs[req_cost_type] < prereq_currentcost)
|
||||
prereq_currentcost = prereq_node.research_costs[req_cost_type]
|
||||
|
||||
if(prereq_currentcost > current_cost)
|
||||
TEST_NOTICE(src, "TECHWEB NODE - [node.type] costs less to make then the previous node, must always be at least the same or more expensive. ours lowest is \[[current_cost]\], prereq lowest is \[[prereq_currentcost]\]. Lesser costs than the previous node is only allowed if the node has a required experiment.")
|
||||
failed = TRUE
|
||||
|
||||
// Each design
|
||||
var/used_design_paths = list()
|
||||
for(var/design_id in SSresearch.techweb_designs)
|
||||
var/datum/design_techweb/design = SSresearch.techweb_designs[design_id]
|
||||
if(design.id == DESIGN_ID_IGNORE)
|
||||
continue
|
||||
|
||||
// Must all be accessible by science
|
||||
if(!(design.departmental_flags & DEPARTMENT_BITFLAG_SCIENCE))
|
||||
TEST_NOTICE(src, "TECHWEB DESIGN - [design.type] was not flagged for science department, all designs must be accessible by science.")
|
||||
failed = TRUE
|
||||
|
||||
// Designs SHOULD be accessible, only a warning
|
||||
if(!(design.id in used_designs))
|
||||
TEST_NOTICE(src, "TECHWEB DESIGN - WARNING [design.type] is orphaned and not accessible from any techweb node. Is this intended?")
|
||||
|
||||
// Design must produce something
|
||||
if(!design.build_path)
|
||||
TEST_NOTICE(src, "TECHWEB DESIGN - [design.type] did not have a build_path.")
|
||||
failed = TRUE
|
||||
|
||||
// Design must be a unique path produced
|
||||
if(design.build_path in used_design_paths)
|
||||
TEST_NOTICE(src, "TECHWEB DESIGN - [design.type] had a build_path that was already used by another design: \"[design.build_path]\"")
|
||||
failed = TRUE
|
||||
|
||||
used_design_paths += design.build_path
|
||||
|
||||
if(failed)
|
||||
TEST_FAIL("All techweb entries must be valid")
|
||||
Reference in New Issue
Block a user