Commit Graph

76 Commits

Author SHA1 Message Date
Kris Johnson
b555f4d8ce
Implement Champions (#11910)
* Make a mod file

* Add Pokemon in Champions (#3)

* Add new Megas abilities (#4)

* Add new Megas abilities

* Apply suggestion from @KrisXV

---------

Co-authored-by: Kris Johnson <11083252+KrisXV@users.noreply.github.com>

* Add conditions for Champions (#5)

* Add conditions for Champions

* Add a turn limit to freeze

* Swap the order of the checks

Co-authored-by: André Bastos Dias <80102738+andrebastosdias@users.noreply.github.com>

---------

Co-authored-by: André Bastos Dias <80102738+andrebastosdias@users.noreply.github.com>

* Disable Fake Out if it is not the first active move action (#7)

* Disable Fake Out if it is not the first active move action

* Remove unnecessary code

---------

Co-authored-by: André Bastos Dias <dias.andre@siemens.com>

* Implement Piercing Drill, Spicy Spray and Unseen Fist (#2)

* Add Piercing Drill and Spicy Spray

Fix ability numbers

Refactor condition

Disallow Piercing Drill/Spicy Spray in formats !Obtainable Abilities without +Future

Refactor condition

* Rename blockStatus

* CFZ-moves completely bypass Protect

* Update Gen 4 Protect

* Old gen Wide Guard and Quick Guard

* Fix Wide Guard

* Clean Mat Block implementation

* Nerf Unseen Fist

* Fix condition

* Update sim/battle.ts

---------

Co-authored-by: André Bastos Dias <dias.andre@siemens.com>
Co-authored-by: Kris Johnson <11083252+KrisXV@users.noreply.github.com>

* Implement PP mechanics (#8)

* Implement PP mechanics

* Clip all moves to 20 PP

* Apply suggestion from @KrisXV

* Update scripts.ts

---------

Co-authored-by: Kris Johnson <11083252+KrisXV@users.noreply.github.com>

* Add Champions stat calculaiton

* Fix conflicts with smogon/master (#11)

* Fix stat formula (#12)

* Implement PP mechanics (#8)

* Implement PP mechanics

* Clip all moves to 20 PP

* Apply suggestion from @KrisXV

* Update scripts.ts

---------

Co-authored-by: Kris Johnson <11083252+KrisXV@users.noreply.github.com>

* Fix stat formula

* For clarity like we do with friendship in letsgo

* If we don't allow IVs and Level to be modifiable, there is not point in having `Adjust Level = 50`

---------

Co-authored-by: Kris Johnson <11083252+KrisXV@users.noreply.github.com>

* Add Champions Items (#9)

* Remove Mega Raichus, Mega Z, and Greninja-Bond (#10)

* Remove Mega Raichus and Mega Z

* Remove Greninja-Bond

* Implement Mega Sol's activation message (#13)

* Implement Mega Sol's activation message

* Update ModdedBattlePokemon interface

* Implement move changes (#6)

* Implement move changes

* Re-implement Salt Cure changes

* Update moves

* Implement Blood Moon package

* Mimic https://github.com/smogon/pokemon-showdown/pull/11838/

https://github.com/smogon/pokemon-showdown/pull/11838/

* Implement accuracy and PP changes

* Mark Double Shock and Revival Blessing as Past moves

* Import learnsets from Serebii (#19)

* Import learnsets from serebii

* floette -> floetteeternal

* Update learnsets

* Apparently I forgot to give Gourgeist-Small its tier (#15)

* Move Pikachu to NFE (#21)

* Oops

* Add Pokemon I forgot the first time (#24)

* Add 'Past' moves (#23)

* Add past moves

* Fix move availability

* AfterHit effects should activate even if the source faints (#20)

* AfterHit effects should activate even if the source faints

* Change Gens 3-4 event order

* Ups

* Announce 4x and 0.25x effectiveness (#14)

* Reset Encore priority and choose random target (#17)

* Reset Encore priority and choose random target

* Allow onOverrideAction

* Quash + Encore interaction

* Don't send target

targetLoc was actually thing being checked but wtv

* Activate White Herb after choosing the Parting Shot switch (#26)

* Activate White Herb after choosing the Parting Shot switch

* Add comment

* Add formats

* Implement flag changes (#25)

* Implement flag changes

* Fix Gen 5 Rage Powder (remove poder immunity check)

* Add moves and abilities descriptions

* Apply suggestion from @KrisXV

* Comment Rage Powder

Leave this comment and I would choose the implementation depending on what we see from the healing flag.

---------

Co-authored-by: Kris Johnson <11083252+KrisXV@users.noreply.github.com>

* Announce status immunities from abilities (#22)

* Mega Sol boosts the damage of Fire-type moves as if they were under sun (#18)

* Remove hardcoded Utility Umbrella

* Check effective weather on attacker

* Don't activate Mega Sol under sun

* Add TODO comment

* TODO: check interaction with Utility Umbrella

* Move implementation to base mod

* Do not revert Mega Evolutions upon fainting (#16)

* Revert Mega Evolutions on fainting

* Allow diferent levels in the team builder

* TODO: confirm interaction with Revival Blessing

* Add Species Clause and Obtainable

* Update team-validator.ts

---------

Co-authored-by: Kris Johnson <11083252+KrisXV@users.noreply.github.com>

* Update abilities percentages (#27)

* Healer has a 50% chance of curing the status conditions of its allies

* Update Shed Skin

---------

Co-authored-by: Kris Johnson <11083252+KrisXV@users.noreply.github.com>

* Fix crashes

* add custom game

* Fix typo

* update flat rules

* Update data/mods/champions/scripts.ts

Co-authored-by: Slayer95 <ivojulca@hotmail.com>

---------

Co-authored-by: shrianshChari <30420527+shrianshChari@users.noreply.github.com>
Co-authored-by: André Bastos Dias <80102738+andrebastosdias@users.noreply.github.com>
Co-authored-by: André Bastos Dias <dias.andre@siemens.com>
Co-authored-by: Karthik Bandagonda <32044378+Karthik99999@users.noreply.github.com>
Co-authored-by: Slayer95 <ivojulca@hotmail.com>
2026-04-10 20:29:01 -06:00
André Bastos Dias
684150d9d7
Implement Mega Stones as {key: value} pairs (#11684)
* Implement Mega Stones as pairs {key: value}

* Fix Mega Evolution check

* Add constructor guards to Dex getters

* Update config/formats.ts

---------

Co-authored-by: Kris Johnson <11083252+KrisXV@users.noreply.github.com>
2026-01-08 14:59:22 -07:00
André Bastos Dias
c735c99724
Legends Z-A: Add obtainable Pokémon (#11672)
* Legends Z-A: Add obtainable Pokémon

I don't feel like updating each Mega as the seasons go by.

* Fix data test
2026-01-02 09:43:26 -07:00
André Bastos Dias
fa3b107c95
Metronome Battle: Ban Tatsugiri-Mega (#11623)
* Metronome Battle: Ban Tatsugiri-Mega

* Refactor

* Ban the Mega Stone

* Fix test
2025-12-14 21:12:41 -07:00
Kris Johnson
0fc4e743bb Fix build 2025-12-14 12:28:07 -07:00
André Bastos Dias
9df62c450e
Fix Meowstic-M-Mega test (#11624)
9c6d0bf25d
2025-12-14 11:05:10 -07:00
André Bastos Dias
ce3cff6168
Legends Z-A: Multiple fixes (#11617)
* Legends Z-A: multiple fixes

* Fix knocking Mega stones

* Revert Tatsugiri-Mega naming

* Revert "Revert Tatsugiri-Mega naming"

This reverts commit 49b97f1e06.

* Revert Tatsugiri-Mega renaming

* Renam Meowstic-Mega to Meowstic-M-Mega

* Apply suggestions from code review

* Remove type mismatch error for megaStone

---------

Co-authored-by: Kris Johnson <11083252+KrisXV@users.noreply.github.com>
2025-12-12 12:39:15 -07:00
Kris Johnson
30ff784f2c
Z-A: Add DLC Pokemon (#11613)
* Z-A: Add DLC Pokemon

* za ou learnsets

* zaou changes

* skip test 4 now

* dfadasas
2025-12-12 00:04:05 -07:00
André Bastos Dias
c6028d6458
Legends Z-A: Release Chesnaughtite (#11595)
* Legends Z-A: Release Chesnaughtite

* Fix test
2025-12-01 23:07:05 -07:00
André Bastos Dias
b971dd072e
Legends Z-A: Release Delphoxite and Diancie (#11561)
* Legends Z-A: Release Delphoxite and Diancie

* Fix data test

* Add Diancie event

* Add event to Legends Z-A OU
2025-11-06 14:35:09 -07:00
André Bastos Dias
af9af342e1
Separate gen9legends and gen9legendsou format data (#11518) 2025-10-22 12:04:07 -06:00
Kris Johnson
e8ecbc0518 Add Z-A OU changes 2025-10-21 15:58:17 -06:00
André Bastos Dias
16bf2213c0
Fix Zygarde-Mega battleOnly forme (#11517)
Some checks are pending
Node.js CI / build (18.x) (push) Waiting to run
* Fix Zygarde-Mega battleOnly forme

* Revert changes
2025-10-21 02:53:00 -06:00
André Bastos Dias
68596ed027
Fix Legends Z-A test (#11516) 2025-10-21 02:51:53 -06:00
André Bastos Dias
f69ebf7fed
Add Legends: Z-A Learnsets (#11508)
Some checks are pending
Node.js CI / build (18.x) (push) Waiting to run
* Add Legends Z-A mod

* Fix lint

* Use double quotes for isNonstandard

* Add 9L0 moves

* Add legendary encounters

* Add Unobtainable

* Inherit legendary learnsets

* Fix Floette-Mega id

* Use strangeball for gen8legends events

* Simplify isPrimal

* Create tests

* Edit comment

* Release Greninja-Mega

* Add Mega Floette and Mega Zygarde aliases

* Fix gen9legends learnset indentation

* Add pokedex changes

* Fix lint

* Fix test

* Revert changes

* Update formats-data.ts

* Fix tests

* Add updated stats for Mega Mawile and Mega Medicham

* Inherit Mega Starmie stats

* Remove Kleavor from Scyther evolutions

---------

Co-authored-by: Kris Johnson <11083252+KrisXV@users.noreply.github.com>
2025-10-20 15:49:26 -06:00
Kris Johnson
051a404478 Add Legends: Z-A Pokemon and items 2025-10-15 16:46:14 -06:00
Kris Johnson
ae6d677edc
Refactor color support for cosmetic formes (#11442)
* Refactor color support for cosmetic formes

* Oops

* Oop2s

* Fix build

* Fix build ?
2025-09-15 12:15:22 -06:00
dot-Comfey
7357f0fa8f
Add HOME relearner for LA (#11409)
Some checks are pending
Node.js CI / build (18.x) (push) Waiting to run
* Add HOME relearner for LA

* Update dex-species.ts

Workaround for a crash caused by using the LA mod in dexsearch

* Fix more crashes

* `gen8legendsarceus` -> `gen8legends`
2025-08-31 23:59:04 -06:00
dot-Comfey
b27ddb4ae2
Add BDSP HOME relearner and fix BDSP event legality (#11374)
* Allow BDSP moves to be learned via HOME relearner

* Update team-validator.ts

Commented out my changes to see if this was causing a test to fail; turns out my code isn't at fault.

* Update team-validator.ts

* Don't get learnset for Pokemon that don't exist in BDSP

Without the isNonstandard check, the learnset will be taken from the base learnsets.ts file, which could result in detecting moves that are actually not from BDSP.

* Fix BDSP legality

* Update team-validator.ts

* Fix test and learnsets

* Update data.js

* Prevent illegal transfers to/from BDSP

Nincada from outside BDSP cannot be sent to BDSP, Nincada from BDSP cannot be sent to other Switch games, and Spinda cannot be sent from or to BDSP. Currently this has no effect in regular Gen 9, but it technically does in Gen 9 Natdex (I have no idea if anything changes), and it may affect future generations.
2025-08-27 12:15:59 -06:00
skymin3
da9a5c4d8d
Update aliases (#11120)
---------

Co-authored-by: Guangcong Luo <guangcongluo@gmail.com>
2025-05-29 22:44:57 -07:00
Guangcong Luo
f616e48196 Validate mod capitalization 2025-05-26 16:30:06 -07:00
Guangcong Luo
e07080ce5c
Support fuzzy searching /dt etc (#11124)
This add's the teambuilder's fuzzy matching to /dt and similar commands.
2025-05-23 00:26:23 -07:00
Guangcong Luo
803be601e6 Improve CompoundWordNames validation
Some checks are pending
Node.js CI / build (18.x) (push) Waiting to run
2025-05-19 11:16:50 -07:00
Guangcong Luo
a87a05fc7f Update CompoundWordNames for gen 7-9
Some checks are pending
Node.js CI / build (18.x) (push) Waiting to run
2025-05-18 17:50:46 -07:00
Guangcong Luo
f54a9ed5e1 Make sure data files never import
Some checks are pending
Node.js CI / build (18.x) (push) Waiting to run
2025-05-18 15:19:34 -07:00
Guangcong Luo
99c69509ad
Port CompoundWordNames into data/aliases (#11121)
This is what lets you type "ww" or "wind" to find "whirlwind" in the
teambuilder (and PSdex) search.

These were previously in the client build scripts, where I think most
people didn't realize how to find or update them.
2025-05-18 13:39:06 -07:00
Guangcong Luo
7f51282b16 Fix build error
Ugh, this is incredibly annoying, I tested before pushing but committed
this into the wrong branch.
2025-05-18 13:18:42 -07:00
Guangcong Luo
ef9e1d23e2 Validate aliases in unit tests 2025-05-18 12:34:28 -07:00
Guangcong Luo
78439b4a02
Update to ESLint 9 (#10926)
ESLint has a whole new config format, so I figure it's a good time to
make the config system saner.

- First, we no longer have separate eslint-no-types configs. Lint
  performance shouldn't be enough of a problem to justify the
  relevant maintenance complexity.

- Second, our base config should work out-of-the-box now. `npx eslint`
  will work as expected, without any CLI flags. You should still use
  `npm run lint` which adds the `--cached` flag for performance.

- Third, whatever updates I did fixed style linting, which apparently
  has been bugged for quite some time, considering all the obvious
  mixed-tabs-and-spaces issues I found in the upgrade.

Also here are some changes to our style rules. In particular:

- Curly brackets (for objects etc) now have spaces inside them. Sorry
  for the huge change. ESLint doesn't support our old style, and most
  projects use Prettier style, so we might as well match them in this way.
  See https://github.com/eslint-stylistic/eslint-stylistic/issues/415

- String + number concatenation is no longer allowed. We now
  consistently use template strings for this.
2025-02-25 20:03:46 -08:00
André Bastos Dias
920a0e0773
Fix Rockruff-Dusk's Pokédex entry (#10871) 2025-02-09 20:17:52 -06:00
urkerab
1f56611716
Test cosmetic formes (#10579)
* Add tests for cosmetic formes

* Fix aliases of Pokestar F to use its actual name

* Revert "BH: Fix weird validation edge case"

This reverts commit e71619135a.

* Remove invalid tiers of cosmetic formes of Pokestar Giant
2024-09-28 11:38:56 -06:00
urkerab
dbd0ccba19
Use base forme names in banlists where possible (#10515)
* Use base forme names in banlists where possible

This allows you use e.g. 'Arceus-Normal' instead of 'Arceus-Base'.

Also includes some aliases so that all known base forme names actually work.

* Update formats.ts

---------

Co-authored-by: Kris Johnson <11083252+KrisXV@users.noreply.github.com>
2024-09-01 14:43:07 -06:00
Mia
ada9f31ef3 Revert "Use base forme names in banlists where possible (#10496)"
This reverts commit 8438ec1890.
2024-08-26 23:15:59 -05:00
urkerab
8438ec1890
Use base forme names in banlists where possible (#10496)
* Use base forme names in banlists where possible

This allows you use e.g. 'Arceus-Normal' instead of 'Arceus-Base'.

Also includes some aliases so that all known base forme names actually work.

* Update formats.ts

* Update config/formats.ts

* Update config/formats.ts

* Update config/formats.ts

* Apply suggestions from code review

---------

Co-authored-by: Kris Johnson <11083252+KrisXV@users.noreply.github.com>
2024-08-26 19:20:28 -06:00
Kris Johnson
10b041561d Fix build 2024-01-11 10:17:44 -07:00
Kris Johnson
a0f10ffa51
Add DLC2 data (#9963)
* DLC2 returning Pokemon

* Returning legendaries too

* Partially add Raging Bolt and Iron Crown (#10)

* Add remaining Pre-DLC2 event data

* Fix tests

* Last event before DLC + split learnset files

* Learnsets + secret returning pokemon

* Some DLC 2 stuff (#12)

* Add New Mons

* Add Electro Shot

* Give Dipplin Dex Evo

* Update data/moves.ts

---------

Co-authored-by: Kris Johnson <11083252+KrisXV@users.noreply.github.com>

* More tweaks

* formats

* Revealed moves (#11)

* Add Hard Press

* Add Psychic Noise

* Add Upper Hand

* Apply suggestions from code review

---------

Co-authored-by: Kris Johnson <11083252+KrisXV@users.noreply.github.com>

* more things

* Fix typo

* a lot of other things

* MOVES! kinda

* b

* fickle beam confirmed chance

* Evo Item Undexit + Metal Alloy + Move Fixes (#19)

* Update move data

* Update Item Data

* Apply suggestions from code review

---------

Co-authored-by: Kris Johnson <11083252+KrisXV@users.noreply.github.com>

* Add message for Fickle Beam BP double (#18)

* Add some tests and implement Tera Shell (#15)

* add some tests and draft of tera shell

* add text

* .

* add improvements from feedback, change behavior of terashell

* use AfterMove instead of AfterMoveSecondary

* add confirmation to multi-hit interaction

* improve based on feedback and general cleanup

* Apply suggestions from code review

---------

Co-authored-by: Kris Johnson <11083252+KrisXV@users.noreply.github.com>

* Add Tera Shift and Teraform Zero (#16)

* Add Tera Shift and Teraform Zero

* Add short descriptions

* fixes

* More move changes

* Update unSketchable moves

List from Anubis

* more move things

* oops

* Implement new Neutralizing Gas/Paradox ability interaction (#17)

* Implement new Neutralizing Gas/Paradox ability interaction

* add test

* revert in dlc

* ok

* Update pastgens for Sketch (#20)

* Implement Stellar type (#13)

* Implement Stellar type

* stuff from research

* pain

* add tests for Dragon Cheer (#22)

Co-authored-by: Kris Johnson <11083252+KrisXV@users.noreply.github.com>

* Update move flags (#23)

* Fix flags for new moves

* update old moves

* remove sparkling aria changes

* update metronome description

* update other move descriptions

* more formatz stuff

* Add Poison Puppeteer (#24)

* Add Poison Puppeteer

* i'm bad

* still bad

* Fix build

* oops

* Update data/moves.ts

Co-authored-by: Marty-D <Marty-D@users.noreply.github.com>

* Update data/moves.ts

Co-authored-by: Marty-D <Marty-D@users.noreply.github.com>

* Update data/items.ts

Co-authored-by: Marty-D <Marty-D@users.noreply.github.com>

* Update data/moves.ts

Co-authored-by: Marty-D <Marty-D@users.noreply.github.com>

* Fix Terapagos dex entries (#25)

* Update data/pokedex.ts

Co-authored-by: Marty-D <Marty-D@users.noreply.github.com>

* Update data/pokedex.ts

Co-authored-by: Marty-D <Marty-D@users.noreply.github.com>

* Update data/pokedex.ts

Co-authored-by: Marty-D <Marty-D@users.noreply.github.com>

* FIX BUILD

* Fix Regulation E formats (#26)

* Fix Regulation E formats

* add move bans

* nevermind

* Add Regulation F formats (#27)

* Fix interaction between Adaptability and Tera Stellar (#28)

* reg f bo3 ladder

* Update config/formats.ts

Co-authored-by: Leonard Craft III <leonardcraft64@gmail.com>

---------

Co-authored-by: Smudge <smudgerox@users.noreply.github.com>
Co-authored-by: Leonard Craft III <leonardcraft64@gmail.com>
Co-authored-by: Karthik <32044378+Karthik99999@users.noreply.github.com>
Co-authored-by: tofa <79044321+im-tofa@users.noreply.github.com>
Co-authored-by: Marty-D <Marty-D@users.noreply.github.com>
2023-12-15 21:35:01 -07:00
Kris Johnson
6bb3879e3a
Add Teal Mask DLC data (#9762)
Co-authored-by: Karthik99999 <bandagondak0217@gmail.com>
Co-authored-by: smudgerox <smudgerox@users.noreply.github.com>
Co-authored-by: Leonard Craft III <leonardcraft64@gmail.com>
Co-authored-by: Marty-D <Marty-D@users.noreply.github.com>
Co-authored-by: Karthik <32044378+Karthik99999@users.noreply.github.com>
2023-09-13 21:08:01 -04:00
Kris Johnson
c7a0444bb4 Fix build 2023-07-01 11:14:58 -06:00
Kris Johnson
f6e1cfe19e
Refactor Ash-Greninja (#9606) 2023-06-18 22:51:02 -05:00
Kris Johnson
b04b3d7eb0
Add Pokemon HOME 3.0.0 changes (#9573)
* Add Pokemon HOME 3.0.0 changes

* oop

* a

* OWOWOWOWOWWO
2023-05-30 09:08:02 -06:00
Kris Johnson
d0fffd5005 Release Chesnaught line 2023-05-11 19:25:06 -06:00
Kris Johnson
f19b877059 Release Inteleon line 2023-04-27 20:07:13 -06:00
Kris Johnson
798f9ca828 Release Typhlosion line 2023-04-13 19:01:26 -06:00
Kris Johnson
3c7cba2440 Release Samurott line 2023-03-30 19:55:21 -06:00
Kris Johnson
fd957c775c Fix build 2023-03-16 21:11:41 -06:00
Kris Johnson
5a24d69867
Add new Pokemon (#9420) 2023-02-27 16:53:57 -05:00
Kris Johnson
6f0d563ee6 Fix build 2023-01-26 20:11:43 -07:00
Kris Johnson
2c792f7012 Fix build 2022-12-29 18:20:44 -07:00
Kris Johnson
4e11584566
Fix Gen 9 species count 2022-12-01 21:28:11 -07:00
Annika
931b83a2b9 Dex: Add tests to verify the number of Pokémon 2022-11-23 12:40:32 -08:00