* 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>
* [Balance] Various Fixes
* Readjusted Legendary same-species eggs back to 10 candy
* Updated some passives
* Changed Chien Pao Passive
* Eevee passive final adjustment
* Chi Yu and Chien Pao changed again
* Arcto passives
Updated Pokemon.getLevelMoves()
Now enforces uniqueness AFTER filtering moves within the given range. This allows a pokemon to learn the same move at two different levels.
Updated pokemon-level-moves.ts
Changed Smeargle to learn Sketch at levels 11, 21, 31, ..., 91, instead of only at level 1.
* Refactor protection moves
* Revert Protected move result change
* Fix typo in documentation
* Fix merge conflicts in integration tests
* Improve readability of apply function
* Fix effects applying through Protect
* Fix typos in `src/data/egg.ts` comments
* [Localization(it)] Added Honey Gather translation (#2301)
* Update ability.ts [Localization(it)]
* Update ability.ts [Localization(it)]
Fixed capitalization
* Hitting into protect now records a move as failed
* Add check for move success before applying additional effects (Stone Axe)
* `Overrides` should be capitalized
* Add fail conditions for `RechargeAttr` and Jaw Lock
* Update protect test
* Add check for protect in Glaive Rush
* Update tests to use new overrides helpers
* Account for Mat Block and add protect test for Glaive Rush
---------
Co-authored-by: Niccolò <123510358+NicusPulcis@users.noreply.github.com>
* Crafty Shield now blocks ALL protect-ignoring moves
* Crafty Shield test + Fix blocking ally-target moves
* ESLint
* Mat Block and Wide Guard integration tests
* Fix strict-null errors in integration tests
* Fix strict-null issue in arena-tag
* Fix strict-null in unrelated test :pikamad:
* Fix conflicting AbAttr
---------
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: Niccolò <123510358+NicusPulcis@users.noreply.github.com>
* Implemented Stall
* Fixed implementation
* AbAttr Name Change
* Wrote test for Stall
* Update src/test/abilities/stall.test.ts
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Update src/data/ability.ts
Co-authored-by: Adrian T. <68144167+torranx@users.noreply.github.com>
* Updated ability variables and test
* Apply suggestions from code review
Co-authored-by: Amani H. <109637146+xsn34kzx@users.noreply.github.com>
* Apply suggestions from code review
Co-authored-by: Amani H. <109637146+xsn34kzx@users.noreply.github.com>
* eslint fixes
* Update src/test/abilities/stall.test.ts
Co-authored-by: Adrian T. <68144167+torranx@users.noreply.github.com>
* added documentation and implemented mycelium might
* added note on quick claw
* Documentation + Quick Claw implementation
* This is where I would test quick claw-stall/m.m. if i could override modifierstacks
* Forgot to add edits oops
---------
Co-authored-by: Frutescens <info@laptop>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: Adrian T. <68144167+torranx@users.noreply.github.com>
Co-authored-by: Amani H. <109637146+xsn34kzx@users.noreply.github.com>
* Show arena trap/shadow tag dialog immediately instead of as a message phase
* remove flyout that opponent cannot switch out due to opposing arena trap
* change applyAbAttrsInternal signature
* fix bug (no messages appeared) due to prev commit
* fix typedoc docs error
* removed empty message after switching trapped pokemon
* revert empty string argument to null
modified files to adopt null argument
* renamed variable
* [Balance] Egg Adjustments
* Reduced Cost of Same-Species Eggs
* Update egg.ts
* check errors
* Candy per Species-Egg Adjusted
* Set egg cost back to 10 for 9/10 cost mons
* 8-10 Legendaries made to 8 cost Eggs
* Updated some Passive Costs and Cost Reductions
* Change HA rate of eggs to 192
Also clean up the if to make it more readable
* Changed HA Rate from Same-Species Eggs up 1/4 -> 1/8
* Rename "voucher*" variables to "gacha*"
---------
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Included a check for move category in TypeImmunityAbAttr
* Failure 1
* Created new attribute for Levitate - blame Game Freak
* renamed abattr to more descriptive attacktypeimmunityabattr
* need caffeine
* the documentation
---------
Co-authored-by: Frutescens <info@laptop>
* Fix typos in `src/data/egg.ts` comments
* Refactor Disguise using Ice Face as a base
i18n {
Co-authored-by: Arxxer <javiptn7@gmail.com>
Co-authored-by: GoldTra <162721984+GoldTra@users.noreply.github.com>
Co-authored-by: sodam <66295123+sodaMelon@users.noreply.github.com>
Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>
Co-authored-by: mercurius-00 <80205689+mercurius-00@users.noreply.github.com>
}
Update tests
* Update jsdoc
* Make recoil damage a parameter
* Fix Ice Face i18n parameter name
* Add i18n placeholder strings for translation
* Update disguise test with override helper functions
* Move a form change from `battle-scene.ts` to `ability.ts`
* Remove a bit of obsolete code from the Disguise test
* Add some translations
Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>
Co-authored-by: returntoice <dieandbecome@gmail.com>
Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>
Co-authored-by: Sonny Ding <93831983+sonnyding1@users.noreply.github.com>
* Add translation placeholder strings for Japanese and Catalan
* Update for strict-null
* Remove unused parameter from the `BattlerTag` class
* Remove species checks, fusion doesn't seem to be an issue (any more?)
* Move Ice Face weather-based code to a subclass
* Condense conditionals
Co-authored-by: innerthunder <168692175+innerthunder@users.noreply.github.com>
---------
Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>
Co-authored-by: returntoice <dieandbecome@gmail.com>
Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>
Co-authored-by: Sonny Ding <93831983+sonnyding1@users.noreply.github.com>
Co-authored-by: innerthunder <168692175+innerthunder@users.noreply.github.com>
* Fix some fresh start bugs
* Forgot a !
* Add fresh start check on eviolite too
* Remove part about cost being 3
* Update src/game-mode.ts
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
* Rename isFreshStart helper function
---------
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
* fix: let flash fire hit after frozen, and baton pass not passing it. added: flash fire test file
* added more tests and made small adjustments
* Update src/test/abilities/flash_fire.test.ts
Co-authored-by: Adrian T. <68144167+torranx@users.noreply.github.com>
---------
Co-authored-by: Adrian T. <68144167+torranx@users.noreply.github.com>
* Cherrypick due to beta roll back
* Adds corrected stat eliminated message to move trigger, removes from battle.ts
* Adds check for Clear Smog vs Haze/Freezy Frost for targetting purposes
* Adds translations for fr, de, and pt_br
* Update src/locales/ko/move-trigger.ts with translation
Co-authored-by: sodam <66295123+sodaMelon@users.noreply.github.com>
* Update korean move-trigger.ts with proper translation
* Update src/locales/zh_CN/move-trigger.ts with translation
Co-authored-by: mercurius-00 <80205689+mercurius-00@users.noreply.github.com>
* Update src/locales/zh_TW/move-trigger.ts with translation
Co-authored-by: mercurius-00 <80205689+mercurius-00@users.noreply.github.com>
* Adds locales to ja and ca-ES
* Creates unit test for Haze
* Removes repeats option on Haze test left from testing
* Updates title of haze tests, creates freezy frost tests
* Update src/locales/es/move-trigger.ts with translation
Co-authored-by: Asdar <asdargmng@gmail.com>
* Fixes freezy_frost.test.ts copy errors from Haze test
---------
Co-authored-by: sodam <66295123+sodaMelon@users.noreply.github.com>
Co-authored-by: mercurius-00 <80205689+mercurius-00@users.noreply.github.com>
Co-authored-by: Asdar <asdargmng@gmail.com>
* First issue with soft attribute on challenges as well as incorrect sprites appearing on the starter select ui
* Updated logic to fix starter party icons, forms and shinies in starter selection area
* Fixed issue where some pokemon were being shown in challenges originally if the default form didn't meet the criteria
* Updated docs and tests to account for new behaviour
* Removed some debugging comments
* Fixed rotom form not counting as valid party
* Fixed a bug where the cursor's last known position would be used when pokemon forms were being changed when other forms were available when updated from your party directly
* Fixed issue with starter party icons' forms updating incorrectly when removing pokemon from party
* Fixed docs
* Updated code to allow for starter icons to remember their previous state after a reload
* IV scanner PR fix
Updated locales to have updated keys for IV scanner in menu
Updated legacy UI to work with IV scanner changes
Updated code to have player and enemy battle stats for ease of use
Updated logic to make the player side work exactly the same as previously since there should be no HP stat shown for players. Also updated the colours so there's no more grey option for unknown stats
Added HP, updated logic and colours. Need to undo changes to player pokemon to not be as squished because of no HP, and need to see what happens for trainers
Fixing up some git errors
Fixed a bug with double battles not updating the pokemon properly
Updated settings to allow for the ability to skip the IV scanning prompts
Adding functionality to IV scanner to skip prompt and see IVs mid battle
* Merged with latest + fixed bug with IV scanner vs pokemon info container getRootSpeciesId being different
* Updated as per merge comment
* Updating to fix comments
* Updated comments
* Update src/locales/fr/settings.ts
Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>
* Update src/locales/de/settings.ts
Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
* Update src/locales/pt_BR/settings.ts
Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>
* Update src/locales/ko/settings.ts
Co-authored-by: Enoch <enoch.jwsong@gmail.com>
* Update src/locales/zh_CN/settings.ts
Co-authored-by: mercurius-00 <80205689+mercurius-00@users.noreply.github.com>
* Update src/locales/zh_TW/settings.ts
Co-authored-by: mercurius-00 <80205689+mercurius-00@users.noreply.github.com>
* Updating text of IV scanner to be gold
* Updated text colour to use one of the existing golds instead of a custom gold
* Japanese locale
* Updating docs
---------
Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>
Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>
Co-authored-by: Enoch <enoch.jwsong@gmail.com>
Co-authored-by: mercurius-00 <80205689+mercurius-00@users.noreply.github.com>
* fixing switchout ability doubles bug, refactor move redirect code
* added unit test for dragon tail
* updating test
* addressing errors from pages deployment
* pages deployment still failing
* typedoc
* please let this be the one
* formatting and test fixing
* await starting battle should go after overrides
* 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>
* Hardcoded Pokemon should have proper names
* Add evil admin placeholder images
* Add admin names to locale files
* Add evil team admin dialogue
* current things.
* rename
* team galactic wants to be special
* Revert debug changes
* Added Trainer Names and Titles
* [Hotfix] Fix interactions of some moves not changing types (#3183)
* [Hotfix] Fix wild spawns not having their HA (#3190)
* Add evil admin placeholder images
* Add admin names to locale files
* Add evil team admin dialogue
* Added new sprites
* Make simple admin trainer pools
* Add Korean localization
* Revert this
* [Feature] Named Evil Team Admins
* Dateien removed
* Revert override
* French only needs one pair of evil team bosses :)
* Some things Temp Mentioned in the PR
* Removed NoDuplicates again...Because it only works on the speciality pool....
Also reordered the second admin wave. So we guarantee it is never the same one
* German dialogue
* Offset
* Jördis just better
* Credit for the artists (see https://www.deviantart.com/icejkai/art/Magma-Admin-Courtney-Trainer-Sprite-544510574)
* Order
* Added tsdoc and named it more clear
* Fixed formatting and made it a void function
* Changed offset to number and updated tsdoch
* Improve readability
* Removed extra lines
* Fix this
* Revert override
* colress gets his own pool because @blitzy wants it (and i agree)
* Added Rood (some plasma sage guy)
* has voucher is not false by default. So only it will be set true for evil team leaders, gym leaders, elite 4 and champions
* Apply suggestions from code review
Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>
Co-authored-by: returntoice <dieandbecome@gmail.com>
* Added the localization also to japanese
* Update src/locales/ko/trainers.ts
Co-authored-by: sodam <66295123+sodaMelon@users.noreply.github.com>
* CA
* Removed Colress
* Colress Last Stand
---------
Co-authored-by: Adrian T. <68144167+torranx@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>
Co-authored-by: returntoice <dieandbecome@gmail.com>
Co-authored-by: sodam <66295123+sodaMelon@users.noreply.github.com>
* 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>