*cracks knuckles*
Sabots have the GUIDED_POOR tag, which seems odd as they are perfectly fine to be fired off bore.
They can be fired off-bore, but it reduces their effective range by quite a bit. All in all I think it does better with the tag.
Squalls have USE_VS_FRIGATES which seems a bit odd because that is usually the worst target for squalls (I could be misunderstanding the tag).
This one's left over from when the Squall had the STRIKE tag, I believe - it just means the weapon is *allowed* to be fired vs frigates in normal (i.e. non-panic-fire) circumstances. Without the STRIKE tag, this tag actually does nothing.
It also has missile spread which I am not sure what the purpose of is either, but doesn't make much sense just from it's name.
It's a setting that affects the behavior of the individual missiles.
Finally, the best for last, the one that inspired me to make this post, Breaches. Breaches have both the DO_NOT_AIM and DIRECT_AIM tag, which directly contradict each other. Some folks have tested it out and it seems that removing the DIRECT_AIM tag allows the ship to actually use breaches. There was also some debate whether the CONSERVE_ALL tag was necessary when it already has CONSERVE_FOR_ANTI_ARMOR but I suppose it is there to make the AI use breaches more carefully.
Ah! DIRECT_AIM has no effect whatsoever on the decision to fire or not fire the missiles. It's a setting the AI of the missile uses, and it tells it not to weave while approaching the target. Any observed effect on firing behavior is 100% confirmation bias.
P.S. The AI is still pretty bad at breaches because it can't figure out how to use it against armor only.
Yep - I've made some changes to this in the dev build, a while back. It should be better, though it's still a bit tricky, especially because of its short range, so the AI may have trouble working it into the rotation. I've got a note to have another quick look at it.
Edit: partially ninja'ed, but meh.