mirror of
https://github.com/PolarisSS13/Polaris.git
synced 2025-12-25 17:42:26 +00:00
Merge pull request #5953 from Neerti/dragging_fix
Fixes the 'cannot push thing being pulled' bug and other weirdness.
This commit is contained in:
@@ -177,7 +177,9 @@ default behaviour is:
|
||||
for(var/obj/structure/window/win in get_step(AM,t))
|
||||
now_pushing = 0
|
||||
return
|
||||
|
||||
step(AM, t)
|
||||
|
||||
if(ishuman(AM) && AM:grabbed_by)
|
||||
for(var/obj/item/weapon/grab/G in AM:grabbed_by)
|
||||
step(G:assailant, get_dir(G:assailant, AM))
|
||||
@@ -730,7 +732,6 @@ default behaviour is:
|
||||
return
|
||||
|
||||
/mob/living/Move(a, b, flag)
|
||||
|
||||
if (buckled && buckled.loc != a) //not updating position
|
||||
if(istype(buckled, /mob)) //If you're buckled to a mob, a la slime things, keep on rolling.
|
||||
return buckled.Move(a, b)
|
||||
@@ -816,9 +817,12 @@ default behaviour is:
|
||||
if(istype(location, /turf/simulated))
|
||||
location.add_blood(M)
|
||||
|
||||
step(pulling, get_dir(pulling.loc, T))
|
||||
if(t)
|
||||
M.start_pulling(t)
|
||||
if(get_dist(pulling.loc, T) > 1 || pulling.loc.z != T.z)
|
||||
M.stop_pulling()
|
||||
else
|
||||
step(pulling, get_dir(pulling.loc, T))
|
||||
if(t)
|
||||
M.start_pulling(t)
|
||||
else
|
||||
if (pulling)
|
||||
if (istype(pulling, /obj/structure/window))
|
||||
@@ -826,8 +830,11 @@ default behaviour is:
|
||||
if(W.is_fulltile())
|
||||
for(var/obj/structure/window/win in get_step(pulling,get_dir(pulling.loc, T)))
|
||||
stop_pulling()
|
||||
if (pulling)
|
||||
step(pulling, get_dir(pulling.loc, T))
|
||||
|
||||
if(get_dist(pulling.loc, T) > 1 || pulling.loc.z != T.z) // This is needed or else pulled objects can't get pushed away.
|
||||
stop_pulling()
|
||||
else
|
||||
step(pulling, get_dir(pulling.loc, T))
|
||||
else
|
||||
stop_pulling()
|
||||
. = ..()
|
||||
|
||||
Reference in New Issue
Block a user