Commit Graph

192 Commits

Author SHA1 Message Date
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
The Immortal
f70d3cf1cc Standard GBU: Use format name for Soul Dew message 2017-02-24 13:49:28 +04:00
Guangcong Luo
d9b431b7c2 Stop converting set values to names
Because of the way fastUnpackTeam works, it's currently a reasonable
assumption that all the values in a `set` are IDs, and various parts
of the code have started to rely on that assumption.

Removing some old code to try to guarantee that the values in a `set`
are names allow us to work towards a new guarantee that `set` values
are IDs.

Closes #2553
2017-02-24 01:38:45 -06:00
Guangcong Luo
97b0652b0d Unban Soul Dew in Gen 7 BS/VGC 2017-02-23 18:22:46 -05:00
Spandan Punwatkar
17665eb1e2 Update Ability Clause to also check for Variants (#3269) 2017-02-22 23:48:55 +04:00
Quinton Lee
72236f007f Fix Z-Move validation in Baton Pass Clause (#3213)
A Pokemon can only use 1 Z-Move in battle
2017-02-10 16:07:19 -06:00
The Immortal
53ef401c51 Prevent Spiky-eared Pichu and Cosplay Pikachu in Hackmons 2017-02-01 09:50:13 +04:00
The Immortal
e60f225a7f Update Standard GBU
Only the base needs to be banned now.
2017-01-25 09:05:03 +04:00
DragonWhale
3f7a9d90ab Fix Ash Greninja not being banned on BS formats (#3185) 2017-01-24 03:02:38 -05:00
The Immortal
2762f6623f BH: Add CFZ Clause
Closes #3100
2017-01-17 17:45:35 +04:00
The Immortal
6e4a0dfbc8 Remove Baton Pass Speed Clause 2016-12-22 17:02:52 +04:00
DragonWhale
ef8c92b49f Ban Magearna from standard Battle Spot formats (#3037) 2016-12-18 10:43:08 -05:00
Guangcong Luo
69f8302a3e Unban Greninja from Battle of Alola
Also support unbanlists in regional pokedex rulesets.
2016-12-16 18:31:47 -08:00
Guangcong Luo
2b2e024ca9 Fix Gen 7 Battle Spot formats
The hack of manually checking availability is no longer necessary, and
I have a better idea of exactly which checks still are necessary.

Battle Spot is now implemented a lot more cleanly, and a lot more like
how it was implemented last gen.
2016-12-16 01:38:23 -05:00
The Immortal
d193803532 Sort Alola dex according to the actual order 2016-12-08 19:58:47 +04:00
Guangcong Luo
5f351b2bf9 Ban Hypnosis + Gengarite with Sleep Clause 2016-12-05 14:33:28 -06:00