c40ae3f8f5
Уровень 8 комната 24: после первого же выхода Кида страж телепортировался в колонку 0, а ряд 0 там пустой в колонках 1..3 — страж падал с ряда 0 на ряд 2 и разбивался. leave_guard (seg002:02F5) кладёт в guards_tile get_tilepos(0, row), то есть обнуляет колонку НАМЕРЕННО: позицию по горизонтали несёт guards_x, туда же она и пишется. enter_guard берёт x оттуда всегда. Мы же считали x из tile % 10 (то есть из нуля), а запомненную брали только у трупа. Заодно портирован pos_guards (seg003:0913): при загрузке уровня guards_x пересчитывается из колонки тайла, а файловое значение выбрасывается — в комнате 24 уровня 8 там 255. Проверено в MAME: три входа подряд дают одну и ту же позицию (x 156, ряд 0), страж стоит на полу. Host-тесты 5106 проверок без расхождений. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>