Spawning Grenade causes ammo count to reset to default values

I am sorry for the convoluted code it is something at this point that I can only read. I figured it out by casting to the current weapon or my base class weapon (I am not using my player character I am using a weapon class in order to store the ammo variables.) and changing the default values within the base weapon class inside of the grenade class. I have made a brute force solution I know it is not the most elegant looking but it works. I created a weapon base class variable inside of my character and am using that in order to grab variables from my weapon base class. I stored classes inside of my character that relate to my weapon classes.