mirror of
https://github.com/Citadel-Station-13/Citadel-Station-13-RP.git
synced 2026-08-26 03:16:29 +01:00
157 lines
4.9 KiB
Plaintext
157 lines
4.9 KiB
Plaintext
/*
|
|
* Defines the helmets, gloves and shoes for rigs.
|
|
*/
|
|
|
|
/obj/item/clothing/head/helmet/space/hardsuit
|
|
name = "helmet"
|
|
atom_flags = PHORONGUARD
|
|
clothing_flags = CLOTHING_THICK_MATERIAL | CLOTHING_INJECTION_PORT | ALLOW_SURVIVALFOOD | CLOTHING_IGNORE_BELTLINK | CLOTHING_IGNORE_DELIMB | ALLOWINTERNALS
|
|
inv_hide_flags = HIDEEARS|HIDEEYES|HIDEFACE|BLOCKHAIR
|
|
body_cover_flags = HEAD|FACE|EYES
|
|
heat_protection_cover = HEAD|FACE|EYES
|
|
cold_protection_cover = HEAD|FACE|EYES
|
|
brightness_on = 4
|
|
|
|
max_pressure_protection = null
|
|
min_pressure_protection = null
|
|
damage_force = 3 // if you're headbutting someone with something meant to protect you from space...
|
|
|
|
weight = 0
|
|
encumbrance = 0
|
|
|
|
/obj/item/clothing/gloves/gauntlets/hardsuit
|
|
name = "gauntlets"
|
|
clothing_flags = CLOTHING_THICK_MATERIAL | CLOTHING_INJECTION_PORT | CLOTHING_IGNORE_BELTLINK | CLOTHING_IGNORE_DELIMB
|
|
atom_flags = PHORONGUARD
|
|
body_cover_flags = HANDS
|
|
heat_protection_cover = HANDS
|
|
cold_protection_cover = HANDS
|
|
|
|
weight = 0
|
|
encumbrance = 0
|
|
|
|
/obj/item/clothing/gloves/gauntlets/hardsuit/equipped
|
|
|
|
/obj/item/clothing/gloves/gauntlets/hardsuit
|
|
|
|
/obj/item/clothing/shoes/magboots/hardsuit
|
|
name = "boots"
|
|
atom_flags = PHORONGUARD
|
|
clothing_flags = CLOTHING_IGNORE_BELTLINK | CLOTHING_IGNORE_DELIMB
|
|
body_cover_flags = FEET
|
|
cold_protection_cover = FEET
|
|
heat_protection_cover = FEET
|
|
|
|
icon_base = null
|
|
damage_force = 5 // if you're kicking someone with something meant to keep you locked on a hunk of metal...
|
|
|
|
weight = 0
|
|
encumbrance = 0
|
|
|
|
/obj/item/clothing/suit/space/hardsuit
|
|
name = "chestpiece"
|
|
|
|
//Flags
|
|
body_cover_flags = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS
|
|
clothing_flags = CLOTHING_THICK_MATERIAL | CLOTHING_INJECTION_PORT | CLOTHING_IGNORE_BELTLINK | CLOTHING_IGNORE_DELIMB
|
|
cold_protection_cover = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS
|
|
atom_flags = PHORONGUARD
|
|
inv_hide_flags = HIDEJUMPSUIT|HIDETAIL
|
|
heat_protection_cover = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS
|
|
|
|
weight = 0
|
|
encumbrance = 0
|
|
|
|
// Will reach 10 breach damage after 25 laser carbine blasts, 3 revolver hits, or ~1 PTR hit.
|
|
// Completely immune to smg or sts hits.
|
|
breach_threshold = 38
|
|
resilience = 0.2
|
|
can_breach = TRUE
|
|
|
|
supporting_limbs = list()
|
|
var/obj/item/material/knife/tacknife
|
|
max_pressure_protection = null
|
|
min_pressure_protection = null
|
|
|
|
/obj/item/clothing/suit/space/hardsuit/attack_hand(mob/user, datum/event_args/actor/clickchain/e_args)
|
|
if(tacknife)
|
|
tacknife.loc = get_turf(src)
|
|
if(user.put_in_active_hand(tacknife))
|
|
to_chat(user, SPAN_NOTICE("You slide \the [tacknife] out of [src]."))
|
|
playsound(user, 'sound/weapons/flipblade.ogg', 40, TRUE)
|
|
tacknife = null
|
|
update_icon()
|
|
return
|
|
..()
|
|
|
|
/obj/item/clothing/suit/space/hardsuit/attackby(obj/item/I, mob/living/M)
|
|
if(istype(I, /obj/item/material/knife/tacknife))
|
|
if(tacknife)
|
|
return
|
|
if(!M.attempt_insert_item_for_installation(I, src))
|
|
return
|
|
tacknife = I
|
|
to_chat(M, "<span class='notice'>You slide the [I] into [src].</span>")
|
|
playsound(M, 'sound/weapons/flipblade.ogg', 40, TRUE)
|
|
update_icon()
|
|
..()
|
|
|
|
//TODO: move this to modules
|
|
/obj/item/clothing/head/helmet/space/hardsuit/proc/prevent_track()
|
|
return FALSE
|
|
|
|
/obj/item/clothing/gloves/gauntlets/hardsuit/Touch(atom/A, proximity)
|
|
|
|
if(!A || !proximity)
|
|
return FALSE
|
|
|
|
var/mob/living/carbon/human/H = loc
|
|
if(!istype(H) || (!H.back && !H.belt))
|
|
return FALSE
|
|
|
|
var/obj/item/hardsuit/suit = H.back
|
|
if(!suit || !istype(suit) || !suit.installed_modules.len)
|
|
return FALSE
|
|
|
|
for(var/obj/item/hardsuit_module/module in suit.installed_modules)
|
|
if(module.active && module.activates_on_touch)
|
|
if(module.engage(A))
|
|
return TRUE
|
|
|
|
return FALSE
|
|
|
|
//hardsuit pieces for non-spacesuit based rigs
|
|
|
|
/obj/item/clothing/head/lightrig
|
|
name = "mask"
|
|
clothing_flags = CLOTHING_THICK_MATERIAL | CLOTHING_INJECTION_PORT | ALLOWINTERNALS | CLOTHING_IGNORE_BELTLINK | CLOTHING_IGNORE_DELIMB
|
|
atom_flags = PHORONGUARD
|
|
body_cover_flags = HEAD|FACE|EYES
|
|
heat_protection_cover = HEAD|FACE|EYES
|
|
cold_protection_cover = HEAD|FACE|EYES
|
|
|
|
/obj/item/clothing/suit/lightrig
|
|
name = "suit"
|
|
inv_hide_flags = HIDEJUMPSUIT
|
|
clothing_flags = CLOTHING_THICK_MATERIAL | CLOTHING_INJECTION_PORT | CLOTHING_IGNORE_BELTLINK | CLOTHING_IGNORE_DELIMB
|
|
atom_flags = PHORONGUARD
|
|
body_cover_flags = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS
|
|
heat_protection_cover = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS
|
|
cold_protection_cover = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS
|
|
|
|
/obj/item/clothing/shoes/lightrig
|
|
name = "boots"
|
|
atom_flags = PHORONGUARD
|
|
clothing_flags = CLOTHING_IGNORE_BELTLINK | CLOTHING_IGNORE_DELIMB
|
|
body_cover_flags = FEET
|
|
cold_protection_cover = FEET
|
|
heat_protection_cover = FEET
|
|
|
|
/obj/item/clothing/gloves/gauntlets/lightrig
|
|
name = "gloves"
|
|
clothing_flags = CLOTHING_THICK_MATERIAL | CLOTHING_INJECTION_PORT | CLOTHING_IGNORE_BELTLINK | CLOTHING_IGNORE_DELIMB
|
|
atom_flags = PHORONGUARD
|
|
body_cover_flags = HANDS
|
|
heat_protection_cover = HANDS
|
|
cold_protection_cover = HANDS
|