* 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>
* 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 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>
* 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 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>
* 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>
* Removed bangs from `getEnemyParty` and `getPlayerParty`
* Replaced instances of consecutive `game.scene.getPlayerParty` with destructuring
* More array destructuring!!!
* Replaced `game.scene.getXXXParty()[0]` with `game.field.getEnemyPokemon`
* Deleted duplicate sturdy test case
* Fiexd syntax errors
* Fixed remaining issues; removed direct assignment to `Pokemon.moveset`
* Fixed remaining error
* [Test] Added `toHaveArenaTagMatcher` + fixed prior matchers
* Fixed imports and stuff
* Removed accidental test file addition
* More improvements and minor fixes
* More semantic changes
* Shuffled a few funcs around
* More fixups to strings
* Added `toHavePositionalTag` matcher
* Applied reviews and fixed my godawful penmanship
* Fix vitest.d.ts
* Fix imports in `vitest.d.ts`
---------
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
https://github.com/pagefaultgames/pokerogue/pull/5712
* Created Double Edge testing for recoil damage on substitutes
* Changed the logic for substitute damage
* Made testing for the updated substitute logic
* Update test formatting
* Fixed error in damage logic
* Apply Biome
* Fix test file
* Apply suggestion and update test
* Remove obsolete workaround and console logs
---------
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Protect rng now resets on new waves and fixed to look at all turns in the same wave.
* Added per-wave move history object to fix issues
@Jimmybald1 I added a commented out `console.log` in the protect code (L5797) for you to use for testing
* Added many tests
* Wave move history has to be looped in reverse
* Update src/data/moves/move.ts
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Update src/data/moves/move.ts
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* comments
* Fixed forceEnemyMove references after merge
* Removed console log
Co-authored-by: Amani H. <109637146+xsn34kzx@users.noreply.github.com>
* Fixed test message
Co-authored-by: Bertie690 <136088738+Bertie690@users.noreply.github.com>
* Apply Biome
* Fix merge issues
* Fix Crafty Shield test
* Remove protect chance reset on wave change
* Fix merge issue
---------
Co-authored-by: Jimmybald1 <147992650+IBBCalc@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: Amani H. <109637146+xsn34kzx@users.noreply.github.com>
Co-authored-by: Bertie690 <136088738+Bertie690@users.noreply.github.com>
https://github.com/pagefaultgames/pokerogue/pull/6178
* Replaced all instances of `game.scene.getXXXPokemon()!`
inside tests with `game.field.getXXXPokemon()`
* Fixed tests
* Fixed oblivious test
* Fix Grudge test
* Partially ported over pkty matchers (WIP)
* Cleaned up some more matchers
* Fiexd up matchers
* Fixed up remaining matchers
* Removed the word "matcher" from the pkty matcher functions
If we want them back we can always undo this commit and convert the other custom ones
* Added wip spite test
* Added `toHaveUsedPP` matcher
* Fixed up docs and tests
* Fixed spite test
* Ran biome
* Apply Biome
* Reverted biome breaking i18next
* Update src/typings/i18next.d.ts comment
* Fixed log message to not be overly verbose
* Added option to check for all PP used in pp matcher + cleaned up grudge tests
* Fixed up tests
* Fixed tests and such
* Fix various TSDocs + missing TSDoc imports
* Fixed move flags
* Disabled order up interactionn with sheer force
* Update src/data/moves/move.ts
* Removed order up test that no longer applies
shouldn't have been there in the first place
* Standardize filenames to kebab-case
Co-authored-by: pymilkmaiden <cassiopeiamahler56@gmail.com>
* Move script outside of public folder
* Move update_exp_sprites to scripts
* Add ls-lint to lint file and directory names
* Update lefthook.yml to skip merge / rebase on all pre-commit commands
---------
Co-authored-by: pymilkmaiden <cassiopeiamahler56@gmail.com>
* [Test] Removed unnecessary calls to `PhaseInterceptor.to("CommandPhase")`
* minor cleanup to final_boss.test.ts
* Made run to final boss encounter actually go to command phase
* fix final_boss.test.ts select bug
* actually fixed test fr this time
* Fix magnet_rise.test.ts
* Fixed test
* Update test/moves/stockpile.test.ts
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Update stockpile.test.ts
---------
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>