Optimize it in what sense? Context matters (i.e. it matters on how you're using it). It's likely good enough. I think there are
enumerations for weapons which you could use instead, that would use less memory. Then you can look up the string only when needed as a string. But again, it depends on how you are using these arrays.
__________________