Fixes suits showing up on top of rig pieces. (#17281)

* say a prayer for the wicked souls

* ???

* Update code/modules/clothing/spacesuits/rig/rig.dm

Co-authored-by: SleepyGemmy <99297919+SleepyGemmy@users.noreply.github.com>

---------

Co-authored-by: Matt Atlas <liermattia@gmail.com>
Co-authored-by: SleepyGemmy <99297919+SleepyGemmy@users.noreply.github.com>
This commit is contained in:
Matt Atlas
2023-09-09 12:14:59 +02:00
committed by GitHub
parent dab8863757
commit 3f57cebc61
3 changed files with 68 additions and 20 deletions
+26 -5
View File
@@ -244,13 +244,23 @@
sealing = 1
if(!seal_target && !suit_is_deployed())
wearer.visible_message("<span class='danger'>[wearer]'s suit flashes an error light.</span>","<span class='danger'>Your suit flashes an error light. It can't function properly without being fully deployed.</span>")
wearer.visible_message(
SPAN_DANGER("[wearer]'s suit flashes an error light."),
SPAN_DANGER("Your suit flashes an error light. It can't function properly without being fully deployed.")
)
playsound(src, 'sound/items/rfd_empty.ogg', 20, FALSE)
failed_to_seal = 1
var/is_in_cycler = istype(initiator.loc, /obj/machinery/suit_cycler)
seal_delay = is_in_cycler ? 1 : initial(seal_delay)
var/jumpsuit_was_hidden = FALSE
if(suit_is_deployed() && (wearer.wear_suit.flags_inv & HIDEJUMPSUIT) && !instant)
/// Don't hide the jumpsuit while removing the rig.
wearer.wear_suit.flags_inv &= ~HIDEJUMPSUIT
wearer.update_inv_wear_suit()
jumpsuit_was_hidden = TRUE
if(!failed_to_seal)
if(!instant)
wearer.visible_message("<span class='notice'>[wearer]'s suit emits a quiet hum as it begins to adjust its seals.</span>","<span class='notice'>With a quiet hum, the suit begins running checks and adjusting components.</span>")
@@ -262,7 +272,11 @@
if(!wearer)
failed_to_seal = 1
else
for(var/list/piece_data in list(list(wearer.shoes,boots,"boots",boot_type),list(wearer.gloves,gloves,"gloves",glove_type),list(wearer.head,helmet,"helmet",helm_type),list(wearer.wear_suit,chest,BP_CHEST,chest_type)))
for(var/list/piece_data in list(
list(wearer.shoes, boots, "boots", boot_type),
list(wearer.gloves, gloves, "gloves", glove_type),
list(wearer.head, helmet, "helmet", helm_type),
list(wearer.wear_suit, chest, "chest", chest_type)))
var/obj/item/clothing/piece = piece_data[1]
var/obj/item/compare_piece = piece_data[2]
@@ -292,8 +306,12 @@
if("gloves")
to_chat(wearer, "<span class='notice'>\The [piece] [!seal_target ? "tighten around your fingers and wrists" : "become loose around your fingers"].</span>")
wearer.update_inv_gloves()
if(BP_CHEST)
to_chat(wearer, "<span class='notice'>\The [piece] [!seal_target ? "cinches tight again your chest" : "releases your chest"].</span>")
if("chest")
to_chat(wearer, "<span class='notice'>\The [piece] [!seal_target ? "cinches your chest tightly" : "releases your chest"].</span>")
if(!seal_target)
piece.flags_inv |= HIDEJUMPSUIT
else
piece.flags_inv &= ~HIDEJUMPSUIT
wearer.update_inv_wear_suit()
if("helmet")
to_chat(wearer, "<span class='notice'>\The [piece] hisses [!seal_target ? "closed" : "open"].</span>")
@@ -317,11 +335,14 @@
if(failed_to_seal)
for(var/obj/item/piece in list(helmet,boots,gloves,chest))
if(!piece) continue
if(!piece)
continue
piece.icon_state = "[initial(icon_state)][!seal_target ? "" : "_sealed"]"
canremove = !seal_target
if(airtight)
update_component_sealed()
if(jumpsuit_was_hidden && wearer.wear_suit == chest)
wearer.wear_suit.flags_inv |= HIDEJUMPSUIT
update_icon(1)
return 0
@@ -40,7 +40,7 @@
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS
heat_protection = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS
cold_protection = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS
flags_inv = HIDEJUMPSUIT|HIDETAIL
flags_inv = HIDETAIL
item_flags = THICKMATERIAL|AIRTIGHT|INJECTIONPORT
slowdown = 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.
@@ -52,19 +52,6 @@
supporting_limbs = list()
/obj/item/clothing/suit/space/rig/get_mob_overlay(mob/living/carbon/human/H, mob_icon, mob_state, slot)
var/obj/item/clothing/w_uniform = H.w_uniform
var/image/uniform = null
if(w_uniform)
uniform = w_uniform.return_own_image()
var/image/I = ..()
if(uniform)
uniform.add_overlay(I)
return uniform
else
return I
//TODO: move this to modules
/obj/item/clothing/head/helmet/space/rig/proc/prevent_track()
return 0
@@ -104,7 +91,6 @@
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS
heat_protection = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS
cold_protection = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS
flags_inv = HIDEJUMPSUIT
item_flags = THICKMATERIAL|INJECTIONPORT
/obj/item/clothing/shoes/lightrig