Stops buckled mobs from slipping (for now)

Conflicts:
	code/game/turfs/simulated.dm
This commit is contained in:
Hubblenaut
2014-07-13 06:48:17 -04:00
committed by ZomgPonies
parent 3345e0fede
commit b9be3e6ed7
4 changed files with 12 additions and 6 deletions
+1 -1
View File
@@ -965,7 +965,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
if (istype (M, /mob/living/carbon/human) && M:species.bodyflags & FEET_NOSLIP)
return
@@ -11,7 +11,7 @@
/obj/item/weapon/bananapeel/Crossed(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
if(istype(M, /mob/living/carbon/human) && M:species.bodyflags & FEET_NOSLIP)
return
@@ -28,7 +28,7 @@
/obj/item/weapon/soap/Crossed(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()
+8 -2
View File
@@ -91,6 +91,12 @@
from.AddTracks(/obj/effect/decal/cleanable/blood/tracks/footprints/green,H,bloodDNA,0,H.dir) // Going
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
@@ -116,8 +122,8 @@
M.inertia_dir = 0
return
if(2) //lube //can cause infinite loops - needs work
if(!istype(M, /mob/living/carbon/slime))
if(2) //lube //can cause infinite loops - needs work
if(!istype(M, /mob/living/carbon/slime) && !M.buckled)
M.stop_pulling()
step(M, M.dir)
spawn(1) step(M, M.dir)
@@ -792,7 +792,7 @@
/obj/item/weapon/reagent_containers/food/snacks/grown/bluetomato/Crossed(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()