When it comes to videogames, I'm a bit of a masochist for things that make combat more difficult. Or "realistic," at least as realistic as a game where you travel around the galaxy having sex with enough aliens to give even Captain Kirk pause can be.
Adding a functional "magazine/clip/energy cell size" to various weapons would really tickle that masochistic bone, and allow for some interesting balancing options. For example, the Bolt-Action Rifle is basically a Mauser 1918 Tankgewehr: a single-shot, bolt-action, very high power rifle. You could double the damage to 46, but give it a magazine size of 1, making the "DPS" of the weapon the same, as you'd need to spend an action reloading the weapon.
The "Second Shot" and "Rapid Fire" perks could give a 56% chance to reload on an empty magazine, just like they give a 56% chance to hit. "Shoot First" would give a 100% chance to reload, but that would really only ever happen with single-shot weapons, like my example Bolt-Action Rifle.
Bows would not use the ammo system, because you don't really reload a bow, you just nock an arrow, aim for a second, and then release; the "reloading" action is part of the "shooting" action.
Melee weapons probably wouldn't use ammo count, but the Shock Blade does mention an energy cell "good for about 100 strikes." If this is implemented, and melee weapons use ammo count, melee weapons which use energy would only deal their kinetic damage if the cells are empty (Except the rocket hammer, which would just have reduced damage).
Adding a "maxAmmo" integer and a "usesAmmo" boolean to each weapon class, alongside a "currAmmo" function to the Creature class, and modifying the SingleRangedAttackImpl and SingleMeleeAttackImpl functions in the CombatAttacks class to have a new "if" statement that checks the if the attacker's currAmmo is greater than 0 and that the weapon usesAmmo after Kane's prep checks, alongside some various modifications to the UI to display current ammo and reload options, would allow for this to be implemented.
Really the most time-consuming thing about this would be the UI modification, and is one of the reasons this is more of a "hey, this would be cool to add" idea rather than a "hey, you should add this!" idea.
Adding a functional "magazine/clip/energy cell size" to various weapons would really tickle that masochistic bone, and allow for some interesting balancing options. For example, the Bolt-Action Rifle is basically a Mauser 1918 Tankgewehr: a single-shot, bolt-action, very high power rifle. You could double the damage to 46, but give it a magazine size of 1, making the "DPS" of the weapon the same, as you'd need to spend an action reloading the weapon.
The "Second Shot" and "Rapid Fire" perks could give a 56% chance to reload on an empty magazine, just like they give a 56% chance to hit. "Shoot First" would give a 100% chance to reload, but that would really only ever happen with single-shot weapons, like my example Bolt-Action Rifle.
Bows would not use the ammo system, because you don't really reload a bow, you just nock an arrow, aim for a second, and then release; the "reloading" action is part of the "shooting" action.
Melee weapons probably wouldn't use ammo count, but the Shock Blade does mention an energy cell "good for about 100 strikes." If this is implemented, and melee weapons use ammo count, melee weapons which use energy would only deal their kinetic damage if the cells are empty (Except the rocket hammer, which would just have reduced damage).
Adding a "maxAmmo" integer and a "usesAmmo" boolean to each weapon class, alongside a "currAmmo" function to the Creature class, and modifying the SingleRangedAttackImpl and SingleMeleeAttackImpl functions in the CombatAttacks class to have a new "if" statement that checks the if the attacker's currAmmo is greater than 0 and that the weapon usesAmmo after Kane's prep checks, alongside some various modifications to the UI to display current ammo and reload options, would allow for this to be implemented.
Really the most time-consuming thing about this would be the UI modification, and is one of the reasons this is more of a "hey, this would be cool to add" idea rather than a "hey, you should add this!" idea.