From f0880267d25704521982a5c6ecefdaa485ed01e0 Mon Sep 17 00:00:00 2001 From: Alan Date: Mon, 2 Mar 2026 14:35:41 -0500 Subject: [PATCH] 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> --- code/modules/mod/mod_clothes.dm | 1 + code/modules/mod/modules/_modules.dm | 8 +++++++- code/modules/mod/modules/modules_antag.dm | 2 ++ code/modules/mod/modules/modules_engineering.dm | 1 + code/modules/mod/modules/modules_general.dm | 2 ++ .../modsuit/species/modules_monitor.dmi | Bin 0 -> 2867 bytes .../modsuit/species/monitor_helmets.dmi | Bin 0 -> 24200 bytes 7 files changed, 13 insertions(+), 1 deletion(-) create mode 100644 icons/mob/clothing/modsuit/species/modules_monitor.dmi create mode 100644 icons/mob/clothing/modsuit/species/monitor_helmets.dmi 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 0000000000000000000000000000000000000000..8c402fde7eb2420dfe57ffd38e176364147fc6f5 GIT binary patch literal 2867 zcmcImSy&Q?76#l9H8IyRmzJ?iP0KM&Ma^{F%Dr;5MkfSYaLWx>Xu{GoO>-GDC7aw+ z+;PV=a>9br+!q9D(9{$&0TH-%zx#6UbNAt#^PPvY{ogtNchWuGofIH@ApihC!Nu9Z zd&kay7qIk>-fMK7v15i4eEp&w5K-`(*CL{?g@*wEXkdA652W8tevm!qv(M5XrS90% zwA;P*r+Qixep5c@P9}1FBO)G5g~^H)Q*LdnTxp$KUcT9N{36s*&x+X0_&eBqqtSIJ z`bra|;W;z${lbA~jTf6ql7A2QP>K@tz8-m$SM(YZX=crCZ_++ z-Zq7dfpeq0471P@dcWCf0x14u>WbtjbdPJMcGqdbTA&kbhX2+B4s2$w-Q?wLzJf8iSZO!H1 zKj+~g1K10f1TXkP8pfAq%}q_CSk-e`?<3Zj>2jD8k)Pf-Qxiha9I_ZkqiOlIZoclQ zEWUK-+fw-3Z4P&(>&97_UaxgmY-nAJVYx(0`9o%cCL^AvK} z5+Qofevr@0(~<*8;=oYo0Xw@i0C4{gb;>Bfu(|GongypO*Y3bHwRbthRP_{L{dODu z60s+SmRuX#51nT+>w>gyq32P;;p+(O?dW9kf-4pUOqG_pYJfY~=XPE5Zs#hg)}IRt ziY)Acm!of>KFdFdbg#`1d^t_=+}1K62f%&C{XWFgFOzdjuuve#UJ?ve($#gq{ut-A z#Ec0h3fVk%$&zHXsQ(79LC>2!Ymqp(np3)07*HHW5#5~jvoWPHJn(AA1mqihd6-VS zsT_SKIh^e=9Yz}wW&8%=3YT-9!6R8A1nL+p2D$#NrpAdBch1JBzh3hm)MW$ z6+hl?tL@#2_=JGVfx(SZ&(n$9^X!TR|8)RKkQIWf4hC5-L zM3)c>U~qpMs}VRoMGs%ZzW3D_oDCD4wK+pmrMF`zi{_F__2|Mme`Lrb;ka!s;UWqM z+~0;ptQHytS(ReiumH;cWAVSA(NU=ht0>EWcz*W!l5KLZxc`tUzAND}vT#saeC5yh zYc(UvxCxC>GwGPQxIGv;rwBD#X|q>vY%?pdG_>QNT~yp(r0ryj#3h=QaGPM=3A1Xu z9gElo#`(7nFizv^Kt%rvp-JwfVaWv!H?fKZvJB<-XH(KA-WY^!Yjp`~tj*c7*v`(!j#c~`UGG13A2R@Iovs%A#WTADz zKwgX^w(@=toWThk5>3|uLf2TQjYTu9gW(B#K4ja2xx(o|QW_arP;|H2&w&3X#KyhjGDLAG+pOwB!! z%Ms)-X4KcDON zdli=QZm>BU>Z`!a$2V;Dw3>YBHt z_cm%zpzWkEu^qwGNe7I|958Q`ABavH_a5>dY}(c7L5Fmrozm~NKmODpAPyN3XY<6U za2Wjd7rF?4^u4mKzj#Iva#}ICgP|Iq7P*Z4NdKcI?&LE+eed3w%vEA2+`ABM;K!vJ zE50wEP#RF@>=0}zXm0(0s*Ob3JV%48T)uVN&kTfm!D>a!6whhaS?l{8J@{2^Bbct< zx_Erb^2@pGj1_1jLB?A<|7l-{T}$q&@N6;)If|Hf)`%W9K>=l+Bx>*RtLg@ol3P~ALNsRfRL;01vL>_i+qWOpPV;tA8drh2|GA5i9dO>UyVR#0^_ z%pHXDE;kA)1{rpBOM-s_9kK(*h!X8UxZS|rx;THGAkL-x6%_haCEYxK&7h<**hhjd^U;{)R<1WvM8-nEt!SPqOde&ak+tCxcCHR_bZAG#0aiArE}2klQVF zzw&H7T+K@zFFUj>;LP$_9q0@DKn|LR1o8_Z)irSK6(;NDR}%k&m)_jg9?;8%T9qJc ztL${eZ%3)47ubcH#xoj9`nf`A@4Mpi&1FwQyI7i zD0`V>A_?CAeVCu*8mdWqp05*A5IdNF9{~2}{oJRAtl_}wB-6YeY-FIjP@nzY`DUNN zdb+AT=`llHX>t(v+l~fY-oYSX2MB238K^Gqd!z&QKS`Bzf%a(tS*SfhqBZp5uZz>W ST6ex+fQzHML%n^_AO8Ztz!CQV literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..9aba55cb7952ac9a889c833e3858de07e758d81e GIT binary patch literal 24200 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 HI^X|46>0TR literal 0 HcmV?d00001