turf
Click()
if(usr.delay)
usr << "You can't do anything yet"
return
for(var/mob/E in src)
if(E)
usr << "A move to that position is not permitted"
return
if(density)
usr << "A move to that position is not permitted"
return
if(src in range(usr.move,usr))
usr.dir = get_dir(usr,src)
usr.delay = usr.movedelay
for(usr.loc,usr.loc != src.loc,sleep(usr.walkdelay))
step_towards(usr,src)
usr.Delay()
else
usr << "A move to that position is not permitted"
return
Resonating Light
That would be why Delay() doesn't get called.