Well, taking ITEM:ITEM_SUBTYPE:INORGANIC:NONE for armor and weapons should only cause one reaction for each, thats not too much.
If I use any material item, upgrade with steel upgrade-item (armor plates, lamellars, bayonets, whatever) then I'd produce full steel items with one item and any goblinite I can find. Copper Goblin breastplate + steel armor plate = Steel platemail does not seem right. But I cant find another way, except making 500 reactions for every item*every metal, which would be madness. And not a good madness.
Narhiril, you seem to have something similar, any help ? I'll download your mod and go through the raws, see what you came up with.
The weapon upgrades work in one of two ways...
1) If a bayonet is being attached, the new weapon takes the material of the bayonet used. This requires one reaction per metal if you want to be able to choose what bayonets you use. It encourages the player to make cheap (bone or wooden) crossbows and then attach bayonets to them, which is still a lot more work and expense than simply making them right away, and it allows you to stagger the upgrades. You are of course, welcome to take a look at my raws if you're looking for any ideas - the file you want is reaction_tech_t3.txt.
2) Upgrades other than bayonets work by preserving the material and simply producing a different type of weapon using the base weapon, blueprint, and any upgrade materials. For example, the "spring-loaded bayonet crossbow" differs from the "mechanized bayonet crossbow" only in the power of its bayonet attack.
I have not really dealt with upgrading armor yet, though shields would be very easy to make upgrades for (simply doing different variants with higher block rates). LFR has a few pieces of "reactive armor" which can only be made by an amalgamation of materials put together, which feature better coverage than normal armor (and some pretty nice physical properties) at the expense of being very heavy.
If I were going to upgrade armor (and I might, at some point) by adding things like extra metal plating, I would define a bunch of new armor items and play around with the layering. There is an easter egg item in one of the LFR reactions which can produce a (metal) "runic cloak," which is simply a metal copy of a cloak except with an [ARMORLEVEL] token on it, and it can be worn over armor for extra protection.
For example, instead of using copper to upgrade a steel chest piece, just allow the player to unlock the ability to make an armor piece called "additional copper plating" which can then be worn OVER the original chest piece. If you do that, you can get multi-layered, multi-material armor going, which is the only way I can think of offhand to do something like that. You obviously can't make the "additional (metal) plating" require the original item to be equipped, which would be ideal, but this is the best I can do at the moment.
Also worth noting - you can't ever create working gloves from a custom reaction because the game does not assign them the "left" or "right" attribute (unless this has been fixed, which it hasn't, to my knowledge).