* make IVs use Uint8Array
* Add many typed array helpers
* Move array utils to its own file
* Add suppression comment
* Adjust type of `getStats`
* Adjust test mocks to use typed arrays
* Adjust signatures of some phases to use ArrayLike<T>
* Adjust signature of src/ui/containers/stats-container#updateIvs
* Remove comment gap to try to satisfy typedoc
* Ensure ivs are always set
* fix: fun-and-games me to use typed array
* Add new tests for array utilities
* Update type of ivs in save-data.ts
* Update part-timer-encounter.test.ts
* Convert uses of StatusEffect[] to Uint8Array
* Update ssui to use uint8array for ivs
* Revert use of typed arrays
* Move `nil` to @types/common
* Make more arrays readonly
* fix: remnant change to immune effects
* Even more array improvements
* Apply kev's suggestions from code review
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* address Bertie's comments from code review
* tests: remove undefined check for bigint array types
* fixup abilities.ts
---------
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Add caching for test matchers types to improve ts performance
* add skipLibCheck to tsconfig.json
* Bump package versions
* Move tm species map to its own file
* Turn on ts-nocheck in pokemon-level-moves
* Move initBiomes to own file
* Add types to methods in ME encounter phase utils
* Fix spacing
---------
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* [P2 Bug] Fit initBiomes incorrectly getting evo level threshold
The evolution level threshold wasn't applying correctly to the biome entries of Pokemon that evolved via evolution items (so anything with a level 1 "requirement"), this has been fixed. The evolution delay for certain Pokemon has been lowered, as it it was compounding with their existing level requirements, making their evolutions take way too long to happen. The values were lowered to match the intended levels the Balance Team desired. The outputPools function has also been run, updating all the levels of the Pokemon with set evolution delays.
* Remove evo delay
* Improve clarity for mantyke evo level
---------
Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
* balance: adjust evolution delay requirements
* Remove evo delay test
* Update mystery encounter test matcher
* fix: callsite errors
* Fix desynced edit in ai-species-gen.ts
* Formatting
So the linter stops complaining
* [WIP] Add temporary logging statements and address evolution
* Fix off by one error related to species ID
* Fix issue with pokemon species
* Fix biome outputs generating with NaN for evolution levels
Co-authored-by: Madmadness65 <59298170+Madmadness65@users.noreply.github.com>
* Make type boost items consider moves that have a variable, but static type
* fix: type boost item not spawning for moves without variable type
* make tera blast consider a tera-capable user's tera type
* Adjust tera blast's getTypesForItemSpawn method
* Address comments from code review
* docs: clarify `canTerastallize`
* Add failure conditions and move failures part 1
* Add second and third failure sequences
* Refactor mostly complete, need to recheck tests
* Adjust status checks to respect ignoreStatus useModes
* Adjust restriction for stuff cheeks
* Address bertie's review comments
* Add counterRedirectAttr to other counter-like moves
* Adjust some documentation for new methods
* Make substitute use the move tag
* Adjust counter attr to use array.find
* Adjust move condition check that occurs in the third failure check sequence
* Insert move failure check sequence part 4 into move phase
* Revert type adjustment to getBattlerIndex
* Make charging moves deduct pp on use instead of on release
* Fix first move condition not using 1 based starting wave
* Tweak charge move handling and protean timing
* Adjust fly tests to expect pp reduction properly
* Add missing attribute to counter
* Adjust revival blessing hardcore test to respect new return value of isUsable
* Adjust copycat test to account for how it actually works
* Play sleep animation and message
* Remove BYPASS_SLEEP battler tag in favor of boolean holder
* Finish unfinished docs
* Ensure move restrictions are only checked for players
* Adjust pollen puff condition, fix docs on `isOpponent`
* Fix failAgainstFinalBossCondition
* Fix dig test
* Adjust dive's test
* Fix missing break in applyConditions
* Fix getBattlerIndex for enemyPokemon
* Adjust type hint test to not rely on teleport
* Minor adjustments from code review
Co-authored-by: Bertie690 <136088738+Bertie690@users.noreply.github.com>
* Add tests for teleport
* Minor adjustments from code review
Co-authored-by: Bertie690 <136088738+Bertie690@users.noreply.github.com>
* PR review changes
Fix type hints test name
Update Dig/Dive test name
Separate TSDoc imports in `pokemon-utils.ts`
Add missing `@returns` in `move-phase.ts`
Fix comment typos
Separate TSDoc imports in `move-phase.ts`
Add return hints to `trySelectMove`
Minor formatting
Remove duplicate `.affectedByGravity()` on Telekinesis
Fix docs for `checkRestrictions`
Manually format method definition
Fix comment spacing
Fix variable naming
* Address kev's review comments
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Minor adjustments from code review
Co-authored-by: Bertie690 <136088738+Bertie690@users.noreply.github.com>
* Remove optional chaining
* fix: type for InferKeys
* chore: apply biome
* chore: fix merge conflicts from Biome update
* Remove latent isNullOrUndefined
* Drop readonly on timingModifier
* docs: Add class comment
* Address comments from code review
* Drop readonly from timingModifier
* Cleanup proc chance computation
* Move `cureStatus` into the Pokemon class
* Final touchups
---------
Co-authored-by: Bertie690 <136088738+Bertie690@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
https://github.com/pagefaultgames/pokerogue/pull/6554
* Removed `ARENA_TINT_OVERRIDE` + minor cleanup of arena tint code
* Added `TIME_OF_DAY_OVERRIDE` to replace tint override
* Fixed visual bug with time of day override
* Fixed the frag stuff and blah blah blah
* Update sprite-types.ts
* Reworked `Starter` interface with more explicit information
* Use Starter in ssui
* Fixed some bugs
* Passing starter.ivs to playerPokemon
* Using speciesIds
* Fixed getTestRunStarters
* Reverted some parameter changes
* Initialize starters in ssui
* Don't clear starters before starting run
* Fix to game manager
* Apply suggestions from code review
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Set ivs to 0 in part timer test
* Setting the right ivs
* Moved ssui to handlers folder
* Ran biome all
* Fixed broken imports
---------
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Implement supreme overlord as a battler tag
* Make ability a conditionalattr
* Add tag to map
* Update test
Co-authored-by: Bertie690 <136088738+Bertie690@users.noreply.github.com>
* Add edgeCase marker
* Extend from AbilityBattlerTag
* Run biome
---------
Co-authored-by: Bertie690 <136088738+Bertie690@users.noreply.github.com>
* Fix terrain & weather max duration flyout
* show correct max duration for tags
* maka maxDuration optional in arenaEvent constructor
* Apply suggestions from code review
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
---------
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Added new biome entries for Type: Null, Silvally, Poipole, Naganadel, Kubfu, Urshifu, Scientist, and Swimmer to their respective init functions, and reran `outputPools`.
* Lower TM weight in moveset generation.
* Implement a cap on amount of TMs based on wave.
* Extract ai moveset generation to its own file
* Minor doc cleanup
* Move magic numbers to balance file and export them
* Tweak stab move weight generation
---------
Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
https://github.com/pagefaultgames/pokerogue/pull/6551
* [Balance] Change Happiny evolution method
Happiny now evolves into Chansey by using an Oval Stone during the Dawn or Day, instead of 160 friendship (Blissey's friendship requirement of 200 remains unchanged).
Also removed unnecessary comments from Gligar's and Sneasel's evolutions.
* Update Chansey -> Blissey 200 -> 180 Friendship Required (Base 140)
---------
Co-authored-by: damocleas <damocleas25@gmail.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Move type definitions away from game-data.ts
* Update src/@types/data-types.ts
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Renamed file to save-data.ts
* Fixed broken import
* Moved some ui files
* Run biome, fix broken import
* Fixed one more broken input
* Added more biome rules
* Fixes
* Added a few more rules
* Added global phaser to biome
* Fix tpyo
* Updated biome to 2.1.4; improved docs on linting/localization; added vcs support
Also added `.build` to gitignore cuz reasons
* Fixed tpyo
* dd
* Applied linter fixes
* Partially fixed some private property issues
* Upgraded to Biome 2.2.0; added `operatorLinebreak` and a few new rules
* Moved operator linebreaks before lines
* Applied kev's suggestions
* Update biome.jsonc
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* added like all the rules and then some
* modify biome.jsonc
* apply biome formatting
* Reverted changes to balance folder
* fixed stuff
* Fixed biome stripping trailing globstars from everything
* made `noInvertedElse` an error rule
* Add & apply fixes for `useExplicitLengthCheck`, `useAtIndex` and `noNonNullAssertedOptionalChain`
* Bumped biome to 2.2.3
* Fixed a few syntax errors
* Removed trailing globstars since biome actually fixed their shit
* Final clean up
* foobarbaz
* Fixed remaining issues
* Fixed a few errors in SSUI
* fixed rounding issue
* Fixed test to not round funky
* Fixed biome false positive for vitest hooks
* Apply biome:all
---------
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
* Added egg move parse utility script
* Update interactive.js
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Update interactive.js
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Update interactive.js
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Applied kev's reviews
* Removed `basePath` from tsconfig
the docs literally recommend against using it so yeah
* Fixed up configs so that script folder has its own file
* Reverted changes to egg move contents
* renamed boilerplate so biome doesn't lint it
* Fix `jsconfig.json` so that it doesn't typecheck all of `node_modules`
See https://github.com/microsoft/TypeScript/issues/50862#issuecomment-1565175938 for more info
* Update tsconfig.json
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Updated workflows and fixed issues
* Removed eslint from linting workflow
* Fixed type error in d.ts file to shut up linters
* Reverted test-filters.yml
* Update biome.jsonc
* Update decrypt-save.js comment
* Update interactive.js
* Apply Biome
* Fixed type errors for scripts
* Fixed biome from removing tsdoc linkcodes
* Update test/@types/vitest.d.ts
---------
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>