В самой последней версии, скомпилированной вчера, нашел довольно странное поведение при переполнении городского склада.

Начальная логика при переполненном складе случае была понятна:
Если склад переполнен, то теряются наиболее дешевые товары.
Поэтому когда еда стала обычным ресурсом, то именно она и терялась.

Затем был введен TURNS_FOR_FOOD или количество ходов, на которое будет накапливатся еда в городе (учитывая ее потребление всеми жителями города) вне зависмости от заполнености склада другими ресурсами при включеном NEW_CAPACITY.

Тоже все совершенно логично. Таким образом создавался некий городской "неприкосновенный запас" еды.

Однако в реальности почему-то получается по другому. Вот пример:

Город 4 человека. Запас еды 62. Это значение, равно как и население, по ходу игры не меняются.
TURNS_FOR_FOOD = 12.
Таким образом можно вычислить "неприкосновенный запас" еды для города. Он равен

Код:
2 еды х 4 человека х 12 ходов = 96 еды
Это значение больше, чем то количество еды, что есть в городе (62).
Из этого следует, что еда не будет исчезать при переполнении склада. Прекрасно!

Теперь смотрим что есть на складе. На городском складе есть древесина (самый дешевый товар, цена продажи 1 монета), шкуры, табак (продается за 3 монеты) и сигары (самый дорогой товар, 6 монет за штуку).



При переполнении склада по логике должны были исчезать доски (древесина), как самый дешевый товар. Не еда, поскольку ее запас меньше критического (62<96), а именно древесина.

Реально же исчезают только (!!!) сигары или табак. Странно?

Я провел дополнительный тест, подселяя в город по очереди пионера (на складе появилось +150 инструментов), затем ветерана (+150 оружия) и наконец скаута (+150 лошадей).

После каждого такого подселения на следующий ход из склада исчезали по очереди 150 инструментов, 150 ружей, 150 лошадей. При этом количество древесины, как самого дешевого товара, оставалось неизменным.



Другими словами всегда исчезает не самый дешевый, а самый крайний справа товар. Почему не работает старая логика, когда исчезать должен самый дешевый товар, совершенно непонятно?