I have been beefing up my defenses against sieges in my latest forts. I've done my best to build fortifications where the enemies tend to gather in front of my gates. I've build several towers to reach the various z-levels surrounding my walls. I've put catapults wherever they are feasible so that they are outside of "omgz I'm scared" range for the operators, and in line with fortifications and enemies and on the same z-levels and rock stockpiles right next to them so the operators don't have to go far to reach ammo. I have not just one but two Legendary Siege Operators - they fire those %$# things as fast as my archers can shoot arrows.
And they can't hit the broad side of a barn.
At least according to the wiki, they will aim at invaders. I realize that they have a narrow range of fire and can only hit targets on the same z-level. I have had three catapults set up with the invaders on the same z-level, standing around in tight groups, within about 10 degrees of exactly in front of the catapults. I'm lucky if 1 out of 20 shots even goes near them with my Legendary operators running them. I thought that maybe the operators couldn't actually see what they were aiming at, but if I moved them closer, then of course they got scared and ran away without firing anything.
I'd go ballista, since they would be more likely to do more damage if the operators could get the arrow to actually go through where the invaders were standing, but with the greater material cost of building ballista ammo, and judging from their accuracy with catapults, I'm hesitant to go that route.
Do catapults just suck that much and there's nothing can be done about it?