[MIRROR] Fixes incorp move runtimes on border movement. (#2774)

* Fixes incorp move runtimes on border movement.

* Update mob_movement.dm

* Update mob_movement.dm
This commit is contained in:
CitadelStationBot
2017-09-19 07:00:54 -05:00
committed by Poojawa
parent ecce4cf138
commit fd2e1c896f
+28 -21
View File
@@ -225,7 +225,9 @@
var/mob/living/L = mob
switch(L.incorporeal_move)
if(INCORPOREAL_MOVE_BASIC)
L.loc = get_step(L, direct)
var/T = get_step(L,direct)
if(T)
L.loc = T
L.setDir(direct)
if(INCORPOREAL_MOVE_SHADOW)
if(prob(50))
@@ -254,31 +256,36 @@
return
else
return
L.loc = locate(locx,locy,mobloc.z)
var/limit = 2//For only two trailing shadows.
for(var/turf/T in getline(mobloc, L.loc))
new /obj/effect/temp_visual/dir_setting/ninja/shadow(T, L.dir)
limit--
if(limit<=0)
break
var/target = locate(locx,locy,mobloc.z)
if(target)
L.loc = target
var/limit = 2//For only two trailing shadows.
for(var/turf/T in getline(mobloc, L.loc))
new /obj/effect/temp_visual/dir_setting/ninja/shadow(T, L.dir)
limit--
if(limit<=0)
break
else
new /obj/effect/temp_visual/dir_setting/ninja/shadow(mobloc, L.dir)
L.loc = get_step(L, direct)
var/T = get_step(L,direct)
if(T)
L.loc = T
L.setDir(direct)
if(INCORPOREAL_MOVE_JAUNT) //Incorporeal move, but blocked by holy-watered tiles and salt piles.
var/turf/open/floor/stepTurf = get_step(L, direct)
for(var/obj/effect/decal/cleanable/salt/S in stepTurf)
to_chat(L, "<span class='warning'>[S] bars your passage!</span>")
if(isrevenant(L))
var/mob/living/simple_animal/revenant/R = L
R.reveal(20)
R.stun(20)
return
if(stepTurf.flags_1 & NOJAUNT_1)
to_chat(L, "<span class='warning'>Holy energies block your path.</span>")
else
L.loc = get_step(L, direct)
L.setDir(direct)
if(stepTurf)
for(var/obj/effect/decal/cleanable/salt/S in stepTurf)
to_chat(L, "<span class='warning'>[S] bars your passage!</span>")
if(isrevenant(L))
var/mob/living/simple_animal/revenant/R = L
R.reveal(20)
R.stun(20)
return
if(stepTurf.flags_1 & NOJAUNT_1)
to_chat(L, "<span class='warning'>Holy energies block your path.</span>")
else
L.loc = get_step(L, direct)
L.setDir(direct)
return TRUE