Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Known Mechanics Bugs #2367

Open
Marty-D opened this issue Jan 8, 2016 · 123 comments · Fixed by #5025
Open

Known Mechanics Bugs #2367

Marty-D opened this issue Jan 8, 2016 · 123 comments · Fixed by #5025

Comments

@Marty-D
Copy link
Collaborator

Marty-D commented Jan 8, 2016

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.

@Zarel

This comment has been minimized.

@TheImmortal

This comment has been minimized.

@Zarel

This comment has been minimized.

@Zarel

This comment has been minimized.

@Slayer95

This comment has been minimized.

@Zarel

This comment has been minimized.

@Slayer95 Slayer95 added the bug label Feb 12, 2016
@TheImmortal

This comment has been minimized.

@ascriptmaster

This comment has been minimized.

@ascriptmaster

This comment has been minimized.

@Zarel

This comment has been minimized.

@Layell

This comment has been minimized.

@Layell

This comment has been minimized.

@Zarel

This comment has been minimized.

@Marty-D

This comment has been minimized.

@ascriptmaster

This comment has been minimized.

@ascriptmaster

This comment has been minimized.

@alex-taxiera

This comment has been minimized.

@Zarel

This comment has been minimized.

@alex-taxiera

This comment has been minimized.

@Zarel

This comment has been minimized.

@alex-taxiera

This comment has been minimized.

@Zarel

This comment has been minimized.

@alex-taxiera

This comment has been minimized.

@Zarel

This comment has been minimized.

@alex-taxiera

This comment has been minimized.

@alex-taxiera

This comment has been minimized.

@scheibo

This comment has been minimized.

@Zarel
Copy link
Member

Zarel commented Mar 7, 2019

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
Copy link
Collaborator Author

Marty-D commented Mar 7, 2019

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
Copy link
Member

Zarel commented Jun 30, 2019

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
Copy link
Contributor

QuiteQuiet commented Jul 1, 2019

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
Copy link

NotTsunami commented Jul 17, 2019

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
Copy link
Contributor

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
Copy link

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
Copy link
Contributor

jmclemo6 commented Jul 17, 2019

@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
Copy link

@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
Copy link
Collaborator Author

Marty-D commented Jul 18, 2019

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 smogon/pokemon-showdown-client@e47d261.

@Zarel
Copy link
Member

Zarel commented Aug 31, 2019

@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
Copy link
Collaborator Author

Marty-D commented Aug 31, 2019

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
Copy link
Member

Zarel commented Aug 31, 2019

Oh, that's fair.

@DaWoblefet
Copy link
Member

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
Copy link
Member

Zarel commented Aug 31, 2019

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

@scheibo
Copy link
Contributor

scheibo commented Aug 31, 2019

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

@Zarel
Copy link
Member

Zarel commented Aug 31, 2019

Sorry, that's what I meant, too.

@scheibo
Copy link
Contributor

scheibo commented Aug 31, 2019

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

  • Spread moves effect order
    This is a serious problem with how Doubles/Triples currently handles spread moves: individually hitting each target and running all the relevant effects on the first target before moving to the next one. In-game, each target goes through one step before moving to the next step and going through each target again, much like end-of-turn effects. See also general flow of after move effects.

  • Moves called by other moves should be prevented by some "BeforeMove" checks
    Specifically, effects that stop certain moves from executing. For example, Metronome -> Recover should be stopped by Heal Block but not full paralysis. See also submoves.

  • Berry interaction with Unnerve switching to Unnerve
    The opposing side's Berries should be able to activate between the time the first Unnerve Pokemon switches out and before the next Unnerve Pokemon switches in.

  • Power of Alchemy/Receiver interaction with Beast Boost/Moxie/Soul-Heart
    As the former takes over the latter when an ally faints, the new Ability immediately grants a boost if the ally fainted from the user's attack (in Soul-Heart's case, even if it fainted for other reasons).

  • Turn order
    See Turn Order needs to be handled how it is in-game #1157

Past Gens

Gen IV
Gen III

--

Gen II

Research needed

  • Speed calculation in past gens
  • Hacked genders in past gens (see Genders can be hacked #2327)
  • Which Berries cannot activate Cheek Pouch when eaten with Bug Bite/Fling/Pluck
  • Similarly, which Berries do not count for Belch's requirement of having eaten a Berry to be used (when eaten with Bug Bite/Fling/Pluck). See also the Bug Report post and the one right below it.

Client Stuff

@TZubiri
Copy link
Contributor

TZubiri commented Nov 21, 2019

@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
Copy link
Contributor

scheibo commented Nov 22, 2019

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
Copy link

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.