Thanks, but all those things you mentioned have already been done for a while.
The Weapon base class has a property called AmmoPerShot. So each time the PrimaryFire() is called for that weapon, it will decrease AmmoPerShot ammos from the player inventory.
For now, I don’t have a second variable that determines AmmoPerShot for the SecondaryFire(), I just have it for the primary.
But, there could be the case where my weapon’s SecondaryFire(), decreases **BOTH **the PrimaryType-Ammo and the SecondaryType-Ammo.
In that case, should I create a C++ class dedicated only to that specific weapon?
For example, I could have a weapon that shoots **Bullets **on the PrimaryFire() and **ElectricBullets **on the SecondaryFire().
An Electric bullet is a **combination **between a Bullet-Ammo and an Electricity-Ammo. So I need to decrease both in order to shoot electric bullets!