* implement test for final boss encounter phase switch
* Update Eternatus tests & helper function
* fix endless_boss test following GameManager update
---------
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Don't recalculate stats that already exist
* add test to cover hp update after evo (#4)
- add evolution phase to phase interceptor
- add mock for video game object
- add returning video mock on add.video()
* add test to make sure pkm are not healed on evolve
* Stop on `EndEvolutionPhase` to prevent game state leak in tests
* Fix imports
* Remove `.js` from import
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
* Add docs to mock class
---------
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
* i18n: prepare female DE achievments
and copy keys in base language: en
* adapt gender context for achv
* add a TODO about an odd `this` usage
* remove debugging leftover code
whops
* add `playerGender` to settings helper
* fix test runs
And revert some changes
* Fixed issue with falsy issue within condition to get a stat for IV scanner
* add fix setting code to prevent form/variant bug when default form/variant setting is wrong.
in addition, that fix code include gender fix, so i revert old gender fix.
update wrong log message.
* [Hotfix] Fix Memory Mushroom not showing relearner moves (#3619)
* Fix Memory Mushroom not showing relearner moves
* Fix rollout test
* Rewrite player faint logic in FaintPhase (#3614)
* 867 runerigus sprite (#3629)
cropped static frames, fixed cropped sprite
set runerigus exp to use the shiny exp's animation
verified all hex colors are unchanged
- fixed ultra necrozma exp front variant swapped arrays.
- xatu female eye color fix
* [Bug] Preventing the MBH from being stolen in Endless (#3630)
* Endless MBH Fix
* add import
* Revert "add import"
This reverts commit 814a4059c2830e972c348d698259535e117850bf.
* Revert "Endless MBH Fix"
This reverts commit 8eb448130132ff9eed614a2ec576926814008df0.
* removed newline
---------
Co-authored-by: Frederico Santos <frederico.f.santos@tecnico.ulisboa.pt>
Co-authored-by: frutescens <info@laptop>
* [Bug] Fix type-hints for immunity (#3620)
* enable mock containers to be found by name
* enable mock text to be found by name
* add test coverage for type-hints
Only for "immunity" and "status moves"
* fix wrong message key of curse(ghost type) (#3631)
Co-authored-by: Frederico Santos <frederico.f.santos@tecnico.ulisboa.pt>
* [Hotfix] Steal-able Mini Black Hole Pt 2 (#3632)
* Still have no idea where Eternatus is given the MBH....
* typedocs
---------
Co-authored-by: frutescens <info@laptop>
* [Hotfix] Abilities that prevent ATK drops no longer stop other stat drops (#3624)
* Abilities that prevent ATK drops no longer stop other stat drops
* Apply suggestions from code review
Co-authored-by: Mumble <kimjoanne@protonmail.com>
* Add `isNullOrUndefined()` utility function
---------
* Grip Claw now shows the proper pokemon nickname (#3634)
Co-authored-by: frutescens <info@laptop>
---------
Co-authored-by: Opaque02 <66582645+Opaque02@users.noreply.github.com>
Co-authored-by: KimJeongSun <leo@atlaslabs.ai>
Co-authored-by: Frederico Santos <frederico.f.santos@tecnico.ulisboa.pt>
Co-authored-by: innerthunder <168692175+innerthunder@users.noreply.github.com>
Co-authored-by: cam <lrlrliwoo@gmail.com>
Co-authored-by: Mumble <kimjoanne@protonmail.com>
Co-authored-by: frutescens <info@laptop>
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
Co-authored-by: Enoch <enoch.jwsong@gmail.com>
Co-authored-by: Mumble <171087428+frutescens@users.noreply.github.com>
* Fix daily run generated movesets
* add unit-tests for `fix-daily-run` (#3)
* add `daily` and `classic` helper. split `runToSummon`
there is now a `classicMode.runToSummon` which represents the old one used.
There is now a `dailyMode.runToSummon` too
* add daily_mode.test.ts
covers the occured issue
---------
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
* TS: enable strict-null
* fix battle-scene.ts
* fix voucher.ts
* adapt more files to strict-null
* adapt more files to strict-null ( 2)
* adapt ability.ts to strict-null
* adapt `arena.ts` to strict-null
* adapt TagAddedEvent constructor to strict-null
* adapt phases.ts.to strict-null
* adapt status-effect.ts to strict-null
* adapt `account.ts` to strict-null
* adapt `configHandler.ts` to strict-null
* adapt `ability.ts` to strict-null
* adapt `biomes.ts` to strict-null
* adapt `challenge.ts` to strict-null
* adapt `daily-run.ts` to strict-null
* adapt `nature.ts` to strict-null
* adapt `pokemon-forms.ts` to strict-null
* adapt `tainer-names.ts` to strict-null
* adapt `types.ts` to strict-null
* adapt `weather.ts` to strict-null
* adapt `egg-hatch-phase.ts` to strict-null
* adapt `evolution-phase.ts` to strict-null
* adapt `pokemon-sprite-sparkle-handler.ts` to strict-null
* adapt `evolution-phase.ts` to strict-null
* adapt `game-mode.ts` to strict-null
* adapt `utils.ts` to strict-null
* adapt `voucher-ui-handler.ts` to strict-null
* adapt `src/ui/unavailable-modal-ui-handler.ts` to strict-null
* adapt `src/ui/ui.ts` to strict-null
* adapt `src/ui/ui-theme.ts` to strict-null
* adapt `src/ui/title-ui-handler.ts` to strict-null
* adapt `src/ui/time-of-day-widget.ts` to strict-null
* adapt `src/ui/text.ts` to strict-null
* adapt `src/ui/target-select-ui-handler.ts` to strict-null
* adapt `src/ui/settings/settings-keyboard-ui-handler.ts` to strict-null
* adapt more files to strict-null (3)
* adapt more files to strict-null (4)
* adapt more files (mostly tests) to strict-null (5)
* adapt more files to strict-null (6)
* adapt more files to strict-null (7)
* Update `src/data/pokemon-evolutions.ts` for strict-null
Partial update `src/data/pokemon-species.ts` for strict-null
* adapt more files to strict-null (8)
* adapt more files to strict-null (9)
* Strict some more nulls (still a few errors remaining)
* adapt rest of the files to strict-null (9)
* fix tests (check for null instead of undefined)
* repalce a lot of `??` with bangs
And added TODO notice as usual
* fix more tests
* all tests pass now
* fix broken game-loop after trainer battle
add some console.warn for missing cases and falling back to default
* remove guessed fallback from utils.rgbHexToRgba
* add TODO for this.currentBattle = null
* adjust getPokemonById() return to include `null`
* fix compilation errors
* add test for pokemon.trySetStatus
* `chanceMultiplier` shouldn't be optional
* allow `null` for currentPhase
* adjust hasExpSprite logic for no keymatch found
* reduce bang usage in account.updateUserInfo()
* fix new strict-null issues after merge
* fix `strict-null` issues in dropdown.ts
and sand_spit.test.ts
* fix egg-gacha
* adapt gul_missile.test.ts to strict-null
* fix move.ts strict-null
* fix i18n.ts strict-null
* fix strict-null issues
* fix baton_pass test
after accidentially breaking it
* chore: fix compiler errors
* revert accidential changes in baton_pass.test.ts
---------
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Add helper function to modify the turn order for tests
* Replace manual speed modification with new helper function
* Replace `vi.spyOn()` instances with helper function
* prevent double-application of status contact abilities and switch out abilities
* use SwitchPhase for ForceSwitchOutAbAttr instead of switchOut()
* add tests for baton pass/uturn
* PR comments
* Update src/test/moves/baton_pass.test.ts
* add test for forced switch after mutual KO + revive
* tweak condition to fix uturn/baton pass
* improve docs
* style/typo nits from CR
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* CR feedback
* use doSelectPartyPokemon + rename
* int -> number
Co-authored-by: Adrian T. <68144167+torranx@users.noreply.github.com>
---------
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: Adrian T. <68144167+torranx@users.noreply.github.com>
* added revive function in gamaManager & a double-battle test
* extended timeout of double battle test referencing to battle test
* less code, deleted unused param, clearer description of test
* add back dbond to move in test
* more straight forward testing
* reverse back override
* polish double battle test a bit
* destroy loading-scene when done
- unused event listeners are shut off
- children are removed
- `loading_bg` will be removed after transition is finished
- Added some simple types for `rex` plugins
* fix tests
* fix pokemonSprite.test.ts
on local runs it would include hidden dirs like `.DS_store`. Any files starting with `.` is now excluded
* add `mockGameObjectCreator` and use in `gameWrapper`
* add battle-scene.test.ts
add test to verify that LoadingScene is being removed on `BatleScene.create()` call
* update types usage for phaser3-rex-plugins
* remove phaser-extensions.d.ts
fk you typedoc...
* fix final-boss phase change on status-effect dmg
- move final-boss 2nd phase check into battle-scene.
- call method at the end of damage phase
- call method at the end of PostTurnStatusEffect phase
* improve ui.getHandler types
* WIP: final_boss.test.ts
* add "should spawn Eternatus on wave 200 in END biome" test
* add more final_boss tests
couldn't cover the form change due to lack of support from current test framework