diff --git a/modular_zubbers/code/modules/customization/modules/client/augment/organs.dm b/modular_zubbers/code/modules/customization/modules/client/augment/organs.dm index 29f54d32a46..0c7eb2d78fa 100644 --- a/modular_zubbers/code/modules/customization/modules/client/augment/organs.dm +++ b/modular_zubbers/code/modules/customization/modules/client/augment/organs.dm @@ -1,7 +1,12 @@ /datum/augment_item/organ/eyes/jelly name = "Slime Tri-eyes" path = /obj/item/organ/eyes/jelly - + +/datum/augment_item/organ/eyes/manuallyshield + name = "Manual Welding Eyes" + path = /obj/item/organ/eyes/robotic/manuallyshield + cost = 2 + /datum/augment_item/organ/tongue/xenobubble_tongue name = "Alien tongue" path = /obj/item/organ/tongue/xenobubble_tongue diff --git a/modular_zubbers/code/modules/surgery/organs/internal/eyes/manual_welding_eyes.dm b/modular_zubbers/code/modules/surgery/organs/internal/eyes/manual_welding_eyes.dm new file mode 100644 index 00000000000..051be7b40e9 --- /dev/null +++ b/modular_zubbers/code/modules/surgery/organs/internal/eyes/manual_welding_eyes.dm @@ -0,0 +1,43 @@ +//Eyes that you can close +/obj/item/organ/eyes/robotic/manuallyshield + name = "manually shielded robotic eyes" + desc = "These eyes will protect you from going blind while welding after you manually activate them." + icon_state = "eyes_cyber_shield" + flash_protect = FLASH_PROTECTION_NONE + pupils_name = "manual shields" + penlight_message = "have toggleable metal eyelids that are blocking all vision when active" + actions_types = list(/datum/action/item_action/organ_action/toggle) + var/active = FALSE + var/toggle_sound = 'sound/vehicles/mecha/mechmove03.ogg' + var/currently_toggled = FALSE + +/obj/item/organ/eyes/robotic/manuallyshield/ui_action_click() + if(currently_toggled) + return + + currently_toggled = TRUE + + if(!do_after(owner, 1 SECONDS)) + to_chat(owner, span_notice("You fail to concentrate on the vision shield toggle.")) + currently_toggled = FALSE + return + + active = !active + playsound(get_turf(owner), toggle_sound, 25, TRUE) + currently_toggled = FALSE + + if(active) + flash_protect = FLASH_PROTECTION_NONE + tint = INFINITY + owner.become_blind(FLASHLIGHT_EYES) //im using flashlight_eyes because you cant have flashlight eyes and those at same time, so i dont have to add another source + else + flash_protect = FLASH_PROTECTION_NONE + tint = 0 + owner.cure_blind(FLASHLIGHT_EYES) + +/obj/item/organ/eyes/robotic/manuallyshield/on_mob_remove(mob/living/carbon/removingperson) + . = ..() + active = FALSE + tint = 0 + flash_protect = FLASH_PROTECTION_NONE + removingperson.cure_blind(FLASHLIGHT_EYES) diff --git a/tgstation.dme b/tgstation.dme index 0ec80532ebb..0ca26f8ef7f 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -9975,6 +9975,7 @@ #include "modular_zubbers\code\modules\surgery\organs\internal\cyberimp\augments_arms.dm" #include "modular_zubbers\code\modules\surgery\organs\internal\ears\_ears.dm" #include "modular_zubbers\code\modules\surgery\organs\internal\eyes\_eyes.dm" +#include "modular_zubbers\code\modules\surgery\organs\internal\eyes\manual_welding_eyes.dm" #include "modular_zubbers\code\modules\surgery\organs\internal\lungs\_lungs.dm" #include "modular_zubbers\code\modules\syndicate_offstation\Aquarium\bioelectric_prefilled.dm" #include "modular_zubbers\code\modules\syndicate_offstation\code\misc-fluff\misc.dm"