Open Marty-D opened 8 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).
- Gen I: Haze thawing Pokemon frozen during Hyper Beam recharge resulting in the thawed Pokemon never being able to move again
- Gen II: Lock On / Mind Reader + Fly / Dig interaction with moves like Transform, Spider Web, etc
- Gen II: Confusion damage is affected by ~type-boosting items~ and Explosion/Self-Destruct doubling (Type-boosting items are already covered)
- Moves that lower Defense can do so after breaking a Substitute
Originally posted by @scheibo in https://github.com/Zarel/Pokemon-Showdown/issues/5242#issuecomment-470226352
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?
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!
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?
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.
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.
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 ofthis.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.
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 ofthis.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.
@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 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.
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.
@Marty-D Do we still have a need for this issue? It should probably be closed and everyone directed to the project, right?
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.
Oh, that's fair.
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.
How do we feel about at least making the OP a link to the project?
I'd even go further and edit to first post to ONLY contain a link to the project.
Sorry, that's what I meant, too.
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.
[ ] 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 #1157
[ ] Encore should fail if the target did not make a move during its turn Due to flinch, full paralysis, etc.
[ ] Encore targeting in Double Battles When a target is affected it should not get a chance to choose a target with the forced move; target is randomly chosen.
[x] U-turn into Intimidate doesn't work when breaking Substitutes Reported in https://www.smogon.com/forums/threads/bug-reports-v2-0-read-op-before-posting.3469932/page-378#post-7597157 Fixed in https://github.com/Zarel/Pokemon-Showdown/pull/5222
--
f
on this page)-cureteam
should not remove status from active Pokemon that were not actually cured
For example, Aromatherapy with an ally behind a substitute (Turn 2)@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?
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.
Is Gen 1's Mechanics bugs page up to date? https://github.com/smogon/pokemon-showdown/projects/3#card-69826763
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.