Короче, к чему привело меня моё головоломание.
В коде есть void uvsVanger::prepare_list_for_ActInt() и uvsShop::prepare_list_for_ActInt() с похожей, но местами сильно разной логикой.
Похоже, что первый отвечает за товары, происходящие от игрока, а второй — за товары, происходящие от магазина. Так, во втором нет логики цены разряженного или полуразряженного оружия.
Хорошенько порыскав по логике, поблуждав в прайслисте, и почесав репу, вот, к чему я пришёл.
Если отвлечься от полуразряженных оружия, ригов и стеков боеприпасов — их я уже описал, логика просто модифицирует "базовую цену", пушки, риги и стеки (имеющие одну и ту же начальную продажную и покупную цену) дрейфуют точно так же, как и цены на мехосы — т.е. от 1.0 до 1.5 базовой в магазине в зависимости от времени цикла, от 0,5 до 1 при продаже в магаз, плюс модификатор от авторитета.
С товарами другая логика.