Okay, I thought I'd get it down here.
During a fight the ID list for characters seems slightly different to what is used in the CSS.
In training mode, the player is loaded second, with the dummy first. In Brawls, it's always done in player order.
Character IDs are stored at 80623320, +244 for each player (so P2 is 80623568). 4 forwards from there is a link to almost all character specific data.
For characters who can become other characters (Pokémon, Zelda/Sheik, Wario->Warioman etc.), extra IDs are stored at the character ID +8. So if Zelda were at 80623320, we could expect to find Sheik at 80623328. Some of Sheik's info would also be stored at 8062332C.
Interesting values from [80623324] or similar:
+CA4 : Fullhop/Second Hop Height
+CB0 : Shorthop Height
+C68 : Damage Dealt
The first two vary from character to character. The last defaults to float 1.
For Fullhop/Short Hop etc. modifiers:
The break is at 8085765C. f1 stores the relevant value
f31, r0, r29 and r30 are all safe
If unmodified, r0 holds rudimentary information about what exactly is causing the velocity:
2F00: Dash Speed
2F08: Dash Acceleration
2F14: Full Hop/Second Hop: ID at -3A64(r3)
2F20: Short Hop: ID at -0x3A6C(r3).
2F40: Downwards Gravity: ID at -0x3A8C(r3)
2F5C: Fast Fall: ID at -0x3AA8(r3)
2FC4/2FC8: Ledgehops (Both are found, I forget which affects height)
And of course, most importantly:
3020: Position of your name above your character
There's a load of other R0s which correspond to things I can't identify. I think many may be linked to animations, such as the standing pivot animation.
For Char. Specific Gravity Modifiers:
The break is at 8081CAD0 - f1 is the output
r4, r5 and f23 are safe
The other registers generally give a glimpse of what is going on.
Character ID can be found at -0xA60(r8), UNLESS r8 is zero. This is the case for a very small number of moves (DK's Up+B is one example).
I need to find another, more stable place to find character ID.
For Link, r9 contains an address for jumps, or 0xFFFFFFFF for his Up+B. I didn't have time to experiment, but similar behaviour can probably be expected from other characters.
Note this doesn't seem to behave EXACTLY like gravity. Rather, it's called into effect whenever the character initiates something that changes their velocity in the upwards direction, and determines the acceleration during that period of time. If you set it to 0 for DK's Up+B, he still falls at the end of it even though his gravity 'should' be 0 (the change is noticable, though).
Other Char. Specifics
You're probably more aware of this one, it isn't ASM:
At 8128B2C0+0x52000 per player, some other info can be found:
+0: damage dealt
+4: damage received
+8: knockback dealt
+C: knockback received
+10: size (the mushroom effect - also changes knockback etc. without changing the other values)
+14: size (without affecting things like knockback)
+18: gravity (this is the same gravity in the previous section, and how I found the ASM code)
Unlike the other stuff, this is accurate to the player. So the first one is always P1, the second one is always P2 (in training mode, YOU are P1 for this, but you are P2 for the other stuff). They all default to float 1.
Hope you find it useful.
During a fight the ID list for characters seems slightly different to what is used in the CSS.
In training mode, the player is loaded second, with the dummy first. In Brawls, it's always done in player order.
Character IDs are stored at 80623320, +244 for each player (so P2 is 80623568). 4 forwards from there is a link to almost all character specific data.
For characters who can become other characters (Pokémon, Zelda/Sheik, Wario->Warioman etc.), extra IDs are stored at the character ID +8. So if Zelda were at 80623320, we could expect to find Sheik at 80623328. Some of Sheik's info would also be stored at 8062332C.
Interesting values from [80623324] or similar:
+CA4 : Fullhop/Second Hop Height
+CB0 : Shorthop Height
+C68 : Damage Dealt
The first two vary from character to character. The last defaults to float 1.
For Fullhop/Short Hop etc. modifiers:
The break is at 8085765C. f1 stores the relevant value
f31, r0, r29 and r30 are all safe
If unmodified, r0 holds rudimentary information about what exactly is causing the velocity:
2F00: Dash Speed
2F08: Dash Acceleration
2F14: Full Hop/Second Hop: ID at -3A64(r3)
2F20: Short Hop: ID at -0x3A6C(r3).
2F40: Downwards Gravity: ID at -0x3A8C(r3)
2F5C: Fast Fall: ID at -0x3AA8(r3)
2FC4/2FC8: Ledgehops (Both are found, I forget which affects height)
And of course, most importantly:
3020: Position of your name above your character
There's a load of other R0s which correspond to things I can't identify. I think many may be linked to animations, such as the standing pivot animation.
For Char. Specific Gravity Modifiers:
The break is at 8081CAD0 - f1 is the output
r4, r5 and f23 are safe
The other registers generally give a glimpse of what is going on.
Character ID can be found at -0xA60(r8), UNLESS r8 is zero. This is the case for a very small number of moves (DK's Up+B is one example).
I need to find another, more stable place to find character ID.
For Link, r9 contains an address for jumps, or 0xFFFFFFFF for his Up+B. I didn't have time to experiment, but similar behaviour can probably be expected from other characters.
Note this doesn't seem to behave EXACTLY like gravity. Rather, it's called into effect whenever the character initiates something that changes their velocity in the upwards direction, and determines the acceleration during that period of time. If you set it to 0 for DK's Up+B, he still falls at the end of it even though his gravity 'should' be 0 (the change is noticable, though).
Other Char. Specifics
You're probably more aware of this one, it isn't ASM:
At 8128B2C0+0x52000 per player, some other info can be found:
+0: damage dealt
+4: damage received
+8: knockback dealt
+C: knockback received
+10: size (the mushroom effect - also changes knockback etc. without changing the other values)
+14: size (without affecting things like knockback)
+18: gravity (this is the same gravity in the previous section, and how I found the ASM code)
Unlike the other stuff, this is accurate to the player. So the first one is always P1, the second one is always P2 (in training mode, YOU are P1 for this, but you are P2 for the other stuff). They all default to float 1.
Hope you find it useful.