* 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
* 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>
* 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>
* 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>