diff --git a/code/game/objects/stool.dm b/code/game/objects/stool.dm index 79291e78e8d..84f94cab11b 100644 --- a/code/game/objects/stool.dm +++ b/code/game/objects/stool.dm @@ -132,8 +132,15 @@ src.layer = OBJ_LAYER if(buckled_mob) - buckled_mob.loc = src.loc - buckled_mob.dir = dir + if(buckled_mob.loc != src.loc) + buckled_mob.buckled = null //Temporary, so Move() succeeds. + if(!buckled_mob.Move(loc)) + unbuckle() + buckled_mob = null + else + buckled_mob.buckled = src //Restoring + if(buckled_mob) + buckled_mob.dir = dir /obj/structure/stool/bed/chair/verb/rotate() set name = "Rotate Chair" diff --git a/code/modules/mob/living/carbon/human/inventory.dm b/code/modules/mob/living/carbon/human/inventory.dm index 7087e25289d..7c1318c438d 100644 --- a/code/modules/mob/living/carbon/human/inventory.dm +++ b/code/modules/mob/living/carbon/human/inventory.dm @@ -41,7 +41,7 @@ else if (W == head) head = null if(W.flags & BLOCKHAIR) - update_hair() //rebuild hair + update_hair(0) //rebuild hair success = 1 update_inv_head() else if (W == ears)