diff --git a/code/modules/supermatter/supermatter.dm b/code/modules/supermatter/supermatter.dm index df9c900d384..1ebd8207e06 100644 --- a/code/modules/supermatter/supermatter.dm +++ b/code/modules/supermatter/supermatter.dm @@ -249,7 +249,13 @@ env.merge(removed) for(var/mob/living/carbon/human/l in view(src, min(7, round(sqrt(power/6))))) // If they can see it without mesons on. Bad on them. - if(!istype(l.glasses, /obj/item/clothing/glasses/meson)) + var/eye_shield = 0 //How protected they are + if(istype(l.glasses, /obj/item/clothing/glasses/meson)) + eye_shield += 1 + if(istype(l.head, /obj/item/clothing/head/helmet/space)) + if(l.run_armor_check(BP_HEAD, "rad") >= 60) + eye_shield += 1 + if(eye_shield < 1) l.hallucination = max(0, min(200, l.hallucination + power * config_hallucination_power * sqrt( 1 / max(1,get_dist(l, src)) ) ) ) //adjusted range so that a power of 170 (pretty high) results in 9 tiles, roughly the distance from the core to the engine monitoring room.