diff --git a/code/game/objects/effects/effect_system.dm b/code/game/objects/effects/effect_system.dm index dd5ee1f8b31..59e516a7147 100644 --- a/code/game/objects/effects/effect_system.dm +++ b/code/game/objects/effects/effect_system.dm @@ -555,7 +555,7 @@ steam.start() -- spawns the effect if (istype(AM, /mob/living/carbon)) var/mob/M = AM - if (istype(M, /mob/living/carbon/human) && (istype(M:shoes, /obj/item/clothing/shoes) && M:shoes.flags&NOSLIP)) + if (istype(M, /mob/living/carbon/human) && (istype(M:shoes, /obj/item/clothing/shoes) && M:shoes.flags&NOSLIP) || M.buckled) return M.stop_pulling() diff --git a/code/game/objects/items/weapons/clown_items.dm b/code/game/objects/items/weapons/clown_items.dm index 49f0b2e45f5..e526cf1c351 100644 --- a/code/game/objects/items/weapons/clown_items.dm +++ b/code/game/objects/items/weapons/clown_items.dm @@ -11,7 +11,7 @@ /obj/item/weapon/bananapeel/HasEntered(AM as mob|obj) if (istype(AM, /mob/living/carbon)) var/mob/M = AM - if (istype(M, /mob/living/carbon/human) && (isobj(M:shoes) && M:shoes.flags&NOSLIP)) + if (istype(M, /mob/living/carbon/human) && (isobj(M:shoes) && M:shoes.flags&NOSLIP) || M.buckled) return M.stop_pulling() @@ -26,7 +26,7 @@ /obj/item/weapon/soap/HasEntered(AM as mob|obj) //EXACTLY the same as bananapeel for now, so it makes sense to put it in the same dm -- Urist if (istype(AM, /mob/living/carbon)) var/mob/M = AM - if (istype(M, /mob/living/carbon/human) && (isobj(M:shoes) && M:shoes.flags&NOSLIP)) + if (istype(M, /mob/living/carbon/human) && (isobj(M:shoes) && M:shoes.flags&NOSLIP) || M.buckled) return M.stop_pulling() diff --git a/code/game/turfs/simulated.dm b/code/game/turfs/simulated.dm index b62c32b81ab..19223c48f1c 100644 --- a/code/game/turfs/simulated.dm +++ b/code/game/turfs/simulated.dm @@ -73,6 +73,12 @@ bloodDNA = null + var/noslip = 0 + for (var/obj/structure/stool/bed/chair/C in loc) + if (C.buckled_mob == M) + noslip = 1 + if (noslip) + return // no slipping while sitting in a chair, plz switch (src.wet) if(1) if(istype(M, /mob/living/carbon/human)) // Added check since monkeys don't have shoes @@ -99,7 +105,7 @@ return if(2) //lube //can cause infinite loops - needs work - if(!istype(M, /mob/living/carbon/slime)) + if(!istype(M, /mob/living/carbon/slime) && !M.buckled) M.stop_pulling() step(M, M.dir) spawn(1) step(M, M.dir) diff --git a/code/modules/reagents/reagent_containers/food/snacks/grown.dm b/code/modules/reagents/reagent_containers/food/snacks/grown.dm index 86b212f2b5e..9fb7fc2d977 100644 --- a/code/modules/reagents/reagent_containers/food/snacks/grown.dm +++ b/code/modules/reagents/reagent_containers/food/snacks/grown.dm @@ -731,7 +731,7 @@ /obj/item/weapon/reagent_containers/food/snacks/grown/bluetomato/HasEntered(AM as mob|obj) if (istype(AM, /mob/living/carbon)) var/mob/M = AM - if (istype(M, /mob/living/carbon/human) && (isobj(M:shoes) && M:shoes.flags&NOSLIP)) + if (istype(M, /mob/living/carbon/human) && (isobj(M:shoes) && M:shoes.flags&NOSLIP) || M.buckled) return M.stop_pulling()