diff --git a/code/modules/vehicles/cars/car.dm b/code/modules/vehicles/cars/car.dm index 8c96febdc319b0..68b1857bc3fd76 100644 --- a/code/modules/vehicles/cars/car.dm +++ b/code/modules/vehicles/cars/car.dm @@ -78,11 +78,15 @@ return FALSE if(occupant_amount() >= max_occupants) return FALSE - if(do_mob(forcer, get_enter_delay(M), target = src)) + var/atom/old_loc = loc + if(do_mob(forcer, M, get_enter_delay(M), extra_checks=CALLBACK(src, /obj/vehicle/sealed/car/proc/is_car_stationary, old_loc))) mob_forced_enter(M, silent) return TRUE return FALSE +/obj/vehicle/sealed/car/proc/is_car_stationary(atom/old_loc) + return (old_loc == loc) + /obj/vehicle/sealed/car/proc/mob_forced_enter(mob/M, silent = FALSE) if(!silent) M.visible_message("[M] is forced into \the [src]!")