diff --git a/code/modules/mob/living/carbon/carbon_procs.dm b/code/modules/mob/living/carbon/carbon_procs.dm index 0c82b156cf8..0ed5f5913e1 100644 --- a/code/modules/mob/living/carbon/carbon_procs.dm +++ b/code/modules/mob/living/carbon/carbon_procs.dm @@ -350,7 +350,7 @@ var/obj/item/organ/internal/eyes/E = get_int_organ(/obj/item/organ/internal/eyes) . = ..() - if((E && (E.status & ORGAN_DEAD)) || !.) + if((E && (E.status & ORGAN_DEAD)) || !. || E.is_broken()) return FALSE /mob/living/carbon/flash_eyes(intensity = 1, override_blindness_check = 0, affect_silicon = 0, visual = 0, laser_pointer = FALSE, type = /atom/movable/screen/fullscreen/stretch/flash) @@ -1202,10 +1202,13 @@ so that different stomachs can handle things in different ways VB*/ var/tinttotal = get_total_tint() if(tinttotal >= TINT_BLIND) overlay_fullscreen("tint", /atom/movable/screen/fullscreen/stretch/blind) + ADD_TRAIT(src, TRAIT_BLIND, "tint") else if(tinttotal >= TINT_IMPAIR) overlay_fullscreen("tint", /atom/movable/screen/fullscreen/stretch/impaired, 2) + REMOVE_TRAIT(src, TRAIT_BLIND, "tint") else clear_fullscreen("tint", 0) + REMOVE_TRAIT(src, TRAIT_BLIND, "tint") /mob/living/carbon/proc/get_total_tint() . = 0