RIG construction by Robotic (#6120)

This PR lets Robotics lab to be able to assemble different RIGS. Process is similar to Mechs construction.

Rig that will be allowed to be constructed: EVA, industrial, medical, CE, AMI, light, hazard, combat, cybersuit(illegal tech)

Part of #6032 update

Misc changes:

Moved mechfab_designs.dm to designs folder.

Decreases bullet armour for industrial RIG

Gives stealth RIG slightly better armour values than regular light RIG

Slightly increases hazard RIG bullet and radiation protection.
This commit is contained in:
Mykhailo Bykhovtsev
2019-03-20 00:02:24 -07:00
committed by Erki
parent f5a260adeb
commit ff2c30633d
22 changed files with 749 additions and 16 deletions

View File

@@ -0,0 +1,429 @@
/obj/item/rig_assembly
name = "hardsuit control module assembly"
icon = 'icons/obj/rig_modules.dmi'
desc = "An assembly frame of back-mounted hardsuit deployment and control mechanism."
var/icon_base = null
w_class = 4
var/obj/item/weapon/circuitboard/board_type = null
var/obj/item/weapon/circuitboard/target_board_type = null
var/obj/item/weapon/rig/rig_type = /obj/item/weapon/rig
flags = CONDUCT
origin_tech = list(TECH_MATERIAL = 4, TECH_ENGINEERING = 3, TECH_MAGNET = 4, TECH_POWER = 4)
var/datum/construction/reversible/rig_assembly/construct
flags = CONDUCT
/obj/item/rig_assembly/attackby(obj/item/W as obj, mob/user as mob)
if(!construct || !construct.action(W, user))
..()
return
/obj/item/rig_assembly/New()
..()
construct = new /datum/construction/reversible/rig_assembly/civilian(src)
construct.board_type = board_type
construct.steps[5]["key"] = board_type // defining board in construction step
construct.result = "[rig_type]"
/obj/item/rig_assembly/combat/New()
..()
construct = new /datum/construction/reversible/rig_assembly/combat(src)
construct.board_type = board_type
construct.target_board_type = target_board_type
construct.steps[12]["key"] = board_type // defining board in construction step
construct.steps[10]["key"] = target_board_type
construct.result = "[rig_type]"
////////////////////////
////CIVILIAN ASEMBLY////
////////////////////////
/obj/item/rig_assembly/ce
name = "advanced voidsuit control module assembly"
desc = "An assembly frame for an advanced voidsuit that protects against hazardous, low pressure environments."
icon_base = "ce"
icon_state = "ce1"
board_type = /obj/item/weapon/circuitboard/rig_assembly/civilian/ce
rig_type = /obj/item/weapon/rig/ce
origin_tech = list(TECH_MATERIAL = 5, TECH_ENGINEERING = 4, TECH_MAGNET = 4, TECH_POWER = 5)
/obj/item/rig_assembly/eva
name = "EVA suit control module assembly"
desc = "An assembly for light rig that is desiged for repairs and maintenance to the outside of habitats and vessels."
icon_base = "eva"
icon_state = "eva1"
board_type = /obj/item/weapon/circuitboard/rig_assembly/civilian/eva
rig_type = /obj/item/weapon/rig/eva
/obj/item/rig_assembly/industrial
name = "industrial suit control module assembly"
desc = "An assembly for a heavy, powerful rig used by construction crews and mining corporations."
icon_base = "industrial"
icon_state = "industrial1"
board_type = /obj/item/weapon/circuitboard/rig_assembly/civilian/industrial
rig_type = /obj/item/weapon/rig/industrial
/obj/item/rig_assembly/hazmat
name = "AMI control module assembly"
desc = "An assembly for Anomalous Material Interaction hardsuit that protects against the strangest energies the universe can throw at it."
icon_base = "hazmat"
icon_state = "hazmat1"
board_type = /obj/item/weapon/circuitboard/rig_assembly/civilian/hazmat
rig_type = /obj/item/weapon/rig/hazmat
/obj/item/rig_assembly/medical
name = "rescue suit control module assembly"
desc = "An assembly for a durable suit designed for medical rescue in high risk areas."
icon_base = "medical"
icon_state = "medical1"
board_type = /obj/item/weapon/circuitboard/rig_assembly/civilian/medical
rig_type = /obj/item/weapon/rig/medical
///////////////////////
////COMBAT ASSEMBLY////
///////////////////////
/obj/item/rig_assembly/combat
origin_tech = list(TECH_MATERIAL = 5, TECH_ENGINEERING = 4, TECH_MAGNET = 4, TECH_POWER = 4, TECH_COMBAT = 4)
/obj/item/rig_assembly/combat/hazard
name = "hazard hardsuit control module"
desc = "An assembly for a security hardsuit designed for prolonged EVA in dangerous environments."
icon_base = "hazard"
icon_state = "hazard1"
rig_type = /obj/item/weapon/rig/hazard
board_type = /obj/item/weapon/circuitboard/rig_assembly/combat/hazard
target_board_type = /obj/item/weapon/circuitboard/rig_assembly/combat/targeting/hazard
/obj/item/rig_assembly/combat/combat
name = "combat hardsuit control module assembly"
desc = "An assembly frame for a sleek and dangerous hardsuit for active combat."
icon_base = "combat"
icon_state = "combat1"
rig_type = /obj/item/weapon/rig/combat
board_type = /obj/item/weapon/circuitboard/rig_assembly/combat/combat
target_board_type = /obj/item/weapon/circuitboard/rig_assembly/combat/targeting/combat
origin_tech = list(TECH_MATERIAL = 6, TECH_ENGINEERING = 5, TECH_MAGNET = 4, TECH_POWER = 4, TECH_COMBAT = 6)
////////////////////////
////ILLEGAL ASSEMBLY////
////////////////////////
/obj/item/rig_assembly/combat/illegal
origin_tech = list(TECH_MATERIAL = 5, TECH_ENGINEERING = 4, TECH_MAGNET = 3, TECH_POWER = 4, TECH_COMBAT = 4, TECH_ILLEGAL = 4)
/obj/item/rig_assembly/combat/illegal/hacker
name = "light suit control module assembly"
desc = "An assembly for a lighter, less armoured rig suit."
icon_base = "hacker"
icon_state = "hacker1"
rig_type = /obj/item/weapon/rig/light/hacker
board_type = /obj/item/weapon/circuitboard/rig_assembly/illegal/hacker
target_board_type = /obj/item/weapon/circuitboard/rig_assembly/illegal/targeting/hacker
/obj/item/rig_assembly/combat/illegal/stealth
name = "stealth suit control module assembly"
desc = "An assembly for a highly advanced and expensive suit designed for covert operations."
icon_base = "stealth"
icon_state = "stealth1"
rig_type = /obj/item/weapon/rig/light/stealth
board_type = /obj/item/weapon/circuitboard/rig_assembly/illegal/stealth
target_board_type = /obj/item/weapon/circuitboard/rig_assembly/illegal/targeting/stealth
origin_tech = list(TECH_MATERIAL = 6, TECH_ENGINEERING = 5, TECH_MAGNET = 4, TECH_POWER = 5, TECH_COMBAT = 6, TECH_ILLEGAL = 6)
/datum/construction/reversible/rig_assembly
result = null
var/obj/item/weapon/circuitboard/rig_assembly/board_type = null
var/obj/item/weapon/circuitboard/rig_assembly/target_board_type = null
/datum/construction/reversible/rig_assembly/custom_action(index as num, diff as num, atom/used_atom, mob/user as mob)
var/obj/item/I = used_atom
if(I.iswelder())
var/obj/item/weapon/weldingtool/W = I
if (W.remove_fuel(0, user))
playsound(holder, 'sound/items/Welder2.ogg', 50, 1)
else
return 0
else if(I.iswrench())
playsound(holder, 'sound/items/Ratchet.ogg', 50, 1)
else if(I.isscrewdriver())
playsound(holder, 'sound/items/Screwdriver.ogg', 50, 1)
else if(I.iswirecutter())
playsound(holder, 'sound/items/Wirecutter.ogg', 50, 1)
else if(I.iscoil())
var/obj/item/stack/cable_coil/C = used_atom
if(C.use(4))
playsound(holder, 'sound/items/Deconstruct.ogg', 50, 1)
else
to_chat(user, "There's not enough cable to finish the task.")
return 0
else if(istype(I, /obj/item/stack))
var/obj/item/stack/S = I
if(S.get_amount() < 5)
to_chat(user, "There's not enough material in this stack.")
return 0
else
S.use(5)
return 1
/datum/construction/reversible/rig_assembly/civilian
steps = list(
//1
list("key"=/obj/item/weapon/weldingtool,
"backkey"=/obj/item/weapon/wrench,
"desc"="External armor is wrenched"),
//2
list("key"=/obj/item/weapon/wrench,
"backkey"=/obj/item/weapon/crowbar,
"desc"="External armor is installed"),
//3
list("key"=/obj/item/stack/material/steel,
"backkey"=/obj/item/weapon/screwdriver,
"desc"="Central control module is secured"),
//4
list("key"=/obj/item/weapon/screwdriver,
"backkey"=/obj/item/weapon/crowbar,
"desc"="Central control module is installed"),
//5
list("key"=null,
"backkey"=/obj/item/weapon/wirecutters,
"desc"="The wiring is adjusted"),
//6
list("key"=/obj/item/weapon/wirecutters,
"backkey"=/obj/item/weapon/screwdriver,
"desc"="The wiring is added"),
//7
list("key"=/obj/item/stack/cable_coil,
"desc"="The wiring is removed"),
)
/datum/construction/reversible/rig_assembly/civilian/action(atom/used_atom,mob/user as mob)
return check_step(used_atom,user)
/datum/construction/reversible/rig_assembly/civilian/custom_action(index, diff, atom/used_atom, mob/user)
if(!..())
return 0
var/obj/item/rig_assembly/r = holder
if(!istype(r))
return 0
switch(index)
if(7)
if(diff==FORWARD)
user.visible_message("[user] adds the wiring to [holder].", "You add the wiring to [holder].")
r.icon_state = r.icon_base + "2"
if(6)
if(diff==FORWARD)
user.visible_message("[user] adjusts the wiring of [holder].", "You adjust the wiring of [holder].")
else
user.visible_message("[user] removes the wiring from [holder].", "You remove the wiring from [holder].")
var/obj/item/stack/cable_coil/coil = new /obj/item/stack/cable_coil(get_turf(holder))
coil.amount = 4
r.icon_state = r.icon_base + "1"
if(5)
if(diff==FORWARD)
user.visible_message("[user] installs the central control module into [holder].", "You install the central computer mainboard into [holder].")
qdel(used_atom)
r.icon_state = r.icon_base + "3"
else
user.visible_message("[user] disconnects the wiring of [holder].", "You disconnect the wiring of [holder].")
r.icon_state = r.icon_base + "2"
if(4)
if(diff==FORWARD)
user.visible_message("[user] secures the central control module.", "You secure the central control module.")
else
user.visible_message("[user] removes the central control module from [holder].", "You remove the central computer mainboard from [holder].")
new board_type(get_turf(holder))
r.icon_state = r.icon_base + "2"
if(3)
if(diff==FORWARD)
user.visible_message("[user] installs external armor layer to [holder].", "You install external reinforced armor layer to [holder].")
r.icon_state = r.icon_base + "4"
else
user.visible_message("[user] cuts internal armor layer from [holder].", "You cut the internal armor layer from [holder].")
if(2)
if(diff==FORWARD)
user.visible_message("[user] secures external armor layer.", "You secure external reinforced armor layer.")
else
user.visible_message("[user] pries external armor layer from [holder].", "You prie external armor layer from [holder].")
var/obj/item/stack/material/plasteel/MS = new /obj/item/stack/material/plasteel(get_turf(holder))
MS.amount = 5
r.icon_state = r.icon_base + "3"
if(1)
if(diff==FORWARD)
user.visible_message("[user] welds external armor layer to [holder].", "You weld external armor layer to [holder].")
r.icon_state = r.icon_base + "5"
else
user.visible_message("[user] unfastens the external armor layer.", "You unfasten the external armor layer.")
r.icon_state = r.icon_base + "4"
return 1
/datum/construction/reversible/rig_assembly/combat
steps = list(
//1
list("key"=/obj/item/weapon/weldingtool,
"backkey"=/obj/item/weapon/wrench,
"desc"="External armor is wrenched."),
//2
list("key"=/obj/item/weapon/wrench,
"backkey"=/obj/item/weapon/crowbar,
"desc"="External armor is installed."),
//3
list("key"=/obj/item/stack/material/plasteel,
"backkey"=/obj/item/weapon/weldingtool,
"desc"="Internal armor is welded."),
//4
list("key"=/obj/item/weapon/weldingtool,
"backkey"=/obj/item/weapon/wrench,
"desc"="Internal armor is wrenched"),
//5
list("key"=/obj/item/weapon/wrench,
"backkey"=/obj/item/weapon/crowbar,
"desc"="Internal armor is installed"),
//6
list("key"=/obj/item/stack/material/steel,
"backkey"=/obj/item/weapon/screwdriver,
"desc"="Advanced scanner module is secured"),
//7
list("key"=/obj/item/weapon/screwdriver,
"backkey"=/obj/item/weapon/crowbar,
"desc"="Advanced scanner module is installed"),
//8
list("key"=/obj/item/weapon/stock_parts/scanning_module/adv,
"backkey"=/obj/item/weapon/screwdriver,
"desc"="Targeting module is secured"),
//9
list("key"=/obj/item/weapon/screwdriver,
"backkey"=/obj/item/weapon/crowbar,
"desc"="Targeting module is installed"),
//10
list("key"=null,
"backkey"=/obj/item/weapon/screwdriver,
"desc"="Central control module is secured"),
//11
list("key"=/obj/item/weapon/screwdriver,
"backkey"=/obj/item/weapon/crowbar,
"desc"="Central control module is installed"),
//12
list("key"=null,
"backkey"=/obj/item/weapon/wirecutters,
"desc"="The wiring is adjusted"),
//13
list("key"=/obj/item/weapon/wirecutters,
"backkey"=/obj/item/weapon/screwdriver,
"desc"="The wiring is added"),
//14
list("key"=/obj/item/stack/cable_coil,
"desc"="The wiring is removed"),
)
/datum/construction/reversible/rig_assembly/combat/action(atom/used_atom,mob/user as mob)
return check_step(used_atom,user)
/datum/construction/reversible/rig_assembly/combat/custom_action(index, diff, atom/used_atom, mob/user)
if(!..())
return 0
var/obj/item/rig_assembly/r = holder
if(!istype(r))
return 0
switch(index)
if(14)
if(diff==FORWARD)
user.visible_message("[user] adds the wiring to [holder].", "You add the wiring to [holder].")
r.icon_state = r.icon_base + "2"
if(13)
if(diff==FORWARD)
user.visible_message("[user] adjusts the wiring of [holder].", "You adjust the wiring of [holder].")
else
user.visible_message("[user] removes the wiring from [holder].", "You remove the wiring from [holder].")
var/obj/item/stack/cable_coil/coil = new /obj/item/stack/cable_coil(get_turf(holder))
coil.amount = 4
r.icon_state = r.icon_base + "1"
if(12)
if(diff==FORWARD)
user.visible_message("[user] installs the central control module into [holder].", "You install the central computer mainboard into [holder].")
qdel(used_atom)
r.icon_state = r.icon_base + "3"
else
user.visible_message("[user] disconnects the wiring of [holder].", "You disconnect the wiring of [holder].")
r.icon_state = r.icon_base + "1"
if(11)
if(diff==FORWARD)
user.visible_message("[user] secures the mainboard.", "You secure the mainboard.")
else
user.visible_message("[user] removes the central control module from [holder].", "You remove the central computer mainboard from [holder].")
new board_type(get_turf(holder))
r.icon_state = r.icon_base + "2"
if(10)
if(diff==FORWARD)
user.visible_message("[user] installs the weapon control module into [holder].", "You install the weapon control module into [holder].")
qdel(used_atom)
r.icon_state = r.icon_base + "4"
else
user.visible_message("[user] unfastens the central control module.", "You unfasten the central control module.")
r.icon_state = r.icon_base + "3"
if(9)
if(diff==FORWARD)
user.visible_message("[user] secures the weapon control module.", "You secure the weapon control module.")
else
user.visible_message("[user] removes the weapon control module from [holder].", "You remove the weapon control module from [holder].")
new target_board_type(get_turf(holder))
r.icon_state = r.icon_base + "3"
if(8)
if(diff==FORWARD)
user.visible_message("[user] installs advanced scanner module to [holder].", "You install advanced scanner module to [holder].")
qdel(used_atom)
else
user.visible_message("[user] unfastens the weapon control module.", "You unfasten the weapon control module.")
if(7)
if(diff==FORWARD)
user.visible_message("[user] secures the advanced scanner module.", "You secure the advanced scanner module.")
else
user.visible_message("[user] removes the advanced scanner module from [holder].", "You remove the advanced scanner module from [holder].")
new /obj/item/weapon/stock_parts/scanning_module/adv(get_turf(holder))
if(6)
if(diff==FORWARD)
user.visible_message("[user] installs internal armor layer to [holder].", "You install internal armor layer to [holder].")
r.icon_state = r.icon_base + "5"
else
user.visible_message("[user] unfastens the advanced capacitor.", "You unfasten the advanced capacitor.")
if(5)
if(diff==FORWARD)
user.visible_message("[user] secures internal armor layer.", "You secure internal armor layer.")
else
user.visible_message("[user] pries internal armor layer from [holder].", "You prie internal armor layer from [holder].")
var/obj/item/stack/material/steel/MS = new /obj/item/stack/material/steel(get_turf(holder))
MS.amount = 5
r.icon_state = r.icon_base + "4"
if(4)
if(diff==FORWARD)
user.visible_message("[user] welds internal armor layer to [holder].", "You weld the internal armor layer to [holder].")
else
user.visible_message("[user] unfastens the internal armor layer.", "You unfasten the internal armor layer.")
if(3)
if(diff==FORWARD)
user.visible_message("[user] installs external reinforced armor layer to [holder].", "You install external reinforced armor layer to [holder].")
r.icon_state = r.icon_base + "5"
else
user.visible_message("[user] cuts internal armor layer from [holder].", "You cut the internal armor layer from [holder].")
if(2)
if(diff==FORWARD)
user.visible_message("[user] secures external armor layer.", "You secure external reinforced armor layer.")
else
user.visible_message("[user] pries external armor layer from [holder].", "You prie external armor layer from [holder].")
var/obj/item/stack/material/plasteel/MS = new /obj/item/stack/material/plasteel(get_turf(holder))
MS.amount = 5
r.icon_state = r.icon_base + "4"
if(1)
if(diff==FORWARD)
user.visible_message("[user] welds external armor layer to [holder].", "You weld external armor layer to [holder].")
else
user.visible_message("[user] unfastens the external armor layer.", "You unfasten the external armor layer.")
return 1

View File

@@ -1,18 +1,28 @@
/obj/item/clothing/head/helmet/space/rig/combat
light_overlay = "helmet_light_dual_green"
/obj/item/weapon/rig/combat
name = "combat hardsuit control module"
desc = "A sleek and dangerous hardsuit for active combat."
icon_state = "security_rig"
icon_state = "combat_rig"
suit_type = "combat hardsuit"
armor = list(melee = 80, bullet = 65, laser = 50, energy = 15, bomb = 80, bio = 100, rad = 60)
armor = list(melee = 70, bullet = 55, laser = 45, energy = 15, bomb = 75, bio = 100, rad = 60)
offline_slowdown = 3
offline_vision_restriction = TINT_HEAVY
helm_type = /obj/item/clothing/head/helmet/space/rig/combat
allowed = list(/obj/item/weapon/gun,/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/melee/baton)
/obj/item/clothing/head/helmet/space/rig/combat
light_overlay = "helmet_light_dual_cyan"
species_restricted = list("Human")
/obj/item/clothing/suit/space/rig/combat
species_restricted = list("Human")
/obj/item/clothing/shoes/magboots/rig/combat
species_restricted = list("Human")
/obj/item/clothing/gloves/rig/combat
species_restricted = list("Human")
/obj/item/weapon/rig/combat/equipped

View File

@@ -133,6 +133,7 @@
suit_type = "stealth"
desc = "A highly advanced and expensive suit designed for covert operations."
icon_state = "stealth_rig"
armor = list(melee = 45, bullet = 20, laser = 50, energy = 10, bomb = 25, bio = 30, rad = 20)
req_access = list(access_syndicate)

View File

@@ -59,8 +59,8 @@
name = "industrial suit control module"
suit_type = "industrial hardsuit"
desc = "A heavy, powerful rig used by construction crews and mining corporations."
icon_state = "engineering_rig"
armor = list(melee = 60, bullet = 50, laser = 30,energy = 15, bomb = 30, bio = 100, rad = 50)
icon_state = "industrial_rig"
armor = list(melee = 60, bullet = 40, laser = 30, energy = 15, bomb = 30, bio = 100, rad = 50)
slowdown = 3
offline_slowdown = 10
offline_vision_restriction = TINT_HEAVY
@@ -94,7 +94,7 @@
suit_type = "EVA hardsuit"
desc = "A light rig for repairs and maintenance to the outside of habitats and vessels."
icon_state = "eva_rig"
armor = list(melee = 30, bullet = 10, laser = 20,energy = 25, bomb = 20, bio = 100, rad = 100)
armor = list(melee = 30, bullet = 10, laser = 20, energy = 25, bomb = 20, bio = 100, rad = 100)
slowdown = 0
offline_slowdown = 1
offline_vision_restriction = TINT_HEAVY
@@ -162,7 +162,7 @@
name = "AMI control module"
suit_type = "hazmat hardsuit"
desc = "An Anomalous Material Interaction hardsuit that protects against the strangest energies the universe can throw at it."
icon_state = "science_rig"
icon_state = "hazmat_rig"
armor = list(melee = 45, bullet = 5, laser = 40, energy = 65, bomb = 60, bio = 100, rad = 100)
offline_vision_restriction = TINT_HEAVY
emp_protection = 40
@@ -185,7 +185,6 @@
)
/obj/item/weapon/rig/medical
name = "rescue suit control module"
suit_type = "rescue hardsuit"
desc = "A durable suit designed for medical rescue in high risk areas."
@@ -215,9 +214,9 @@
/obj/item/weapon/rig/hazard
name = "hazard hardsuit control module"
suit_type = "hazard hardsuit"
desc = "A Security hardsuit designed for prolonged EVA in dangerous environments."
desc = "A security hardsuit designed for prolonged EVA in dangerous environments."
icon_state = "hazard_rig"
armor = list(melee = 60, bullet = 40, laser = 30, energy = 15, bomb = 60, bio = 100, rad = 30)
armor = list(melee = 60, bullet = 45, laser = 30, energy = 15, bomb = 60, bio = 100, rad = 45)
offline_slowdown = 3
offline_vision_restriction = TINT_HEAVY

View File

@@ -529,4 +529,95 @@
id = "slot_machine"
req_tech = list(TECH_DATA = 2)
build_path = /obj/item/weapon/circuitboard/slot_machine
sort_string = "WAAAE"
sort_string = "WAAAE"
/datum/design/circuit/industrial
name = "industrial suit central circuit board"
id = "industrial_rig"
req_tech = list(TECH_DATA = 3)
build_path = /obj/item/weapon/circuitboard/rig_assembly/civilian/industrial
sort_string = "WAAAF"
/datum/design/circuit/eva
name = "EVA suit central circuit board"
id = "eva_rig"
req_tech = list(TECH_DATA = 3)
build_path = /obj/item/weapon/circuitboard/rig_assembly/civilian/eva
sort_string = "WAAAG"
/datum/design/circuit/ce
name = "advanced void suit central circuit board"
id = "ce_rig"
req_tech = list(TECH_DATA = 4)
build_path = /obj/item/weapon/circuitboard/rig_assembly/civilian/ce
sort_string = "WAAAH"
/datum/design/circuit/hazmat
name = "AMI suit central circuit board"
id = "hazmat_rig"
req_tech = list(TECH_DATA = 3)
build_path = /obj/item/weapon/circuitboard/rig_assembly/civilian/hazmat
sort_string = "WAAAI"
/datum/design/circuit/medical
name = "rescue suit central circuit board"
id = "medical_rig"
req_tech = list(TECH_DATA = 3)
build_path = /obj/item/weapon/circuitboard/rig_assembly/civilian/medical
sort_string = "WAAAJ"
/datum/design/circuit/hazard
name = "hazard rig central circuit board"
id = "hazard_rig"
req_tech = list(TECH_DATA = 4)
build_path = /obj/item/weapon/circuitboard/rig_assembly/combat/hazard
sort_string = "WAAAK"
/datum/design/circuit/hazard_target
name = "hazard rig control and targeting board"
id = "hazard_rig_target"
req_tech = list(TECH_DATA = 4, TECH_COMBAT = 3)
build_path = /obj/item/weapon/circuitboard/rig_assembly/combat/targeting/hazard
sort_string = "WAAAL"
/datum/design/circuit/combat
name = "combat rig central circuit board"
id = "combat_rig"
req_tech = list(TECH_DATA = 6)
build_path = /obj/item/weapon/circuitboard/rig_assembly/combat/combat
sort_string = "WAAAM"
/datum/design/circuit/combat_target
name = "combat rig control and targeting board"
id = "combat_rig_target"
req_tech = list(TECH_DATA = 6, TECH_COMBAT = 5)
build_path = /obj/item/weapon/circuitboard/rig_assembly/combat/targeting/combat
sort_string = "WAAAN"
/datum/design/circuit/hacker
name = "cybersuit rig central circuit board"
id = "hacker_rig"
req_tech = list(TECH_DATA = 6, TECH_ILLEGAL = 3)
build_path = /obj/item/weapon/circuitboard/rig_assembly/illegal/hacker
sort_string = "WAAAO"
/datum/design/circuit/hacker_target
name = "cybersuit rig control and targeting board"
id = "hacker_rig"
req_tech = list(TECH_DATA = 6, TECH_COMBAT = 3, TECH_ILLEGAL = 3)
build_path = /obj/item/weapon/circuitboard/rig_assembly/illegal/targeting/hacker
sort_string = "WAAAP"
/datum/design/circuit/stealth
name = "stealth rig central circuit board"
id = "stealth_rig"
req_tech = list(TECH_DATA = 6, TECH_ILLEGAL = 5)
build_path = /obj/item/weapon/circuitboard/rig_assembly/illegal/stealth
sort_string = "WAAAQ"
/datum/design/circuit/stealth_target
name = "stealth rig control and targeting board"
id = "stealth_rig_target"
req_tech = list(TECH_DATA = 6, TECH_COMBAT = 5, TECH_ILLEGAL = 5)
build_path = /obj/item/weapon/circuitboard/rig_assembly/illegal/targeting/stealth
sort_string = "WAAAR"

View File

@@ -883,4 +883,81 @@
id = "cooling_module"
req_tech = list(TECH_MATERIAL = 2, TECH_POWER = 3, TECH_ENGINEERING = 3)
materials = list(DEFAULT_WALL_MATERIAL= 7000, "glass"= 5500)
build_path = /obj/item/rig_module/cooling_unit
build_path = /obj/item/rig_module/cooling_unit
/// RIGS
/datum/design/rig
build_type = MECHFAB
category = "RIG Assemblies"
materials = list(DEFAULT_WALL_MATERIAL = 25000, "glass" = 10000)
req_tech = list(TECH_MATERIAL = 3, TECH_ENGINEERING = 2, TECH_MAGNET = 3, TECH_POWER = 3)
time = 20
/datum/design/rig/ce
name = "advanced voidsuit control module assembly"
desc = "An assembly frame for an advanced voidsuit that protects against hazardous, low pressure environments."
id = "rig_ce"
build_path = /obj/item/rig_assembly/ce
req_tech = list(TECH_MATERIAL = 4, TECH_ENGINEERING = 3, TECH_MAGNET = 3, TECH_POWER = 4)
materials = list(DEFAULT_WALL_MATERIAL = 25000, "glass" = 12500)
/datum/design/rig/eva
name = "EVA suit control module assembly"
desc = "An assembly for light rig that is desiged for repairs and maintenance to the outside of habitats and vessels."
id = "rig_eva"
build_path = /obj/item/rig_assembly/eva
/datum/design/rig/industrial
name = "industrial suit control module assembly"
desc = "An assembly for a heavy, powerful rig used by construction crews and mining corporations."
id = "rig_industrial"
materials = list(DEFAULT_WALL_MATERIAL = 30000, "glass" = 12500)
build_path = /obj/item/rig_assembly/industrial
/datum/design/rig/hazmat
name = "AMI control module assembly"
desc = "An assembly for Anomalous Material Interaction hardsuit that protects against the strangest energies the universe can throw at it."
id = "rig_hazmat"
build_path = /obj/item/rig_assembly/hazmat
/datum/design/rig/medical
name = "rescue suit control module assembly"
desc = "An assembly for a durable suit designed for medical rescue in high risk areas."
id = "rig_medical"
build_path = /obj/item/rig_assembly/medical
/datum/design/rig/hazard
name = "hazard hardsuit control module"
desc = "An assembly for a security hardsuit designed for prolonged EVA in dangerous environments."
id = "rig_hazard"
build_path = /obj/item/rig_assembly/combat/hazard
req_tech = list(TECH_MATERIAL = 4, TECH_ENGINEERING = 3, TECH_MAGNET = 3, TECH_POWER = 3, TECH_COMBAT = 3)
materials = list(DEFAULT_WALL_MATERIAL = 45000, "glass" = 20000)
/datum/design/rig/combat
name = "combat hardsuit control module assembly"
desc = "An assembly frame for a sleek and dangerous hardsuit for active combat."
id = "rig_combat"
build_path = /obj/item/rig_assembly/combat/combat
req_tech = list(TECH_MATERIAL = 5, TECH_ENGINEERING = 4, TECH_MAGNET = 3, TECH_POWER = 3, TECH_COMBAT = 5)
materials = list(DEFAULT_WALL_MATERIAL = 55000, "glass" = 25000, "silver" = 7500)
/datum/design/rig/hacker
name = "light suit control module assembly"
desc = "An assembly for a lighter, less armoured rig suit."
id = "rig_hacker"
build_path = /obj/item/rig_assembly/combat/illegal/hacker
req_tech = list(TECH_MATERIAL = 4, TECH_ENGINEERING = 3, TECH_MAGNET = 2, TECH_POWER = 3, TECH_COMBAT = 3, TECH_ILLEGAL = 3)
materials = list(DEFAULT_WALL_MATERIAL = 25000, "glass" = 12500, "gold" = 2500)
/datum/design/rig/stealth
name = "stealth suit control module assembly"
desc = "An assembly for a highly advanced and expensive suit designed for covert operations."
id = "rig_stealth"
build_path = /obj/item/rig_assembly/combat/illegal/stealth
req_tech = list(TECH_MATERIAL = 5, TECH_ENGINEERING = 4, TECH_MAGNET = 3, TECH_POWER = 4, TECH_COMBAT = 5, TECH_ILLEGAL = 5)
materials = list(DEFAULT_WALL_MATERIAL = 27500, "glass" = 15000, "gold" = 5000, "silver" = 2500)