Commit Graph

23714 Commits

Author SHA1 Message Date
Guangcong Luo
c1ecbc6522 Fix misc validator bugs
- Repealing rules now always works, regardless of rule order
  (Fixes AAA validation)
- Fix a check for egg move hidden ability validation
  (Fixes a Gen 4 Dragon Dance Charizard set)
- Always ban AG when banning Uber
  (Fixes allowing Rayquaza-Mega in lower tiers)
- Fix ability validation in Let's Go
- Fix valid-move-combo dexsearch
2019-10-06 17:21:01 +11:00
HoeenHero
7d130d243f Disallow Illegal formes in Inheritance
Inheritance dosen't call the standard validateSet method from the team
validator so I made it manually call validateForme on each set before
the other validation.
2019-10-05 23:08:12 -04:00
The Immortal
aaf72fc18f Fix Inheritance 2019-10-06 05:28:59 +04:00
Kirk Scheibelhut
691cf76de7 Fix EBC for external staleness via consumed Leppa 2019-10-05 15:41:18 -07:00
Guangcong Luo
2a93e9e05e Fix forme validator 2019-10-06 08:00:02 +11:00
Guangcong Luo
7a023746ba
Refactor battle.dex out of battle (#5851)
In most other similar systems, like TeamValidator, we use `thing.dex` instead of having it extend `ModdedDex`. Battle has always extended `ModdedDex`, though. This changes Battle to match the others.

This should fix an issue with `Battle.data` not being cached.

This also frees up Battle to extend ObjectReadWriteStream<string> in a future update.
2019-10-06 07:38:08 +11:00
Guangcong Luo
555bd9cdb8 Fix mega evolution ability validation 2019-10-06 07:34:51 +11:00
Guangcong Luo
70b1de52ec Fix egg move validator
`limitedEgg` shouldn't exist, but this is a stopgap for the new way
it works.
2019-10-06 07:17:18 +11:00
Torracat
86344e1de9 SSB: Properly update Snaq's health when switching out (#5837) 2019-10-05 14:55:31 -04:00
Torracat
ec388fd2d1 SSB: Trick Room & Alien Wave cancel eachother out (#5841) 2019-10-05 14:53:34 -04:00
Torracat
f088b25c83 SSB: Clarify Back Off's description (#5844)
The word "attacked" could mean that status moves can still work on it, which is not the case here.
2019-10-05 14:48:21 -04:00
Torracat
4be004510c SSB: Protect blocks Soup Stealing 7 star strike (#5848) 2019-10-05 14:47:52 -04:00
Guangcong Luo
3cd04c349e Fix missed conversions of validate -> obtainable 2019-10-06 04:32:23 +11:00
Guangcong Luo
71498d451d
New validator (#5840)
* Refactor validator

This is a major refactor intended to make the default rules easier to
understand, and also easier for OMs to bypass.

Removed rules:
- `Pokemon`: This is now `-Nonexistent`. Its previous name was intended
  to be interpreted as "simulate the Pokémon games exactly, and only
  allow what they allow". The new name should make it clearer that it
  mainly bans CAPs and other nonexistent Pokémon and functionality.
- `-Illegal`: This is now `Obtainable` (see below).
- `Allow CAP`: This is now `+CAP`. Instead of having a hardcoded rule,
  OMs can now be manually whitelist any pokemon/item/etc or group of
  them, overriding `-Nonexistent`.
- `Ignore Illegal Abilities`: This is now `!Obtainable Abilities` (see
  below).

`Obtainable` was previously `-Illegal`, and does the same thing: Makes
sure you have a regular Pokémon game with only Pokémon that can be
obtained without hacking.

But instead of being a ban, it's now a rule that does nothing by
itself, except contain more rules:
- `Obtainable Moves`
- `Obtainable Abilities`
- `Obtainable Formes`
- `Obtainable Misc`
- `-Nonexistent`
- `-Unreleased`

This allows OMs to piecemeal repeal and unban any of these individual
rules, instead of the previous approach of unbanning them all and
manually reimplementing every single validation you wanted to keep.

* Refactor PokemonSources into a class

This mostly just makes a lot of the weirder checks in the validator
substantially more readable.

This also renames `lsetData` to `setSources`, which should also help
readability.

* Validate Bottle Cap HP types

Fixes an issue reported here:

https://github.com/Zarel/Pokemon-Showdown/issues/5742#issuecomment-533850288

* Fix several move validation issues

Fixes #5742

We have a new MoveSource type: R for Restricted. R moves work like
level-up/tutor/TM moves, except you're limited to one R move.

- Shedinja move stolen from Ninjask in Gen 3-4 are now R moves instead
  of event moves. This allows them to coexist with Nincada egg moves.

- Necrozma-DW/DM now inherit moves/events from Necrozma (like Rotom,
  but with event validation). This allows them to be shiny.

- Pokemon can now get egg moves from their own evolutions. This fixes
  some Tyrogue, Charmander, and Treecko sets mentioned in #5742

- Some more C moves were added, fixing some Hitmontop and Chatot sets
  mentioned in #5742

* Improve ability/move compatibility validator
2019-10-06 04:21:30 +11:00
whales
d70b8d426e Helptickets: Fix bug in interface 2019-10-05 22:43:10 +09:30
Lusamine
3c8ced43af Update datacenters and IP-tools (#5849) 2019-10-05 14:53:21 +10:00
whales
fb469aa3df Fix crash in trivia 2019-10-05 12:10:07 +09:30
whales
d52e57eebd Prevent non-staff from seeing their own IPs (#5845) 2019-10-05 02:38:07 +10:00
Astrid Halberkamp
67bde22b52
I should probably put this username in the credits (since i've gotten questions) 2019-10-04 18:32:34 +02:00
whales
71cee7bfac Add basic tests for permissions (#5847) 2019-10-05 00:30:49 +10:00
Kris Johnson
1d3fb35e9d SSB: Update Eien's rank (#5846) 2019-10-04 16:25:55 +10:00
Marty-D
236b9bc841 Fix Challenge Cup movepool generation 2019-10-03 22:19:58 -04:00
Marty-D
ee7e9fb66a Learnsets: Update Vivillon forms 2019-10-03 22:17:57 -04:00
HoeenHero
4342023900 Fix mistake in /avatar 2019-10-03 21:51:34 -04:00
HoeenHero
6d070af2c6 userid -> id in scavengers 2019-10-03 21:37:36 -04:00
Lusamine
7c7083b493 Add shiny Solgaleo/Lunala events (#5843) 2019-10-03 20:47:38 -04:00
HoeenHero
b62f7a3e1f Use null over false for nullable syntax 2019-10-03 19:57:53 -04:00
Kirk Scheibelhut
678e548c80 Fix linter errors
eslint:recommended seems tohave gotten more sensitive.
require-atomic-updates was disabled because "I think this is
intentional behavior because that someObj object was read before
await expression and written after await expression." is wayyy
to aggressive: https://github.com/eslint/eslint/issues/11899
2019-10-03 14:26:58 -07:00
Kirk Scheibelhut
e6f3a39f26 Update dependencies, revert premature TS 3.7 2019-10-03 13:58:03 -07:00
HoeenHero
58e2b1dd37 Fix issue with hotpatching minor activities 2019-10-03 14:19:36 -04:00
HoeenHero
61b2d655f9 Fix bugs with promotion/demotion permissions 2019-10-03 13:30:43 -04:00
Spandan Punwatkar
c8873aeec9 Add Announcements (#5404)
(Announcements can't coexist with polls)
2019-10-04 01:21:38 +10:00
Guangcong Luo
cc42db1b5c Improve workaround for TypeScript Promise.all bug 2019-10-03 23:02:36 +10:00
Waleed Hassan
5607c158e4 Use void in promises to appease TSLint (#5827) 2019-10-03 19:08:30 +10:00
asgdf
bd6ac0f024 Prevent overzealous spead of locks under some circumstances (#5824) 2019-10-03 19:00:40 +10:00
Waleed Hassan
da4b887054 Rename Room#id -> Room#roomid, User#userid -> User#id (#5826)
These should make it clearer that userids are IDs but roomids aren't.
2019-10-03 18:57:38 +10:00
urkerab
948257cce7 Change weight units to hectograms (#5765) 2019-10-03 14:00:16 +10:00
The Immortal
5730583948
Inheritance: Ban Chansey 2019-10-03 01:04:28 +04:00
Christopher Monsanto
59846c2776 Add optional deps for sqlite, ignore databases/ 2019-10-02 15:31:00 -04:00
whales
cdab768131 Properly give trusted users a 100ms throttle (#5839) 2019-10-03 01:53:22 +10:00
whales
ba47b1ba61 Give trusted users a 100ms chat delay (#5838)
Down from 300ms for global auth
2019-10-03 01:21:29 +10:00
asgdf
f4fff94e2e Fix informational link for Snatch/Mirror Move (#5834) 2019-10-02 16:24:08 +04:00
ZestOfLife
69bd7ced2a Mafia: Fix IDEA data (#5831) 2019-10-02 07:54:20 -04:00
Lusamine
483839d1a8 SSB: correct Storm Assault OGs' description (#5835) 2019-10-01 22:37:35 -04:00
HoeenHero
df396ee6a1 Update to Typescript 3.7.0-beta
@Zarel mentioned that he wanted to update to the beta as soon as possible.
2019-10-01 22:12:11 -04:00
HoeenHero
b055697237 Fix more typing in preperation for TS 3.7.0 2019-10-01 21:44:09 -04:00
Marty-D
f8e933b7be Tiers: Update for October tier shift 2019-10-01 20:55:13 -04:00
HoeenHero
9a2c2adf82 Fix bad typing 2019-10-01 19:55:09 -04:00
HoeenHero
78a0fb0ad6 SSB: Update Inactive's Faint Message 2019-10-01 11:19:04 -04:00
Torracat
d977cc8aa4 SSB: Break Illusion on Scripted Terrain Corrupt (#5830) 2019-10-01 11:13:58 -04:00