From 917083275dfa88b97c3ffe11dfe8f1d689751f6e Mon Sep 17 00:00:00 2001 From: Sylpheed RE agent Date: Tue, 25 Aug 2026 13:17:47 +0000 Subject: [PATCH] re: Stage 02 phase 1 watches 27 Turrets in ADN110/111/112 Resolving the three squadrons the phase-1 script condition polls against the roster: all three are phase-1 (route-name map), all fly UN_e007_ADAN_Turret, all n=9, all on Formation_ADAN_Turret09_30 -- so the condition watches 27 Turrets. Three layers agree independently: route names say phase 1, the roster says what they fly and how many, and the script polls exactly those three before latching set_flag(8). Also confirms on the data that 'Turret' is a craft type, not ship-mounted AA: UN_e007_ADAN_Turret is flown by AI_ADAN_CraftSquadron_Rookie/_Veteran in a 30-slot craft formation, never AI_Structure. --- docs/re/mission-phase-membership.md | 36 +++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/docs/re/mission-phase-membership.md b/docs/re/mission-phase-membership.md index 847bcf4d..6076583b 100644 --- a/docs/re/mission-phase-membership.md +++ b/docs/re/mission-phase-membership.md @@ -176,3 +176,39 @@ Offsets 88 and 120 are far too common (2091 and 5228 instructions image-wide, mostly stack frames) for an offset search to isolate the register files. **Who reads the flags is still unknown**, so the chain `set_flag(8) → … → END_PHASE` has a gap in the middle. + + +## ✅ 2026-08-25 — Stage 02 phase 1: destroy 27 Turrets (ADN110/111/112) + +Resolving the three squadrons the phase-1 condition polls +([isl-builtins](structures/isl-builtins.md), `unit_state` at `0xF524`) against +the roster: + +| squadron | phases | AI | unit | `n` | +|---|---|---|---|---| +| ADN110 | **1** | `AI_ADAN_CraftSquadron_Rookie` | `UN_e007_ADAN_Turret` | 9 | +| ADN111 | **1** | `AI_ADAN_CraftSquadron_Veteran` | `UN_e007_ADAN_Turret` | 9 | +| ADN112 | **1** | `AI_ADAN_CraftSquadron_Rookie` | `UN_e007_ADAN_Turret` | 9 | + +All three are **phase 1** (from the `Route_S02` name map), all fly the same +craft, all `n = 9` — so the condition watches **27 Turrets**, and all three +squadrons share `Formation_ADAN_Turret09_30`. + +Three independent layers agree here, which is the point worth recording: the +**route names** say these are phase-1 squadrons, the **roster** says what they +fly and how many, and the **script** polls exactly these three before latching +`set_flag(8)`. + +### ✅ Confirms "Turret" is a craft type, not ship AA + +The user's correction stands on the data: `UN_e007_ADAN_Turret` is flown by +`AI_ADAN_CraftSquadron_Rookie`/`_Veteran` — a *craft squadron* AI, in a +30-slot craft formation — never `AI_Structure`. It is an enemy the player fights, +not a gun bolted to a capital ship. + +### 🟡 The prediction to test + +If phase 1 clears on those three squadrons dying, then destroying **27 Turrets** +while the escort survives should push `[ScriptMission+40]` to 2 and make +`ChangePhase` write the mirror at `[*(0x828F35F8)+236]`. Two runs so far killed +whatever was nearest and never advanced.