Maybe the special cases for "always fire" should be hardpoint and guided rather than hardpoint and missile? AFAIK, all guided weapons have the GUIDED_POOR or DO_NOT_AIM hints, so it wouldn't be hard to detect them.
Yep, that's what it does. I just was sort of saying "missiles" while meaning "somewhat guided missiles"
Then let alternating's general case be to skip out of arc weapons when firing. So if you have weapon 2 selected, but only 1 and 3 are in-arc when you hold down fire, it skips 2 and alternates between shooting 1 and 3.
Kind of tired; am I missing something obviously wrong with this?
Well, if 2 is selected, and you click to fire, I think it's super weird if 2 doesn't fire. Especially if, say, you're a degree or two out of arc. And since you're almost by definition using weapons you care about the firing order of here, or at least the pacing - otherwise why alternating? - then that seems rather not good. I suppose you could get around that by not showing what's "selected" to the player, to some extent, but.. eh.
Plus there's the rate-of-fire issue, i.e. it changing depending on where in the arc you are, how to "go in order" when the list of what you're going over changes (and may be subject to cooldowns from earlier firing), and so on.
It's just messy - both to implement and explain to the player, and I suspect it would do unexpected but "correct" things - and honestly I don't see a good use case for this. The ones being brought up generally involve autofire, which wouldn't factor in. It's probably not impossible, right. But if we're looking to get fine-grained control out of something that's looking like it'll be messy and somewhat unpredictable, that doesn't seem like a good start.
Edit: it's possible my perception of this is colored by where I'm at in the dev cycle. Speculative/maybe-good stuff like this is right out, you know? Only doing clear-cut things at the moment, with much more of a focus on just getting it done. So I guess my point is that this is definitely
complicated and not a clear-cut-positive, rather than necessarily bad, if that makes sense.