diff --git a/code/game/objects/items/devices/flash.dm b/code/game/objects/items/devices/flash.dm index 95d379d0479..dd3e7c82d2c 100644 --- a/code/game/objects/items/devices/flash.dm +++ b/code/game/objects/items/devices/flash.dm @@ -105,8 +105,9 @@ if(M.flash_eyes(1, 1)) M.AdjustConfused(power) revolution_conversion(M, user) - M.drop_l_hand() - M.drop_r_hand() + if(!M.absorb_stun(0)) + M.drop_l_hand() + M.drop_r_hand() visible_message("[user] blinds [M] with [src]!") to_chat(user, "You blind [M] with [src]!") to_chat(M, "[user] blinds you with [src]!") diff --git a/code/modules/reagents/chemistry/reagents/medicine.dm b/code/modules/reagents/chemistry/reagents/medicine.dm index e9934c85720..d67a524c7c8 100644 --- a/code/modules/reagents/chemistry/reagents/medicine.dm +++ b/code/modules/reagents/chemistry/reagents/medicine.dm @@ -1073,10 +1073,12 @@ M.AdjustDrowsy(-20 SECONDS) M.SetConfused(0) M.SetSleeping(0) - var/status = CANSTUN | CANWEAKEN | CANPARALYSE - M.status_flags &= ~status + M.add_stun_absorption("stimulants", INFINITY, 5) + M.status_flags &= ~CANPARALYSE else - M.status_flags |= CANSTUN | CANWEAKEN | CANPARALYSE + M.status_flags |= CANPARALYSE + if(islist(M.stun_absorption) && M.stun_absorption["stimulants"]) + M.remove_stun_absorption("stimulants") update_flags |= M.adjustToxLoss(2, FALSE) update_flags |= M.adjustBruteLoss(1, FALSE) if(prob(10)) @@ -1087,7 +1089,9 @@ return ..() | update_flags /datum/reagent/medicine/stimulants/on_mob_delete(mob/living/M) - M.status_flags |= CANSTUN | CANWEAKEN | CANPARALYSE + M.status_flags |= CANPARALYSE + if(islist(M.stun_absorption) && M.stun_absorption["stimulants"]) + M.remove_stun_absorption("stimulants") ..() //the highest end antistun chem, removes stun and stamina rapidly.