How do you explain Nana killing later in my test then? is it purely due to the wacky state of training mode or something else? you said they both start with same base knockback so that would imply at all percents >0 Nana would hit them farther.
http://www.smashboards.com/showthread.php?t=216700
Knockback is calculated
after the damage is added. You took them up to 112, USmashed and it killed, so you wrote down 112 as the kill percentage. This is false testing. You need to compare kill percentages as they are after the hit occurs, not before.
That said, it still doesn't add up. The difference in your testing means Popo kills at 112 while Nana kills at 121. Whereas the math in the afore-linked thread and everything it links to indicates even at equal damage after attack that Nana gives a greater launch. I can't really explain this, for all we know it could be blastzone mechanics, knockback mechanics, stale mechanics or any other of the near-infinite values or mechanics related to physics. At a guess I'd say it's something to do with stale moves (training treats them differently), since the last time I checked we still didn't know how staleness affects knockback exactly. :/
But yes, it's been known since nearly the start of Brawl that knockback was calculated after given damage. It was the same in Melee too.
About the stale queue, my theory has always been that it gets added upon the hitstun ending, my reasoning being grab attacks, how the faster ones don't unstale other moves when being done as fast as possible and the slower ones do. I'd bet it would be consistent between what pummels can force ground breaks and the ones that don't add multiple times to the stale move queue at full speed.
I actually did a bit of testing since my last post; I believe I've figured it out.
Basically, with PSA I modified Marth's FTilt so that it did 20% on all hitbubbles with no knockback (so there's no tip and predictable dmg with no kb so I don't have to worry about him being out of range for the second hits), IASA on frame 6, hitbox start on frame 1 and hitbox termination on frame 11. Originally I had it IASA on frame 1 but this caused complications (it was too easy to cancel the tilt into a walk accidentally, even when going frame-by-frame). So for this test, Marth's frame data for FTilt is:
Hit - 1-10
IASA - 6
Duration - 43
Base Damage - 20% (21 unstale, 19.63 w/ 1x stale)
I wanted to test 3 things here. 1) Hitting with the same move a second time before the first's hitbox expires. 2) Hitting with the move again after the first's hitbox has expired but before the animation expires. 3) Hitting with the move again after both the hitbox and animation of the first move have expired (i.e. after Marth has gone into another action entirely). Results:
Condition 1 - 42% (Both actions got the unstale bonus - after thinking for a bit about why Nana wouldn't experience Popo's stale entry, I expected this.)
Condition 2 - 42% (As long as the second action was initiated within the 43-frame animation, both actions got the unstale bonus - unexpected, as I thought the entry might have been made on hitbox expiry)
Condition 3 - 39% (Second hit was given 1x stale as long as it was initiated on frame 44 or after - expected for obvious reasons)
To double-check this, I tried buffering a DTilt into itself - sure enough, 9% on both hits. So from this we know that a move is entered into the stale move queue on the first frame of the next -different- action. Of course, this means you can abuse the buffer to get an unstale bonus for the same move twice in a row.
As a side note, from this we also know that the game checks 3 things in this order: 1) If anything is in the buffer, it goes directly into the appropriate action (taking into account certain button combinations, eg a dash buffered but with the stick held to the side on execution results in a walk), otherwise 2) it goes into air/ground idle appropriately, performing any actions associated with that frame's animation. Finally, 3) If there is any button input, the action is again changed on the same frame to another action based on the buttons input between the current frame and the last.
Incidentally, there's something else I found: If you buffer multiples of the same move, the game keeps track of how many times the move hits and adds the move that many times to the top of the stale queue (I noticed this after I was FTilting Snake constantly across FD for lulz, the next time I did the move after his death it did 9% rather than 19%, doing it properly frame-by-frame also confirmed this).
Of course, I double-checked this using DTilt again. 3 unbuffered DTilts produced a damage sequence of 9%, 8%, 7%. 2 buffered DTilts into an unbuffered DTilt produces the damage sequence 9%, 9%, 7%.
EDIT:
J4pu said:
i have a feeling ea got his climbers mixed up, not that he forgot who was who, just that the data he's looking at is mislabeled
I was looking at the data directly in PSA itself, it wasn't "mislabeled" lawl. I really don't know why it doesn't add up. :S