smogon / pokemon-showdown

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

Known Mechanics Bugs #2367

Open Marty-D opened 8 years ago

Marty-D commented 8 years ago

Bugs are now listed in the 'Mechanic Bugs' project

https://github.com/Zarel/Pokemon-Showdown/projects/3

You can comment in psim.us/dev or on this bug with any questions or to signal your intent to work on a specific bug listed on the project.

scheibo commented 5 years ago

I think pkmn.cc/ps-mechanics-bugs reflects the current state of this list to the best of my understanding as an outsider from trying to grok this thread. I think it would be beneficial to either open a new bug, or (preferably) split these into separate bugs (which would help avoid the accidental closures).

scheibo commented 5 years ago

Originally posted by @scheibo in https://github.com/Zarel/Pokemon-Showdown/issues/5242#issuecomment-470226352

Zarel commented 5 years ago

We might want Known Mechanics Bugs to be a Project rather than an issue. Maybe the issue could stay around, but just be a link to the project?

Marty-D commented 5 years ago

After looking into it a bit, the underlying mechanic to

is that it's actually a desync. When a Pokemon that needs to recharge gets frozen, the attacker's game clears the recharge status and the defender's game doesn't. This desync never has a chance to really present itself when you use Haze because clearing sleep or freeze with Haze doesn't let the Pokemon move that turn anyway, and then it's perpetually stuck in the "must recharge" action whenever either game expects an action.

If you thaw it with a move that can burn instead, it can move that turn and will use Hyper Beam immediately on the attacker's side and recharge on the defender's side.

Edit: So glad I got a first try freeze for the recording! gen1hazefreezerecharge

Zarel commented 5 years ago

It looks like we have the project now:

https://github.com/Zarel/Pokemon-Showdown/projects/3

Should we shut down this issue and direct everyone there?

QuiteQuiet commented 5 years ago

Self-hit confusion will not activate Sitrus or super Sitrus (Figy, Iapapa, Wiki, Aguav, Mago) Berries (source; I also have Gen 7 Battle Video if needed) (fixed in #4045)

This was reverted. I don't think this has actually been fixed again since, but is still marked as fixed.

NotTsunami commented 5 years ago

I would prefer it be open simply for the discussion of a specific issue, as such:

I'm currently looking at the Flower Veil issue as shown in https://replay.pokemonshowdown.com/gen7doublescustomgame-941838162. For some reason it seem Sceptile is actually given Flower Veil instead of the effect simply being applied to him (Hover over Sceptile after Toxic is attempted).

Looking at the abilities code, I'm wondering if this line: https://github.com/Zarel/Pokemon-Showdown/blob/master/data/abilities.js#L1040 should rather read: this.add('-activate', this.effectData.target, 'ability: Flower Veil', '[of] ' + source); instead of this.add('-activate', this.effectData.target, 'ability: Flower Veil', '[of] ' + target);

I'd have to dig deeper to see if this is actually the case, but if the [of] is indicative of what Pokemon it's coming from, it's definitely the source and not the target, hence what would read "[Sceptile's Flower Veil]". If that is the case, this would need to be updated for most ally-effected abilities like Aroma Veil, Sweet Veil, etc.

cc @Marty-D on this because I know you've done a lot of work on abilities, and more specifically the ally-effected abilities this issue specifically applies to.

jmclemo6 commented 5 years ago

I would prefer it be open simply for the discussion of a specific issue, as such:

I'm currently looking at the Flower Veil issue as shown in replay.pokemonshowdown.com/gen7doublescustomgame-941838162. For some reason it seem Sceptile is actually given Flower Veil instead of the effect simply being applied to him (Hover over Sceptile after Toxic is attempted).

Looking at the abilities code, I'm wondering if this line: /data/abilities.js@master#L1040 should rather read: this.add('-activate', this.effectData.target, 'ability: Flower Veil', '[of] ' + source); instead of this.add('-activate', this.effectData.target, 'ability: Flower Veil', '[of] ' + target);

I'd have to dig deeper to see if this is actually the case, but if the [of] is indicative of what Pokemon it's coming from, it's definitely the source and not the target, hence what would read "[Sceptile's Flower Veil]". If that is the case, this would need to be updated for most ally-effected abilities like Aroma Veil, Sweet Veil, etc.

cc @Marty-D on this because I know you've done a lot of work on abilities, and more specifically the ally-effected abilities this issue specifically applies to.

@NotTsunami, source at that point is referring to the pokemon that tried setting the status of the Flower Veil user's ally. In that replay, source is Gengar for example.

NotTsunami commented 5 years ago

I would prefer it be open simply for the discussion of a specific issue, as such: I'm currently looking at the Flower Veil issue as shown in replay.pokemonshowdown.com/gen7doublescustomgame-941838162. For some reason it seem Sceptile is actually given Flower Veil instead of the effect simply being applied to him (Hover over Sceptile after Toxic is attempted). Looking at the abilities code, I'm wondering if this line: /data/abilities.js@master#L1040 should rather read: this.add('-activate', this.effectData.target, 'ability: Flower Veil', '[of] ' + source); instead of this.add('-activate', this.effectData.target, 'ability: Flower Veil', '[of] ' + target); I'd have to dig deeper to see if this is actually the case, but if the [of] is indicative of what Pokemon it's coming from, it's definitely the source and not the target, hence what would read "[Sceptile's Flower Veil]". If that is the case, this would need to be updated for most ally-effected abilities like Aroma Veil, Sweet Veil, etc. cc @Marty-D on this because I know you've done a lot of work on abilities, and more specifically the ally-effected abilities this issue specifically applies to.

@NotTsunami, source at that point is referring to the pokemon that tried setting the status of the Flower Veil user's ally. In that replay, source is Gengar for example.

Ah, I see. Thanks for the clarification! Either way, there's a good chance the issue remains the same with the other Veil/ally abilities too.

jmclemo6 commented 5 years ago

@NotTsunami if you're going to work on that bug, then I think a good place to start would be to get a list of the target's allies that have Flower Veil, find out which Flower Veil should activate first if there are multiple allies with the ability, and then use that ally's name in the message.

NotTsunami commented 5 years ago

@NotTsunami if you're going to work on that bug, then I think a good place to start would be to get a list of the target's allies that have Flower Veil, find out which Flower Veil should activate first if there are multiple allies with the ability, and then use that ally's name in the message.

I'm probably not going to have time to work on that issue as my main focus is on some other projects right now, and I'd want to dig deeper and actually understand what's going on. The issue doesn't seem to be multiple Pokemon having Flower Veil, instead Pokemon incorrectly inheriting Flower Veil. Sceptile's ability could have either been Overgrow or Unburden.

Marty-D commented 5 years ago

When I implemented those messages almost 5 years ago they definitely worked properly, showing [Florges's Flower Veil] Sceptile surrounded itself with a veil of petals!, for example. Not sure why or how it broke yet, but I'll look into it soon, thanks for the tag!

Edit: It was a client issue which Zarel has fixed in https://github.com/Zarel/Pokemon-Showdown-Client/commit/e47d261b46ccb0faefed3662dfb8750809f2dc9d.

Zarel commented 4 years ago

@Marty-D Do we still have a need for this issue? It should probably be closed and everyone directed to the project, right?

Marty-D commented 4 years ago

NotTsunami commented on Jul 16 I would prefer it be open simply for the discussion of a specific issue

I think that's a pretty good reason to leave this issue open, since the only people who can do anything with projects are collaborators, and I don't have time to micromanage every little bug that would otherwise make its way here. You can remove it from the pinned issues if you'd like.

Zarel commented 4 years ago

Oh, that's fair.

DaWoblefet commented 4 years ago

As long as it's made obvious that the OP isn't the full list of mechanics bugs that need fixing (since https://github.com/Zarel/Pokemon-Showdown/projects/3 has over 50 at time of posting), I think leaving this issue open is fine.

Zarel commented 4 years ago

How do we feel about at least making the OP a link to the project?

scheibo commented 4 years ago

I'd even go further and edit to first post to ONLY contain a link to the project.

Zarel commented 4 years ago

Sorry, that's what I meant, too.

scheibo commented 4 years ago

I've edited the main post. I've copied the previous state of @Marty-D's post below, in case anything is still relevant (though the edit history of the original post should also reveal what was previously there):


Anyone is encouraged to take on any of these tasks! Once a task is completed, either comment below directly, make a reference to this issue from the pull request, or feel free to check it off yourself if you're a Collaborator. Checked items will be removed after some time.

Battle Mechanics

Past Gens

Gen IV
Gen III

--

Gen II

Research needed


Client Stuff

TZubiri commented 4 years ago

@Marty-D @scheibo Hello, I am triaging issues from the bug report thread so that devs can have a curated list of bugs, can I have access to creating tasks in the known mechanics project?

scheibo commented 4 years ago

I just spent 20 minutes trying to figure out how to do it and GH's documentation is suggesting there should be options in a dropdown menu which definitely doesnt exist for me. Someone else can try, but I give up.

TheVanadium commented 1 year ago

Is Gen 1's Mechanics bugs page up to date? https://github.com/smogon/pokemon-showdown/projects/3#card-69826763