A high enough tint will blind you. You can no longer be flashed or blinded further if you have broken eyes. (#26338)

Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com>
This commit is contained in:
Spaghetti-bit
2024-08-02 11:13:12 -07:00
committed by GitHub
parent 4787bf65e0
commit aeb4395001
@@ -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