* Update trash-to-treasure-encounter.test.ts
* Update trash-to-treasure-encounter.ts
* pain and suffering is lessened
* rotom is just gonna be random now (arena.ts)
* looked at biomes.ts a lot today, not a fan (of rotom, fan)
* stares at weather.ts intensely (lots of small changes)
* Update init-biomes, slight tweaks to encounters
* yay so many more biome.ts please be the last until biome rework
* oh I also changed dudunsparce and maushold to 1/16 to match the others
* ok, biomes.ts one final I think
* minor fixes for biomes.ts
* Update init-biomes.ts
* Adjust Minimum Party Size and Max Allowed Encounters for some ME's
* rename `getShinyMultiplier`
* simplify methods to use first active event instead of sometimes using all active events
* change remaining methods to use first event
* use `ModifierTypeKeys` instead of `string` for wave rewards
* rename `shinyMultiplier` to `shinyEncounterMultiplier` and add `shinyCatchMultiplier`
* update comments
* add comment
* Fix capitalization of variable, remove comment
---------
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Add extra EXP Charm to Classic, Add 1 Ability 1 Shiny Charm to Daily
* Update Delibird moveset in pokemon-level-moves.ts based off of PLA
* Dragon Claw TM Ultra -> Great
* some gmax changes Update pokemon-species.ts
* X items - Update modifier.ts
* (Beta) Milotic and Golisopod slot 3 -> 4 Update rival-party-config.ts
* test fix for x items Update temp-stat-stage-booster.test.ts
* Update tms.ts air cutter and sky drop
* Update tms.ts water pulse and brutal swing
* (beta) fix for admins Update fixed-battle-configs.ts
* (beta) fix Update challenge.ts too
* Fixed up arena tags `apply` with type safety; removed unused parameters from tags
* Enforced member visibility on a few methods
* Made arena tag layers readonly; cleaned up callsites
* Added tests for stone axe
* Fixed mat block + removed unused file
* Fixed up the tests for locale messages + fixed lucky chant
* Reverted change to light screen DR%
* Fixed tests to not check neutralizing gas msgs
* Fixed inverted conditional in test file
* Update doc comments for type-helpers.ts
* Added util to make `it.each` test cases from a bunch of enums
* Fixed up tsdocs
* Fixed type error + removed broken util
* Fixed TR signature
* FIxed type errors caused by pending heal tags
* Remove `undefined` from `onOverlap`'s signature
* allow sourceless arena tags once again
---------
Co-authored-by: Lugiad <adrien.grivel@hotmail.fr>
Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Added various ribbon utils
* Added ribbon tray to pokédex page
* V button in Pokédex toggles IVs
* Introduced visibility toggle
* Added ribbons (and full ivs) to unlocks file
* For real this time
* Added descriptions to the ribbons
* Fixed bug of tray not opening with visibility option on
* Minor cleanup of ribbon tray
* Use unique ribbon icons
* Make achv use image instead of sprite
* Tweak size of ribbons
* Improve clarity on comment
---------
Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
* 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>
https://github.com/pagefaultgames/pokerogue/pull/6617
The formula is `round(max friendship * (current wave / 200))`
where the max friendship value a Pokemon can have is `255`
and `current wave / 200` represents a % value based on
how far in the game you are
* 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>
* 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>
* Fix minimum move count threshold and utilize baseWeights
* Mark a flaky test as TODO
* Add regression test to ensure pokemon generates with sufficient move counts
* Game stats ui handler takes save data as input
* Make admin panel functional for local testing
* Added button to show stats; mocking for local testing with current save data
* Adding pokédex to admin panel
* Many nice things
* Fixed typo
* Add backend support
* Fixed button width in admin panel
* Apply suggestions from code review
---------
Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
* Add license information
* Add reuse lint workflow
* Add snippets for spdx
* fix: minor wording adjustments and typo fixes
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* chore: add FileContributor attributions for Bertie
Co-authored-by: Bertie690 <136088738+Bertie690@users.noreply.github.com>
* begin licensing some audio assets
* Add pokemon reborn sound affect attribution
* Annotate Leavannite's section
* Add more licensing info
* Add license info to license files ._.
* Move ps1 files out of public
* Add license for animation jsons
* Add license for bat scripts in public
* Update licensing in scripts
* Fix typo in license ref
* Fix AGPL-3.0-or-later
* Add license info to typedoc.config.js
* Add MIT license for snippets
* chore: update license info for files in scripts
* chore: update license info
* chore: update license info
* chore: update license info
* Remove licenses used only by public before linting with reuse
* Add license info to new files added by docker PR
* chore: apply biome
* fix: add back linting workflow lost during merge
* Add attribution based on Hanniel's information
* Add attribution based on Officer Porkchop and Green Ninja's information
* add attribution to unicorn_power for reshiram/zekrom/kyurem epic variant
* Fixup minor typo
* Adjust sprite test to not think REUSE.toml is a sprite json
* Add missing continue-on-error to workflow
* fix: address kev's comments from code review
* docs: minor touchups
---------
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: Bertie690 <136088738+Bertie690@users.noreply.github.com>
* 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>
* Made default boilerplate show off some test utils
* Moved all the setup files into their own folder
* fixed relative path bug
* Update i18n.ts
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