From 9ca522d4dd0503902f598b0453b5bfa7129dc58d Mon Sep 17 00:00:00 2001 From: Tostah <64234012+Tostah@users.noreply.github.com> Date: Mon, 2 Jun 2025 14:57:04 -0400 Subject: [PATCH] Fixes ninja camera vision module so it provides welding protection (#91428) ## About The Pull Request The ninja camera vision module now provides the same welding protection as the welding module, as intended. This was due to the camera vision module not inheriting the function which applied the welding protection in on_part_activation() ## Why It's Good For The Game The camera vision module was not providing any flash protection to the ninja, despite its description clearly stating; "...as well as automatically dimming incoming flashes of light to protect the user's eyes. Become the unseen." In fact, the night vision goggles provided to the ninjas made them weak to flashes. ## Changelog :cl: fix: Ninja Camera Vision module now correctly applies welding protection. /:cl: --- code/modules/mod/modules/modules_ninja.dm | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/code/modules/mod/modules/modules_ninja.dm b/code/modules/mod/modules/modules_ninja.dm index e75141cf3d5..77bd5a129f2 100644 --- a/code/modules/mod/modules/modules_ninja.dm +++ b/code/modules/mod/modules/modules_ninja.dm @@ -71,6 +71,7 @@ use_energy_cost = DEFAULT_CHARGE_DRAIN * 5 cooldown_time = 3 SECONDS + /obj/item/mod/module/stealth/ninja/on_activation() . = ..() ADD_TRAIT(mod.wearer, TRAIT_SILENT_FOOTSTEPS, REF(src)) @@ -94,8 +95,18 @@ /obj/item/mod/module/welding/camera_vision/on_part_activation() RegisterSignal(mod.wearer, COMSIG_LIVING_CAN_TRACK, PROC_REF(can_track)) + var/obj/item/clothing/head_cover = mod.get_part_from_slot(ITEM_SLOT_HEAD) || mod.get_part_from_slot(ITEM_SLOT_MASK) || mod.get_part_from_slot(ITEM_SLOT_EYES) + if(istype(head_cover)) + //this is a screen that displays an image, so flash sensitives can use this to protect against flashes. + head_cover.flash_protect = FLASH_PROTECTION_WELDER_HYPER_SENSITIVE + /obj/item/mod/module/welding/camera_vision/on_part_deactivation(deleting = FALSE) + if(deleting) + return + var/obj/item/clothing/head_cover = mod.get_part_from_slot(ITEM_SLOT_HEAD) || mod.get_part_from_slot(ITEM_SLOT_MASK) || mod.get_part_from_slot(ITEM_SLOT_EYES) + if(istype(head_cover)) + head_cover.flash_protect = initial(head_cover.flash_protect) UnregisterSignal(mod.wearer, COMSIG_LIVING_CAN_TRACK) /obj/item/mod/module/welding/camera_vision/proc/can_track(datum/source, mob/user)