Ask A Simple Question, Get A Simple Answer - PS! Edition (please read before posting a thread)

Dunno how often this gets brought up, but is there a reason why the new USUM mons (Necrozma forms and new UBs) don't have their cries on Showdown yet? Games have been out for close to half a year, so I'm really curious.
Probably because no one has bothered taking them and donate them to the PS Developer team/adding them
 
Probably because no one has bothered taking them and donate them to the PS Developer team/adding them
I'd have to wonder about that, since the games were thoroughly datamined (with the data dumped on this site, no less) before their official release date. I was able to easily find sound files of the cries with a quick Google search, so... yeah.
 
I'd have to wonder about that, since the games were thoroughly datamined (with the data dumped on this site, no less) before their official release date. I was able to easily find sound files of the cries with a quick Google search, so... yeah.
I presume again that PS won't be plagiarising from other sites and such
 

Ridaz

PS! Battle Explosions Developer
is a Battle Server Administratoris a Community Leaderis a Programmer
Community Leader
Dunno how often this gets brought up, but is there a reason why the new USUM mons (Necrozma forms and new UBs) don't have their cries on Showdown yet? Games have been out for close to half a year, so I'm really curious.
Probably because no one has bothered taking them and donate them to the PS Developer team/adding them
I'd have to wonder about that, since the games were thoroughly datamined (with the data dumped on this site, no less) before their official release date. I was able to easily find sound files of the cries with a quick Google search, so... yeah.
I presume again that PS won't be plagiarising from other sites and such
Wrong assumptions

Long story short, life happened and I forgot to convert these
 
Last edited:
Okay, so I was scrolling through this because that's what I like to do with my free time, and I noticed that the stuff in that file doesn't always exactly match the outputs of Showdown!'s /ds command. For example, /ds automatically excludes CAP Pokemon (and Missingno., no idea why it's even there in the first place), includes pre-evolution moves (it says Butterfree learns iron defense even though the learnsets file says otherwise), and includes moves only learned from sketch. What are all of those exceptions or adjustments that /ds makes after reading that file? Or does it not read that file at all and get its information from somewhere else?
 
Okay, so I was scrolling through this because that's what I like to do with my free time, and I noticed that the stuff in that file doesn't always exactly match the outputs of Showdown!'s /ds command. For example, /ds automatically excludes CAP Pokemon (and Missingno., no idea why it's even there in the first place), includes pre-evolution moves (it says Butterfree learns iron defense even though the learnsets file says otherwise), and includes moves only learned from sketch. What are all of those exceptions or adjustments that /ds makes after reading that file? Or does it not read that file at all and get its information from somewhere else?
learnsets.js is basically a dump of the list of moves that a given Pokémon be taught and how and in which generation(s). However Pokémon can have access to moves that they can't be taught directly, either via learning from a prior evolution, being hatched from an egg with a specific egg move, or from an event distribution, and in the case of Smeargle, by using the Sketch move in battle, although in the case of being hatched from an egg, some of those also have entries in learnsets.js. The /ds command takes all of these things into account when searching for matching Pokémon, and even makes sure that the moves are compatible (i.e. not mixing moves from, say, two different events).

Unfortunately you can't search both CAP and standard Pokémon at the same time.
 
learnsets.js is basically a dump of the list of moves that a given Pokémon be taught and how and in which generation(s). However Pokémon can have access to moves that they can't be taught directly, either via learning from a prior evolution, being hatched from an egg with a specific egg move, or from an event distribution, and in the case of Smeargle, by using the Sketch move in battle, although in the case of being hatched from an egg, some of those also have entries in learnsets.js. The /ds command takes all of these things into account when searching for matching Pokémon, and even makes sure that the moves are compatible (i.e. not mixing moves from, say, two different events).

Unfortunately you can't search both CAP and standard Pokémon at the same time.
Are these all the ways to "indirectly learn" a move? I'm trying to write my own /ds command executor and I want to make sure it works right.
 

DaWoblefet

Demonstrably so
is a Pokemon Researcheris a Tiering Contributor
I am wanting to start a fun VGC Hackmons tournament format option for my bot in the VGC room. That is, I want to incorporate standard hackmons behavior in a bring 6, pick 4 Doubles environment for my tournament option. It order to get around the validator, removing the "standardgbu" clause fixes most of the cases, but it notably removes Team Preview and the cancel mod (perhaps in addition to other things I might be wanting). Explicitly attempting to re-add Team Preview with /tour rules !standardgbu, teampreview doesn't do anything to re-add Team Preview, presumably because Team Preview is "built-in" to standardgbu in some way so /tour rules doesn't allow it. What would be the best way of implementing this sort of VGC hackmons using the tournament command?
 
Last edited:
Are these all the ways to "indirectly learn" a move? I'm trying to write my own /ds command executor and I want to make sure it works right.
Well, learnset validation is tricky, so I've probably missed something, but a Pokémon can learn a given move if:
  • It can learn the move by using the move Sketch
  • It's an alternate forme of a Pokémon that can learn the move (except for alternate formes have already their own movesets, except Rotom, which uses both movesets)
  • It's an evolution of a Pokémon that can learn the move
  • It learned the move in a previous generation and can legally be transferred with the move (some moves cannot be transferred, and some Pokémon will have the wrong Ability after being transferred)
  • It already learned the move by level up (or by the Move Relearner in Gen 7, or by its mother of the same species learning the move, or by the Pomeg Glitch in Gen 3)
  • It can learn the move by TM, HM or Move Tutor
  • It can learn the move from being caught in the Dream World, or being transferred from the Virtual Console, or from a distribution event, or from being hatched with a compatible father that knew the move (only one such for all moves in its set).
Explicitly attempting to re-add Team Preview with /tour rules !standardgbu, teampreview doesn't do anything to re-add Team Preview, presumably because Team Preview is "built-in" to standardgbu in some way so /tour rules doesn't allow it. What would be the best way of implementing this sort of VGC hackmons using the tournament command?
Actually it's just that `!` rules take priority over the format's rules, while non-`!` rules are added later, which means that you can't override subrules of `!` rules that way. As far as I can tell you'll have to unban everything individually (which is quite a bit...) (Side servers have an advantage here as they can simply create a customised format with the bring 6 pick 4 setting.)
 
learnsets.js is basically a dump of the list of moves that a given Pokémon be taught and how and in which generation(s).
Is it just a dump though? Since the categories 3C/4C, 5D, 7V are available already in there. So it contains information about Eggs, the DreamWorld, the Virtual Console transfers etc. It seems to me that it contains almost everything already except maybe some egg moves (?), and that the team validator or /ds just use this info to make sure that some combination of abilities and/or moves/natures etc. are not incompatible. I'd be happy to read some more doc about exactly what it contains and how it was made, and interfaces with the rest of the whole machinery.

However Pokémon can have access to moves that they can't be taught directly, [ ...] although in the case of being hatched from an egg, some of those also have entries in learnsets.js.
How are the 'some' exactly defined? Like which are included for sure, and which ones aren't?

Well, learnset validation is tricky
Indeed, and actually the machinery is all done in team-validator.js if I'm correct, at least when you click 'Validate' in Showdown, so I assume it's the same for /ds (which uses team-validator).
The thing is, this code may not catch all possible combinations, or return false positives, since it uses heuristics to lighten the CPU load, as this becomes quite heavy.
See for instance here, here, or here.

Oh and thanks for the recap of all the ways to learn a move :).

Are these all the ways to "indirectly learn" a move? I'm trying to write my own /ds command executor and I want to make sure it works right.
If I'm taking time to write all this (and actually the three of us already had some exchanges about this subject back in November last year) it is more or less for the same purpose. Seeing the limitations of the current validation system, I'd like to build a really completely exhaustive one, with zero false positives. So if you end up doing your own /ds and that you take into account some of what was said above I'd be very happy to see it :). If you do plan to realease it publicly, where would it be? Do you have a GitHub page?

--------------
In addition to all these remarks that have been making me wonder about legality checks for the past months (but I never got time to dig more and work on it, hopefully soon), I was wondering if there was communication between the members developing PKHeX and the people who did the team-validator code? Because I believe that both codes are very good of course, but seeing the focus of PKHex on legality, one could assume that their input could be interesting. Especially since it is run by Kaphotics who was a part of the great team that disassembled the Gen V damage formula, but unfortunately it seems his account isn't so active here anymore. I noticed, since I follow both Github's pages that there doesn't seem to be many common contributors to both projects, which is too bad, because some synergy could happen.
In any case, at least some comparison tests between the two would be nice I think, that could allow to see if there's some improvements possible (in how they go about the heavy calcs for the checks, etc.), and in terms of pure legality checks.
 
Last edited:
Is it just a dump though?
It's not quite a dump, because it includes moves available from freely switchable formes, events, and also some egg moves that were too tricky to handle otherwise. And of course it's in PS! format rather than in-game format.
It seems to me that it contains almost everything already except maybe some egg moves (?)
Actually the main thing that's missing from the learnsets is moves from previous evolutions; those are checked in a loop in the validator.
The thing is, this code may not catch all possible combinations, or return false positives, since it uses heuristics to lighten the CPU load, as this becomes quite heavy.
The big issue is egg moves, since you have to find a father who can legitimately learn all of the egg moves at the same time.
if you end up doing your own /ds and that you take into account some of what was said above I'd be very happy to see it :).
No chance; I'm still trying to work out how to teach the validator that it can't combine an event move with a move from a previous evolution...
 
So if you end up doing your own /ds and that you take into account some of what was said above I'd be very happy to see it :). If you do plan to realease it publicly, where would it be? Do you have a GitHub page?
No chance; I'm still trying to figure out how to use GitHub. Though if you check my forum signature next week then you might see a link to a partially done one.
Okay the next question is serious.
Well, learnset validation is tricky, so I've probably missed something, but a Pokémon can learn a given move if:
  • It can learn the move by using the move Sketch
  • It's an alternate forme of a Pokémon that can learn the move (except for alternate formes have already their own movesets, except Rotom, which uses both movesets)
  • It's an evolution of a Pokémon that can learn the move
  • It learned the move in a previous generation and can legally be transferred with the move (some moves cannot be transferred, and some Pokémon will have the wrong Ability after being transferred)
  • It already learned the move by level up (or by the Move Relearner in Gen 7, or by its mother of the same species learning the move, or by the Pomeg Glitch in Gen 3)
  • It can learn the move by TM, HM or Move Tutor
  • It can learn the move from being caught in the Dream World, or being transferred from the Virtual Console, or from a distribution event, or from being hatched with a compatible father that knew the move (only one such for all moves in its set).
Everything in italics isn't already accounted for by learnsets.js and has to be added or accounted for separately, and everything not in italics is stored in learnsets.js. Is that right?
 
Thanks a lot for your replies, that made things clearer :). Now I also understood the same things as sumwun's last post about learnset.js, so if you confirm, we'll be all good!

No chance; I'm still trying to work out how to teach the validator that it can't combine an event move with a move from a previous evolution...
So I take it that this is not currently implemented in the validator, right? What else is not working except some false positives Egg moves, and some combination of Egg moves missing in the validator then? I'm asking, since as I said I'm also trying to build a complete validator, based on what already exists.

Finally: no comment about PKHeX's system, and some possible use of their database/way of doing stuff/collaboration?
 
Everything in italics isn't already accounted for by learnsets.js and has to be added or accounted for separately, and everything not in italics is stored in learnsets.js. Is that right?
I think that's right, except I missed a case, and that's for LC in Gen 6 or earlier (in Gen 7 you just use the Move Relearner) where if the Pokémon's mother knows the move then the Pokémon can be hatched with a move it would normally have to level up to learn.
So I take it that this is not currently implemented in the validator, right? What else is not working except some false positives Egg moves, and some combination of Egg moves missing in the validator then? I'm asking, since as I said I'm also trying to build a complete validator, based on what already exists.
There's no prevo/past gen check, correct. For Egg moves, I know it doesn't always correctly determine whether there's an available father, but unfortunately I don't know the details.
Finally: no comment about PKHeX's system, and some possible use of their database/way of doing stuff/collaboration?
Sorry, I've not had the chance to look.
 
Hey, so I know its probably low priority, but I've noticed you've added some fake Pokemon to the game. Seeing as you've done this, any plans to add the cut Pokémon from the Pokémon Gold and Silver 1997 beta that was just leaked? I think it would be pretty neat, perhaps the community could come up with move sets and stats for them?
 
I'd like to know how many games are played each month for randomized metas (mainly gen1)

Since the usage stats were removed, I can't find what I'm looking for anywhere :(
 
Hey, so I know its probably low priority, but I've noticed you've added some fake Pokemon to the game. Seeing as you've done this, any plans to add the cut Pokémon from the Pokémon Gold and Silver 1997 beta that was just leaked? I think it would be pretty neat, perhaps the community could come up with move sets and stats for them?
There are not plans for this, as far as I know, as they were not in the main series games or usable on wifi, just in the demo. And those fake Pokémon are from the CAP Project, which is a smogon project unrelated to this. They were added for different reasons.
 
How long do replays last for? I was trying to get replays for OU Creative/underrated sets, and the replay I got is not enough to demonstrate the set's primary role. I want to get a replay for that, but I want to make sure the one I have will last until then.
 
How long do replays last for? I was trying to get replays for OU Creative/underrated sets, and the replay I got is not enough to demonstrate the set's primary role. I want to get a replay for that, but I want to make sure the one I have will last until then.
as long as you save them with the "save replay" button or the /savereplay command, they'll last forever
unless something happens that wrecks the replay site, or something like that.
otherwise, the battle room will expire after 15 min of inactivity.
 

Users Who Are Viewing This Thread (Users: 1, Guests: 0)

Top