diff --git a/code/game/atoms_movable.dm b/code/game/atoms_movable.dm index 983e0ea56ee..1b47513e1b2 100644 --- a/code/game/atoms_movable.dm +++ b/code/game/atoms_movable.dm @@ -1,6 +1,6 @@ /atom/movable layer = OBJ_LAYER - appearance_flags = TILE_BOUND|PIXEL_SCALE|KEEP_TOGETHER + appearance_flags = TILE_BOUND|PIXEL_SCALE|KEEP_TOGETHER|LONG_GLIDE glide_size = 8 var/last_move = null //The direction the atom last moved var/anchored = 0 @@ -119,7 +119,8 @@ var/dest_z = get_z(newloc) // Do The Move - glide_for(movetime) + if(movetime) + glide_for(movetime) // First attempt, lets let the diag do it. loc = newloc . = TRUE @@ -161,7 +162,7 @@ // place due to a Crossed, Bumped, etc. call will interrupt // the second half of the diagonal movement, or the second attempt // at a first half if step() fails because we hit something. - glide_for(movetime) + glide_for(movetime * 2) if (direct & NORTH) if (direct & EAST) if (step(src, NORTH) && moving_diagonally) @@ -214,7 +215,7 @@ // If we moved, call Moved() on ourselves if(.) - Moved(oldloc, direct, FALSE, movetime) + Moved(oldloc, direct, FALSE, movetime ? movetime : ( (TICKS2DS(WORLD_ICON_SIZE/glide_size)) * (moving_diagonally ? (0.5) : 1) ) ) // Update timers/cooldown stuff move_speed = world.time - l_move_time diff --git a/code/modules/mob/living/living_defines_vr.dm b/code/modules/mob/living/living_defines_vr.dm index 5a50c6fda59..684c0c08a16 100644 --- a/code/modules/mob/living/living_defines_vr.dm +++ b/code/modules/mob/living/living_defines_vr.dm @@ -3,7 +3,7 @@ /mob/living var/ooc_notes = null - appearance_flags = TILE_BOUND|PIXEL_SCALE|KEEP_TOGETHER + appearance_flags = TILE_BOUND|PIXEL_SCALE|KEEP_TOGETHER|LONG_GLIDE var/hunger_rate = DEFAULT_HUNGER_FACTOR //custom say verbs var/custom_say = null