* [Dev] test:silent now passes --silent='passed-only' to Vitest (#6131)
* [Dev] test:silent now passes --silent='passed-only' to Vitest
* Update test shard to actually use `test-silent`
* Removed obselete `project` flag
* [Bug] Unblock priority spread under Psychic Terrain (#6136)
Unblock priority spread under Psychic Terrain
Co-authored-by: Acelynn Zhang <acelynnzhang@Acelynns-MacBook-Pro.local>
* [Dev] Remove `sanitizeOverrides`, consolidate initialization code into 1 file
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>
* [Misc] Sinistea and Poltchageist line alt forms now available (#4989)
* 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>
* [Bug] Fix when variable move power is called (#6126)
* Apply variable power attribute before type boost
* Update test/abilities/normal-move-type-change.test.ts
Co-authored-by: Bertie690 <136088738+Bertie690@users.noreply.github.com>
* Minor test improvements
---------
Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
Co-authored-by: Bertie690 <136088738+Bertie690@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* [UI/UX] [Bug] Fix `ModifierSelectPhase` animation delay (#6121)
* Rework promise handling to ensure no races
* Add delay to ensure pokeball opening animation can be seen
* Remove leftover debug statements.
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Add tween bouncing pokeball to tweens that must complete for promise to resolve
* Fix typo in tsdoc
Co-authored-by: Bertie690 <136088738+Bertie690@users.noreply.github.com>
---------
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: Bertie690 <136088738+Bertie690@users.noreply.github.com>
* [Test] `MoveHelper#changeMoveset` disables moveset overrides (#5915)
Also fix Assist tests and add `expect` for max moveset length
* [Refactor] Minor cleanup of `initExpKeys` (#6127)
* [Bug] Fix Thrash continuing on caught Pokemon (#6144)
Fix Thrash continuing on caught Pokemon
* [UI/UX] Replace 'Neutral' in the Arena Flyout with 'Field' (#6139)
Update arena-flyout.ts for Field > Neutral
* [Dev] Added typedoc deployments for Beta (#6147)
* [Misc] Fix import in decrypt-save.js (#6149)
* [Refactor][Bug] Illusion no longer overwrites data of original Pokemon
https://github.com/pagefaultgames/pokerogue/pull/6140
* [UI/UX] Added "Hide Username" Setting (#6105)
* [UI/UX] Added "Hide Username" Setting
* Mask tid with asterisk instead of hiding completely
---------
Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
* [Dev] Add `dist/` to `ls-lint` ignore list
* [i18n] Update Locales
* [Beta] [Bug] Fix shiny display issues (#6154)
Fix shininess check
* [Bug][Beta] Make bounce delay use fixed int (#6156)
Make bounce delay use fixed int
* [Refactor] Refactor UI text ts (#5946)
* Add destroy method to pokemon-sprite-sparkle-handler
* Move TextStyle to enums, convert into const object
* Cleanup text.ts file
* Add necessary explicit types for TextStyle let vars
* Fix locales submodule commit
* Fix merge issue
---------
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* [Test] Added custom equality matchers (#6157)
* Added rudimentary test matchers for `toEqualArrayUnsorted` and `toHaveTypes`
Might port the rest at a later date
* Actually run the effing setup matchers file + fixed ls lint to not be angy
* added dev dep
* Update .ls-lint.yml
* Update .ls-lint.yml
---------
Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
Co-authored-by: Amani H. <109637146+xsn34kzx@users.noreply.github.com>
* [Misc] Fix import in `vitest.d.ts`
* [Dev] Turned on `checkJs` in TSConfig; fixed script type errors (#6115)
* [Misc] Moved + cleaned up string manipulation functions (#6112)
* 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
* [Refactor] Prevent serialization of full species in pokemon summon data
https://github.com/pagefaultgames/pokerogue/pull/6145
* Prevent serialization of entire species form in pokemon summon data
* Apply suggestions from code review
Co-authored-by: Bertie690 <136088738+Bertie690@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Apply Kev's suggestions from code review
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
---------
Co-authored-by: Bertie690 <136088738+Bertie690@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* [Docs] Add `@module` modifier tag to `tsdoc.json`
* [Bug] Fix camel case bug in `strings.ts` (#6161)
* [Dev] Change `target` to `ES2023` in `tsconfig.json` (#6160)
* breakup fight and ball commands into their own methods
* Breakup run and pokemon commands
* Breakup commandPhase#start
Co-authored-by: Bertie690 <136088738+Bertie690@users.noreply.github.com>
* Minor touchups
* Add overload for handle command
* Fix improperly named computeMoveId method
* Improve `canUse` computation
* Explicitly check against Moves.NONE
Co-authored-by: Bertie690 <136088738+Bertie690@users.noreply.github.com>
* Update with Bertie's comments
Co-authored-by: Bertie690 <136088738+Bertie690@users.noreply.github.com>
* Fix imports
* Apply kev's suggestions from code review
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Improve documentation
Co-authored-by: Bertie690 <136088738+Bertie690@users.noreply.github.com>
* [Balance][Challenge] Added expanded Fresh Start options (#6162)
* [Dev] Add `workflow-dispatch` trigger to tests github workflow (#6152)
Add `workflow-dispatch` trigger to github workflow
Co-authored-by: damocleas <damocleas25@gmail.com>
* [Test] Add support for custom boilerplates to `create-test.js` (#6158)
* Added support for custom boilerplates to test:create script
* Added support for custom boilerplates to create-test.js
* Fixed syntax error
* Update create-test.js
Co-authored-by: Amani H. <109637146+xsn34kzx@users.noreply.github.com>
* Fix pluralization error in `create-test.js`
---------
Co-authored-by: Amani H. <109637146+xsn34kzx@users.noreply.github.com>
* [Refactor] Mark nickname in pokemon as optional (#6168)
Mark nickname in pokemon as optional
* [Dev] Update Vite from 6.3.5 to 7.0.6 (#6163)
* [ME] [Bug] Disable trades in GTS ME with only 1 valid party member
https://github.com/pagefaultgames/pokerogue/pull/6167
* [Refactor] Minor refactor of battler tags (#6129)
* Minor refactor battler tags
* Improve documentation
* Update type when loading in pokemon-data constructor for battler tags
* Fix issues in tsdoc comments with Wlowscha's suggestions
Co-authored-by: Wlowscha <54003515+Wlowscha@users.noreply.github.com>
* Apply bertie's suggestions from code review
Co-authored-by: Bertie690 <136088738+Bertie690@users.noreply.github.com>
* Remove unnecessary as const from tagType
* Remove missed `as const`
* Apply kev's suggestions from code review
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Update src/data/battler-tags.ts
Co-authored-by: Bertie690 <136088738+Bertie690@users.noreply.github.com>
* Update src/data/battler-tags.ts
Co-authored-by: Bertie690 <136088738+Bertie690@users.noreply.github.com>
---------
Co-authored-by: Wlowscha <54003515+Wlowscha@users.noreply.github.com>
Co-authored-by: Bertie690 <136088738+Bertie690@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* [Docs] Adjust `@module` doc comment in `battler-tags.ts`
Note that currently Typedoc is not parsing `@module` docs,
but this comment adjustment would be required if and when
it gets fixed
* [Balance] End of turn triggers won't occur when you end a biome (#6169)
* [Balance] End of turn triggers won't occur when you end a biome
* Add tests
* Move phase manipulation logic into `PhaseManager`
* Rename "biome end" to "interlude"
* Rename `TurnEndPhase#endOfBiome` to `upcomingInterlude`
---------
Co-authored-by: Wlowscha <54003515+Wlowscha@users.noreply.github.com>
* [Test] Add missing single battle override to `CheckInterludePhase` test
* [UI/UX] Fix button and input field overlaps (#6013)
* [Fix] Fix button overlap
* [Fix] Fix input field overlaps
* use getWidth to determine if label should be shortened
---------
Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
Co-authored-by: damocleas <damocleas25@gmail.com>
* [Dev] Moved type helpers to separate directory; (#6123)
* [Dev] Moved type helpers to separate directory; renamed `EnumValues` to `ObjectValues` and enforced usage
* Update tsconfig.json
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Fixed import issue
* Updated documentation slightly
---------
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: Dean <69436131+emdeann@users.noreply.github.com>
* [Misc] Improve type signatures of serialized arena/battler tags (#6180)
* 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>
* [Balance] Updated SF/Triage interactions for moves (#6179)
* 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
* [Move Bug] Fully implemented Future Sight, Doom Desire; fixed Wish Double battle oversight (#5862)
* Mostly implemented Future Sight/Doom Desire
* Fixed a few docs
* Fixed com
* Update magic_guard.test.ts
* Update documentation
* Update documentation on arena-tag.ts
* Update arena-tag.ts docs
* Update arena-tag.ts
* Update turn-end-phase.ts
* Update move.ts documentation
* Fixed tpyo
* Update move.ts documentation
* Add assorted TODO test cases
* Refactored FS to use a positional tag manager
* Added strong typing to the manager, finished save load stufff
* Fixed locales + tests
* Fixed tests and documentation
* sh
Fixed tests for good
* Fixed MEP
* Reverted overrides changse
* Fixed issues with merging
* Fixed locales update & heal block test
* Fixed wish tests
* Fixed test typo
* Fixed wish test flaking out due to speed ties
* Fixed tests fr fr
* actually fixed tests bc i'm stupid
* Fixed tests for real
* Remove locales update
* Update arena-tag.ts
Co-authored-by: Dean <69436131+emdeann@users.noreply.github.com>
* Update move.ts
Co-authored-by: Dean <69436131+emdeann@users.noreply.github.com>
* Update arena-tag.ts
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Applied review suggestions and added a _wee_ bit more docs
* fixed wish condition
* Applied kev's reviews
* Minor nits
* Minor formatting change in `heal-block.test.ts`
---------
Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
Co-authored-by: Dean <69436131+emdeann@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* [Refactor] Added `PhaseManager.toTitleScreen` (#6114)
* Added `toTitlePhase`; documented phase manager
* Documented phase methods
* Fixed syntax errors + updated signature
* Reverted all the goodies
* Fixed missing shift phase call
GHAG
* Reverted change
* [UI/UX] Implement Discard Button (#5985)
* [feature]Implemented needed parts for discard function from issue #4780:
-TryDiscardFunction in battlescene;
-Created a party discard mode button;
-Updated Transfer button in modifier-select-ui-handler to Manage items;
-Created tests for the discard function in test/ui;
-Added images for the new discard and transfer buttons to loading-scene;
-Created placeholder messages for discard feature in party-ui-handler;
Co-authored-by: Tiago Rodrigues <tiago.n.rodrigues@tecnico.ulisboa.pt>
* [Fix] Updated icon for dynamic messaging
* [Fix] Corrected legacy mode icons and adjusted double-battle button location
* [Fix]Adjusted button positioning and mapping after review. Mapping requires debugging.
* [Fix] Fixed visible pokeball in legacy mode and key mapping
* [Fix] Background fixes,manage menu is the only one affected by changes now
* Implement i18n keys
* [Fix] implemented most code optimizations and callbacks to the modified locales folder
* [Fix] Implemented 3 suggestions
* [Fix]improved/corrected test structure
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* [Fix] added functionality test for the discard button
* [Fix] added necessary comment
Co-authored-by: Bertie690 <136088738+Bertie690@users.noreply.github.com>
* [Fix] Implemented suggested changes in test/discard text prompt
* [Fix] Implemented UI suggestions and removed discard text confirmation
* [Fix] added missing imports
* Fix imports in test file
* [Fix] Implemented suggested cursor behavior and reworked test code
* [Fix] Corrected failed test
* [Fix] atempting to fix the test timeout issue
* [Fix] Undoing latest attempt
* [Fix] Implemented suggestions to fix broken tests
* Reviews
* [Fix] replaced icon images
* [Fix] Updated jsons to match new icons and removed pokeball icon from legacy mode
* Optimized new images
* [Fix] Fixed referenced bug and added similar confirmation box to release
* [Fix] Updated tests to handle the corfirmation box
* [Fix] Added back the accidentally removed changes
* [Fix]updated incorrect import path
* [fix] add description for the manageItemMode function
Co-authored-by: Bertie690 <136088738+Bertie690@users.noreply.github.com>
* Update src/ui/party-ui-handler.ts
Co-authored-by: Bertie690 <136088738+Bertie690@users.noreply.github.com>
* [Fix] corrected formating issue
---------
Co-authored-by: Mikhail Shueb <mikhail.shueb@tecnico.ulisboa.pt>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: Bertie690 <136088738+Bertie690@users.noreply.github.com>
Co-authored-by: damocleas <damocleas25@gmail.com>
Co-authored-by: Bertie690 <taylormw163@gmail.com>
Co-authored-by: Adri1 <adrien.grivel@hotmail.fr>
* [Bug] Fix Truant behavior (#6171)
* Update locales
* [i18n] Add Tagalog language support (#6170)
* [Bug] [Beta] Fix serializable battler tags (#6183)
Fix serializable battler tags
* [Misc] [Beta] Fix serializable battler tags (#6184)
Fix serializable battler tags
* [Misc] Disallow using NonFunctionProperties in loadTag methods (#6185)
Disallow using NonFunctionProperties in loadTag methods
* [Dev] `pnpm biome` will now only display errors by default (#6187)
* [Sprite] Move Clauncher, Clawitzer, Skiddo, Fomantis, Lurantis animations to consistent (#6177)
* Move Clauncher, Clawitzer, Skiddo out of exp
* Move Fomantis, Lurantis out of exp
* [Misc] Fix missing types in battler tags and remove DragonCheerTag (#6188)
* Fix missing types in battler tags
* Fix issues with dragon cheer
* [Misc] Set default for crit stage battler tag (#6192)
Set default for crit stage
* [Bug] [Beta] Remove setting currentPhase to null in clearAllPhases (#6193)
Remove setting currentPhase to null in clearAllPhases
* [Test] `game.move.use` overrides summon data moveset if present (#6174)
* [Test] Update `game.move.use` to override summon data moveset if present
* ran biome & fixed errors
* [Beta] Remove non-Legend Fresh Start option, fix starting movesets
https://github.com/pagefaultgames/pokerogue/pull/6196
* Remove non-Legend fresh start option, fix starting movesets
* Move updateInfo call
* Fix relearns counting for starter moves
* Reduce array allocations and function calls
* [Misc] Move asset initialization from `preload` to `launchBattle`
https://github.com/pagefaultgames/pokerogue/pull/6109
* Move asset initialization into `preload` instead of `launchBattle`
* Fix init problems; remove unused `waitUntil` util function
* Fixed missing `clearAllPhases` call
* [Balance] Adjust Cosmog / Cosmoem Evolutions, Lower Buneary Friendship requirements (#6198)
* Lower Buneary Friendship Requirement and Change Cosmog method
* Update biomes.ts - Cosmog/Cosmoem wild evo levels
* fix ?
* fixed now
* Update Cosmog Evolution + Biome Levels
---------
Co-authored-by: damocleas <damocleas25@gmail.com>
* [Test] Port over + augment remaining test matchers from pkty (#6159)
* 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
* [Beta] Further Cosmog Evolution Readjustments (#6203)
Update pokemon-evolutions.ts
* [Dev] Move various functions out of `pokemon-species.ts` (#6155)
`initSpecies` moved to its own file,
other functions moved to `pokemon-utils.ts`
* [Balance] Prevent MEs on X1 Waves (#6204)
* [Balance] Prevent MEs on X1 Waves
* Fix Bug-Type Superfan Encounter Test
* Fix Unit Tests
* [Balance] Update and Change Breeder Trainer Class Teams (#6200)
* Update Breeder Trainer Class
* Update trainer-config.ts
* Update trainer-config.ts
* Update whirlwind.test.ts
* Update src/data/trainers/trainer-config.ts
Co-authored-by: AJ Fontaine <36677462+Fontbane@users.noreply.github.com>
* Adjust Party Templates and move Wynaut
* Update trainer-party-template.ts
---------
Co-authored-by: damocleas <damocleas25@gmail.com>
Co-authored-by: AJ Fontaine <36677462+Fontbane@users.noreply.github.com>
---------
Co-authored-by: Acelynn Zhang <102631387+acelynnzhang@users.noreply.github.com>
Co-authored-by: Acelynn Zhang <acelynnzhang@Acelynns-MacBook-Pro.local>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: Madmadness65 <59298170+Madmadness65@users.noreply.github.com>
Co-authored-by: damocleas <damocleas25@gmail.com>
Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
Co-authored-by: SmhMyHead <191356399+SmhMyHead@users.noreply.github.com>
Co-authored-by: Amani H. <109637146+xsn34kzx@users.noreply.github.com>
Co-authored-by: AJ Fontaine <36677462+Fontbane@users.noreply.github.com>
Co-authored-by: Wlowscha <54003515+Wlowscha@users.noreply.github.com>
Co-authored-by: fabske0 <192151969+fabske0@users.noreply.github.com>
Co-authored-by: Dean <69436131+emdeann@users.noreply.github.com>
Co-authored-by: Tiago Rodrigues <tiago.n.rodrigues@tecnico.ulisboa.pt>
Co-authored-by: Mikhail Shueb <mikhail.shueb@tecnico.ulisboa.pt>
Co-authored-by: Adri1 <adrien.grivel@hotmail.fr>
Co-authored-by: Blitzy <118096277+Blitz425@users.noreply.github.com>
* Changing remaining Modifiers to Consumables, and renaming ModifierType to Reward
* Renamed modifier files and moved them into items folder
* Using rewards in most places
* Removed consumables in favor of using rewards directly
* Renamed RewardTier to RarityTier
* Reward ids, function to match rewards
* Getting reward tiers from player pool still
* Messing around with parameters of Reward.apply()
* Always requiring player pokemon in rewards
* Fixing some functions in select-reward-phase and battle-scene
* Fixed various post-merge issues
* Fixed most localization strings (accidentally broken by replacing modifierType with reward)
* Fixed tests for select reward phase
* Using Pokemon.hasSpecies()
* Zero weight for trainer items rewards which are already max stack
* Cleaning up SelectRewardPhase, held item rewards behave the same as any PokemonReward
* Cleaned up some functions
* Introduced RewardCategoryId, distributed RewardIds
* Utility `is` functions for rewards
* Minor fixes
* Moved `HeldItemEffect` to its own file
* rmade some todo comments
* Adding a big comment
* Added tsdocs and removed `RewardClass`
* undid breaking changes
* added TODO
* Moved matchingRewards function to reward-utils.ts
* Added RewardGenerator classes for mints and tera shards
* Introducing default rarity tiers for trainer items and rewards
* RewardFunc now can return RewardGenerator
* Moved pool reward functions to their own file, plus other utility files
* Fixed WeightedModifier to work with the new RewardFunc
* Fixed wrong type import
* Shifting trainer item and reward ids to avoid overlaps
* Added some types
* Updated comment in reward.ts
* Added strong typing ot item maps
* added type safety to held item name map
---------
Co-authored-by: Bertie690 <taylormw163@gmail.com>
Co-authored-by: Sirz Benjie <142067137+SirzBenjie@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>
* [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>
* 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
* Fix return in applyChosenModifier
* Stop race condition in modifier-select-ui
* Fix null errors inside the tween's onUpdate method
* Minor cleanup of tween chains
* Minor cleanup of tween chains
* Minor fixup
* 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