Thanks for the numbers, so for comparison here's the Gen 7 scaled formula equation from Bulbapedia:
https://bulbapedia.bulbagarden.net/wiki/Experience
That looks scary, but let's break down each part and calculate what it would be in Gen 7.
- a is equal to...
- Prior to Generation VII:
- 1 if the fainted Pokémon is wild
- 1.5 if the fainted Pokémon is owned by a Trainer
- In Generation VII: 1
- (AKA: A = 1)
- b is the base experience yield of the fainted Pokémon's species; values for the current Generation are listed here
- (Metapod had a base experience of 72, so: B = 72)
- e is equal to...
- 1.5 if the winning Pokémon is holding a Lucky Egg
- 1 otherwise
- (I assume we aren't using Lucky Eggs here, so: E = 1)
- f is equal to...
- 1.2 if the Pokémon has an Affection of two hearts or more
- 1 otherwise
- (Similarly assume we aren't using any affection here, so: F = 1)
- L is the level of the fainted/caughtGen VI+ Pokémon
- (Metapod is Level 7, so L = 7)
- Lp is the level of the victorious Pokémon
- (We'll run through all of these.)
- pis equal to...
- 1 if no Exp. Point Power (Pass PowerGen V, O-PowerGen VI, Roto PowerUSUM) is active
- If Exp. Point Power [x] is active...
- 0.5 for ↓↓↓, 0.66 for ↓↓, 0.8 for ↓, 1.2 for ↑, 1.5 for ↑↑, or 2 for ↑↑↑, S, or MAX
- 1.5 for Roto Exp. Points
- (Assume no EXP Powers are being used, so P equals 1)
- s is equal to...
- In Generation VI and later...
- 1 when calculating the experience of a Pokémon that participated in battle
- 2 when calculating the experience of a Pokémon that did not participate in battle and if Exp. Share is turned on
- (This'll be 1 for Scorbunny, 2 for everyone else)
- t is equal to...
- 1 if the winning Pokémon's current owner is its Original Trainer
- 1.5 if the Pokémon was gained in a domestic trade
- Generation IV+ only: 1.7 if the Pokémon was gained in an international trade
- (Assume that t = 1 here)
- v is equal to...
- Generation VI+ only: 1.2 if the winning Pokémon is at or past the level where it would be able to evolve, but it has not
- 1 otherwise
- (This may actually affect Wooloo or Corviknight, but I will just have this as 1 for the calculation)
So with all that maths done, we have.
( ( (1*72*7) / (5s) ) * ( (14 +10)^2.5 ) / (7 + Lp + 10) ^2.5) + 1 ) * 1 * 1 * 1
( (504 / (5s) ) * ( (24)^2.5 ) / (17+Lp) ^2.5) ) + 1 Multiply by 1 3 times changes nothing so that got cut.
Scorbunny (12, battled) = ( (504 / 5) * ( 24^2.5 / 29^2.5 ) ) + 1 = 63.80... round up to 64.
Sobble (12) = ( (504 / 10) * ( 24^2.5 / 29^2.5 ) ) + 1 = 32.40... round up to 33
Grookey (12) = ( (504 / 10) * ( 24^2.5 / 29^2.5 ) ) + 1 = 32.40... round up to 33
Wooloo (15) = ( (504 / 10) * ( 24^2.5 / 32^2.5 ) ) + 1 = 25.55... round up to 25.
Pikachu (18) = ( (504 / 10) * ( 24^2.5 / 35^2.5 ) ) + 1 = 20.62... round up to 21.
Corviknight (45) = ( (504 / 10) * ( 24^2.5 / 62^2.5 ) ) + 1 = 5.69... round up to 6.
...Hmm, Gen 7 numbers are actually lower than the EXP you get in Gen 8, that's odd.
I want to say one of those multipliers like Lucky Egg, Trade Bonus or Rotto Exp Boost was being used for the demo to speed things up due to the limited time you had to play it. If you times those EXP by 1.5, they roughly they line up with the previous generations experience formula. Maybe it's something new like a new pokemon catch bonus multiplier. I know the Let's Go games had that (Along with a bunch of other absurd wild catch multipliers that made it really easy to over-level in that game if you do any amount of Pokemon Catching for a decent time in it.)
That's my take on it anyway. If someone else also wants to plug in the numbers and see if they get the same results. They may feel free to do so. I think I did all the maths right, but it would be good if someone else can also confirm.