diff --git a/code/game/objects/buckling.dm b/code/game/objects/buckling.dm index ab7e0947434..3b26475c349 100644 --- a/code/game/objects/buckling.dm +++ b/code/game/objects/buckling.dm @@ -56,7 +56,7 @@ /obj/proc/user_buckle_mob(mob/living/M, mob/user) if(!ROUND_IS_STARTED) user << "You can't buckle anyone in before the game starts." - if(!user.Adjacent(M) || user.restrained() || user.lying || user.stat || istype(user, /mob/living/silicon/pai)) + if(!user.Adjacent(M) || user.restrained() || user.stat || istype(user, /mob/living/silicon/pai)) return if(M == buckled_mob) return diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm index 16c808b8a62..7d5e517bf41 100644 --- a/code/game/turfs/turf.dm +++ b/code/game/turfs/turf.dm @@ -389,3 +389,32 @@ var/const/enterloopsanity = 100 if(add) L.Add(t) return L + + +/turf/MouseDrop_T(atom/movable/O as mob|obj, mob/user as mob) + var/turf/T = get_turf(user) + var/area/A = T.loc + if((istype(A) && !(A.has_gravity)) || (istype(T,/turf/space))) + return + if(istype(O, /obj/screen)) + return + if(user.restrained() || user.stat || user.stunned || user.paralysis || !user.lying) + return + if((!(istype(O, /atom/movable)) || O.anchored || !Adjacent(user) || !Adjacent(O) || !user.Adjacent(O))) + return + if(!isturf(O.loc) || !isturf(user.loc)) + return + if(isanimal(user) && O != user) + return + if(ishuman(user)) + var/mob/living/carbon/human/H = user + var/has_right_hand = TRUE + var/obj/item/organ/external/rhand = H.organs_by_name["r_hand"] + if(!rhand || rhand.is_stump()) + has_right_hand = FALSE + var/obj/item/organ/external/lhand = H.organs_by_name["l_hand"] + if(!lhand || lhand.is_stump()) + if(!has_right_hand) + return + if (do_after(user, 25 + (5 * user.weakened)) && !(user.stat)) + step_towards(O, src) diff --git a/html/changelogs/alberyk-crawl.yml b/html/changelogs/alberyk-crawl.yml new file mode 100644 index 00000000000..9336db4b087 --- /dev/null +++ b/html/changelogs/alberyk-crawl.yml @@ -0,0 +1,4 @@ +author: Alberyk +delete-after: True +changes: + - rscadd: "Ported crawling mechanics from polaris: you can now crawl, if lying down, by dragging your sprite to a title near yourself."