TL;DR
Reduce the overkill fraction on asteroids so that ships don't use excess rockets.What?
The overkill fraction (https://lua-api.factorio.com/latest/pro ... l_fraction) is intended to account for rounding errors and entity healing to ensure that, when the turrets decide to stop firing, there's enough ordnance on its way to destroy the target. Only rockets and artillery are usually affected because of their long projectile travel times, and it doesn't count splash damage from projectiles aimed at nearby targets. Asteroids are explicitly set to a 1% fraction in data/space-age/prototypes/entity/asteroid.lua line 487, which is almost but not quite always low enough to keep turrets from firing extra ammo. Where it breaks down:- At stronger explosives level 6, turrets will fire one extra yellow rocket at all big asteroids because the exact number necessary to kill is only 0.8% overkill. That's 4->5 ammo against regular big asteroids and 8->9 against promethium ones.
- At stronger explosives level 9, turrets will fire one extra explosive rocket at big promethium asteroids because the exact number necessary to kill is only 0.8% overkill. That's 7->8 ammo each.
- At stronger explosives level 45, turrets will fire a second yellow rocket at big promethium asteroids because one rocket is only 0.35% overkill.
- At stronger explosives level 60, turrets will fire a second explosive rocket at big promethium asteroids because one rocket is only 0.575% overkill.
