Annika
ae84fefa4a
Random Battles: Fix item generation for Arceus
2021-11-26 12:10:42 -08:00
Annika
a3c4c696e8
Improvements to BD/SP Random Battles
2021-11-24 16:00:31 -08:00
Annika
357d20c5f7
BDSP Random Battles: Fix Choice item generation
2021-11-23 17:45:05 -08:00
Annika
7e7f25457e
Test team validity for all randomized formats
2021-11-23 16:10:18 -08:00
Guangcong Luo
0abdc0c372
Fix npm test build error
...
The sucrase build test does not reliably run in 2000ms and should have
been marked as slow.
2021-11-19 01:46:10 -05:00
Kris Johnson
ff4b7bed31
Add BDSP data and formats ( #8530 )
2021-11-18 18:00:10 -06:00
Mia
00c863c009
Tests: Add a test to ensure Sucrase always builds correctly
...
TS-Node can work w/o Sucrase working. This just adds a way for us to know when it's failing (easily).
2021-11-13 16:29:20 -06:00
pyuk-bot
fdd775b3f1
Re-fix Frisk's interaction with Neturalizing Gas ( #8526 )
2021-11-10 10:30:20 -08:00
Annika
f7cdeb5b20
November 2021 Random Battles updates
...
[Gen 8] Random Battle levels were nerfed or buffed for winrates greater than 7 or less than -7 deviations from the mean respectively.
[Gen 8] Random Doubles Battle levels were nerfed or buffed for winrates greater than 4 or less than -4 deviations from the mean respectively.
2021-11-07 18:40:58 -08:00
Leonard Craft III
7cf60606c5
Fix paralysis modifier application ( #8478 )
2021-11-06 15:52:39 -04:00
Guangcong Luo
7017dcb8f9
Mark tests using IPTools.lookup with "(network)"
...
(Also mark them with "(slow)" to skip them during a normal `npm test`.)
This is mostly the result of a particularly frustrating debugging
session when I couldn't figure out why these tests were timing out
(it turns out, it was because my DNS was broken so `IPTools.lookup` was
timing out). Marking them with "(network)" should make similar
situations less frustrating in the future.
2021-11-05 21:58:28 -04:00
Leonard Craft III
ba07a7c75d
Add various mechanics tests ( #8494 )
2021-11-05 13:28:45 -05:00
Kris Johnson
d92665cd3e
Fix validating Pokemon with event-only prevolutions ( #8495 )
2021-10-13 19:55:29 -07:00
Annika
b626892dab
Random Battles updates
2021-10-02 14:50:11 -07:00
Leonard Craft III
25910ed66d
Fix timing of freeze thaws ( #8453 )
2021-09-29 20:29:26 -04:00
tofa
21182025ce
Fix Ice Face's interaction with Neutralizing Gas ( #8479 )
2021-09-23 20:50:03 -05:00
ACakeWearingAHat
fc1c3e17c5
Random Battles updates ( #8473 )
2021-09-19 15:50:11 -07:00
Leonard Craft III
dd27caf23d
Remove debug print
2021-09-19 17:19:02 -05:00
Leonard Craft III
3ce53a63b8
Add more Ice Face tests
2021-09-19 17:16:24 -05:00
Karthik
d99779ba8a
Gen III-IV: Fix interaction between Liquid Ooze / Dream Eater ( #8467 )
2021-09-19 10:28:22 -04:00
Leonard Craft III
62efd9225c
Gen 1: Correct minimum level validator logic ( #8455 )
2021-09-07 19:40:33 -05:00
Guangcong Luo
a68ae48979
Improve tests for event data entries
2021-09-07 11:33:34 -07:00
Annika
1fc5e3a787
Random Battles updates
2021-09-06 20:46:44 -07:00
Mia
7811795344
Handle new TypeScript version ( #8449 )
...
Co-authored-by: Guangcong Luo <guangcongluo@gmail.com>
2021-08-30 20:11:44 -07:00
Karthik
faa37924ee
Fix Emergency Exit not activating after recoil damage ( #8441 )
2021-08-21 13:17:23 -05:00
Mia
8cf1035ee2
SQL: Automatically prepare statements unless told otherwise ( #8439 )
2021-08-18 12:51:39 -07:00
Annika
1a41721aba
Trivia: Make unit tests work without SQLite
2021-08-14 20:48:37 -07:00
Annika
0a33b52ad4
Trivia: Use transactions and split into a directory
2021-08-14 20:35:08 -07:00
Annika
dcb96fa7ed
Trivia: Refactor to use SQLite as a storage backend
2021-08-14 20:35:08 -07:00
Mia
77861ceae6
SQL: Use a QueryProcessManager subclass ( #8422 )
2021-08-14 17:45:51 -07:00
Annika
82a1510564
Modlog: Fix note search testing
2021-08-13 19:00:18 -07:00
pacmanboss256
c2a5848768
Prevent Sparkling Aria from curing burns if the user faints ( #8381 )
2021-08-10 11:02:12 -04:00
Jacob McLemore
65ca586d81
Fix Metronome (Item) and two-turn moves interaction ( #8430 )
2021-08-10 10:59:17 -04:00
Jacob McLemore
9979d3e66b
Fix Sky Drop + Eject Button interaction ( #8429 )
2021-08-09 19:03:52 -05:00
Annika
6fdfd74f76
Modlog: Unskip and fix unit tests
2021-08-09 14:42:01 -07:00
Annika
633e061067
Modlog: Remove text logging code
2021-08-09 14:06:14 -07:00
Annika
3aa9934e65
Random Battles updates
2021-08-02 14:20:38 -07:00
Annika
bcbe100c41
Modlog: Use SQLite for searches ( #8004 )
2021-07-23 13:47:49 -07:00
Mia
2c1b7d7828
Add a library for running SQLite databases in threads ( #7350 )
2021-07-19 21:02:03 -05:00
Annika
74295cf506
Modlog Converter: Improve modernization
...
This now reaches 99.9% success rate on logs from January 2018-May 2021, and 94.6% success on logs from November 2014-May 2021. (Assuming one defines "success" as "modernizing the modlog entry without just spitting out an OLD MODLOG: entry".)
2021-07-18 21:07:29 -07:00
Karthik
a36b74dbd1
Gen 3: Type boosting items should boost the attacking stat ( #8402 )
2021-07-17 13:36:56 -04:00
Mia
e5fbd64427
Support adding friends ( #7333 )
2021-07-16 12:56:34 -07:00
Annika
52a9378361
Trivia: Support combining multiple categories
2021-07-13 16:01:03 -07:00
Annika
6ed55b6d1f
IPTools: Add sanity checks ( #8331 )
2021-07-09 19:59:45 -07:00
Annika
c134195915
Use ts-node instead of Sucrase ( #8369 )
2021-07-09 19:59:22 -07:00
Marty-D
6a833db4f6
Gen III-IV: Fix Choice lock timing
2021-07-08 15:46:02 -04:00
Kris Johnson
598ac409e8
Rename Let's Go! mod to 'gen7letsgo'
2021-07-06 23:07:51 -06:00
pacmanboss256
4937547bb1
Fix build ( #8382 )
2021-07-05 12:21:22 -07:00
Annika
82d21aa33c
Random Battles: Fix Venusaur bug in Gen 5
2021-07-02 19:49:43 -07:00
Annika
33e82d85d5
Random Battles update
2021-07-01 16:33:40 -07:00
Annika
c87bf685bb
Fix Punishments tests
2021-07-01 16:33:03 -07:00
Annika
a80ce32b1f
Punishments: Add broader, more integrated tests
2021-06-29 17:55:45 -07:00
ACakeWearingAHat
92c932d35a
Random Battles updates ( #8374 )
2021-06-25 17:04:41 -07:00
Marty-D
43713804b9
Gen II-IV: Fix Destiny Bond handling during Pursuit
...
Thanks, xzern and SuperEpicAmpharos!
Also noticed the Pursuit switch accuracy check wasn't overridden in Gen 2 yet so I threw that in too.
2021-06-24 12:05:11 -04:00
Marty-D
a5929b3076
Gen III: Make Follow Me a slot condition
...
Thanks, xzern!
2021-06-23 11:32:43 -04:00
Annika
9d87d9bac2
Fix Punishments#ipSearch
2021-06-08 14:08:36 -07:00
Adam Tran
be2210f881
Fix Future Sight Life Orb interactions ( #8357 )
2021-06-08 11:48:10 -04:00
Annika
6363a1854c
Random Battles: Don't allow unreleased HAs
2021-06-07 18:45:22 -07:00
Marty-D
b830ceb818
Gen II, III: Implement Quick Claw properly
2021-06-07 12:26:50 -04:00
Annika
c55658ce06
Random Battles: Fix 3-move Pokemon
2021-06-05 20:33:44 -07:00
Annika
d8988bb250
Random Battles: Fix double-Hidden Power bug
2021-06-05 12:24:08 -07:00
Annika
8a6bb51c23
Random Battles update
2021-06-01 16:22:57 -07:00
Mia
09e298f15b
Punishments: Support giving multiple punishments to one user ( #8265 )
2021-05-31 11:06:01 -07:00
Mia
5f9072b2ba
Chat-monitor: Centralize functions and migrate to JSON ( #8328 )
2021-05-29 22:11:32 -07:00
Annika
c1c1f8976d
Random Battles: Fix Hidden Power bug in Gen 6
2021-05-27 10:18:04 -07:00
Karthik
094623f18b
Sky Drop: Fix message when target is fainted ( #8334 )
2021-05-26 14:51:52 -07:00
Annika
83df279b1d
Add a chat plugin to manage username prefixes ( #8338 )
2021-05-26 14:39:13 -07:00
Karthik
7988f15526
Gen 3: Always break the opponent's screens with Brick Break ( #8325 )
2021-05-25 15:39:40 -04:00
pacmanboss256
91f86530c5
Fix Gen 3 Weather Ball and Gen 4 Trick ( #8314 )
2021-05-24 15:07:37 -04:00
pacmanboss256
647ebd5fc6
Fix Counter redirecting Encored self-target moves ( #8300 )
2021-05-23 22:55:21 -07:00
Guangcong Luo
e511d5c646
Fix EV validation
2021-05-23 16:55:00 -07:00
Annika
a77db612c8
Random Battles updates
2021-05-23 16:11:54 -07:00
Annika
cb5bdd9ed8
Random Battles: Make tests use predictable seeds
2021-05-23 16:11:54 -07:00
Guangcong Luo
570d3d3d29
Fix Weezing-Galar from VC Koffing validation
...
This fixes an issue where a Weezing-Galar evolved from a Koffing
gotten from a Virtual Console transfer from RBY/GSC should be able
to have a non-Hidden Ability, but couldn't.
Thanks @Karthik99999 for bringing this to my attention.
Fixes #8327
2021-05-23 11:29:17 -07:00
Leonard Craft III
899bdaae02
Tests: Unskip passing Shell Bell test
2021-05-21 20:32:55 -05:00
Marty-D
008cfec4c3
Run events on future moves even while the user is not active
...
Fixes a regression in 16d078265b
2021-05-20 13:20:12 -04:00
Marty-D
866b5b7bb2
Check for a winner when Destiny Bond knocks out a Pokemon
2021-05-20 12:22:37 -04:00
Leonard Craft III
606576f453
Add various mechanics tests ( #8313 )
...
* Standardize Photon Geyser tests
* Add Gulp Missile tests
* Add Berserk Dragon Darts test
* Add Ring Target tests
* Add and improve Metronome tests
* Add Sparkling Aria tests
* Add additional Fling tests
* Standardize Mummy tests
* Add Rollout submove targeting test
* Improve Flower Veil tests
* Add Acupressure tests
* Improve Sky Drop tests
* Add Future Sight tests
* Improve Wandering Spirit tests
* Improve Rapid Spin tests
* Add Rocky Helmet victory test
* Improve Focus Punch tests
* Add a skipped Stomping Tantrum test
2021-05-20 08:43:08 -04:00
Leonard Craft III
d946308900
Fix the order of many end-turn resolution effects ( #8307 )
...
Co-authored-by: Marty-D <Marty-D@users.noreply.github.com>
2021-05-17 11:53:52 -04:00
Leonard Craft III
50054ef5ae
Fix Struggle to be unaffected by Disable ( #8315 )
2021-05-17 07:18:26 -07:00
Guangcong Luo
2936c55439
Rules: Add -no item and fix -all items
...
`no item` is now a fake item meaning "not holding an item", for the
purposes of the team validator. This means that `-no item` will force
all pokemon to carry items.
`all items` no longer includes not holding an item, so `-all items`
will now work as expected.
2021-05-17 04:22:24 -07:00
Leonard Craft III
5a129fd1d7
Gen VII: Ignore user's Ability with Mold Breaker moves ( #8306 )
2021-05-15 14:38:21 -04:00
Leonard Craft III
a2513173f3
Fix Neutralizing Gas ending if another is active ( #8305 )
2021-05-15 08:44:33 -07:00
Marty-D
b0509ce39f
Check for a winner after future moves
2021-05-15 10:31:30 -04:00
Marty-D
0a9aeb8fcd
Fix faint check mid-attack ( #8297 )
...
Only bother checking for a winner if the move's user is also fainted at the time, and check for a winner after the move completes.
2021-05-14 13:36:56 -04:00
Annika
e2d468b6b1
Random Battles: Bugfixes
2021-05-12 14:42:19 -07:00
pyuk-bot
b17171a2cb
Store originally targeted slot for two-turn moves ( #8280 )
2021-05-12 08:51:58 -04:00
Annika
62571c4907
Validator: Improve Gen 1 level validation ( #8294 )
2021-05-12 02:59:12 -07:00
Leonard Craft III
aa5ca391c5
Tests: Add Life Orb, Protean Future Sight tests
2021-05-08 19:59:05 -05:00
Annika
1c3f6402f0
Tests: Use assert.equal and assert.notEqual more ( #8276 )
2021-05-07 23:51:18 -07:00
Annika
27764ef5bf
Random Battles: Unify tests
2021-05-07 10:19:45 -07:00
Annika
2b3741ec2f
Random Battles: Support more Value Rules
...
Specifically, randomized formats will now support Max Team Size, Min Source Gen, Adjust Level, Adjust Level Down, and Force Monotype.
This fixes the issue with randomly-generated Multi Battle teams containing six Pokémon, instead of three as desired.
2021-05-06 22:45:08 -07:00
Guangcong Luo
55980d416c
Support value rules ( #8267 )
...
`teamLength`, `maxLevel`, `cupLevelLimit`, and `minSourceGen` no longer
exist as properties of `Format`. Instead, they're value rules that
become properties of `RuleTable`, and can be specified as custom rules
and inherited through rulesets like anything else.
See the PR for a full reckoning of changes:
https://github.com/smogon/pokemon-showdown/pull/8267
2021-05-06 01:16:16 -07:00
Karthik
b6d5fff24b
Unfix interaction between Gluttony and Neutralizing Gas ending ( #8273 )
...
Reverts #8250 , but will keep gluttony test file and add more tests to it. This is being done because indirect sources of damages are not causing gluttony to trigger (such as belly drum).
2021-05-05 13:44:59 -04:00
Annika
96574af8aa
Random Battles: Add unit tests for PR #8270
2021-05-04 21:43:40 -07:00
Leonard Craft III
771c60d4b9
Improve self-hit confusion damage ( #8264 )
2021-05-04 13:44:13 -04:00
Guangcong Luo
c11dccb032
Rename and fix maxTeamSize ( #8266 )
...
`maxTeamSize` is a bad variable name (not that `teamLength.battle` is
any better, but that'll get fixed in a future refactor).
- Rename `maxTeamSize` to `chosenTeamSize`, to better indicate that
this is the size after Team Preview, and that it is also the minimum
size after Team Preview.
- Don't limit team sizes to 6 if `teamLength.battle` isn't specified.
This removes an unnecessary `teamLength.battle` requirement in all
Custom Game formats.
- Stop requiring `maxTeamSize` as a parameter for `battle.getRequests`.
It's not even used except as a hint to the Preact client, and was
never state in the first place.
- Stop supporting partial `side.chooseTeam`. This is an unused feature
and removing it massively simplifies the code and fixes a bug in
`cupLevelLimit` which definitely was not written with the
understanding that `chooseTeam` could be partial.
- Fix a bug in #7929 which seemed to misunderstand what `teamsize` was
for.
2021-05-04 00:31:05 -07:00
Annika
d48c7a9ed6
Random Battles: Fix STAB enforcement
2021-05-03 15:16:57 -07:00
Karthik
f453d37817
Fix interaction between Gluttony and Neutralizing Gas ending ( #8250 )
2021-05-03 11:25:47 -04:00
pacmanboss256
bb2d700883
Fix smart targeting with scripted moves ( #8248 )
2021-05-03 11:20:19 -04:00