Commit Graph

207 Commits

Author SHA1 Message Date
MacChaeger
82c792f82c Update to TypeScript 3.0.1 (#4710) 2018-08-07 03:27:28 +09:00
Marty-D
33a90b79e1 Actually make sure SpA and SpD match in Gen 1 2018-08-05 15:29:37 -04:00
Marty-D
88d02ef8b5 Deal with illegal move combinations
Until the validator can handle them
2018-07-29 18:18:29 -04:00
Marty-D
a56f70dada Release Zeraora and Plasma Fists 2018-07-01 13:53:41 -04:00
MacChaeger
af40242e50 Allow Pokestar props in Gen 5 formats lacking '-illegal' (#4671)
For the purpose of making custom tours with Pokestar props allowed possible.
2018-05-15 22:22:03 -05:00
The Immortal
4a2215c53e Fix Nickname Clause 2018-05-01 21:55:37 +08:00
Marty-D
c00918e01b Add Ultra Kalos Classic 2018-04-10 12:01:47 -04:00
Quinton Lee
c799393710 Typescript data/ and config/formats (#4513)
Also removes Battle Factory methods accidentally re-added in d0a4a689a7
2018-03-26 09:50:51 -05:00
KrisXV
d0a4a689a7 Refactor data/ and mafia.js to for...of (#4490) 2018-03-23 18:51:52 -07:00
KrisXV
ac08f5b38f STABmons: Correctly restrict Wormadam (#4430) 2018-02-22 23:21:36 +09:00
Guangcong Luo
b773b757d2 Unban Z-evasion from Evasion Moves Clause 2018-02-20 21:55:21 +09:00
cant say
7a5f65743e Add Ultra Sinnoh Classic (#4391) 2018-01-31 22:05:58 -05:00
Guangcong Luo
1531b662c6 Refactor battle stream system
This contains a lot of minor refactors, but the main thing that's going
on here is that battle stream writes have been streamlined to be a lot
easier for others to use.

We even support:

    ./pokemon-showdown simulate-battle

which provides a stdio interface for anyone using any programming
language to simulate a battle.
2018-01-28 21:06:49 -06:00
Guangcong Luo
bb0e00e0a8 Fix STABmons move legality checker 2018-01-20 02:07:25 -06:00
Guangcong Luo
aae46ffd46 Support checkLearnset in format rules
Fixes #4356
2018-01-20 02:05:21 -06:00
Guangcong Luo
77e17eedce Add message for Switch Priority Clause Mod 2017-12-29 17:07:43 -06:00
The Immortal
1c6d98664a Fix Baton Pass clause 2017-12-13 05:28:49 +08:00
Guangcong Luo
b14463d632 Ensure SpA and SpD match in Gen 1
I'm not entirely sure why we're maintaining the separation of SpA and
SpD, except for better support of possible OMs or custom games where
they could be different, I guess.

There are probably game mechanics that would be better supported if we
actually just unified SpA and SpD.
2017-12-08 21:17:39 -06:00
Guangcong Luo
bb598ed6c2 Add rule validator for format rules 2017-12-07 22:07:12 -06:00
Guangcong Luo
f4e535bbd6 Enforce consistent key spacing
This was previously not enforced because we used `:1` in too many
places, but those places seem to all be refactored out at this point.
2017-12-01 08:16:23 -06:00
Guangcong Luo
9bdf674d5f Refactor more tables to arrays
See #4079

Now we're just missing oldgens.
2017-11-30 19:40:16 -06:00
The Immortal
00ef15e5a3 Update Standard GBU and various Nintendo formats
- Add Team Preview to the Standard GBU ruleset
- Add Zeraora to the Standard GBU banlist
- Use Standard GBU for VGC 2018
- Move Dragon Cup so it’s not in-between the two Battle Spot formats
2017-11-23 14:54:25 +08:00
Guangcong Luo
aafee4393c Implement Dragon Cup 2017-11-22 13:09:00 -06:00
The Immortal
6bd1c62519 Update Alola Pokedex 2017-11-21 23:57:41 +08:00
Guangcong Luo
34f80a7340
Fix Necrozma check in Same Type Clause 2017-11-18 21:43:40 -06:00
Articuno-I
45308bf20d Account for Ultra Necrozma in Same Type Clause (#4162) 2017-11-18 16:01:48 -06:00
MacChaeger
8a6b93855a Don't default to starting Necrozma-Ultra in its base forme (#4154) 2017-11-17 00:37:44 -06:00
Kris Johnson
f2caefba9b Ultra Sun and Ultra Moon update (#4151) 2017-11-16 20:34:43 -06:00
Kris Johnson
69cc3a7bf8 STABmons: Make ignorestabmoves a ValidatorRule (#4141)
Making `ignorestabmoves` a validator rule allows it to be added to
tournaments.
2017-11-11 13:18:45 +08:00
Guangcong Luo
066d970b54 Fix >6-pokemon Custom Games 2017-09-09 19:41:55 -04:00
Guangcong Luo
b42a322ecb Support over 6 Pokemon in Custom Game 2017-09-09 18:25:26 -04:00
QuiteQuiet
7f026e7e60 Do not send details about shiny-ness on Team Preview (#3965) 2017-09-06 05:53:25 -04:00
MacChaeger
b113cc9a57 Add command /viewbanlist (#3914)
This command is intended to be a quick-access option for checking banlists and rulesets for formats as well as descriptions of the rules that would get listed in case the user has questions.
2017-08-31 04:51:45 -04:00
HoeenHero
11b93ec467 Alola Pokedex rule: Dont reject alola formes (#3826) 2017-07-24 18:35:23 +04:00
Insist
83e89672a0 Add CAP LC and NFE to the Allow CAP clause (#3823) 2017-07-23 19:40:13 -04:00
Guangcong Luo
d79e348ebc Refactor banlistTable -> ruleTable
PS's rule table has been renamed from banlistTable, and works a bit
differently now. It's a Map instead of an object now, and the keys
work a bit differently.

The original banlistTable was designed to store bans, and later
additions shoved rules and then unbans in there. The new table is
designed to support all of these.
2017-07-20 12:50:41 -05:00
Slayer95
ccd5100987 Add Nincada to Hoenn Pokedex 2017-07-13 01:56:14 -05:00
Quinton Lee
5dea359d1d Rulesets: add Gen 6 Same Type Clause
Relevant for custom formats and requested by the Monotype staff.
2017-06-08 20:33:39 -05:00
Insist
06ed00e2af Rulesets: Remove -ate clause (#3548) 2017-05-24 18:33:25 +04:00
Guangcong Luo
6dd58b40d3 Refactor simulator into new sim/ directory
This is a surprisingly minor refactor considering how many files it
touches, but most of this is only renames.

In terms of file renames:
- `tools.js` is now `sim/dex.js`
- `battle-engine.js` is now `sim/index.js` and its three classes are
  in `sim/battle.js`, `sim/side.js`, and `sim/pokemon.js`
- `prng.js` is now `sim/prng.js`

In terms of variable renames:
- `Tools` is now `Dex`
- `BattleEngine` is now `Sim`
- `BattleEngine.Battle` is now `Sim.Battle`
- `BattleEngine.BattleSide` is now `Sim.Side`
- `BattleEngine.BattlePokemon` is now `Sim.Pokemon`
2017-05-05 16:48:38 -05:00
MacChaeger
aec8b293e8 Don't tie ability and item legality to a Pokemon's tier (#3484)
Previously, only CAP Pokemon were allowed to hold Crucibellite, even in CAP, and they've apparently been able to hold Berserk Gene and other Gen 2 items this whole time.
2017-04-26 11:19:29 -07:00
MacChaeger
fa9090c38f Rulesets: Fix typo (#3479) 2017-04-24 19:44:26 +04:00
MacChaeger
9da05b8635 Refactor nonstandard banlists into rulesets (#3470) 2017-04-22 03:19:39 -04:00
Guangcong Luo
698fb2ad9a Refactor choices
PS's choice system has now been majorly rewritten!

Battle#parseChoice has been eliminated, and Battle#choose is now a
very lightweight wrapper around the BattleSide#choose* functions, which
now handle validation.

Partial decisions have been mostly removed. You can manually construct
decisions partially with the side.choose* functions, but there's no
other support for them. Partial undo has been removed completely.

Choice tracking has been renamed from side.choiceData to side.choice.
side.choices has been removed and is now autogenerated from side.choice
when needed.

side.choiceData.decisions has been renamed side.choice.actions. In the
future, "decision" is a deprecated term and should be called "action"
wherever it shows up.

side.choiceData.waiting and side.getDecisionsFinished() have been
merged into side.isChoiceDone().

Other values in side.choiceData have either been rendered unnecessary
or renamed to something clearer.

The "skip" and "pass" choices have been merged together. Passes can
still be filled in automatically (so you can just use `/move 1` in
doubles when you have only one Pokémon left).
2017-03-17 23:14:52 -05:00
The Immortal
ea54a424ce Rename Inverse Clause 2017-03-05 02:05:34 +04:00
The Immortal
d7ba9dba3a EV limit is only in gen 6 2017-03-04 12:44:03 +04:00
The Immortal
4e0901f3ea Rename Inverse ruleset
Inverse is currently used as an alias for Inverse Battle.
2017-03-04 00:04:24 +04:00
The Immortal
6a929613bd Add Inverse ruleset
This allows tournaments to add the rule to any format.
2017-03-03 21:54:11 +04:00
Guangcong Luo
eeea7e3ed0 Fix Hidden Power validation 2017-02-24 05:13:44 -06:00
The Immortal
e34318b518 Standard GBU: Fix undefined Pokemon name 2017-02-24 14:23:58 +04:00