diff --git a/src/roadveh_cmd.cpp b/src/roadveh_cmd.cpp index 4f6761e144..e3564f0991 100644 --- a/src/roadveh_cmd.cpp +++ b/src/roadveh_cmd.cpp @@ -553,9 +553,8 @@ static bool RoadVehCheckTrainCrash(RoadVehicle *v) if (!IsLevelCrossingTile(tile)) continue; - if (HasVehicleNearTileXY(v->x_pos, v->y_pos, 6, [&u](const Vehicle *t) { - return t->type == VEH_TRAIN && abs(t->z_pos - u->z_pos) <= 6 && - abs(t->x_pos - u->x_pos) <= 4 && abs(t->y_pos - u->y_pos) <= 4; + if (HasVehicleNearTileXY(v->x_pos, v->y_pos, 4, [&u](const Vehicle *t) { + return t->type == VEH_TRAIN && abs(t->z_pos - u->z_pos) <= 6; })) { RoadVehCrash(v); return true; @@ -649,7 +648,7 @@ static RoadVehicle *RoadVehFindCloseTo(RoadVehicle *v, int x, int y, Direction d FindClosestBlockingRoadVeh(u, &rvf); } } else { - for (Vehicle *u : VehiclesNearTileXY(x, y, 6)) { + for (Vehicle *u : VehiclesNearTileXY(x, y, 8)) { FindClosestBlockingRoadVeh(u, &rvf); } } diff --git a/src/train_cmd.cpp b/src/train_cmd.cpp index 039a2a174d..afab930bee 100644 --- a/src/train_cmd.cpp +++ b/src/train_cmd.cpp @@ -3228,7 +3228,7 @@ static bool CheckTrainCollision(Train *v) num_victims += CheckTrainCollision(u, v); } } else { - for (Vehicle *u : VehiclesNearTileXY(v->x_pos, v->y_pos, 6)) { + for (Vehicle *u : VehiclesNearTileXY(v->x_pos, v->y_pos, 7)) { num_victims += CheckTrainCollision(u, v); } }