smogon / pokemon-showdown

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

Assist + dancer targets ally #8556

Closed BlackCapCoder closed 1 year ago

BlackCapCoder commented 2 years ago

https://replay.pokemonshowdown.com/gen7doublesou-1467106869

On turn 8, Oricorio uses revelation dance to attack an enemy. Meowstick have the dancer ability, so it copies the move to attack an enemy. This is correct behavior.

On turn 9, Meowstick uses revelation dance through assist to attack an enemy. Oricorio have the dancer ability, so it copies the move, but incorrectly attack Meowstick- an ally. This is incorrect behavior.


There are 3 attack dance moves:

None of these will attack an ally when used normally (not thought assist).

Petal dance always target a random opponent, so it is not subject to the issue.

Revelation dance consistently always target an ally when used though assist and copied. (observed about five times)

I suspect fiery dance also have the issue, but I've never seen it.

DaWoblefet commented 2 years ago

I'll have to check this on cart to make sure it really is bugged, but I assume it is. Showdown is likely taking the initial target of the Revelation Dance (Assist targets self) rather than the effective target of Revelation Dance, which makes me wonder how it works with redirection. Thanks for the report.

BlackCapCoder commented 2 years ago

Fiery dance does indeed also have this issue.

Instruct does something similar: A pokemon with dancer uses revelation dance on an enemy. An ally uses instruct on the dancer. The dancer repeats revelation dance on the enemy a second time, then uses revelation dance a third time on the ally who used instruct: https://replay.pokemonshowdown.com/gen7doublesou-1542751777

Surely it should either not repeat it's own dance move, or at least attack the enemy as if another pokemon used the move?

Interestingly, if both pokemon have dancer the attack is correctly used twice by each mon- as opposed to three times by the sole dancer..

monsanto commented 1 year ago

@DaWoblefet any update?

BlackCapCoder commented 1 year ago

The instruct thing appears to have been fixed as of a few months ago. It used to be occasionally useful with quiver dance Lilligant.

DaWoblefet commented 1 year ago

Yep this was fixed in https://github.com/smogon/pokemon-showdown/pull/9193