you need spaceproof arm and leg covering to be spaceproof (#87507)

This commit is contained in:
Fikou
2024-10-28 15:52:10 +00:00
committed by GitHub
parent 40daf54c42
commit 9dfa54cf29
4 changed files with 18 additions and 8 deletions
+5 -1
View File
@@ -430,7 +430,11 @@
parts_covered += "head"
if(body_parts_covered & CHEST)
parts_covered += "torso"
if(length(parts_covered)) // Just in case someone makes spaceproof gloves or something
if(body_parts_covered & ARMS|HANDS)
parts_covered += "arms"
if(body_parts_covered & LEGS|FEET)
parts_covered += "legs"
if(length(parts_covered))
readout += "[output_string] will protect the wearer's [english_list(parts_covered)] from [span_tooltip("The extremely low pressure is the biggest danger posed by the vacuum of space.", "low pressure")]."
var/heat_prot
+1 -1
View File
@@ -168,7 +168,7 @@
resistance_flags = FIRE_PROOF
siemens_coefficient = 0.3
clothing_traits = list(TRAIT_QUICKER_CARRY, TRAIT_CHUNKYFINGERS)
clothing_flags = THICKMATERIAL
clothing_flags = THICKMATERIAL|STOPSPRESSUREDAMAGE
/obj/item/clothing/gloves/atmos/Initialize(mapload)
. = ..()
+1 -1
View File
@@ -12,7 +12,7 @@
strip_delay = 70
equip_delay_other = 70
resistance_flags = FIRE_PROOF
clothing_flags = STOPSPRESSUREDAMAGE
slowdown = SHOES_SLOWDOWN
/// Whether the magpulse system is active
var/magpulse = FALSE
+11 -5
View File
@@ -52,15 +52,21 @@
/mob/living/carbon/human/calculate_affecting_pressure(pressure)
var/chest_covered = FALSE
var/head_covered = FALSE
var/chest_covered = !get_bodypart(BODY_ZONE_CHEST)
var/head_covered = !get_bodypart(BODY_ZONE_HEAD)
var/hands_covered = !get_bodypart(BODY_ZONE_L_ARM) && !get_bodypart(BODY_ZONE_R_ARM)
var/feet_covered = !get_bodypart(BODY_ZONE_L_LEG) && !get_bodypart(BODY_ZONE_R_LEG)
for(var/obj/item/clothing/equipped in get_equipped_items())
if((equipped.body_parts_covered & CHEST) && (equipped.clothing_flags & STOPSPRESSUREDAMAGE))
if(!chest_covered && (equipped.body_parts_covered & CHEST) && (equipped.clothing_flags & STOPSPRESSUREDAMAGE))
chest_covered = TRUE
if((equipped.body_parts_covered & HEAD) && (equipped.clothing_flags & STOPSPRESSUREDAMAGE))
if(!head_covered && (equipped.body_parts_covered & HEAD) && (equipped.clothing_flags & STOPSPRESSUREDAMAGE))
head_covered = TRUE
if(!hands_covered && (equipped.body_parts_covered & HANDS|ARMS) && (equipped.clothing_flags & STOPSPRESSUREDAMAGE))
hands_covered = TRUE
if(!feet_covered && (equipped.body_parts_covered & FEET|LEGS) && (equipped.clothing_flags & STOPSPRESSUREDAMAGE))
feet_covered = TRUE
if(chest_covered && head_covered)
if(chest_covered && head_covered && hands_covered && feet_covered)
return ONE_ATMOSPHERE
if(ismovable(loc))
/// If we're in a space with 0.5 content pressure protection, it averages the values, for example.