diff --git a/code/modules/clothing/spacesuits/void/merc.dm b/code/modules/clothing/spacesuits/void/merc.dm index cfd66662ca5..11d18b019e5 100644 --- a/code/modules/clothing/spacesuits/void/merc.dm +++ b/code/modules/clothing/spacesuits/void/merc.dm @@ -17,10 +17,10 @@ light_color = "#ffffff" /obj/item/clothing/suit/space/void/merc - icon_state = "rig-syndie" name = "blood-red voidsuit" desc = "An advanced suit that protects against injuries during special operations. Property of Gorlex Marauders." - item_state = "syndie_voidsuit" + icon_state = "rig-syndie" + item_state = "rig-syndie" item_state_slots = list( slot_l_hand_str = "syndie_hardsuit", slot_r_hand_str = "syndie_hardsuit" diff --git a/code/modules/clothing/spacesuits/void/station.dm b/code/modules/clothing/spacesuits/void/station.dm index 58504a11578..8bd986e3d60 100644 --- a/code/modules/clothing/spacesuits/void/station.dm +++ b/code/modules/clothing/spacesuits/void/station.dm @@ -16,7 +16,7 @@ name = "engineering voidsuit" desc = "A special suit that protects against hazardous, low pressure environments. Has radiation shielding." icon_state = "rig-engineering" - item_state = "eng_voidsuit" + item_state = "rig-engineering" slowdown = 1 item_state_slots = list( slot_l_hand_str = "eng_hardsuit", @@ -39,14 +39,14 @@ brightness_on = 6 /obj/item/clothing/suit/space/void/mining - icon_state = "rig-mining" name = "mining voidsuit" item_state_slots = list( slot_l_hand_str = "mining_hardsuit", slot_r_hand_str = "mining_hardsuit" ) desc = "A special suit that protects against hazardous, low pressure environments. Has reinforced plating." - item_state = "mining_voidsuit" + item_state = "rig-mining" + icon_state = "rig-mining" armor = list(melee = 50, bullet = 5, laser = 20,energy = 5, bomb = 55, bio = 100, rad = 20) allowed = list(/obj/item/device/flashlight,/obj/item/tank,/obj/item/device/suit_cooling_unit,/obj/item/storage/bag/ore,/obj/item/pickaxe, /obj/item/gun/custom_ka, /obj/item/gun/energy/vaurca/thermaldrill) @@ -64,10 +64,10 @@ brightness_on = 6 /obj/item/clothing/suit/space/void/medical - icon_state = "rig-medical" name = "medical voidsuit" desc = "A special suit that protects against hazardous, low pressure environments. Has minor radiation shielding." - item_state = "medical_voidsuit" + icon_state = "rig-medical" + item_state = "rig-medical" item_state_slots = list( slot_l_hand_str = "medical_hardsuit", slot_r_hand_str = "medical_hardsuit" @@ -89,10 +89,10 @@ brightness_on = 6 /obj/item/clothing/suit/space/void/security - icon_state = "rig-sec" name = "security voidsuit" desc = "A special suit that protects against hazardous, low pressure environments. Has an additional layer of armor." - item_state = "sec_voidsuit" + icon_state = "rig-sec" + item_state = "rig-sec" item_state_slots = list( slot_l_hand_str = "sec_hardsuit", slot_r_hand_str = "sec_hardsuit" @@ -115,10 +115,10 @@ brightness_on = 6 /obj/item/clothing/suit/space/void/atmos - desc = "A special suit that protects against hazardous, low pressure environments. Has improved thermal protection and minor radiation shielding." - icon_state = "rig-atmos" name = "atmos voidsuit" - item_state = "atmos_voidsuit" + desc = "A special suit that protects against hazardous, low pressure environments. Has improved thermal protection and minor radiation shielding." + item_state = "rig-atmos" + icon_state = "rig-atmos" item_state_slots = list( slot_l_hand_str = "atmos_hardsuit", slot_r_hand_str = "atmos_hardsuit" @@ -140,10 +140,10 @@ light_overlay = "helmet_light_dual" /obj/item/clothing/suit/space/void/hos - icon_state = "rig-hos" name = "heavy security voidsuit" desc = "A special suit that protects against hazardous, low pressure environments. Has an additional layer of armor, and gold trim." - item_state = "sec_voidsuit" + item_state = "rig-hos" + icon_state = "rig-hos" item_state_slots = list( slot_l_hand_str = "sec_hardsuit", slot_r_hand_str = "sec_hardsuit" @@ -160,9 +160,9 @@ armor = list(melee = 20, bullet = 5, laser = 30, energy = 45, bomb = 25, bio = 100, rad = 75) /obj/item/clothing/suit/space/void/sci - icon_state = "rig-sci" name = "research voidsuit" desc = "A special suit that designed for usage by NanoTrasen research personnel in hazardous, low pressure environments." - item_state = "research_voidsuit" + item_state = "rig-sci" + icon_state = "rig-sci" allowed = list(/obj/item/device/flashlight,/obj/item/tank,/obj/item/device/suit_cooling_unit) armor = list(melee = 20, bullet = 5, laser = 30, energy = 45, bomb = 25, bio = 100, rad = 75) \ No newline at end of file diff --git a/code/modules/mob/living/carbon/human/update_icons.dm b/code/modules/mob/living/carbon/human/update_icons.dm index be9660372d7..9df6bc38e6b 100644 --- a/code/modules/mob/living/carbon/human/update_icons.dm +++ b/code/modules/mob/living/carbon/human/update_icons.dm @@ -908,41 +908,26 @@ There are several things that need to be remembered: if (QDELING(src)) return - overlays_raw[SUIT_LAYER] = null - if(wear_suit) + if (istype(wear_suit, /obj/item)) wear_suit.screen_loc = ui_oclothing - //determine icon state to use - var/t_state = wear_suit.item_state || wear_suit.icon_state + var/image/standing - var/image/result_layer if(wear_suit.contained_sprite) wear_suit.auto_adapt_species(src) - t_state = "[UNDERSCORE_OR_NULL(wear_suit.icon_species_tag)][wear_suit.item_state][WORN_SUIT]" + var/state = "[UNDERSCORE_OR_NULL(wear_suit.icon_species_tag)][wear_suit.item_state][WORN_SUIT]" - result_layer = image(wear_suit.icon_override || wear_suit.icon, t_state) + standing = image(wear_suit.icon_override || wear_suit.icon, state) + + else if(wear_suit.icon_override) + standing = image(wear_suit.icon_override, wear_suit.icon_state) + else if(wear_suit.sprite_sheets && wear_suit.sprite_sheets[GET_BODY_TYPE]) + standing = image(wear_suit.sprite_sheets[GET_BODY_TYPE], wear_suit.icon_state) else - if(wear_suit.item_state_slots && wear_suit.item_state_slots[slot_wear_suit_str]) - t_state = wear_suit.item_state_slots[slot_wear_suit_str] + standing = image('icons/mob/suit.dmi', wear_suit.icon_state) - //determine icon to use - var/icon/t_icon - if(wear_suit.item_icons && (slot_wear_suit_str in wear_suit.item_icons)) - t_icon = wear_suit.item_icons[slot_wear_suit_str] - else if(wear_suit.icon_override) - t_state += WORN_SUIT - t_icon = wear_suit.icon_override - else - t_icon = INV_SUIT_DEF_ICON - - result_layer = image(t_icon, t_state) - - if(wear_suit.color) - result_layer.color = wear_suit.color - - var/image/worn_overlays = wear_suit.worn_overlays(t_icon) - if(worn_overlays) - result_layer.overlays.Add(worn_overlays) + if (wear_suit.color) + standing.color = wear_suit.color var/list/ovr @@ -950,19 +935,23 @@ There are several things that need to be remembered: var/obj/item/clothing/suit/S = wear_suit var/image/bloodsies = image(species.blood_mask, "[S.blood_overlay_type]blood") bloodsies.color = wear_suit.blood_color - ovr = list(result_layer, bloodsies) + ovr = list(standing, bloodsies) // Accessories - copied from uniform, BOILERPLATE because fuck this system. var/obj/item/clothing/suit/suit = wear_suit if(istype(suit) && LAZYLEN(suit.accessories)) if (!ovr) - ovr = list(result_layer) + ovr = list(standing) for(var/obj/item/clothing/accessory/A in suit.accessories) ovr += A.get_mob_overlay() - overlays_raw[SUIT_LAYER] = result_layer || ovr + overlays_raw[SUIT_LAYER] = ovr || standing update_tail_showing(0) + else + overlays_raw[SUIT_LAYER] = null + update_tail_showing(0) + update_inv_shoes(0) update_collar(0) update_inv_w_uniform(0) diff --git a/html/changelogs/alberyk-suitfix.yml b/html/changelogs/alberyk-suitfix.yml new file mode 100644 index 00000000000..1653b61d5ef --- /dev/null +++ b/html/changelogs/alberyk-suitfix.yml @@ -0,0 +1,6 @@ +author: Alberyk + +delete-after: True + +changes: + - bugfix: "Fixed voidsuits having no worn icons."