Done Endless Battle Clause enhancements for RBY

Plague von Karma

Banned deucer.
1574186193527.gif
In RBY, there are three very possible ways for an endless battle to occur, and they come up more often than you would imagine. These occur if they are your last Pokemon remaining.
  • Ditto can transform into itself, giving itself 5 Transform PP. Here's a small replay.
  • Ghost-types are unaffected by Struggle, even if used by a Ghost. As such, two facing off is an infinite battle.
  • Two Frozen Pokemon standing off against each other after Explosion or Self-Destruct KO both Pokemon.
The first two are fixed in Stadium, to clarify; Struggle affects ghosts, Ditto cannot transform into itself. However, as far as I know, Stadium does not fix the freeze one, so the enhancement would need to apply there.

I believe these three instances should be covered under Endless Battle Clause in RBY, and declare a tie automatically if there is no switching available to escape the situation. For Stadium, the freeze situation should be covered as well. There is no way for either side to leave currently, as there is no /offertie option until much later. If implemented, this should also have the situations appended to the list.

I talked about this with the Random Battle 1500+ Discord, and they believe that Ditto should only be available for one side, as the Transform situation happens surprisingly often - even when switching is available - due to stalling being the only path to a theoretical win. There's one replay example here, though I would say it doesn't support the argument too well. Adding this to the randomizer code would help RoA room tournaments greatly, reducing potential ties.

I believe the Ditto problem affects Gen 2 as well, though I am not sure about others. However, in the case Ditto can transform into itself with no switching available, my suggestion still applies.
 
Last edited:

Zarel

Not a Yuyuko fan
is a Site Content Manageris a Battle Simulator Administratoris a Programmeris a Pokemon Researcheris an Administrator
Creator of PS
All of these solutions sound correct to me. As a short recap for programmers wanting to look directly for a to-do list:

- gen1: EBC autotie if the only unfainted Pokémon are Ghosts out of PP
- gen1: EBC autotie if the only unfainted Pokémon are Ditto that are either untransformed or transformed into Ditto
- gen1: randombattle should only generate Ditto on at most 1 side
- gen1, stadium: EBC autotie if the only unfainted Pokémon are frozen
 

Plague von Karma

Banned deucer.
You might want to change it to pokemon that only know transform, since technically Mew could have only Transform as its moveset as well.
I'm gonna check how Mew interacts with Transform in Stad1 since I've never seen anything conclusive about it. No matter how it works, it'll have to be considered for the Endless Battle Clause enhancement here.
 

Plague von Karma

Banned deucer.
Alright, I've been reviewing how Stad1 makes Transform fails to ensure this gets simulated properly. Until now, all we knew was that Ditto cannot Transform into opposing Ditto, but not other scenarios. However, some questions were left unanswered;
  • Does this happen with Mew?
  • Does the opposing Pokemon require Transform in their learnset? Does it have to be the only move?
  • Does this apply to Pokemon that aren't Mew or Ditto?
To do this, I used the following:
  • 2 Dittos, just to demonstrate the basic mechanic.
  • 3 different Mews: one with only Transform (tradeback-exclusive possibility due to no move deleter), one with Transform and other moves, and one without Transform. This tells me if it checks for Transform or the species.
  • A Pidgeot with Transform to see how it interacts with species other than Mew. To expand on this, I also got an Eevee with solely Transform, and a Vaporeon with Transform and other moves. This will show if Transform checks the species at all. The species here are largely irrelevant. Obviously, these movesets can only be obtained via hacking, and are strictly here to demonstrate the mechanics at hand.
What I discovered were these facts:
  • Transform fails in the following circumstances:
    • If Ditto uses Transform against an opposing Pokemon with Transform in its moveset, the move will fail. This can be used to reveal Transform Mew, and by extension, Transform users in Hackmons.
    • If an opposing Pokemon uses Transform against Ditto, the move will fail with a special message: "It couldn't transform into DITTO!". This is interesting, as it means they did technically consider other Pokemon with Transform.
  • If any Pokemon other than Ditto uses Transform, it will always work if it isn't a Ditto, regaining PP and all just like in RBY. This is an interesting oversight, as Mew with Transform can easily cause infinite battles.
Here is a video demonstrating the mechanics, it's a bit haphazard but you see my reaction to the horrors I unearthed:

So overall, Stadium will need to have the Endless Battle Clause situation sorted for Mew VS Mew with Transform, Lutra has information on Transform Mew sets that can cause Infinite Battles to my knowledge.
 
Last edited:

Users Who Are Viewing This Thread (Users: 1, Guests: 0)

Top