diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm
index 593bdb777c2..d3eed17a760 100644
--- a/code/game/turfs/turf.dm
+++ b/code/game/turfs/turf.dm
@@ -300,15 +300,13 @@
if (M.m_intent=="walk" && (lube&NO_SLIP_WHEN_WALKING))
return 0
if(!M.lying)
- var/olddir = M.dir
- M.Stun(s_amount)
- M.Weaken(w_amount)
M.stop_pulling()
+ if(lube&STEP)
+ step(M, M.dir)
if(lube&SLIDE)
for(var/i=1, i<5, i++)
spawn (i)
- step(M, olddir)
- M.spin(1,1)
+ step(M, M.dir)
if(M.lying) //did I fall over?
M.adjustBruteLoss(2)
if(O)
@@ -316,5 +314,7 @@
else
M << "You slipped!"
playsound(M.loc, 'sound/misc/slip.ogg', 50, 1, -3)
+ M.Stun(s_amount)
+ M.Weaken(w_amount)
return 1
return 0 // no success. Used in clown pda and wet floors
diff --git a/code/modules/mob/living/carbon/update_icons.dm b/code/modules/mob/living/carbon/update_icons.dm
index ec32f437b12..c58542f7b6a 100644
--- a/code/modules/mob/living/carbon/update_icons.dm
+++ b/code/modules/mob/living/carbon/update_icons.dm
@@ -16,9 +16,9 @@
else //if(lying != 0)
if(lying_prev == 0) //Standing to lying
final_pixel_y -= 6
- if(dir & (EAST|WEST)) //Facing east or west
- final_dir = pick(NORTH, SOUTH) //So you fall on your side rather than your face or ass
+ if(dir & (EAST|WEST)) //Facing east or west
+ final_dir = pick(NORTH, SOUTH) //So you fall on your side rather than your face or ass
lying_prev = lying //so we don't try to animate until there's been another change.
if(changed)
diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm
index f76998bda0c..a7acd1cdf83 100644
--- a/code/modules/mob/living/living.dm
+++ b/code/modules/mob/living/living.dm
@@ -543,11 +543,9 @@
var/mob/living/carbon/CM = L
if(CM.on_fire && CM.canmove)
CM.fire_stacks -= 5
- CM.Weaken(3)
- CM.spin(32,2)
+ CM.weakened = 5
CM.visible_message("[CM] rolls on the floor, trying to put themselves out!", \
"You stop, drop, and roll!")
- sleep(30)
if(fire_stacks <= 0)
CM.visible_message("[CM] has successfully extinguished themselves!", \
"You extinguish yourself.")
@@ -562,23 +560,6 @@
else
cuff_resist(CM.legcuffed, CM)
-/mob/living/carbon/proc/spin(spintime, speed)
- spawn()
- var/D = dir
- while(spintime >= speed)
- sleep(speed)
- switch(D)
- if(NORTH)
- D = EAST
- if(SOUTH)
- D = WEST
- if(EAST)
- D = SOUTH
- if(WEST)
- D = NORTH
- dir = D
- spintime -= speed
- return
/mob/living/proc/get_visible_name()
return name
diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm
index 5dc726708c5..fd99c921327 100644
--- a/code/modules/mob/mob.dm
+++ b/code/modules/mob/mob.dm
@@ -645,28 +645,28 @@ var/list/slot_equipment_priority = list( \
//Updates canmove, lying and icons. Could perhaps do with a rename but I can't think of anything to describe it.
//Robots and brains have their own version so don't worry about them
/mob/proc/update_canmove()
- var/ko = weakened || paralysis || stat || (status_flags & FAKEDEATH)
- var/bed = !(buckled && istype(buckled, /obj/structure/stool/bed/chair))
- if(ko || resting || stunned)
- drop_r_hand()
- drop_l_hand()
- else
- lying = 0
- canmove = 1
- if(buckled)
- lying = 90 * bed
- anchored = buckled
- else
- if((ko || resting) && !lying)
- fall(ko)
- canmove = !(ko || resting || stunned || buckled)
- density = !lying
- update_transform()
- lying_prev = lying
- if(update_icon) //forces a full overlay update
- update_icon = 0
- regenerate_icons()
- return canmove
+ var/ko = weakened || paralysis || stat || (status_flags & FAKEDEATH)
+ var/bed = !(buckled && istype(buckled, /obj/structure/stool/bed/chair))
+ if(ko || resting || stunned)
+ drop_r_hand()
+ drop_l_hand()
+ else
+ lying = 0
+ canmove = 1
+ if(buckled)
+ lying = 90 * bed
+ anchored = buckled
+ else
+ if((ko || resting) && !lying)
+ fall(ko)
+ canmove = !(ko || resting || stunned || buckled)
+ density = !lying
+ update_transform()
+ lying_prev = lying
+ if(update_icon) //forces a full overlay update
+ update_icon = 0
+ regenerate_icons()
+ return canmove
/mob/proc/fall(var/forced)
drop_l_hand()