* June PMOTM Initial Commit
* Initial Cleanup Pt. 1
* Initial Cleanup Pt. 2
* Initial Cleanup Pt. 3
* Initial Cleanup Pt. 4
* Fix Trailing Spaces
* Fix Indents
* Fix initial style errors
* One more small fix
* Initial random-teams.ts creation
* Shorten Line
* Add Egg Groups
* More cleanup Pt. 1
* More cleanup Pt. 2
* Remove assertion
* Final Ability Cleanup for now
* Bring scripts.ts to modern conventions
* Fix indent and line length
* Temporarily change unit tests to not bug out
* Temporarily change unit tests to not bug out
* Add format, fix style
* Fix two more minor errors
* Fix Random Teams Error
* Change opening message
* Add Sprite Viewer
* fix 696 indents at the same time
* Remove fix for local-only bug
* Move Bad 'n Boosted to challengeable OMs
* Update config/formats.ts
---------
Co-authored-by: Meijer,L. (Lucas) <l.meijer6@students.uu.nl>
Co-authored-by: Kris Johnson <11083252+KrisXV@users.noreply.github.com>
* Activate Wonder Guard if the target is immune
* Lint
* Correctly check for immunities
* Refactor runImmunity
* Change all move.type to move
For example, this fixes Thousand Arrows vs Air Ballon Terapagos. Tera Shell was not activating.
* Remove unnecessary cast
* Add CCAPM Pt. 1
* Add CCAPM Pt. 2
* Add CCAPM Pt. 3
* Add CCAPM Pt. 4
* Add CCAPM Spreadsheet Broadcast
* Last second set change
* Add searchShow: false,
"Standard NatDex" is very weird compared to how OMs usually work.
See "TierShift Mod" and "Godly Gift Mod". NatDex now gets its own mod,
which can be mixed into any other format, instead of needing to start
with NatDex.
This would make Min Source Gen overriding annoying, so it now defaults
to the current gen in Gen 9+, if Obtainable is set and +Past isn't. So
now you don't need to manually set Min Source Gen to enforce Obtainable
in Gen 9.
* Make "All Pokemon" rules more convenient
Previously, "+All Pokemon" did nothing except override "-All Pokemon",
which switched from a default-allow to default-deny system.
They still do that, but they now also override all previous pokemon
bans/unbans. This makes it easier to replace a banlist/whitelist
from an inherited ruleset without needing to reverse every previous
ban/unban.
This also adds an error if you use `+All Pokemon` in a ruleset where
it doesn't do anything.
Fixes#10772
I was deceived by `crypto.getRandomValues` working in the repl, but
that's just because the repl has the Node standard library
pre-imported.
Anyway, this new code should work correctly in all of Node 18, newer
Node, and the browser.