Fixes some cases with mobs attached a mob. Can't enter a mech if attachment is done mid-climb. Can't get inside mech sleeper or closet if you have a mob attached to you. All sorts of teleports now properly teleport the attached mob as well.

Changed the warning message when climbing mech with a mob attached to be more general instead of specifically about slimes.

Getting inside a closet or machine now immediately breaks your pull and the pull of your puller.
Using ethereal jaunt now also immediately break your pull.

Fixes being able to get inside a mech sleeper while buckled by buckling mid-insertion.
This commit is contained in:
phil235
2015-10-12 23:28:48 +02:00
parent a311e7a739
commit 7c6bbe328e
7 changed files with 37 additions and 15 deletions
@@ -122,7 +122,7 @@
if(istype(AM, /mob/living))
var/mob/living/L = AM
if(L.buckled || L.buckled_mob || L.mob_size > max_mob_size) //buckled mobs and mobs too big for the container don't get inside closets.
if(L.buckled || L.buckled_mob || L.mob_size > max_mob_size) //buckled mobs, mobs with another mob attached, and mobs too big for the container don't get inside closets.
return 0
if(L.mob_size > MOB_SIZE_TINY) //decently sized mobs take more space than objects.
var/mobs_stored = 0
@@ -133,6 +133,7 @@
if(L.client)
L.client.perspective = EYE_PERSPECTIVE
L.client.eye = src
L.stop_pulling()
else if(!istype(AM, /obj/item) && !istype(AM, /obj/effect/dummy/chameleon))
return 0
else if(AM.density || AM.anchored)
@@ -140,6 +141,8 @@
else if(AM.flags & NODROP)
return 0
AM.loc = src
if(AM.pulledby)
AM.pulledby.stop_pulling()
return 1
/obj/structure/closet/proc/close()