diff --git a/code/game/objects/items/cigs.dm b/code/game/objects/items/cigs.dm index 069d5505bfe..f6120929336 100644 --- a/code/game/objects/items/cigs.dm +++ b/code/game/objects/items/cigs.dm @@ -23,6 +23,7 @@ LIGHTERS ARE IN LIGHTERS.DM icon_state = "cig" lefthand_file = 'icons/mob/inhands/smoking_lefthand.dmi' righthand_file = 'icons/mob/inhands/smoking_righthand.dmi' + icon_monitor = 'icons/mob/clothing/species/machine/monitor/mask.dmi' w_class = WEIGHT_CLASS_TINY body_parts_covered = null attack_verb = null diff --git a/code/modules/clothing/masks/boxing.dm b/code/modules/clothing/masks/boxing.dm index a6ce8602507..ec39822c738 100644 --- a/code/modules/clothing/masks/boxing.dm +++ b/code/modules/clothing/masks/boxing.dm @@ -2,6 +2,7 @@ name = "balaclava" desc = "LOADSAMONEY!" icon_state = "balaclava" + icon_monitor = 'icons/mob/clothing/species/machine/monitor/mask.dmi' flags = BLOCKHAIR flags_inv = HIDEFACE can_toggle = TRUE @@ -27,6 +28,7 @@ name = "luchador mask" desc = "Worn by robust fighters, flying high to defeat their foes!" icon_state = "luchag" + icon_monitor = 'icons/mob/clothing/species/machine/monitor/mask.dmi' flags = BLOCKHAIR flags_inv = HIDEFACE sprite_sheets = list( diff --git a/code/modules/clothing/masks/breath.dm b/code/modules/clothing/masks/breath.dm index 1c025065078..e69bcf08082 100644 --- a/code/modules/clothing/masks/breath.dm +++ b/code/modules/clothing/masks/breath.dm @@ -2,6 +2,7 @@ name = "breath mask" desc = "A close-fitting mask that can be connected to an air supply." icon_state = "breath" + icon_monitor = 'icons/mob/clothing/species/machine/monitor/mask.dmi' flags = AIRTIGHT flags_cover = MASKCOVERSMOUTH can_toggle = TRUE @@ -44,6 +45,7 @@ name = "vox breath mask" desc = "A weirdly-shaped breath mask." icon_state = "voxmask" + icon_monitor = null permeability_coefficient = 0.01 species_restricted = list("Vox") actions_types = list() diff --git a/code/modules/clothing/masks/gasmask.dm b/code/modules/clothing/masks/gasmask.dm index cbfe0ee1cc3..f7044d3cb14 100644 --- a/code/modules/clothing/masks/gasmask.dm +++ b/code/modules/clothing/masks/gasmask.dm @@ -3,6 +3,7 @@ desc = "A face-covering mask that can be connected to an air supply. Used by mischievous assistants and syndicate agents alike." icon_state = "gas_alt" inhand_icon_state = "gas_alt" + icon_monitor = 'icons/mob/clothing/species/machine/monitor/mask.dmi' flags = BLOCK_GAS_SMOKE_EFFECT | AIRTIGHT flags_inv = HIDEEARS|HIDEEYES|HIDEFACE flags_cover = MASKCOVERSMOUTH | MASKCOVERSEYES diff --git a/code/modules/clothing/masks/misc_masks.dm b/code/modules/clothing/masks/misc_masks.dm index bbe04438abd..83d15c812a2 100644 --- a/code/modules/clothing/masks/misc_masks.dm +++ b/code/modules/clothing/masks/misc_masks.dm @@ -3,6 +3,7 @@ desc = "To stop that awful noise." icon_state = "muzzle" inhand_icon_state = "muzzle" + icon_monitor = 'icons/mob/clothing/species/machine/monitor/mask.dmi' flags_cover = MASKCOVERSMOUTH gas_transfer_coefficient = 0.90 put_on_delay = 2 SECONDS @@ -178,6 +179,7 @@ desc = "A sterile mask designed to help prevent the spread of diseases." icon_state = "sterile" inhand_icon_state = "m_mask" + icon_monitor = 'icons/mob/clothing/species/machine/monitor/mask.dmi' w_class = WEIGHT_CLASS_TINY flags_cover = MASKCOVERSMOUTH gas_transfer_coefficient = 0.90 @@ -208,6 +210,7 @@ name = "completely real moustache" desc = "moustache is totally real." icon_state = "fake-moustache" + icon_monitor = 'icons/mob/clothing/species/machine/monitor/mask.dmi' flags_inv = HIDEFACE actions_types = list(/datum/action/item_action/pontificate) dog_fashion = /datum/dog_fashion/head/not_ian @@ -239,6 +242,7 @@ name = "pig mask" desc = "A rubber pig mask." icon_state = "pig" + icon_monitor = 'icons/mob/clothing/species/machine/monitor/mask.dmi' flags = BLOCKHAIR flags_inv = HIDEFACE @@ -246,6 +250,7 @@ name = "horse head mask" desc = "A mask made of soft vinyl and latex, representing the head of a horse." icon_state = "horsehead" + icon_monitor = 'icons/mob/clothing/species/machine/monitor/mask.dmi' flags = BLOCKHAIR flags_inv = HIDEFACE var/voicechange = FALSE @@ -289,6 +294,7 @@ /obj/item/clothing/mask/face flags_inv = HIDEFACE flags_cover = MASKCOVERSMOUTH + icon_monitor = 'icons/mob/clothing/species/machine/monitor/mask.dmi' /obj/item/clothing/mask/face/rat name = "rat mask" @@ -341,6 +347,7 @@ name = "Guy Fawkes mask" desc = "A mask designed to help you remember a specific date." icon_state = "fawkes" + icon_monitor = 'icons/mob/clothing/species/machine/monitor/mask.dmi' flags_inv = HIDEFACE // Bandanas @@ -352,6 +359,7 @@ w_class = WEIGHT_CLASS_TINY adjusted_flags = ITEM_SLOT_HEAD icon_state = "bandana" // Default white bandana + icon_monitor = 'icons/mob/clothing/species/machine/monitor/mask.dmi' dyeable = TRUE dyeing_key = DYE_REGISTRY_BANDANA can_toggle = TRUE @@ -494,11 +502,12 @@ desc = "This is a very, very odd looking mask." icon = 'icons/goonstation/objects/clothing/mask.dmi' icon_state = "cursedclown" + icon_monitor = 'icons/mob/clothing/species/machine/monitor/mask.dmi' worn_icon = 'icons/goonstation/mob/clothing/mask.dmi' inhand_icon_state = "cclown_hat" lefthand_file = 'icons/goonstation/mob/inhands/clothing_lefthand.dmi' righthand_file = 'icons/goonstation/mob/inhands/clothing_righthand.dmi' - flags = BLOCK_GAS_SMOKE_EFFECT | AIRTIGHT | BLOCKHAIR + flags = BLOCK_GAS_SMOKE_EFFECT | AIRTIGHT | BLOCKHAIR flags_cover = MASKCOVERSMOUTH sprite_sheets = list( "Drask" = 'icons/mob/clothing/species/drask/mask.dmi', @@ -512,6 +521,7 @@ desc = "This is a very, very odd looking mask." icon = 'icons/goonstation/objects/clothing/mask.dmi' icon_state = "cursedclown" + icon_monitor = 'icons/mob/clothing/species/machine/monitor/mask.dmi' worn_icon = 'icons/goonstation/mob/clothing/mask.dmi' inhand_icon_state = "cclown_hat" lefthand_file = 'icons/goonstation/mob/inhands/clothing_lefthand.dmi' diff --git a/code/modules/mob/living/carbon/alien/special/facehugger.dm b/code/modules/mob/living/carbon/alien/special/facehugger.dm index 874c1f1e25e..0e77aa784f4 100644 --- a/code/modules/mob/living/carbon/alien/special/facehugger.dm +++ b/code/modules/mob/living/carbon/alien/special/facehugger.dm @@ -5,6 +5,7 @@ icon = 'icons/mob/alien.dmi' icon_state = "facehugger" inhand_icon_state = "facehugger" + icon_monitor = 'icons/mob/clothing/species/machine/monitor/mask.dmi' w_class = WEIGHT_CLASS_TINY //note: can be picked up by aliens unlike most other items of w_class below 4 throw_range = 5 tint = 3 diff --git a/code/modules/mob/living/carbon/human/human_update_icons.dm b/code/modules/mob/living/carbon/human/human_update_icons.dm index 9ade814065c..94017938944 100644 --- a/code/modules/mob/living/carbon/human/human_update_icons.dm +++ b/code/modules/mob/living/carbon/human/human_update_icons.dm @@ -849,7 +849,7 @@ GLOBAL_LIST_EMPTY(damage_icon_parts) var/obj/item/organ/external/head/head_organ = get_organ("head") var/datum/robolimb/robohead = head_organ.is_robotic() ? GLOB.all_robolimbs[head_organ.model] : null var/obj/item/clothing/head/head_clothes - if(istype(head, /obj/item/clothing/head)) + if(istype(head, /obj/item/clothing)) head_clothes = head var/worn_icon = (head_clothes && robohead && robohead.is_monitor ? head_clothes.icon_monitor : FALSE) || listgetindex(head.sprite_sheets, dna.species.sprite_sheet_name) || head.worn_icon || 'icons/mob/clothing/head.dmi' @@ -984,13 +984,15 @@ GLOBAL_LIST_EMPTY(damage_icon_parts) update_hud_wear_mask(wear_mask) if(!(check_obscured_slots() & ITEM_SLOT_MASK) && !HAS_TRAIT(wear_mask, TRAIT_NO_WORN_ICON)) var/obj/item/organ/external/head/head_organ = get_organ("head") + var/datum/robolimb/robohead = head_organ.is_robotic() ? GLOB.all_robolimbs[head_organ.model] : null if(!istype(head_organ)) return // Nothing to update here var/datum/sprite_accessory/alt_heads/alternate_head if(head_organ.alt_head && head_organ.alt_head != "None") alternate_head = GLOB.alt_heads_list[head_organ.alt_head] - var/icon/worn_icon = new(listgetindex(wear_mask.sprite_sheets, dna.species.sprite_sheet_name) || wear_mask.worn_icon || 'icons/mob/clothing/mask.dmi') + var/obj/item/clothing/worn_mask = wear_mask + var/icon/worn_icon = new(listgetindex(wear_mask.sprite_sheets, dna.species.sprite_sheet_name) || (robohead && robohead.is_monitor ? worn_mask.icon_monitor : FALSE) || wear_mask.worn_icon || 'icons/mob/clothing/mask.dmi') var/worn_icon_state = wear_mask.worn_icon_state || wear_mask.icon_state if(alternate_head && ("[worn_icon_state]_[alternate_head.suffix]" in worn_icon.IconStates())) worn_icon_state += "_[alternate_head.suffix]" diff --git a/code/modules/ninja/ninja_clothes.dm b/code/modules/ninja/ninja_clothes.dm index 55fdd3a12af..9e7e95806c0 100644 --- a/code/modules/ninja/ninja_clothes.dm +++ b/code/modules/ninja/ninja_clothes.dm @@ -49,7 +49,6 @@ inhand_icon_state = "s-ninja_mask" flash_protect = FLASH_PROTECTION_FLASH origin_tech = "combat=4;materials=4;syndicate=1" - icon_monitor = 'icons/mob/clothing/species/machine/monitor/mask.dmi' sprite_sheets = list( "Unathi" = 'icons/mob/clothing/species/unathi/mask.dmi', "Tajaran" = 'icons/mob/clothing/species/tajaran/mask.dmi', diff --git a/icons/mob/clothing/species/machine/monitor/mask.dmi b/icons/mob/clothing/species/machine/monitor/mask.dmi index 6f369e3a169..d01348db4e5 100644 Binary files a/icons/mob/clothing/species/machine/monitor/mask.dmi and b/icons/mob/clothing/species/machine/monitor/mask.dmi differ