About
Every number on this site is generated from HewDraw Remix's own source code and the game's data files. A new HDR release updates the site automatically.
Where the numbers come from
| Value | Source |
|---|---|
| Active frames, damage, angle, knockback | The ATTACK calls in HDR's ACMD scripts (fighters/<name>/src/acmd/*.rs). Moves HDR does not override fall back to the vanilla scripts dumped from the game. |
| ID, Hitbox | The id and bone arguments of that same ATTACK call: the number the engine knows the hitbox by and the part of the model it hangs off. |
| Hitbox priority | The ID is the hit's priority. Where several of a move's hitboxes reach the same opponent at once, the engine resolves it to the lowest ID. |
| Projectiles & articles | Spawned objects run on their own agent, so their hitboxes come from that agent's scripts and motion list rather than the fighter's. Some moves put all their damage there and none on the fighter — Fox's Blaster and Illusion, for instance — so those numbers only exist here. A move that spawns one is marked and points at it. |
| Startup | The first frame on which any hitbox exists, or — for a move whose damage lives entirely in an article — the frame that article appears, since there is no hitbox on the fighter to measure. |
| Release | Shown in Startup's place for throws, which have no startup worth the name: a throw registers its damage with an ATTACK_ABS call on frame 1 and hits nobody with it, then deals it to the opponent it is already holding on a later ATK_HIT_ABS — the frame it lets go, and the one this is. Blank for the few rows that never make that call: Olimar's throws are performed by his Pikmin, and Donkey Kong's Forward Throw only picks you up — the four cargo throws it leads to have rows and release frames of their own. |
| Throw release endlag | Shown in Land lag's place for throws, which never land and so leave that column empty on every row. FAF minus the release frame: once a throw lets go, this is how much longer you are stuck in it. Blank wherever Release is, and for the same reasons. |
| FAF | The animation's cancel_frame (IASA) from its motion list, plus one — bounded by the animation's own length, since HDR replaces some animations with shorter ones. Moves HDR adds have no motion entry to read, so their FAF comes from the animation HDR ships for them, from the rapid jab finisher for gentleman jabs, or from the move being copied for Kirby's copy abilities. Each of those is marked in the notes, and left blank rather than guessed where none applies. |
| Auto cancel | The frames landing out of an aerial costs nothing, on either side of the window it costs the move's landing lag — 1-5, 23– means frames 1 to 5 and everything from 23 onward, and the trailing dash is open-ended because being actionable is not the same as the move ending: a fighter who does nothing keeps falling with the window still open. Read from the one work flag the engine decides this with, FIGHTER_STATUS_ATTACK_AIR_FLAG_ENABLE_LANDING, which HDR's own status code branches on. never means the flag goes up and never comes back down, so the move always pays. Blank means its script says nothing either way, which is a zair, a landing animation, or one of Steve's three aerials. The column only appears where some row in the table has one, which is aerials and the handful of air specials whose scripts write the flag too. It is the other half of Land lag, not a separate fact: hovering or tapping either one names the frames that pay and the cost the window avoids. |
| Landing lag, attributes | fighter_param.prc from the game, with HDR's fighter_param.prcxml patch applied on top. A special that lands into an animation of its own is not in that file: its recovery is the frame its landing status becomes actionable on, which is an agent param — param_special_n.landing_frame and its kin, patched by vl.prcxml — rather than the length of the animation, which runs longer. Where the special has no such param, the animation is the figure. A special with no landing animation at all still has the param: Meta Knight's Drill Rush, Shuttle Loop and Dimensional Cape each cost 30 frames to land out of, and nothing in the script, the motion list or HDR's code says so. Those read param_special_<n|s|hi|lw>.landing_frame and show it on every airborne row of the special, since one landing status serves all of them. |
The scripts behind the numbers
You don't have to take any of the above on trust. Click or tap a move's name on a fighter's page (or the beside a fighter on a move comparison) and the ACMD function those numbers were read from opens as it is written, named and pointed at the file it lives in. Where a stance gives a move a script per stance, all of them are there.
Reading one: frame and wait set the animation frame everything after them happens on, ATTACK and hitbox! create a hitbox that stays live until clear_all, and FT_MOTION_RATE rescales the clock. Motion rating is why the frames here are not always the numbers in the script. A move with no icon has no script of its own: its timing comes entirely from the motion list or the parameter tables.
Real frames, not animation frames
ACMD scripts count animation frames, and HDR frequently rescales animation speed mid-move with FT_MOTION_RATE. Those two clocks disagree, so every frame here is converted to real game frames first. Mario's back air is a good example: its hitboxes sit at animation frames 6 and 8, but because frames 8–13 are stretched over nine real frames, the late hit actually spans frames 8–16 and the move ends on frame 39 rather than 35. Moves that do this are marked.
Known limits
- Runtime-computed values. A small number of hitboxes (about 3%) derive damage or angle from game state at runtime. Those cells read varies rather than guessing.
- Conditional hits. Where a hitbox sits behind a branch the generator cannot evaluate, the condition is shown beside it.
- Shieldstun and hitstun are not shown, because HDR changes the formulas that produce them and a stale formula would be worse than no number.
Current builds
HDR ships two channels and this site tracks both, rebuilt independently as each publishes.
| Channel | Version | Fighters | Moves | HDR-changed |
|---|---|---|---|---|
| Beta | v0.49.11 | 89 | 10069 | 3802 |
| Prerelease | v0.50.5 | 89 | 10104 | 3943 |
Corrections
If a number here disagrees with the game, that is a bug worth filing — it most likely means the generator mis-reads a script pattern, which affects every fighter using that pattern. Please open an issue with the fighter, the move, and what you measured.