* 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>
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
* 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>
* 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
* add language selection
* Move language option up
* Move language list to seperate file
* fix circular dependency
* Move language selection to own icon
* run biome
* add icon
* add icon to legacy ui
* Add blacklist of moves that can't be forced STAB.
* Add exploding moves to blacklist.
* Change blacklist from array to list.
* Sort blacklist and add steel beam
---------
Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
* 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>
* Store session id in session data to prevent somehow deleting wrong slot
* Only log session / system if beta or local; fix promise
* Fix serialization/deserialization when logging session/system data
* Force loadSaveSlot to set the logged in user's last session
* No longer add slotId to session data
* Use pointer events instead of touch events in `TouchControl`
* Marked some touch-related tests as todo
* Changing test mocker to send pointer events
* Also updated the ui to change the position of touch controls
Co-authored-by: NightKev <34855794+DayKev@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>
* Added mock console and fixed up many many things
* Cleaned up handling of colors and such
* Added minor comment
* Fix Focus Punch test
* Fix typo
* Remove redundant comment
* Update vitest.setup.ts
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Added color map inside new folder
* Made constants not object bc i was told to
* Update src/constants/colors.ts
* Removed all moves init check
* Removed import
* Fixed up some stuff + added aquamarine color to settings helper
* Added logging for test end
* Removed intentionally failing test
* Fixed console log to use inheritance to not override vitest's wrapping
* Added a custom Vitest reporter to not log the test name every 2 lines
* Moved coloration to a hook to prevent misplacing things
* Fixed import issue by copypasting vitest soure
* Removed intentionally failing test
look i need to check that `test:silent` works on github ok
* Added REUSE annotations to copied parts of source
* Fixed import issue
---------
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Check if items are able to transfer for `ALL` option
* show amount of transferable items in `ALL` option
* Show number of transferable items in the 'ALL' option
* Apply suggestions
- The constant `isLocal` now checks to see if `import.meta.env.MODE`
is `"development"` (which it is when running via `pnpm start:dev`)
instead of checking what URL is being used to access the client
(e.g. `"localhost"` or an IP address)
- Remove `start` from `package.json` and replace it with
`start:prod` (which runs `vite --mode production`) and
`start:beta` (which runs `vite --mode beta`)
`start:prod` -> `isBeta` and `isLocal` are both `false`
`start:beta` -> `isBeta` is `true` and `isLocal` is `false`
`start:dev` -> `isBeta` is `false` and `isLocal` is `true`
- Remove obsolete/unused `localServerUrl` and `apiUrl` constants
* Prevent an empty starterpreferences object from being saved
* Fix ssui nullish coalescing
* Update src/utils/data.ts
Co-authored-by: Dean <69436131+emdeann@users.noreply.github.com>
---------
Co-authored-by: Dean <69436131+emdeann@users.noreply.github.com>
* Ensure status effects from same source interaction cannot override each other
* Update test/status-effects/general-status-effect.test.ts
Co-authored-by: Bertie690 <136088738+Bertie690@users.noreply.github.com>
* Using seenCount in pokedex and game stats
* Species seen now also include caught data
---------
Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
* Prevent crash when attempting to select a move not in the user's moveset
* Fix typo in tsdoc
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
---------
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Change rare egg rate consts to array
* Update rates.ts
1/24 -> 1/16
* Make new arrays use readonly type hint
---------
Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
Co-authored-by: damocleas <damocleas25@gmail.com>
* Introduced `getSpeciesData` function
* Saving and loading starter preferences as intended without conflicts
* Hiding shiny star and hidden ability icon, showing correct nature
* Forcing first tera type always
* Fixed bug which prevented tera from displaying the saved preference; tera resets in fresh start
* Ensuring that label text updates correctly
* Removed large commented code, plus lock on hardy nature.
* Excluded specific forms from fresh start, fixed bug with default nature
* Removed Rockruff from restricted forms
* Moves update correctly when switched around
* Making tera type persist in preferences
* Saving starter preferences after every change
* Tera type not resetting randomly
* Removed some log messages
* Incorporated suggestions from review
* Only allowing unlocked neutral natures, or default to hardy if no natures are unlocked
* Capping ivs at 15 instead of setting them at 15
* Apply suggestions from code review
Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
* Hiding various things
* Ran biome
---------
Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
* Block catching bosses in nuzlockes
* Changes to conditions to restrict master ball use
* Implemented new can't catch messages
* Fixed some bugs which prevented correct usage of balls
* Special casing full fresh start
* fix text Update command-phase.ts
* Added tests for failing catches
* Using `mockI18next`
* Shorten a couple of variable declarations
* Fixed bug that allowed catching trainer pokemon in end; showing double battle failure only if other failure messages do not apply
* Fixed order of error messages
* Changed description of tests with "in end biome" instead of "paradox mon(s)"
* Not override nature after selection
* Update test/field/catching.test.ts
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
---------
Co-authored-by: damocleas <damocleas25@gmail.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
* Save after moveset changes
* Saving only when the moveset is actually changed
* Removed logs, added docs
* Update src/ui/starter-select-ui-handler.ts
---------
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
* Reworked status code, fixed bugs and added Rest tests
* Fixed rest bug
* Fixed bugs, split up status code, re-added required Rest parameter
* Cleaned up comments and such
* Added edge case to rest about locales
* Maybe did stuff
* Split up `trySetStatus` fully; fixed rest turn order display to match mainline
* Reverted healing changes to move to other PR
* Fixed message code a bit
* Condensed all status immunity tests under 1 roof
* Fixed the tests
* Added pollen puff tests back again
* Fixed swallow test
* Reverted swallow test
fixing in other prs
* Fixed pollen puff
* Fixed cirrc dep isuse
* fixed stockpile to no longer fail on stack full
* Fixed rest thing...?
* readded swallow conds
* Fixed tests
* wip
* Fixed tests
* Added pokemon heal phase to the turn queue
* ddddd
* Fixed the tests
* Fixed corrosion test
* Ran linting
* Fixed infiltrator bug
* Fix pokemon.ts
* Update move.ts
* Update corrosion.test.ts
* Update pokemon.ts documentation
* Remove missed line in TSDocs
* Update pokemon.ts
Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
* Update modifier.ts
Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
* Update modifier.ts
Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
* Update obtain-status-effect-phase.ts
* Fix merge issues and apply Biome
* Revert pokemon-heal-phase.ts
* ddddd
* Fixed test file syntax err
* Update toxic spikes status set text to be quiet
* ran biome
* ran boime
* Prevent rest failure message from displaying outside of move phase
---------
Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Grabbed matchers from other branch
* Cleaned up entry hazard arena tags; merged tests into 1 file
* Marked test as TODO because IDK how to make it pass
* Re-added test file + ran biome
* Sort imports in `vitest.d.ts`
* Fix Stealth Rocks test
* Renamed arena traps to entry hazards fr fr
* fixed matcher to have default value
* Fixed errors
* Update arena-tag.ts
Co-authored-by: Wlowscha <54003515+Wlowscha@users.noreply.github.com>
---------
Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: Wlowscha <54003515+Wlowscha@users.noreply.github.com>
* Removed deprecated functions from phase interceptor
* Added minor docs to the phase manager + renamed `shift` to `shiftPhase`
* Added `selectStarterPhase` to the end by set mode collection
* Fixed issues and syntax errors
* somehow fixed reload bug by making things actively worse
* Perhaps fixed things?
* maybe fixed?
* Fixed tests
* fixed another dumb error bc me big dumb bozo
* dddddd
* Update phase-interceptor.ts
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Re-add `!` and add `TODO` comment instead
---------
Co-authored-by: Wlowscha <54003515+Wlowscha@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
* changed ME `intro_dialogue` to camel case
* changed MEs part 1
* changed MEs part 2
* changed MEs part 3
* chnaged MEs part 4
* Update locales submodule