This is a curious topic, as on the surface it looks as a simple, little thing, but as one starts to think about it a lot of complications arise. I will start by saying, I will definitely want ammunition for ranged weapons to be factored in and counted to the arrow/bullet (I really don't like unlimited ammo). I would also like some form of reloading rules make it into the engine from the start. It's not just for modern weapons, mind you, even crossbows would need these rules.
I'm going to borrow from the PnP world and propose a system with two stats governing ammunition and reloading. This might be too much detail for some, but maybe it gets the discussion going at least. I'm just making a suggestion here (and writing in a bit of a hurry, again, so readers beware!).
OK, the first stat would be "Shots", which would tell how many individual shots the ranged weapon can shoot before it needs to be reloaded. A bow has Shots of 1 (can shoot one arrow and then needs to be reloaded with another), a 9mm Browning HP-35 pistol has Shots of 13 (the detachable box magazine, "clip", holds 13 bullets), for example. The second stat would be "Reload Time", which would tell how many actions (or turns) it would take to reload the weapon (with ammo from the inventory). If RT is 0, it takes no separate action to reload the weapon, it can be fired every turn (i.e. reloading is done automatically - it's part of the attack action or the "space between turns"). If RT is 1 or more, it takes as many actions/turns to reload the weapon before it is ready to fire again. A bow has RT of 0, a light crossbow could have RT of 2-3, a heavy crossbow of 4-6, a musket at least 6, a modern semi-automatic pistol 1, and so on. (Ongoing reload action could be shown on the character's status as "Reloading x/y" with x showing how many reload actions the PC has accomplished of the y required actions, e.g. "Reloading 2/3".)
To further complicate things, firearms and other higher tech ranged weapons are usually capable of firing multiple shots very rapidly (either separately or in bursts). If we're to model this too, then we need another stat called Rate of Fire (ROF), which would indicate how many shots the weapon can fire per action/turn. The value would depend on the length of the combat turn, but even if the turn is only a second, most automatic weapons can fire 10 bullets in just a second. The effects of full-auto fire are usually simplified in games and maybe we ought to do so too, e.g. just have a single shot and a burst be the options with separate damage values (and ammo use) and call it a day. Or?
And then there's the issue of differing ammo types for the same weapon. It's not just for modern weapons either, even with only bows, we have numerous different types of arrows to choose from (not counting the fantastical or magic ones!) - there are broadheads, bodkins, blunt ones, incendiary ones, etc. Of course not all of them need to be implemented, but I'm just saying how this ammunition thing gets pretty "deep" quite fast. How deep are we wanting to go?
I'm for the "whole shebang", of course.
Then, there's the matter of ammunition and the UI, plus whether it ought to have its own equipment slot or not. IMO, ammunition doesn't necessarily need an equipment slot of its own, in fact for firearms and the like, a separate equipment slot could be a bit misleading even (as the ammunition container is inside the weapon). I think just letting the player select the ammunition from his inventory (with USE command) should be enough. The game would check the equipped ranged weapon and the chosen ammo - should they be compatible, then the ranged weapon would be used with that ammo. If the ammo and the weapon are not be compatible, the game would notify the player of this (and disregard the command). This would be only necessary if there are several different ammunition types for the same weapon; if the character has only one type of ammo that goes with his equipped ranged weapon, that would be used by default. The inventory would show ammo in use by a symbol (e.g. an asterix) before the ammo entry. Like, "*Broadhead Arrows (12)". Pure and simple.
Hmm, wait... That wouldn't work for party inventory. Darn, there might need to be a separate equipment slot after all. Maybe have ammo shown in parentheses after the ranged weapon on the equipment list, like "Longbow (12)" ot "Laser Pistol (30)"; this wouldn't need a separate equipment slot. Problem would be for differing ammo types, there might need to be a letter or two after the ammo count to denote what type of ammunition is in question, e.g. no letters = regular ammo (broadhead arrows, regular bullets, etc.), AP = armor-piercing ammo (bodkin arrows, AP bullets), and so on and so forth.
But how to show the difference between what ammo is ready to use and what's not? This might be too much of an complication, though. Consider that a quiver only holds 12-20 arrows, not the 659 you have in your inventory. Should there be distinction between readily available ammo and carried somewhere in the pack ammo? Also, if a pistol clip holds 13 bullets and you have 4 extra clips on you, how to show this? Does it matter? Is it better to have an "ammo limbo" from which you take ammo to reload your weapon, like in most games, or to go whole hog in the nitty gritty details on this and count clips separately (e,g. "9mm Browning HP-35 (13)" and "4 x 9mm Ammo Clip (13)")? Am I making any sense anymore...?
What did I tell you, this is a complicated topic once you start thinking about it and get the ball rolling.
P.S. Also, what if a PC has two different ammo types available, say, regular broadhead arrows and supadupa magic arrows of badassery. He then runs out of the broadheads while fighting measly kobolds. The game should NOT automatically change the ammo type to the next available ammo, because wasting those
very rare magic arrows on kobolds would be incredibly unwise. Thus the game should always just notify the player if one of his PCs has run out of ammo, but let the player choose what to do (change weapon or switch to a new ammo type), not to do it automatically for him.