[bug] После ремонта комплекс снова уничтожается от собственной отложенной детонации #5
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.repair()восстанавливает здоровье, боезапас и состояние техники, но оставляетself.later— запланированные взрывы старого боекомплекта. Они продолжают происходить уже внутри восстановленной машины.Проверено: уничтожить полный Patriot взрывом мощности 4, немедленно вызвать
repair(), затем обработать отложенные взрывы на тике 3. Восстановленный комплекс снова уничтожен, даже без новых противников.Предложение: явно определить семантику ремонта. Если это полный сброс повреждений/восстановление техники, отменять связанные cook-off события; для точного решения хранить владельца/поколение техники в отложенном событии. Если сохранение взрывов задумано, отразить это в интерфейсе и дать отдельное безопасное восстановление.
Код:
Воспроизведено на настоящем коде
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/e08fc65 (запушено в main).