So, I have a way to give the effect of swapping weapons, by swapping invisible ammo instead.
(Swapping the ammo allows for multiple guns easily. If I try to swap the guns, while letting the player able to buy more than one, I'd have to detect how many guns they have, and this gets complex and cron-heavy.)
This involves keeping the ammo at 1 unit, and using high burst counts while using ammo at the end of the burst, to simulate infinite ammo.
The problem is, is that even with 3,000 ammo the player will eventually run out of ammo.
I did some testing, and it seems Nova remembers how much of the burst you have used up even if you sell/re-buy the ammo or the gun. This makes periodic "re-setting" of the ammo difficult. As it seems I have to actually wait for the ammo to run out before it can be reset.
In some cases I can explain this away.
For a gun that has multiple fire modes (changeable with an abortable mission) I can say something along the lines of "The X-58 Cannon has been known to jam occasionally. If this happens to you, try switching it's mode, and this should clear the problem." Then the player switches the mode, and in the process the ammo is re-granted.
But I also have a system of guns where there's no abortable missions. The only reason to add one would be only to clear a "jam", and this seems clunky. I could use crons to detect missing ammo, but without manual clearing, the player could get stuck weaponless until a day passes.
It there another, preferably automatic, way to go about this?