From d4e31851f0faddadd9d7449a40b5446a835e9f4e Mon Sep 17 00:00:00 2001 From: Tayyyyyyy Date: Fri, 29 Dec 2017 19:24:03 -0700 Subject: [PATCH 1/2] Dark view increases flash damage to eyes --- code/modules/mob/living/carbon/carbon.dm | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index ecde87a5a16..ab9f0a61a04 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -313,6 +313,7 @@ /mob/living/carbon/flash_eyes(intensity = 1, override_blindness_check = 0, affect_silicon = 0, visual = 0) . = ..() var/damage = intensity - check_eye_prot() + var/extra_damage = 0 if(.) if(visual) return @@ -323,19 +324,22 @@ if(!E || (E && E.weld_proof)) return + if(E.dark_view) + extra_damage = max(E.dark_view - 2, 0) + switch(damage) if(1) to_chat(src, "Your eyes sting a little.") if(prob(40)) //waiting on carbon organs - E.receive_damage(1, 1) + E.receive_damage(1 + extra_damage, 1) if(2) to_chat(src, "Your eyes burn.") - E.receive_damage(rand(2, 4), 1) + E.receive_damage(rand(2, 4) + extra_damage, 1) else to_chat(src, "Your eyes itch and burn severely!") - E.receive_damage(rand(12, 16), 1) + E.receive_damage(rand(12, 16) + extra_damage, 1) if(E.damage > E.min_bruised_damage) AdjustEyeBlind(damage) @@ -1105,4 +1109,4 @@ so that different stomachs can handle things in different ways VB*/ update_tint() if(I.flags_inv & HIDEMASK || forced) update_inv_wear_mask() - update_inv_head() \ No newline at end of file + update_inv_head() From ed700200158b2016e47a0ea467087266aed6f40c Mon Sep 17 00:00:00 2001 From: Tayyyyyyy Date: Sun, 31 Dec 2017 15:25:49 -0700 Subject: [PATCH 2/2] Eyes are more sensitive to damage in the dark --- code/modules/mob/living/carbon/carbon.dm | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) 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)