It's a very interesting idea. I do see a couple of potential issues with it, though:
- You could end up with ridiculously high rates of fire. If a standard roguelike tile is only one or two paces across then firing once per turn is pretty fast in comparison to movement anyway.
- It's mainly suited to automatic weapons. For something like a shotgun it doesn't seem to quite fit.
- You'd need to have a separate 'end turn' button for when you're finished shooting, which would complicate the interface and slow down playing.
So, here's an alternative system:
- Only one shot per turn. (So, firing ends your turn automatically)
- Your accuracy is represented on-screen as a meter, which is persistant across turns.
- Some actions raise the meter and some lower it. So, standing still would raise accuracy; moving and firing would reduce it.
This system would give you some nicely organic options for the way you want to shoot. For example take these sequences of turns:
SHOOT-SHOOT-SHOOT-SHOOT: Full Auto - gets steadily more innacurate
SHOOT-PAUSE-SHOOT-PAUSE: Aimed shots - slower rate of fire, but more accurate
MOVE-SHOOT-MOVE-SHOOT: Firing while running - inaccurate but high mobility
SHOOT-MOVE-PAUSE-SHOOT: Firing while walking - some mobility, slightly more accurate
You could also give different weapons different accuracy penalties for different things, thereby giving them different tactical roles. So, a sniper rifle might have a massive penalty for movement, meaning it's best to set up and wait
a couple of turns before firing. A shotgun might need to be pumped after every shot, but have a very low accuracy penalty for movement, making it a good assault weapon, etc. etc.