From 7ab32209e5cefc38e33e35f23a5d4ff4a82cffe9 Mon Sep 17 00:00:00 2001 From: Aronai Sieyes Date: Sat, 2 May 2020 19:36:27 -0400 Subject: [PATCH] Smooth vehicles --- code/modules/vehicle/ambulance.dm | 2 +- code/modules/vehicle/janicart.dm | 2 +- code/modules/vehicle/vehicle.dm | 7 ++++--- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/code/modules/vehicle/ambulance.dm b/code/modules/vehicle/ambulance.dm index 450a6c88372..37c9d97e5c6 100644 --- a/code/modules/vehicle/ambulance.dm +++ b/code/modules/vehicle/ambulance.dm @@ -92,7 +92,7 @@ bed = null . = ..() if(bed && get_dist(oldloc, loc) <= 2) - bed.Move(oldloc) + bed.Move(oldloc, get_dir(bed, oldloc), (last_move_diagonal? 2 : 1) * (vehicle_move_delay + config.human_delay)) bed.dir = Dir if(bed.has_buckled_mobs()) for(var/m in bed.buckled_mobs) diff --git a/code/modules/vehicle/janicart.dm b/code/modules/vehicle/janicart.dm index 12ed9f727eb..d7ba87b818c 100644 --- a/code/modules/vehicle/janicart.dm +++ b/code/modules/vehicle/janicart.dm @@ -44,7 +44,7 @@ origin_tech = "materials=3;engineering=4" /obj/vehicle/janicart/Move(atom/OldLoc, Dir) - ..() + . = ..() if(floorbuffer) var/turf/tile = loc if(isturf(tile)) diff --git a/code/modules/vehicle/vehicle.dm b/code/modules/vehicle/vehicle.dm index 79021affa25..cdbb8580da6 100644 --- a/code/modules/vehicle/vehicle.dm +++ b/code/modules/vehicle/vehicle.dm @@ -153,7 +153,8 @@ unbuckle_mob(user) return - if(world.time < last_vehicle_move + ((last_move_diagonal? 2 : 1) * (vehicle_move_delay + config.human_delay))) + var/delay = (last_move_diagonal? 2 : 1) * (vehicle_move_delay + config.human_delay) + if(world.time < last_vehicle_move + delay) return last_vehicle_move = world.time @@ -161,7 +162,7 @@ var/turf/next = get_step(src, direction) if(!Process_Spacemove(direction) || !isturf(loc)) return - step(src, direction) + Move(get_step(src, direction), direction, delay) if((direction & (direction - 1)) && (loc == next)) //moved diagonally last_move_diagonal = TRUE @@ -185,7 +186,7 @@ to_chat(user, "You'll need the keys in one of your hands to drive [src].") -/obj/vehicle/Move(NewLoc, Dir = 0, step_x = 0, step_y = 0) +/obj/vehicle/Move(NewLoc, Dir = 0, movetime) . = ..() handle_vehicle_layer() handle_vehicle_offsets()