I have found 2 issues when calculating damage over multiple turns
First when the opposing Pokémon is holding Leftovers, the calc doesn't account for Leftovers recovery when calculating KO odds
The image below shows Magearna hitting 2 Fleur Cannon on a Gastrodon and doing barely over 100% with two min rolls
It still says guaranteed ohko although the threshold should be 106.25% with Leftovers recovery
My second point is also about the KO odds (and damage ranges in general)
When calculating the damage ranges when using a move several times, the calculator just adds up the possible damage rolls from each move
For instance, again with Fleur Cannon from Magearna against Gastrodon, at +0, the possible damage rolls are :
(286, 289, 292, 297, 300, 303, 306, 310, 313, 316, 319, 324, 327, 330, 333, 337)
At -2 (for the second hit), the possible damage rolls are :
(144, 145, 147, 148, 150, 151, 153, 154, 157, 159, 160, 162, 163, 165, 166, 169)
You can see the damage rolls for the 2 consecutive hits on the image and see that they are just the sum of these 2 lists of damage
I can understand that this gives approximately the good range of values (the min and max are correct) but the actual damage distribution of the 2 hits is different
I was trying to calculate the chance to KO Gastrodon after Leftovers recovery so I artificially gave Gastrodon 26 more HP to account for that
As you can see I modified the base HP stat to get 26 more hp and it tells me 68.8% chance to KO (= 11/16 which is consistent with how it computes damage ranges)
But if I take the damage ranges from each individual hit and compute all damage combinations to get the exact chance to KO in 2 hits, I find that 200 out of the 256 combinations lead to more than 452 damage in total
So the actual KO chance is actually 200/256 which is around 78%, much higher than what the calc currently indicates.
I understand that computing all possibilities can take some time, especially if using a move 5 times in a row (about 1 million combinations to compute) but for 2 or 3 times, it's very reasonable to compute all of them exactly.