Fixes voidsuit and species sprites missing (#9946)

This commit is contained in:
Alberyk
2020-09-09 22:34:40 -03:00
committed by GitHub
parent 08d4ebf4b9
commit 62185b7e03
4 changed files with 41 additions and 46 deletions
@@ -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"
@@ -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)
@@ -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)