Adjust modsuit helmets for monitor heads. (#31663)

* Add modsuit helmets for monitor heads.

* Monitor head compatibility code

* Tweak modsuit helmet icons, update some module icons.

* Update welding screen module.

---------

Co-authored-by: PollardTheDragon <144391971+PollardTheDragon@users.noreply.github.com>
This commit is contained in:
Alan
2026-03-02 19:35:41 +00:00
committed by GitHub
co-authored by PollardTheDragon
parent 338b2b4dcd
commit f0880267d2
7 changed files with 13 additions and 1 deletions
+1
View File
@@ -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'
+7 -1
View File
@@ -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)
@@ -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]"
@@ -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
@@ -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()