* [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>
* Add tracking for nuzlocke completion
* Add ribbon to legacy ui folder
* Add tracking for friendship ribbon
* fix overlapping flag set
* Replace mass getters with a single method
* Add tracking for each generational ribbon
* Add ribbons for each challenge
* Apply Kev's suggestions from code review
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
---------
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Enforced a few usages of `toCamelCase`
* Removed `map(x => x)`
* Removed more maps and sufff
* Update test/mystery-encounter/encounters/weird-dream-encounter.test.ts
* Update game-data.ts types to work
* Modify custom starters and added boss, biome and luck custom seed overrides
* Added form index to boss custom seed
* Fix circular dependency in daily-run.ts
* Review for PR 6248
- Use early returns
- Update TSDocs
- Use `getEnumValues` instead of `Object.values` for `enum`s
- Add console logging for invalid seeds
---------
Co-authored-by: Jimmybald1 <147992650+IBBCalc@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Update trainer-config.ts
* Update Starmobiles to use their mainline movesets
* Update Starmobile forms and Trainer Config
---------
Co-authored-by: damocleas <damocleas25@gmail.com>
* fix comment typos
* fix typos in variable/parameter/class names
* fix typos in object names
* fix typos in `console.log()` and i18n key use
* fix typo in filename `abstact-option-select-ui-handler.ts`
* fix casing of `@privateremarks` to `@privateRemarks`
* fix use of `cancelControllerChoice`
- Adjusted A Trainer's Test
- Adjusted The Expert Pokémon Breeder
- Adjusted Trash to Treasure
- Adjusted Weird Dream
- Reorganized Dark Deal
- Adjusted Weird Dream Test
* 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>
* 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
* Improve type signatures of serialized arena/battler tags
* Minor adjustments to tsdocs from code review
Co-authored-by: Bertie690 <136088738+Bertie690@users.noreply.github.com>
---------
Co-authored-by: Bertie690 <136088738+Bertie690@users.noreply.github.com>
* Added string utility package to replace util functions
* Changed string manipulation functions fully over to `change-case`
* Fixed missing comma in package.json
trailing commas when :(
* fixed lockfile
* Hopefully re-added all the string utils
* fixed package json
* Fixed remaining cases of regex + code dupliation
* Fixed more bugs and errors
* Moved around functions and hopefully fixed the regex issues
* Minor renaming
* Fixed incorrect casing on setting strings
pascal snake case 💀
* ran biome
* Sinistea and Poltchageist line alt forms now available
* Unmark Poltchageist line as unobtainable, fix sprite key of alt forms
* Correct forms not being marked as starter selectable
* Reduce wild chance for Antique/Masterpiece forms
Instead of being 1/2 chance to get the Antique or Masterpiece forms, it is now only a 1/16 chance to get them.
---------
Co-authored-by: damocleas <damocleas25@gmail.com>
https://github.com/pagefaultgames/pokerogue/pull/6134
* Removed `sanitizeOverrides`
* Moved initialization code to its own file
* Hopefully fixed test contamination
* Actually listened to people now
* fixed the thingy
* Run stub setup on init because
* Update testFileInitialization.ts
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
---------
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* 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>
* Fixed tests for Magic Guard, Battle phase; fixed innards out stuff
* Fixde magic guard aftermath
* fixed tests
* Fixed innards out
* fixed using sizzly slide instead of will o wisp to inflict burn
* ran boime
* Readd simulated oopsie
* Fix HJK test to use protect + docs and such
* Apply Biome
---------
Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* [Balance] Add faint trigger to Battle Bond Greninja's form change
The form change functionality will now be slightly closer to Generation 7/8, as the Greninja will now revert from Ash form to Battle Bond form upon fainting.
* Change how the form change on faint is triggered
It is no longer directly handled by the faint phase, and is instead part of the abilities now, as more than Battle Bond Greninja revert via this method (Disguise Mimikyu, Power Construct Zygarde).
* Adjust Disguise test
* Updated enum utils to refuse non-enum values;
added strong typing on return values
* Moved Enum functions to own file; added type helpers for enums
* Cleaned up some code
* Fixed up tests
* Fix training-session-encounter.ts
* Fixed Transform and Imposter Bug
* Updated Comments
* Revised Comments
* Revised Changes on how tranformed pokemon are referenced to align with reviewer's suggestions
* Removed unused BattlerTag type for transform
* Removed addition of the transform tag to a pokemon in the PokemonTransformPhase
* Moved the check for whether Transform can be used within the TransformAttr class as suggested and removed uneccesary moveId check
* Consolidated if statement regarding isTransformed
* Removed overrides
* Added move condition to Transform + fixed up imposter target selection
* Condensed tests into 1 file + added more automated tests
This includes a couple regression tests for the fusion shenanigans
* Fixed comment
* Updated override typo for unimplemented methods
* Remove redundant parentheses
* Apply suggestions from code review
Co-authored-by: Bertie690 <136088738+Bertie690@users.noreply.github.com>
---------
Co-authored-by: Bertie690 <taylormw163@gmail.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
Co-authored-by: Bertie690 <136088738+Bertie690@users.noreply.github.com>
* Update biome pools for wild Pokémon
`outputPools` has been run, correcting evolution delays for some Pokémon like Grapploct and Cosmoem, and generally adding spaces to all bracketed lines.
* Revert change to Pawniard line evo delays
Kingambit was evolving before Bisharp due to being an item evolution. The evolution delay for it is now back to level 64.
https://github.com/pagefaultgames/pokerogue/pull/6067
* Fix anger point always procing on multi-hit
when first strike was a crit
* Fix comment spacing
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Rename PostDefendCritStatStageChangeAbAttr
---------
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
https://github.com/pagefaultgames/pokerogue/pull/6016
* Refactored items and respective MEs
* Changed icon names, added bad berry juice, fixed locales
* Berry juice uses a number parameter again, allowing to convert from old saves without a migrator
* Updated encounter with correct sprite
* Update src/data/mystery-encounters/encounters/weird-dream-encounter.ts
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Replaced bad berry juice icon
* Repacked atlas
* Re-export item atlas
---------
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: Madmadness65 <blaze.the.fireman@gmail.com>
* Split up Pokemon data types to own files
* Moved `AttackMoveResult` and `TurnMove` to own files
* Moved `customPokemonData` into types folder + fixed comments
* Moved files around + fixed stuff
* Moved `DamageResult` into new file
* Fixed imports
* ran biome
* Fix merge issue
* [WIP] Refactor ability attribute apply args
* [WIP] update ability signatures
* Update callsites in pokemon.ts
* Update callsites in moves.ts
* Update abattr callsites in move-phase
* Update abattr callsites in battler-tags
Also removed stat drop ability application from cancelling ME stat boost effects
* format with biome and remove cancelled from weather lapse
* Update abattr callsites in MEP
* Update callsites in turn-start-phase
* Update abAttr callsites in misc phases
* Remove latent test functionality
* update ability attribute callsite in shield dust test
* update abattr callsite in winstrate challenge encounter
* Fix some tests to mock proper methods
* Remove improper condition in mimicry's ability application
* Fix improper simulated check in moody's apply method
* Pass source to postApplyDamage in pokemon.ts
* [wip] fix cud chew tests
* Make cud chew consumption not subclass postTurnAbAttr
* Fix regression in flower veil
* Update trySetStatus test in pokemon to respect new return value for undefined
* Remove empty, unused file
* Fix blockCrit method broken in merge
* Fix unnecessary attr type cast in move phase
* Address typing issue in safeguard test
* Improve documentation and get rid of ts-expect-error directive
* Minor comment/TSDoc updates and fixes
* Apply suggestions from code review
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Apply suggestions from code review
---------
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
https://github.com/pagefaultgames/pokerogue/pull/5932
* Fixed modifier code, removed instances of "0 ID = no mon"
* corrected casing + dejanked seed tag
* Added test file, added overload to `findModifier` if given type predicate
* fixed test
* Revert predicate stuff for now
going in separate PR
* Fix id check syrup bomb test
Wasn't running phase due to being a turn end effect
* [WIP] Changed test to use destiny bond as proper regression
* Removed `instant` and `ignoreUpdate` parameters from `tryTransferHeldItemModifier`; fixed post-battle loot code to _not_ break type safety
* Fixed up tests
* Reverted unneeded changes
* Removed outdated modifier test
* Fix import
* Apply Biome
* Update battler-tags.ts
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Update battler-tags.ts
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Update arena-tag.ts
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Update arena-tag.ts
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
---------
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Run `npm audit fix`
* Update Biome to 2.0.0
* Migrate `biome.jsonc` to 2.0
* Apply Biome and fix some suppression comments
* Fix some suppression comments and update config
* More config updates
Added at "error": `noUnusedLabels`, `noThisInStatic`
Changed `useDefaultParameterLast` from "off" to "warn"
Changed `noDocumentCookie` (from recommended) from "warn" to "off"
Changed `noExcessiveCognitiveComplexity` from "warn" to "info"
* Add a bunch of rules
* Apply Biome safe fixes
* Apply Biome unsafe fixes
* Remove irrelevant `useSelfClosingElements` rule
* Upgrade already followed rules to "error"
* Remove unnecessary type cast
* Disable fixer for `useDefaultParameterLast`
* Disable `useJsonImportAttribute` rule and revert changes
* Fix `mockImage.ts`
* ...there's a `@ts-nocheck` in this file
* Use whole-file lint suppression comment in `version_converter.ts`
* Add a couple comments to `biome.jsonc`
* Remove ESLint packages and GitHub workflow
https://github.com/pagefaultgames/pokerogue/pull/5857
* Add test for forecast
* Fix PostSummonFormChangeByWeatherAbAttr
* Fix overrides in forecast test
* Remove a test whose trigger conditions can no longer happen
* Update src/data/abilities/ability.ts
Co-authored-by: Dean <69436131+emdeann@users.noreply.github.com>
* Fix missing tsdoc param
* Apply kev's suggestions from code review
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Simplify PostSummonFormChangeByWeather's canApplyPostSummon
* Fix unused params that messed up after rebase
* Fix form change import
Messed up due to improper rebase
---------
Co-authored-by: Dean <69436131+emdeann@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Refactor evo conditions and descriptions
* Fix test
* Fix Shedinja
* Simplify Gimmighoul evolution
* Primeape and Stantler evolve by using their move 10 times
* Basculin white stripe evolves by taking 294 recoil damage
* Primeape and Stantler use modifiers for tracking
* Basculin uses modifier too
* Remove evo count from pokemon data
* No more evo counter data, Gallade/Froslass
* Fix allmoves import
* Clamperl
* Struggle shouldn't count for Basc recoil
* Change to nicer type
* Apply Benjie's suggestions
Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
* Address formatting
* Undo new evolution changes
* Remove unused imports
* Fix speciesid
* Fixed up descriptions a little
* Change a key name
* Fix Gimmighoul
* Apply Biome
* Apply Biome unsafe fixes
* Review suggestions
- Convert `EvoCondKey` enum to `const` object
- Use early returns in `SpeciesEvolutionCondition#description`
and `SpeciesFormEvolution#description`
- Replace `!!x.find` with `x.some`
and `y.indexOf() > -1` with `y.includes()`
- Implement `coerceArray`
- Fix Shelmet evolution condition
checking for Shelmet and not Karrablast
- Remove unnecessary type casting in `battle-scene.ts`
* Remove leftover enforce func loop
* Fix circular imports issue
- `getPokemonSpecies` moved to `src/utils/pokemon-utils.ts`
- `allSpecies` moved to `src/data/data-lists.ts`
---------
Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Added `MoveUseType` and refactored MEP
* Fixed Wimp out tests & ME code
finally i think all the booleans are gone
i hope
* Added version migration for last resort and co.
buh gumbug
* Fixed various bugs and added tests for previous bugfixes
* Reverted a couple doc changes
* WIP
* Update pokemon-species.ts
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Update pokemon-phase.ts
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Fixed remaining tests (I think)
* Reverted rollout test changes
* Fixed command phase bug causing metronome test timeout
* Revert early_bird.test.ts
* Fix biome.jsonc
* Made `MoveUseType` start at 1
As per @DayKev's request
* Fixed a thing
* Fixed bolt beak condition to be marginally less jank
* Applied some review suggestions
* Reverted move phase operations
* Added helper functions complete with markdown tables
* Fixed things
* Update battler-tags.ts
* Fixed random issues
* Fixed code
* Fixed comment
* Fixed import issues
* Fix disable.test.ts conflicts
* Update instruct.test.ts
* Update `biome.jsonc`
* Renamed `MoveUseType` to `MoveUseMode`; applied review comments
* Fixed space
* Fixed phasemanager bugs
* Fixed instruct test to not bork
* Fixed gorilla tactics bug
* Battler Tags doc fixes
* Fixed formatting and suttff
* Minor comment updates and remove unused imports in `move.ts`
* Re-add `public`, remove unnecessary default value in `battler-tags.ts`
* Restore `{}` in `turn-start-phase.ts`
Fixes `lint/correctness/noSwitchDeclarations`
* Remove extra space in TSDoc in `move-phase.ts`
* Use `game.field` instead of `game.scene` in `instruct.test.ts`
Also `game.toEndOfTurn()` instead of
`game.phaseInterceptor.to("BerryPhase")`
* Use `game.field` instead of `game.scene` in `metronome.test.ts`
* Use `toEndOfTurn()` instead of `to("BerryPhase")` in `powder.test.ts`
* Convert `MoveUseMode` enum to `const` object
* Update move-phase.ts
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Add `enumValueToKey` utility function
* Apply Biome
---------
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Update `.dependency-cruiser.cjs` config file
* Update GitHub workflow
* Have `depcruise` check `test/` as well
* Remove circular import between `battle-anims.ts` and `battler-tags.ts`