From 53c2ab49b2183dd9a0f3820193e8a7cdd6cacde7 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Sat, 21 Jul 2018 17:55:38 -0700 Subject: [PATCH] Flash confusion stacking clamped to 2x of power (#39188) so 10 seconds in most cases unless admins custom proccall'd or something --- code/modules/assembly/flash.dm | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/code/modules/assembly/flash.dm b/code/modules/assembly/flash.dm index b5a7c5d3c58..b89a3f876df 100644 --- a/code/modules/assembly/flash.dm +++ b/code/modules/assembly/flash.dm @@ -1,3 +1,4 @@ +#define CONFUSION_STACK_MAX_MULTIPLIER 2 /obj/item/assembly/flash name = "flash" desc = "A powerful and versatile flashbulb device, with applications ranging from disorienting attackers to acting as visual receptors in robot production." @@ -108,7 +109,9 @@ to_chat(M, "[src] emits a blinding light!") if(targeted) if(M.flash_act(1, 1)) - M.confused += power + if(M.confused < power) + var/diff = power * CONFUSION_STACK_MAX_MULTIPLIER - M.confused + M.confused += min(power, diff) if(user) terrible_conversion_proc(M, user) visible_message("[user] blinds [M] with the flash!") @@ -125,7 +128,8 @@ to_chat(M, "[src] fails to blind you!") else if(M.flash_act()) - M.confused += power + var/diff = power * CONFUSION_STACK_MAX_MULTIPLIER - M.confused + M.confused += min(power, diff) /obj/item/assembly/flash/attack(mob/living/M, mob/user) if(!try_use_flash(user)) @@ -137,8 +141,9 @@ var/mob/living/silicon/robot/R = M add_logs(user, R, "flashed", src) update_icon(1) - M.Knockdown(rand(80,120)) - R.confused += 5 + R.Knockdown(rand(80,120)) + var/diff = 5 * CONFUSION_STACK_MAX_MULTIPLIER - M.confused + R.confused += min(5, diff) R.flash_act(affect_silicon = 1) user.visible_message("[user] overloads [R]'s sensors with the flash!", "You overload [R]'s sensors with the flash!") return TRUE