syndicate modsuit visor pseudo-toggle (tied to combat mode) (#93391)

## About The Pull Request

The visors on MODsuits using the Syndicate welding visor (now renamed
the "flash-protected optical suite") now toggle their armor booster
overlay depending on whether the user has combat mode on or off.

## Why It's Good For The Game

Style. Listen, man, I just thought it'd be a shame if the cool visor
sprites never got used again.


https://github.com/user-attachments/assets/d5103168-7a1e-4405-adb3-53420c8601d7

## Changelog

🆑
add: The visors on MODsuits that used to have armor boosters now visibly
toggle based on whether the wearer is in combat mode or not.
/🆑

---------

Co-authored-by: Hatterhat <Hatterhat@users.noreply.github.com>
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
This commit is contained in:
Hatterhat
2025-10-13 00:28:39 +02:00
committed by GitHub
co-authored by Hatterhat MrMelbert
parent 260b8612aa
commit 17303dfe7b
5 changed files with 29 additions and 4 deletions
@@ -26,17 +26,36 @@
head_cover.flash_protect = initial(head_cover.flash_protect)
/obj/item/mod/module/welding/syndicate
name = "MODsuit flash-protected optical suite"
complexity = 0
removable = FALSE
incompatible_modules = list(/obj/item/mod/module/welding, /obj/item/mod/module/welding/syndicate, /obj/item/mod/module/stealth/wraith)
overlay_state_inactive = "module_armorbooster_on"
overlay_state_inactive = "module_armorbooster_off"
use_mod_colors = TRUE
mask_worn_overlay = TRUE
/obj/item/mod/module/welding/syndicate/generate_worn_overlay(obj/item/source, mutable_appearance/standing)
overlay_state_inactive = "[initial(overlay_state_inactive)]-[mod.skin]"
if(!mod.wearer || !mod.wearer.combat_mode)
overlay_state_inactive = "[initial(overlay_state_inactive)]-[mod.skin]"
else
overlay_state_inactive = "module_armorbooster_on-[mod.skin]"
return ..()
/obj/item/mod/module/welding/syndicate/on_part_activation()
. = ..()
RegisterSignal(mod.wearer, COMSIG_COMBAT_MODE_TOGGLED, PROC_REF(on_combat_mode_toggle))
/obj/item/mod/module/welding/syndicate/on_part_deactivation(deleting = FALSE)
. = ..()
UnregisterSignal(mod.wearer, COMSIG_COMBAT_MODE_TOGGLED)
/// Changes which overlay state we're using depending on combat mode status.
/obj/item/mod/module/welding/syndicate/proc/on_combat_mode_toggle(mob/living/carbon/human/toggler)
SIGNAL_HANDLER
playsound(src, 'sound/vehicles/mecha/mechmove03.ogg', 25, TRUE, SHORT_RANGE_SOUND_EXTRARANGE)
update_clothing_slots()
///T-Ray Scan - Scans the terrain for undertile objects.
/obj/item/mod/module/t_ray
name = "MOD t-ray scan module"