I think the biggest problem you're going to face is storing all your data. I have a system with the same requirements you described. What worked for me is using XML files, stored in the extras folder. It's very easy to implement FAST XML parser (I even have published an extension for this), which you can use to read your data into your game.
For example, here's one of my item entries.
<asset type="object"
name="Iron Dagger"
asset=""
icon="Dagger Card"
actions="equip,disarm,drop,take"
typename="weapon"
canSave="true">
<description>It's an iron dagger. The edges are dull. It looks like it's seen some action.</description>
<statistic name="Damage Mean" value="8" hidden="true"></statistic>
<statistic name="Damage Low STD" value="4" hidden="true"></statistic>
<statistic name="Damage High STD" value="4" hidden="true"></statistic>
<statistic name="Damage vs Armor" value="3"></statistic>
<statistic name="Stunning Factor" value="5"></statistic>
<statistic name="Attack Time" value="0.40" hidden="true"></statistic>
<statistic name="Material" value="Iron"></statistic>
<statistic name="Attack Rate" value="A bit sluggish"></statistic> <!-- For card display only. Adjective is based on attack time -->
<statistic name="Move Points" value="12" hidden="true"></statistic>
</asset>
It's easy to go into the file and change whatever values I need to, add new items, etc. If you see where I defined "icon" and "asset" (unused), these specify actor types for Stencyl to load under certain scenarios, so it's easy to organize all the necessary data, not just statistics.
I read all of this data into a class, but you can use maps just as easily. The map key could be a concatenation of the weapon name and the statistic. So long as the objects have unique names, this should work for your scenario.
For my case, I read everything at once into a database. But adding items on an as-needed basis is also perfectly fine--just call the FAST routines whenever you need to.
One word of caution: FAST is appropriately named--it's easy to implement. User friendliness, on the other hand, is iffy. If I type an XML tag wrong, forget a quote, or some other minor thing, the game either crashes or worse, loads only some of the file and then stops. So you'll want to do some verification that everything loads correctly if you go this route.