* make `berries-abound` test more robust
the "should reward the player with X berries based on wave" test was failing due to berry max stacks and the party only having 1 pokemone.
Increased it to 3 to reduce that probability
* berries abound test: change `defaultParty`
increase size of default-party to 3
* add: some missing types in berries-abound encounter
for ease of reading
* fix: berries abound tests
the "Should skip battle when fastest pokemon is faster than boss" test was failing due to the party being more than 1 pokemon.
* add: seasonsl splash messages logic + scaffolding
* refactor: settin up and displaying splash messages.
They are now stored with their i18next keys and only get translated as soon as they are displayed. This also allows for better display of the `battlesWon` parameter which now supports better number formatting and the count is an interpolation
* fix: updateTitleStats not checking the namespace of battlesWon
* add tests for splash_messages
* test: always use UTC time
* fix: time-pattern to MM-DD
* fix splash_messages test
* add: const to control usage of seasonal splash messages
* fix tests (splashj)
* Update src/locales/ja/splash-messages.json
Co-authored-by: Chapybara-jp <charlie.beer@hotmail.com>
* Update src/locales/es/splash-messages.json
Add missing `number` format for battlesWon message
---------
Co-authored-by: Chapybara-jp <charlie.beer@hotmail.com>
* Adds Expert Breeder Mystery Encounter to the game
* add achievement for Breeders in Space and remove redundant tests
* rename to Expert Pokemon Breeder
* remove unintentional test code
* remove unintentional test code
* test fix with breeder rename
---------
Co-authored-by: ImperialSympathizer <imperialsympathizer@gmail.com>
Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
* various bug fixes for MEs
* various bug fixes for MEs
* fix final isTransferable rename that was missed
* change Trainer's test vouchers for second option
* change unit test skips
* cut down excess ME track length and loop properly
* ME bug fix cleanup
* updating AI for Slumbering Snorlax ME, and small ME balance changes
* fix ts error
* fix bug type superfan dialogue discrepancy
* ME bug fixes PR feedback
* ME PR nits and fixes
---------
Co-authored-by: ImperialSympathizer <imperialsympathizer@gmail.com>
* add generic types to`Pokemon.getAbilityAttrs()`
* add invert check to `ProtectStatAbAttr.apply...`
This makes sure that a stat is only protected if no other ability inverts the change. E.g. `Contrary` inverts any decrease to an increase
* migrate contrary.test.ts to game.classicMode
* move `StatStageChangeMultiplierAbAttr` resolve above `ProtectStatAbAttr`
The effect of StatStageChangeMultiplierAbAttr is now applied before resolving any ProtectStatAbAttr. Thus the stage (level) of the BattleStat change was properly altered at the time of resolving the protection
* revert ability.ts changes
* add automated tests for `Clear Body` + `Contrary`
* StateStageChangePhase replace ~~`IntegerHolder`~~ with `NumberHolder`
Update Utils import and replace all occurcences of `Utils.`
* contrary.test.ts: remove `js` import
* EQ, magnitude, and bulldoze do half damage in grassy terrain
* Fix more styling issues in grassy glide
* lol unit tests
* Add test :pikastare:
---------
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Update pokemon-species.ts Pokerus starters 3 -> 5
* Update starter-select-ui-handler.ts
* Updated pokemon-species.ts, changes from frutescens to make Pokerus # a constant that imports into starter select ui
* Update starter-select-ui-handler.ts to continue the other changes
* Update src/data/pokemon-species.ts
---------
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Changes some evolutions
* more work
* Give Onix Iron Defense at 30
* Sirfetch'd and Gholdengo, pause any evolutions
* Fix pause evolution text
* adjust wild evolution delay
* Add localization keys, clean up evo pausing
* Clean up evo delays
* Adjust friendship evos, Leader's Crest sprite by chaosgrimmon
* Fix Nugget crash
* Fixed Gimmighoul fr
* Move Charcadet armors to common
* Locale migration, Lilligant shiny stone
* Cleanup
* Fix language migration error
* Change Cosmog line evo method
* Undo Ursaluna being night only
* Evo items roll during evo pause on Eevee
* Make all time based evos use dusk and dawn times
* Fix paused and unpaused evolution texts being reversed
* Fixed evolution delays
* Moved up Mimic in Mime Jr's moveset
* Remove Cosmoem time conditions, add Gimmighoul tracker
* Remove tracker after Gimmighoul evo
* Change Scyther Steel Wing back to 30, mark custom
* Fixed SURF and FLY not beeing localized in "lost at sea"
Fixed Mysterious Challenger Title not beeing correct
Fixed Winstrate Names not beeing localized
* Revert the winstrate fix. It breaks other trainer battles for some reason...
* A new way of giving the winstrates localized names (and for the future all named trainers that dont use a "initFor" method)
* Updated test (with ok from ImperialSympathizer)
* Made the expected value simpler
* FLY and SURF can be localized much simpler
* Create getAttackDamage function
* Add ignoreAbility params to getBattleStat
* Rewrite Pokemon.apply
* renamed damage variables
* Add `ignoreSourceAbility` arg to `getAttackDamage`
* Enemy AI now searches for KO moves
* Add probabilistic test for KO search
* Add tests to `damage_calculation`
* "killMoves" --> "koMoves"
* Clean up `randomMultiplier`
* Clean up damage calculation test
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Fix stabMultiplier using base type for Tera bonus
* Restore simulation capabilities for Unaware
* move sourceTeraType closer to where it's used
* Add base damage test
* Exclude counter moves from KO search
---------
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Undo egg skip event
* Readded vouchers to original weights
* Gmax Adjustments - Charizard Berserk, Stats for Eevee and Duraludon
* Set weight of 999.9kg for all Gigantamax forms
---------
Co-authored-by: Frederico Santos <frederico.f.santos@tecnico.ulisboa.pt>
* add .github/workflows/mystery-event.yml
* update mystery-event.yml
* mystery encounters: resolve review comments:
Lost at Sea:
-fix typo in handlePokemonGuidingYouPhase function
Mysterious Chest:
- remove obsolete commented code
mystery-encounter.ts
- remove unused `onDone` field from MysteryEncounterBuilder
* fix typo in CanLearnMoveRequirementOptions
* remove redundance from Pokemon.isAllowedInBattle()
* chore: jsdoc formatting
* fix lost-at-sea tests
* add fallback for biomeMysteryEncounters if empty
* lost-at-sea-encounter: fix and extend tests
* move "battle:fainted" into `koPlayerPokemon`
* add retries to quick-draw tests
* fix lost-at-sea-encounter tests
* clean up battle animation logic
* Update and rename mystery-event.yml to mystery-events.yml
* Update mystery-events.yml
* Fix typo
* Update mystery-events.yml
Fix debug runs
* clean up unit tests and utils
* attach github issues to all encounter jsdocs
* start dialogue refactor
* update sleeping snorlax encounter
* migrate encounters dialogue to new format
* cleanup and add jsdocs
* finish fiery fallout encounter
* fix unit test breaks
* add skeleton tests to fiery fallout
* commit latest test changes
* finish unit tests for fiery fallout
* bug fix for empty modifier shop
* stash working changes
* stash changes
* Update src/data/mystery-encounters/encounters/fiery-fallout-encounter.ts
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
* Update src/test/utils/overridesHelper.ts
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
* Update src/test/utils/overridesHelper.ts
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
* Update src/test/utils/overridesHelper.ts
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
* Update src/test/utils/overridesHelper.ts
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
* Update src/data/mystery-encounters/encounters/fiery-fallout-encounter.ts
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
* Update src/data/battle-anims.ts
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
* nit updates and cleanup
* Update src/data/mystery-encounters/encounters/fiery-fallout-encounter.ts
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
* Apply suggestions from code review
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
* add jsdocs and more cleanup
* add more jsdoc
* add the strong stuff encounter
* add the strong stuff encounter and more unit tests
* cleanup container length checks in ME ui
* add retries to tests
* add retries to tests
* fix trainer wave disable override
* add shuckle juice modifier
* add dialogue bug fixes
* add dialogue bug fixes
* add pokemon salesman encounter and affects pokedex UI display
* add unit tests for pokemon salesman
* temp stash
* add offer you can't refuse
* add unit tests for offer you can't refuse encounter
* remove unnecessary prompt handlers
* add tests for disabled encounter options
* add delibird-y encounter
* add delibird-y encounter
* add absolute avarice encounter
* finish absolute avarice encounter
* add unit tests and enhancements for item overrides in tests
* fix unit test
* cleanup absolute avarice PR
* small bug fixes with latest sync from main
* update visuals loading for safari and stat trainer visuals
* update visuals loading for safari and stat trainer visuals
* update a trainer's test encounter and add unit tests
* add Trash to Treasure encounter
* clean up trash to treasure encounter
* clean up trash to treasure encounter
* add berries abound encounter
* start clowning around encounter
* first implementation pass at clowning around
* add unit tests for clowning around
* add unit tests for clowning around
* clean up ME unit tests
* clean up unit tests
* update unit tests
* add part timer and dancing lessons encounters
* add unit tests for Dancing Lessons and Part-Timer
* reordered biome list and adjusted redirection for project and labels
* Add Weird Dream encounter and slight reworks to Berries Abound/Fight or Flight
* adjusting yml to match new labels
* fix yml whoopsie
* Expanded 'Weird Dream' banlist and fixed a bug with the BST bump range
* adds Winstrate Challenge mystery encounter
* small cleanup for winstrates
* add unit tests for Winstrate Challenge
* fix pokemon not returning after winstrate battle
* commit latest beta merge updates
* fix ME null checks and unit tests with beta update
* fix ME null checks and unit tests with beta update
* MEs to pokerogue beta branch
* test dialogue changes
* test patch fix
* test patch fix
* test patch fix
* adds teleporting hijinks encounter
* add unit tests for Teleporting Hijinks
* small change to teleporting hijinks dialogue
* migrate ME translations to json
* add retries to berries-abound.Option1: should reward the player with X berries based on wave
* add missing ME dialogue back in
* revert template changes
* add ME unique trainer dialogue to both dialogue jsons
* fix hanging comma in json
* fix broken imports
* resolve lint issues
* fix flaky test
* balance tweaks to a few MEs, updates to bug superfan
* add unit tests for Bug-Type Superfan and clean up dialogue
* Adds Fun and Games mystery encounter
* add unit tests for Fun and Games encounter
* update jsdoc
* small ME balance changes
* small ME balance changes
* Adds Uncommon Breed ME and misc. ME bug fixes
* Update getFinalSessionData() to collect Mystery Encounter data
* adds GTS encounter
* various ME bug fixes and balance changes
* latest ME bug fixes
* clean up GTS Encounter and add unit tests
* small cleanup to MEs branch
* add BGM music names for ME music
* bug fixes and balance changes for MEs
* ME data schema updates
* balance changes and bug fixes to MEs
* balance changes and bug fixes to MEs
* update tests for MEs
* add jsdoc to party exp function
* dialogue updates and test fixes for MEs
* dialogue updates and test fixes for MEs
* PR suggestions and fixees
* stash PR feedback and bugfixes
* fix all tests for MEs and cleanup
* PR feedback
* update flaky ME test
* update tests, bug fix MEs, and sprite assets
* remove unintentional console log
* re-enable stubbed function for Phaser text styling
* handle undefined introVisuals properly
* PR feedback from NightKev
* disable Uncommon Breed tests
* locales updates and bug fixes for safari zone
* more PR feedback and update field trip with Rarer Candy
* fix unit test
* Change how reroll button gets disabled in Modifier Shop Phase
* update continue button text logic
* Update src/ui/modifier-select-ui-handler.ts
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
* fix money formatting and some nits
* more nits
* more nits
* update ME tsdocs with links
* update ME tsdocs with links
---------
Co-authored-by: Felix Staud <felix.staud@headwire.com>
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
Co-authored-by: ImperialSympathizer <imperialsympathizer@gmail.com>
Co-authored-by: InnocentGameDev <asdargmng@gmail.com>
Co-authored-by: Mumble <171087428+frutescens@users.noreply.github.com>
* Allow Meloetta's starting form to be selected
* Meloetta won't change forms during a monotype challenge
Also removes reversion to Aria form when arena resets
* double checking tests on a new made branch for bug 3984
* roost test update
* added roost test file
* Roost test update
* removed random stackdump
* cleaned up message for roost
* fixed test file for linter
* cleaning up code and fixing some desync test issues
* Cleaned up more code and added case for double shock
* fixing some messages and putting burn up and double shock in same class
---------
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Resolves bugs with freezy frost vs ally, and freezy frost fainting opp
* Adjusts unit tests, adds one more for doubles
* Refactor apply function to follow the async/await pattern
* Eslint fix attempt
* Update freezy_frost.test.ts
Remove js file extension
* Obstruct et al no longer protect against status moves
* Remove `.js` from import
Co-authored-by: ImperialSympathizer <110984302+ben-lear@users.noreply.github.com>
* Add tsdocs for new/modified classes
* List relevant moves in tsdocs
---------
Co-authored-by: ImperialSympathizer <110984302+ben-lear@users.noreply.github.com>
* Complete after you implementation (no localization)
* reset override changes
* Remove hardcoded English text, add tests
* Fix test
* Make sure phases occur in the correct order
* fix after-you issues
- fix i18n interpolation ot state "target name" and not "pokemon name" as the target takes the offer, not the user
- fix some tsdocs
- add override to apply
- update scene.findPhase to be able to use generic types. Add tsdocs
* add move-trigger.afterYou for DE
* fix after_you.test.ts
---------
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
* Fixed Delta Stream remaining active when last mon dies to indirect damage
* Rebasing changes
* Linting fix
* Combined if statements
* Changed params to optional
* Added unit test
* Apply suggestions from code review
* Fix test and remove `.js` from import
---------
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
- remove any `.js` extension imports
- remove unncessary dynamic imports of `modifier.ts` file. The file was being imported statically & dynamically. Made it pure static
- increase vite chunk-size warning limit
Co-authored-by: Mumble <171087428+frutescens@users.noreply.github.com>