Clarify gun burst counters and record the verified realism follow-up (#91)

Co-Authored-By: Codex <noreply@openai.com>
This commit is contained in:
2026-11-02 21:48:47 +03:00
parent ac866d64a0
commit c4b72da3ff
3 changed files with 51 additions and 2 deletions
+2 -2
View File
@@ -256,8 +256,8 @@ fn cell(sim: &Sim, index: usize, x: f32, y: f32, w: f32, h: f32, s: &mut Vec<Sha
if !matches!(sam.kind, crate::sim::SamKind::Gepard) {
line += &format!("Р{} ", sam.missiles);
}
if sam.bursts > 0 || spec.key == "gepard" {
line += &format!("С{} ", sam.bursts);
if crate::sim::catalog::unit(sam.kind).has_gun() {
line += &format!("Оч{} ", sam.bursts);
}
line += &format!("сб.{} [{}]", sam.kills, roles_text(sam.roles));
s.push(text(fit(line, cw), cx, y + h - 10.0, 0xFF9FE0FF));
+2
View File
@@ -34,6 +34,8 @@ pub struct Unit {
impl Unit {
pub fn id(self) -> &'static str { self.kind.spec().key }
/// Whether the unit has a gun; callers need no access to the private weapon profile.
pub fn has_gun(self) -> bool { self.kind.spec().gun.is_some() }
pub fn ground_strike(self) -> GroundStrike {
GroundStrike::Unavailable { reason: "Для этой техники не задан подтверждённый профиль удара по координатам" }
}
+47
View File
@@ -0,0 +1,47 @@
# Сверка дополнительного ревью реалистичности
Полученное автором внешнее ревью проверено по `kimi-work` на `ac866d6`, а не принято как готовая
спецификация. Просмотрены текущие исходники и все 118 прежних issues. Проверку независимо помогли
провести GPT-6.1 Terra и GPT-6 Luna. Ниже — результат статического анализа, не новый балансировочный полигон.
## Новые самостоятельные задачи
- [#119 — укрытие от непрямого взрыва](https://gitea.maoniao.team/chexit/airdef/issues/119).
sim/damage.rs::blast_damage уменьшает здоровье корпуса, узлов и объектов по расстоянию,
не получает геометрию. Ограниченная оценка защищённости лучами даст полезное взаимодействие с постройками.
- [#120 — энергия и геометрия перехвата](https://gitea.maoniao.team/chexit/airdef/issues/120).
Ускорение и swept closest approach уже есть, поэтому утверждение «геометрии нет» неверно.
Самостоятельный этап — конечная работа двигателя, coast и зависимость от фактического состояния ракеты.
- [#121 — радиомолчание](https://gitea.maoniao.team/chexit/airdef/issues/121).
Off/On собственного поиска с отдельной работой сетевого канала и осмысленным раскрытием позиции.
Это новый игровой выбор, а не требование воспроизводить реальные радиотехнические процедуры.
## Дополнения к существующим задачам
- В [#93](https://gitea.maoniao.team/chexit/airdef/issues/93) добавлен комментарий: last-known точка
есть, но часть планировщика после фильтра по известному ID читает live Sam.pos. Это пробел прежней
приёмки, а не новый дубль. Некоторые пути adapt уже используют старые точки.
- В [#46](https://gitea.maoniao.team/chexit/airdef/issues/46) добавлен комментарий: первое радарное
измерение копирует точные kind/vel, хотя ident ещё Unknown. NEAR<=24 намеренно описан как исключение
видимости — его стоит рассматривать как выбор политики честного режима, не выдавать за случайный баг.
- Ответные удары и боекомплект уже охвачены #118; наблюдаемая разведка ПУ — #107; каталог/варианты
вооружения — #91; художественные модели — #115; диагностика — #18.
## Что в отчёте не подтвердилось или требует оговорок
- «Обратная дальность» в шуме: сейчас sigma = 0.8 + dist * 0.004 (или 0.3 при lock), она растёт с дальностью.
- «160 очередей ×10 снарядов =1600 у Гепарда»: GunSpec.shell=10 — **скорость снаряда в блоках за тик**,
не число снарядов в очереди. Это прямо определено в units.rs и используется в упреждении/скорости трассера.
Число физических выстрелов на условную очередь пока не задаётся этим полем; пересчёт запаса до 68
по такому умножению был бы необоснованным изменением баланса.
- Разгон перехватчика, относительное движение в наведении и проверка сближения за тик уже реализованы.
Новый #120 уточняет остаток и запрещает добавлять второй независимый бросок pk.
- Наземные способности комплексов нельзя свести к «все могут» или именной blacklist. #118 уже различает
пушечный наземный огонь, ракетный огонь по наблюдаемой цели и удар по удалённым координатам.
- Название PAC-3 само по себе не задаёт один магазин: производитель двигателей
[L3Harris различает 16 PAC-3 и 12 PAC-3 MSE на M903](https://www.l3harris.com/en-gb/all-capabilities/pac-3-mse).
Поэтому ни автоматическое «PAC-3 всегда 16», ни переименование текущей игровой модели в PAC-2
без выбора полного согласованного профиля не выполняется. Tor/9М338 и другие варианты также требуют
проверки конкретной модификации; уменьшенный игровой запас может быть явной условностью.
Состояния прежних issues не менялись. Добавлены только три самостоятельных enhancement и комментарии.