foitin/characters/decks/moves/finisher/data.json
m3ultra c3d682b7dd Finisher timing pass: measured impact windows for all batch fighters
tools/tune_finishers.py detects each finisher's impact frame (max forward
extent of the sprite) and sets real-time totals + active windows; values
persist in finisher_timings.json and win over DEFAULT_FINISHER in tune.
kachujin/vesper keep hand-tuned values.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-29 14:31:13 +10:00

493 lines
6.3 KiB
JSON

{
"name": "finisher",
"total": 132,
"loop": false,
"startup": 65,
"active": [
66,
89
],
"damage": 0,
"hitstun": 0,
"blockstun": 0,
"pushback": 0,
"hurtboxes": {
"default": [
[
-37,
-335,
93,
80
],
[
-59,
-255,
158,
121
],
[
-138,
-134,
322,
134
]
],
"frames": {
"0-9": [
[
-39,
-366,
115,
88
],
[
-46,
-278,
137,
132
],
[
-96,
-146,
227,
146
]
],
"10-19": [
[
-43,
-360,
108,
87
],
[
-49,
-273,
145,
130
],
[
-102,
-143,
224,
143
]
],
"20-29": [
[
-47,
-351,
110,
85
],
[
-52,
-266,
159,
128
],
[
-111,
-138,
221,
138
]
],
"30-39": [
[
-47,
-345,
110,
83
],
[
-57,
-262,
169,
126
],
[
-129,
-136,
241,
136
]
],
"40-49": [
[
-41,
-347,
115,
82
],
[
-62,
-265,
173,
124
],
[
-155,
-141,
299,
141
]
],
"50-59": [
[
-29,
-339,
122,
80
],
[
-71,
-259,
169,
121
],
[
-181,
-138,
350,
138
]
],
"60-69": [
[
-17,
-305,
118,
75
],
[
-75,
-230,
185,
112
],
[
-183,
-118,
334,
118
]
],
"70-79": [
[
-15,
-286,
112,
70
],
[
-66,
-216,
173,
106
],
[
-168,
-110,
304,
110
]
],
"80-89": [
[
-15,
-289,
109,
71
],
[
-65,
-218,
172,
106
],
[
-165,
-112,
298,
112
]
],
"90-99": [
[
-17,
-302,
98,
74
],
[
-68,
-228,
172,
111
],
[
-170,
-117,
309,
117
]
],
"100-109": [
[
-27,
-317,
87,
77
],
[
-65,
-240,
170,
115
],
[
-158,
-125,
313,
125
]
],
"120-129": [
[
-38,
-354,
110,
85
],
[
-56,
-269,
153,
127
],
[
-113,
-142,
280,
142
]
],
"130-139": [
[
-35,
-379,
114,
89
],
[
-52,
-290,
143,
134
],
[
-99,
-156,
210,
156
]
],
"140-149": [
[
-33,
-387,
112,
90
],
[
-56,
-297,
130,
135
],
[
-98,
-162,
192,
162
]
],
"150-159": [
[
-35,
-378,
115,
89
],
[
-57,
-289,
135,
133
],
[
-116,
-156,
220,
156
]
],
"160-169": [
[
-34,
-366,
115,
87
],
[
-50,
-279,
140,
132
],
[
-101,
-147,
220,
147
]
],
"170-179": [
[
-35,
-367,
106,
88
],
[
-46,
-279,
136,
132
],
[
-86,
-147,
218,
147
]
],
"180-189": [
[
-35,
-374,
115,
89
],
[
-40,
-285,
136,
135
],
[
-80,
-150,
222,
150
]
],
"190-199": [
[
-36,
-375,
118,
89
],
[
-40,
-286,
136,
135
],
[
-81,
-151,
226,
151
]
],
"200-209": [
[
-37,
-371,
115,
89
],
[
-44,
-282,
134,
133
],
[
-88,
-149,
228,
149
]
],
"210-219": [
[
-39,
-366,
115,
88
],
[
-46,
-278,
137,
132
],
[
-96,
-146,
227,
146
]
]
}
},
"hitboxes": {
"66-89": [
[
0,
-320,
180,
300
]
]
},
"root_motion_frames": [
0.0,
-8.59,
-14.09,
-23.95,
-32.83,
-42.47,
-36.27,
-20.66,
-5.82,
7.2,
20.83,
36.11,
36.4,
25.32,
15.67,
15.39,
25.31,
17.67,
9.21,
-1.55,
-10.59,
-12.26
],
"finisher": true
}