foitin/characters/violet/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

472 lines
6.1 KiB
JSON

{
"name": "finisher",
"total": 126,
"loop": false,
"startup": 53,
"active": [
54,
77
],
"damage": 0,
"hitstun": 0,
"blockstun": 0,
"pushback": 0,
"hurtboxes": {
"default": [
[
-75,
-362,
142,
87
],
[
-141,
-275,
221,
131
],
[
-119,
-144,
217,
144
]
],
"frames": {
"0-9": [
[
-57,
-404,
194,
92
],
[
-89,
-312,
188,
138
],
[
-93,
-174,
207,
174
]
],
"10-19": [
[
-53,
-400,
190,
91
],
[
-65,
-309,
163,
137
],
[
-90,
-172,
203,
172
]
],
"20-30": [
[
-38,
-398,
152,
91
],
[
-55,
-307,
129,
136
],
[
-84,
-171,
189,
171
]
],
"31-40": [
[
-19,
-404,
66,
93
],
[
-44,
-311,
153,
139
],
[
-69,
-172,
153,
172
]
],
"41-51": [
[
-81,
-416,
123,
96
],
[
-73,
-320,
173,
145
],
[
-50,
-175,
106,
175
]
],
"52-61": [
[
-148,
-404,
226,
94
],
[
-104,
-310,
188,
142
],
[
-38,
-168,
79,
168
]
],
"62-72": [
[
-163,
-394,
253,
93
],
[
-114,
-301,
211,
140
],
[
-42,
-161,
86,
161
]
],
"73-82": [
[
-110,
-382,
227,
91
],
[
-50,
-291,
126,
137
],
[
-56,
-154,
121,
154
]
],
"83-93": [
[
-34,
-379,
78,
90
],
[
-68,
-289,
134,
135
],
[
-95,
-154,
177,
154
]
],
"94-103": [
[
-80,
-367,
222,
87
],
[
-142,
-280,
219,
131
],
[
-122,
-149,
216,
149
]
],
"115-124": [
[
-116,
-355,
167,
87
],
[
-108,
-268,
174,
130
],
[
-118,
-138,
213,
138
]
],
"125-135": [
[
-105,
-351,
149,
86
],
[
-79,
-265,
141,
130
],
[
-116,
-135,
209,
135
]
],
"136-145": [
[
-65,
-366,
113,
90
],
[
-125,
-276,
189,
135
],
[
-114,
-141,
208,
141
]
],
"146-156": [
[
-80,
-355,
161,
86
],
[
-147,
-269,
216,
129
],
[
-111,
-140,
210,
140
]
],
"157-166": [
[
-74,
-362,
175,
86
],
[
-148,
-276,
247,
130
],
[
-108,
-146,
213,
146
]
],
"167-177": [
[
-68,
-374,
191,
88
],
[
-133,
-286,
243,
132
],
[
-104,
-154,
213,
154
]
],
"178-187": [
[
-57,
-385,
194,
89
],
[
-114,
-296,
226,
134
],
[
-99,
-162,
210,
162
]
],
"188-198": [
[
-54,
-395,
193,
90
],
[
-99,
-305,
207,
136
],
[
-97,
-169,
209,
169
]
],
"199-208": [
[
-55,
-402,
193,
91
],
[
-91,
-311,
194,
138
],
[
-95,
-173,
208,
173
]
],
"209-219": [
[
-57,
-404,
194,
92
],
[
-89,
-312,
188,
138
],
[
-93,
-174,
207,
174
]
]
}
},
"hitboxes": {
"54-77": [
[
0,
-320,
180,
300
]
]
},
"root_motion_frames": [
0.0,
0.08,
-2.57,
-7.74,
-6.96,
-2.02,
1.04,
1.05,
-17.38,
-9.06,
10.0,
2.45,
0.86,
2.5,
3.94,
3.92,
5.18,
4.93,
3.43,
3.12,
3.23
],
"finisher": true
}