diff --git a/src/Core/Universe.m b/src/Core/Universe.m index e8e25f57..abfdbab2 100644 --- a/src/Core/Universe.m +++ b/src/Core/Universe.m @@ -2049,7 +2049,7 @@ GLfloat docked_light_specular[4] = { DOCKED_ILLUM_LEVEL, DOCKED_ILLUM_LEVEL, DOC // shorten the route by scanner range & sun radius, otherwise ships could be created inside it. direction = vector_normal(vector_subtract(point0, point1)); - point0 = vector_subtract(point0, vector_multiply_scalar(direction, radius0 + SCANNER_MAX_RANGE)); + point0 = vector_subtract(point0, vector_multiply_scalar(direction, radius0 + SCANNER_MAX_RANGE * 1.1f)); } else if ([route isEqualTo:@"st"]) { @@ -2062,18 +2062,18 @@ GLfloat docked_light_specular[4] = { DOCKED_ILLUM_LEVEL, DOCKED_ILLUM_LEVEL, DOC // shorten the route by scanner range & radius, otherwise ships could be created inside the route destination. direction = vector_normal(vector_subtract(point1, point0)); - point1 = vector_subtract(point1, vector_multiply_scalar(direction, radius + SCANNER_MAX_RANGE)); + point1 = vector_subtract(point1, vector_multiply_scalar(direction, radius + SCANNER_MAX_RANGE * 1.1f)); pos = [self fractionalPositionFrom:point0 to:point1 withFraction:routeFraction]; if(isGroup) { - return [self addShipsAt:pos withRole:role quantity:count withinRadius:SCANNER_MAX_RANGE asGroup:YES]; + return [self addShipsAt:pos withRole:role quantity:count withinRadius:(SCANNER_MAX_RANGE / 10.0f) asGroup:YES]; } else { while (count--) { - ship = [self addShipAt:pos withRole:role withinRadius:SCANNER_MAX_RANGE]; + ship = [self addShipAt:pos withRole:role withinRadius:0]; // no radius because pos is already randomised with SCANNER_MAX_RANGE. if (ship != nil) [ships addObject:ship]; if (count > 0) pos = [self fractionalPositionFrom:point0 to:point1 withFraction:routeFraction]; }