the-tale
the-tale copied to clipboard
Пошлина: неверное сообщение в дневнике.
В дневник героя записалось сообщение о снятии пошлины в 0 монет. Либо пошлина была очень маленькой (и тогда её снимать не надо, либо писать специальное сообщние) либо у героя не было денег (и сломано сообщение, которое показывается в этом случае).
Надо посмотреть код расчёта пошлины и убедиться, что она всегда возвращается целочисленной. Для случая, когда пошлина больше нуля, но меньше 1, округлять её до единицы. Так как пошлина формируется совокупностью разных эффектов, возможно это правило имеет смысл распространить на каждый эффект.
На каждую правку логики написать тест.
Исходники, относящиеся к задаче:
https://github.com/the-tale/the-tale/blob/develop/src/the_tale/the_tale/game/actions/prototypes.py#L908 https://github.com/the-tale/the-tale/blob/develop/src/the_tale/the_tale/game/actions/tests/test_action_inplace.py#L147 https://github.com/the-tale/the-tale/blob/develop/src/the_tale/the_tale/game/places/objects.py#L209 https://github.com/the-tale/the-tale/blob/develop/src/the_tale/the_tale/game/places/tests/test_objects.py#L203
Возьму эту задачу себе.
В принципе все понятно, только _effects_generator
это подробнее изучу и отправлю тогда результат.