Intro Battle Helper Dictionary Review

intro-battle 런타임의 실제 btl_efc.cns draw source rect를 정적 helper frameScript와 연결한 브리지입니다.

Summary

Phases
3
Runtime btl_efc draws
874
Covered static frames
10
Runtime extra frames
[30, 31, 32, 33, 34, 35, 36, 37]
  1. intro-battle 런타임은 btl_efc draw source rect를 실제 frame index로 매핑할 수 있는 첫 근거다.
  2. 쾌진격 4단계는 정적 helper 31(#30..37) 및 helper 12(#65..67)와 런타임 frame range가 맞물린다.
  3. 선렬각 4단계는 helper 110(#173..175)이 런타임에서 관측되어 정적 helper 해석을 보강한다.
  4. 맹호스페셜은 정적 skill helper가 비어 있는데 #30..37 계열이 관측되므로, 이는 skill-local helper가 아니라 result/critical/presentation 계열 후보로 보류한다.
  5. 따라서 이 런타임은 모든 기술을 자동 확정하지는 않지만, #30..37, #65..67, #173..175 frame family의 실제 draw 경로를 확인하는 dictionary 기준점으로 쓸 수 있다.

Classification Counts

classdraw count
runtime-extra-result-sparkle-candidate499
covered-by-static-skill-helper363
unmapped-runtime-rect12

Helper Dictionary

rangelabelruntime evidencestatic evidencepromotion
frameRange30to37sparkle/result particle familyAtaho 맹호스페셜, 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.
frameRange65to67slash/through helper familySmash 쾌진격helper 12 frameScript에서 #65,#66,#67이 나온다.confirmed for 쾌진격 phase when observed.
frameRange173to175선렬각 final streak helper familyLinxiang 선렬각선렬각 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]
  1. runtime extra #30..37은 공용 sparkle/result particle 후보다. 기술 자체 helper로 바로 승격하지 않는다.
  2. 이 skill row에는 helperIds가 비어 있으므로 extra effect는 result/critical/presentation 경로 또는 아직 누락된 helper-call 후보로 분리해야 한다.

Observed btl_efc frames

framedrawsclassruntime framessrcRectsample dstbounds
3232runtime-extra-result-sparkle-candidate404..408544,0,560,16340,210{'x0': 336, 'y0': 189, 'x1': 612, 'y1': 244}
3332runtime-extra-result-sparkle-candidate406..410560,0,576,16331,208{'x0': 327, 'y0': 180, 'x1': 598, 'y1': 248}
3432runtime-extra-result-sparkle-candidate408..412576,0,592,16323,206{'x0': 318, 'y0': 171, 'x1': 590, 'y1': 253}
3532runtime-extra-result-sparkle-candidate410..414592,0,608,16314,204{'x0': 310, 'y0': 162, 'x1': 581, 'y1': 257}
3632runtime-extra-result-sparkle-candidate412..416608,0,624,16305,202{'x0': 301, 'y0': 153, 'x1': 572, 'y1': 261}
3732runtime-extra-result-sparkle-candidate414..418624,0,640,16297,200{'x0': 291, 'y0': 144, 'x1': 563, 'y1': 265}
3130runtime-extra-result-sparkle-candidate402..406528,0,544,16349,212{'x0': 344, 'y0': 198, 'x1': 616, 'y1': 240}
3028runtime-extra-result-sparkle-candidate400..404512,0,528,16357,214{'x0': 353, 'y0': 207, 'x1': 606, 'y1': 236}
4unmapped-runtime-rect403..406512,0,519,16609,216{'x0': 603, 'y0': 216, 'x1': 610, 'y1': 216}
Runtime frame timeline
runtime framedrawseffect frame counts
4004#30 x4
4018#30 x8
40212#30 x8, #31 x4
40315#30 x6, #31 x8, #None x1
40415#30 x2, #31 x8, #32 x4, #None x1
40516#31 x7, #32 x8, #None x1
40616#31 x3, #32 x8, #33 x4, #None x1
40716#32 x8, #33 x8
40816#32 x4, #33 x8, #34 x4
40916#33 x8, #34 x8
41016#33 x4, #34 x8, #35 x4
41116#34 x8, #35 x8
41216#34 x4, #35 x8, #36 x4
41316#35 x8, #36 x8
41416#35 x4, #36 x8, #37 x4
41516#36 x8, #37 x8
41612#36 x4, #37 x8
4178#37 x8
4184#37 x4

Linxiang 선렬각

runtime frames 469..568; record rinshan:0x10; runtime btl_efc draws 260

Static helper ids
[110]
Expected frames
[173, 174, 175]
Covered
[173, 174, 175]
Runtime extra
[30, 31, 32, 33, 34, 35, 36, 37]
  1. 정적 helper frame [173, 174, 175]가 런타임 btl_efc draw로 직접 관측됐다.
  2. runtime extra #30..37은 공용 sparkle/result particle 후보다. 기술 자체 helper로 바로 승격하지 않는다.

Observed btl_efc frames

framedrawsclassruntime framessrcRectsample dstbounds
3232runtime-extra-result-sparkle-candidate541..545544,0,560,16352,216{'x0': 348, 'y0': 190, 'x1': 613, 'y1': 252}
3332runtime-extra-result-sparkle-candidate543..547560,0,576,16343,216{'x0': 336, 'y0': 181, 'x1': 600, 'y1': 259}
3432runtime-extra-result-sparkle-candidate545..549576,0,592,16333,216{'x0': 321, 'y0': 172, 'x1': 591, 'y1': 265}
3532runtime-extra-result-sparkle-candidate547..551592,0,608,16324,216{'x0': 307, 'y0': 164, 'x1': 582, 'y1': 272}
3632runtime-extra-result-sparkle-candidate549..553608,0,624,16314,216{'x0': 292, 'y0': 155, 'x1': 573, 'y1': 279}
3732runtime-extra-result-sparkle-candidate551..555624,0,640,16304,216{'x0': 278, 'y0': 146, 'x1': 565, 'y1': 286}
3129runtime-extra-result-sparkle-candidate539..543528,0,544,16362,216{'x0': 357, 'y0': 198, 'x1': 613, 'y1': 245}
3028runtime-extra-result-sparkle-candidate537..541512,0,528,16372,216{'x0': 367, 'y0': 207, 'x1': 607, 'y1': 238}
5unmapped-runtime-rect540..543512,0,518,16610,216{'x0': 601, 'y0': 216, 'x1': 611, 'y1': 225}
1732covered-by-static-skill-helper539..540384,192,416,208424,176{'x0': 424, 'y0': 176, 'x1': 456, 'y1': 192}
1742covered-by-static-skill-helper541..542384,204,480,220440,176{'x0': 440, 'y0': 176, 'x1': 536, 'y1': 192}
1752covered-by-static-skill-helper543..544416,192,496,208424,176{'x0': 424, 'y0': 176, 'x1': 504, 'y1': 192}
Runtime frame timeline
runtime framedrawseffect frame counts
5374#30 x4
5388#30 x8
53913#30 x8, #31 x4, #173 x1
54016#30 x6, #31 x8, #173 x1, #None x1
54116#30 x2, #31 x8, #32 x4, #174 x1, #None x1
54217#31 x6, #32 x8, #174 x1, #None x2
54317#31 x3, #32 x8, #33 x4, #175 x1, #None x1
54417#32 x8, #33 x8, #175 x1
54516#32 x4, #33 x8, #34 x4
54616#33 x8, #34 x8
54716#33 x4, #34 x8, #35 x4
54816#34 x8, #35 x8
54916#34 x4, #35 x8, #36 x4
55016#35 x8, #36 x8
55116#35 x4, #36 x8, #37 x4
55216#36 x8, #37 x8
55312#36 x4, #37 x8
5548#37 x8
5554#37 x4

Smash 쾌진격

runtime frames 606..667; record smashu:0x0c; runtime btl_efc draws 360

Static helper ids
[31, 12]
Expected frames
[30, 31, 32, 33, 34, 35, 36, 37, 65, 66, 67]
Covered
[30, 31, 32, 33, 65, 66, 67]
Runtime extra
[]
  1. 정적 helper frame [30, 31, 32, 33, 65, 66, 67]가 런타임 btl_efc draw로 직접 관측됐다.
  2. 정적 helper frame [34, 35, 36, 37]는 이번 phase에서 관측되지 않았다. trace 구간/분기 또는 구현 매핑 재검토 대상이다.
  3. 쾌진격 4단계 helper 31의 sparkle child family와 런타임 source rect가 같은 frame range를 공유한다.

Observed btl_efc frames

framedrawsclassruntime framessrcRectsample dstbounds
30141covered-by-static-skill-helper617..624512,0,528,16143,204{'x0': 103, 'y0': 172, 'x1': 602, 'y1': 256}
31110covered-by-static-skill-helper619..624528,0,544,16147,199{'x0': 98, 'y0': 167, 'x1': 507, 'y1': 258}
3270covered-by-static-skill-helper621..624544,0,560,16151,195{'x0': 92, 'y0': 164, 'x1': 398, 'y1': 261}
3330covered-by-static-skill-helper623..624560,0,576,16156,191{'x0': 86, 'y0': 173, 'x1': 234, 'y1': 262}
3unmapped-runtime-rect624..624512,0,523,16605,171{'x0': 604, 'y0': 171, 'x1': 614, 'y1': 213}
652covered-by-static-skill-helper626..6270,128,48,144480,176{'x0': 480, 'y0': 176, 'x1': 528, 'y1': 192}
662covered-by-static-skill-helper628..62948,128,128,144480,176{'x0': 480, 'y0': 176, 'x1': 560, 'y1': 192}
672covered-by-static-skill-helper630..631128,128,176,144512,176{'x0': 512, 'y0': 176, 'x1': 560, 'y1': 192}
Runtime frame timeline
runtime framedrawseffect frame counts
61710#30 x10
61820#30 x20
61930#30 x20, #31 x10
62040#30 x20, #31 x20
62150#30 x20, #31 x20, #32 x10
62260#30 x20, #31 x20, #32 x20
62370#30 x20, #31 x20, #32 x20, #33 x10
62474#30 x11, #31 x20, #32 x20, #33 x20, #None x3
6261#65 x1
6271#65 x1
6281#66 x1
6291#66 x1
6301#67 x1
6311#67 x1

JSON

out/intro_battle_helper_dictionary_review.json