diff --git a/code/game/gamemodes/cult/cult_items.dm b/code/game/gamemodes/cult/cult_items.dm index 39ed1bb5d26..1f33e89a855 100644 --- a/code/game/gamemodes/cult/cult_items.dm +++ b/code/game/gamemodes/cult/cult_items.dm @@ -100,6 +100,7 @@ cold_protection = HEAD min_cold_protection_temperature = SPACE_HELM_MIN_TEMP_PROTECT magical = TRUE + icon_monitor = 'icons/mob/clothing/species/machine/monitor/hood.dmi' /obj/item/clothing/head/hooded/culthood/alt icon_state = "cult_hoodalt" @@ -214,6 +215,7 @@ flags_inv = HIDEFACE flags_cover = HEADCOVERSEYES armor = list(MELEE = -25, BULLET = -25, LASER = -25, ENERGY = -25, BOMB = -25, RAD = -25, FIRE = 0, ACID = 0) + icon_monitor = 'icons/mob/clothing/species/machine/monitor/hood.dmi' sprite_sheets = list( "Vox" = 'icons/mob/clothing/species/vox/head.dmi', "Drask" = 'icons/mob/clothing/species/drask/head.dmi', diff --git a/code/game/gamemodes/wizard/artefact.dm b/code/game/gamemodes/wizard/artefact.dm index 89e5ca26cfa..cf55bc927ae 100644 --- a/code/game/gamemodes/wizard/artefact.dm +++ b/code/game/gamemodes/wizard/artefact.dm @@ -994,6 +994,7 @@ GLOBAL_LIST_EMPTY(multiverse) cold_protection = HEAD min_cold_protection_temperature = SPACE_HELM_MIN_TEMP_PROTECT magical = TRUE + icon_monitor = 'icons/mob/clothing/species/machine/monitor/hood.dmi' sprite_sheets = list( "Vox" = 'icons/mob/clothing/species/vox/head.dmi', "Kidan" = 'icons/mob/clothing/species/kidan/head.dmi', diff --git a/code/modules/clothing/head/job_hats.dm b/code/modules/clothing/head/job_hats.dm index c23622ee8df..4cf2e5b88ab 100644 --- a/code/modules/clothing/head/job_hats.dm +++ b/code/modules/clothing/head/job_hats.dm @@ -83,6 +83,7 @@ icon_state = "chaplain_hood" flags = BLOCKHAIR flags_cover = HEADCOVERSEYES + icon_monitor = 'icons/mob/clothing/species/machine/monitor/hood.dmi' //Chaplain /obj/item/clothing/head/hooded/nun_hood @@ -91,6 +92,7 @@ icon_state = "nun_hood" flags = BLOCKHAIR flags_cover = HEADCOVERSEYES + icon_monitor = 'icons/mob/clothing/species/machine/monitor/hood.dmi' //Chaplain /obj/item/clothing/head/hooded/monk_hood @@ -99,6 +101,7 @@ icon_state = "monk_hood" flags = BLOCKHAIR flags_cover = HEADCOVERSEYES + icon_monitor = 'icons/mob/clothing/species/machine/monitor/hood.dmi' /obj/item/clothing/head/witchhunter_hat name = "witchhunter hat" diff --git a/code/modules/clothing/suits/armor_suits.dm b/code/modules/clothing/suits/armor_suits.dm index 52b12c49a55..8376c4b362b 100644 --- a/code/modules/clothing/suits/armor_suits.dm +++ b/code/modules/clothing/suits/armor_suits.dm @@ -830,6 +830,7 @@ flags_cover = HEADCOVERSEYES heat_protection = HEAD max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT + icon_monitor = 'icons/mob/clothing/species/machine/monitor/hood.dmi' /obj/item/clothing/suit/armor/bone name = "bone armor" diff --git a/code/modules/clothing/suits/hood.dm b/code/modules/clothing/suits/hood.dm index 39a053c6aaf..cce480b66e1 100644 --- a/code/modules/clothing/suits/hood.dm +++ b/code/modules/clothing/suits/hood.dm @@ -105,6 +105,7 @@ cold_protection = HEAD flags = BLOCKHAIR flags_inv = HIDEEARS | HIDEMASK | HIDEFACE | HIDEEYES + icon_monitor = 'icons/mob/clothing/species/machine/monitor/hood.dmi' sprite_sheets = list( "Vox" = 'icons/mob/clothing/species/vox/head.dmi', diff --git a/code/modules/clothing/suits/misc_suits.dm b/code/modules/clothing/suits/misc_suits.dm index 531ac21376b..ba52a080cee 100644 --- a/code/modules/clothing/suits/misc_suits.dm +++ b/code/modules/clothing/suits/misc_suits.dm @@ -255,6 +255,7 @@ min_cold_protection_temperature = FIRE_HELM_MIN_TEMP_PROTECT flags = BLOCKHAIR flags_inv = HIDEEARS + icon_monitor = 'icons/mob/clothing/species/machine/monitor/hood.dmi' /obj/item/clothing/suit/hooded/carp_costume/dragon name = "space carp poncho" @@ -310,6 +311,7 @@ icon_state = "salmon" flags = BLOCKHAIR flags_inv = HIDEEARS + icon_monitor = 'icons/mob/clothing/species/machine/monitor/hood.dmi' /// It's Hip! /obj/item/clothing/suit/hooded/bee_costume @@ -329,6 +331,7 @@ icon_state = "bee" flags = THICKMATERIAL|BLOCKHAIR flags_inv = HIDEEARS + icon_monitor = 'icons/mob/clothing/species/machine/monitor/hood.dmi' sprite_sheets = list("Vox" = 'icons/mob/clothing/species/vox/head.dmi') /// OH MY GOD WHAT HAVE YOU DONE!?!?!? @@ -372,6 +375,7 @@ min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT flags = BLOCKHAIR flags_inv = HIDEEARS + icon_monitor = 'icons/mob/clothing/species/machine/monitor/hood.dmi' sprite_sheets = list( "Grey" = 'icons/mob/clothing/species/grey/head.dmi', "Vox" = 'icons/mob/clothing/species/vox/head.dmi' @@ -593,6 +597,7 @@ flags = BLOCKHAIR armor = list(MELEE = 5, BULLET = 5, LASER = 50, ENERGY = 50, BOMB = 0, RAD = 0, FIRE = INFINITY, ACID = INFINITY) strip_delay = 3 SECONDS + icon_monitor = 'icons/mob/clothing/species/machine/monitor/hood.dmi' sprite_sheets = list("Vox" = 'icons/mob/clothing/species/vox/head.dmi', "Grey" = 'icons/mob/clothing/species/grey/head.dmi') @@ -650,7 +655,7 @@ cold_protection = HEAD flags = BLOCKHAIR flags_inv = HIDEEARS - + icon_monitor = 'icons/mob/clothing/species/machine/monitor/hood.dmi' sprite_sheets = list( "Vox" = 'icons/mob/clothing/species/vox/head.dmi' ) diff --git a/code/modules/customitems/item_defines.dm b/code/modules/customitems/item_defines.dm index d4a1cc35e96..22d4dc98cc8 100644 --- a/code/modules/customitems/item_defines.dm +++ b/code/modules/customitems/item_defines.dm @@ -931,6 +931,7 @@ /// Epic_Charger: Linda Clark /obj/item/clothing/head/hooded/hood/fluff/linda icon_state = "greenhood" + icon_monitor = null /// Hylocereus: Sam Aria /obj/item/clothing/suit/hooded/hoodie/fluff/hylo @@ -956,6 +957,7 @@ /obj/item/clothing/head/hooded/hood/fluff/skeleton icon = 'icons/obj/custom_items.dmi' icon_state = "skeleton_hood" + icon_monitor = null /// RazekPraxis: SHODAN /obj/item/clothing/suit/armor/shodanscoat @@ -1025,6 +1027,7 @@ desc = "A hood with some horns glued to them, or something like that. Custom fit for a Unathi's head shape." icon = 'icons/obj/custom_items.dmi' icon_state = "xydonus_bomberhood" + icon_monitor = null /// Pineapple Salad: Dan Jello /obj/item/clothing/suit/fluff/pineapple diff --git a/code/modules/mining/equipment/explorer_gear.dm b/code/modules/mining/equipment/explorer_gear.dm index 430a000d14e..9a3fc0c344d 100644 --- a/code/modules/mining/equipment/explorer_gear.dm +++ b/code/modules/mining/equipment/explorer_gear.dm @@ -33,6 +33,7 @@ heat_protection = HEAD armor = list(MELEE = 20, BULLET = 5, LASER = 5, ENERGY = 5, BOMB = 50, RAD = 50, FIRE = 50, ACID = 50) resistance_flags = FIRE_PROOF + icon_monitor = 'icons/mob/clothing/species/machine/monitor/hood.dmi' sprite_sheets = list( "Vox" = 'icons/mob/clothing/species/vox/head.dmi', "Drask" = 'icons/mob/clothing/species/drask/head.dmi', 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 bbeb6eed860..2ed8bc75f87 100644 --- a/code/modules/mob/living/carbon/human/human_update_icons.dm +++ b/code/modules/mob/living/carbon/human/human_update_icons.dm @@ -802,7 +802,13 @@ GLOBAL_LIST_EMPTY(damage_icon_parts) if(head) update_hud_head(head) - var/worn_icon = listgetindex(head.sprite_sheets, dna.species.sprite_sheet_name) || head.worn_icon || 'icons/mob/clothing/head.dmi' + 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)) + 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' var/worn_icon_state = head.worn_icon_state || head.icon_state var/mutable_appearance/standing = mutable_appearance(worn_icon, worn_icon_state, layer = -HEAD_LAYER, alpha = head.alpha, color = head.color) @@ -814,7 +820,7 @@ GLOBAL_LIST_EMPTY(damage_icon_parts) if(istype(head, /obj/item/clothing/head)) var/obj/item/clothing/head/w_hat = head for(var/obj/item/clothing/head/hat in w_hat.attached_hats) - var/hat_worn_icon = listgetindex(hat.sprite_sheets, dna.species.sprite_sheet_name) || hat.worn_icon || 'icons/mob/clothing/head.dmi' + var/hat_worn_icon = (robohead && robohead.is_monitor ? hat.icon_monitor : FALSE) ||listgetindex(hat.sprite_sheets, dna.species.sprite_sheet_name) || hat.worn_icon || 'icons/mob/clothing/head.dmi' var/hat_worn_icon_state = hat.worn_icon_state || hat.icon_state standing.overlays += image(icon = hat_worn_icon, icon_state = hat_worn_icon_state) diff --git a/icons/mob/clothing/species/machine/monitor/hood.dmi b/icons/mob/clothing/species/machine/monitor/hood.dmi new file mode 100644 index 00000000000..af2284cda21 Binary files /dev/null and b/icons/mob/clothing/species/machine/monitor/hood.dmi differ