This might help you gather info (extracted from the MXML):
https://github.com/vectorcmdr/NMSE/blob/main/Resources/json/Pet%20Battle%20Moves.json
https://github.com/vectorcmdr/NMSE/blob/main/Resources/json/Pet%20Battle%20Movesets.json
Weighting is the multiplier.
I'm currently looking into the name resolver using the stubs to get the localisation strings for the move names.
They use a mixer with the stub, ID, affinity, etc. to resolve to the move name, like `Spit`.
There is also additional information in gcgametableglobals.