[MIRROR] Science Expansion Pck-1: Hardsuits (#11328)

Co-authored-by: Muted Kobold <tangletail@gmail.com>
Co-authored-by: C.L. <killer65311@gmail.com>
This commit is contained in:
CHOMPStation2StaffMirrorBot
2025-08-06 16:02:59 -07:00
committed by GitHub
parent 667b876252
commit 8edf1ff3d8
11 changed files with 493 additions and 100 deletions

View File

@@ -85,6 +85,7 @@
#define TECHWEB_NODE_MINING "mining" #define TECHWEB_NODE_MINING "mining"
#define TECHWEB_NODE_MINING_ADV "mining_adv" #define TECHWEB_NODE_MINING_ADV "mining_adv"
#define TECHWEB_NODE_MOD_ANOMALY "mod_anomaly" #define TECHWEB_NODE_MOD_ANOMALY "mod_anomaly"
#define TECHWEB_NODE_MOD_SUPPLY "mod_supply"
#define TECHWEB_NODE_MOD_ENGI "mod_engi" #define TECHWEB_NODE_MOD_ENGI "mod_engi"
#define TECHWEB_NODE_MOD_ENGI_ADV "mod_engi_adv" #define TECHWEB_NODE_MOD_ENGI_ADV "mod_engi_adv"
#define TECHWEB_NODE_MOD_ENTERTAINMENT "mod_entertainment" #define TECHWEB_NODE_MOD_ENTERTAINMENT "mod_entertainment"
@@ -97,6 +98,9 @@
#define TECHWEB_NODE_MODULAR_COMPUTER "modular_computer" #define TECHWEB_NODE_MODULAR_COMPUTER "modular_computer"
#define TECHWEB_NODE_NIF "nif" #define TECHWEB_NODE_NIF "nif"
#define TECHWEB_NODE_NIGHT_VISION "night_vision" #define TECHWEB_NODE_NIGHT_VISION "night_vision"
#define TECHWEB_NODE_THERMAL_VISION "thermal_vision"
#define TECHWEB_NODE_GRAVITON_VISION "graviton_vision"
#define TECHWEB_NODE_ADVANCED_VISORS "advanced_visors"
#define TECHWEB_NODE_NSFW "nsfwgun" #define TECHWEB_NODE_NSFW "nsfwgun"
#define TECHWEB_NODE_OFFICE_EQUIP "office_equip" #define TECHWEB_NODE_OFFICE_EQUIP "office_equip"
#define TECHWEB_NODE_OLDSTATION_SURGERY "oldstation_surgery" #define TECHWEB_NODE_OLDSTATION_SURGERY "oldstation_surgery"

View File

@@ -7,9 +7,9 @@
from incoming ionizing radiation and converts it into a significantly less harmful form. This comes at the cost of concerningly high power consumption, \ from incoming ionizing radiation and converts it into a significantly less harmful form. This comes at the cost of concerningly high power consumption, \
and thus should only be used in short bursts." and thus should only be used in short bursts."
icon_state = "radsoak" icon_state = "radsoak"
toggleable = 1 toggleable = TRUE
disruptable = 1 disruptable = TRUE
disruptive = 0 disruptive = FALSE
use_power_cost = 25 use_power_cost = 25
active_power_cost = 25 active_power_cost = 25
@@ -26,7 +26,7 @@
/obj/item/rig_module/rad_shield/activate() /obj/item/rig_module/rad_shield/activate()
if(!..()) if(!..())
return 0 return FALSE
var/mob/living/carbon/human/H = holder.wearer var/mob/living/carbon/human/H = holder.wearer
var/obj/item/clothing/shoes/boots = holder.boots var/obj/item/clothing/shoes/boots = holder.boots
@@ -49,7 +49,7 @@
/obj/item/rig_module/rad_shield/deactivate() /obj/item/rig_module/rad_shield/deactivate()
if(!..()) if(!..())
return 0 return FALSE
var/mob/living/carbon/human/H = holder.wearer var/mob/living/carbon/human/H = holder.wearer
var/obj/item/clothing/shoes/boots = holder.boots var/obj/item/clothing/shoes/boots = holder.boots
@@ -86,9 +86,9 @@
and thus should only be used in short bursts." and thus should only be used in short bursts."
icon_state = "atmosoak" icon_state = "atmosoak"
toggleable = 1 toggleable = TRUE
disruptable = 1 disruptable = TRUE
disruptive = 0 disruptive = FALSE
use_power_cost = 25 use_power_cost = 25
active_power_cost = 25 active_power_cost = 25
@@ -106,7 +106,7 @@
/obj/item/rig_module/atmos_shield/activate() /obj/item/rig_module/atmos_shield/activate()
if(!..()) if(!..())
return 0 return FALSE
var/mob/living/carbon/human/H = holder.wearer var/mob/living/carbon/human/H = holder.wearer
var/obj/item/clothing/shoes/boots = holder.boots var/obj/item/clothing/shoes/boots = holder.boots
@@ -137,7 +137,7 @@
/obj/item/rig_module/atmos_shield/deactivate() /obj/item/rig_module/atmos_shield/deactivate()
if(!..()) if(!..())
return 0 return FALSE
var/mob/living/carbon/human/H = holder.wearer var/mob/living/carbon/human/H = holder.wearer
var/obj/item/clothing/shoes/boots = holder.boots var/obj/item/clothing/shoes/boots = holder.boots
@@ -164,3 +164,90 @@
stored_max_pressure = 0 stored_max_pressure = 0
stored_max_temp = 0 stored_max_temp = 0
/obj/item/rig_module/atmos_shield/advanced
name = "advanced atmospheric protection enhancement suite"
desc = "The acronym of this device - A.P.E. - unlike its loosely related cousin, the R.A.D., is remarkably unintuitive. It has a changelog inscribed \
on the underside of the casing."
use_power_cost = 5
active_power_cost = 5
/obj/item/rig_module/faraday_shield
name = "Faraday Protection Shield"
desc = "The acronym of this device - F.P.S. - does not represent the application of the device."
description_info = "Instead of wrapping the user with a grounded mesh of wires and limiting mobility, this device instead creates an \
lattice within the electromagnetic field around the user. This field, while smelling pleasantly of ozone, will act as a means of grounding \
the suit's operator. This in turn will protect them from electrical attacks from Teslas and other electrical assaults provided the body is \
fully covered by the suit. This comes at the cost of concerningly high power consumption, and thus should only be used in short bursts."
icon_state = "elecsoak"
toggleable = TRUE
disruptable = TRUE
disruptive = FALSE
use_power_cost = 25
active_power_cost = 25
passive_power_cost = 0
module_cooldown = 30
activate_string = "Enable Supplemental Faraday Shielding"
deactivate_string = "Disable Supplemental Faraday Shielding"
interface_name = "faraday shielding system"
interface_desc = "Provides passive protection against electrical assaults, at the cost of power."
var/stored_siemens_coefficient = 0
var/stored_gloves_siemens_coefficient = 0
/obj/item/rig_module/faraday_shield/activate()
if(!..())
return FALSE
var/mob/living/carbon/human/H = holder.wearer
var/obj/item/clothing/shoes/boots = holder.boots
var/obj/item/clothing/suit/space/rig/chest = holder.chest
var/obj/item/clothing/head/helmet/space/rig/helmet = holder.helmet
var/obj/item/clothing/gloves/gauntlets/rig/gloves = holder.gloves
to_chat(H, span_boldnotice("You activate your suit's powered faraday shielding."))
stored_siemens_coefficient = holder.siemens_coefficient
stored_gloves_siemens_coefficient = gloves.siemens_coefficient
if(boots)
boots.siemens_coefficient = 0
if(chest)
chest.siemens_coefficient = 0
if(helmet)
helmet.siemens_coefficient = 0
if(gloves)
gloves.siemens_coefficient = 0
holder.siemens_coefficient = 0
/obj/item/rig_module/faraday_shield/deactivate()
if(!..())
return 0
var/mob/living/carbon/human/H = holder.wearer
var/obj/item/clothing/shoes/boots = holder.boots
var/obj/item/clothing/suit/space/rig/chest = holder.chest
var/obj/item/clothing/head/helmet/space/rig/helmet = holder.helmet
var/obj/item/clothing/gloves/gauntlets/rig/gloves = holder.gloves
to_chat(H, span_boldnotice("You deactivate your suit's powered faraday shielding."))
if(boots)
boots.siemens_coefficient = stored_siemens_coefficient
if(chest)
chest.siemens_coefficient = stored_siemens_coefficient
if(helmet)
helmet.siemens_coefficient = stored_siemens_coefficient
if(gloves)
gloves.siemens_coefficient = stored_gloves_siemens_coefficient
holder.siemens_coefficient = siemens_coefficient
stored_siemens_coefficient = 0
/obj/item/rig_module/faraday_shield/advanced
name = "advanced faraday protection shield suite"
desc = "The acronym of this device - F.P.S. - does not represent the application of the device. It has a changelog inscribed \
on the underside of the casing."
use_power_cost = 5
active_power_cost = 5

View File

@@ -31,6 +31,12 @@
/datum/rig_vision/meson/New() /datum/rig_vision/meson/New()
glasses = new /obj/item/clothing/glasses/meson glasses = new /obj/item/clothing/glasses/meson
/datum/rig_vision/graviton
mode = "graviton scanner"
/datum/rig_vision/graviton/New()
glasses = new /obj/item/clothing/glasses/graviton
/datum/rig_vision/sechud /datum/rig_vision/sechud
mode = "security HUD" mode = "security HUD"
@@ -58,9 +64,9 @@
interface_name = "optical scanners" interface_name = "optical scanners"
interface_desc = "An integrated multi-mode vision system." interface_desc = "An integrated multi-mode vision system."
usable = 1 usable = TRUE
toggleable = 1 toggleable = TRUE
disruptive = 0 disruptive = FALSE
module_cooldown = 0 module_cooldown = 0
engage_string = "Cycle Visor Mode" engage_string = "Cycle Visor Mode"
@@ -86,20 +92,20 @@
interface_name = "multi optical visor" interface_name = "multi optical visor"
interface_desc = "An integrated multi-mode vision system." interface_desc = "An integrated multi-mode vision system."
vision_modes = list(/datum/rig_vision/meson, vision_modes = list(/datum/rig_vision/graviton,
/datum/rig_vision/material,
/datum/rig_vision/nvg, /datum/rig_vision/nvg,
/datum/rig_vision/thermal, /datum/rig_vision/thermal,
/datum/rig_vision/sechud, /datum/rig_vision/sechud,
/datum/rig_vision/medhud) /datum/rig_vision/medhud)
/obj/item/rig_module/vision/meson /obj/item/rig_module/vision/meson
name = "hardsuit meson scanner" name = "hardsuit meson scanner"
desc = "A layered, translucent visor system for a hardsuit." desc = "A layered, translucent visor system for a hardsuit."
icon_state = "meson" icon_state = "meson"
usable = 0 usable = FALSE
interface_name = "meson scanner" interface_name = "meson scanner"
interface_desc = "An integrated meson scanner." interface_desc = "An integrated meson scanner."
@@ -112,20 +118,33 @@
desc = "A layered, translucent visor system for a hardsuit." desc = "A layered, translucent visor system for a hardsuit."
icon_state = "meson" icon_state = "meson"
usable = 0 usable = FALSE
interface_name = "material scanner" interface_name = "material scanner"
interface_desc = "An integrated material scanner." interface_desc = "An integrated material scanner."
vision_modes = list(/datum/rig_vision/material) vision_modes = list(/datum/rig_vision/material)
/obj/item/rig_module/vision/graviton
name = "hardsuit graviton visor"
desc = "A layered, translucent visor system for a hardsuit."
icon_state = "optics"
usable = FALSE
interface_name = "graviton visor"
interface_desc = "An integrated graviton scanner."
vision_modes = list(/datum/rig_vision/graviton)
/obj/item/rig_module/vision/mining /obj/item/rig_module/vision/mining
name = "hardsuit mining scanners" name = "hardsuit mining scanners"
desc = "A layered, translucent visor system for a hardsuit." desc = "A layered, translucent visor system for a hardsuit."
icon_state = "optics" icon_state = "optics"
usable = 0 usable = FALSE
interface_name = "mining scanners" interface_name = "mining scanners"
interface_desc = "An integrated mining scanner array." interface_desc = "An integrated mining scanner array."
@@ -139,7 +158,7 @@
desc = "A layered, translucent visor system for a hardsuit." desc = "A layered, translucent visor system for a hardsuit."
icon_state = "thermal" icon_state = "thermal"
usable = 0 usable = FALSE
interface_name = "thermal scanner" interface_name = "thermal scanner"
interface_desc = "An integrated thermal scanner." interface_desc = "An integrated thermal scanner."
@@ -152,7 +171,7 @@
desc = "A multi input night vision system for a hardsuit." desc = "A multi input night vision system for a hardsuit."
icon_state = "night" icon_state = "night"
usable = 0 usable = FALSE
interface_name = "night vision interface" interface_name = "night vision interface"
interface_desc = "An integrated night vision system." interface_desc = "An integrated night vision system."
@@ -165,7 +184,7 @@
desc = "A simple tactical information system for a hardsuit." desc = "A simple tactical information system for a hardsuit."
icon_state = "securityhud" icon_state = "securityhud"
usable = 0 usable = FALSE
interface_name = "security HUD" interface_name = "security HUD"
interface_desc = "An integrated security heads up display." interface_desc = "An integrated security heads up display."
@@ -178,7 +197,7 @@
desc = "A simple medical status indicator for a hardsuit." desc = "A simple medical status indicator for a hardsuit."
icon_state = "healthhud" icon_state = "healthhud"
usable = 0 usable = FALSE
interface_name = "medical HUD" interface_name = "medical HUD"
interface_desc = "An integrated medical heads up display." interface_desc = "An integrated medical heads up display."
@@ -194,12 +213,12 @@
/obj/item/rig_module/vision/engage() /obj/item/rig_module/vision/engage()
if(!..() || !vision_modes) if(!..() || !vision_modes)
return 0 return FALSE
// Don't cycle if this engage() is being called by activate(). // Don't cycle if this engage() is being called by activate().
if(!active) if(!active)
to_chat(holder.wearer, span_blue("You activate your visual sensors.")) to_chat(holder.wearer, span_blue("You activate your visual sensors."))
return 1 return TRUE
if(vision_modes.len > 1) if(vision_modes.len > 1)
vision_index++ vision_index++
@@ -210,7 +229,7 @@
to_chat(holder.wearer, span_blue("You cycle your sensors to <b>[vision.mode]</b> mode.")) to_chat(holder.wearer, span_blue("You cycle your sensors to <b>[vision.mode]</b> mode."))
else else
to_chat(holder.wearer, span_blue("Your sensors only have one mode.")) to_chat(holder.wearer, span_blue("Your sensors only have one mode."))
return 1 return TRUE
/obj/item/rig_module/vision/activate() /obj/item/rig_module/vision/activate()
if((. = ..()) && holder.wearer) if((. = ..()) && holder.wearer)

View File

@@ -33,9 +33,16 @@
/datum/rig_vision/material /datum/rig_vision/material
mode = "material scanner" mode = "material scanner"
/datum/rig_vision/material/New() /datum/rig_vision/material/New()
glasses = new /obj/item/clothing/glasses/material glasses = new /obj/item/clothing/glasses/material
/datum/rig_vision/graviton
mode = "graviton scanner"
/datum/rig_vision/graviton/New()
glasses = new /obj/item/clothing/glasses/graviton
/datum/rig_vision/sechud /datum/rig_vision/sechud
mode = "security HUD" mode = "security HUD"
@@ -57,9 +64,9 @@
interface_name = "optical scanners" interface_name = "optical scanners"
interface_desc = "An integrated multi-mode vision system." interface_desc = "An integrated multi-mode vision system."
usable = 1 usable = FALSE
toggleable = 1 toggleable = TRUE
disruptive = 0 disruptive = FALSE
module_cooldown = 0 module_cooldown = 0
engage_string = "Cycle Visor Mode" engage_string = "Cycle Visor Mode"
@@ -85,8 +92,7 @@
interface_name = "multi optical visor" interface_name = "multi optical visor"
interface_desc = "An integrated multi-mode vision system." interface_desc = "An integrated multi-mode vision system."
vision_modes = list(/datum/rig_vision/meson, vision_modes = list(/datum/rig_vision/graviton,
/datum/rig_vision/material,
/datum/rig_vision/nvg, /datum/rig_vision/nvg,
/datum/rig_vision/thermal, /datum/rig_vision/thermal,
/datum/rig_vision/sechud, /datum/rig_vision/sechud,
@@ -98,7 +104,7 @@
desc = "A layered, translucent visor system for a hardsuit." desc = "A layered, translucent visor system for a hardsuit."
icon_state = "meson" icon_state = "meson"
usable = 0 usable = FALSE
interface_name = "meson scanner" interface_name = "meson scanner"
interface_desc = "An integrated meson scanner." interface_desc = "An integrated meson scanner."
@@ -111,20 +117,33 @@
desc = "A layered, translucent visor system for a hardsuit." desc = "A layered, translucent visor system for a hardsuit."
icon_state = "material" icon_state = "material"
usable = 0 usable = FALSE
interface_name = "material scanner" interface_name = "material scanner"
interface_desc = "An integrated material scanner." interface_desc = "An integrated material scanner."
vision_modes = list(/datum/rig_vision/material) vision_modes = list(/datum/rig_vision/material)
/obj/item/rig_module/vision/graviton
name = "hardsuit graviton visor"
desc = "A layered, translucent visor system for a hardsuit."
icon_state = "optics"
usable = FALSE
interface_name = "graviton visor"
interface_desc = "An integrated graviton scanner."
vision_modes = list(/datum/rig_vision/graviton)
/obj/item/rig_module/vision/mining /obj/item/rig_module/vision/mining
name = "hardsuit mining scanners" name = "hardsuit mining scanners"
desc = "A layered, translucent visor system for a hardsuit." desc = "A layered, translucent visor system for a hardsuit."
icon_state = "optics" icon_state = "optics"
usable = 0 usable = FALSE
interface_name = "mining scanners" interface_name = "mining scanners"
interface_desc = "An integrated mining scanner array." interface_desc = "An integrated mining scanner array."
@@ -138,7 +157,7 @@
desc = "A layered, translucent visor system for a hardsuit." desc = "A layered, translucent visor system for a hardsuit."
icon_state = "thermal" icon_state = "thermal"
usable = 0 usable = FALSE
interface_name = "thermal scanner" interface_name = "thermal scanner"
interface_desc = "An integrated thermal scanner." interface_desc = "An integrated thermal scanner."
@@ -151,7 +170,7 @@
desc = "A multi input night vision system for a hardsuit." desc = "A multi input night vision system for a hardsuit."
icon_state = "night" icon_state = "night"
usable = 0 usable = FALSE
interface_name = "night vision interface" interface_name = "night vision interface"
interface_desc = "An integrated night vision system." interface_desc = "An integrated night vision system."
@@ -164,7 +183,7 @@
desc = "A simple tactical information system for a hardsuit." desc = "A simple tactical information system for a hardsuit."
icon_state = "securityhud" icon_state = "securityhud"
usable = 0 usable = FALSE
interface_name = "security HUD" interface_name = "security HUD"
interface_desc = "An integrated security heads up display." interface_desc = "An integrated security heads up display."
@@ -177,7 +196,7 @@
desc = "A simple medical status indicator for a hardsuit." desc = "A simple medical status indicator for a hardsuit."
icon_state = "healthhud" icon_state = "healthhud"
usable = 0 usable = FALSE
interface_name = "medical HUD" interface_name = "medical HUD"
interface_desc = "An integrated medical heads up display." interface_desc = "An integrated medical heads up display."
@@ -195,12 +214,12 @@
var/starting_up = !active var/starting_up = !active
if(!..() || !vision_modes) if(!..() || !vision_modes)
return 0 return FALSE
// Don't cycle if this engage() is being called by activate(). // Don't cycle if this engage() is being called by activate().
if(starting_up) if(starting_up)
to_chat(holder.wearer, span_blue("You activate your visual sensors.")) to_chat(holder.wearer, span_blue("You activate your visual sensors."))
return 1 return TRUE
if(vision_modes.len > 1) if(vision_modes.len > 1)
vision_index++ vision_index++
@@ -211,7 +230,7 @@
to_chat(holder.wearer, span_blue("You cycle your sensors to <b>[vision.mode]</b> mode.")) to_chat(holder.wearer, span_blue("You cycle your sensors to <b>[vision.mode]</b> mode."))
else else
to_chat(holder.wearer, span_blue("Your sensors only have one mode.")) to_chat(holder.wearer, span_blue("Your sensors only have one mode."))
return 1 return TRUE
/obj/item/rig_module/vision/activate() /obj/item/rig_module/vision/activate()
if((. = ..()) && holder.wearer) if((. = ..()) && holder.wearer)

View File

@@ -172,7 +172,7 @@
suit_type = "hazmat hardsuit" suit_type = "hazmat hardsuit"
desc = "An Anomalous Material Interaction hardsuit that protects against the strangest energies the universe can throw at it." desc = "An Anomalous Material Interaction hardsuit that protects against the strangest energies the universe can throw at it."
icon_state = "science_rig" icon_state = "science_rig"
armor = list(melee = 45, bullet = 5, laser = 45, energy = 80, bomb = 60, bio = 100, rad = 100) armor = list(melee = 45, bullet = 5, laser = 45, energy = 80, bomb = 100, bio = 100, rad = 100)
slowdown = 0.5 slowdown = 0.5
offline_vision_restriction = 1 offline_vision_restriction = 1
siemens_coefficient= 0.75 siemens_coefficient= 0.75

View File

@@ -515,9 +515,11 @@
to_chat(user, span_warning("The world is not ready for such a technological singularity.")) to_chat(user, span_warning("The world is not ready for such a technological singularity."))
return return
to_chat(user, span_notice("You assimilate the [R] into the [src]. Mimicking its stats and appearance.")) to_chat(user, span_notice("You assimilate the [R] into the [src]. Mimicking its stats and appearance."))
rigsuit_max_pressure = R.rigsuit_max_pressure
for(var/obj/item/piece in list(gloves,helmet,boots,chest)) for(var/obj/item/piece in list(gloves,helmet,boots,chest))
piece.armor = R.armor.Copy() piece.armor = R.armor.Copy()
piece.max_pressure_protection = R.max_pressure_protection piece.max_pressure_protection = R.rigsuit_max_pressure
piece.max_heat_protection_temperature = R.max_heat_protection_temperature piece.max_heat_protection_temperature = R.max_heat_protection_temperature
//I dislike this piece of code, but not every rig has the full set of parts //I dislike this piece of code, but not every rig has the full set of parts
if(R.gloves) if(R.gloves)
@@ -560,10 +562,11 @@
set category = "Object" set category = "Object"
if(assimilated_rig) if(assimilated_rig)
rigsuit_max_pressure = initial(rigsuit_max_pressure)
for(var/obj/item/piece in list(gloves,helmet,boots,chest)) for(var/obj/item/piece in list(gloves,helmet,boots,chest))
piece.armor = armor.Copy() piece.armor = armor.Copy()
piece.max_pressure_protection = initial(piece.max_pressure_protection) piece.max_pressure_protection = rigsuit_max_pressure
piece.max_heat_protection_temperature = initial(piece.max_heat_protection_temperature) piece.max_heat_protection_temperature = max_heat_protection_temperature
piece.icon_state = src.icon_state piece.icon_state = src.icon_state
piece.icon = initial(piece.icon) piece.icon = initial(piece.icon)
piece.default_worn_icon = initial(piece.default_worn_icon) piece.default_worn_icon = initial(piece.default_worn_icon)

View File

@@ -17,6 +17,56 @@
materials = list(MAT_PLASTEEL = 12000, MAT_GOLD = 3000, MAT_GRAPHITE = 3000, MAT_OSMIUM = 1000, MAT_PLASTIC = 5000) materials = list(MAT_PLASTEEL = 12000, MAT_GOLD = 3000, MAT_GRAPHITE = 3000, MAT_OSMIUM = 1000, MAT_PLASTIC = 5000)
build_path = /obj/item/rig/robotics build_path = /obj/item/rig/robotics
// Station Suits
/datum/design_techweb/mechfab/modsuit/eva_controller
name = "EVA Suit Control Module"
desc = "An engineering Hardsuit featuring a visor with welding protection, iommunity to radiation, and insulated gauntlets. It is well insulated against the heat."
id = "eva_rig_module"
materials = list(MAT_PLASTEEL = 16000, MAT_GOLD = 3000, MAT_GRAPHITE = 4500, MAT_OSMIUM = 1000, MAT_PLASTIC = 4500, MAT_LEAD = 2000, MAT_STEEL = 2000)
build_path = /obj/item/rig/eva
/datum/design_techweb/mechfab/modsuit/eva_ce_controller
name = "Advanced EVA Suit Control Module"
desc = "A more advanced EVA hardsuit with the same features, plus additional atmospheric protection and advanced magboots. Finely polished for engineering clout."
id = "advanced_eva_rig_module"
materials = list(MAT_PLASTEEL = 16000, MAT_GOLD = 6000, MAT_GRAPHITE = 4500, MAT_OSMIUM = 4000, MAT_PLASTIC = 8000, MAT_LEAD = 2000, MAT_PHORON = 6000, MAT_STEEL = 3000, MAT_TITANIUM = 2000)
build_path = /obj/item/rig/ce
/datum/design_techweb/mechfab/modsuit/ami_controller
name = "AMI Suit Control Module"
desc = "A hardsuit for the rigors of science. In theory it should protect the wearer from the stranger things that the universe can offer. In 'theory.'"
id = "ami_rig_module"
materials = list(MAT_PLASTEEL = 12000, MAT_GOLD = 3000, MAT_GRAPHITE = 3000, MAT_OSMIUM = 2000, MAT_PLASTIC = 6000, MAT_LEAD = 2000, MAT_PHORON = 12000)
build_path = /obj/item/rig/hazmat
/datum/design_techweb/mechfab/modsuit/industrial_controller
name = "Industrial Suit Control Module"
desc = "Ugly as hell, and heavier than I-Beam. Designed to protect thickly beardered miners in the depths."
id = "industrial_rig_module"
materials = list(MAT_PLASTEEL = 14000, MAT_GOLD = 4000, MAT_GRAPHITE = 5000, MAT_OSMIUM = 1000, MAT_PLASTIC = 5000, MAT_STEEL = 10000, MAT_TITANIUM = 2000)
build_path = /obj/item/rig/industrial
/datum/design_techweb/mechfab/modsuit/hazard_controller
name = "Hazard Suit Control Module"
desc = "A security hardsuit with protection for bringing justice into the blackness of the void."
id = "hazard_rig_module"
materials = list(MAT_PLASTEEL = 14000, MAT_GOLD = 4000, MAT_GRAPHITE = 5000, MAT_OSMIUM = 1000, MAT_PLASTIC = 5000, MAT_STEEL = 10000, MAT_TITANIUM = 2000)
build_path = /obj/item/rig/hazard
/datum/design_techweb/mechfab/modsuit/rescue_controller
name = "Rescue Suit Control Module"
desc = "A hardsuit designed for medical rescue in hazardous environments. Just don't expect it to stop a bullet."
id = "medical_rig_module"
materials = list(MAT_PLASTEEL = 12000, MAT_GOLD = 6000, MAT_GRAPHITE = 3000, MAT_OSMIUM = 4000, MAT_PLASTIC = 10000, MAT_LEAD = 2000)
build_path = /obj/item/rig/medical
/datum/design_techweb/mechfab/modsuit/zero_controller
name = "Zero Suit Control Module"
desc = "A very bare bones and stylish suit designed for pilots with advanced holographic interfaces for the task."
id = "zero_rig_module"
materials = list(MAT_PLASTEEL = 12000, MAT_GOLD = 3000, MAT_GRAPHITE = 3000, MAT_OSMIUM = 1000, MAT_PLASTIC = 5000)
build_path =/obj/item/rig/zero
///Modsuit Modules ///Modsuit Modules
/datum/design_techweb/mechfab/modsuit/modules /datum/design_techweb/mechfab/modsuit/modules
//req_tech = list(TECH_MATERIAL = 6, TECH_ENGINEERING = 5, TECH_PHORON = 3, TECH_MAGNET = 4, TECH_POWER = 6) //req_tech = list(TECH_MATERIAL = 6, TECH_ENGINEERING = 5, TECH_PHORON = 3, TECH_MAGNET = 4, TECH_POWER = 6)
@@ -24,26 +74,38 @@
RND_CATEGORY_MODSUIT_MODULES RND_CATEGORY_MODSUIT_MODULES
) )
// /datum/design_techweb/mechfab/modsuit/rescuepharm /datum/design_techweb/mechfab/modsuit/rescuepharm
// name = "hardsuit mounted rescue pharmacy" name = "hardsuit mounted rescue pharmacy"
// desc = "A suit mounted rescue drug dispenser." desc = "A suit mounted rescue drug dispenser."
// id = "rig_component_rescuepharm" id = "rig_component_rescuepharm"
// //req_tech = list(TECH_MATERIAL = 5, TECH_ENGINEERING = 5, TECH_MAGNET = 5, TECH_BIO = 4) //req_tech = list(TECH_MATERIAL = 5, TECH_ENGINEERING = 5, TECH_MAGNET = 5, TECH_BIO = 4)
// materials = list(MAT_PLASTEEL = 3000, MAT_GRAPHITE = 2000, MAT_PLASTIC = 3500, MAT_SILVER = 1750, MAT_GOLD = 1250) materials = list(MAT_PLASTEEL = 3000, MAT_GRAPHITE = 2000, MAT_PLASTIC = 3500, MAT_SILVER = 1750, MAT_GOLD = 1250)
// build_path = /obj/item/rig_module/rescue_pharm build_path = /obj/item/rig_module/rescue_pharm
// category = list( category = list(
// RND_CATEGORY_MODSUIT_MODULES + RND_SUBCATEGORY_MODSUIT_MODULES_MEDICAL RND_CATEGORY_MODSUIT_MODULES + RND_SUBCATEGORY_MODSUIT_MODULES_MEDICAL
// ) )
// departmental_flags = DEPARTMENT_BITFLAG_MEDICAL departmental_flags = DEPARTMENT_BITFLAG_SCIENCE | DEPARTMENT_BITFLAG_MEDICAL
// /datum/design_techweb/mechfab/modsuit/mounted_sizegun /datum/design_techweb/mechfab/modsuit/pat
// name = "hardsuit mounted size gun" name = "hardsuit mounted P.A.T."
// desc = "A suit mounted size gun. Features interface-based target size adjustment for hands-free size-altering shenanigans." desc = "Pre-emptive Access Tunneling for first responders to access areas they normally cannot. Use responsibly."
// id = "rig_gun_sizegun" id = "rig_component_pat"
// //req_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 3, TECH_POWER = 2) //req_tech = list(TECH_MATERIAL = 5, TECH_ENGINEERING = 5, TECH_MAGNET = 5, TECH_BIO = 4)
// materials = list(MAT_STEEL = 3000, MAT_GLASS = 2000, MAT_URANIUM = 2000) materials = list(MAT_PLASTEEL = 3000, MAT_GRAPHITE = 2000, MAT_SILVER = 1750, MAT_GOLD = 1250, MAT_OSMIUM = 2000)
// build_path = /obj/item/rig_module/mounted/sizegun build_path = /obj/item/rig_module/pat_module
// //Not giving this a department flag intentionally. category = list(
RND_CATEGORY_MODSUIT_MODULES + RND_SUBCATEGORY_MODSUIT_MODULES_MEDICAL
)
departmental_flags = DEPARTMENT_BITFLAG_SCIENCE | DEPARTMENT_BITFLAG_MEDICAL
/datum/design_techweb/mechfab/modsuit/mounted_sizegun
name = "hardsuit mounted size gun"
desc = "A suit mounted size gun. Features interface-based target size adjustment for hands-free size-altering shenanigans."
id = "rig_gun_sizegun"
//req_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 3, TECH_POWER = 2)
materials = list(MAT_STEEL = 3000, MAT_GLASS = 2000, MAT_URANIUM = 2000)
build_path = /obj/item/rig_module/mounted/sizegun
//Not giving this a department flag intentionally.tIT
/datum/design_techweb/mechfab/modsuit/modules/jetpack /datum/design_techweb/mechfab/modsuit/modules/jetpack
name = "hardsuit maneuvering jets" name = "hardsuit maneuvering jets"
@@ -87,7 +149,7 @@
category = list( category = list(
RND_CATEGORY_MODSUIT_MODULES + RND_SUBCATEGORY_MODSUIT_MODULES_SUPPLY RND_CATEGORY_MODSUIT_MODULES + RND_SUBCATEGORY_MODSUIT_MODULES_SUPPLY
) )
departmental_flags = DEPARTMENT_BITFLAG_SECURITY departmental_flags = DEPARTMENT_BITFLAG_SCIENCE | DEPARTMENT_BITFLAG_SECURITY
/datum/design_techweb/mechfab/modsuit/modules/healthanalyzer /datum/design_techweb/mechfab/modsuit/modules/healthanalyzer
name = "hardsuit health analyzer" name = "hardsuit health analyzer"
@@ -99,7 +161,7 @@
category = list( category = list(
RND_CATEGORY_MODSUIT_MODULES + RND_SUBCATEGORY_MODSUIT_MODULES_MEDICAL RND_CATEGORY_MODSUIT_MODULES + RND_SUBCATEGORY_MODSUIT_MODULES_MEDICAL
) )
departmental_flags = DEPARTMENT_BITFLAG_MEDICAL departmental_flags = DEPARTMENT_BITFLAG_SCIENCE | DEPARTMENT_BITFLAG_MEDICAL
/datum/design_techweb/mechfab/modsuit/modules/drill /datum/design_techweb/mechfab/modsuit/modules/drill
name = "hardsuit mounted drill" name = "hardsuit mounted drill"
@@ -111,7 +173,7 @@
category = list( category = list(
RND_CATEGORY_MODSUIT_MODULES + RND_SUBCATEGORY_MODSUIT_MODULES_SUPPLY RND_CATEGORY_MODSUIT_MODULES + RND_SUBCATEGORY_MODSUIT_MODULES_SUPPLY
) )
departmental_flags = DEPARTMENT_BITFLAG_CARGO departmental_flags = DEPARTMENT_BITFLAG_SCIENCE | DEPARTMENT_BITFLAG_CARGO
/datum/design_techweb/mechfab/modsuit/modules/excdrill /datum/design_techweb/mechfab/modsuit/modules/excdrill
name = "hardsuit mounted excavation drill" name = "hardsuit mounted excavation drill"
@@ -123,7 +185,7 @@
category = list( category = list(
RND_CATEGORY_MODSUIT_MODULES + RND_SUBCATEGORY_MODSUIT_MODULES_SCIENCE RND_CATEGORY_MODSUIT_MODULES + RND_SUBCATEGORY_MODSUIT_MODULES_SCIENCE
) )
departmental_flags = DEPARTMENT_BITFLAG_SCIENCE departmental_flags = DEPARTMENT_BITFLAG_SCIENCE | DEPARTMENT_BITFLAG_CARGO
/datum/design_techweb/mechfab/modsuit/modules/anomscanner /datum/design_techweb/mechfab/modsuit/modules/anomscanner
name = "hardsuit mounted anomaly scanner" name = "hardsuit mounted anomaly scanner"
@@ -135,7 +197,7 @@
category = list( category = list(
RND_CATEGORY_MODSUIT_MODULES + RND_SUBCATEGORY_MODSUIT_MODULES_SCIENCE RND_CATEGORY_MODSUIT_MODULES + RND_SUBCATEGORY_MODSUIT_MODULES_SCIENCE
) )
departmental_flags = DEPARTMENT_BITFLAG_SCIENCE departmental_flags = DEPARTMENT_BITFLAG_SCIENCE | DEPARTMENT_BITFLAG_CARGO
/datum/design_techweb/mechfab/modsuit/modules/orescanner /datum/design_techweb/mechfab/modsuit/modules/orescanner
name = "hardsuit mounted ore scanner" name = "hardsuit mounted ore scanner"
@@ -147,7 +209,7 @@
category = list( category = list(
RND_CATEGORY_MODSUIT_MODULES + RND_SUBCATEGORY_MODSUIT_MODULES_SUPPLY RND_CATEGORY_MODSUIT_MODULES + RND_SUBCATEGORY_MODSUIT_MODULES_SUPPLY
) )
departmental_flags = DEPARTMENT_BITFLAG_CARGO departmental_flags = DEPARTMENT_BITFLAG_SCIENCE | DEPARTMENT_BITFLAG_CARGO
/datum/design_techweb/mechfab/modsuit/modules/rcd /datum/design_techweb/mechfab/modsuit/modules/rcd
name = "hardsuit mounted rcd" name = "hardsuit mounted rcd"
@@ -159,7 +221,7 @@
category = list( category = list(
RND_CATEGORY_MODSUIT_MODULES + RND_SUBCATEGORY_MODSUIT_MODULES_ENGINEERING RND_CATEGORY_MODSUIT_MODULES + RND_SUBCATEGORY_MODSUIT_MODULES_ENGINEERING
) )
departmental_flags = DEPARTMENT_BITFLAG_ENGINEERING departmental_flags = DEPARTMENT_BITFLAG_SCIENCE | DEPARTMENT_BITFLAG_ENGINEERING
/datum/design_techweb/mechfab/modsuit/modules/paperdispenser /datum/design_techweb/mechfab/modsuit/modules/paperdispenser
name = "hardsuit mounted paper dispenser" name = "hardsuit mounted paper dispenser"
@@ -171,7 +233,7 @@
category = list( category = list(
RND_CATEGORY_MODSUIT_MODULES + RND_SUBCATEGORY_MODSUIT_MODULES_SERVICE RND_CATEGORY_MODSUIT_MODULES + RND_SUBCATEGORY_MODSUIT_MODULES_SERVICE
) )
departmental_flags = DEPARTMENT_BITFLAG_SERVICE departmental_flags = DEPARTMENT_BITFLAG_SCIENCE | DEPARTMENT_BITFLAG_SERVICE
/datum/design_techweb/mechfab/modsuit/modules/pen /datum/design_techweb/mechfab/modsuit/modules/pen
name = "hardsuit mounted pen" name = "hardsuit mounted pen"
@@ -183,7 +245,7 @@
category = list( category = list(
RND_CATEGORY_MODSUIT_MODULES + RND_SUBCATEGORY_MODSUIT_MODULES_SERVICE RND_CATEGORY_MODSUIT_MODULES + RND_SUBCATEGORY_MODSUIT_MODULES_SERVICE
) )
departmental_flags = DEPARTMENT_BITFLAG_SERVICE departmental_flags = DEPARTMENT_BITFLAG_SCIENCE | DEPARTMENT_BITFLAG_SERVICE
/datum/design_techweb/mechfab/modsuit/modules/grenade_metalfoam /datum/design_techweb/mechfab/modsuit/modules/grenade_metalfoam
name = "hardsuit metalfoam-bomb launcher" name = "hardsuit metalfoam-bomb launcher"
@@ -195,7 +257,7 @@
category = list( category = list(
RND_CATEGORY_MODSUIT_MODULES + RND_SUBCATEGORY_MODSUIT_MODULES_ENGINEERING RND_CATEGORY_MODSUIT_MODULES + RND_SUBCATEGORY_MODSUIT_MODULES_ENGINEERING
) )
departmental_flags = DEPARTMENT_BITFLAG_ENGINEERING departmental_flags = DEPARTMENT_BITFLAG_SCIENCE | DEPARTMENT_BITFLAG_ENGINEERING
/datum/design_techweb/mechfab/modsuit/modules/grenade_flash /datum/design_techweb/mechfab/modsuit/modules/grenade_flash
name = "hardsuit flashbang launcher" name = "hardsuit flashbang launcher"
@@ -207,7 +269,7 @@
category = list( category = list(
RND_CATEGORY_MODSUIT_MODULES + RND_SUBCATEGORY_MODSUIT_MODULES_SECURITY RND_CATEGORY_MODSUIT_MODULES + RND_SUBCATEGORY_MODSUIT_MODULES_SECURITY
) )
departmental_flags = DEPARTMENT_BITFLAG_SECURITY departmental_flags = DEPARTMENT_BITFLAG_SCIENCE | DEPARTMENT_BITFLAG_SECURITY
/datum/design_techweb/mechfab/modsuit/modules/grenade_cleanfoam /datum/design_techweb/mechfab/modsuit/modules/grenade_cleanfoam
name = "hardsuit cleaning-foam-bomb launcher" name = "hardsuit cleaning-foam-bomb launcher"
@@ -219,7 +281,7 @@
category = list( category = list(
RND_CATEGORY_MODSUIT_MODULES + RND_SUBCATEGORY_MODSUIT_MODULES_SERVICE RND_CATEGORY_MODSUIT_MODULES + RND_SUBCATEGORY_MODSUIT_MODULES_SERVICE
) )
departmental_flags = DEPARTMENT_BITFLAG_SECURITY departmental_flags = DEPARTMENT_BITFLAG_SCIENCE | DEPARTMENT_BITFLAG_SECURITY
/datum/design_techweb/mechfab/modsuit/modules/taser /datum/design_techweb/mechfab/modsuit/modules/taser
name = "hardsuit taser" name = "hardsuit taser"
@@ -231,7 +293,7 @@
category = list( category = list(
RND_CATEGORY_MODSUIT_MODULES + RND_SUBCATEGORY_MODSUIT_MODULES_SECURITY RND_CATEGORY_MODSUIT_MODULES + RND_SUBCATEGORY_MODSUIT_MODULES_SECURITY
) )
departmental_flags = DEPARTMENT_BITFLAG_SECURITY departmental_flags = DEPARTMENT_BITFLAG_SCIENCE | DEPARTMENT_BITFLAG_SECURITY
/datum/design_techweb/mechfab/modsuit/modules/egun /datum/design_techweb/mechfab/modsuit/modules/egun
name = "hardsuit egun" name = "hardsuit egun"
@@ -243,7 +305,7 @@
category = list( category = list(
RND_CATEGORY_MODSUIT_MODULES + RND_SUBCATEGORY_MODSUIT_MODULES_SECURITY RND_CATEGORY_MODSUIT_MODULES + RND_SUBCATEGORY_MODSUIT_MODULES_SECURITY
) )
departmental_flags = DEPARTMENT_BITFLAG_SECURITY departmental_flags = DEPARTMENT_BITFLAG_SCIENCE | DEPARTMENT_BITFLAG_SECURITY
/datum/design_techweb/mechfab/modsuit/modules/mop /datum/design_techweb/mechfab/modsuit/modules/mop
name = "hardsuit intense cleaning device" name = "hardsuit intense cleaning device"
@@ -255,7 +317,7 @@
category = list( category = list(
RND_CATEGORY_MODSUIT_MODULES + RND_SUBCATEGORY_MODSUIT_MODULES_SERVICE RND_CATEGORY_MODSUIT_MODULES + RND_SUBCATEGORY_MODSUIT_MODULES_SERVICE
) )
departmental_flags = DEPARTMENT_BITFLAG_SERVICE departmental_flags = DEPARTMENT_BITFLAG_SCIENCE | DEPARTMENT_BITFLAG_SERVICE
/datum/design_techweb/mechfab/modsuit/modules/sprinter /datum/design_techweb/mechfab/modsuit/modules/sprinter
name = "hardsuit overclocker" name = "hardsuit overclocker"
@@ -275,7 +337,7 @@
category = list( category = list(
RND_CATEGORY_MODSUIT_MODULES + RND_SUBCATEGORY_MODSUIT_MODULES_ENGINEERING RND_CATEGORY_MODSUIT_MODULES + RND_SUBCATEGORY_MODSUIT_MODULES_ENGINEERING
) )
departmental_flags = DEPARTMENT_BITFLAG_ENGINEERING departmental_flags = DEPARTMENT_BITFLAG_SCIENCE | DEPARTMENT_BITFLAG_ENGINEERING
/datum/design_techweb/mechfab/modsuit/modules/material /datum/design_techweb/mechfab/modsuit/modules/material
name = "hardsuit material visor" name = "hardsuit material visor"
@@ -287,7 +349,7 @@
category = list( category = list(
RND_CATEGORY_MODSUIT_MODULES + RND_SUBCATEGORY_MODSUIT_MODULES_SUPPLY RND_CATEGORY_MODSUIT_MODULES + RND_SUBCATEGORY_MODSUIT_MODULES_SUPPLY
) )
departmental_flags = DEPARTMENT_BITFLAG_CARGO departmental_flags = DEPARTMENT_BITFLAG_SCIENCE | DEPARTMENT_BITFLAG_CARGO
/datum/design_techweb/mechfab/modsuit/modules/nvg /datum/design_techweb/mechfab/modsuit/modules/nvg
name = "hardsuit night-vision visor" name = "hardsuit night-vision visor"
@@ -299,7 +361,51 @@
category = list( category = list(
RND_CATEGORY_MODSUIT_MODULES + RND_SUBCATEGORY_MODSUIT_MODULES_SECURITY RND_CATEGORY_MODSUIT_MODULES + RND_SUBCATEGORY_MODSUIT_MODULES_SECURITY
) )
departmental_flags = DEPARTMENT_BITFLAG_SECURITY departmental_flags = DEPARTMENT_BITFLAG_SCIENCE | DEPARTMENT_BITFLAG_SECURITY
/datum/design_techweb/mechfab/modsuit/modules/thermal
name = "hardsuit thermal scanning visor"
desc = "A compact thermal visor for a hardsuit."
id = "rig_component_thermal"
materials = list(MAT_PLASTEEL = 2000, MAT_GRAPHITE = 1500, MAT_OSMIUM = 500, MAT_URANIUM = 1000)
build_path = /obj/item/rig_module/vision/thermal
category = list(
RND_CATEGORY_MODSUIT_MODULES + RND_SUBCATEGORY_MODSUIT_MODULES_SECURITY
)
departmental_flags = DEPARTMENT_BITFLAG_SCIENCE | DEPARTMENT_BITFLAG_SECURITY
/datum/design_techweb/mechfab/modsuit/modules/multi
name = "hardsuit complete visor suite"
desc = "An optical package for the bounty-hunter in you. Contains all available visors in a tight package."
id = "rig_component_multi_visor"
materials = list(MAT_PLASTEEL = 8000, MAT_GRAPHITE = 5500, MAT_OSMIUM = 4500, MAT_URANIUM = 6000, MAT_MORPHIUM = 2000)
build_path = /obj/item/rig_module/vision/multi
category = list(
RND_CATEGORY_MODSUIT_MODULES + RND_SUBCATEGORY_MODSUIT_MODULES_SECURITY
)
/datum/design_techweb/mechfab/modsuit/modules/mining
name = "hardsuit mining scanners"
desc = "A visor suite for miners featuring Material and Mesons."
id = "rig_component_mining"
//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
category = list(
RND_CATEGORY_MODSUIT_MODULES + RND_SUBCATEGORY_MODSUIT_MODULES_SUPPLY
)
departmental_flags = DEPARTMENT_BITFLAG_SCIENCE | DEPARTMENT_BITFLAG_CARGO
/datum/design_techweb/mechfab/modsuit/modules/graviton
name = "hardsuit graviton scanners"
desc = "Advanced Visor suite that combines the features of mesons and material into a single package."
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
category = list(
RND_CATEGORY_MODSUIT_MODULES + RND_SUBCATEGORY_MODSUIT_MODULES_SCIENCE
)
/datum/design_techweb/mechfab/modsuit/modules/sechud /datum/design_techweb/mechfab/modsuit/modules/sechud
name = "hardsuit security visor" name = "hardsuit security visor"
@@ -311,7 +417,7 @@
category = list( category = list(
RND_CATEGORY_MODSUIT_MODULES + RND_SUBCATEGORY_MODSUIT_MODULES_SECURITY RND_CATEGORY_MODSUIT_MODULES + RND_SUBCATEGORY_MODSUIT_MODULES_SECURITY
) )
departmental_flags = DEPARTMENT_BITFLAG_SECURITY departmental_flags = DEPARTMENT_BITFLAG_SCIENCE | DEPARTMENT_BITFLAG_SECURITY
/datum/design_techweb/mechfab/modsuit/modules/medhud /datum/design_techweb/mechfab/modsuit/modules/medhud
name = "hardsuit medical visor" name = "hardsuit medical visor"
@@ -323,7 +429,7 @@
category = list( category = list(
RND_CATEGORY_MODSUIT_MODULES + RND_SUBCATEGORY_MODSUIT_MODULES_MEDICAL RND_CATEGORY_MODSUIT_MODULES + RND_SUBCATEGORY_MODSUIT_MODULES_MEDICAL
) )
departmental_flags = DEPARTMENT_BITFLAG_MEDICAL departmental_flags = DEPARTMENT_BITFLAG_SCIENCE | DEPARTMENT_BITFLAG_MEDICAL
/datum/design_techweb/mechfab/modsuit/modules/voice /datum/design_techweb/mechfab/modsuit/modules/voice
name = "hardsuit voice-changer" name = "hardsuit voice-changer"
@@ -346,7 +452,6 @@
category = list( category = list(
RND_CATEGORY_MODSUIT_MODULES + RND_SUBCATEGORY_MODSUIT_MODULES_SCIENCE RND_CATEGORY_MODSUIT_MODULES + RND_SUBCATEGORY_MODSUIT_MODULES_SCIENCE
) )
departmental_flags = DEPARTMENT_BITFLAG_SCIENCE
/datum/design_techweb/mechfab/modsuit/modules/datajack /datum/design_techweb/mechfab/modsuit/modules/datajack
name = "hardsuit datajack" name = "hardsuit datajack"
@@ -369,7 +474,7 @@
category = list( category = list(
RND_CATEGORY_MODSUIT_MODULES + RND_SUBCATEGORY_MODSUIT_MODULES_MEDICAL RND_CATEGORY_MODSUIT_MODULES + RND_SUBCATEGORY_MODSUIT_MODULES_MEDICAL
) )
departmental_flags = DEPARTMENT_BITFLAG_MEDICAL departmental_flags = DEPARTMENT_BITFLAG_SCIENCE | DEPARTMENT_BITFLAG_MEDICAL
/datum/design_techweb/mechfab/modsuit/modules/teleporter /datum/design_techweb/mechfab/modsuit/modules/teleporter
name = "hardsuit teleporter system" name = "hardsuit teleporter system"
@@ -381,7 +486,7 @@
category = list( category = list(
RND_CATEGORY_MODSUIT_MODULES + RND_SUBCATEGORY_MODSUIT_MODULES_ENGINEERING RND_CATEGORY_MODSUIT_MODULES + RND_SUBCATEGORY_MODSUIT_MODULES_ENGINEERING
) )
departmental_flags = DEPARTMENT_BITFLAG_ENGINEERING departmental_flags = DEPARTMENT_BITFLAG_SCIENCE | DEPARTMENT_BITFLAG_ENGINEERING
/datum/design_techweb/mechfab/modsuit/modules/radshield /datum/design_techweb/mechfab/modsuit/modules/radshield
name = "hardsuit radiation absorption device" name = "hardsuit radiation absorption device"
@@ -393,7 +498,7 @@
category = list( category = list(
RND_CATEGORY_MODSUIT_MODULES + RND_SUBCATEGORY_MODSUIT_MODULES_ENGINEERING RND_CATEGORY_MODSUIT_MODULES + RND_SUBCATEGORY_MODSUIT_MODULES_ENGINEERING
) )
departmental_flags = DEPARTMENT_BITFLAG_ENGINEERING departmental_flags = DEPARTMENT_BITFLAG_SCIENCE | DEPARTMENT_BITFLAG_ENGINEERING
/datum/design_techweb/mechfab/modsuit/modules/radshield_adv /datum/design_techweb/mechfab/modsuit/modules/radshield_adv
name = "hardsuit advanced radiation absorption device" name = "hardsuit advanced radiation absorption device"
@@ -405,7 +510,7 @@
category = list( category = list(
RND_CATEGORY_MODSUIT_MODULES + RND_SUBCATEGORY_MODSUIT_MODULES_ENGINEERING RND_CATEGORY_MODSUIT_MODULES + RND_SUBCATEGORY_MODSUIT_MODULES_ENGINEERING
) )
departmental_flags = DEPARTMENT_BITFLAG_ENGINEERING departmental_flags = DEPARTMENT_BITFLAG_SCIENCE | DEPARTMENT_BITFLAG_ENGINEERING
/datum/design_techweb/mechfab/modsuit/modules/atmosshield /datum/design_techweb/mechfab/modsuit/modules/atmosshield
name = "hardsuit atmospheric protection enhancement suite" name = "hardsuit atmospheric protection enhancement suite"
@@ -417,4 +522,38 @@
category = list( category = list(
RND_CATEGORY_MODSUIT_MODULES + RND_SUBCATEGORY_MODSUIT_MODULES_ENGINEERING RND_CATEGORY_MODSUIT_MODULES + RND_SUBCATEGORY_MODSUIT_MODULES_ENGINEERING
) )
departmental_flags = DEPARTMENT_BITFLAG_ENGINEERING departmental_flags = DEPARTMENT_BITFLAG_SCIENCE | DEPARTMENT_BITFLAG_ENGINEERING
/datum/design_techweb/mechfab/modsuit/modules/atmosshield_adv
name = "hardsuit advanced atmospheric protection enhancement suite"
desc = "An advanced atmospheric protection suite, providing protection against both pressure and heat. At the cost of concerningly high power draw."
id = "rig_component_atmosshield_adv"
//req_tech = list(TECH_MATERIAL = 7, TECH_ENGINEERING = 5, TECH_MAGNET = 5, TECH_POWER = 6, TECH_BLUESPACE = 4)
materials = list(MAT_PLASTEEL = 8000, MAT_DURASTEEL = 4000, MAT_GRAPHITE = 9000, MAT_OSMIUM = 7500, MAT_PHORON = 6000, MAT_SILVER = 8000, MAT_GOLD = 6000)
build_path = /obj/item/rig_module/atmos_shield
category = list(
RND_CATEGORY_MODSUIT_MODULES + RND_SUBCATEGORY_MODSUIT_MODULES_ENGINEERING
)
departmental_flags = DEPARTMENT_BITFLAG_SCIENCE | DEPARTMENT_BITFLAG_ENGINEERING
/datum/design_techweb/mechfab/modsuit/modules/faradayshield
name = "hardsuit electrical protection enhancement suite"
desc = "An advanced faraday shielding suite, providing protection against electrical discharges. At the cost of concerningly high power draw."
id = "rig_component_faradayshield"
materials = list(MAT_PLASTEEL = 8000, MAT_GRAPHITE = 8000, MAT_OSMIUM = 6000, MAT_PHORON = 6000, MAT_SILVER = 4000, MAT_GOLD = 4000, MAT_PLASTIC = 6000)
build_path = /obj/item/rig_module/faraday_shield
category = list(
RND_CATEGORY_MODSUIT_MODULES + RND_SUBCATEGORY_MODSUIT_MODULES_ENGINEERING
)
departmental_flags = DEPARTMENT_BITFLAG_SCIENCE | DEPARTMENT_BITFLAG_ENGINEERING
/datum/design_techweb/mechfab/modsuit/modules/faradayshield/advanced
name = "hardsuit advanced electrical protection enhancement suite"
desc = "An optimized faraday shielding suite, providing protection against electrical discharges. At the cost of concerningly high power draw."
id = "rig_component_faradayshield_adv"
materials = list(MAT_PLASTEEL = 8000, MAT_GRAPHITE = 8000, MAT_OSMIUM = 8000, MAT_PHORON = 7000, MAT_SILVER = 5500, MAT_GOLD = 5500, MAT_PLASTIC = 6000)
build_path = /obj/item/rig_module/faraday_shield/advanced
category = list(
RND_CATEGORY_MODSUIT_MODULES + RND_SUBCATEGORY_MODSUIT_MODULES_ENGINEERING
)
departmental_flags = DEPARTMENT_BITFLAG_SCIENCE | DEPARTMENT_BITFLAG_ENGINEERING

View File

@@ -32,3 +32,56 @@
/mob/living/simple_mob/slime = 1, /mob/living/simple_mob/slime = 1,
/obj/item/slime_extract = 1, /obj/item/slime_extract = 1,
) )
// Basic Experiments to unlock the rig nodes.
/datum/experiment/scanning/points/basic_engi_rig
name = "Basic Engineering Suit Scans"
description = "We would like to access the structural wear and tear of existing void suits worn by engineers. Please scan some of the existing suits you may have lying around that an engineer might use."
required_points = 2
required_atoms = list(
/obj/item/clothing/suit/space/void/engineering = 1,
/obj/item/clothing/suit/space/void/engineering/hazmat = 1,
/obj/item/clothing/suit/space/void/atmos = 1,
/obj/item/clothing/suit/space/void/engineering/construction = 1,
)
/datum/experiment/scanning/points/basic_sec_rig
name = "Basic Security Suit Scans"
description = "Some of our engineers had made a mistake of relying on the survivor's bias. And had armored the suits more in areas where officers have survived. We need additional data to correct this mistake."
required_points = 2
required_atoms = list(
/obj/item/clothing/suit/space/void/security = 1,
/obj/item/clothing/suit/space/void/security/riot = 1,
/obj/item/clothing/suit/space/void/exploration =1,
)
/datum/experiment/scanning/points/basic_med_rig
name = "Basic Medical Suit Scans"
description = "The synthprene fibers sterile properties have become a topic of extreme interest. With this scan data we can further enhance our first responders with proper RIGs fitting for the job."
required_points = 2
required_atoms = list(
/obj/item/clothing/suit/space/void/medical = 1,
/obj/item/clothing/suit/space/void/medical/emt = 1,
/obj/item/clothing/suit/space/void/medical/bio = 1,
)
/datum/experiment/scanning/points/basic_min_rig
name = "Basic Mining Suit Scans"
description = "We need scans of mining suits to check their durability in long usage of industrial environments. Go bug one of the miners for a quick scan. For rock and stone!"
required_points = 2
required_atoms = list(
/obj/item/clothing/suit/space/void/mining = 1,
/obj/item/clothing/suit/space/void/mining/alt = 1,
)
/datum/experiment/scanning/points/basic_sci_rig
name = "Basic Research Suit Scans"
description = "We have recieve a notice that there are anomalous particles on the researcher's gear. Please scan and confirm for us. And while you're at it, give them a good wash for safety."
required_points = 4
required_atoms = list(
/obj/item/clothing/suit/bio_suit/anomaly = 1,
/obj/item/clothing/suit/space/anomaly = 1,
/obj/item/clothing/suit/space/anomaly/heat = 1,
/obj/item/clothing/suit/bomb_suit = 1,
/obj/item/clothing/suit/bio_suit = 1,
)

View File

@@ -370,3 +370,46 @@
) )
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_3_POINTS) research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_3_POINTS)
announce_channels = list(CHANNEL_ENGINEERING) //CHOMPEdit End announce_channels = list(CHANNEL_ENGINEERING) //CHOMPEdit End
/datum/techweb_node/thermal_vision
id = TECHWEB_NODE_THERMAL_VISION
display_name = "Thermal Visor Technology"
description = "Inspired by some form of big-game-hunter species, we have adapted the technology without the annoying colorization filter."
prereq_ids = list(TECHWEB_NODE_HUD)
design_ids = list(
"rig_component_thermal",
// "diagnostic_hud_night",
// "health_hud_night",
// "night_visision_goggles",
// "nvgmesons",
// "nv_scigoggles",
// "security_hud_night",
)
/datum/techweb_node/graviton_vision
id = TECHWEB_NODE_GRAVITON_VISION
display_name = "Graviton Visor Technology"
description = "Our Graviton Scanning technology compressed into visors suitable for use in hardsuits. Quite handy."
prereq_ids = list(TECHWEB_NODE_HUD)
design_ids = list(
"rig_component_graviton",
// "diagnostic_hud_night",
// "health_hud_night",
// "night_visision_goggles",
// "nvgmesons",
// "nv_scigoggles",
// "security_hud_night",
)
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_4_POINTS)
announce_channels = list(CHANNEL_SECURITY, CHANNEL_SCIENCE)
/datum/techweb_node/advanced_visor
id = TECHWEB_NODE_ADVANCED_VISORS
display_name = "Advanced Visor Technology"
description = "With careful research over transparent electrochromic glass and display project we have compressed multiple visors into a single handy package."
prereq_ids = list(TECHWEB_NODE_GRAVITON_VISION, TECHWEB_NODE_THERMAL_VISION, TECHWEB_NODE_HUD)
design_ids = list(
"rig_component_multi_visor",
)
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_4_POINTS)
announce_channels = list(CHANNEL_SECURITY, CHANNEL_SCIENCE)

View File

@@ -6,6 +6,7 @@
prereq_ids = list(TECHWEB_NODE_ROBOTICS) prereq_ids = list(TECHWEB_NODE_ROBOTICS)
design_ids = list( design_ids = list(
"rigmodule_belt_basic", "rigmodule_belt_basic",
"zero_rig_module",
"rig_device_pen", "rig_device_pen",
"rig_device_paperdispenser", "rig_device_paperdispenser",
// "suit_storage_unit", // "suit_storage_unit",
@@ -32,7 +33,7 @@
"rig_device_flash", "rig_device_flash",
"rig_device_plasmacutter", "rig_device_plasmacutter",
"rig_device_healthanalyzer", "rig_device_healthanalyzer",
// "rig_gun_sizegun", // CHOMPRenove Micro Mech "rig_gun_sizegun",
"rig_siphon", "rig_siphon",
"rig_component_datajack", "rig_component_datajack",
// "modlink_scryer", // "modlink_scryer",
@@ -55,16 +56,18 @@
description = "Medical RIGsuits for quick rescue purposes." description = "Medical RIGsuits for quick rescue purposes."
prereq_ids = list(TECHWEB_NODE_MOD_SUIT, TECHWEB_NODE_CHEM_SYNTHESIS) prereq_ids = list(TECHWEB_NODE_MOD_SUIT, TECHWEB_NODE_CHEM_SYNTHESIS)
design_ids = list( design_ids = list(
"medical_rig_module",
"rig_component_chemicals", "rig_component_chemicals",
"rig_defib", //CHOMPEDIT Add - Defibrillator RIG module "rig_defib", //CHOMPEDIT Add - Defibrillator RIG module
// "rig_component_rescuepharm", // CHOMPRenove Micro Mech "rig_component_rescuepharm",
// "mod_plating_medical", // "mod_plating_medical",
// "mod_quick_carry", // "mod_quick_carry",
// "mod_injector", // "mod_injector",
// "mod_organizer", // "mod_organizer",
// "mod_patienttransport", // "mod_patienttransport",
) )
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_2_POINTS) research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_3_POINTS)
discount_experiments = list(/datum/experiment/scanning/points/basic_med_rig = TECHWEB_TIER_2_POINTS)
announce_channels = list(CHANNEL_SCIENCE, CHANNEL_MEDICAL) announce_channels = list(CHANNEL_SCIENCE, CHANNEL_MEDICAL)
/datum/techweb_node/mod_engi /datum/techweb_node/mod_engi
@@ -73,18 +76,21 @@
description = "Engineering suits, for powered engineers." description = "Engineering suits, for powered engineers."
prereq_ids = list(TECHWEB_NODE_MOD_EQUIP) prereq_ids = list(TECHWEB_NODE_MOD_EQUIP)
design_ids = list( design_ids = list(
"eva_rig_module",
"rig_device_rcd", "rig_device_rcd",
"rig_component_meson", "rig_component_meson",
"rig_component_material",
"rig_component_radshield", "rig_component_radshield",
"rig_component_atmosshield",
"rig_component_aicontainer", "rig_component_aicontainer",
"rig_component_faradayshield",
// "mod_plating_engineering", // "mod_plating_engineering",
// "mod_t_ray", // "mod_t_ray",
// "mod_magboot", // "mod_magboot",
// "mod_constructor", // "mod_constructor",
// "mod_mister_atmos", // "mod_mister_atmos",
) )
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_2_POINTS) research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_3_POINTS)
discount_experiments = list(/datum/experiment/scanning/points/basic_engi_rig = TECHWEB_TIER_2_POINTS)
announce_channels = list(CHANNEL_SCIENCE, CHANNEL_ENGINEERING) announce_channels = list(CHANNEL_SCIENCE, CHANNEL_ENGINEERING)
/datum/techweb_node/mod_security /datum/techweb_node/mod_security
@@ -93,6 +99,7 @@
description = "Security suits for space crime handling." description = "Security suits for space crime handling."
prereq_ids = list(TECHWEB_NODE_MOD_EQUIP) prereq_ids = list(TECHWEB_NODE_MOD_EQUIP)
design_ids = list( design_ids = list(
"hazard_rig_module",
"rig_grenade_metalfoam", "rig_grenade_metalfoam",
"rig_grenade_flashbang", "rig_grenade_flashbang",
"rig_grenade_cleanfoam", "rig_grenade_cleanfoam",
@@ -102,6 +109,7 @@
"rig_gun_egun", "rig_gun_egun",
"rig_component_sprinter", "rig_component_sprinter",
"rig_gun_phase", //CHOMPEDIT Add - Phase guns "rig_gun_phase", //CHOMPEDIT Add - Phase guns
"rig_component_pat",
// "mod_mirage_grenade", // "mod_mirage_grenade",
// "mod_plating_security", // "mod_plating_security",
// "mod_stealth", // "mod_stealth",
@@ -112,7 +120,8 @@
// "mod_projectile_dampener", // "mod_projectile_dampener",
// "mod_criminalcapture", // "mod_criminalcapture",
) )
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_2_POINTS) research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_5_POINTS)
discount_experiments = list(/datum/experiment/scanning/points/basic_sec_rig = TECHWEB_TIER_2_POINTS)
announce_channels = list(CHANNEL_SCIENCE, CHANNEL_SECURITY) announce_channels = list(CHANNEL_SCIENCE, CHANNEL_SECURITY)
/datum/techweb_node/mod_engi_adv /datum/techweb_node/mod_engi_adv
@@ -121,16 +130,18 @@
description = "Advanced Engineering suits, for advanced powered engineers." description = "Advanced Engineering suits, for advanced powered engineers."
prereq_ids = list(TECHWEB_NODE_MOD_ENGI) prereq_ids = list(TECHWEB_NODE_MOD_ENGI)
design_ids = list( design_ids = list(
"advanced_eva_rig_module",
"rig_component_radshield_adv", "rig_component_radshield_adv",
"rig_component_atmosshield_adv",
"rig_component_faradayshield_adv",
"rig_thrusters", "rig_thrusters",
"rig_component_atmosshield",
// "mod_plating_atmospheric", // "mod_plating_atmospheric",
// "mod_jetpack", // "mod_jetpack",
// "mod_rad_protection", // "mod_rad_protection",
// "mod_emp_shield", // "mod_emp_shield",
// "mod_storage_expanded", // "mod_storage_expanded",
) )
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_SCIENCE, CHANNEL_ENGINEERING) announce_channels = list(CHANNEL_SCIENCE, CHANNEL_ENGINEERING)
/datum/techweb_node/mod_anomaly /datum/techweb_node/mod_anomaly
@@ -139,13 +150,13 @@
description = "Modules for RIGsuits that are designed to research anomalies." description = "Modules for RIGsuits that are designed to research anomalies."
prereq_ids = list(TECHWEB_NODE_MOD_ENGI_ADV, TECHWEB_NODE_ANOMALY_RESEARCH) prereq_ids = list(TECHWEB_NODE_MOD_ENGI_ADV, TECHWEB_NODE_ANOMALY_RESEARCH)
design_ids = list( design_ids = list(
"ami_rig_module",
"rig_component_teleport", "rig_component_teleport",
"rig_device_drill",
"rig_device_excdrill", "rig_device_excdrill",
"rig_device_anomscanner", "rig_device_anomscanner",
"rig_device_orescanner",
) )
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_4_POINTS) research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_5_POINTS)
discount_experiments = list(/datum/experiment/scanning/points/basic_sci_rig = TECHWEB_TIER_2_POINTS)
announce_channels = list(CHANNEL_SCIENCE) announce_channels = list(CHANNEL_SCIENCE)
/datum/techweb_node/mod_anomaly_suit //CHOMPEdit Start - Precursor suit /datum/techweb_node/mod_anomaly_suit //CHOMPEdit Start - Precursor suit
@@ -158,3 +169,18 @@
) )
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_5_POINTS) research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_5_POINTS)
announce_channels = list(CHANNEL_SCIENCE, CHANNEL_SECURITY) //CHOMPEdit End - Precursor suit announce_channels = list(CHANNEL_SCIENCE, CHANNEL_SECURITY) //CHOMPEdit End - Precursor suit
/datum/techweb_node/mod_supply
id = TECHWEB_NODE_MOD_SUPPLY
display_name = "Industrial RIG Suit"
description = "Modules for RIGsuits that are designed to mine for ores."
prereq_ids = list(TECHWEB_NODE_MOD_ENGI_ADV, TECHWEB_NODE_MINING)
design_ids = list(
"industrial_rig_module",
"rig_device_drill",
"rig_device_orescanner",
"rig_component_material",
)
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_5_POINTS)
discount_experiments = list(/datum/experiment/scanning/points/basic_min_rig = TECHWEB_TIER_2_POINTS)
announce_channels = list(CHANNEL_SCIENCE, CHANNEL_SUPPLY)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

After

Width:  |  Height:  |  Size: 25 KiB