нашел 23-летний баг в crimsonland (2003) в игре есть перк под названием стационарный перезарядчик, который увеличивает скорость перезарядки в 3 раза, если вы стоите на месте. есть крайний случай, когда логика "перезарядка завершена?" проверяется с использованием нормального времени кадра, но перк вычитает 3x за тик после этого. если таймер находится между 1x и 3x временем кадра, он может переполниться в одном обновлении после того, как проверка пополнения уже прошла. это приводит к дегенеративному циклу, где магазин никогда не пополняется, вы можете выстрелить одной пулей и снова начать перезарядку навсегда. это особенно заметно с перком сердитого перезарядчика, который стреляет всплеском плазмы на полпути в перезарядку. естественно, это исправлено в моей версии игры.
Я тщательно документирую все оригинальные ошибки здесь, и моя версия даже имеет опцию --preserve-bugs, которая сохраняет эти поведения. Это полезно для дифференциального тестирования и целей сохранения.
70