# Blitz Session Statistics

Полноценная ангарная панель статистики за текущий запуск клиента. Мод
самостоятельно создаёт интерфейс через Lua UI Framework, собирает подтверждённые
боевые события в памяти и показывает последние восемь боёв.

Сейчас достоверно считаются:

- число завершённых боёв и длительность;
- полученный урон — сумма, среднее и максимум;
- число локальных выстрелов: через `local_shell_fired`, а на exact-client без
  projectile bridge — через публичный `shot_fired` только для local public ID;
- выживание, когда состояние локального танка удалось получить;
- победы и поражения только когда native bridge передал ненулевую команду
  победителя и Lua смог определить команду локального игрока.

Текущий клиентский bridge оставляет `winner_team` равным нулю и не публикует
достоверные damage dealt, kills и hits. Поэтому мод показывает `N/A` и процент
покрытия, а не подставляет вымышленные значения. После появления надёжного
источника эти поля начнут заполняться без изменения интерфейса.

Если обе темы локального выстрела недоступны, карточка выстрелов также
переключается в `N/A` вместо ложного нуля.

Панель существует только в полностью загруженном ангаре. Доверенный native
loader определяет `HANGAR` по наличию уникального DAVA-маркера
корневой DAVA-контрол `Hangar` (временная скрытость его дочерних кнопок не
означает выход из ангара), а
видимый `ModCatalogScreen` добавляет контекст `MOD_SCREEN`. Lua-мод работает
только с публичным контекстом и не сканирует игровые контролы самостоятельно.
Поиск маркеров учитывает родительские слои active screen, поэтому временный
popup поверх ангара не становится ложным новым местом для панели. После первого
подтверждённого `HANGAR` мод сохраняет исходный корень до боя, результатов,
загрузки или фактического уничтожения root — это устраняет циклический
mount/unmount на всплывающих слоях клиента.
Во время боя, результатов, ввода текста и каталога все принадлежащие моду
контролы удаляются. Статистика при этом продолжает собираться событиями и
возвращается после входа в ангар.

Экран обновляет текст и строки только после изменения статистики, сброса или
повторного создания UI. В простое он не перестраивает DAVA-ресурсы каждый кадр;
время запуска в заголовке актуализируется вместе со следующим полезным
обновлением данных.

## Установка

Скопируйте каталог как:

```text
mods\lua\example.lua_session_stats
```

Убедитесь, что в `mods\mods.ini` включён `wotbmod.lua_host`. Lua host сам
обнаруживает каталоги внутри `mods\lua`; отдельная строка для этого мода не
нужна.

Кнопка `СБРОСИТЬ СЕССИЮ` требует повторного нажатия в течение четырёх секунд.
Данные не записываются на диск и обнуляются при перезапуске клиента или мода.
