Guangcong Luo f6c03e0370 Implement new battle-text-parser
All battle text messages have been moved out of `src/battle.ts` and
into its own file `data/text.js`.

Code for handling this is in the new files `src/battle-log.ts` and
`src/battle-text-parser.ts`.

`data/text.js` is now extremely self-contained, and nearly ready for
translation support!

This is a significant modernization of battle.ts. In addition to moving
messages out:

Functions for getting names (`pokemon.getLowerName()` etc) have been
removed.

`battle.minorQueue` has been removed. Minor lines are now processed
directly on the main queue, with a new `battle.waitForAnimations`
flag to decide whether or not the main queue should wait for animations
to finish before moving on to the next line.

`battle.waitForResult()` and `battle.endPrevAction()` have been
removed. These confusingly-named functions closed the messagebar (and
flush the minor queue). They've been replaced with
`scene.maybeCloseMessagebar()`.

`pokemon.markMove()` and `pokemon.markAbility()` have been renamed
`pokemon.rememberMove()` and `pokemon.rememberAbility()`.
2018-11-15 18:52:53 -06:00
2018-05-17 11:52:32 -05:00
2018-11-15 18:52:53 -06:00
2016-02-02 19:44:24 -05:00
2018-04-01 09:11:28 +01:00
2016-04-08 05:25:25 -07:00
2018-11-15 18:52:53 -06:00
2018-11-14 21:49:40 -05:00
2018-11-15 18:52:53 -06:00
2018-06-11 03:24:32 -07:00
2014-01-12 01:26:57 -06:00
2018-10-16 14:53:27 -05:00
2018-11-15 18:52:53 -06:00
2018-11-15 18:52:53 -06:00
2018-05-19 19:16:01 -04:00
2018-05-14 17:14:27 -05:00
2017-11-14 19:26:16 -05:00
2016-02-02 19:44:24 -05:00
2018-10-16 03:52:16 -05:00
2017-06-21 23:13:16 -04:00
2016-02-02 19:44:24 -05:00
2016-04-08 05:25:25 -07:00
2016-04-08 05:25:25 -07:00
2016-04-08 05:25:25 -07:00
2017-11-21 07:50:32 -05:00
2016-02-02 19:44:24 -05:00
2016-04-08 05:25:25 -07:00
2016-01-02 16:14:18 +01:00
2018-02-16 04:55:01 -05:00
2017-03-08 12:29:33 -06:00
2017-11-21 07:50:32 -05:00
2013-09-20 16:48:31 -05:00
2018-10-16 21:45:18 -05:00
2016-02-02 19:44:24 -05:00
2013-04-27 01:51:38 -07:00
2016-02-02 19:44:24 -05:00
2018-10-16 03:52:16 -05:00
2017-11-21 07:50:32 -05:00
2016-02-22 15:24:26 -05:00
2017-11-21 07:50:32 -05:00
2018-10-16 14:53:27 -05:00

Pokémon Showdown Client

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

Introduction

This is a repository for most of the client code for Pokémon Showdown.

This is what runs play.pokemonshowdown.com.

WARNING: You probably want the Pokémon Showdown server, if you're setting up a server.

Testing

Client testing now requires a build step! Install the latest Node.js (we require v10 or later), and run node build (on Windows) or ./build (on other OSes) to build.

You can make and test client changes simply by building after each change, and opening testclient.html. This will allow you to test changes to the client without setting up your own login server.

You can connect to an arbitrary server by navigating to testclient.html?~~host:port. For example, to connect to a server running locally on port 8000, you can navigate to testclient.html?~~localhost:8000.

The following things will fail in testclient.html:

  • Registering
  • Changing name to a registered name other than the one you are currently logged in with (however, changing to an unregistered name will work, and you can even change back to your original registered name afterward)

Everything else can be tested, though.

Warning

This repository is not "batteries included". It does NOT include instructions to run a full Pokémon Showdown login server, and we will not provide them. Please do not ask for help on this; you will be turned away.

If you make a mistake hosting a login server, your users' passwords can get stolen, so we do not want anyone to host a login server unless they can figure out how to do it without help.

It also doesn't include several resource files (namely, the /audio/ and /sprites/ directories) for size reasons.

On the other hand, as long as you don't want to run your own login server, this repository contains everything you need to test changes to the client; just see the "Testing" section above.

License

Pokémon Showdown's client is distributed under the terms of the AGPLv3.

WARNING: This is NOT the same license as Pokémon Showdown's server.

Description
The client for Pokémon Showdown
Readme AGPL-3.0 3.9 GiB
Languages
TypeScript 42.1%
PHP 29.1%
JavaScript 21.5%
CSS 5.2%
HTML 1.9%
Other 0.2%