「売った素材を覚えておく変数」を作る
「売った素材を覚えておく変数」=売った素材Aの数×100+売った素材Bの数×10+売った素材Cの数
個々の武器のデータベースに売りに出される条件を書いておく
例えば武器Zのデータベースに売り出される条件として532とかいておくとする
この場合素材Aを5個、素材Bを3個、素材Cを2個売ったら武器Zが買えるようになるという意味

後は素材を売却する所に武器の種類数のループを作り、ループの中に武器のデータベースを参照して
「売った素材を覚えておく変数」と同じ販売条件の武器があるかを検索する条件分岐を作る
もしあった場合には店頭販売のフラグONにさせる
素材のまとめ売りを可能にしたい場合にはループの中にまとめ売りした素材数のループを作る

こんな感じでどう?早くなるかは分からないけど、条件分岐に関してはこれですっきりするはず