The ammunition in a gun should be handled in 3 sections:
Chambered Ammunition
This is important for progressive reloads, and manual actions.
Multi-barreled firearms might chamber multiple cartridges at a time.
In revolvers only the indexed round would be considered chambered, though every round in the cylinder would technically be chambered. In muzzleloaders, the ball and powder aren’t considered chambered ammunition until the pan/nipple is primed and the hammer is cocked.
Ammunition in Feed System
Feed systems would include: Magazines, Belts, and En Bloc Clips.
Attached Ammunition
Would include ammunition in shell holders, jungle style magazines, and spare magazines attached to the weapon.
There should be progressive interruptable reloads.
Explanation
This means that instead of having one long animation for reloading, which either is skipped or restarted by doing a different animation, the character would go through multiple steps of reloading and the game would remember which step the player is currently on, even if the reload is cancelled or interrupted.
The steps for reloading many weapons would include:
Removing the feed system
Maybe tap “reload” to quickly drop the feed system, and hold to carefully place it back into your inventory.
Inserting a new feed system
The feed system used, instead of always being the fullest like in 3.X, would prioritize attached ammunition, then items in a particular article of clothing. (i.e. arrows in a quiver would be used before ones in a backpack.) Maybe a feed system could be selected using the “holstering” mechanic from Devlog #6.
Chamber a round from the magazine
Would only be done if the chamber is empty, or if the player has set the game to always rechamber when reloading, which would be useful if the player wants to be sure they’re not using ammunition from a previous feed system.
A new key could be used specifically for checking the current feed system, which would be most important when playing with a limited HUD.
Additional functions when held down
Would vary from weapon to weapon, but would include topping off the feed system with loose ammunition or a speed loader, placing boosters in powder actuated tools, replacing the tank in pneumatic tools and weapons, and chambering a cartridge.
Firemodes should include
Single
It would only fire the chambered cartridge(s), and would prevent loading from the feed system.
I call it single because it would fire a single cartridge, or multiple cartridges in a single shot.
It would be used in single shot weapons, multi-barreled weapons, and weapons with magazine cutoffs.
Manual
It would fire a round, but not automatically chamber the next round in the magazine.
It would be used in single action revolvers, and manual action weapons, such as bolt-actions, lever-actions, and slide-actions.
Semi
It would function the same as in 3.X, firing one round and chambering the next.
It would be used in semi automatic weapons, double-action revolvers, and multi-barreled weapons.
Auto
It would fire and chamber cartridges as long as the player holds the fire button and there are cartridges in the feed system to chamber.
It would be
Burst
would be a limited version of Auto.
I’m unsure how exactly this would work due to differences between burst limiters IRL; Some are based on time, some are based on the number of times cycled, and I know of one based on the number of cartridges spent. The amount of time or cycles per burst varies between mechanisms, and some continue counting across multiple bursts, or even when used in other firing modes.
After inspecting the feed system, reloading, or attempting to fire, if the chamber is empty, the player will cycle a cartridge from the feed system into the chamber. If the feed system is empty, the player will instead place a loose cartridge from their inventory into the chamber. Cycling the action would take some time and displace the point of aim, when the displacement happens, how much happens, and what directions it tends towards would vary by weapon, and possibly between dominant hands.
Customization:
Lockwork
Certain revolvers should have replaceable lockwork so they can be fired in single action, double action, or from either. Flintlock, matchlock, percussionlock, and wheel lock lockplates should be available for antique weapons.
Magazines
The following suggestions are made assuming caliber conversions will be unavailable in 4.X, but would also be useful with caliber conversions. Magazine adapters should be available, to allow a specific magazine to be used in the place of a specific other one. Shorter versions of some cartridges should be available, and should be more compact in tubular magazines, but might not be compatible with autoloaders.