Associate Ammo with Weapon?

There really are a lot of possible ways to handle this, but in terms of infinite ammo weapons its often best to just have those weapons or fire types not decrement ammo at all.
For the instagib rifles in UT they are a separate subclass of their parent shockrifle with some changed fire mechanics, including not needing ammo. The when the instagib gamemode starts all players have their inventory cleared, and are given the instagib rifle. If you’re going to have a similar game mode I’d suggest doing the same.

Overall this sounds like an architecture problem.

Assuming you’re not doing a huge rewrite of things you’ll at least want to add in some kind of inventory management system on the player, part of which will be for ammo.
The whole ammo thing should be solvable with a messaging system.

The player entity can have a delegate for handling inventory adjustments.
The weapon subscribes the owner’s inventory adjustment delegate in its firing event and sends along an inventory changed event arg structure to tell the players inventory system to add or subtract some number of some subclass of inventory item. This way for things you know will be infinite, you just pass a value of 0 for how much to remove and the rest of the system operates as normal.

The player then handles the bookkeeping on their inventory. Infinite ammo could be set on the player as a flag or some other noticable way so when the inventory system goes to adjust the items the adjustment gets altered based on the current flag status.

Maximum inventory amounts should be able to be adjusted on the player, possibly with a similar messaging system, so the gamemode or some other class that can interact with the players can find all players and set their inventory amounts as well as capacities and defaults. You’ll need this sort of thing anyway if you want to implement a “backpack” or something that increases capacity as a pickup.

Also, I could swear some of this functionality is already in what ships with UE4 so you can have a template to work from and or build off of.