Pokémon battle simulator.
Go to file
Guangcong Luo 78439b4a02
Update to ESLint 9 (#10926)
ESLint has a whole new config format, so I figure it's a good time to
make the config system saner.

- First, we no longer have separate eslint-no-types configs. Lint
  performance shouldn't be enough of a problem to justify the
  relevant maintenance complexity.

- Second, our base config should work out-of-the-box now. `npx eslint`
  will work as expected, without any CLI flags. You should still use
  `npm run lint` which adds the `--cached` flag for performance.

- Third, whatever updates I did fixed style linting, which apparently
  has been bugged for quite some time, considering all the obvious
  mixed-tabs-and-spaces issues I found in the upgrade.

Also here are some changes to our style rules. In particular:

- Curly brackets (for objects etc) now have spaces inside them. Sorry
  for the huge change. ESLint doesn't support our old style, and most
  projects use Prettier style, so we might as well match them in this way.
  See https://github.com/eslint-stylistic/eslint-stylistic/issues/415

- String + number concatenation is no longer allowed. We now
  consistently use template strings for this.
2025-02-25 20:03:46 -08:00
.github/workflows Update to ESLint 9 (#10926) 2025-02-25 20:03:46 -08:00
.vscode Update to ESLint 9 (#10926) 2025-02-25 20:03:46 -08:00
config Update to ESLint 9 (#10926) 2025-02-25 20:03:46 -08:00
data Update to ESLint 9 (#10926) 2025-02-25 20:03:46 -08:00
databases Teams DB: Fix column for format_idx (#10632) 2024-11-03 01:21:14 -05:00
lib Update to ESLint 9 (#10926) 2025-02-25 20:03:46 -08:00
logs Restore READMEs for logs/ subdirs 2021-10-06 16:55:39 -05:00
server Update to ESLint 9 (#10926) 2025-02-25 20:03:46 -08:00
sim Update to ESLint 9 (#10926) 2025-02-25 20:03:46 -08:00
test Update to ESLint 9 (#10926) 2025-02-25 20:03:46 -08:00
tools Update to ESLint 9 (#10926) 2025-02-25 20:03:46 -08:00
translations Translations: Add missing Dutch translations (#10794) 2025-01-10 12:53:29 -06:00
.editorconfig Editorconfig: Increase indent size to 3 spaces (#4090) 2017-10-29 13:21:55 -05:00
.gitattributes Normalize file endings when committing. 2015-12-31 19:10:53 +01:00
.gitignore Fully gitignore logs/ 2024-05-18 03:27:11 -05:00
.mocharc.json Random Battles: Add basic unit test framework 2021-03-18 18:17:25 -07:00
.npmignore Include config-example.js in npm package 2023-04-14 03:47:01 +09:00
.npmrc Add package-lock.json 2023-02-16 19:42:58 -05:00
ARCHITECTURE.md Improve ARCHITECTURE.md more 2024-11-05 00:10:39 +09:00
build Update to ESLint 9 (#10926) 2025-02-25 20:03:46 -08:00
CODEOWNERS Add Super Staff Bros: Ultimate (#10279) 2024-05-04 12:01:51 -06:00
COMMANDLINE.md fix sim/README.md hyperlink (#9896) 2023-11-12 22:49:50 -06:00
CONTRIBUTING.md CONTRIBUTING: Update dependencies and package-lock sections 2025-01-16 12:17:28 -08:00
eslint-ps-standard.mjs Update to ESLint 9 (#10926) 2025-02-25 20:03:46 -08:00
eslint.config.mjs Update to ESLint 9 (#10926) 2025-02-25 20:03:46 -08:00
LICENSE Update LICENSE year (#10216) 2024-03-19 23:59:10 -04:00
old-simulator-doc.txt Change weight units to hectograms (#5765) 2019-10-03 14:00:16 +10:00
package-lock.json Update to ESLint 9 (#10926) 2025-02-25 20:03:46 -08:00
package.json Update to ESLint 9 (#10926) 2025-02-25 20:03:46 -08:00
pokemon-showdown PRNGSeed is now a string (#10826) 2025-01-15 15:51:28 -08:00
Procfile Update Procfile (#4937) 2018-10-29 23:27:24 -05:00
PROTOCOL.md Fix oversights in & to ~ migration (#10595) 2024-10-06 10:07:03 -06:00
README.md Update various instances of old author names 2024-07-01 12:23:44 -06:00
simulator-doc.txt Fix bugs with secondary/ability order 2020-02-08 08:07:39 -08:00
tsconfig.json Update to ESLint 9 (#10926) 2025-02-25 20:03:46 -08:00

Pokémon Showdown

Navigation: Website | Server repository | Client repository | Dex repository

Build Status Dependency Status

Introduction

Pokémon Showdown is many things:

Pokémon Showdown simulates singles, doubles and triples battles in all the games out so far (Generations 1 through 9).

  • PROTOCOL.md - How the client and server communicate with each other.

  • sim/SIM-PROTOCOL.md - The part of the protocol used for battles and battle messages.

  • CONTRIBUTING.md - Useful code standards to understand if you want to send pull requests to PS (not necessary if you're just using the code and not planning to contribute back).

  • ARCHITECTURE.md - A high-level overview of how the code works.

  • Bot FAQ - An FAQ compiled by Kaiepi regarding making Pokemon Showdown bots - mainly chatbots and battle bots.

Community

PS has a built-in chat service. Join our main server to talk to us!

You can also visit the Pokémon Showdown forums for discussion and help.

If you'd like to contribute to programming and don't know where to start, feel free to check out Ideas for New Developers.

License

Pokémon Showdown's server is distributed under the terms of the MIT License.

Credits

Owner

  • Guangcong Luo [Zarel] - Development, Design, Sysadmin

Staff

  • Andrew Werner [HoeenHero] - Development
  • Annika L. [Annika] - Development
  • Chris Monsanto [chaos] - Development, Sysadmin
  • Kris Johnson [dhelmise] - Development
  • Leonard Craft III [DaWoblefet] - Research (game mechanics)
  • Mathieu Dias-Martins [Marty-D] - Research (game mechanics), Development
  • Mia A [Mia] - Development

Contributors