[quote=“Hyena Grin, post:42, topic:1959”]Yeah it’s a little more inventory management but I think it could be handled relatively slickly using a sort of context-sensitive reload function:
Gun is EMPTY
is there a loaded magazine available?
If YES, reload with magazine containing highest ammunition count.
If NO, then reload magazine (one bullet at a time)
Gun is FULL
Reload will load ammunition into any spare magazines for the weapon.[/quote]
That’s a good point, this is basically what it does now, just with the spare magazine having to be assigned to the weapon. This can be extended to something like:
Tactical reload -> top off magazine in weapon -> top off most-full spare for weapon -> display a list of magazines in inventory to load.
If you want to do something different, such as reloading a magazine for another weapon in preperation for using it, you’d need to go through the i->item->r interface, or assign a seperate key to “reload in inventory” directly.
Hrm, actually it might be reasonable to have our cake and eat it too here. We can have a “smart reload” command like the above that would top off the magazine in question, this would be mapped to ‘r’ by default. We can also have a “reload single round” command that does the same, but a round at a time that is not mapped to a key by default, and if you prefer that behavior you can map it to ‘r’ or something else.
Also I realized there’s a solution for an issue that’s been bugging me, reloading a magazine that’s in a gun is a 3-step process, eject, load rounds, insert. Loading a round at a time is problematic because you theoretically are doing eject-reload-insert on each cycle or something, but I realized all we have to do is track the previous action (I think we do already) and charge for eject-load round-insert on the first reload action, and just load round on any subsequent actions, and the costs come out the same, so you can hit reload, reload, reload until you’re done, then just do your next action (probably either fire, or pause to steady your aim)