Closed scheibo closed 5 years ago
so sends '>p2 move 3 2, pass', only to get back 2 choice errors:
The errors correspond to the bad command >p2 move 2, pass
. Actually, it should have aborted on the invalid move 2
.
This is another regression from 698fb2a.
Actually, it should have aborted on the invalid move 2.
This is required because crafting an invalid first choice would allow the player to figure out which decisions of the last Pokémon are valid or not.
In this doubles battle scenario, the
p2
has 1 mon remaining, so sends'>p2 move 3 2, pass'
, only to get back 2 choice errors:'pass'
is the correct choice for thep2b
slot, given the active Barboach is fainted. I believe https://github.com/Zarel/Pokemon-Showdown/blob/master/sim/side.ts#L695-L763 is the problematic code, as it should track the index in thechoiceString
to know which active Pokemon the choice applies to.Full input log for repro:
(FWIW: I can add logic to the AI to ignore all choice errors after a
|callback
to work around this, but I don't think that's the correct approach)