So, I was wondering why in HGSS, Chuck's Medicham (at 141 HP) would ALWAYS OHKOes himself after missing Hi Jump Kick against a Lv.100 Giratina (who at the absolute worse, still has 410 HP), it didn't match with the currently known Gen 4 mechanics of (Hi) Jump Kick.
After scratching my head good, I decided to test thoroughly what was that, and here are my results:
What is currently known:
If a Pokémon misses Jump Kick or Hi Jump Kick, no matter the reason, it will take crash damage equal to half the damage that would have been dealt, rounded down.
If the Pokémon is supposed to take crash damage but the result is 0, then make the result 1.
What is not known:
If a Pokémon misses Jump Kick or Hi Jump Kick against a Ghost-typed target, it will take crash damage equal to half the target's Max HP instead, regardless of:
the difference of level between the user and the target,
the target having Wonder Guard,
the target using Protect/Detect,
the target being in the semi-invulnerable turn of a 2-turns move
BUT
If the Pokémon who missed Jump Kick or Hi Jump Kick against a Ghost-typed target happens to have the ability Scrappy and/or has used Foresight/Odor Sleuth beforehand, the game will instead perform, according to the assembly, a comparison between half the damage that would have been dealt (Variable 1) and half the max HP of the Ghost-typed target (Variable 2).
If Variable 2 is greater than or equal to Variable 1, the game will choose Variable 1, else it will choose Variable 2.
If the Pokémon is supposed to take crash damage but the result is 0, then make the result 1.