스테이지의 각 이벤트는 16비트 워드의 나열입니다. 명령 오프코드 3D31–3D79 뒤에 그 오퍼랜드가 오고, 조건 3E00–3E1D가 if 블록을 이루며, 컨텍스트 마커 3DD0–3DDB가 현재 주인공의 루트나 선택지에 따라 실행할 구간을 고르고, FFFF로 이벤트가 끝납니다. 미니 스테이지에서는 명령을 {"op": "3D45", "args": [1]}처럼 쓰며, 조건과 마커도 같은 방식으로 씁니다.
이 페이지는 config/data/original-jp-v1.json의 stage_scripts 테이블에서 생성됩니다. “코드 확인”은 게임의 핸들러에서 의미를 확인했다는 뜻이고, “구조 확인”은 무엇을 읽고 쓰는지는 알지만 무엇을 위한 것인지는 아직 완전히 알지 못한다는 뜻입니다.
구현 근거(각 항목이 어떤 게임 코드에 기반하는지)와 게임 내 확인 결과는 중국어로 기록되어 있습니다. 각 항목에서 중국어 페이지의 해당 위치로 링크합니다.
이벤트 타입
이벤트의 타입에 따라 언제 검사되는지, 그리고 네 개의 발동 파라미터(header)를 어떻게 읽는지가 정해집니다.
| 타입 | 이름 | 검사 시점 | 발동 파라미터 |
|---|---|---|---|
| 0 | 턴 시작 | 페이즈 0 | 1. 턴 수: 현재 턴 ≥ 이 값 2. 페이즈: 현재 페이즈 8010F5E8과 같아야 함(1 아군 / 2 적) 3. 예약 4. 예약 |
| 1 | 지연 카운트(3D52로 시작) | 페이즈 0 | 1. 초기 상태: 실행 중에 3D52가 0xFD로 바꿔 씀 2. 페이즈: 실행 중에 3D52가 바꿔 씀; 4 = 제한 없음 3. 예약 4. 예약 |
| 2 | 기체 파괴 / 철수 | 항상 | 1. 게이트 변수: 100–115는 변수가 3인 동안 이벤트가 발동하지 않음(8009DE7C가 각 스테이지 시작 시 100–114를 3으로 설정하며, 스크립트가 0을 써서 활성화); 다른 번호는 검사하지 않음; 0은 게이트 없음 2. 캐릭터: 이 캐릭터가 탄 기체의 HP가 0%가 됨 3. 예약 4. 예약 |
| 3 | HP가 비율 이하 | 항상 | 1. 캐릭터: 캐릭터 138은 특례로, 그 기체의 HP < 11일 때만 계속 2. 비율: HP% ≤ 이 값이고 맵 위 3. 예약 4. 예약 |
| 4 | 전투 이벤트(전투 후, 페이즈 7) | 페이즈 7 | 1. 캐릭터 A: 0 = 제한 없음 2. 캐릭터 B: 0 = 제한 없음 3. 예약 4. 예약 |
| 5 | 전투 이벤트(전투 전, 페이즈 4) | 페이즈 4 | 1. 캐릭터 A: 0 = 제한 없음 2. 캐릭터 B: 0 = 제한 없음 3. 예약 4. 예약 |
| 6 | 적 전멸 | 항상 | 1. 마지막 턴: 현재 턴(0부터) ≤ 이 값인 동안만 발동; 현재 턴보다 작아지면 8009E834가 바로 반환 2. 페이즈: 4 = 제한 없음 3. 예약 4. 예약 |
| 7 | 한 소속의 남은 기체 수 | 항상 | 1. 소속 선택: 2 → 제3세력 수 0x9B2, 그 밖에는 적의 수 0x9B1 2. 최대 수: 남은 수 ≤ 이 값 3. 페이즈: 4 = 제한 없음 4. 게이트 변수: 100–115는 변수가 3인 동안 이벤트가 발동하지 않음(8009DE7C가 각 스테이지 시작 시 100–114를 3으로 설정하며, 스크립트가 0을 써서 활성화); 다른 번호는 검사하지 않음 |
| 8 | 구역 도달(3D57로 활성화) | 페이즈 0, 페이즈 1, 페이즈 2, 페이즈 6 | 1. 턴 또는 모드: 숫자 = 현재 턴 ≥ 이 값; 0xFF = 도달 시 발동; 0xFE = 아군이 모두 떠남 2. 대상: N×1000 + 캐릭터(또는 500 + 소속; 21 = 맵 위에 있는 목록의 첫 캐릭터) 3. x 범위: x0×10 + 너비 4. y 범위: y0×10 + 높이 |
| 9 | 설득(0x992, 페이즈 6) | 페이즈 0, 페이즈 1, 페이즈 2, 페이즈 6 | 1. 설득하는 쪽: 800A4634가 등록 순서대로, 아직 실행하지 않았고 게이트를 만족하며 두 캐릭터가 상하좌우로 인접한 첫 슬롯을 찾아 engine+0x992에 씀 2. 대상: 대상은 어느 소속이든 가능 3. 게이트 변수: 0xFFF8(−8)은 게이트 없음; 그 밖에는 변수가 게이트 값과 같을 때만 설득이 나타남. 스테이지를 넘나드는 여러 단계의 설득은 이것으로 이어짐 4. 게이트 값 |
| 10 | 등록되지만 검사되지 않음 | 없음 | 1. 예약 2. 예약 3. 예약 4. 예약 |
| 11 | 등록되지만 검사되지 않음 | 없음 | 1. 예약 2. 예약 3. 예약 4. 예약 |
| 12 | 오프닝 이벤트(페이즈 C1) | engine+4 = 0xC1 | 1. 예약 2. 예약 3. 예약 4. 예약 |
| 13 | 페이즈 C2 이벤트(초기 배치) | engine+4 = 0xC2 | 1. 예약 2. 예약 3. 예약 4. 예약 |
| 14 | 엔딩 이벤트(페이즈 C3, 3D4A 이후) | engine+4 = 0xC3 | 1. 예약 2. 예약 3. 예약 4. 예약 |
명령
3D31 · 월드맵: 지점에 배치(3D32와 같은 핸들러)
오퍼랜드(1워드) · 코드 확인 · 핸들러 0x800A0E64
- 지점 —
world_location
3D32 · 월드맵: 지점에 배치
오퍼랜드(1워드) · 코드 확인 · 핸들러 0x800A0E64
- 지점 —
world_location
3D33 · 월드맵: 지점으로 이동
오퍼랜드(1워드) · 코드 확인 · 핸들러 0x800A0EFC
- 지점 —
world_location
3D34 · 맵 전환 후 위치로 스크롤(맵, x, y, 종류)
오퍼랜드(4워드) · 코드 확인 · 핸들러 0x8009F6FC
- 맵 —
map: 맵 번호(base:map_assets; 8010F5EE에 씀) - x —
x: 칸 x - y —
y: 칸 y - 종류 —
raw: 미해명
3D35 · 카메라를 위치로 스크롤(위치, 대기 플래그)
오퍼랜드(2워드) · 코드 확인 · 핸들러 0x800A03E8
- 위치 —
position: 상위 바이트 x / 하위 바이트 y; 0x40–0x44는 3D54가 기억한 위치 기준 상대값 - 대기 플래그 —
raw: 미해명
3D36 · 화면 흔들기(강도)
오퍼랜드(1워드) · 코드 확인 · 핸들러 0x8009F880
- 강도 —
raw: 미해명
3D37 · 맵 이펙트 오버레이(이펙트, 위치)
오퍼랜드(2워드) · 코드 확인 · 핸들러 0x8009FF2C
- 이펙트 —
raw: 미해명 - 위치 —
position: 상위 바이트 x / 하위 바이트 y; 0x40–0x44는 3D54가 기억한 위치 기준 상대값
3D38 · 대기(프레임)
오퍼랜드(1워드) · 코드 확인 · 핸들러 0x800A00F0
- 프레임 —
count: 개수
3D39 · 효과음 재생
오퍼랜드(1워드) · 코드 확인 · 핸들러 0x8009FA4C
- 효과음 —
se: 효과음 번호
3D3A · BGM 재생(0 = 정지)
오퍼랜드(1워드) · 코드 확인 · 핸들러 0x8009FA70
- 곡 —
bgm: 곡 번호
3D3B · 화면 페이드(모드)
오퍼랜드(1워드) · 코드 확인 · 핸들러 0x8009F948
- 모드 —
raw: 미해명
3D3C · 기체를 위치로 이동(파일럿, 위치)
오퍼랜드(2워드) · 코드 확인 · 핸들러 0x800A0360
- 파일럿 —
actor: 캐릭터 번호(base:actors) - 위치 —
position: 상위 바이트 x / 하위 바이트 y; 0x40–0x44는 3D54가 기억한 위치 기준 상대값
3D3D · 출격(–, –, –, 수: 0 = 모함 선택, 200 = 전부 자동, 그 밖에는 선택 상한; 기준 그룹)
오퍼랜드(5워드) · 코드 확인 · 핸들러 0x800A09D0
- 예약(원본 스크립트는 기준 x를 복사) —
raw: 미해명 - 예약(원본 스크립트는 기준 y를 복사) —
raw: 미해명 - 파라미터(원본 스크립트에서는 항상 0) —
raw: 미해명 - 수(0 모함 / 200 자동 / 그 밖에는 상한) —
raw: 미해명 - 기준 그룹 —
group: 출격 레코드 그룹
3D3E · 대사 · 표시 모드 0
오퍼랜드(1워드) · 대사 표시 모드 0 · 코드 확인 · 핸들러 0x8009F654
- 텍스트 —
text: 테이블 0의 텍스트 번호
3D3F · 대사 · 표시 모드 1
오퍼랜드(1워드) · 대사 표시 모드 1 · 코드 확인 · 핸들러 0x8009F670
- 텍스트 —
text: 테이블 0의 텍스트 번호
3D40 · 대사 · 표시 모드 2
오퍼랜드(1워드) · 대사 표시 모드 2 · 코드 확인 · 핸들러 0x8009F68C
- 텍스트 —
text: 테이블 0의 텍스트 번호
3D41 · 대사 · 표시 모드 3
오퍼랜드(1워드) · 대사 표시 모드 3 · 코드 확인 · 핸들러 0x8009F6A8
- 텍스트 —
text: 테이블 0의 텍스트 번호
3D42 · 대사 · 표시 모드 4
오퍼랜드(1워드) · 대사 표시 모드 4 · 코드 확인 · 핸들러 0x8009F6C4
- 텍스트 —
text: 테이블 0의 텍스트 번호
3D43 · 대사 · 표시 모드 5
오퍼랜드(1워드) · 대사 표시 모드 5 · 코드 확인 · 핸들러 0x8009F6E0
- 텍스트 —
text: 테이블 0의 텍스트 번호
3D44 · 선택지 표시(창 슬롯, 선택지 수, 선택지 텍스트)
오퍼랜드(3워드) · 코드 확인 · 핸들러 0x8009FA94
- 창 슬롯 —
raw: 미해명 - 선택지 수 —
count: 개수 - 선택지 텍스트 —
text: 테이블 0의 텍스트 번호
3D45 · 레코드 그룹 출격(등장)
오퍼랜드(1워드) · 코드 확인 · 핸들러 0x8009FC04
- 그룹 —
group: 출격 레코드 그룹
3D46 · 기체 철수(캐릭터 또는 그룹, 즉시)
오퍼랜드(2워드) · 코드 확인 · 핸들러 0x8009FDC4
- 캐릭터 또는 그룹 —
actor_or_group: 500 미만은 캐릭터 번호, 500부터는 그룹(값 − 500) - 즉시 —
bool: 스위치
3D47 · 대사 창을 닫고 32프레임 대기
오퍼랜드 없음 · 코드 확인 · 핸들러 0x800A013C
3D48 · 대사 창 닫기
오퍼랜드 없음 · 코드 확인 · 핸들러 0x800A0194
3D49 · 연출 전투 장면(전투 항목 A, 전투 항목 B)
오퍼랜드(2워드) · 코드 확인 · 핸들러 0x800A10F0
- 전투 항목 A —
battle_entry - 전투 항목 B —
battle_entry
3D4A · 스테이지 승리
오퍼랜드 없음 · 코드 확인 · 핸들러 0x800A01CC
3D4B · 다음 장면 설정(500 = 8010F5F2 복원)
오퍼랜드(1워드) · 코드 확인 · 핸들러 0x800A0260
- 장면 —
scene: 장면
3D4C · 게임 오버
오퍼랜드 없음 · 코드 확인 · 핸들러 0x800A02E0
3D4D · 월드맵에서 전장으로 전환
오퍼랜드 없음 · 코드 확인 · 핸들러 0x800A031C
3D4E · 창을 닫고 1프레임 양보
오퍼랜드 없음 · 코드 확인 · 핸들러 0x800A0468
3D4F · 기체 파괴(캐릭터 또는 그룹)
오퍼랜드(1워드) · 코드 확인 · 핸들러 0x8009FE9C
- 캐릭터 또는 그룹 —
actor: 캐릭터 번호(base:actors)
3D50 · 기체 변형(캐릭터, 변형 전 기체, 변형 후 기체)
오퍼랜드(3워드) · 코드 확인 · 핸들러 0x800A04AC
- 캐릭터 —
actor: 캐릭터 번호(base:actors) - 변형 전 기체 —
unit: 기체 번호(base:units) - 변형 후 기체 —
unit: 기체 번호(base:units)
3D51 · MAP 무기 발사(캐릭터, 기체, MAP 무기, 방향, –)
오퍼랜드(5워드) · 코드 확인 · 핸들러 0x800A051C
- 캐릭터 —
actor: 캐릭터 번호(base:actors) - 기체 —
unit: 기체 번호(base:units) - MAP 무기 —
weapon - 방향 —
raw: 미해명 - – —
raw: 미해명
3D52 · 지연 카운트 이벤트 시작(슬롯, 턴 수, 페이즈)
오퍼랜드(3워드) · 코드 확인 · 핸들러 0x800A05D0
- 타입 1 슬롯 —
event_slot_type1: 이 장면에서 타입 1 이벤트의 등록 번호 - 턴 수 —
count: 개수 - 페이즈 —
side: 페이즈 1 아군 / 2 적 / 3 제3세력(4 = 제한 없음)
3D53 · 지연 카운트 이벤트 정지(슬롯)
오퍼랜드(1워드) · 코드 확인 · 핸들러 0x800A0638
- 타입 1 슬롯 —
event_slot_type1: 이 장면에서 타입 1 이벤트의 등록 번호
3D54 · 캐릭터의 위치 기억
오퍼랜드(1워드) · 코드 확인 · 핸들러 0x800A0678
- 캐릭터 —
actor: 캐릭터 번호(base:actors)
3D55 · 정신기 사용 / 카메라를 캐릭터로 전환(캐릭터, 정신기 또는 30)
오퍼랜드(2워드) · 코드 확인 · 핸들러 0x800A0714
- 캐릭터 —
actor: 캐릭터 번호(base:actors) - 정신기 —
spirit
3D56 · 녹색 목표 구역 강조 표시(인코딩된 모서리 A, 인코딩된 모서리 B, –)
오퍼랜드(3워드) · 코드 확인 · 핸들러 0x800A0780
- 모서리 A —
raw: 미해명 - 모서리 B —
raw: 미해명 - 예약 —
raw: 미해명
3D57 · 구역 도달 이벤트 슬롯 활성화(슬롯, 값)
오퍼랜드(2워드) · 코드 확인 · 핸들러 0x800A0BD0
- 타입 8 슬롯 —
event_slot_type8: 이 장면에서 타입 8 이벤트의 등록 번호 - 값 —
bool: 스위치
3D58 · 기체의 소속 변경(캐릭터, 새 소속)
오퍼랜드(2워드) · 코드 확인 · 핸들러 0x800A0C14
- 캐릭터 —
actor: 캐릭터 번호(base:actors) - 새 소속 —
raw: 미해명
3D59 · 출격 금지(캐릭터; 500 이상은 500 + 기체 번호)
오퍼랜드(1워드) · 코드 확인 · 핸들러 0x800A0C80
- 캐릭터 또는 500 + 기체 —
raw: 미해명
3D5A · 부대 편성 변경(캐릭터, 파라미터, 기체, 모드 / 이전 기체)
오퍼랜드(4워드) · 코드 확인 · 핸들러 0x800A0B3C
- 캐릭터 —
actor: 캐릭터 번호(base:actors) - 파라미터 —
raw: 미해명 - 기체 —
unit: 기체 번호(base:units) - 모드 / 이전 기체 —
raw: 미해명
3D5B · 자금 추가: 파라미터 × 1000
오퍼랜드(1워드) · 코드 확인 · 핸들러 0x800A0D24
- 천 단위 —
value: 번호
3D5C · 합체 / 분리(캐릭터, 1 = 합체, 0 = 분리)
오퍼랜드(2워드) · 코드 확인 · 핸들러 0x800A0D68
- 캐릭터 —
actor: 캐릭터 번호(base:actors) - 모드 —
raw: 미해명
3D5D · 합체 로봇의 형태 설정(1 = 합체, 0 = 분리; 계열 0 = 단쿠가, 1 = 컴배틀러 V)
오퍼랜드(2워드) · 코드 확인 · 핸들러 0x800A1010
- 형태 —
raw: 미해명 - 계열 —
raw: 미해명
3D5E · 부대 이름 입력 화면 열기
오퍼랜드 없음 · 코드 확인 · 핸들러 0x800A1050
3D5F · 모든 파일럿의 기력 −30(최소 50)
오퍼랜드(1워드) · 코드 확인 · 핸들러 0x800A1078
- 파라미터 —
raw: 미해명
3D60 · 아군 기체 정렬 배치(시작 x, 시작 y, 줄당 수)
오퍼랜드(3워드) · 코드 확인 · 핸들러 0x800A10AC
- x —
x: 칸 x - y —
y: 칸 y - 줄당 수 —
count: 개수
3D61 · “아군 전멸 시 패배” 판정 일시 중지(스위치)
오퍼랜드(1워드) · 코드 확인 · 핸들러 0x800A1328
- 일시 중지 —
bool: 스위치
3D62 · 캐릭터의 신원 교체(캐릭터 → 캐릭터)
오퍼랜드(2워드) · 코드 확인 · 핸들러 0x800A1224
- 이전 캐릭터 —
actor: 캐릭터 번호(base:actors) - 새 캐릭터 —
actor: 캐릭터 번호(base:actors)
3D63 · 착지 / 이륙(캐릭터)
오퍼랜드(1워드) · 코드 확인 · 핸들러 0x800A1264
- 캐릭터 —
actor: 캐릭터 번호(base:actors)
3D64 · 부파일럿 하차(캐릭터; 500,500 = 아이샤가 마나미의 모함으로 이동)
오퍼랜드(2워드) · 코드 확인 · 핸들러 0x800A12CC
- 캐릭터 —
actor: 캐릭터 번호(base:actors) - 모드 —
raw: 미해명
3D65 · 승리 / 패배 조건 설정(승리, 패배)
오퍼랜드(2워드) · 코드 확인 · 핸들러 0x800A1360
- 승리 조건 —
victory_condition - 패배 조건 —
defeat_condition
3D66 · 대사 중 카메라를 화자로 옮기지 않음(스위치)
오퍼랜드(1워드) · 코드 확인 · 핸들러 0x800A13A4
- 화자를 따라가지 않음 —
bool: 스위치
3D67 · 파워업 / 합체 장면(장면 번호)
오퍼랜드(1워드) · 코드 확인 · 핸들러 0x800A13F0
- 장면 번호 —
raw: 미해명
3D68 · 카메라를 선택한 기체로 되돌리기
오퍼랜드 없음 · 코드 확인 · 핸들러 0x800A1458
3D69 · 기체의 행동 상태 설정(캐릭터, 1 = 행동 가능, 0 = 행동 불가)
오퍼랜드(2워드) · 코드 확인 · 핸들러 0x800A14A4
- 캐릭터 —
actor: 캐릭터 번호(base:actors) - 행동 상태 —
raw: 미해명
3D6A · 갓마즈 합체(모드)
오퍼랜드(1워드) · 코드 확인 · 핸들러 0x800A14E4
- 모드 —
raw: 미해명
3D6B · 선택 표시(캐릭터, 기체, 1 = 설정, 0 = 해제)
오퍼랜드(3워드) · 코드 확인 · 핸들러 0x800A158C
- 캐릭터 —
actor: 캐릭터 번호(base:actors) - 기체 —
unit: 기체 번호(base:units) - 스위치 —
raw: 미해명
3D6C · 기체의 개조 단계 설정(기체, 단계)
오퍼랜드(2워드) · 코드 확인 · 핸들러 0x800A15D0
- 기체 —
unit: 기체 번호(base:units) - 단계 —
value: 번호
3D6D · 현재 페이즈를 1(아군 페이즈)로 설정
오퍼랜드(1워드) · 코드 확인 · 핸들러 0x800A1610
- 파라미터 —
raw: 미해명
3D6E · 기체 철수(캐릭터)
오퍼랜드(1워드) · 코드 확인 · 핸들러 0x800A1644
- 캐릭터 —
actor: 캐릭터 번호(base:actors)
3D6F · 무기 해금(무기 번호)
오퍼랜드(1워드) · 코드 확인 · 핸들러 0x800A1680
- 무기 —
raw: 미해명
3D70 · 부파일럿 추가(파일럿, 부파일럿)
오퍼랜드(2워드) · 코드 확인 · 핸들러 0x800A16BC
- 파일럿 —
actor: 캐릭터 번호(base:actors) - 부파일럿 —
actor: 캐릭터 번호(base:actors)
3D71 · 엔딩으로 이동(돌아오지 않음)
오퍼랜드 없음 · 코드 확인 · 핸들러 0x800A02B8
3D72 · 월드맵 이동 수단 설정(이동 수단)
오퍼랜드(1워드) · 코드 확인 · 핸들러 0x800A0FCC
- 이동 수단 —
raw: 미해명
3D73 · 부대 분할: 미리 정한 목록으로 선택(1 = 목록 A, 0 = 목록 B)
오퍼랜드(1워드) · 코드 확인 · 핸들러 0x800A16FC
- 목록 —
raw: 미해명
3D74 · 부대 분할 선택 표시 모두 해제
오퍼랜드 없음 · 코드 확인 · 핸들러 0x800A1924
3D75 · 모함에서 기체 발진(캐릭터; 함장이면 함 전체가 발진, 999 = 46 브라이트)
오퍼랜드(1워드) · 코드 확인 · 핸들러 0x800A197C
- 캐릭터(함장이면 함 전체가 발진; 999 = 46) —
actor: 캐릭터 번호(base:actors)
3D76 · 핸들러 없음
오퍼랜드 없음 · 코드 확인
3D77 · 핸들러 없음
오퍼랜드 없음 · 코드 확인
3D78 · 아무 동작 없음(도달 불가)
오퍼랜드 없음 · 코드 확인 · 핸들러 0x800A01BC
3D79 · 아무 동작 없음(도달 불가)
오퍼랜드 없음 · 코드 확인 · 핸들러 0x800A01C4
조건
조건은 ACC 레지스터와 변수를 검사하고 설정합니다. “시작”은 블록을 열며, 거짓이면 스크립트는 대응하는 “블록 끝”(3E1D)까지 건너뜁니다. 블록은 중첩할 수 있습니다.
3E00 · ACC = 0
오퍼랜드 없음 · 종류: 문 · 코드 확인 · 핸들러 0x800A2388
3E01 · 캐릭터의 HP 비율 < 기준값(이고 맵 위)이면 ACC = 값
오퍼랜드(3워드) · 종류: 시작 · 코드 확인 · 핸들러 0x800A1FBC
- 캐릭터 —
actor: 캐릭터 번호(base:actors) - 비율 —
value: 번호 - ACC 값 —
value: 번호
3E02 · 변수 ≠ 값이면
오퍼랜드(2워드) · 종류: 시작 · 코드 확인 · 핸들러 0x800A207C
- 변수 —
flag: 2비트 변수 0–199 - 값 —
value: 번호
3E03 · 변수 = 값이면 ACC = 값 2
오퍼랜드(3워드) · 종류: 시작 · 코드 확인 · 핸들러 0x800A20C4
- 변수 —
flag: 2비트 변수 0–199 - 값 —
value: 번호 - ACC 값 —
value: 번호
3E04 · 현재 턴 < 턴 수이면 ACC = 값
오퍼랜드(2워드) · 종류: 시작 · 코드 확인 · 핸들러 0x800A2344
- 턴 수 —
value: 번호 - ACC 값 —
value: 번호
3E05 · 항상 참(미구현)
오퍼랜드 없음 · 종류: 시작 · 코드 확인
3E06 · ACC = !(레벨[캐릭터 A] < 레벨[캐릭터 B])
오퍼랜드(2워드) · 종류: 문 · 코드 확인 · 핸들러 0x800A22CC
- 캐릭터 A —
actor: 캐릭터 번호(base:actors) - 캐릭터 B —
actor: 캐릭터 번호(base:actors)
3E07 · 항상 참(미구현)
오퍼랜드 없음 · 종류: 시작 · 코드 확인
3E08 · ACC = 값이면
오퍼랜드(1워드) · 종류: 시작 · 코드 확인 · 핸들러 0x800A23C4
- 값 —
value: 번호
3E09 · ACC ≥ 값이면
오퍼랜드(1워드) · 종류: 시작 · 코드 확인 · 핸들러 0x800A23EC
- 값 —
value: 번호
3E0A · ACC ≠ 값이면
오퍼랜드(1워드) · 종류: 시작 · 코드 확인 · 핸들러 0x800A2438
- 값 —
value: 번호
3E0B · ACC ≥ 값이면
오퍼랜드(1워드) · 종류: 시작 · 코드 확인 · 핸들러 0x800A23EC
- 값 —
value: 번호
3E0C · ACC < 값이면
오퍼랜드(1워드) · 종류: 시작 · 코드 확인 · 핸들러 0x800A2414
- 값 —
value: 번호
3E0D · ACC = 격추 수[캐릭터]
오퍼랜드(1워드) · 종류: 문 · 코드 확인 · 핸들러 0x800A228C
- 캐릭터 —
actor: 캐릭터 번호(base:actors)
3E0E · 변수 = (변수 + 1) mod 4
오퍼랜드(1워드) · 종류: 문 · 코드 확인 · 핸들러 0x800A2198
- 변수 —
flag: 2비트 변수 0–199
3E0F · 변수 = (변수 − 1) mod 4(0 이하이면 3)
오퍼랜드(1워드) · 종류: 문 · 코드 확인 · 핸들러 0x800A220C
- 변수 —
flag: 2비트 변수 0–199
3E10 · 선택지 1을 골랐으면
오퍼랜드 없음 · 종류: 시작 · 코드 확인 · 핸들러 0x800A2394
3E11 · 선택지 2를 골랐으면
오퍼랜드 없음 · 종류: 시작 · 코드 확인 · 핸들러 0x800A23A4
3E12 · 선택지 3을 골랐으면
오퍼랜드 없음 · 종류: 시작 · 코드 확인 · 핸들러 0x800A23B4
3E13 · 변수 = 값
오퍼랜드(2워드) · 종류: 문 · 코드 확인 · 핸들러 0x800A2158
- 변수 —
flag: 2비트 변수 0–199 - 값 —
value: 번호
3E14 · ACC = 값
오퍼랜드(1워드) · 종류: 문 · 코드 확인 · 핸들러 0x800A2138
- 값 —
value: 번호
3E15 · ACC = 한 소속의 기체 수
오퍼랜드(1워드) · 종류: 문 · 코드 확인 · 핸들러 0x800A24FC
- 소속 —
faction: 소속 번호 0 아군 / 1 적 / 2 제3세력
3E16 · ACC = 전투 중인 다른 캐릭터(지정한 캐릭터가 아닌 쪽)
오퍼랜드(1워드) · 종류: 문 · 구조 확인 · 핸들러 0x800A2478
- 캐릭터 —
actor: 캐릭터 번호(base:actors)
3E17 · ACC = engine+0x9B6(부호 있는 바이트)
오퍼랜드 없음 · 종류: 문 · 구조 확인 · 핸들러 0x800A2460
3E18 · ACC = 현재 장면
오퍼랜드 없음 · 종류: 문 · 코드 확인 · 핸들러 0x800A2570
3E19 · engine+0x998 = engine+0x9A8
오퍼랜드 없음 · 종류: 문 · 구조 확인 · 핸들러 0x800A2590
3E1A · ACC = engine+0x998
오퍼랜드 없음 · 종류: 문 · 구조 확인 · 핸들러 0x800A25A0
3E1B · ACC = 캐릭터의 존재 상태(0 없음 / 1 맵 위 / 3 철수)
오퍼랜드(1워드) · 종류: 문 · 코드 확인 · 핸들러 0x800A1F7C
- 캐릭터 —
actor: 캐릭터 번호(base:actors)
3E1C · 무조건 블록 시작(항상 참)
오퍼랜드 없음 · 종류: 시작 · 코드 확인 · 핸들러 0x800A2584
3E1D · 조건 블록 끝
오퍼랜드 없음 · 종류: 블록 끝 · 코드 확인 · 핸들러 0x800A1D60
컨텍스트 마커
마커에 도달했을 때 현재 컨텍스트와 일치하면 스크립트는 그대로 계속하고, 그렇지 않으면 다음에 일치하는 마커나 이벤트 끝까지 건너뜁니다.
| 마커 | 이름 | 일치 조건 |
|---|---|---|
3DD0 |
공통 구간(모든 컨텍스트) | 항상 |
3DD1 |
아크라이트 블루 루트 | 현재 주인공 |
3DD2 |
세레인 메네스 루트 | 현재 주인공 |
3DD3 |
브래드 스카이윈드 루트 | 현재 주인공 |
3DD4 |
마나미 하밀 루트 | 현재 주인공 |
3DD5 |
리얼계 주인공(3DD1/3DD2) | 주인공 분류 |
3DD6 |
슈퍼계 주인공(3DD3/3DD4) | 주인공 분류 |
3DD7 |
남성 주인공(3DD1/3DD3) | 주인공 분류 |
3DD8 |
여성 주인공(3DD2/3DD4) | 주인공 분류 |
3DD9 |
선택지 1 | 선택지 결과 |
3DDA |
선택지 2 | 선택지 결과 |
3DDB |
선택지 3 | 선택지 결과 |
오퍼랜드 타입
오퍼랜드의 타입은 값의 범위를 나타냅니다. 여기에 없는 타입은 오퍼랜드 이름으로 설명합니다.
| 타입 | 의미 |
|---|---|
actor |
캐릭터 번호(base:actors) |
text |
테이블 0의 텍스트 번호 |
unit |
기체 번호(base:units) |
flag |
2비트 변수 0–199 |
scene |
장면 |
group |
출격 레코드 그룹 |
position |
상위 바이트 x / 하위 바이트 y; 0x40–0x44는 3D54가 기억한 위치 기준 상대값 |
x |
칸 x |
y |
칸 y |
count |
개수 |
frames |
프레임 |
se |
효과음 번호 |
bgm |
곡 번호 |
event_slot_type1 |
이 장면에서 타입 1 이벤트의 등록 번호 |
event_slot_type8 |
이 장면에서 타입 8 이벤트의 등록 번호 |
actor_or_group |
500 미만은 캐릭터 번호, 500부터는 그룹(값 − 500) |
bool |
스위치 |
value |
번호 |
side |
페이즈 1 아군 / 2 적 / 3 제3세력(4 = 제한 없음) |
deploy_side |
출격 소속 0/1/2(3 → 0, 4 → 2) |
raw |
미해명 |
faction |
소속 번호 0 아군 / 1 적 / 2 제3세력 |
map |
맵 번호(base:map_assets; 8010F5EE에 씀) |
변수
2비트 변수(값 0–3)가 200개 있으며 0x8015E818에 저장됩니다. 조건으로 읽고 쓰며 스테이지가 바뀌어도 유지됩니다.
출격 레코드(28바이트)
스테이지의 출격 레코드는 기체를 배치하며, 한 건에 하프워드 14개이고 그룹 999에서 끝납니다. “미니 스테이지 필드”는 스테이지 deployments의 해당 필드 이름입니다.
| 오프셋 | 바이트 | 이름 | 미니 스테이지 필드 | 확인 정도 |
|---|---|---|---|---|
+0 |
2 | 그룹 | group |
코드 확인 |
+2 |
2 | x | x |
코드 확인 |
+4 |
2 | y | y |
코드 확인 |
+6 |
2 | 파일럿 | actor |
코드 확인 |
+8 |
1 | 미해명 바이트 | byte8 |
미해명 |
+9 |
1 | 레벨 오프셋 | level_offset |
코드 확인 |
+10 |
2 | 기체 | unit |
코드 확인 |
+12 |
2 | 개조 번호 | upgrade |
코드 확인 |
+14 |
6 | 미해명 | raw14, raw16, raw18 |
미해명 |
+20 |
2 | 소속 | faction |
코드 확인 |
+22 |
2 | 행동 플래그 | behavior |
구조 확인 |
+24 |
2 | 추가 값 | extra |
구조 확인 |
+26 |
2 | 미해명 | raw26 |
미해명 |