Damage calculation in Sword/Shield is mostly unchanged from Generation 7; the data used in my article (
https://www.trainertower.com/dawoblefets-damage-dissertation ) was used when generating the setup for this video. Credit to battle mechanics researcher SadisticMystic for providing this setup!
Charizard is level 99 and has 222 Sp. Atk (2 IVs, neutral nature, no EVs), and at +3 Sp. Atk reaches 555 Sp. Atk. It has Adaptability, will always land a critical hit, and has +3 Special Attack. Charizard is using Blast Burn and G-Max Wildfire based on Blast Burn (150 BP).
Snom is level 1, has 5 Special Defense to start, but has only 1 Sp. Def at -4 Sp. Def after the two Fake Tears. It is naturally Bug/Ice, with Grass-type added via Forest's Curse and Tar Shot, and has the ability Fluffy.
Now we get into the math (warning: very technical):
Base damage calculation: floor(floor(((floor(2*99/5)+2) * 555 * 150) / 1) / 50) + 2, which equals 68,267.
A critical hit is applied (effectively * 1.5 here): 68267*1.5 = 102400.5, which floors to 102,400.
The game picks a damage roll via the RNG. For our purposes, I'll list all 16:
[87040, 88064, 89088, 90112, 91136, 92160, 93184, 94208, 95232, 96256, 97280, 98304, 99328, 100352, 101376, 102400]
Next, Adaptability STAB is applied (* 8192/4096): [174080, 176128, 178176, 180224, 182272, 184320, 186368, 188416, 190464, 192512, 194560, 196608, 198656, 200704, 202752, 204800]
Next, type effectiveness is applied (Bug / Ice / Grass + Tar Shot is *16):
[2785280, 2818048, 2850816, 2883584, 2916352, 2949120, 2981888, 3014656, 3047424, 3080192, 3112960, 3145728, 3178496, 3211264, 3244032, 3276800]
Next, Fluffy is applied as a final modifier, which is not a simple multiplying by 2, but must be represented as 8192/4096. The initial calculation (8192 times the damage roll) exceeds the 2^32-1 benchmark easily and so undergoes 32-bit overflow (the initial calculation is between 22-26 BILLION). Then, the game divides that result by 4096. This results in the following damage rolls:
[327680, 393216, 458752, 524288, 589824, 655360, 720896, 786432, 851968, 917504, 983040, 0, 65536, 131072, 196608, 262144]
Notice that these are really weird; it's no longer in ascending order, and there's even a 0 in there. That's what overflow will do to damage rolls! Next comes the 1 damage check, which bumps the only 0 to be 1.
[327680, 393216, 458752, 524288, 589824, 655360, 720896, 786432, 851968, 917504, 983040, 1, 65536, 131072, 196608, 262144]
Finally, the 16-bit overflow occurs; all numbers which are multiples of 65536 will end up becoming 0. And what do you know, this setup has all multiples of 65536.
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0]
This is our final set of damage rolls.