smogon / pokemon-showdown

Pokémon battle simulator.
https://pokemonshowdown.com
MIT License
4.77k stars 2.79k forks source link

In Random Battle, Zoroark causes team pane to misformat #4795

Closed liamrathke closed 6 years ago

liamrathke commented 6 years ago

In random battles, when a Zoroark is switched in for the first time, its Illusion takes up one slot in the team pane. Then, when Illusion fades, Zoroark takes up another slot. This means that Zoroark takes up two slots when it should only be taking one, so the last slot does not show up at all.

screen shot 2018-08-06 at 8 47 55 pm

Here, I had Muk in the 7th slot, but it's blocked out since Cofragius appears twice (once as Zoroark's Illusion, once as itself).

Zarel commented 6 years ago

Yeah, I got a report on Twitter about this, too.

Unfortunately, this isn't very easy to fix. What should be done here, do you think?

Zarel commented 6 years ago

The only fix is probably to allow more than 6 pokemon in the team list, if there's a Zoroark involved.

Zarel commented 6 years ago

Do you have a replay link, by any chance?

Zarel commented 6 years ago

Okay, I found a replay:

http://replay.pokemonshowdown.com/gen7randombattle-787021610

(You actually posted it in Dev but forgot to put it here. Remember, every little thing helps, and replays are basically required if you want us to fix anything.)

Zarel commented 6 years ago

I fixed the worst bug, which made it so pokemon beyond the 6th weren't showing up. Now they are showing up.

I think on top of that, I'd want to combine multiple species into a single entry, if Species Clause is on. Only one will be the "real" Cofagrigus, but that can just be noted in the tooltip.

SadisticMystic commented 6 years ago

Besides the obvious lack of team preview, the other reason this is specific to randbats is that in normal battles, you almost always use nothing but L100s, so a Cofagrigus shows up as "L100 Cofagrigus" and then a Zoroark that disguises in that slot will also appear as "L100 Cofagrigus", which are indistinguishable. For all the team tracker knows, those slots are one and the same.

In randbats, though, you can have a L80 Cofagrigus, but a Zoroark will appear as a L78 Cofagrigus instead (an interaction that was recently set right by #4764 ), so the team tracker can be certain that whatever's going on, that accounts for two distinct party slots. The really ugly case is where Zoroark leaves without its illusion being formally broken, then comes back later in the battle disguised as something else; there's no real good way to present such a case to the opponent unless you give them a "cheat sheet" tipping them off to the current implementation of randbats and specifically pointing out when a Pokemon shows up with the "wrong" level for its tier.

Hackmons and Custom Game formats are a different beast entirely, since there you can't even constrain that an Illusion user must be Zorua or Zoroark. But the ability might be on its way out of BH soon, and Custom Game was never meant to be played seriously, so any illusion bugs affecting those formats can be treated as a lower priority.

Zarel commented 6 years ago

Yeah, I don't like how correct mechanics makes randbats Zoroark useless. I might actually set up an Illusion Clause Mod for randbats specifically.

Zarel commented 6 years ago

I ended up setting Illusion Clause Mod which was immediately reverted. The new compromise was to set Zoroark's level to the level of the last Pokémon.

This wouldn't prevent this issue from appearing, but at least it will be less common, now.

Zarel commented 6 years ago

Closing; this will be tracked in:

https://github.com/Zarel/Pokemon-Showdown-Client/issues/1149