Commit Graph

170 Commits

Author SHA1 Message Date
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
The Immortal
4bcef0cdaf Update OMs 2016-12-01 06:19:35 +04:00
The Immortal
4af7b41247 Fix remaining Greninja issues 2016-12-01 01:09:05 +04:00
The Immortal
ba0d40fb6d Allow Ash-Greninja without transforming in Hackmons 2016-11-30 01:10:05 +04:00
EienSeiryuu
f1505403f2 Fix Baton Pass and Evasion Clauses (#2957)
Also added the check to Baton Pass Speed Clause.
2016-11-28 05:11:41 -06:00
The Immortal
1993d54e8b Ash-Greninja is a separate Pokemon
It is a separate Pokemon in-game. It can’t learn egg moves, can’t be
bred, and can only have Battle Bond.
2016-11-27 21:49:26 +04:00
Ivo Julca
7fd8283600 Introduce requiredItems as an alternative to requiredItem
The list of acceptable items can always be retrieved from `requiredItems`.
2016-11-19 15:44:57 -05:00
Ivo Julca
00ced09ba3 Revert 4aaa3cb 2016-11-19 15:44:56 -05:00
Ivo Julca
4aaa3cb260 Move .templateRequiredItem to array everywhere 2016-11-19 15:23:42 -05:00
Guangcong Luo
fff2df4dcb Fix gen 7 released/unreleased check 2016-11-19 02:26:42 -05:00
Guangcong Luo
81aad5f228 Update Baton Pass Clause 2016-11-19 01:45:43 -05:00
The Immortal
a29a9eeecc Add Alola Pokedex rule 2016-11-19 10:07:19 +04:00
Ivo Julca
5b6705af51 Add support for array .requiredItem 2016-11-18 20:54:16 -05:00
Guangcong Luo
ebcad06ed7 Implement new Zygarde formes 2016-11-18 13:18:21 -05:00
Ivo Julca
6b6de3e98e Hide Silvally's tping on Team Preview 2016-11-18 12:38:40 -05:00
EienSeiryuu
4ba5a902e1 Monotype: Remove outdated Aegislash complex ban (#2888)
Previous code had an Aegislash complex banned from Steel teams hard-coded into Same Type Clause. This hasn't been part of Monotype for half a year and was conflicting with attempts to use "/tour banlist !aegislash" to allow Aegislash in Monotype battles.
2016-11-12 15:44:02 +04:00
Guangcong Luo
893825a881 Properly display Baton Pass Speed Clause 2016-10-24 16:14:46 -05:00
Quinton Lee
55fa6c630e Rulesets: standardize types and names (#2838)
Rules that affect validation are now typed ValidatorRule and rule
names are no longer affected by Tools.getFormat input.
2016-10-12 14:24:53 -05:00
urkerab
1a191a696a Allow the banlist to specify a numeric limit of team properties (#2773) 2016-09-24 12:35:57 -07:00
The Immortal
b21ad1bbc7 Add Blazikenite to Baton Pass clause
Technically it's a method of boosting speed. Some formats that use the Baton Pass clause have it unbanned.
2016-09-16 20:54:45 +04:00
Guangcong Luo
5961872923 Optimize Baton Pass Speed Clause 2016-09-12 16:16:37 -05:00
Guangcong Luo
337d4cb10d Split Baton Pass Clause
Two clauses that have different rules should not have the same name.

We are calling the new clauses "Baton Pass Clause" and "Baton Pass
Speed Clause".
2016-09-09 06:05:59 -04:00
Guangcong Luo
7c309b6153 Refactor Baton Pass Clause 2016-08-19 23:42:55 -04:00