Hi.
Sleep Clause on Shoddy Battle is implemented so that if a direct sleep move would break the clause, the move fails. Yawn is set up so nothing goes to sleep if it would break Sleep Clause, though the move does not fail. This is identical to the implementation in Pokémon Battle Revolution.
Skymin is only playable in a link battle between two copies of Pokémon Platinum.
Thus, by allowing Sky Shaymin, we cannot have a software implementation of Sleep Clause as we do, because it is not possible in the type of play that is simulated with Sky Shaymin (link play). It is not possible to play a version of Pokémon with both soft Sleep Clause and Sky Shaymin.
So, what can be done?
1. Eliminate Sky Shaymin and simulate PBR. I don't prefer this idea.
2. Implement Sleep Clause differently. For example, "if you put a second Pokémon to sleep, you lose the game".
Implementation 2 has problems if a Pokémon's Sleep move is Encored by some Insomnia trapper, which Baton Passes to something, then switches to a third 'mon, forcing a lose. Trap / Encore / Pass with Insomnia isn't available on anything, it's a theoretical situation. Perhaps others exist? This was one on the top of my head.
A better example is a Lum Berry Wynaut Encoring a Spore, being put to sleep, then switching out, forcing the opponent to break Sleep Clause and lose the game.
So what do we do? We have to faithfully simulate some version of Pokémon or else we're not playing Pokémon anymore.
Sleep Clause on Shoddy Battle is implemented so that if a direct sleep move would break the clause, the move fails. Yawn is set up so nothing goes to sleep if it would break Sleep Clause, though the move does not fail. This is identical to the implementation in Pokémon Battle Revolution.
Skymin is only playable in a link battle between two copies of Pokémon Platinum.
Thus, by allowing Sky Shaymin, we cannot have a software implementation of Sleep Clause as we do, because it is not possible in the type of play that is simulated with Sky Shaymin (link play). It is not possible to play a version of Pokémon with both soft Sleep Clause and Sky Shaymin.
So, what can be done?
1. Eliminate Sky Shaymin and simulate PBR. I don't prefer this idea.
2. Implement Sleep Clause differently. For example, "if you put a second Pokémon to sleep, you lose the game".
Implementation 2 has problems if a Pokémon's Sleep move is Encored by some Insomnia trapper, which Baton Passes to something, then switches to a third 'mon, forcing a lose. Trap / Encore / Pass with Insomnia isn't available on anything, it's a theoretical situation. Perhaps others exist? This was one on the top of my head.
A better example is a Lum Berry Wynaut Encoring a Spore, being put to sleep, then switching out, forcing the opponent to break Sleep Clause and lose the game.
So what do we do? We have to faithfully simulate some version of Pokémon or else we're not playing Pokémon anymore.