diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm
index ab9f0a61a04..a743e779687 100644
--- a/code/modules/mob/living/carbon/carbon.dm
+++ b/code/modules/mob/living/carbon/carbon.dm
@@ -324,15 +324,25 @@
if(!E || (E && E.weld_proof))
return
+ var/extra_darkview = 0
if(E.dark_view)
- extra_damage = max(E.dark_view - 2, 0)
+ extra_darkview = max(E.dark_view - 2, 0)
+ extra_damage = extra_darkview
+
+ var/light_amount = 10 // assume full brightness
+ if(isturf(src.loc))
+ var/turf/T = src.loc
+ light_amount = round(T.get_lumcount() * 10)
+
+ // a dark view of 8, in full darkness, will result in maximum 1st tier damage
+ var/extra_prob = (10 - light_amount) * extra_darkview
switch(damage)
if(1)
to_chat(src, "Your eyes sting a little.")
- if(prob(40)) //waiting on carbon organs
- E.receive_damage(1 + extra_damage, 1)
-
+ var/minor_damage_multiplier = min(40 + extra_prob, 100) / 100
+ var/minor_damage = minor_damage_multiplier * (1 + extra_damage)
+ E.receive_damage(minor_damage, 1)
if(2)
to_chat(src, "Your eyes burn.")
E.receive_damage(rand(2, 4) + extra_damage, 1)