{"title":"Battle One-Turn Actor Flag Review","subject":"actor +0x62 bit 0x01","summary":["actor +0x62 bit 0x01 is a short-lived actor latch, not a damage/critical bit.","It is produced by one-turn status results, paralysis cure, and revive consumables.","The action-script gate at 0x40db36 tests mask 0x83, so 0x01 shares skip/branch behavior with timed lock 0x02 and inactive/display-skip 0x80.","The battle-order cleanup at 0x40d95b clears 0x01 after restoring +0x2a from +0x66 and clearing +0x64/+0x66.","Revive consumables intentionally overwrite +0x62 with 0x01, clearing previous 0x40/0x80 knockout/inactive flags while leaving the actor in a one-turn display/action-gated state."],"producerRows":[{"va":4411465,"source":"status result 1","writes":"+0x2a=0x17, +0x64=0, +0x62|=0x01, +0x68=1","meaning":"상태 result 1: 넘어짐. 1턴 행동불가 latch를 세운다.","confidence":"확정: status mapping + bit write"},{"va":4411508,"source":"status result 2","writes":"+0x2a=0x18, +0x64=0, +0x62|=0x01, +0x68=1","meaning":"상태 result 2: 휙 날아감. 1턴 행동불가 latch를 세운다.","confidence":"확정: status mapping + bit write"},{"va":4411551,"source":"status result 3","writes":"+0x2a=0x16, +0x64=0, +0x62|=0x01, +0x68=1","meaning":"상태 result 3: 행동정지. 1턴 행동불가 latch를 세운다.","confidence":"확정: status mapping + bit write"},{"va":4409750,"source":"paralysis cure / antidote path","writes":"+0x62|=0x01, +0x2a=+0x66, +0x66=0, +0x64=0, +0x62&=0xfd","meaning":"마비 해제 시 timed lock 0x02를 지우고 1턴 표시/게이트 latch를 세운다.","confidence":"확정"},{"va":4413568,"source":"refresh water revive prelude","writes":"if +0x62&0x80: restore +0x2a from +0x66, clear +0x66/+0x64, +0x62=0x01","meaning":"기절/비활성 actor를 active actor로 되돌리면서 0x40/0x80을 덮어 지운다.","confidence":"확정"},{"va":4413777,"source":"beast stone revive prelude","writes":"if +0x62&0x80: restore +0x2a from +0x66, clear +0x66/+0x64, +0x62=0x01","meaning":"마수석도 리프레시 워터와 같은 revive latch를 사용한다.","confidence":"확정"}],"consumerRows":[{"va":4250422,"consumer":"action-script current-order gate","test":"test actor+0x62, 0x83","if_set":"context+0x40 = [stream+4]","if_clear":"context+0x40 += 8","meaning":"0x01, 0x02, 0x80 actor는 정상 action script 흐름 대신 branch target으로 간다."},{"va":4249947,"consumer":"battle-order one-turn cleanup","test":"skip 0x80 actors, then test actor+0x62 bit 0x01","if_set":"restore +0x2a from +0x66 when present; clear +0x66/+0x64; actor+0x62 &= 0xfe","if_clear":"no one-turn cleanup","meaning":"0x01은 다음 battle-order pass에서 정리되는 1턴 latch다."}],"relatedFields":[["actor+0x2a","현재 자세/상태 id. 0x16/0x17/0x18 같은 상태 id가 들어간다."],["actor+0x62","전투 actor flag byte. 이 문서는 bit 0x01만 추적한다."],["actor+0x64","상태 timer/counter. 0x01 생산자들은 대체로 0으로 비운다."],["actor+0x66","prior mode/status save slot. cleanup/revive/cure에서 +0x2a 복원에 사용."],["actor+0x68","display/status dirty marker. 상태 후보 생산자가 1로 세운다."],["0x59dd60","battle-order actor count."],["0x59e2b0","battle-order index list."],["0x59db30","actor pointer table."],["0x59e300","current battle-order cursor used by the action gate."]],"evidence":[{"label":"battle-order cleanup consumes +0x62 bit 0x01","range":"0x0040d95b..0x0040da05","lines":["  40d992:\t8b 45 fc             \tmov    eax,DWORD PTR [ebp-0x4]","  40d995:\t33 c9                \txor    ecx,ecx","  40d997:\t8a 48 62             \tmov    cl,BYTE PTR [eax+0x62]","  40d99a:\tf6 c1 80             \ttest   cl,0x80","  40d99d:\t0f 84 05 00 00 00    \tje     0x40d9a8","  40d9a8:\t8b 45 fc             \tmov    eax,DWORD PTR [ebp-0x4]","  40d9ab:\t33 c9                \txor    ecx,ecx","  40d9ad:\t8a 48 62             \tmov    cl,BYTE PTR [eax+0x62]","  40d9b0:\tf6 c1 01             \ttest   cl,0x1","  40d9b3:\t0f 84 3b 00 00 00    \tje     0x40d9f4","  40d9b9:\t8b 45 fc             \tmov    eax,DWORD PTR [ebp-0x4]","  40d9bc:\t33 c9                \txor    ecx,ecx","  40d9be:\t8a 48 66             \tmov    cl,BYTE PTR [eax+0x66]","  40d9c1:\t85 c9                \ttest   ecx,ecx","  40d9c3:\t0f 84 13 00 00 00    \tje     0x40d9dc","  40d9c9:\t8b 45 fc             \tmov    eax,DWORD PTR [ebp-0x4]","  40d9cc:\t8a 40 66             \tmov    al,BYTE PTR [eax+0x66]","  40d9cf:\t8b 4d fc             \tmov    ecx,DWORD PTR [ebp-0x4]","  40d9d2:\t88 41 2a             \tmov    BYTE PTR [ecx+0x2a],al","  40d9d5:\t8b 45 fc             \tmov    eax,DWORD PTR [ebp-0x4]","  40d9d8:\tc6 40 66 00          \tmov    BYTE PTR [eax+0x66],0x0","  40d9dc:\t8b 45 fc             \tmov    eax,DWORD PTR [ebp-0x4]","  40d9df:\tc6 40 64 00          \tmov    BYTE PTR [eax+0x64],0x0","  40d9e3:\t8b 45 fc             \tmov    eax,DWORD PTR [ebp-0x4]","  40d9e6:\t33 c9                \txor    ecx,ecx","  40d9e8:\t8a 48 62             \tmov    cl,BYTE PTR [eax+0x62]","  40d9eb:\t80 e1 fe             \tand    cl,0xfe","  40d9ee:\t8b 45 fc             \tmov    eax,DWORD PTR [ebp-0x4]","  40d9f1:\t88 48 62             \tmov    BYTE PTR [eax+0x62],cl","  40d9f4:\te9 6e ff ff ff       \tjmp    0x40d967","  40d9f9:\t8b 45 08             \tmov    eax,DWORD PTR [ebp+0x8]"]},{"label":"action script gate masks 0x01/0x02/0x80 together","range":"0x0040db36..0x0040db8c","lines":["  40db3e:\t57                   \tpush   edi","  40db3f:\t33 c0                \txor    eax,eax","  40db41:\t66 a1 00 e3 59 00    \tmov    ax,ds:0x59e300","  40db47:\t33 c9                \txor    ecx,ecx","  40db49:\t66 8b 0c 45 b0 e2 59 \tmov    cx,WORD PTR [eax*2+0x59e2b0]","  40db50:\t00 ","  40db51:\t8b 04 8d 30 db 59 00 \tmov    eax,DWORD PTR [ecx*4+0x59db30]","  40db58:\t89 45 fc             \tmov    DWORD PTR [ebp-0x4],eax","  40db5b:\t8b 45 fc             \tmov    eax,DWORD PTR [ebp-0x4]","  40db5e:\t33 c9                \txor    ecx,ecx","  40db60:\t8a 48 62             \tmov    cl,BYTE PTR [eax+0x62]","  40db63:\tf6 c1 83             \ttest   cl,0x83","  40db66:\t0f 84 14 00 00 00    \tje     0x40db80","  40db6c:\t8b 45 08             \tmov    eax,DWORD PTR [ebp+0x8]","  40db6f:\t8b 40 40             \tmov    eax,DWORD PTR [eax+0x40]","  40db72:\t8b 40 04             \tmov    eax,DWORD PTR [eax+0x4]","  40db75:\t8b 4d 08             \tmov    ecx,DWORD PTR [ebp+0x8]","  40db78:\t89 41 40             \tmov    DWORD PTR [ecx+0x40],eax","  40db7b:\te9 07 00 00 00       \tjmp    0x40db87","  40db80:\t8b 45 08             \tmov    eax,DWORD PTR [ebp+0x8]","  40db83:\t83 40 40 08          \tadd    DWORD PTR [eax+0x40],0x8","  40db87:\t5f                   \tpop    edi","  40db88:\t5e                   \tpop    esi"]},{"label":"status results 1..3 produce +0x62 bit 0x01","range":"0x00435039..0x004350c8","lines":["  435044:\te9 b9 00 00 00       \tjmp    0x435102","  435049:\t8b 45 08             \tmov    eax,DWORD PTR [ebp+0x8]","  43504c:\tc6 40 2a 17          \tmov    BYTE PTR [eax+0x2a],0x17","  435050:\t8b 45 08             \tmov    eax,DWORD PTR [ebp+0x8]","  435053:\tc6 40 64 00          \tmov    BYTE PTR [eax+0x64],0x0","  43505a:\t33 c9                \txor    ecx,ecx","  43505c:\t8a 48 62             \tmov    cl,BYTE PTR [eax+0x62]","  43505f:\t80 c9 01             \tor     cl,0x1","  435062:\t8b 45 08             \tmov    eax,DWORD PTR [ebp+0x8]","  435065:\t88 48 62             \tmov    BYTE PTR [eax+0x62],cl","  435068:\t8b 45 08             \tmov    eax,DWORD PTR [ebp+0x8]","  43506b:\tc6 40 68 01          \tmov    BYTE PTR [eax+0x68],0x1","  43506f:\te9 b5 00 00 00       \tjmp    0x435129","  435074:\t8b 45 08             \tmov    eax,DWORD PTR [ebp+0x8]","  435077:\tc6 40 2a 18          \tmov    BYTE PTR [eax+0x2a],0x18","  43507b:\t8b 45 08             \tmov    eax,DWORD PTR [ebp+0x8]","  43507e:\tc6 40 64 00          \tmov    BYTE PTR [eax+0x64],0x0","  435085:\t33 c9                \txor    ecx,ecx","  435087:\t8a 48 62             \tmov    cl,BYTE PTR [eax+0x62]","  43508a:\t80 c9 01             \tor     cl,0x1","  43508d:\t8b 45 08             \tmov    eax,DWORD PTR [ebp+0x8]","  435090:\t88 48 62             \tmov    BYTE PTR [eax+0x62],cl","  435093:\t8b 45 08             \tmov    eax,DWORD PTR [ebp+0x8]","  435096:\tc6 40 68 01          \tmov    BYTE PTR [eax+0x68],0x1","  43509a:\te9 8a 00 00 00       \tjmp    0x435129","  43509f:\t8b 45 08             \tmov    eax,DWORD PTR [ebp+0x8]","  4350a2:\tc6 40 2a 16          \tmov    BYTE PTR [eax+0x2a],0x16","  4350a6:\t8b 45 08             \tmov    eax,DWORD PTR [ebp+0x8]","  4350a9:\tc6 40 64 00          \tmov    BYTE PTR [eax+0x64],0x0","  4350b0:\t33 c9                \txor    ecx,ecx","  4350b2:\t8a 48 62             \tmov    cl,BYTE PTR [eax+0x62]","  4350b5:\t80 c9 01             \tor     cl,0x1","  4350b8:\t8b 45 08             \tmov    eax,DWORD PTR [ebp+0x8]","  4350bb:\t88 48 62             \tmov    BYTE PTR [eax+0x62],cl","  4350be:\t8b 45 08             \tmov    eax,DWORD PTR [ebp+0x8]","  4350c1:\tc6 40 68 01          \tmov    BYTE PTR [eax+0x68],0x1","  4350c5:\te9 5f 00         \tjmp    0x435129"]},{"label":"antidote/paralysis cure sets 0x01 and clears 0x02","range":"0x0043497d..0x00434a45","lines":["  434986:\t8b 45 0c             \tmov    eax,DWORD PTR [ebp+0xc]","  434989:\t33 c9                \txor    ecx,ecx","  43498b:\t8a 48 2a             \tmov    cl,BYTE PTR [eax+0x2a]","  43498e:\t89 4d fc             \tmov    DWORD PTR [ebp-0x4],ecx","  434991:\te9 96 00 00 00       \tjmp    0x434a2c","  434999:\t33 c9                \txor    ecx,ecx","  43499b:\t8a 48 62             \tmov    cl,BYTE PTR [eax+0x62]","  43499e:\t80 c9 01             \tor     cl,0x1","  4349a1:\t8b 45 0c             \tmov    eax,DWORD PTR [ebp+0xc]","  4349a4:\t88 48 62             \tmov    BYTE PTR [eax+0x62],cl","  4349a7:\t8b 45 0c             \tmov    eax,DWORD PTR [ebp+0xc]","  4349aa:\t8a 40 66             \tmov    al,BYTE PTR [eax+0x66]","  4349ad:\t8b 4d 0c             \tmov    ecx,DWORD PTR [ebp+0xc]","  4349b0:\t88 41 2a             \tmov    BYTE PTR [ecx+0x2a],al","  4349b3:\t8b 45 0c             \tmov    eax,DWORD PTR [ebp+0xc]","  4349b6:\tc6 40 66 00          \tmov    BYTE PTR [eax+0x66],0x0","  4349ba:\t8b 45 0c             \tmov    eax,DWORD PTR [ebp+0xc]","  4349bd:\tc6 40 64 00          \tmov    BYTE PTR [eax+0x64],0x0","  4349c1:\t8b 45 0c             \tmov    eax,DWORD PTR [ebp+0xc]","  4349c4:\t33 c9                \txor    ecx,ecx","  4349c6:\t8a 48 62             \tmov    cl,BYTE PTR [eax+0x62]","  4349c9:\t80 e1 fd             \tand    cl,0xfd","  4349cc:\t8b 45 0c             \tmov    eax,DWORD PTR [ebp+0xc]","  4349cf:\t88 48 62             \tmov    BYTE PTR [eax+0x62],cl"]},{"label":"revive consumables overwrite +0x62 with 0x01","range":"0x0043583c..0x00435992","lines":["  435845:\t33 c9                \txor    ecx,ecx","  435847:\t8a 48 62             \tmov    cl,BYTE PTR [eax+0x62]","  43584a:\tf6 c1 80             \ttest   cl,0x80","  43584d:\t0f 84 31 00 00 00    \tje     0x435884","  435853:\t8b 45 0c             \tmov    eax,DWORD PTR [ebp+0xc]","  435856:\t33 c9                \txor    ecx,ecx","  435858:\t8a 48 66             \tmov    cl,BYTE PTR [eax+0x66]","  43585b:\t85 c9                \ttest   ecx,ecx","  43585d:\t0f 84 13 00 00 00    \tje     0x435876","  435863:\t8b 45 0c             \tmov    eax,DWORD PTR [ebp+0xc]","  435866:\t8a 40 66             \tmov    al,BYTE PTR [eax+0x66]","  435869:\t8b 4d 0c             \tmov    ecx,DWORD PTR [ebp+0xc]","  43586c:\t88 41 2a             \tmov    BYTE PTR [ecx+0x2a],al","  43586f:\t8b 45 0c             \tmov    eax,DWORD PTR [ebp+0xc]","  435872:\tc6 40 66 00          \tmov    BYTE PTR [eax+0x66],0x0","  435876:\t8b 45 0c             \tmov    eax,DWORD PTR [ebp+0xc]","  435879:\tc6 40 64 00          \tmov    BYTE PTR [eax+0x64],0x0","  43587d:\t8b 45 0c             \tmov    eax,DWORD PTR [ebp+0xc]","  435880:\tc6 40 62 01          \tmov    BYTE PTR [eax+0x62],0x1","  435884:\t6a 01                \tpush   0x1","  435886:\t8b 45 08             \tmov    eax,DWORD PTR [ebp+0x8]","  43589a:\t8b 45 0c             \tmov    eax,DWORD PTR [ebp+0xc]","  43589d:\t50                   \tpush   eax","  43589e:\te8 f2 f9 ff ff       \tcall   0x435295","  4358a3:\t83 c4 08             \tadd    esp,0x8","  4358a6:\t5f                   \tpop    edi","  4358c4:\t8b 45 0c             \tmov    eax,DWORD PTR [ebp+0xc]","  4358c7:\t50                   \tpush   eax","  4358c8:\te8 89 fa ff ff       \tcall   0x435356","  4358cd:\t83 c4 08             \tadd    esp,0x8","  4358d0:\t5f                   \tpop    edi","  4358ee:\t8b 45 0c             \tmov    eax,DWORD PTR [ebp+0xc]","  4358f1:\t50                   \tpush   eax","  4358f2:\te8 9e f9 ff ff       \tcall   0x435295","  4358f7:\t83 c4 08             \tadd    esp,0x8","  4358fa:\t6a 64                \tpush   0x64","  4358fc:\t8b 45 0c             \tmov    eax,DWORD PTR [ebp+0xc]","  4358ff:\t50                   \tpush   eax","  435900:\te8 51 fa ff ff       \tcall   0x435356","  435905:\t83 c4 08             \tadd    esp,0x8","  435908:\t5f                   \tpop    edi","  435916:\t33 c9                \txor    ecx,ecx","  435918:\t8a 48 62             \tmov    cl,BYTE PTR [eax+0x62]","  43591b:\tf6 c1 80             \ttest   cl,0x80","  43591e:\t0f 84 31 00 00 00    \tje     0x435955","  435924:\t8b 45 0c             \tmov    eax,DWORD PTR [ebp+0xc]","  435927:\t33 c9                \txor    ecx,ecx","  435929:\t8a 48 66             \tmov    cl,BYTE PTR [eax+0x66]","  43592c:\t85 c9                \ttest   ecx,ecx","  43592e:\t0f 84 13 00 00 00    \tje     0x435947","  435934:\t8b 45 0c             \tmov    eax,DWORD PTR [ebp+0xc]","  435937:\t8a 40 66             \tmov    al,BYTE PTR [eax+0x66]","  43593a:\t8b 4d 0c             \tmov    ecx,DWORD PTR [ebp+0xc]","  43593d:\t88 41 2a             \tmov    BYTE PTR [ecx+0x2a],al","  435940:\t8b 45 0c             \tmov    eax,DWORD PTR [ebp+0xc]","  435943:\tc6 40 66 00          \tmov    BYTE PTR [eax+0x66],0x0","  435947:\t8b 45 0c             \tmov    eax,DWORD PTR [ebp+0xc]","  43594a:\tc6 40 64 00          \tmov    BYTE PTR [eax+0x64],0x0","  43594e:\t8b 45 0c             \tmov    eax,DWORD PTR [ebp+0xc]","  435951:\tc6 40 62 01          \tmov    BYTE PTR [eax+0x62],0x1","  435955:\t6a 01                \tpush   0x1","  435957:\t8b 45 08             \tmov    eax,DWORD PTR [ebp+0x8]","  43596e:\t8b 45 0c             \tmov    eax,DWORD PTR [ebp+0xc]","  435971:\t50                   \tpush   eax","  435972:\te8 1e f9 ff ff       \tcall   0x435295","  435977:\t83 c4 08             \tadd    esp,0x8","  43597a:\t8b 45 0c             \tmov    eax,DWORD PTR [ebp+0xc]","  435982:\t8b 45 0c             \tmov    eax,DWORD PTR [ebp+0xc]","  435985:\t50                   \tpush   eax","  435986:\te8 cb f9 ff ff       \tcall   0x435356","  43598b:\t83 c4 08             \tadd    esp,0x8","  43598e:\t5f                   \tpop    edi"]}]}