Item system: how to structure/store data

Here is one way (I’m pretty sure there are more efficient ways) to do this:

You would have to implement both functions, but I believe it would be fairly simple.

You could use integers, and have values like fire rate as Rounds Per Minute, precision as a percentage (75 instead of 0.75), or as a last resort (please don’t do this) use strings and functions to decode them (Atoi, Atof, etc).