Commit Graph

3487 Commits

Author SHA1 Message Date
Guangcong Luo
fc547732a6 Refactor ntbb-database to PDO
A hack is required to keep Database::escape's API the same, but
otherwise this API lends itself to having the internals swapped out
surprisingly well.
2016-10-20 20:34:52 -04:00
Guangcong Luo
9ea444aeea Fix bugs/crashes in ntbb-session 2016-10-20 20:34:07 -04:00
Guangcong Luo
82e7a917ab Move session library inside repository
For too long, ntbb-session and ntbb-database have been maintained
outside of this repo, but no longer! All these files are now part of the
repository, making it significantly more self-contained.

If I had to say why it took this long, I think it was mostly inertia. It
was easier leaving them where they were than having to audit them for
private keys in the wrong places, etc.

I'm starting to think of PS more as sim first, website secondary than
the other way around, now. Especially now that we don't have a forum,
the website itself isn't really important... Maybe one day I'll get rid
of the landing page and make the sim itself the first thing you see when
you hit pokemonshowdown.com... but today is not that day!

The repo is still not "batteries-included" since I am not going to teach
anyone how to set up PHP and MySQL or even get the config files working.
But for anyone who wanted their own client, well, it gets a lot easier
to do now.
2016-10-20 13:16:06 -04:00
Guangcong Luo
1c18bf0f4d Move config.js to /config/ 2016-10-20 13:16:06 -04:00
Guangcong Luo
084d68d771 Battles: Improve Illusion detection 2016-10-20 13:16:06 -04:00
Quinton Lee
bb802f212e Tournaments: support more specific dq errors 2016-10-20 11:01:01 -05:00
urkerab
078d900c64 Show the effect of Grudge on a move's PP in the tooltip (#786) 2016-10-18 20:14:54 -05:00
Ridaz
4a0ec8005e Improve Multi-Attack move animation
And rename Z-Move animation to Z-Power
2016-10-18 03:02:57 +01:00
QuiteQuiet
4abc9e4a5f Allow users to ignore nicknames (#783)
* Allow users to ignore nicknames

* Move in-battle options to a popup menu
2016-10-16 23:23:35 -05:00
Marty-D
3e5987a713 Add Queenly Majesty message 2016-10-14 23:19:16 -04:00
Ridaz
893b3bcebd Add Multi-Attack move animation 2016-10-15 02:03:44 +01:00
Ridaz
38ff8addaa Add Trop Kick move animation
- Also add Clanging Scales move animation, as an alias of Dragon Pulse
- Improve PAR animation
2016-10-15 00:40:52 +01:00
Ridaz
6b82e13dca Update some move and status animations
- Updated Smog, Clear Smog, Bind/Wrap/Constrict, Par & Thunder move
animations
- Added a residual damage animation for Bind/Wrap
- Added status effect animation
2016-10-11 12:47:23 +01:00
Ridaz
322a4a86a0 Update Seismic Toss move animation 2016-10-10 12:16:25 +01:00
Ridaz
636119e293 Add Stroked SparkSurfer move animation 2016-10-08 23:15:29 +01:00
Ridaz
327ec8239a Fix Sludge Wave move animation 2016-10-08 18:16:03 +01:00
Ridaz
7e1bb542b9 Add Shell Trap & Nature's Madness move animations 2016-10-08 14:01:32 +01:00
Ridaz
3058ff2ae5 Add berry consumption animation 2016-10-08 02:47:23 +01:00
urkerab
53c3ad77e7 Mark damage-weakening berries as having been eaten (#780) 2016-10-07 20:44:56 -04:00
Ridaz
970e51072b Properly implement Accelrock move animation 2016-10-07 16:43:46 +01:00
Ridaz
6be91aa1d7 Fix Cross Poison move animation 2016-10-07 01:50:06 +01:00
Kpwbo
3327a3f3ba Don't export empty moves (#779)
If a move is empty, do not put its corresponding line ('- [name]\n') in the text.
2016-10-06 00:48:35 -07:00
Quinton Lee
5a01f555b4 Fix muting notification sounds 2016-10-05 23:36:18 -05:00
Marty-D
a9c72aac79 Remove getIcon and utilichart 2016-10-05 19:45:16 -04:00
The Immortal
ba5290e0af Add COIL for Return'd 2016-10-05 22:33:06 +04:00
Bär Halberkamp
da9084ccb6 Implement notification sounds (#777) 2016-10-04 20:49:50 -07:00
Marty-D
a435eb3695 Teambuilder: Use Gen 6 minisprites in clipboard/move functions 2016-10-04 17:39:26 -04:00
Guangcong Luo
256885354e Teambuilder: Support sorting moves 2016-10-04 06:34:28 -04:00
Guangcong Luo
3dda04a527 Teambuilder search: Register other keys before Enter
We do searches on keyup rather than keydown, but Enter registers on
keydown, so if you're typing quickly, "lum[enter]" and you press
Enter before releasing 'm', you do the search for "lu" instead.
2016-10-04 04:56:26 -04:00
Guangcong Luo
3e9e585975 Teambuilder search: Put types above Arceus formes
Searching for "Ghost" would match "Arceus-Ghost" before the "Ghost"
type filter. This now puts the "Ghost" type filter first. "aghost"
(or just "agh") is still a valid way of getting Arceus-Ghost.
2016-10-04 04:32:54 -04:00
Guangcong Luo
5df1681879 Implement Gastrodon-East animated frontsprite
Its backsprite, unfortunately, still isn't available.
2016-10-04 02:48:16 -04:00
Guangcong Luo
6f6565120f Teambuilder: Don't recommend 248 HP for Magic Guard 2016-10-04 02:48:08 -04:00
Guangcong Luo
f21c8b00c8 Teambuilder: Improve acronym search
Compound words are now matched by the teambuilder for acronym and
substring search.

This means that "zhb" is now a valid search term for "Zen Headbutt",
and "ww" is a valid search term for "Whirlwind". "shock" is also a
valid search term for "Psyshock" and "Venoshock".
2016-10-04 02:46:49 -04:00
Guangcong Luo
62116c4dbc Teambuilder: Sort suggested EVs 2016-10-04 00:12:04 -04:00
Guangcong Luo
6585df75e0 Sync learnsets 2016-10-03 23:45:32 -04:00
Guangcong Luo
853fd51283 Battles: Fix crash relating to getPokemon
_Some_ past gens apparently don't specify slots for active pokemon
sometimes...
2016-10-03 23:45:32 -04:00
Guangcong Luo
6db0bf24dc Implement Cathy set
Once again, Cathy is a UU Trevenant meme set, no relationship to
the former PS admin.
2016-10-03 23:45:32 -04:00
Marty-D
3140a1e2e2 Fix left-facing Roselia/Roserade minisprites 2016-10-03 21:08:36 -04:00
Marty-D
6019340f5b Support Gen 6 minisprites in battle sidebars 2016-10-03 21:07:38 -04:00
Jay Fault
4b173f4b2c Add 3 second delay after clicking Battle! (#776) 2016-10-03 16:35:21 -07:00
Bär Halberkamp
bce03c4f6e Port /reply to the client (#773) 2016-10-03 13:28:20 -07:00
urkerab
f58656cb1b Mark the Natural Cure ability when it activates (#774) 2016-10-03 13:26:13 -07:00
panpawn
98c76d37d2 README: Add Dex to Navigation section (#769) 2016-10-02 22:19:24 -07:00
Ridaz
b9474765f7 Improve Petal Dance move animation again 2016-09-29 21:31:29 +01:00
Ridaz
8590db256e Improve Petal Dance move animation 2016-09-29 21:06:44 +01:00
Ridaz
617a8d54b5 Update move animations, round 13.5 (#771) 2016-09-29 13:01:06 -07:00
Guangcong Luo
4b10e833a6 Fix indentation in getIcon 2016-09-28 18:36:34 -04:00
Guangcong Luo
c6c8e1c783 Sync learnsets 2016-09-28 18:25:18 -04:00
Guangcong Luo
a3995a1b97 Introduce |error|
|error| replaces the previous |html|<div class="message-error">
with something nicer.
2016-09-28 18:20:17 -04:00
Guangcong Luo
ee970c1f56 Fix getPokemon on duplicate fainted
If, during effect activation, a Pokemon isn't where it's supposed to
be, we search the rest of the player's team for it.

For instance, when Destiny Bond activates, Deoxys has already fainted,
so it's not where we expect it to be. Normally, we search the player's
team for Deoxys, find the Deoxys, and Destiny Bond activates as normal.

The problem comes in formats without Species Clause. We might find the
wrong Deoxys! Normally, this isn't a big problem. For a Pokemon to
match, it has to have the exact same name, so the message displayed is
still "Deoxys took the foe's Blaziken down with it!" and everything
goes on normally.

The problem comes in Doubles formats without Species Clause. Finding
the wrong Deoxys overwrites its slot number, which, if it's an active
Deoxys, puts it in an inconsistent state, causing crashes later on.

This fix changes it so if a Pokemon isn't where it's supposed to be,
we search the rest of the player's team, excluding other active
Pokemon, for it.

This renames the previous isInactive flag in getPokemon to isSwitch,
which more accurately describes how its matching works.
2016-09-28 18:20:03 -04:00