Mechfab (and More) Changes (#9000)

The mechfab no longer has a useless null category that does nothing when clicked on.
    The exosuit category in the mechfab has now been split into body construction and equipment construction for ease of use.
    Radio, Diagnosis Unit, and Actuator construction has been added to the exosuit body category as well.
    Many RnD machineries have had their names changed to lowercase to match the style of the rest of the game.
This commit is contained in:
Geeves
2020-06-04 21:48:41 +03:00
committed by GitHub
parent 920cdbb30d
commit 9dfc7a47cc
16 changed files with 164 additions and 129 deletions
+1
View File
@@ -2477,6 +2477,7 @@
#include "code\modules\research\designs\circuit\tcom_designs.dm"
#include "code\modules\research\designs\mechfab\hardsuit\modules.dm"
#include "code\modules\research\designs\mechfab\hardsuit\rigs.dm"
#include "code\modules\research\designs\mechfab\mechs\designs_exosuit_equipment.dm"
#include "code\modules\research\designs\mechfab\mechs\designs_exosuits.dm"
#include "code\modules\research\designs\mechfab\prosthetics\external.dm"
#include "code\modules\research\designs\mechfab\prosthetics\internal.dm"
+2 -2
View File
@@ -317,7 +317,7 @@
. = list()
for(var/i = 1 to files.known_designs.len)
var/datum/design/D = files.known_designs[i]
if(!D.build_path || !(D.build_type & MECHFAB))
if(!D.build_path || !(D.build_type & MECHFAB) || !D.category)
continue
. += list(list("name" = D.name, "id" = i, "category" = D.category, "resourses" = get_design_resourses(D), "time" = get_design_time(D)))
@@ -333,7 +333,7 @@
/obj/machinery/mecha_part_fabricator/proc/update_categories()
categories = list()
for(var/datum/design/D in files.known_designs)
if(!D.build_path || !(D.build_type & MECHFAB))
if(!D.build_path || !(D.build_type & MECHFAB) || !D.category)
continue
categories |= D.category
if(!category || !(category in categories))
+1 -1
View File
@@ -5,7 +5,7 @@ using metal and glass, it uses glass and reagents (usually sulphuric acid).
*/
/obj/machinery/r_n_d/circuit_imprinter
name = "Circuit Imprinter"
name = "circuit imprinter"
icon_state = "circuit_imprinter"
flags = OPENCONTAINER
@@ -0,0 +1,108 @@
/datum/design/item/mechfab/exosuit_equipment
name = "Hydraulic Clamp"
materials = list(DEFAULT_WALL_MATERIAL = 10000)
time = 50
build_path = /obj/item/mecha_equipment/clamp
category = "Exosuit (Equipment)"
/datum/design/item/mechfab/exosuit_equipment/gravity_catapult
name = "Gravity Catapult"
build_path = /obj/item/mecha_equipment/catapult
/datum/design/item/mechfab/exosuit_equipment/drill
name = "Drill"
materials = list(DEFAULT_WALL_MATERIAL = 10000)
build_path = /obj/item/mecha_equipment/drill
/datum/design/item/mechfab/exosuit_equipment/taser
name = "Mounted Taser"
materials = list(DEFAULT_WALL_MATERIAL = 10000)
req_tech = list(TECH_COMBAT = 1)
build_path = /obj/item/mecha_equipment/mounted_system/taser
/datum/design/item/mechfab/exosuit_equipment/uac
name = "Mounted Automatic Weapon"
req_tech = list(TECH_COMBAT = 4)
build_path = /obj/item/mecha_equipment/mounted_system/taser/smg
/datum/design/item/mechfab/exosuit_equipment/plasma
name = "Mounted Plasma Cutter"
materials = list(DEFAULT_WALL_MATERIAL = 2000, MATERIAL_GLASS = 1000, MATERIAL_GOLD = 1000, MATERIAL_PHORON = 1000)
req_tech = list(TECH_COMBAT = 2, TECH_MATERIAL = 4, TECH_ENGINEERING = 3)
build_path = /obj/item/mecha_equipment/mounted_system/plasmacutter
/datum/design/item/mechfab/exosuit_equipment/ion
name = "Mounted Ion Rifle"
materials = list(DEFAULT_WALL_MATERIAL = 10000)
req_tech = list(TECH_COMBAT = 4, TECH_MAGNET = 4)
build_path = /obj/item/mecha_equipment/mounted_system/taser/ion
/datum/design/item/mechfab/exosuit_equipment/laser
name = "Mounted Laser Gun"
materials = list(DEFAULT_WALL_MATERIAL = 10000)
req_tech = list(TECH_COMBAT = 4, TECH_MAGNET = 4)
build_path = /obj/item/mecha_equipment/mounted_system/taser/laser
/datum/design/item/mechfab/exosuit_equipment/rcd
name = "Mounted RFD-C"
time = 90
materials = list(DEFAULT_WALL_MATERIAL = 30000, MATERIAL_PHORON = 25000, DEFAULT_WALL_MATERIAL = 15000, MATERIAL_GOLD = 15000)
req_tech = list(TECH_MATERIAL = 4, TECH_BLUESPACE = 3, TECH_MAGNET = 4, TECH_POWER = 4, TECH_ENGINEERING = 4)
build_path = /obj/item/mecha_equipment/mounted_system/rfd
/datum/design/item/mechfab/exosuit_equipment/floodlight
name = "Mounted Floodlight"
materials = list(DEFAULT_WALL_MATERIAL = 5000, MATERIAL_GLASS = 5000)
req_tech = list(TECH_ENGINEERING = 1)
build_path = /obj/item/mecha_equipment/light
/datum/design/item/mechfab/exosuit_equipment/sleeper
name = "Mounted Sleeper"
materials = list(DEFAULT_WALL_MATERIAL = 5000, MATERIAL_GLASS = 10000)
build_path = /obj/item/mecha_equipment/sleeper
/datum/design/item/mechfab/exosuit_equipment/extinguisher
name = "Mounted Extinguisher"
materials = list(DEFAULT_WALL_MATERIAL = 10000)
build_path = /obj/item/mecha_equipment/mounted_system/extinguisher
/datum/design/item/mechfab/exosuit_equipment/xray
name = "Mounted X-Ray Gun"
req_tech = list(TECH_COMBAT = 4, TECH_MAGNET = 4, TECH_MATERIAL = 5, TECH_ILLEGAL = 3)
build_path = /obj/item/mecha_equipment/mounted_system/xray
materials = list(DEFAULT_WALL_MATERIAL = 20000, MATERIAL_GOLD = 6000, MATERIAL_PHORON = 6000)
/datum/design/item/mechfab/exosuit_equipment/flashbang
name = "Mounted Flashbang Launcher"
req_tech = list(TECH_COMBAT = 3)
build_path = /obj/item/mecha_equipment/mounted_system/grenadeflash
materials = list(DEFAULT_WALL_MATERIAL = 20000, MATERIAL_GOLD = 6000, MATERIAL_PHORON = 6000)
/datum/design/item/mechfab/exosuit_equipment/crisisdrone
name = "Mounted Crisis Drone"
build_path = /obj/item/mecha_equipment/crisis_drone
req_tech = list(TECH_MAGNET = 3, TECH_DATA = 3, TECH_BIO = 3)
materials = list(DEFAULT_WALL_MATERIAL = 10000, MATERIAL_GOLD = 1000, MATERIAL_SILVER = 2000, MATERIAL_GLASS = 5000)
/datum/design/item/mechfab/exosuit_equipment/analyzer
name = "Mounted Health Analyzer"
req_tech = list(TECH_MAGNET = 2, TECH_BIO = 3)
materials = list(DEFAULT_WALL_MATERIAL = 5000, MATERIAL_GLASS = 5000)
build_path = /obj/item/mecha_equipment/mounted_system/medanalyzer
/datum/design/item/mechfab/exosuit_equipment/flaregun
name = "Mounted Flare Launcher"
materials = list(DEFAULT_WALL_MATERIAL = 10000)
build_path = /obj/item/mecha_equipment/mounted_system/flarelauncher
/datum/design/item/mechfab/exosuit_equipment/passenger_compartment
name = "Mounted Passenger Compartment"
materials = list(DEFAULT_WALL_MATERIAL = 10000)
build_path = /obj/item/mecha_equipment/sleeper/passenger_compartment
/datum/design/item/mechfab/exosuit_equipment/mechshields
name = "Energy Shield Drone"
time = 90
materials = list(MATERIAL_STEEL = 20000, MATERIAL_SILVER = 12000, MATERIAL_GOLD = 12000)
req_tech = list(TECH_MATERIAL = 4, TECH_MAGNET = 4, TECH_POWER = 4, TECH_COMBAT = 2)
build_path = /obj/item/mecha_equipment/shield
@@ -3,7 +3,7 @@
build_path = /obj/structure/heavy_vehicle_frame
time = 50
materials = list(DEFAULT_WALL_MATERIAL = 15000)
category = "Exosuits"
category = "Exosuit (Body)"
/datum/design/item/mechfab/exosuit/basic_armour
name = "Basic Exosuit Armor"
@@ -32,6 +32,30 @@
req_tech = list(TECH_MATERIAL = 4, TECH_COMBAT = 3)
materials = list(DEFAULT_WALL_MATERIAL = 20000, MATERIAL_DIAMOND = 5000)
/datum/design/item/mechfab/exosuit/actuator
name = "Actuator"
build_path = /obj/item/robot_parts/robot_component/actuator
time = 10
materials = list(DEFAULT_WALL_MATERIAL = 5000)
/datum/design/item/mechfab/exosuit/diagnosis_unit
name = "Diagnosis unit"
build_path = /obj/item/robot_parts/robot_component/diagnosis_unit
time = 10
materials = list(DEFAULT_WALL_MATERIAL = 5000)
/datum/design/item/mechfab/exosuit/camera
name = "Camera"
build_path = /obj/item/robot_parts/robot_component/camera
time = 10
materials = list(DEFAULT_WALL_MATERIAL = 5000)
/datum/design/item/mechfab/exosuit/radio
name = "Radio"
build_path = /obj/item/robot_parts/robot_component/radio
time = 10
materials = list(DEFAULT_WALL_MATERIAL = 5000)
/datum/design/item/mechfab/exosuit/control_module
name = "Exosuit Control Module"
build_path = /obj/item/mech_component/control_module
@@ -167,111 +191,4 @@
time = 35
materials = list(DEFAULT_WALL_MATERIAL = 25000)
build_path = /obj/item/mech_component/propulsion/tracks
req_tech = list(TECH_MATERIAL = 4)
/datum/design/item/mechfab/exosuit/hydraulic_clamp
name = "Hydraulic Clamp"
materials = list(DEFAULT_WALL_MATERIAL = 10000)
build_path = /obj/item/mecha_equipment/clamp
/datum/design/item/mechfab/exosuit/gravity_catapult
name = "Gravity Catapult"
build_path = /obj/item/mecha_equipment/catapult
/datum/design/item/mechfab/exosuit/drill
name = "Drill"
materials = list(DEFAULT_WALL_MATERIAL = 10000)
build_path = /obj/item/mecha_equipment/drill
/datum/design/item/mechfab/exosuit/taser
name = "Mounted Taser"
materials = list(DEFAULT_WALL_MATERIAL = 10000)
req_tech = list(TECH_COMBAT = 1)
build_path = /obj/item/mecha_equipment/mounted_system/taser
/datum/design/item/mechfab/exosuit/uac
name = "Mounted Automatic Weapon"
req_tech = list(TECH_COMBAT = 4)
build_path = /obj/item/mecha_equipment/mounted_system/taser/smg
/datum/design/item/mechfab/exosuit/plasma
name = "Mounted Plasma Cutter"
materials = list(DEFAULT_WALL_MATERIAL = 2000, MATERIAL_GLASS = 1000, MATERIAL_GOLD = 1000, MATERIAL_PHORON = 1000)
req_tech = list(TECH_COMBAT = 2, TECH_MATERIAL = 4, TECH_ENGINEERING = 3)
build_path = /obj/item/mecha_equipment/mounted_system/plasmacutter
/datum/design/item/mechfab/exosuit/ion
name = "Mounted Ion Rifle"
materials = list(DEFAULT_WALL_MATERIAL = 10000)
req_tech = list(TECH_COMBAT = 4, TECH_MAGNET = 4)
build_path = /obj/item/mecha_equipment/mounted_system/taser/ion
/datum/design/item/mechfab/exosuit/laser
name = "Mounted Laser Gun"
materials = list(DEFAULT_WALL_MATERIAL = 10000)
req_tech = list(TECH_COMBAT = 4, TECH_MAGNET = 4)
build_path = /obj/item/mecha_equipment/mounted_system/taser/laser
/datum/design/item/mechfab/exosuit/rcd
name = "Mounted RFD-C"
time = 90
materials = list(DEFAULT_WALL_MATERIAL = 30000, MATERIAL_PHORON = 25000, DEFAULT_WALL_MATERIAL = 15000, MATERIAL_GOLD = 15000)
req_tech = list(TECH_MATERIAL = 4, TECH_BLUESPACE = 3, TECH_MAGNET = 4, TECH_POWER = 4, TECH_ENGINEERING = 4)
build_path = /obj/item/mecha_equipment/mounted_system/rfd
/datum/design/item/mechfab/exosuit/floodlight
name = "Mounted Floodlight"
materials = list(DEFAULT_WALL_MATERIAL = 5000, MATERIAL_GLASS = 5000)
req_tech = list(TECH_ENGINEERING = 1)
build_path = /obj/item/mecha_equipment/light
/datum/design/item/mechfab/exosuit/sleeper
name = "Mounted Sleeper"
materials = list(DEFAULT_WALL_MATERIAL = 5000, MATERIAL_GLASS = 10000)
build_path = /obj/item/mecha_equipment/sleeper
/datum/design/item/mechfab/exosuit/extinguisher
name = "Mounted Extinguisher"
materials = list(DEFAULT_WALL_MATERIAL = 10000)
build_path = /obj/item/mecha_equipment/mounted_system/extinguisher
/datum/design/item/mechfab/exosuit/xray
name = "Mounted X-Ray Gun"
req_tech = list(TECH_COMBAT = 4, TECH_MAGNET = 4, TECH_MATERIAL = 5, TECH_ILLEGAL = 3)
build_path = /obj/item/mecha_equipment/mounted_system/xray
materials = list(DEFAULT_WALL_MATERIAL = 20000, MATERIAL_GOLD = 6000, MATERIAL_PHORON = 6000)
/datum/design/item/mechfab/exosuit/flashbang
name = "Mounted Flashbang Launcher"
req_tech = list(TECH_COMBAT = 3)
build_path = /obj/item/mecha_equipment/mounted_system/grenadeflash
materials = list(DEFAULT_WALL_MATERIAL = 20000, MATERIAL_GOLD = 6000, MATERIAL_PHORON = 6000)
/datum/design/item/mechfab/exosuit/crisisdrone
name = "Mounted Crisis Drone"
build_path = /obj/item/mecha_equipment/crisis_drone
req_tech = list(TECH_MAGNET = 3, TECH_DATA = 3, TECH_BIO = 3)
materials = list(DEFAULT_WALL_MATERIAL = 10000, MATERIAL_GOLD = 1000, MATERIAL_SILVER = 2000, MATERIAL_GLASS = 5000)
/datum/design/item/mechfab/exosuit/analyzer
name = "Mounted Health Analyzer"
req_tech = list(TECH_MAGNET = 2, TECH_BIO = 3)
materials = list(DEFAULT_WALL_MATERIAL = 5000, MATERIAL_GLASS = 5000)
build_path = /obj/item/mecha_equipment/mounted_system/medanalyzer
/datum/design/item/mechfab/exosuit/flaregun
name = "Mounted Flare Launcher"
materials = list(DEFAULT_WALL_MATERIAL = 10000)
build_path = /obj/item/mecha_equipment/mounted_system/flarelauncher
/datum/design/item/mechfab/exosuit/passenger_compartment
name = "Mounted Passenger Compartment"
materials = list(DEFAULT_WALL_MATERIAL = 10000)
build_path = /obj/item/mecha_equipment/sleeper/passenger_compartment
/datum/design/item/mechfab/exosuit/mechshields
name = "Energy Shield Drone"
time = 90
materials = list(MATERIAL_STEEL = 20000, MATERIAL_SILVER = 12000, MATERIAL_GOLD = 12000)
req_tech = list(TECH_MATERIAL = 4, TECH_MAGNET = 4, TECH_POWER = 4, TECH_COMBAT = 2)
build_path = /obj/item/mecha_equipment/shield
req_tech = list(TECH_MATERIAL = 4)
+2 -2
View File
@@ -50,7 +50,7 @@ var/global/list/obj/machinery/message_server/message_servers = list()
/obj/machinery/message_server
icon = 'icons/obj/machines/research.dmi'
icon_state = "server"
name = "Messaging Server"
name = "messaging server"
density = 1
anchored = 1.0
use_power = 1
@@ -166,7 +166,7 @@ var/obj/machinery/blackbox_recorder/blackbox
/obj/machinery/blackbox_recorder
icon = 'icons/obj/stationobjs.dmi'
icon_state = "blackbox"
name = "Blackbox Recorder"
name = "blackbox recorder"
density = 1
anchored = 1.0
use_power = 1
+1 -1
View File
@@ -1,5 +1,5 @@
/obj/machinery/r_n_d/protolathe
name = "Protolathe"
name = "protolathe"
icon_state = "protolathe"
flags = OPENCONTAINER
+2 -2
View File
@@ -807,12 +807,12 @@ won't update every console in existence) but it's more of a hassle to do. Also,
onclose(user, "rdconsole")
/obj/machinery/computer/rdconsole/robotics
name = "Robotics R&D Console"
name = "robotics R&D console"
id = 2
req_access = list(access_robotics)
allow_analyzer = FALSE
allow_lathe = FALSE
/obj/machinery/computer/rdconsole/core
name = "Core R&D Console"
name = "core R&D console"
id = 1
+1 -1
View File
@@ -3,7 +3,7 @@
//All devices that link into the R&D console fall into thise type for easy identification and some shared procs.
/obj/machinery/r_n_d
name = "R&D Device"
name = "R&D device"
icon = 'icons/obj/machines/research.dmi'
density = 1
anchored = 1
+5 -5
View File
@@ -1,5 +1,5 @@
/obj/machinery/r_n_d/server
name = "R&D Server"
name = "R&D server"
icon = 'icons/obj/machines/research.dmi'
icon_state = "server"
var/datum/research/files
@@ -121,7 +121,7 @@
return
/obj/machinery/r_n_d/server/centcom
name = "Central R&D Database"
name = "central R&D database"
server_id = -1
/obj/machinery/r_n_d/server/centcom/setup()
@@ -168,7 +168,7 @@
id_with_download += text2num(N)
/obj/machinery/computer/rdservercontrol
name = "R&D Server Controller"
name = "R&D server controller"
icon_screen = "rdcomp"
light_color = "#a97faa"
@@ -319,13 +319,13 @@
return 1
/obj/machinery/r_n_d/server/advanced/robotics
name = "Robotics R&D Server"
name = "robotics R&D server"
id_with_upload_string = "1;2"
id_with_download_string = "1;2"
server_id = 2
/obj/machinery/r_n_d/server/advanced/core
name = "Core R&D Server"
name = "core R&D server"
id_with_upload_string = "1"
id_with_download_string = "1"
server_id = 1
+1 -1
View File
@@ -1,5 +1,5 @@
/obj/machinery/weapons_analyzer
name = "Weapons Analyzer"
name = "weapons analyzer"
icon = 'icons/obj/machines/research.dmi'
icon_state = "weapon_analyzer"
density = 1
@@ -1,6 +1,6 @@
/obj/machinery/artifact_analyser
name = "Anomaly Analyser"
name = "anomaly analyzer"
desc = "Studies the emissions of anomalous materials to discover their uses."
icon = 'icons/obj/virology.dmi'
icon_state = "isolator"
@@ -1,6 +1,6 @@
/obj/machinery/artifact_harvester
name = "Exotic Particle Harvester"
name = "exotic particle harvester"
icon = 'icons/obj/virology.dmi'
icon_state = "incubator" //incubator_on
anchored = 1
@@ -1,6 +1,6 @@
/obj/machinery/artifact_scanpad
name = "Anomaly Scanner Pad"
name = "anomaly scanner pad"
desc = "Place things here for scanning."
icon = 'icons/obj/stationobjs.dmi'
icon_state = "tele0"
@@ -1,6 +1,6 @@
/obj/item/anobattery
name = "Anomaly power battery"
name = "anomaly power battery"
icon = 'icons/obj/xenoarchaeology.dmi'
icon_state = "anobattery0"
var/datum/artifact_effect/battery_effect
@@ -20,7 +20,7 @@
stored_charge = max(0, stored_charge - amount)
/obj/item/anodevice
name = "Anomaly power utilizer"
name = "anomaly power utilizer"
icon = 'icons/obj/xenoarchaeology.dmi'
icon_state = "anodev"
var/activated = 0
+9
View File
@@ -0,0 +1,9 @@
author: Geeves
delete-after: True
changes:
- bugfix: "The mechfab no longer has a useless null category that does nothing when clicked on."
- rscadd: "The exosuit category in the mechfab has now been split into body construction and equipment construction for ease of use."
- rscadd: "Radio, Diagnosis Unit, and Actuator construction has been added to the exosuit body category as well."
- tweak: "Many RnD machineries have had their names changed to lowercase to match the style of the rest of the game."