Fixes being able to buckle more than one mob to bucklable things

This commit is contained in:
Yoshax
2016-06-01 16:34:07 +01:00
parent 9d47019f32
commit 0fac31fad3
2 changed files with 10 additions and 0 deletions
+7
View File
@@ -5,6 +5,7 @@
var/buckle_lying = -1 //bed-like behavior, forces mob.lying = buckle_lying if != -1
var/buckle_require_restraints = 0 //require people to be handcuffed before being able to buckle. eg: pipes
var/mob/living/buckled_mob = null
var/has_buckled
/obj/attack_hand(mob/living/user)
. = ..()
@@ -29,12 +30,17 @@
/obj/proc/buckle_mob(mob/living/M)
if(!can_buckle || !istype(M) || (M.loc != loc) || M.buckled || M.pinned.len || (buckle_require_restraints && !M.restrained()))
return 0
if(has_buckled) //Handles trying to buckle yourself to the chair when someone is on it
M << "<span class='notice'>\The [src] already has someone buckled to it.</span>"
return 0
M.buckled = src
M.facing_dir = null
M.set_dir(buckle_dir ? buckle_dir : dir)
M.update_canmove()
buckled_mob = M
has_buckled = 1
post_buckle_mob(M)
return 1
@@ -45,6 +51,7 @@
buckled_mob.anchored = initial(buckled_mob.anchored)
buckled_mob.update_canmove()
buckled_mob = null
has_buckled = 0
post_buckle_mob(.)
@@ -129,6 +129,9 @@
else if(istype(W, /obj/item/weapon/grab))
var/obj/item/weapon/grab/G = W
var/mob/living/affecting = G.affecting
if(has_buckled) //Handles trying to buckle someone else to a chair when someone else is on it
user << "<span class='notice'>\The [src] already has someone buckled to it.</span>"
return
user.visible_message("<span class='notice'>[user] attempts to buckle [affecting] into \the [src]!</span>")
if(do_after(user, 20))
affecting.loc = loc