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