Типичные решения японских кодеров. Я в свое время прозрел, когда увидел, как "заточка" в Dark Souls 1 реализована.
Вы думаете, что там какая-то формула? Продолжайте думать. Кузнец - это магазин, в котором меняется пушка на такую же, но с другими статами, которые нарисованы ручками, и с дополнением +n в названии. Ага. Вот есть пушка на +15 - не сомневайтесь, в базе магазина лежат 15 экземпляров этой пушки. И еще учтите, что можно же элемент сменить, а это еще +N экземпляров.