Intro Battle Helper Dictionary Review
intro-battle 런타임의 실제 btl_efc.cns draw source rect를 정적 helper frameScript와 연결한 브리지입니다.
Summary
Phases
3
3
Runtime btl_efc draws
874
874
Covered static frames
10
10
Runtime extra frames
[30, 31, 32, 33, 34, 35, 36, 37]
[30, 31, 32, 33, 34, 35, 36, 37]
- intro-battle 런타임은 btl_efc draw source rect를 실제 frame index로 매핑할 수 있는 첫 근거다.
- 쾌진격 4단계는 정적 helper 31(#30..37) 및 helper 12(#65..67)와 런타임 frame range가 맞물린다.
- 선렬각 4단계는 helper 110(#173..175)이 런타임에서 관측되어 정적 helper 해석을 보강한다.
- 맹호스페셜은 정적 skill helper가 비어 있는데 #30..37 계열이 관측되므로, 이는 skill-local helper가 아니라 result/critical/presentation 계열 후보로 보류한다.
- 따라서 이 런타임은 모든 기술을 자동 확정하지는 않지만, #30..37, #65..67, #173..175 frame family의 실제 draw 경로를 확인하는 dictionary 기준점으로 쓸 수 있다.
Classification Counts
| class | draw count |
|---|---|
| runtime-extra-result-sparkle-candidate | 499 |
| covered-by-static-skill-helper | 363 |
| unmapped-runtime-rect | 12 |
Helper Dictionary
| range | label | runtime evidence | static evidence | promotion |
|---|---|---|---|---|
frameRange30to37 | sparkle/result particle family | Ataho 맹호스페셜, Linxiang 선렬각, Smash 쾌진격 | 쾌진격 2~4단 helper 29/30/31 spawn-tree frameScript에서 #30..37이 직접 나온다. | frame family confirmed; exact semantic role can be skill helper or result/presentation depending caller row. |
frameRange65to67 | slash/through helper family | Smash 쾌진격 | helper 12 frameScript에서 #65,#66,#67이 나온다. | confirmed for 쾌진격 phase when observed. |
frameRange173to175 | 선렬각 final streak helper family | Linxiang 선렬각 | 선렬각 4단 helper 110 frameScript에서 #173,#174,#175가 나온다. | confirmed for 선렬각 phase. |
Ataho 맹호스페셜
runtime frames 285..431; record ataho:0x19; runtime btl_efc draws 254
Static helper ids
[]
[]
Expected frames
[]
[]
Covered
[]
[]
Runtime extra
[30, 31, 32, 33, 34, 35, 36, 37]
[30, 31, 32, 33, 34, 35, 36, 37]
- runtime extra #30..37은 공용 sparkle/result particle 후보다. 기술 자체 helper로 바로 승격하지 않는다.
- 이 skill row에는 helperIds가 비어 있으므로 extra effect는 result/critical/presentation 경로 또는 아직 누락된 helper-call 후보로 분리해야 한다.
Observed btl_efc frames
| frame | draws | class | runtime frames | srcRect | sample dst | bounds |
|---|---|---|---|---|---|---|
32 | 32 | runtime-extra-result-sparkle-candidate | 404..408 | 544,0,560,16 | 340,210 | {'x0': 336, 'y0': 189, 'x1': 612, 'y1': 244} |
33 | 32 | runtime-extra-result-sparkle-candidate | 406..410 | 560,0,576,16 | 331,208 | {'x0': 327, 'y0': 180, 'x1': 598, 'y1': 248} |
34 | 32 | runtime-extra-result-sparkle-candidate | 408..412 | 576,0,592,16 | 323,206 | {'x0': 318, 'y0': 171, 'x1': 590, 'y1': 253} |
35 | 32 | runtime-extra-result-sparkle-candidate | 410..414 | 592,0,608,16 | 314,204 | {'x0': 310, 'y0': 162, 'x1': 581, 'y1': 257} |
36 | 32 | runtime-extra-result-sparkle-candidate | 412..416 | 608,0,624,16 | 305,202 | {'x0': 301, 'y0': 153, 'x1': 572, 'y1': 261} |
37 | 32 | runtime-extra-result-sparkle-candidate | 414..418 | 624,0,640,16 | 297,200 | {'x0': 291, 'y0': 144, 'x1': 563, 'y1': 265} |
31 | 30 | runtime-extra-result-sparkle-candidate | 402..406 | 528,0,544,16 | 349,212 | {'x0': 344, 'y0': 198, 'x1': 616, 'y1': 240} |
30 | 28 | runtime-extra-result-sparkle-candidate | 400..404 | 512,0,528,16 | 357,214 | {'x0': 353, 'y0': 207, 'x1': 606, 'y1': 236} |
| 4 | unmapped-runtime-rect | 403..406 | 512,0,519,16 | 609,216 | {'x0': 603, 'y0': 216, 'x1': 610, 'y1': 216} |
Runtime frame timeline
| runtime frame | draws | effect frame counts |
|---|---|---|
| 400 | 4 | #30 x4 |
| 401 | 8 | #30 x8 |
| 402 | 12 | #30 x8, #31 x4 |
| 403 | 15 | #30 x6, #31 x8, #None x1 |
| 404 | 15 | #30 x2, #31 x8, #32 x4, #None x1 |
| 405 | 16 | #31 x7, #32 x8, #None x1 |
| 406 | 16 | #31 x3, #32 x8, #33 x4, #None x1 |
| 407 | 16 | #32 x8, #33 x8 |
| 408 | 16 | #32 x4, #33 x8, #34 x4 |
| 409 | 16 | #33 x8, #34 x8 |
| 410 | 16 | #33 x4, #34 x8, #35 x4 |
| 411 | 16 | #34 x8, #35 x8 |
| 412 | 16 | #34 x4, #35 x8, #36 x4 |
| 413 | 16 | #35 x8, #36 x8 |
| 414 | 16 | #35 x4, #36 x8, #37 x4 |
| 415 | 16 | #36 x8, #37 x8 |
| 416 | 12 | #36 x4, #37 x8 |
| 417 | 8 | #37 x8 |
| 418 | 4 | #37 x4 |
Linxiang 선렬각
runtime frames 469..568; record rinshan:0x10; runtime btl_efc draws 260
Static helper ids
[110]
[110]
Expected frames
[173, 174, 175]
[173, 174, 175]
Covered
[173, 174, 175]
[173, 174, 175]
Runtime extra
[30, 31, 32, 33, 34, 35, 36, 37]
[30, 31, 32, 33, 34, 35, 36, 37]
- 정적 helper frame [173, 174, 175]가 런타임 btl_efc draw로 직접 관측됐다.
- runtime extra #30..37은 공용 sparkle/result particle 후보다. 기술 자체 helper로 바로 승격하지 않는다.
Observed btl_efc frames
| frame | draws | class | runtime frames | srcRect | sample dst | bounds |
|---|---|---|---|---|---|---|
32 | 32 | runtime-extra-result-sparkle-candidate | 541..545 | 544,0,560,16 | 352,216 | {'x0': 348, 'y0': 190, 'x1': 613, 'y1': 252} |
33 | 32 | runtime-extra-result-sparkle-candidate | 543..547 | 560,0,576,16 | 343,216 | {'x0': 336, 'y0': 181, 'x1': 600, 'y1': 259} |
34 | 32 | runtime-extra-result-sparkle-candidate | 545..549 | 576,0,592,16 | 333,216 | {'x0': 321, 'y0': 172, 'x1': 591, 'y1': 265} |
35 | 32 | runtime-extra-result-sparkle-candidate | 547..551 | 592,0,608,16 | 324,216 | {'x0': 307, 'y0': 164, 'x1': 582, 'y1': 272} |
36 | 32 | runtime-extra-result-sparkle-candidate | 549..553 | 608,0,624,16 | 314,216 | {'x0': 292, 'y0': 155, 'x1': 573, 'y1': 279} |
37 | 32 | runtime-extra-result-sparkle-candidate | 551..555 | 624,0,640,16 | 304,216 | {'x0': 278, 'y0': 146, 'x1': 565, 'y1': 286} |
31 | 29 | runtime-extra-result-sparkle-candidate | 539..543 | 528,0,544,16 | 362,216 | {'x0': 357, 'y0': 198, 'x1': 613, 'y1': 245} |
30 | 28 | runtime-extra-result-sparkle-candidate | 537..541 | 512,0,528,16 | 372,216 | {'x0': 367, 'y0': 207, 'x1': 607, 'y1': 238} |
| 5 | unmapped-runtime-rect | 540..543 | 512,0,518,16 | 610,216 | {'x0': 601, 'y0': 216, 'x1': 611, 'y1': 225} |
173 | 2 | covered-by-static-skill-helper | 539..540 | 384,192,416,208 | 424,176 | {'x0': 424, 'y0': 176, 'x1': 456, 'y1': 192} |
174 | 2 | covered-by-static-skill-helper | 541..542 | 384,204,480,220 | 440,176 | {'x0': 440, 'y0': 176, 'x1': 536, 'y1': 192} |
175 | 2 | covered-by-static-skill-helper | 543..544 | 416,192,496,208 | 424,176 | {'x0': 424, 'y0': 176, 'x1': 504, 'y1': 192} |
Runtime frame timeline
| runtime frame | draws | effect frame counts |
|---|---|---|
| 537 | 4 | #30 x4 |
| 538 | 8 | #30 x8 |
| 539 | 13 | #30 x8, #31 x4, #173 x1 |
| 540 | 16 | #30 x6, #31 x8, #173 x1, #None x1 |
| 541 | 16 | #30 x2, #31 x8, #32 x4, #174 x1, #None x1 |
| 542 | 17 | #31 x6, #32 x8, #174 x1, #None x2 |
| 543 | 17 | #31 x3, #32 x8, #33 x4, #175 x1, #None x1 |
| 544 | 17 | #32 x8, #33 x8, #175 x1 |
| 545 | 16 | #32 x4, #33 x8, #34 x4 |
| 546 | 16 | #33 x8, #34 x8 |
| 547 | 16 | #33 x4, #34 x8, #35 x4 |
| 548 | 16 | #34 x8, #35 x8 |
| 549 | 16 | #34 x4, #35 x8, #36 x4 |
| 550 | 16 | #35 x8, #36 x8 |
| 551 | 16 | #35 x4, #36 x8, #37 x4 |
| 552 | 16 | #36 x8, #37 x8 |
| 553 | 12 | #36 x4, #37 x8 |
| 554 | 8 | #37 x8 |
| 555 | 4 | #37 x4 |
Smash 쾌진격
runtime frames 606..667; record smashu:0x0c; runtime btl_efc draws 360
Static helper ids
[31, 12]
[31, 12]
Expected frames
[30, 31, 32, 33, 34, 35, 36, 37, 65, 66, 67]
[30, 31, 32, 33, 34, 35, 36, 37, 65, 66, 67]
Covered
[30, 31, 32, 33, 65, 66, 67]
[30, 31, 32, 33, 65, 66, 67]
Runtime extra
[]
[]
- 정적 helper frame [30, 31, 32, 33, 65, 66, 67]가 런타임 btl_efc draw로 직접 관측됐다.
- 정적 helper frame [34, 35, 36, 37]는 이번 phase에서 관측되지 않았다. trace 구간/분기 또는 구현 매핑 재검토 대상이다.
- 쾌진격 4단계 helper 31의 sparkle child family와 런타임 source rect가 같은 frame range를 공유한다.
Observed btl_efc frames
| frame | draws | class | runtime frames | srcRect | sample dst | bounds |
|---|---|---|---|---|---|---|
30 | 141 | covered-by-static-skill-helper | 617..624 | 512,0,528,16 | 143,204 | {'x0': 103, 'y0': 172, 'x1': 602, 'y1': 256} |
31 | 110 | covered-by-static-skill-helper | 619..624 | 528,0,544,16 | 147,199 | {'x0': 98, 'y0': 167, 'x1': 507, 'y1': 258} |
32 | 70 | covered-by-static-skill-helper | 621..624 | 544,0,560,16 | 151,195 | {'x0': 92, 'y0': 164, 'x1': 398, 'y1': 261} |
33 | 30 | covered-by-static-skill-helper | 623..624 | 560,0,576,16 | 156,191 | {'x0': 86, 'y0': 173, 'x1': 234, 'y1': 262} |
| 3 | unmapped-runtime-rect | 624..624 | 512,0,523,16 | 605,171 | {'x0': 604, 'y0': 171, 'x1': 614, 'y1': 213} |
65 | 2 | covered-by-static-skill-helper | 626..627 | 0,128,48,144 | 480,176 | {'x0': 480, 'y0': 176, 'x1': 528, 'y1': 192} |
66 | 2 | covered-by-static-skill-helper | 628..629 | 48,128,128,144 | 480,176 | {'x0': 480, 'y0': 176, 'x1': 560, 'y1': 192} |
67 | 2 | covered-by-static-skill-helper | 630..631 | 128,128,176,144 | 512,176 | {'x0': 512, 'y0': 176, 'x1': 560, 'y1': 192} |
Runtime frame timeline
| runtime frame | draws | effect frame counts |
|---|---|---|
| 617 | 10 | #30 x10 |
| 618 | 20 | #30 x20 |
| 619 | 30 | #30 x20, #31 x10 |
| 620 | 40 | #30 x20, #31 x20 |
| 621 | 50 | #30 x20, #31 x20, #32 x10 |
| 622 | 60 | #30 x20, #31 x20, #32 x20 |
| 623 | 70 | #30 x20, #31 x20, #32 x20, #33 x10 |
| 624 | 74 | #30 x11, #31 x20, #32 x20, #33 x20, #None x3 |
| 626 | 1 | #65 x1 |
| 627 | 1 | #65 x1 |
| 628 | 1 | #66 x1 |
| 629 | 1 | #66 x1 |
| 630 | 1 | #67 x1 |
| 631 | 1 | #67 x1 |