diff --git a/code/modules/mod/mod_clothes.dm b/code/modules/mod/mod_clothes.dm index 0ae6c665ff9..f81c47b420f 100644 --- a/code/modules/mod/mod_clothes.dm +++ b/code/modules/mod/mod_clothes.dm @@ -2,6 +2,7 @@ name = "MOD helmet" desc = "A helmet for a MODsuit." icon = 'icons/obj/clothing/modsuit/mod_clothing.dmi' + icon_monitor = 'icons/mob/clothing/modsuit/species/monitor_helmets.dmi' icon_state = "standard-helmet" base_icon_state = "helmet" worn_icon = 'icons/mob/clothing/modsuit/mod_clothing.dmi' diff --git a/code/modules/mod/modules/_modules.dm b/code/modules/mod/modules/_modules.dm index 938f96cc597..c82b81e216b 100644 --- a/code/modules/mod/modules/_modules.dm +++ b/code/modules/mod/modules/_modules.dm @@ -50,6 +50,8 @@ COOLDOWN_DECLARE(cooldown_timer) //sohtgdoiuduhnfipguhndshnfigdnghd ///The UID of the module. Don't ask. var/module_UID = null + /// Replaces the sprite for monitor heads + var/icon_monitor = null sprite_sheets = list( "Grey" = 'icons/mob/clothing/modsuit/species/grey_mod_modules.dmi', "Vulpkanin" = 'icons/mob/clothing/modsuit/species/modules_vulp.dmi', @@ -304,7 +306,11 @@ else return var/image/final_overlay - if(sprite_sheets && sprite_sheets[user.dna.species.sprite_sheet_name]) + var/obj/item/organ/external/head/head_organ = user.get_organ("head") + var/datum/robolimb/robohead = head_organ.is_robotic() ? GLOB.all_robolimbs[head_organ.model] : null + if(robohead && robohead.is_monitor && icon_monitor) + final_overlay = image(icon = icon_monitor, icon_state = used_overlay, layer = -HEAD_LAYER + 0.1) + else if(sprite_sheets && sprite_sheets[user.dna.species.sprite_sheet_name]) final_overlay = image(icon = sprite_sheets[user.dna.species.sprite_sheet_name], icon_state = used_overlay, layer = -HEAD_LAYER + 0.1) else final_overlay = image(icon = overlay_icon_file, icon_state = used_overlay, layer = -HEAD_LAYER + 0.1) diff --git a/code/modules/mod/modules/modules_antag.dm b/code/modules/mod/modules/modules_antag.dm index f5b9924f182..b4f2e47eabf 100644 --- a/code/modules/mod/modules/modules_antag.dm +++ b/code/modules/mod/modules/modules_antag.dm @@ -16,6 +16,7 @@ overlay_state_inactive = "module_armorbooster_off" overlay_state_active = "module_armorbooster_on" use_mod_colors = TRUE + icon_monitor = 'icons/mob/clothing/modsuit/species/modules_monitor.dmi' /// Whether or not this module removes pressure protection. var/remove_pressure_protection = TRUE /// Speed added to the control unit. @@ -100,6 +101,7 @@ removable = FALSE incompatible_modules = list(/obj/item/mod/module/insignia) overlay_state_inactive = "module_insignia" + icon_monitor = 'icons/mob/clothing/modsuit/species/modules_monitor.dmi' /obj/item/mod/module/insignia/generate_worn_overlay(user, mutable_appearance/standing) overlay_state_inactive = "[initial(overlay_state_inactive)]-[mod.skin]" diff --git a/code/modules/mod/modules/modules_engineering.dm b/code/modules/mod/modules/modules_engineering.dm index b94b59fd5f4..aa88041e206 100644 --- a/code/modules/mod/modules/modules_engineering.dm +++ b/code/modules/mod/modules/modules_engineering.dm @@ -10,6 +10,7 @@ complexity = 1 incompatible_modules = list(/obj/item/mod/module/welding, /obj/item/mod/module/armor_booster) overlay_state_inactive = "module_welding" + icon_monitor = 'icons/mob/clothing/modsuit/species/modules_monitor.dmi' /obj/item/mod/module/welding/on_suit_activation() mod.helmet.flash_protect = FLASH_PROTECTION_WELDER diff --git a/code/modules/mod/modules/modules_general.dm b/code/modules/mod/modules/modules_general.dm index cebf088dc0b..85203f41d9d 100644 --- a/code/modules/mod/modules/modules_general.dm +++ b/code/modules/mod/modules/modules_general.dm @@ -221,6 +221,7 @@ overlay_state_active = "module_light_on" light_color = COLOR_WHITE materials = list(MAT_METAL = 2500, MAT_GLASS = 5000) + icon_monitor = 'icons/mob/clothing/modsuit/species/modules_monitor.dmi' ///The light power for the mod var/mod_light_range = 4 ///The light range for the mod @@ -457,6 +458,7 @@ idle_power_cost = DEFAULT_CHARGE_DRAIN * 0.3 incompatible_modules = list(/obj/item/mod/module/plasma_stabilizer) overlay_state_inactive = "module_plasma" + icon_monitor = 'icons/mob/clothing/modsuit/species/modules_monitor.dmi' materials = list(MAT_METAL = 10000, MAT_GLASS = 4000, MAT_SILVER = 2000) /obj/item/mod/module/plasma_stabilizer/on_equip() diff --git a/icons/mob/clothing/modsuit/species/modules_monitor.dmi b/icons/mob/clothing/modsuit/species/modules_monitor.dmi new file mode 100644 index 00000000000..8c402fde7eb Binary files /dev/null and b/icons/mob/clothing/modsuit/species/modules_monitor.dmi differ diff --git a/icons/mob/clothing/modsuit/species/monitor_helmets.dmi b/icons/mob/clothing/modsuit/species/monitor_helmets.dmi new file mode 100644 index 00000000000..9aba55cb795 Binary files /dev/null and b/icons/mob/clothing/modsuit/species/monitor_helmets.dmi differ