Ask simple questions here! [READ ORIGINAL POST before posting]

I'm curious...

PS! allows posting in chatrooms without registration and without going through a captcha.

On my intuition, such a situation would be an open invitation for spambots advertising shady weight loss pills.

Yet this is not the case. The help chatroom is not being spammed with those.

How? Does PS! take additional invisible anti-bot measures, or are bots simply too stupid to (a) choose a name (b) enter the chatroom (c) spam?
 

Kalalokki

is a Site Content Manageris a Top Social Media Contributoris an Artistis a Member of Senior Staffis a Community Contributoris a Smogon Discord Contributoris a Pokemon Researcheris a Top Smogon Media Contributoris an Administrator Alumnusis a Battle Simulator Moderator Alumnus
Sprite Leader
I'm curious...

PS! allows posting in chatrooms without registration and without going through a captcha.

On my intuition, such a situation would be an open invitation for spambots advertising shady weight loss pills.

Yet this is not the case. The help chatroom is not being spammed with those.

How? Does PS! take additional invisible anti-bot measures, or are bots simply too stupid to (a) choose a name (b) enter the chatroom (c) spam?
Most ways for bots to connect to PS are blocked automatically
 

Raidx

Banned deucer.
So i asked this a while ago and it went unanswered, so i figured i ask again. How would i go about using <audiocontrols> in my roomintro? I've tried multiple times and i'm having trouble getting it to work. Idk if it's a Chrome thing or what but a long time ago The Happy Place had audio in there which i thought was p cool. It'd be perfect for my room, so if anyone can help me please that would be very, very much appreciated.
 

Ryota Mitarai

Shrektimus Prime
is a Tiering Contributoris a Contributor to Smogonis a Top Smogon Media Contributor
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.
 

Ryota Mitarai

Shrektimus Prime
is a Tiering Contributoris a Contributor to Smogonis a Top Smogon Media Contributor
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

Don't @ me
is a Battle Simulator Admin Alumnusis a Community Leader Alumnusis a Programmer Alumnus
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:
When will we have colour coding in the teambuilder on Showdown ? / An option to only use XY sprites for the team builder and not in game ?
 
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 Battle Simulator Administratoris a Community Leaderis a Programmeris a Community Contributoris a Top Researcheris a Top Tiering Contributoris a Social Media Contributor Alumnus
PS Admin
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:
Pointless question: Why does learnsets.js store the full movepools for all Kyurem and Necrozma forms but not for Rotom?
 

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

Top