diff --git a/HarmonySrc/Possession.cs b/HarmonySrc/Possession.cs index b959e53..302846c 100644 --- a/HarmonySrc/Possession.cs +++ b/HarmonySrc/Possession.cs @@ -2179,12 +2179,26 @@ namespace NecromancerTome static void ShowPlayerBelt(bool _show) { XUiV_Window w = _player?.PlayerUI?.xui?.GetWindow("windowToolbelt"); - if (w != null && w.IsVisible != _show) + if (w == null) { - w.IsVisible = _show; + if (!_show && !_beltMissingLogged) + { + _beltMissingLogged = true; + Debug.LogWarning("[NecromancerTome] Possession: окно windowToolbelt не найдено - пояс персонажа не скрыть"); + } + return; + } + // Прозрачность окна, а не IsVisible (тест 13.10: с IsVisible пояс оставался виден - окно показывают снова). + // ForceVisible(0) держит его прозрачным до следующего открытия окна. + float a = _show ? 1f : 0f; + if (w.PanelAlpha != a) + { + w.ForceVisible(a); } } + static bool _beltMissingLogged; + /// Тело одержимого в виде от первого лица - только тень (тест 13.10: изнутри видно тело, у паука на /// бегу лапы и череп в кадре; сжатие одной головы не спасало). Видимость - дело своего экрана: другие игроки /// рисуют этого зомби сами и видят его как обычно; так же игра прячет тело персонажа от первого лица.