mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-01-03 14:02:49 +00:00
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:
committed by
Erki
parent
f5a260adeb
commit
ff2c30633d
429
code/modules/clothing/spacesuits/rig/rig_construction.dm
Normal file
429
code/modules/clothing/spacesuits/rig/rig_construction.dm
Normal 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
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user