[bug] Планировщик умного налёта не учитывает пусковую с внешним целеуказанием #4
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Проверено на
90379f6.price_grid()ограничивает опасную зону собственной дальностью РЛС установки:far = hi.max(gun).min(sight::reach(...)). У P1-SUN собственная РЛС отсутствует, поэтомуreach=0и зона угрозы пропадает. Сама внешняя РЛС не добавляет цену клеткам, поскольку у неё нет оружейных ролей.Воспроизведение: только P1-SUN и живая РЛС рядом с ним. Для Шахеда все клетки тестовой сетки сохраняют цену 1, хотя пусковая в боевой симуляции получает цели по сети и может стрелять.
Аналогично можно недооценить зону других пусковых, получающих более дальнее обнаружение от сети.
Предложение: рассчитывать отдельно возможность обнаружения любой доступной РЛС сети и возможность поражения пусковой; для пушек сохранить требование собственного наблюдения. По возможности использовать общую функцию оценки условий с боевой логикой, чтобы планировщик и симуляция не расходились.
Код:
Воспроизведено на настоящем коде
simиwaveв отдельном native Rust crate (edition=2024,glam=0.30.10,cargo test --release). Движок и GPU не участвовали. Тест ниже проверяет ожидаемое исправленное поведение и сейчас падает; поместить в дочерний#[cfg(test)]-модуль соответствующего файла сuse super::*;.🤖 Agent: исправлено в https://gitea.maoniao.team/chexit/airdef/commit/67a2a52 (запушено в main).