From 326817db9adc4d2e91112fbd9b2640c87d9df628 Mon Sep 17 00:00:00 2001 From: chexit Date: Tue, 3 Nov 2026 10:39:35 +0300 Subject: [PATCH] Add overlapping raids budget scenario with flat terrain Co-authored-by: Codex --- .../tests/budgets/wasm_flat_budget.toml | 1012 +++++++++++++++++ 1 file changed, 1012 insertions(+) create mode 100644 airdef-mod/tests/budgets/wasm_flat_budget.toml diff --git a/airdef-mod/tests/budgets/wasm_flat_budget.toml b/airdef-mod/tests/budgets/wasm_flat_budget.toml new file mode 100644 index 0000000..1143cd2 --- /dev/null +++ b/airdef-mod/tests/budgets/wasm_flat_budget.toml @@ -0,0 +1,1012 @@ +[[step]] +render-ground-y = 64 +ticks = 2 +frames = 2 +expect.commands = ["airdef"] + +[[step]] +command = "airdef deploy s400" + +[[step]] +command = "airdef deploy patriot" + +[[step]] +command = "airdef deploy pantsir" + +[[step]] +command = "airdef deploy gepard" + +[[step]] +command = "airdef deploy nasams" + +[[step]] +command = "airdef deploy irist" + +[[step]] +command = "airdef deploy tor" + +[[step]] +command = "airdef deploy s400" + +[[step]] +command = "airdef deploy patriot" + +[[step]] +command = "airdef deploy pantsir" + +[[step]] +command = "airdef deploy gepard" + +[[step]] +command = "airdef deploy nasams" + +[[step]] +command = "airdef deploy irist" + +[[step]] +command = "airdef deploy tor" + +[[step]] +command = "airdef deploy s400" + +[[step]] +command = "airdef deploy patriot" + +[[step]] +command = "airdef deploy pantsir" + +[[step]] +command = "airdef deploy gepard" + +[[step]] +command = "airdef deploy nasams" + +[[step]] +command = "airdef deploy irist" + +[[step]] +command = "airdef deploy tor" + +[[step]] +command = "airdef deploy s400" + +[[step]] +command = "airdef deploy patriot" + +[[step]] +command = "airdef deploy pantsir" + +[[step]] +command = "airdef deploy gepard" + +[[step]] +command = "airdef deploy nasams" + +[[step]] +command = "airdef deploy irist" + +[[step]] +command = "airdef deploy tor" + +[[step]] +command = "airdef deploy s400" + +[[step]] +command = "airdef deploy patriot" + +[[step]] +command = "airdef deploy pantsir" + +[[step]] +command = "airdef deploy gepard" + +[[step]] +command = "airdef deploy nasams" + +[[step]] +command = "airdef deploy irist" + +[[step]] +command = "airdef deploy tor" + +[[step]] +command = "airdef deploy s400" + +[[step]] +command = "airdef deploy patriot" + +[[step]] +command = "airdef deploy pantsir" + +[[step]] +command = "airdef deploy gepard" + +[[step]] +command = "airdef deploy nasams" + +[[step]] +command = "airdef deploy irist" + +[[step]] +command = "airdef deploy tor" + +[[step]] +command = "airdef deploy s400" + +[[step]] +command = "airdef deploy patriot" + +[[step]] +command = "airdef deploy pantsir" + +[[step]] +command = "airdef deploy gepard" + +[[step]] +command = "airdef deploy nasams" + +[[step]] +command = "airdef deploy irist" + +[[step]] +command = "airdef deploy tor" + +[[step]] +command = "airdef deploy s400" + +[[step]] +command = "airdef deploy patriot" + +[[step]] +command = "airdef deploy pantsir" + +[[step]] +command = "airdef deploy gepard" + +[[step]] +command = "airdef deploy nasams" + +[[step]] +command = "airdef deploy irist" + +[[step]] +command = "airdef deploy tor" + +[[step]] +command = "airdef deploy s400" + +[[step]] +command = "airdef deploy patriot" + +[[step]] +command = "airdef deploy pantsir" + +[[step]] +command = "airdef deploy gepard" + +[[step]] +command = "airdef deploy nasams" + +[[step]] +command = "airdef deploy irist" + +[[step]] +command = "airdef deploy tor" + +[[step]] +command = "airdef deploy s400" + +[[step]] +command = "airdef wave oreshnik 40 2600" + +[[step]] +ticks = 100 +frames = 50 + +[[step]] +command = "airdef wave oreshnik 40 2600" +expect.chat = [] + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +ticks = 10 +frames = 10 + +[[step]] +command = "airdef stats" +expect.feedback = "В воздухе: 184, ракет: 10, ПВО: 64, сбито: 777, поражений: 1499, разбились о препятствия: 0; удары по ПУ: пущено 0, уничтожено 0, подавлено 0, промахов 0, сбито ПВО 0; мир: 5353 секций (250 КБ), запросов 14405, неизвестно 0, лучей 327428 (ударов 6746, неизв. 213), клеток 2282312; взрывы в блоках: 1586 (подтверждено 0, без перемен 175, нет чанка 1330), чужих ответов 0"