This is an expansion of a suggestion I made during beta feedback. Apologies in advance for what is likely to be a bit of a wall-o-text.
There are currently a lot of things that either can be or have to be assigned to firegroups. They don't all work all the time and yet we still have to cycle past every firegroup to select the one(s) appropriate to our current ship state. This is causing frustration and the situation is only going to get worse as the game develops further. Several suggestions to address this have already been made and while they are all good ones for a particular play style many of them conflict with each other and I think we can agree that any "solution" which works for one group of players while making things worse for another is probably one that FD should not implement. Furthermore, whatever solution is chosen must be one that FD can implement in a general, open-ended manner so that it can grow with the game and not force Frontier's developers into having to code for a lot of special cases or bolt on kludges and hacks as features are added to the game.
There are currently three largely independent factors that determine whether or not a module can be "fired":
I propose adding a 3-way option to the right-hand UI, similar to the turret fire mode.
With the option set to "Hide invalid firegroups" cycling forward or backwards through firegroups would skip firegroups in which none of the modules assigned to them are valid in the current state. When the ship state changes (hardpoints toggle, enter/leave SC, switch HUD mode), if the current firegroup would become invalid the active firegroup would cycle forward to the next one valid for the new ship state. If even one module assigned to a particular firegroup is valid, the entire firegroup is shown including all modules assigned to it whether they are valid in the current state or not. Just as in current state, you can attempt to trigger an invalid module. If you do, any warnings or messages resulting from that attempt will be displayed.
The option being set to "Hide invalid equipment" implies invalid firegroups are skipped. In addition, equipment not valid for the current state is hidden when a firegroup is selected or when ship state changes. For example if your current firegroup had both an interdictor and a discovery scanner bound to primary fire, switching from combat to analysis mode on the HUD while in SC would hide the interdictor and show the discovery scanner and vice versa. Modules hidden in this way do not generate warnings or other message when the fire button assigned to them is pressed.
This is sufficiently versatile that as players we could set up almost any behaviour we want, including most of the ways many of us have proposed resolving the frustrations we've been feeling over firegroup bloat and HUD modes. Being a ship-specific setting rather than something in the global game options, if we want our mining ship to behave differently in this regard to our exploration ship, our trader or our combat craft we can achieve this.
(example for "separate fire groups for analysis and combat" under the spoiler)
It also allows ample room for FD to add additional ship environment states - "Atmospheric flight" or even "Submerged", for example - without needing to rework the framework. Similarly there's space for additional HUD modes if new features require them in the future. All without having to find somewhere to bolt it on or code around loads of special cases with all the opportunities those provide for introducing bugs or making the code harder to maintain.
There are currently a lot of things that either can be or have to be assigned to firegroups. They don't all work all the time and yet we still have to cycle past every firegroup to select the one(s) appropriate to our current ship state. This is causing frustration and the situation is only going to get worse as the game develops further. Several suggestions to address this have already been made and while they are all good ones for a particular play style many of them conflict with each other and I think we can agree that any "solution" which works for one group of players while making things worse for another is probably one that FD should not implement. Furthermore, whatever solution is chosen must be one that FD can implement in a general, open-ended manner so that it can grow with the game and not force Frontier's developers into having to code for a lot of special cases or bolt on kludges and hacks as features are added to the game.
There are currently three largely independent factors that determine whether or not a module can be "fired":
- Hardpoint state (deployed/retracted)
- Ship environment (Supercruise/Normal Space)
- HUD mode (combat/analysis)
I propose adding a 3-way option to the right-hand UI, similar to the turret fire mode.
- All firegroups
- Hide invalid firegroups
- Hide invalid equipment
With the option set to "Hide invalid firegroups" cycling forward or backwards through firegroups would skip firegroups in which none of the modules assigned to them are valid in the current state. When the ship state changes (hardpoints toggle, enter/leave SC, switch HUD mode), if the current firegroup would become invalid the active firegroup would cycle forward to the next one valid for the new ship state. If even one module assigned to a particular firegroup is valid, the entire firegroup is shown including all modules assigned to it whether they are valid in the current state or not. Just as in current state, you can attempt to trigger an invalid module. If you do, any warnings or messages resulting from that attempt will be displayed.
The option being set to "Hide invalid equipment" implies invalid firegroups are skipped. In addition, equipment not valid for the current state is hidden when a firegroup is selected or when ship state changes. For example if your current firegroup had both an interdictor and a discovery scanner bound to primary fire, switching from combat to analysis mode on the HUD while in SC would hide the interdictor and show the discovery scanner and vice versa. Modules hidden in this way do not generate warnings or other message when the fire button assigned to them is pressed.
This is sufficiently versatile that as players we could set up almost any behaviour we want, including most of the ways many of us have proposed resolving the frustrations we've been feeling over firegroup bloat and HUD modes. Being a ship-specific setting rather than something in the global game options, if we want our mining ship to behave differently in this regard to our exploration ship, our trader or our combat craft we can achieve this.
(example for "separate fire groups for analysis and combat" under the spoiler)
For separate fire groups depending on the HUD mode, you've two choices depending on how you want it to behave when you switch between them.
Option1: Set "Hide invalid firegroups." Put your combat mode gear in firegroups A,B,C..., your analysis mode gear following on in firegroups D,E,F...
Set up this way when you switch HUD modes you will always be in the first firegroup for that HUD mode. This "known starting point" could be handy if you use macros on your controls.
Option2: Set "Hide invalid equipment" and set up each firegroup with 2 analysis mode and 2 combat mode components. This would probably be better if you have things like chaff on a firegroup rather than on a hotkey because that would have this firegroup in the same place in the cycle whichever HUD mode you were in.
Option1: Set "Hide invalid firegroups." Put your combat mode gear in firegroups A,B,C..., your analysis mode gear following on in firegroups D,E,F...
Set up this way when you switch HUD modes you will always be in the first firegroup for that HUD mode. This "known starting point" could be handy if you use macros on your controls.
Option2: Set "Hide invalid equipment" and set up each firegroup with 2 analysis mode and 2 combat mode components. This would probably be better if you have things like chaff on a firegroup rather than on a hotkey because that would have this firegroup in the same place in the cycle whichever HUD mode you were in.
It also allows ample room for FD to add additional ship environment states - "Atmospheric flight" or even "Submerged", for example - without needing to rework the framework. Similarly there's space for additional HUD modes if new features require them in the future. All without having to find somewhere to bolt it on or code around loads of special cases with all the opportunities those provide for introducing bugs or making the code harder to maintain.