# Battle Result Display Branch Review

`target result object script 0x00454578`의 `+0x62` 결과 플래그 분기를 정리한다.

## 결론

- Target result object script 0x00454578 tests actor sideFlags(+0x62) bit 0x20 first, then bit 0x08.
- The 0x20 branch selects WLK id 12, helper operand 0x05(dec 5), and target frame 0. This is the display/sound branch paired with the full miss / HP-apply skip bit.
- The 0x08 branch selects WLK id 11, helper operand 0x16(dec 22), and target frame 0. This is the display/sound branch paired with the guard/glancing chip-damage bit.
- The normal branch falls through to helper operand 0x02(dec 2) and target frame 4; the 0x004545d0 frame-4 shake loop is a static continuation block.
- The helper label/effect binding is now grounded in battle_result_helper_label_review: 0x05 directly renders btl_etc MISS F81 and 0x16 runs btl_efc F56..59.

## Branches

| Case | Flag | Script VA | Effect | WLK | Runner action | Confidence |
|---|---|---|---|---|---|---|
| normal hit | `neither 0x20 nor 0x08` | `0x00454588` | helper 0x02(dec 2), target frame 4 gate 8 | normal result WLK selected earlier by 0xc2 operand | show normal hit frame/shake path and damage number from +0x6e | 확정 |
| 0x20 full miss / HP apply skip | `target +0x62 & 0x20` | `0x00454578 -> 0x0045459c` | WLK id 12, helper 0x05(dec 5), helper body direct btl_etc MISS F81, target frame 0 gate 8 | WLK id 12 from target result script, while normal 0xc2 sound is suppressed by mask 0x28 | do not apply/show damage; show MISS badge from btl_etc frame 81 and route to miss-style target result branch | 확정 |
| 0x08 guard/glancing chip damage | `target +0x62 & 0x08` | `0x00454580 -> 0x004545b4` | WLK id 11, helper 0x16(dec 22), btl_efc F56..59, target frame 0 gate 8 | WLK id 11 from target result script, while normal 0xc2 sound is suppressed by mask 0x28 | show 1..3 guard/glancing chip result from +0x6e with branch-specific WLK/helper effect; do not show MISS label and keep target on normal frame | 확정 |
| hit-frame4 shake loop | `normal result continuation / repeated hit display` | `0x004545d0` | target frame 4 held with shake-style arithmetic writes | no separate WLK in this block | keep target in hit frame and shake during repeated-hit windows | 정적 분기 + 오프닝 자동 재생 보조 확인 |

## Runner Rules

| Priority | Rule | Reason |
|---:|---|---|
| 1 | If target has 0x20, skip HP apply and suppress the skill normal result WLK; execute target branch WLK id 12/helper 0x05(dec 5)/frame0. | 0x4340ae returns before HP apply, and target result script tests 0x20 first. |
| 2 | If target has 0x08, use +0x6e=1..3, suppress the skill normal result WLK, then execute WLK id 11/helper 0x16(dec 22)/frame0 without MISS text. | 0x43414d sets 1..3 and clears +0x6c, while 0x40ef1b suppresses normal sound through mask 0x28. |
| 3 | If attacker has 0x10 and was not downgraded, alternate sound/effect is consumed before normal branch handling. | 0x40ef1b checks 0x10 first, spawns 0x402321, and clears 0x10. |
| 4 | Otherwise use skill 0xc2 normal result WLK and normal target frame4/shake path. | Target result script falls through to helper 0x02(dec 2)/frame4, and static continuation block 0x004545d0 handles the repeated-hit shake path. |

## Target Script Evidence

| VA | Opcode | Bytes | Summary |
|---|---|---|---|
| `0x00454578` | `0x13` | `13 c6 62 20 9c 45 45 00` | if mode=0xc6 field=0x62 mask/value=0x20 -> 0x0045459c |
| `0x00454580` | `0x13` | `13 c6 62 08 b4 45 45 00` | if mode=0xc6 field=0x62 mask/value=0x08 -> 0x004545b4 |
| `0x00454588` | `0xbd` | `bd 02 00 00` | helper id 0x02 |
| `0x0045458c` | `0x21` | `21 01 08 00 00 00 04 00` | set target frame=4, gate=8, mode=1 |
| `0x0045459c` | `0x24` | `24 01 00 0c` | effect/cast cue WLK id 12 |
| `0x004545a0` | `0xbd` | `bd 05 00 00` | helper id 0x05 |
| `0x004545a4` | `0x21` | `21 01 08 00 00 00 00 00` | set target frame=0, gate=8, mode=1 |
| `0x004545b4` | `0x24` | `24 01 00 0b` | effect/cast cue WLK id 11 |
| `0x004545b8` | `0xbd` | `bd 16 00 00` | helper id 0x16 |
| `0x004545bc` | `0x21` | `21 01 08 00 00 00 00 00` | set target frame=0, gate=8, mode=1 |
| `0x004545c4` | `0xad` | `ad 00 00 00 04 00 00 00` | actor flag mode=0x00, mask=0x00000004 |
| `0x004545d8` | `0x21` | `21 01 08 00 00 00 04 00` | set target frame=4, gate=8, mode=1 |
| `0x004545e0` | `0xbd` | `bd 07 00 00` | helper id 0x07 |
| `0x0045462c` | `0xad` | `ad 00 00 00 20 00 00 00` | actor flag mode=0x00, mask=0x00000020 |
