diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm
index 65e7eb11409..e21e7fa1542 100644
--- a/code/modules/mob/living/living.dm
+++ b/code/modules/mob/living/living.dm
@@ -1119,21 +1119,18 @@ Thanks.
var/mob/living/carbon/CM = L
//putting out a fire
if(CM.on_fire && CM.canmove && ((!locate(/obj/effect/fire) in loc) || !CM.handcuffed)) //No point in putting ourselves out if we'd just get set on fire again. Unless there's nothing more pressing to resist out of, in which case go nuts.
- CM.fire_stacks -= 5
- CM.Knockdown(3)
- CM.Stun(3)
+ CM.Knockdown(5)
+ CM.Stun(5)
playsound(CM.loc, 'sound/effects/bodyfall.ogg', 50, 1)
CM.visible_message("[CM] rolls on the floor, trying to put themselves out!",
"You stop, drop, and roll!")
- for(var/i = 1 to rand(8,12))
+ for(var/i = 1 to CM.fire_stacks + 7)
CM.dir = turn(CM.dir, pick(-90, 90))
- sleep(2)
-
- if(fire_stacks <= 0)
- CM.visible_message("[CM] has successfully extinguished themselves!",
- "You extinguish yourself.")
- ExtinguishMob()
+ sleep(1 SECONDS)
+ CM.fire_stacks = 0
+ CM.visible_message("[CM] has successfully extinguished themselves!","You extinguish yourself.")
+ ExtinguishMob()
return
CM.resist_restraints()