Created a new line displayed in a pokemonToolTip which mirrors the line showing the pokemon's stats. However, this new line contians stats mulitplied by their respective boosts, following Pokemon's in-game formula. Update client-battle-tooltips.js Update battle.js to include Unburden as a volatile. Previously, there was no way for the client to know that a Pokemon had boosted speed from Unburden. The Unburden volatile is added to a pokemon regardless of that Pokemon's ability. This is because the Pokmeon object passed into Battle.runMinor in battle.js does not have an Ability so there is no way to check if the Pokemon has Unburden. Made all changes suggested by Zarel: Only show modified stats if there is a modified stat; bold any boosted stats; re-structure findBoost into the improved calculateModifiedStat which finds the whole group of stats rather than just one stat; include modifiers from: paralysis, burn, unburden, pure power, slow start, defeatist, swift swim, unburden, choice items, iron ball, light ball, and a rock type's Special Defense boost in the sand. The code written does not support Gen 1 methods of stat calculation. That is a feature which requires far more research on my end in order to implement. I am an inexperienced Javascript developer (I had never written anything in Javascript prior to starting to work on this feature a few days ago), so feel free to let me know how I could do things better.
Pokémon Showdown Client
Navigation: Website | Server repository | Client 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
You can make and test client changes simply by 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 everything necessary to run a full Pokémon Showdown client.
In particular, it doesn't include a login/authentication server, nor does it
include the database abstraction library used by the ladder library (although
it's similar enough to mysqli that you can use that with minimal changes).
It also doesn't include several resource files (namely, the /audio/ and
/sprites/ directories) for size reasons.
In other words, this repository is incomplete and NOT intended for people who wish to serve their own Pokémon Showdown client (you can, but it'll require you to rewrite some things). Rather, it's intended for people who wish to contribute and submit pull requests to Pokémon Showdown's client.
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.