Решили: dev-консоль спрашивает «стоим ли мы на Ристалище» у мероприятия, а не помнит по событиям.
Флаг _onProvingGrounds и подписка на TestZoneChangedEvent удалены.
Сказано: «После нескольких переходов перестала щас из ф3 запускать bones. Обычный вход в ристалище работает на ура» (02.08.2026, сессия f24f0cc4).
Почему: флаг поднимался по событию входа на площадку и опускался по событию выхода. Но площадка умирает ВМЕСТЕ с боевым скоупом, и в этом случае события о выходе нет: оно приходит только когда игрок покидает место сам. После пары переходов флаг оставался поднятым, команда уходила в ветку «мы уже на площадке» и публиковала заказ состава в пустоту — молча, с отчётом об успехе в логе.
Грабли (третий случай за день, один класс): состояние, накопленное подписчиком, живёт ровно столько, сколько исправно приходят ОБА края события. Стоит источнику умереть молча — и накопленное становится ложью, которую никто не опровергнет. Признак тот же, что и раньше: «работает через раз», «перестало после нескольких переходов».
Как поймали: опросом живой игры до правки — мероприятие None, _onProvingGrounds True. Две
строки вместо получаса рассуждений.
Правило: факт о том, ГДЕ мы, имеет ровно одного владельца — мероприятие. Все остальные его спрашивают. Это уже третье место, где так: интерфейс, показ арены, теперь консоль.
Владелец правды: DevTools/GuildmasterCommands.OnProvingGrounds.