Flash confusion stacking clamped to 2x of power (#39188)

so 10 seconds in most cases unless admins custom proccall'd or something
This commit is contained in:
kevinz000
2018-07-22 12:55:38 +12:00
committed by oranges
parent 96409b4f87
commit 53c2ab49b2
+9 -4
View File
@@ -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, "<span class='disarm'>[src] emits a blinding light!</span>")
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("<span class='disarm'>[user] blinds [M] with the flash!</span>")
@@ -125,7 +128,8 @@
to_chat(M, "<span class='danger'>[src] fails to blind you!</span>")
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("<span class='disarm'>[user] overloads [R]'s sensors with the flash!</span>", "<span class='danger'>You overload [R]'s sensors with the flash!</span>")
return TRUE