Commit Graph

217 Commits

Author SHA1 Message Date
Felix Staud
7cd75b13b9 add OverridesHelper.enemyAbility 2024-07-29 07:39:05 -07:00
Felix Staud
141c3f5a6a apply game.override.enemySpecies() 2024-07-29 07:38:59 -07:00
Felix Staud
6674fe4984 allow number for OverridesHelper.enemySpecies() 2024-07-29 07:38:53 -07:00
Felix Staud
08e0531eae add OverridesHelper.enemySpecies() 2024-07-29 07:38:47 -07:00
Felix Staud
e52d89ba40 apply game.override.battleType 2024-07-29 07:38:40 -07:00
Felix Staud
3788631846 add game.override.battleType 2024-07-29 07:37:56 -07:00
Felix Staud
e33888e5f5 use game.override.weather() 2024-07-29 07:37:45 -07:00
Felix Staud
bc1c267071 use game.override.startingWave 2024-07-29 07:37:35 -07:00
Felix Staud
b2fbc4d6b6 make pokemonSprite.test ignore hidden files (e.g. .DS_Store) 2024-07-29 07:35:22 -07:00
Felix Staud
c514aff854 attach overrides helper to gameManager 2024-07-29 07:35:18 -07:00
Felix Staud
6fb50593dc add overridesHelper.ts 2024-07-29 07:35:15 -07:00
Frederico Santos
e98ef1c757
Beta Merge 27/07 (#3141)
* feat: Add Google and Discord login functionality

feat: Add link to Discord in menu UI

feat: Add Discord and Google login functionality

Add container around discord and google icons

refactor: Update environment variable names for Discord and Google client IDs

feat: Add "Or use" translation for login options in multiple languages

feat: Update menu UI translations for multiple languages

Code review fixes

refactor: Update Discord and Google client IDs in environment variables

* refactor: Add missing properties to initLoggedInUser function

* Update src/locales/de/menu-ui-handler.ts

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>

* make i18n debugging an optional env setting

this also reduces output noise in tests

* set development default also to "0"

* fix inaccurate docs for TypeImmunityAbAttr (#2957)

* chore: Add beta branch to GitHub Actions tests workflow

* chore: Add beta branch to GitHub Actions linter and gh-pages workflow

* Update src/locales/ko/menu-ui-handler.ts

Co-authored-by: lnuvy <lnuvy.code@gmail.com>

* Update src/locales/ko/menu.ts

Co-authored-by: lnuvy <lnuvy.code@gmail.com>

* Localization(pt): translated bgm-name.ts (#2955)

* Localization(pt): translated bgm-name.ts

* fix

* update VITE_I18N_DEBUG in .env files

* chore: Update environment variables for beta and production environments

* chore: Add beta branch to GitHub Actions deploy workflow

* Hardcoded Pokemon should have proper names (#2941)

* Refactor challenges and add fresh start (#2963)

* [Balance] Update many TM learnsets (#2879)

* Update TMs for more Indigo Disk changes

* Fix typo, more Stored Power

* Refactor challenges and add fresh start (#2964)

* Refactor challenges and add fresh start

* Add achievement for fresh start challenge

* [Bug] Fix off-by-one error in damage calc (#2970)

* Fix random damage roll to be 85-100% instead of 85-99%

* Update battle.test.ts to reflect the fix

* [Bug] Grounded on Terrain fixes (#2969)

* [Help] [Move/Bug] Patches Psychic Terrain applicability edge cases

Was cancelling moves even if targeted mons weren't on the terrain.

* [Bug `]Pokemon.isGrounded` does not exist

Replaced with `Pokemon.isGrounded()`, which does.

* [Bug] Psychic Terrain priority move cancel ignoring ungrounded

* [Bug] Semi-invulnerable should not be grounded

* Update game-stats-ui-handler.ts (italian) (#2965)

* [Bugfix] Fix a bug during bgm-bar initialization (#2822)

* Prevent sizing error

* Make reboot not necessary for show BGM

* Makes the BGM Bar active by default

  + It had originally been decided that this would not be active by default because it was to be displayed outside the pause menu, but since its behavior has changed between this decision and its integration, the default deactivation is no longer necessary

* [Mirror][Localization] Translate game victory sentences #2254 (#2906)

* Translate forgotten sentences on phases

* Translate to de forgotten sentences on phases

* Translate to es forgotten sentences on phases

* Translate to fr forgotten sentences on phases

* Translate to it forgotten sentences on phases

* Translate to ko forgotten sentences on phases

* Translate to pt br forgotten sentences on phases

* Translate to zh cn forgotten sentences on phases

* Translate to zh tw forgotten sentences on phases

* remove duplicate message

* remove duplicate message

* Update src/locales/pt_BR/battle.ts

Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>

* Update src/locales/de/battle.ts

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>

* Update src/locales/de/battle.ts

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>

* Update battle.ts [Localization(it)]

* Update src/locales/zh_CN/battle.ts

Co-authored-by: Yonmaru40 <47717431+40chyan@users.noreply.github.com>

---------

Co-authored-by: Alexis <alexis.faizeau@animedigitalnetwork.fr>
Co-authored-by: 송지원 <jiwsong@gmarket.com>
Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>
Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
Co-authored-by: Niccolò <123510358+NicusPulcis@users.noreply.github.com>
Co-authored-by: Yonmaru40 <47717431+40chyan@users.noreply.github.com>

* [Mirror][Localization] Translate summary #2336 (#2907)

* Translate pokemon summary

* Translate pokemon summary to fr

* Translate pokemon summary to de

* Translate pokemon summary to es

* Translate pokemon summary to it

* Translate pokemon summary to ko

* Translate pokemon summary to pt br

* Translate pokemon summary to zh cn

* Translate pokemon summary to zh tw

* Fix import

* Update partially for en and ko

* Update interface name for en

* Merge trainerLabel&Text and calculate typeLabel width

* Update src/locales/es/pokemon-summary.ts

Co-authored-by: GoldTra <162721984+GoldTra@users.noreply.github.com>

* Apply translations key to all languages with interface TranslationEtries

* Update ko/translationKey of status

* Update ko/translationKey of pokemonInfo

* Update de/translationKeys of memostring and metFragment

* Update de/translationKeys of memostring and metFragment 2

* Update src/locales/ko/pokemon-summary.ts

Co-authored-by: Enoch <enoch.jwsong@gmail.com>

* Update src/locales/ko/pokemon-summary.ts

Co-authored-by: returntoice <dieandbecome@gmail.com>

* Update src/locales/pt_BR/pokemon-summary.ts

Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>

* Update src/locales/ko/pokemon-summary.ts

* Update src/locales/pt_BR/pokemon-summary.ts

Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>

* Update pokemon-summary.ts [Localization(it)]

* remove unused code

* Update src/locales/zh_CN/pokemon-summary.ts

Co-authored-by: Yonmaru40 <47717431+40chyan@users.noreply.github.com>

* Update src/locales/zh_CN/pokemon-summary.ts

Co-authored-by: Yonmaru40 <47717431+40chyan@users.noreply.github.com>

* Update src/locales/zh_CN/pokemon-summary.ts

Co-authored-by: Yonmaru40 <47717431+40chyan@users.noreply.github.com>

* Update src/locales/es/pokemon-summary.ts

Co-authored-by: Arxxer <javiptn7@gmail.com>

* Update src/locales/es/pokemon-summary.ts

Co-authored-by: Arxxer <javiptn7@gmail.com>

---------

Co-authored-by: Alexis <alexis.faizeau@animedigitalnetwork.fr>
Co-authored-by: Mr.WaterT <water.t.works@gmail.com>
Co-authored-by: Alexis Faizeau <faizeau.alexis@gmail.com>
Co-authored-by: GoldTra <162721984+GoldTra@users.noreply.github.com>
Co-authored-by: returntoice <dieandbecome@gmail.com>
Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>
Co-authored-by: 송지원 <jiwsong@gmarket.com>
Co-authored-by: Niccolò <123510358+NicusPulcis@users.noreply.github.com>
Co-authored-by: Yonmaru40 <47717431+40chyan@users.noreply.github.com>
Co-authored-by: Arxxer <javiptn7@gmail.com>

* [Localization] Localization arena flyout (Active Battle Effects) (#2932)

* localizing Active Battle Effects (working)

* Localize Active Battle Effects

* Change return value

* Modify arena terrain desc

* Update src/locales/zh_CN/arena-flyout.ts

Co-authored-by: Yonmaru40 <47717431+40chyan@users.noreply.github.com>

* Update src/locales/de/arena-flyout.ts

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>

* Update src/locales/fr/arena-flyout.ts

Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>

* Update arena-flyout.ts (IT)

* Update src/locales/pt_BR/arena-flyout.ts

Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>

* Update src/locales/es/arena-flyout.ts

Co-authored-by: Arxxer <javiptn7@gmail.com>

* Change util function name

---------

Co-authored-by: 송지원 <jiwsong@gmarket.com>
Co-authored-by: Yonmaru40 <47717431+40chyan@users.noreply.github.com>
Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>
Co-authored-by: Niccolò <123510358+NicusPulcis@users.noreply.github.com>
Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>
Co-authored-by: Arxxer <javiptn7@gmail.com>

* This should prevent gym leaders appear as doubles (marnie & piers) when they arent fixed battles (#2904)

* The stat messages can now be plural (#2600)

* The stat messages are now plural

* "And" can now be localized

* Revert Override

* Update src/locales/fr/battle.ts

Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>

* Update src/locales/fr/battle.ts

Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>

* Update src/locales/fr/battle.ts

Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>

* Update src/locales/zh_CN/battle.ts

Co-authored-by: Yonmaru40 <47717431+40chyan@users.noreply.github.com>

* Update src/locales/ko/battle.ts

Co-authored-by: Enoch <enoch.jwsong@gmail.com>

* Update src/locales/ko/battle.ts

Co-authored-by: Enoch <enoch.jwsong@gmail.com>

* Update src/locales/es/battle.ts

Co-authored-by: GoldTra <162721984+GoldTra@users.noreply.github.com>

* Update src/locales/es/battle.ts

Co-authored-by: GoldTra <162721984+GoldTra@users.noreply.github.com>

* Update src/locales/de/battle.ts

* Update src/locales/pt_BR/battle.ts

Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>

* Update src/locales/pt_BR/battle.ts

Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>

* Update src/data/battle-stat.ts

* Update src/locales/zh_CN/battle.ts

Co-authored-by: Yonmaru40 <47717431+40chyan@users.noreply.github.com>

* Changed the way the multiple is handeled to use the i18n way

* Missed one file

* Apply suggestions from code review

* Apply suggestions from code review

* Changed the tests so they work now with the i18n hting

* Fixed some other tests (chinese still makes problems...

* Fix tests for chinese

* Tests

* Update src/test/battle-stat.spec.ts

* Update src/locales/zh_CN/battle.ts

Co-authored-by: Yonmaru40 <47717431+40chyan@users.noreply.github.com>

* Apply suggestions from code review

---------

Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>
Co-authored-by: Yonmaru40 <47717431+40chyan@users.noreply.github.com>
Co-authored-by: Enoch <enoch.jwsong@gmail.com>
Co-authored-by: GoldTra <162721984+GoldTra@users.noreply.github.com>
Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>

* [Enhancement][QoL] Add option to adjust shop overlay opacity (#2622)

* add option to adjust shop overlay opacity

* add localization

* fix bug

* Update src/locales/fr/settings.ts

Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>

* Update src/locales/zh_CN/settings.ts

Co-authored-by: Yonmaru40 <47717431+40chyan@users.noreply.github.com>

* Update src/locales/fr/settings.ts

Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>

* update default value

* update setting values

* re-add value 10

* 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/es/settings.ts

Co-authored-by: InnocentGameDev <asdargmng@gmail.com>

* Update settings.ts

---------

Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>
Co-authored-by: Yonmaru40 <47717431+40chyan@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: InnocentGameDev <asdargmng@gmail.com>
Co-authored-by: Niccolò <123510358+NicusPulcis@users.noreply.github.com>

* [Bug] Fix battler tags lapsing at incorrect times (#2944)

* Fix battler tags lapsing at incorrect times

* Document FlinchedTag

* Update French pokemon-summary.ts (#2976)

* [Test] Prevent tests from running if overrides are different from the default values (#2110)

* mock default overrides in test setup

* change beforeEach to beforeALl

* move some more enums into the enums directory

* replace modules that import i18n into overrides with modules that don't

* add pre tests and update vitest configs, scripts

* replace tabs with spaces

* fix vitest server port overlap warning

* add missing overrides and clean up workspace config

* change test name

* include spec files in main test suite

* [QoL] Highlight targets of multitarget moves instead of immediate execution (#2863)

* show targets for move targeting multiple pokemon

* dont allow selecting target if multiple

* fix targeting

* cleanup

* more cleanup

* only highlight targets is move is not status

* fix tests failing

* fix tests

* change "immediately" to "auto"

* nevermind just remove auto

* remove status move condition

* [Refactor] rewrite applyAbAttrsInternal to use an iterator. (#1832)

* initial rewrite of applyAbAttrsInternal

* clean up applyAbAttrsInternal

* remove the await because it wraps non Promises in a promise

* add TODO comment about promises

* fix broken costar test, hopefully

* Update typescript and typedoc (#2988)

* update typescript and typedoc to latest versions

* forgot to add the package-lock

* add fixes for breaking type gen

* update workflow (#2989)

* [Qol/Balance] Dynamax cannon tweak (#2540)

* Dynamax Cannon fix

* Update src/locales/fr/move.ts

Added fr translation.

Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>

* Update src/locales/fr/move.ts

Adding an important missing precision in French description

Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>

* Update src/locales/de/move.ts

German locale commit.

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>

* Update src/locales/zh_CN/move.ts

Chinese locale commit, checked by a native speaker

Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>

* Update src/locales/ko/move.ts

Korean locale added

Co-authored-by: returntoice <dieandbecome@gmail.com>

* fixed trailing space in Chinese locale

* added es locale

* Different Dynamax Cannon fix. This one is the one

* Dynamax Cannon fix localisations

* Update src/locales/fr/move.ts

Added fr locale

Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>

* Update src/locales/de/move.ts

German translation ^^

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>

* Update src/locales/pt_BR/move.ts

pt-BR translation

Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>

* Update src/locales/de/move.ts

Eslint fix, good catch @Enoch

Co-authored-by: Enoch <enoch.jwsong@gmail.com>

* Update src/locales/ko/move.ts

Korean locale ^^

Co-authored-by: sodam <66295123+sodaMelon@users.noreply.github.com>

* Update src/locales/zh_CN/move.ts

zh_CN locale

Co-authored-by: RimKnight <rimknight852@gmail.com>

* Update src/locales/zh_TW/move.ts

zh_TW locale

Co-authored-by: RimKnight <rimknight852@gmail.com>

* Update move.ts

linting mistake due to how my comment was written

* Update move.ts

linting mistake due to how my comment was written

* Update move.ts [Localization(it)]

* WIP test

* WIP test part 2

* [Test] Add Unit Tests for Dynamax Cannon

* removed some unnecessary cases in the test to reduce testing overhead

* Update src/locales/ko/move.ts

Updated kr locale

Co-authored-by: Enoch <enoch.jwsong@gmail.com>

* [Test] Adjust Unit Tests for Dynamax Cannon

---------

Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>
Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
Co-authored-by: returntoice <dieandbecome@gmail.com>
Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>
Co-authored-by: Enoch <enoch.jwsong@gmail.com>
Co-authored-by: sodam <66295123+sodaMelon@users.noreply.github.com>
Co-authored-by: RimKnight <rimknight852@gmail.com>
Co-authored-by: Niccolò <123510358+NicusPulcis@users.noreply.github.com>
Co-authored-by: xsn34kzx <xsn34kzx@gmail.com>

* [Test] Fix/Extend Unit Test for Hard Press (#2992)

* [Test] Update tests to enable no-crits override (#2971)

* Update tests to enable no-crits override

* Rename variable maxHP to initialHP

* [Localization]Localized move-trigger text (#2913)

* [Localization]Localized move-trigger text

* [Localization]Localized zh-cn move-trigger text

* [Localization]fix typo

* [Localization]fix typo

* Update src/locales/pt_BR/move-trigger.ts

Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>

* [Localization]add pokemonName to move-trigger.ts

* [Localization]add pokemonName to move-trigger.ts

* Update zh_TW move-trigger.ts

* Update zh_CN move-trigger.ts

* Update move.ts

* Update src/locales/ko/move-trigger.ts

Co-authored-by: Enoch <enoch.jwsong@gmail.com>

* Update src/locales/ko/move-trigger.ts

Co-authored-by: Enoch <enoch.jwsong@gmail.com>

* Update move-trigger.ts

* Update src/locales/de/move-trigger.ts

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>

* [Localization]add affix to target pokemon names

* Update src/locales/fr/move-trigger.ts

Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>

* localized type

---------

Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>
Co-authored-by: Enoch <enoch.jwsong@gmail.com>
Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>

* [Bug] Fix description of rare candy to have proper amount of level (#2903)

* [Bug] Fix description of rare candy to have proper amount of level

* Update en locales

* Add locales

* Add locales

* Update src/locales/de/modifier-type.ts

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>

* Update src/locales/de/modifier-type.ts

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>

* Update src/locales/fr/modifier-type.ts

Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>

* Update src/locales/fr/modifier-type.ts

Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>

* Update src/locales/ko/modifier-type.ts

Co-authored-by: Enoch <enoch.jwsong@gmail.com>

* Update src/locales/ko/modifier-type.ts

Co-authored-by: Enoch <enoch.jwsong@gmail.com>

* Update src/locales/zh_CN/modifier-type.ts

Co-authored-by: Yonmaru40 <47717431+40chyan@users.noreply.github.com>

* Update src/locales/zh_CN/modifier-type.ts

Co-authored-by: Yonmaru40 <47717431+40chyan@users.noreply.github.com>

* Update src/locales/pt_BR/modifier-type.ts

Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>

* Update src/locales/pt_BR/modifier-type.ts

Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>

* Update modifier-type.ts (IT)

* Update src/locales/es/modifier-type.ts

Co-authored-by: Arxxer <javiptn7@gmail.com>

* Update src/locales/es/modifier-type.ts

Co-authored-by: Arxxer <javiptn7@gmail.com>

---------

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>
Co-authored-by: Enoch <enoch.jwsong@gmail.com>
Co-authored-by: Yonmaru40 <47717431+40chyan@users.noreply.github.com>
Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>
Co-authored-by: Niccolò <123510358+NicusPulcis@users.noreply.github.com>
Co-authored-by: Arxxer <javiptn7@gmail.com>

* move status effect enum into separate file (#2998)

* add .env.test (#2997)

block i18n debug output by default

* [QoL] Create default overrides class and export that with custom overrides (#2999)

* Create default overrides class and export that with custom overrides

* add comment to mock import and replace typecast with type narrowing

* change modifier override type to pick keys from modifierTypes

* [Feature][FUN] add breedersInSpace splash message (#2631)

* add spaceBreeder splash message

* fix typo (whops)

* Add pt_BR translation

Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>

* replace text & key with breedersInSpace

* add french tanslation

Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>

* remove obsolete array split in splash-messages.ts

* Update src/locales/pt_BR/splash-messages.ts

Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>

* Update src/locales/es/splash-messages.ts

Co-authored-by: Asdar <asdargmng@gmail.com>

* Update splash-messages.ts (Italian)

* Update src/locales/zh_CN/splash-messages.ts

Co-authored-by: Yonmaru40 <47717431+40chyan@users.noreply.github.com>

* Update src/locales/ko/splash-messages.ts

Co-authored-by: sodam <66295123+sodaMelon@users.noreply.github.com>

---------

Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>
Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>
Co-authored-by: Asdar <asdargmng@gmail.com>
Co-authored-by: Niccolò <123510358+NicusPulcis@users.noreply.github.com>
Co-authored-by: Yonmaru40 <47717431+40chyan@users.noreply.github.com>
Co-authored-by: sodam <66295123+sodaMelon@users.noreply.github.com>

* [Enhancement] Pokemon generation number tooltip (#2642)

* Create tooltip to show Pokemon generation

* Add option to toggle generation tooltip

* Use roman numeral for generation tooltip

* Revert "Add option to toggle generation tooltip"

This reverts commit 414b2366fc.

* Update src/locales/de/battle-info.ts

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>

* Update src/locales/fr/battle-info.ts

Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>

* Update src/locales/pt_BR/battle-info.ts

Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>

* Update src/locales/zh_TW/battle-info.ts

Co-authored-by: RimKnight <rimknight852@gmail.com>

* Update src/locales/zh_CN/battle-info.ts

Co-authored-by: RimKnight <rimknight852@gmail.com>

* Update src/locales/ko/battle-info.ts

Co-authored-by: Enoch <enoch.jwsong@gmail.com>

* Update battle-info.ts (IT)

---------

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>
Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>
Co-authored-by: RimKnight <rimknight852@gmail.com>
Co-authored-by: Enoch <enoch.jwsong@gmail.com>
Co-authored-by: Niccolò <123510358+NicusPulcis@users.noreply.github.com>

* [Beta] Updating the manage data->unlock all option to work with all abilities, natures, forms and passives (#2967)

* Updated code to allow user to unlock all pokemon from the manage data menu option

* Added code to Utils to allow it to check for a beta env, and hid the unlock all code behind that. This should stop it from being accessed in prod envs

* Updated another section to be locked behind beta check, and also updated the everything.prsv to have everything unlocked going forward

* Fixed some code reviews

* [Bug] vite port (for development) (#3003)

* make vite-port configurable

and make it default 8000

* add retries for `does not trigger by non damage moves` test

* feat: Update isBeta check in utils.ts to use import.meta.env.MODE

The current implementation of the isBeta check in utils.ts is using import.meta.env.DEV, which gives the same value for both beta and dev environments. This commit updates the check to use import.meta.env.MODE === "beta" to accurately determine if the environment is beta. This ensures that the unlock all code is only accessible in the beta environment and not in production environments.

* refactor: Update trainerId and secretId in game data

This commit updates the `trainerId` and `secretId` properties in the `GameData` class. The values are replaced with the corresponding values from the `this.trainerId` and `this.secretId` variables. This change ensures that the `trainerId` and `secretId` are correctly updated in the game data.

* Adds bg glow behind starters with unlocked passives (#2497)

* [Localization] Localize missed things in battlers-tag.ts (#3004)

* Localize missed things in battlers-tag

* Change orders of configs

* Add missed phase

* Update src/locales/zh_CN/battle.ts

Co-authored-by: RimKnight <rimknight852@gmail.com>

* Update src/locales/zh_CN/battle.ts

Co-authored-by: RimKnight <rimknight852@gmail.com>

* Update src/locales/zh_TW/battle.ts

Co-authored-by: RimKnight <rimknight852@gmail.com>

* Update src/locales/zh_TW/battle.ts

Co-authored-by: RimKnight <rimknight852@gmail.com>

* Update src/locales/zh_TW/battler-tags.ts

Co-authored-by: RimKnight <rimknight852@gmail.com>

* Update src/locales/zh_CN/battler-tags.ts

Co-authored-by: RimKnight <rimknight852@gmail.com>

---------

Co-authored-by: RimKnight <rimknight852@gmail.com>

* [Feature] Fully implement Octolock (#2985)

* implement octolock

* Add tests

* [Bug] Fix import of overrides in a test (#3009)

* [BUG] Fixes Sketch copying the first move used by the opponent instead of the last (#2759)

* Changes getMoveHistory to getLastXMoves to fix sketch copying first move used instead of last

* Optimizes move search and early return

* Reverts check for virtual moves

* [Bug] Making FormChangeItems Untransferrable (#2695)

* Made FormChangeItems untransferrable. Replaced getTransferrable()

* Made isTransferrable readonly. Removed unnecessary 'm as PokemonHeldItemModifier'.

* [Bug] Fix Clear terrains upon Trainer Battle (#2027)

* Clear terrains upon Trainer Battle

* Adjusted comment

* Fix item reward overrides going out of bounds (#3012)

* [Localization] Localize Berry Heal message (#2996)

* Localize berry heal message (HP/PP)

* Change location of translation

* conflict resolve

* Update src/locales/de/battle.ts

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>

Update src/locales/de/battle.ts

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>

Update src/locales/de/battle.ts

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>

* Update src/locales/zh_CN/battle.ts

Co-authored-by: mercurius-00 <80205689+mercurius-00@users.noreply.github.com>

* Update src/locales/zh_TW/battle.ts

Co-authored-by: mercurius-00 <80205689+mercurius-00@users.noreply.github.com>

* Update src/locales/fr/battle.ts

Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>

* Update src/locales/pt_BR/battle.ts

Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>

* Update src/locales/pt_BR/battle.ts

Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>

* Update battle.ts (Berries ITALIAN)

---------

Co-authored-by: 송지원 <jiwsong@gmarket.com>
Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
Co-authored-by: mercurius-00 <80205689+mercurius-00@users.noreply.github.com>
Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>
Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>
Co-authored-by: Niccolò <123510358+NicusPulcis@users.noreply.github.com>

* Adds a check to the bgm-bar display to prevent it from being displayed in case of an empty value (#3007)

* [Sprite] Improves Corviknight Palette usage (#3020)

* [Sprite] Compress Corviknight exp

* [Sprite] Compress Corviknight exp

* [Sprite] Compress Corviknight exp

* [Sprite] Compress Corviknight exp

* [Sprite] Compress Corviknight exp

* [Beta][Localization] Update French battler-tags.ts and battle.ts (#3015)

* Update French battler-tags.ts

* Update battle.ts

* [Bug] Fix Lock-On and Mind Reader not working on the first turn (#3001)

* [Bug] Struggle Recoil should ignore Magic Guard (#3017)

* Drafted testable conditions for Magic Guard

* Weather Test

* Update src/test/abilities/magic_guard.test.ts

InnerThunder

Co-authored-by: innerthunder <168692175+innerthunder@users.noreply.github.com>

* Implemented checks for poison/toxic/burn

* Added tests for recoil moves and volatile status

* Updated Rock Head, Magic Guard, and Reckless interactions with Struggle

* Removed stray file

* Fixed Typedoc errors

* Implemented innerthunder's feedback

---------

Co-authored-by: Frutescens <info@laptop>
Co-authored-by: innerthunder <168692175+innerthunder@users.noreply.github.com>

* [Enhancement] Decouple move power calculation from Pokemon.apply(), Fixes Power Spot & Battery not boosting ally's move (#2984)

* refactor power calc, fix battery & power spot

* fix hard press unit test

* fix hard press

* refactor tests

* use sypOn hp instead

* rename method

* cleanup tests

* improve tests

* use slow vs fast pokemon

* fix steely spirit test

* fix steely spirit for real this time

* remove unnecessary test

* address pr feedback

* add removed code

* [QoL] Offset the status indicator to keep pokeball in view (#2966)

* Offset the status indicator to keep pokeball in view

* Only use offsetX when the Pokemon is the enemy

* Adjust position to accomodate boss health bar

* [Bug] Fix to epic shiny Yungoos icon (#2991) (#3016)

Fixed a floating pixel in epic shiny Yungoos' icon. Caused by Mimikyu's epic shiny sprite being placed too high on the sprite sheet. Moved Mimikyu's sprite down and updated json to reflect the change.

* [Localization(ko)] Change line-break position of ghost type curse add message (#3022)

* Revert "[Localization]Localized move-trigger text (#2913)" (#3026)

This reverts commit 39bdfea0c8.

* [Localization(ko)] Fixed typo in Bertha's dialogue (#3025)

* [Bug] Prevent fixed-damage and OHKO moves from being modified by damage-reducing abilities (#2703)

* ReceivedMoveDamageMultiplierAbAttr patch: WIP refactored damage calculation, reordered ReceivedMoveDamageMultiplierAbAttr to avoid issues with fixed damage and OHKO moves, stubbed unit tests for dragon rage (fixed damage) and fissure (OHKO)

* ReceivedMoveDamageMultiplierAbAttr patch: commented concerns regarding EnemyDamageBooster/ReducerModifier for others' reference in WIP branch

* ReceivedMoveDamageMultiplierAbAttr patch: reordered ReceivedMoveDamageMultiplierAbAttr and EnemyDamageBooster/ReducerModifier to not trigger for fixed damage and OHKO moves, completed relevant tests for dragon rage and fissure

* ReceivedMoveDamageMultiplierAbAttr patch: removed newline

* ReceivedMoveDamageMultiplierAbAttr patch: in the unit test, extracted hard-coded Dragon Rage damage to a variable

* ReceivedMoveDamageMultiplierAbAttr patch: naming consistency

* ReceivedMoveDamageMultiplierAbAttr patch: replaced awaiting DamagePhase with TurnEndPhase as the former assumes damage will be done

* ReceivedMoveDamageMultiplierAbAttr patch: removed redundant overrides in Fissure tests

* ReceivedMoveDamageMultiplierAbAttr patch: tests: refactored crit removal, removed berries, fixed bug associated with Porygon sometimes getting Trace and copying the opponent's ability, which would override the manual ability override

* Fixed unit tests

* Added a comment and cleaned up an existing one

* [Localization] Brought german localization up to date (#3010)

* Fixed errors in the german localization

* Fresh Start Challenge

* Update src/locales/de/move-trigger.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>

* [Bug] Remove redundant damage number popups (#3024)

* Remove magic number from Belly Drum's attr

* Remove redundant damage number popup

* Fix merge issue and remove another duplicate damage number instance

* [Move] Implements Conversion 2 (#2943)

* Creates function to get type resistances, implements conversion 2

* Removes unimplemented tag, adds condition for move history to exist

* Cleans up type selection, creates i18n entries for typeChanged

* Uses typeChanged i18n in Conversion move

* More detailed docs, early return with stellar/unknown type

* Adds note that it wont track type-changing moves properly

* Rephrases doc description, adds partial since it can't track type-changing moves

* Updates localization, removes typeChanged entry to use move-trigger entry

* Missed locale de entry in last commit

* Adds comment for reason of .partial()

* Fixes localization error due to revert, removes improper merge conflict from prior commit

* [BUG] Fixes bug with Metronome freezing the game (#2819)

* Tests MovePhase with new PokemonMove instead of moveset search

* Accounts for metronome call on charging moves

* Update comment in ChargeAttr to be clearer

* Add missing passive background graphic for legacy UI

Relating to #2497 , this adds an identical graphic to the legacy UI files, as it will show up as a missing texture otherwise.

* [Localization] Localize ability messages in ability.ts (trigger, apply...) (#2972)

* localize ability messages

* Update src/locales/de/ability-trigger.ts

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>

* Modify parameter name, fix eslint

* Korean Translation, modify some wrong param

* Add missed message

* Update src/locales/de/ability-trigger.ts

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>

* Update ability-trigger.ts (Partial) (Italian)

* Localize type name

* Localize type name > Libero, Protean

* param bug fix

* Update src/data/ability.ts

* Update zh-cn

* Update ability-trigger.ts (Partial part 2, still not completed) (Italian)

* Update src/locales/fr/ability-trigger.ts

Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>

* Update src/locales/pt_BR/ability-trigger.ts

Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>

* Update src/locales/fr/ability-trigger.ts

Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>

---------

Co-authored-by: 송지원 <jiwsong@gmarket.com>
Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
Co-authored-by: Niccolò <123510358+NicusPulcis@users.noreply.github.com>
Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>
Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>

* Update egg.ts (italian) (#3038)

* [Sprite] Revert Larvesta, fixing stray pixels (#3042)

* [Sprite] Remove normal Larvesta stray pixels

Taken from original commit

* [Sprite] Revert shiny Larvesta stray pixels

Taken from original commit

* [Sprite] Match variant Larvesta colours

* [Bug] Fix level 100 moves being skipped if leveled past 100 (#3040)

* [Bug][Fix][Surf][Muddy Water][Sludge Wave][Animation] Added image to move animations. (#3044)

* Update muddy-water.json

* Update sludge-wave.json

* Update surf.json

* [Sprite] Fix Cofagrigus sprite (#3045)

* Fix Cofagrigus sprite

* Base sprite fix

* Created json variant file... manually

* Fix FR typo (#3051)

* [Beta][Localization] Update Portuguese battler-tags.ts and battle.ts (#3050)

* [Music/BGM] Fix bgm file & loop for battle_rival (#3053)

* stop loading pride-update banner (#3057)

* [Item] Add Scope Lens and Leek (#2666)

* [Item] Add Scope Lens and Leek

* Add Entry to pt_BR

* Localize for pt_BR

Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>

* Fix & Clean Unit Tests

---------

Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>

* [Music/BGM] New music added for the "Slum" biome, composed by Andr06 (#3000)

* Replacement of the BGM in the slum biome (by Andr06)

* Modification of BGM credits in README.md

* Replacement of the BGM name by the title chosen by its composer in all languages

* Update BGM loop point for biome 'SLUM'

* [Bug] implemented multi target damage penalty (#2329)

* fix: damage multiplier by  the number of targets

* fix: used actual number value rather than the number holder

* test: added unit test for counting targets

* multi-target: fixed names of the unit tests.

* test: simple-test changes

* test: changed multi-target test code

* test: testing damage decreasement

* test: multi-target test fix

* resolved conflicts in test

---------

Co-authored-by: Tempoanon <163687446+Tempo-anon@users.noreply.github.com>

* [BUG] Uturn faint switch bug fix (#2980)

* reordering adding switch phases for u-turn

* reverting some temp changes

* generalizing function

* adding PR suggestions

* nit indenting

* [Sprite] Remove extra Oinkologne sprites (#3067)

* Delete public/images/pokemon/female/916.png

* Delete public/images/pokemon/exp/female/916.json

* Delete public/images/pokemon/exp/female/916.png

* Delete public/images/pokemon/female/916.json

* [Sprite] Mega Mewtwo sprite fixes (#3065)

* [Sprite] Add static epic Mega Mewtwo Y

Colours taken from exp, as consistent/exp rare backs share palettes.

* [Sprite] Fix transparent pixels on Mega Mewtwo X

* [Sprite] Fix transparent pixels on Mega Mewtwo X

* [Sprite] Add static epic Mega Mewtwo Y

Now exists, and is a paletteswap

* [Music/BGM] New music added for the "Sea" biome, composed by Andr06 (#3063)

* Replacement of the BGM in the sea biome (by Andr06)

* Modification of BGM credits in README.md

* Replacement of the BGM name by the title chosen by its composer in all languages

* Update BGM loop point for biome 'SEA'

* [Balance] Add 12 new TMs and remove 3 (#2733)

* Added Counter TM

* Counter, Aqua Tail, Gastro Acid, Pluck, Secret Power, Aurora Veil, Incinerate

* Placed TMs in proper order, added to pool

* Add Secret Power to the pool

* Add TM for Synthesis

* Covet, Heal Bell, PUPunch, Recycle, Volt Tackle, Worry Seed

* Remove species specific TMs

* Remove Secret Power TM until implementation

* [Refactor/Test] Update Dynamax Cannon Unit Tests (#3074)

* [Refactor/Test] Update Dynamax Cannon Unit Tests

* Adjust Test Names

* fix: update SameSite attribute in setCookie function to None

* fix: update SameSite attribute in setCookie function to Strict

* feat: Add prompt=none to Discord OAuth authorization URL

* fix: Remove unnecessary cookie setting in LoginPhase and MenuUiHandler

* feat: Improve cookie handling in getCookie function

* feat: Delete duplicate cookies with the same name in getCookie function

* [Localization] Add minor Korean translations to ability-trigger file (trace) (#3093)

* modify trace trigger description (refered from official translation)

modify trace trigger description (refered from official translation)

* modify trace trigger description (refered from official translation)

modify trace trigger description (refered from official translation)

* Fix broken `multi_target` tests and remove RNG-based failures (#3095)

* Prevent RNG from breaking the Quick Draw tests (#3096)

* Make EXP boosting items stack additively and not multiplicatively (#3094)

Fixes #2040

* [Bug] Fixes Encore bug with multi-target moves missing (#3060)

* Pushes move history even when multi target move misses

* Move pushMoveHistory out of Move Pending condition

* Add remaining relearn moves (#2894)

* [Enhancement] Decouple move accuracy and accuracy multiplier calculation from phases.ts (#2899)

* refactor accuracy calc

* update doc

* move accuracy multiplier calculation outside phases

* update wonder skin unit test

* rename method

* add docs

* add unit tests

* address feedback

* rename method

* fix imports

* improve tests

* add test for ohko move accuracy

* [Sprite] Fix a number of sprite issues including the Zubat line, Goldeen, Golett, Dudunsparce, H-Sneasel, Garchomp, Sylveon, Marshadow (#3069)

* Batfix, Goldeen, Chomp, Golett, genies

* Fix Dudunsparce using Reborn shiny backsprite for whatever reason

* Fix female Hisuian Sneasel missing variants

* Marshadow epic front and Zenith, Sylveon back

* Fix Zubat line back sprite inconsistencies

* Fix Noivern shiny back

* [Move] Finish implementation of Glaive Rush (#2720)

* Finish implementation of Glaive Rush

* Fix test RNG

* Add code/test for Multi-Lens interaction

* Fix off-by-one error in test caused by rounding issues

* Update for code changes

* Fix BattlerTag name

* [Bug] fix not changing moveset after add to starter #1932 (#2396)

* [Bug] Enemies can properly use stuff cheeks (#3090)

* [Feature] Added pokemon nicknames/renaming (#2570)

* Added basic temp renaming

* Made nickname persistant after reloading

* Localization and cancel button

* Fixed instant rename on active pokemon

* Small bugfix to prevent console errors

* Changed logic to use the new nickname field. Replaced most .name with getNameToRender() for display.

* Changed evolution message. Removed log messagesc

* Added localization keys for other languages

* Removed empty lines

* French translation

Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>

* Chinese translation

Co-authored-by: Yonmaru40 <47717431+40chyan@users.noreply.github.com>

* Portuguese (Brazil) translation

Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>

* Korean translation

Co-authored-by: Enoch <enoch.jwsong@gmail.com>

* Update menu.ts

* Update menu.ts [Localization(it)]

* Changed most .getNameToRender() instance to getPokemonNameWithAffix()

* Changed wild encounter messages back to just use the name without affix.

* Added localization for the party ui rename selection

* Escaping nickname characters to support all characters

* Better Error handling

* Update src/field/pokemon.ts

Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>

---------

Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>
Co-authored-by: Yonmaru40 <47717431+40chyan@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: Niccolò <123510358+NicusPulcis@users.noreply.github.com>
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>

* [Sprite] Show Partner Eevee variants (#3097)

* [Sprite] Show Partner Eevee variants

Taken from non-partner Eevee

* [Sprite] Show Partner Eevee variants

Taken from non-partner Eevee

* [Sprite] Show Partner Eevee variants

* Allow Necrozma forms to play their special music (#3054)

* [BUG] fixing multi-hit and move messages on faint (#2981)

* fixing order of messages, scences, to render messages before fainting

* updated fix for effectiveness text rendering order for multi hit moves

* fixing messages not appearing for multi-hit moves on faint

* updated multi-hit condition)

* fixing PR conflicts

* adding comments and FaintPhase setPhaseQueueSplice bug, fixing overrides merge conflict

* writing better comments

* removing space diff in overrides

* adding fainting check for self damage moves

* emergency fixing broken last commit

* additional comments for multi-hit problem

* updating comments, jsdoc style

* fixing linter, destiny bond errors

* splitting up varaible comments to be in JSDoc format

* fixing tests and merge mistakes

* adding rendering of multihit moves that only hit once

* fixing comment formatting_tabs and spaces

---------

Co-authored-by: Benjamin Odom <bennybroseph@gmail.com>

* [Bug] Sheer Force/Serene Grace Flyout Bugfix (#2496)

* Disable Show Ability for Serene Grace and Sheer Force when opponent calculates targetBenefitScore

* Add comment and definition to argument

* [Visual] Achievement icons (#2617)

* Text Changes to MonoGen Challenges

* Item Texture Files

* MonoGen Ribbons added

* Resolving merge conflict

* Updated texture files? I think

* Changed image names and added new localizations for  syntax

* Removed unused ribbons

* [Feature] replace bug-report template with form (#2772)

* replace bug-report template with form

* update bug_report.yml

* add palceholders for data & session file

* Update item atlas

* Update item atlas again

This time, after merging main into the PR.

* [Sprite] Show Partner Eevee variants (#3097)

* [Sprite] Show Partner Eevee variants

Taken from non-partner Eevee

* [Sprite] Show Partner Eevee variants

Taken from non-partner Eevee

* [Sprite] Show Partner Eevee variants

* Merged with beta's new items

* Fixed typedoc issues

* Removing localizations

* Text Changes to MonoGen Challenges

* Item Texture Files

* MonoGen Ribbons added

* Resolving merge conflict

* Updated texture files? I think

* Changed image names and added new localizations for  syntax

* Removed unused ribbons

* Update item atlas

* [Feature] replace bug-report template with form (#2772)

* replace bug-report template with form

* update bug_report.yml

* add palceholders for data & session file

* Update item atlas again

This time, after merging main into the PR.

* Merged with beta's new items

* Fixed typedoc issues

* Removing localizations

* Allow Necrozma forms to play their special music (#3054)

* Allow Necrozma forms to play their special music (#3054)

* MonoGen Ribbons added

* Text Changes to MonoGen Challenges

* Item Texture Files

* MonoGen Ribbons added

* Updated texture files? I think

* Changed image names and added new localizations for  syntax

* Fixed typedoc issues

* Revert "Text Changes to MonoGen Challenges"

This reverts commit 3bf79acc6a.

* Text Changes to MonoGen Challenges

* Item Texture Files

* MonoGen Ribbons added

* Resolving merge conflict

* Updated texture files? I think

* Changed image names and added new localizations for  syntax

* Removed unused ribbons

* Update item atlas

* [Feature] replace bug-report template with form (#2772)

* replace bug-report template with form

* update bug_report.yml

* add palceholders for data & session file

* Update item atlas again

This time, after merging main into the PR.

* Merged with beta's new items

* Fixed typedoc issues

* Removing localizations

* Text Changes to MonoGen Challenges

* Item Texture Files

* MonoGen Ribbons added

* Resolving merge conflict

* Updated texture files? I think

* Changed image names and added new localizations for  syntax

* Removed unused ribbons

* Update item atlas

* Update item atlas again

This time, after merging main into the PR.

* Merged with beta's new items

* Fixed typedoc issues

* Removing localizations

* MonoGen Ribbons added

* Text Changes to MonoGen Challenges

* Item Texture Files

* MonoGen Ribbons added

* Updated texture files? I think

* Changed image names and added new localizations for  syntax

* Fixed typedoc issues

* Revert "Text Changes to MonoGen Challenges"

This reverts commit 3bf79acc6a.

* Please fix this.

* Revert "[Feature] replace bug-report template with form (#2772)"

This reverts commit aa69b10777.

---------

Co-authored-by: Frutescens <info@laptop>
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
Co-authored-by: Madmadness65 <blaze.the.fireman@gmail.com>
Co-authored-by: chaosgrimmon <31082757+chaosgrimmon@users.noreply.github.com>
Co-authored-by: Madmadness65 <59298170+Madmadness65@users.noreply.github.com>

* Re-add changes accidentally deleted by #2617

* Fix some broken images in item atlas & achievement

Fixed the broken sprites in the item atlas, and fixed the Baton Pass achievement to use the Baton item now (it was broken by the Leek being renamed). Also resized the Baton item image to 32*32, like all the other items.

* fix: Remove unnecessary cookie setting in removeCookie function

* fix: Update removeCookie function to use Max-Age=-1 instead of Expires header

The removeCookie function was updated to use the Max-Age=-1 attribute instead of setting the Expires header to a past date. This change ensures that the cookie is immediately expired when removed, preventing any potential login loops. Additionally, a legacy cookie without a domain was added to handle older cookies. This commit resolves the unnecessary cookie setting in the removeCookie function.

* [QoL] Starter UI selection update to allow removing specific pokemon from party  (#1983)

* Initial commits with logic to remove starters if they're in your party. Still need to make it work so that the starter selection cursor disappears when a starter is unselected

* Updated code to be able to remove pokemon, including the side icons and cursor locations

* Fixed popstarter to work with any index

* Updating code to allow navigation of starter icons

* Updating code to allow navigation of party starter icons

* Updaing navigation of party icons

* Updated logic to fix incorrect icon in top left of pokemon options when navigating the starter icons

* Updated logic to include the ability to navigate and interact with the starter icons

* Forgot to push the actual starter-select-ui-handler. Might be a bit hard to test things out without that :)

* Removed some unnecessary comments

* Fixed small bug with not being able to move from the far right to the gen selection when the starter icons were empty

* Updated code to not be using a method to generate the party menu and made it more like it used to be. This should help with merge conflicts in the future

* I committed the merged version but forgot to make the starter-select-ui-handler staged after making the changes

* Accidentally broke challenges that had a specific typing requirement with last commit. This should fix it

* Changed how navigation worked based on popular demand

* Fixed code review comments

* Accidentally left in a whole block of commented code. Intentionally removing it now

* Started adding logic for mono type challenge runs to not break the game if the user tries to start a run with an invalid party

* Updated the text to say the party is invalid

* Updated logic to make invalid pokemon greyed out when no valid pokemon are in your party

* Added comments on some code

* Updated locales to include the key for trying to start with invalid parties during a challenge

* Fixed some code from a bad merge where a challenge related param that was previously a number now needed to be a boolean and wasn't

* Removed comment as per review

* [Bug] Ability changing on evolution fix (#2995)

* Prevent Pokemon with their second ability from evolving into their HA

* Add check for fusions too

* Localization(pt): Updated move.ts (#3078)

* Localization(pt): Updated move.ts and fixed King's Shield

* more fixes

* [Bug] Enemy pokemon's Harvest creates berry icons on the player's side when triggered (#3077)

* [Bug] Fix hustle not applying attack boost (#3101)

* [Sprite] Mega Latis using opposite's eye colour (#3102)

* [Sprite] Mega Latis using opposite eyes

Taken from counterpart Lati

* [Sprite] Update Mega Latios eyes

* [Sprite] Update Mega Latias eyes

* [Sprite] Mega Latias duplicated palette value

Colour taken from non-exp Mega Latias

* [Bug] Fix Thousand Arrows not hitting targets under the effects of Magnet Rise (#3100)

* Fix Thousand Arrows not hitting through Magnet Rise

* Add integration test for Thousand Arrows vs. Magnet Rise

* ESLint

* Remove unnecessary checks in integration tests

* [Move] Aeroblast is a wind move (#3109)

* Hardcoded Pokemon should have proper names

* Aeroblast is a wind move

* [Refactor] Replaces the single and double battles overrides with a single override (#3104)

`SINGLE_BATTLE_OVERRIDE` and `DOUBLE_BATTLE_OVERRIDE` are now `BATTLE_TYPE`

Also updates all uses of the old overrides with the new one

* fix `Overrides` capitalization (#3111)

* [Balance] More TM fixes (#3081)

* More TM fixes

* Leaf Storm

* Removed sexy matcha

* [Refactor] Code readability update (#3085)

* Clean up/clarify `src/field/pokemon.ts` a bit

Code provided by DerTapp on Discord

* Update `PokemonSpeciesForm.getAbilityCount()`

* Update `PokemonSpeciesForm.getAbility()`

* Add explicit `Abilities.NONE` checks

* Add tests

* Add jsdoc and implement test suggestions

* [Move] Implement Stockpile, Spit Up, Swallow (#2960)

* feat: Implement Stockpile, Spit Up, Swallow

* chore: Minor, likely unnecessary null checks

* feat: Localization

* Undo non-English localizations (unsure if they went through proper channels)

* ko localization

from @EnochG1

Co-authored-by: Enoch <enoch.jwsong@gmail.com>

* linting fix

* add tests, tiny (non-functional) tweaks

* Remove unnecessary cast

* Update src/data/move.ts

(oops)

* remove some unnecessary comments, rename something for clarity

---------

Co-authored-by: Enoch <enoch.jwsong@gmail.com>

* [Bug] Remove ability swap code in `PlayerPokemon.evolve()` (#3113)

* [Test] Add test for rollout move (#3114)

* add test for rollout move

Co-authored-by: Zach Day <zachdayz@gmail.com>

* fix tests still using `SINGLE_BATTLE_OVERRIDE`

---------

Co-authored-by: Zach Day <zachdayz@gmail.com>

* [Bug][Beta] Fix Hyper Beam, etc. permanently recharging (#3115)

* Fix Hyper Beam, etc. permanently recharging

* Fix override in hyper beam test

* [QoL] New Starter Select UI with Filter (#2916)

* update images for new UI

* add updated starter UI with filter code

* update starter-select test code

* update win filter condition to pass test

* remove unnecessary console log

* update test code to match current filter UI

* merge update

* apply bugfix & chrry-pick small issues fix which are handled beta branch

* resolve conflicts

* fix lint errors

* Fixed a bug where the target location for escaping using the left and right buttons on the starter button did not account for scrolling

* update filter bar label color change when activated

* fix lint error

* fix lint

* fix octolock.text.ts. it looks override import error. idk why it is happend in this PR. but it looks ok now

* add passive dropdown in unlocks filter

* fix lint

* fix double button sound bug. refactoring genSpecies -> allSpecies, starterContainers -> starterContainer which are remove unnecessary generation axis

* optimize updateStarterValueLabel function which is bottleneck of UI update latency

* apply translation of gen filter label. fix lint

* add # candies sort option

* merge beta

* resolve confilcts

* fix offset of starter and start cursor

* make compatible with starter UI

* add missing feature

* add images for legacy UI. adjust the position and size of the starterContainerWindow

* [Localization] Implement Form localization (#3030)

* Implement Pokemon forms localization

* Update French pokemon-form.ts

* Update French pokemon-form.ts

* Update pokemon-form.ts

* Add battle forms korean translation from returntoice

Co-authored-by: returntoice <dieandbecome@gmail.com>

* Add cosplay forms korean translation from returntoice

Co-authored-by: returntoice <dieandbecome@gmail.com>

* Add pichu form korean translation from returntoice

Co-authored-by: returntoice <dieandbecome@gmail.com>

* Add castform forms korean translation by returntoice

Co-authored-by: returntoice <dieandbecome@gmail.com>

* Add remaining forms korean translation by returntoice

Co-authored-by: returntoice <dieandbecome@gmail.com>

* French typo corrections pokemon-form.ts

* Update Korean pokemon-form.ts

* Modify froakiBattleBond

like rockruff of OwnTempo case, it is froakie, not greninja.

* Modify zygardePc

Power construct is more important information
Switch its position to 50% or 10% to avoid overlapping with the sprite

* Modify mispelling

* Added german forms

* Changed Gigadynamax and Unendynamax so it fits at all

* Add partner pikachu and eevee form localization

* Add mimikyu forms localization

* Partner Pikachu, Partner Evoli und Mimikyu Formen hinzugefügt

* Update pokemon-form.ts

* Update partners

* Fix conflicts

* Fix useless ? by flx-sta

Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>

* Fix switch use by flx-sta

* Fix conflicts

* Please work !!!!!!!

* Update src/locales/fr/pokemon-form.ts

Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>

* Update src/locales/fr/pokemon-form.ts

Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>

* Add pt_br primal localization

Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>

* Add pt_br pikachu localization

Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>

* Add pt_br castform localization

Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>

* Add pt_br 3g localization

Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>

* Add zh_cn localization

Co-authored-by: Yonmaru40 <47717431+40chyan@users.noreply.github.com>

* Add pt_br other localization

Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>

* Add es castform localization

Co-authored-by: InnocentGameDev <asdargmng@gmail.com>

* Add es burmy localization

Co-authored-by: InnocentGameDev <asdargmng@gmail.com>

* Add es shellos localization

Co-authored-by: InnocentGameDev <asdargmng@gmail.com>

* Add es rotom localization

Co-authored-by: InnocentGameDev <asdargmng@gmail.com>

* Add es basculin localization

Co-authored-by: InnocentGameDev <asdargmng@gmail.com>

* Add es deerling localization

Co-authored-by: InnocentGameDev <asdargmng@gmail.com>

* Add es froakie localization

Co-authored-by: InnocentGameDev <asdargmng@gmail.com>

* Add es scatterbug localization

Co-authored-by: InnocentGameDev <asdargmng@gmail.com>

* Add es furfrou localization

Co-authored-by: InnocentGameDev <asdargmng@gmail.com>

* Add es xerneas localization

Co-authored-by: InnocentGameDev <asdargmng@gmail.com>

* Add es zygarde localization

Co-authored-by: InnocentGameDev <asdargmng@gmail.com>

* Add es pumpkaboo localization

Co-authored-by: InnocentGameDev <asdargmng@gmail.com>

* Add es flabebe localization

Co-authored-by: InnocentGameDev <asdargmng@gmail.com>

* Add es oricorio localization

Co-authored-by: InnocentGameDev <asdargmng@gmail.com>

* Add es minior localization

Co-authored-by: InnocentGameDev <asdargmng@gmail.com>

* Add es magearna localization

Co-authored-by: InnocentGameDev <asdargmng@gmail.com>

* Add es marshadow localization

Co-authored-by: InnocentGameDev <asdargmng@gmail.com>

* Add es sinistea ocalization

Co-authored-by: InnocentGameDev <asdargmng@gmail.com>

* Add es eiscue localization

Co-authored-by: InnocentGameDev <asdargmng@gmail.com>

* Add es indeedee localization

Co-authored-by: InnocentGameDev <asdargmng@gmail.com>

* Add es rockruff localization

Co-authored-by: InnocentGameDev <asdargmng@gmail.com>

* Add es mimikyu localization

Co-authored-by: InnocentGameDev <asdargmng@gmail.com>

* Add es zarude localization

Co-authored-by: InnocentGameDev <asdargmng@gmail.com>

* Add es squawkabilly localization

Co-authored-by: InnocentGameDev <asdargmng@gmail.com>

* Add es tatsugiri localization

Co-authored-by: InnocentGameDev <asdargmng@gmail.com>

* Add es gimmighoul localization

Co-authored-by: InnocentGameDev <asdargmng@gmail.com>

* Add es poltchageit localization

Co-authored-by: InnocentGameDev <asdargmng@gmail.com>

* Add es paldeaTauros localization

Co-authored-by: InnocentGameDev <asdargmng@gmail.com>

* Add es primal localization

Co-authored-by: InnocentGameDev <asdargmng@gmail.com>

* Add es pikachu localization

Co-authored-by: InnocentGameDev <asdargmng@gmail.com>

* Add es partner localization

Co-authored-by: InnocentGameDev <asdargmng@gmail.com>

* Fix typedocs error

* Fix typedocs error

* cn form prefix added

Co-authored-by: Yonmaru40 <47717431+40chyan@users.noreply.github.com>

* Fix german translate error

* Fix typo Zh_CN

Co-authored-by: mercurius-00 <80205689+mercurius-00@users.noreply.github.com>

* Update pokemon-form.ts [Localization(it)]

* Update src/locales/es/pokemon-form.ts

Co-authored-by: InnocentGameDev <asdargmng@gmail.com>

* Fix megas forms bug and add forgotten forms

* Fix wrong ko config

* Add fr localization for new forms

Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>

* Add de localization for new forms

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>

* Remove forgotten debug line

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>

* Optimize battle forms

* Update pokemon-form.ts (additional forms, italian localization)

* The same typo is in the zh_TW placeholder text too.

Co-authored-by: Madmadness65 <59298170+Madmadness65@users.noreply.github.com>

* Fix forgotten megaY

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>

* Add capitalizeString to utils

* Fix typedoc error

* Update src/data/pokemon-species.ts

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>

* Add ko localization for new forms

Co-authored-by: MrWaterT <87186129+MrWaterT@users.noreply.github.com>

---------

Co-authored-by: Lugiad <adrien.grivel@hotmail.fr>
Co-authored-by: returntoice <dieandbecome@gmail.com>
Co-authored-by: Mr.WaterT <water.t.works@gmail.com>
Co-authored-by: MrWaterT <87186129+MrWaterT@users.noreply.github.com>
Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
Co-authored-by: Benjamin Odom <bennybroseph@gmail.com>
Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>
Co-authored-by: Yonmaru40 <47717431+40chyan@users.noreply.github.com>
Co-authored-by: InnocentGameDev <asdargmng@gmail.com>
Co-authored-by: EnochG1 <enoch.jwsong@gmail.com>
Co-authored-by: mercurius-00 <80205689+mercurius-00@users.noreply.github.com>
Co-authored-by: Niccolò <123510358+NicusPulcis@users.noreply.github.com>
Co-authored-by: Madmadness65 <59298170+Madmadness65@users.noreply.github.com>

* [Move] Fully implement Jungle Healing/Lunar Blessing status heal (#2785)

* [Bug] Fix tags not resetting on switch (#3119)

Fixes #2982

* [Move] Water Shuriken guarantees 3 hits with battle bond (#2687)

* [Bug] Make on-summon abilities trigger after the switch check (#3118)

* Make on-summon abilities trigger after the switch check

* Add test

* [Ability] Cloud Nine now displays a message on activation

Maintains parity with Air Lock. Both of these probably need to be localized. Should fix issue 491 though

* [QoL] Summary Option for Caught Pokemon (#2921)

* Option to view Summary before adding new Pokemon to party

* Fixed issues described by HopsWas

* Adjusted makeRoomForConfirmUi to improve window spacing

* Fixed ESLint issue + addressed OrangeRed review

* Fixed Github pages issue

* Removed duplicate unshiftPhase

* Fixed phase order

* Don't start from beginning of catch function

* Option to view Summary before adding new Pokemon to party

* Fixed issues described by HopsWas

* Adjusted makeRoomForConfirmUi to improve window spacing

* Fixed Github pages issue

* Fixed phase order

* Quick fix

* This should fix the summaryOption feature without bugging confirm-ui-handler in other cases

* Revert "Merge remote-tracking branch 'origin/summaryOption1' into summaryOption1"

This reverts commit ea7d0ce59e, reversing
changes made to 4c565958da.

* Added a better conditional that reflects its source and purpose

---------

Co-authored-by: Frutescens <info@laptop>
Co-authored-by: AJ Fontaine <fontbane@gmail.com>

* [Bug] Fix HP rounding issues (#2968)

* [Bug] Fixes bug with frenzy moves keeping the confusion counter despite disruption (#3041)

* Adds frenzyMissFunc trigger on NO_EFFECT hit result

* Refactors FrenzyAttr to properly lapse tags each turn and remove tags on disrupt

* Makes comment on CONFUSED tag clearer

* Changes all integer usages to number in battler-tags

* Update getBattlerTag function to use number instead of integer

* [Tests] Updating Leftovers test (#3123)

* Bug Fix

* Update src/system/game-stats.ts

Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>

* Fixing a test

* Fixed import

* Revert "Bug Fix"

This reverts commit 834844978e.

---------

Co-authored-by: Frutescens <info@laptop>
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>

* [Localization] Correctly Localized German names of the BGM for Evil Teams (#3124)

* [Bug] Game Stats Sub-Legendary NaN bug for new game files (#3122)

* Bug Fix

* Update src/system/game-stats.ts

Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>

* Fixing a test

* Revert "Fixing a test"

This reverts commit 1bdbe2da5a.

* Test Re-Run

---------

Co-authored-by: Frutescens <info@laptop>
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>

* [Bug] Adjust how counter attacks target to account for uturn/voltswitch and double battles (#2462)

* Adjust how counter attacks target to account for uturn/voltswitch

* Creates move flag for metal burst/comeuppance to redirect in some cases

* Remove debug printing

* Bit shifts the redirect counter flag

* Removes extraneous class from prior testing

* Remove vitest timestamp file that was accidentally added

* [Misc] Change fresh start achievement icon to reviver seed

Mystic ticket icons in the achievements just confuse players

* [Balance] Fix N-Solarizer etc appearing without secondary mon registered in dex (#2713)

* Fix reins et al being available without unlocking second mon

* Small fix

* Parentheses for safety

* Add documentation to new function

* Bug Fix (#3129)

Co-authored-by: Frutescens <info@laptop>

* [Bug] Fixed OHKO moves being affected by accuracy and evasion battle stats (#3117)

* Fixed OHKO moves being affected by accuracy and evasion battle stats

* Added related tests for Fissure, unskipped related test for Hustle

* Tweaked fissure accuracy and evasion tests to use spyOn() for getAccuracyMultiplier() as per feedback

* Fixed accuracy test for Fissure

* [Fix][Sprite] Politoed Back Sprites (#3130)

* [Fix][Sprite] Politoed Back Sprites

Retrieved first version from history.
Rearranged frames to make jump a little less floaty.
Set same anim length for all variations.
Json is identical for all variations.
Spritesheet frame position is identical for all variations.
Trimmed the frame of extra space
Reduced file size of spritesheets and JSON due to less unique frames needed.

* [Fix][Sprite] Politoed Back Sprites  - Reformatted JSON to texturepacker standard

Reformatted json.

* [Bug] Hotfix for Starter select UI with Filter (#3121)

* fix remove pokemon menu

* fix dropdown all is not changing bug

* fix bug when go down with no starter on start button

* fix starter corsor bug on deletion. out of screen cursor bug

* fix challenge log

* fix lint error

* [Bug] fix and condition of shiny and passive (#3136)

* Fixed form names not working in starter select (#3139)

* [Bug] Prevent evolution causing a swap from the second ability to the HA (#3138)

* Prevent evolution causing a swap from the second ability to the HA

* Add tests

* Update `starter-select-ui-handler.ts`

* [Feature] [Item] Add White Herb item (#2719)

* More work

* More work

* Should be finished

* Fixed an error in checking target

* Moved white herb effect to StatChangePhase, 50% chance of consumption

* Added graphics for White Herb

* Balance and documentation

* Add localization entry for White Herb apply msg

* Add new keys to other localization files

* German translations

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>

* Update item sprite atlas

* Redo item atlas

* Remove whitespace in move.ts

* Moved decrement outside conditional

* Fix item atlas

---------

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>

* [Localization] Translated missing portuguese entries and some fixes (#3142)

* [Bug] Caught Pokemon Summary-Modifier Display Fix (#3145)

* Fixed modifiers not displaying on summary screen

* Addressed Typedoc issues

* Documentation added

---------

Co-authored-by: Frutescens <info@laptop>

* [BUG] Fixes bug that prevents pokemon with froms from hatching as rare/epic shiny variant and preventing illegal variants from legendary gacha (#2940)

* Changed PokemonSpecies hasVariants function to also include for pokemon with differend forms

* Added check to prevent illegal shiny variants from happening if the egg rolls the gacha legendary and has no variants

* Simplified variant check. Fixed spelling on unit test

* Bugfix for legacy eggs

* Removed formIndex variable

* Changed unit test

* Added new line to unit test function

Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>

---------

Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>

* [Unittest] remove held item rng (white herb) from intimidate.test.ts (#3151)

* Emergency delete unlock all functionality - should remove the unlock all functionality but keeps the isBeta utils function for future stuff (#3153)

* Update `getAbility()` and `getAbilityCount()` for the ability changes (#3157)

* Update src/data/arena-tag.ts

Co-authored-by: sirzento <sirzento@gmx.de>
Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
Co-authored-by: Felix Staud <felix.staud@headwire.com>
Co-authored-by: Adrian T <68144167+torranx@users.noreply.github.com>
Co-authored-by: lnuvy <lnuvy.code@gmail.com>
Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>
Co-authored-by: Tempoanon <163687446+Tempo-anon@users.noreply.github.com>
Co-authored-by: Xavion3 <xavion333@gmail.com>
Co-authored-by: AJ Fontaine <36677462+Fontbane@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: chaosgrimmon <31082757+chaosgrimmon@users.noreply.github.com>
Co-authored-by: Niccolò <123510358+NicusPulcis@users.noreply.github.com>
Co-authored-by: Dakurei <maxime.palanchini@gmail.com>
Co-authored-by: Enoch <enoch.jwsong@gmail.com>
Co-authored-by: Alexis <alexis.faizeau@animedigitalnetwork.fr>
Co-authored-by: 송지원 <jiwsong@gmarket.com>
Co-authored-by: Yonmaru40 <47717431+40chyan@users.noreply.github.com>
Co-authored-by: Mr.WaterT <water.t.works@gmail.com>
Co-authored-by: Alexis Faizeau <faizeau.alexis@gmail.com>
Co-authored-by: GoldTra <162721984+GoldTra@users.noreply.github.com>
Co-authored-by: returntoice <dieandbecome@gmail.com>
Co-authored-by: Arxxer <javiptn7@gmail.com>
Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>
Co-authored-by: InnocentGameDev <asdargmng@gmail.com>
Co-authored-by: innerthunder <168692175+innerthunder@users.noreply.github.com>
Co-authored-by: Dmitriy K <kagno.dmitriy@gmail.com>
Co-authored-by: sodam <66295123+sodaMelon@users.noreply.github.com>
Co-authored-by: RimKnight <rimknight852@gmail.com>
Co-authored-by: xsn34kzx <xsn34kzx@gmail.com>
Co-authored-by: Amani H <109637146+xsn34kzx@users.noreply.github.com>
Co-authored-by: mercurius-00 <80205689+mercurius-00@users.noreply.github.com>
Co-authored-by: hayuna <marek.kowalonek@gmail.com>
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
Co-authored-by: EmberCM <emberdevteam@gmail.com>
Co-authored-by: Opaque02 <66582645+Opaque02@users.noreply.github.com>
Co-authored-by: mcmontag <54485715+mcmontag@users.noreply.github.com>
Co-authored-by: schmidtc1 <62030095+schmidtc1@users.noreply.github.com>
Co-authored-by: Arxalc <63990624+Arxalc@users.noreply.github.com>
Co-authored-by: Mumble <kimjoanne@protonmail.com>
Co-authored-by: Frutescens <info@laptop>
Co-authored-by: EmberCM <kooly213@hotmail.com>
Co-authored-by: Zoruu <113668528+ArielStevens@users.noreply.github.com>
Co-authored-by: Corrade <49605314+Corrade@users.noreply.github.com>
Co-authored-by: Madmadness65 <blaze.the.fireman@gmail.com>
Co-authored-by: cam <lrlrliwoo@gmail.com>
Co-authored-by: 송영진 <36808515+bucket1582@users.noreply.github.com>
Co-authored-by: DustinLin <39450497+DustinLin@users.noreply.github.com>
Co-authored-by: 서명인 (Myungin, SEO) <65226760+smee6@users.noreply.github.com>
Co-authored-by: gjeodnd12165 <61226524+gjeodnd12165@users.noreply.github.com>
Co-authored-by: sirzento <sirzento@gmx.de>
Co-authored-by: Madmadness65 <59298170+Madmadness65@users.noreply.github.com>
Co-authored-by: Benjamin Odom <bennybroseph@gmail.com>
Co-authored-by: Daniel Gaston <danielgaston6@gmail.com>
Co-authored-by: Zach Day <zachdayz@gmail.com>
Co-authored-by: Leo Kim <47556641+KimJeongSun@users.noreply.github.com>
Co-authored-by: Kiriox <66013753+Kiriox94@users.noreply.github.com>
Co-authored-by: MrWaterT <87186129+MrWaterT@users.noreply.github.com>
Co-authored-by: AJ Fontaine <fontbane@gmail.com>
2024-07-28 00:47:00 +01:00
schmidtc1
0b5b481de6
[Test] Prevent flying types/levitate from breaking Ceaseless Edge test (#2931)
* Modifies ceaseless edge test to account for flying types/levitate ability

* Removes .js from imports
2024-07-08 22:49:52 -04:00
schmidtc1
7474eac808
[Bug] Removes firstHitOnly from AddArenaTagAttr to allow multi hit set up with Ceaseless Edge (#2727)
* Removes firstHitOnly from AddArenaTagAttr to allow multi hit set up with ceaseless edge

* Creates initial test file with basic cases for ceaseless edge

* Fixes ceaseless edge unit test and expands on case 3

* Adds truthy/falsy expectations prior to use
2024-07-08 16:53:16 -04:00
NightKev
458245f542
[Unittest] Prevent Arena Trap/etc from breaking Costar test (#2923) 2024-07-08 16:37:22 -04:00
Tempoanon
f9327680dd
[Feature] Stop random trainers from spawning near fixed battles (#2610)
* Stop trainer spawns on evil team and E4 floors

* Thanks Xavion

* change "floors" to "wave" in coment

* at test for not spawning 3 waves within fixed trainer battle

* remove out-commented code

* apply code formatting

* Updated test and make sure isWaveTrainer returns a boolean

* Update comment

---------

Co-authored-by: Felix Staud <felix.staud@headwire.com>
2024-07-08 10:33:47 -04:00
Enoch
965bc687b3
[Localization] Localize terrain message and translate in Korean (#2806)
* add terrain localization and test code, change folder name

* Update src/locales/fr/weather.ts

Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>

* Update src/locales/pt_BR/weather.ts

Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>

* Update src/locales/zh_CN/weather.ts

Co-authored-by: Yonmaru40 <47717431+40chyan@users.noreply.github.com>

* Update src/locales/de/weather.ts

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>

* Update src/locales/zh_TW/weather.ts

Co-authored-by: Yonmaru40 <47717431+40chyan@users.noreply.github.com>

* Use testUtil

* add missed en messages

---------

Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>
Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>
Co-authored-by: Yonmaru40 <47717431+40chyan@users.noreply.github.com>
Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
2024-07-08 10:16:55 -04:00
Tempoanon
694616e1e9
[Bug] Fix hard press bp and pp (#2441)
* Fix hard press bp and pp

* Hard Press should have a max bp of 100

* Fix typo for acc

* Add test
2024-07-07 01:44:47 +01:00
Tempoanon
0f510996f0
[Bug] Fix strong winds calculation (#2423)
* Fix strong winds calculation

* add unit test

* Add strong winds effect message

* Update src/locales/de/weather.ts

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>

* Update src/locales/es/weather.ts

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>

* Update src/locales/fr/weather.ts

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>

* Update src/locales/it/weather.ts

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>

* Update src/locales/ko/weather.ts

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>

---------

Co-authored-by: torranx <torranicles@gmail.com>
Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
2024-07-05 19:59:53 +01:00
EmberCM
10dd16fa1e
[QoL] Add red color to the quantity if the item is at it's held limit (#2221)
* Add red color to the quantity if the item is at it's held limit

* Add shadow back to option text

* Attempt to fix transfer item crash and add tests for transferring items

* remove .js file extensions from test file imports

* Fix import paths for transfer-item.test
2024-07-05 13:50:19 -04:00
flx-sta
c5886bc2a2
[Tests] add unit-tests for battle-stat.ts (#2752)
* add test coverage for battle-stat.getBattleStatName()

* add test coverage for battle-stat

* apply mockI18next() to status-effect.test.ts

* add testUtils jsdocs and optimize imports
2024-07-05 11:30:48 -04:00
innerthunder
126174efe4
[Bug] Fix Grip Claw sometimes stealing from the wrong enemy (#2766)
* Fix Grip Claw stealing from the wrong enemy

* Document held item transfer modifiers
2024-07-03 14:48:41 -04:00
Adrian T
dad065cbae
[Ability] Fully Implement Steely Spirit (#2749)
* implement steely spirit

* add unit test

* cleanup

* cleanup and add another test
2024-07-03 12:55:39 -04:00
innerthunder
4c4e2bc792
[Bug] Fix evasion multiplier in hit check (#2765)
* Fix evasion multiplier in hit check

* Make Sand Veil test more future-proof
2024-07-03 12:49:12 -04:00
flx-sta
cc36cdb1a8
[Tests] add unit tests for accounts (#2748)
* add unit tests for accounts

* only import from vitest (not node:test)

* resolve comments

* improve test coverage for accounts.updateUserInfo

* add test coverage for account.initLoggedInUser()

* code style improvements
2024-07-02 22:00:44 -04:00
Enoch
0bc4f26b9d
[Localization] localized status-effect.ts and translate. (#2528)
* make postposition not to dynamic for localize

* localize status-effect.ts

* added test code, modified english postposition, modifed toxic_orb test to make it always fix in English.

* Update src/locales/zh_CN/status-effect.ts

Co-authored-by: Yonmaru40 <47717431+40chyan@users.noreply.github.com>

* Update src/locales/fr/status-effect.ts

Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>

* Update src/locales/de/status-effect.ts

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>

* Update src/locales/de/status-effect.ts

* added test code for check message key

* remove multi-language tests (except english)

* Update src/locales/pt_BR/status-effect.ts

Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>

* remove language and change test code to check method call and parameter

* Update src/locales/es/status-effect.ts

Co-authored-by: GoldTra <162721984+GoldTra@users.noreply.github.com>

* Update src/locales/en/status-effect.ts

Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>

* Apply review suggestion

* Update src/locales/es/status-effect.ts

Co-authored-by: InnocentGameDev <asdargmng@gmail.com>

* Update src/locales/es/status-effect.ts

Co-authored-by: InnocentGameDev <asdargmng@gmail.com>

Update src/locales/es/status-effect.ts

Co-authored-by: InnocentGameDev <asdargmng@gmail.com>

Update src/locales/es/status-effect.ts

Co-authored-by: InnocentGameDev <asdargmng@gmail.com>

Update src/locales/es/status-effect.ts

Co-authored-by: InnocentGameDev <asdargmng@gmail.com>

Update src/locales/es/status-effect.ts

Co-authored-by: InnocentGameDev <asdargmng@gmail.com>

Update src/locales/es/status-effect.ts

Co-authored-by: InnocentGameDev <asdargmng@gmail.com>

Update src/locales/es/status-effect.ts

Co-authored-by: InnocentGameDev <asdargmng@gmail.com>

Update src/locales/es/status-effect.ts

Co-authored-by: InnocentGameDev <asdargmng@gmail.com>

Update src/locales/es/status-effect.ts

Co-authored-by: InnocentGameDev <asdargmng@gmail.com>

Update src/locales/es/status-effect.ts

Co-authored-by: InnocentGameDev <asdargmng@gmail.com>

Update src/locales/es/status-effect.ts

Co-authored-by: InnocentGameDev <asdargmng@gmail.com>

Update src/locales/es/status-effect.ts

Co-authored-by: InnocentGameDev <asdargmng@gmail.com>

Update src/locales/es/status-effect.ts

Co-authored-by: InnocentGameDev <asdargmng@gmail.com>

Update src/locales/es/status-effect.ts

Co-authored-by: InnocentGameDev <asdargmng@gmail.com>

Update src/locales/es/status-effect.ts

Co-authored-by: InnocentGameDev <asdargmng@gmail.com>

* Update src/locales/es/status-effect.ts

Co-authored-by: InnocentGameDev <asdargmng@gmail.com>

* add Test with empty string parameter

* Update src/locales/es/status-effect.ts

Co-authored-by: InnocentGameDev <asdargmng@gmail.com>

* Update src/locales/fr/status-effect.ts

Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>

---------

Co-authored-by: 송지원 <jiwsong@gmarket.com>
Co-authored-by: Yonmaru40 <47717431+40chyan@users.noreply.github.com>
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: GoldTra <162721984+GoldTra@users.noreply.github.com>
Co-authored-by: InnocentGameDev <asdargmng@gmail.com>
2024-07-02 10:22:46 -04:00
innerthunder
284c3c628b
[Unittest] Remove random berry effects from PBond tests (#2715) 2024-06-29 21:48:05 -04:00
innerthunder
a48429de09
[Bug] Fix Make It Rain applying stat change twice after KO'ing both opponents (#2696)
* Revert Make It Rain stat change behavior

* ESLint

* Add double KO unit test
2024-06-29 13:59:26 -04:00
NightKev
b82c85899e
[Unittest] Add tests for Tidy Up (#2667) 2024-06-29 13:56:38 -04:00
ReneGV
fd586ecd8e
[Bug] Fix purify (#2697) 2024-06-28 20:59:06 -04:00
NightKev
924ee17f70
[Unittest] Fix mocked value in Volt Absorb test (#2685) 2024-06-28 12:13:25 -04:00
NightKev
784035b6f5
[Unittest] Prevent berries from interfering with Dry Skin tests (#2679) 2024-06-28 00:55:09 -04:00
innerthunder
b2048148c9
[Bug] Fix Make It Rain not applying effect on KO (#2670) 2024-06-27 19:52:13 -04:00
innerthunder
e521862096
[Bug] Fix Make It Rain applying effects for each target (#2664)
* Fix Make It Rain applying effects for each target

* Revert MoneyAttr change

* Remove RNG from parental bond tests
2024-06-27 15:21:24 -04:00
NightKev
23a1c461a9
[unittest] Remove more RNG from Dry Skin tests (#2647) 2024-06-27 01:06:16 -04:00
NightKev
8933a9bb05
[Test] Prevent RNG from breaking Dry Skin tests (#2630) 2024-06-26 21:39:35 -04:00
innerthunder
55dd6b5100
[Bug] Fix Multi-Lens/PBond interaction for spread moves (#2633) 2024-06-26 21:05:03 -04:00
Dmitriy K
576f099243
[Test] Optimize Quick Draw tests (#2625)
* optimize the tests

* add level override in favor of directly changing stats
2024-06-26 17:01:14 -04:00
innerthunder
cd92d4d7d3
[Ability] Implement Parental Bond (#2384)
* Parental Bond basic implementation

* Parental Bond unit tests

* ESLint

* PBond AbAttr rework, documentation, and multi-target unit tests

* Update post-target move attribute logic

For Parental Bond interaction.

* AddSecondStrikeAbAttr now uses Constructor util

* Unit tests for PBond + Multi-Lens interaction

* Remove random damage spread in unit test

* Add null checks to PBond AbAttr

* Set player pokemon for unit test

* Fixed Post Target check to account for KO's

* Fix multi-strike moves applying effects at wrong times

* Test cases for updated effect timing

* Add Wake-Up Slap test case

* Fix Fury Cutter/Echoed Voice multi-hit interaction

* Fix Pay Day, Relic Song, and Fury Cutter (again)

* Add early stopping to multi-hit moves

* RecoilAttr now uses lastHitOnly

* Add faint check to last hit logic
2024-06-26 16:03:14 -04:00
Amani H
f7f8988cdb
[Item] Add Light Ball, Thick Club, Metal Powder, and Quick Powder (#1899)
* Add Light Ball, Thick Club, and Metal/Quick Powder

* Fix Typo, Account for Fusions

* Fix Errors with Fusions

* Group Items into Generator

* Refactor Generator and Type, Fix Localization (en)

* Adjust Generator, Add Override Type

* Fix Enum Import

* Localize for de, es, fr, it, ko, zh_CN, zh_TW

* Add Unit Tests

* Add Type

* Fix Items Atlas

* Change Cubone Passive Ability, Adjust Weight
2024-06-26 13:48:10 -05:00
Adrian T
fd08983181
[Ability] fix damage taken by disguise (#2601) 2024-06-25 15:32:45 -04:00
Teju Rajbabu
c8db3bff4c
[QOL] UI Improvement - Shiny Icon (#2372)
* Test changes to change variant label color based on Tint

* Revert "Test changes to change variant label"

This reverts commit 0ad0f62930.

* minimal recovery changes

* Finalized recovery and implemented ShinyIcon

* add setY in MockSprite

* added back some unintentional removed code

* added shiny_icons

* Initial test for tier change

* implemented Shiny Icon full functionality

* slight setY change for non-Base starters
2024-06-25 13:48:48 -04:00
Corrade
e70113073f
[Bug] Fix Dry Skin and ReceivedMoveDamageMultiplierAbAttr abilities (#2592)
* Dry skin and ReceivedMoveDamageMultiplierAbAttr bug fix: first cut

* Dry skin and ReceivedMoveDamageMultiplierAbAttr bug fix: removed redundant branch

* Dry skin and ReceivedMoveDamageMultiplierAbAttr bug fix: reworded test cases that had typos anyway

* Dry skin and ReceivedMoveDamageMultiplierAbAttr bug fix: renamed PreDefendMovePowerToOneAbAttr (Disguise) to mention damage rather than power

* Dry skin and ReceivedMoveDamageMultiplierAbAttr bug fix: renamed powerMultiplier to damageMultiplier in ReceivedMoveDamageMultiplierAbAttr
2024-06-25 13:23:48 -04:00
Puchimono
8e6cbad3fc
[Bug] Legendary pull rate fix from Leg. up machine (#2587) 2024-06-25 10:14:28 -04:00
Amani H
136652caa9
[Item] Implement Eviolite Behavior (#2161)
* Add Eviolite with Unit Tests

* Localize for de, es, fr, it, ko, zh_CN, zh_TW

* Adjust German Localization

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>

* Adjust Italian Localization

* Change Multiplier Type

* Adjust Unit Test Import

* Change Constructor

* Make Unit Tests Localized

* Comment Out of Reward Pool

---------

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
2024-06-24 21:00:59 -05:00
damocleas
ec91d2453a
[Balance] Protean / Libero changed to Gen 6-8 Implementation (#2473)
* Protean / Libero changed to Gen 6-8 Implementation

* take 2

* please just work

* Update protean.test.ts

* Update libero.test.ts
2024-06-24 20:58:50 -05:00
cadi
8c8ddd26b5
[Ability] Implement Quick Draw (#2287)
* implement quick draw

* add line

* change ability success condition

* quick draw comes before quick claw effect

* now ability has chance variable to test conditional situation

* add unit test

* Merge branch 'main' into ability-quick-draw

* modifed: ability.getTriggerMessage

* modified: to use pokemon.battleData.abilityRevealed

* modified: changed private variable to public

* erase expect interceptor log

* add localizations

* modified: add comma in locales

* modified: ability docs & trigger logic

* modified: changed test logic
2024-06-24 11:22:15 -04:00
Adrian T
e9fb13cce9
[Move] Implement Flower Shield (#2543)
* implement flower shield

* add unit tests

* refactors, add test

* use HideSpriteTag instead

* update comment

* replace HideSpriteTag with SemiInvulnerableTag
2024-06-24 10:37:24 -04:00
innerthunder
905ecd6576
[Bug] Remove grounding moves' arbitrary turn limits (#2526)
* Remove grounding moves' arbitrary turn limits

* Added documentation for GroundedTag

* Rename GROUNDED tag + add tag check to isGrounded

* Fix remaining GROUNDED reference

* Clean up calls to getTag
2024-06-23 12:48:49 -04:00
sirzento
0bd25e925e
[BUG] Legendary egg pity & manaphy counter fix + Egg unit tests (#2534)
* Fixed bug that legendary egg pity only increased by one if egg pulled out of legendary gacha

* Removed debug logs

* Added new unit tests. Fixed bug that sometimes common eggs do count as manaphy eggs.
2024-06-23 12:40:37 -04:00
Adrian T
7f15efcd34
[Refactor] unit tests cleanup (#2533) 2024-06-23 12:38:40 -04:00
Matthew
d2f4c5b59c
[UI] UI Small Adjustments (#2525)
* UI Small Adjustments

* Fix Unit Tests

* Null check event display before clear

* better empty move placeholder debug name
2024-06-23 12:09:23 -04:00
hibiya (김종이)
cb5016d10f
[Localization] include pokemon names, stats into battle:stat* keys (#2373)
* [Localization] include pokemon names, stats into battle:stat* keys

* [Localization(fr)] Update stat change messages

Co-Authored-By: Lugiad <adrien.grivel@hotmail.fr>

* [Localization(es)] Update stat change messages

Co-Authored-By: GoldTra <162721984+GoldTra@users.noreply.github.com>

---------

Co-authored-by: Lugiad <adrien.grivel@hotmail.fr>
Co-authored-by: GoldTra <162721984+GoldTra@users.noreply.github.com>
2024-06-22 21:55:09 -04:00
Jacob Hatchett
77d25d18f9
[Ability] Implemented Aura Break (#2252)
* re-adjust according to new changes

* added unit tests

* add test fixes

* add documentation

* more fixes
2024-06-22 11:37:46 -04:00
Dmitriy K
3bbe01b288
[Ability] Implement Costar Ability (#1218)
* Add unthaw to moves that are missing it

Add unthaw to all damaging fire moves

Add Status Effect overrides for easier testing

clean up comments and readd status cure before fainting

* implement Costar ability, refactor TraceAbAttr to be more generic

* format code, clean up comments

* Revert "Add unthaw to moves that are missing it"

This reverts commit 89494fa0c8.

* clean up comments, remove unused call

* ability now copies negatives changes as well

* separate PostSummonCopy into two different classes

* small refactor of copy ability attrs

* add costar to test suite

* remove abstract declaration from comments

* remove broken import statement

* actually fix broken imports
2024-06-22 11:35:25 -04:00
Adrian T
464ffe7332
[Enhancement][Unit Test] Refactor + Unit Tests for Light Screen, Reflect and Aurora Veil (#2514)
* refactor copy pastas

* add tests

* specify arena tag types
2024-06-22 10:09:23 -04:00
sirzento
9d090f37f9
[Feature] [Same species Egg] Egg class rewrite to enable fully parameterized eggs to generate same species eggs + Egg overrides (#1833)
* Create variant-tiers enum

* Added variant tier override property to the egg class

* Added hasVariants function to pokemon species

* Implement variant override logic to egg hatching phase

* Delete src/enums/variant-tiers

* Create variant-tiers enum

* Added egg shiny and variant overrides

* fixed egg comment in overrides.ts

* Added override logic to egg hatch phase

* Added species pool filter logic when global override is set

* Added global egg tier override logic

* Added global egg tier override

* Added global gacha pull count override logic

* Added global gacha pull count override

* Renamed egg hatch override

* Renamed egg hatch override

* Added gacha pull without voucher global override

* Renamed free gacha pull global override

* Added free gacha pull override logic

* Gacha pull count override name fix

* Bugfix

* restored defaults + savegame bugfix

* eggOptions added to parameterize eggs. Added option to buy eggs of the same species.

* Small Bugfix for same species egg generation

* Removed translation from translator

* Improved the isManaphyEgg() check

* Fixed manaphy egg hatch wave count

* Added comments to IEggOptions

* Added eggOptions for hidden ability and rare egg move override

* Merge Fix: Update egg-hatch-phase.ts

* Fixed manaphy rates back to 1/256 like in PR #2182

* Renamed override, same species egg unlocks after passive is bought. Added code as comment for custom shiny, HA and rare egg move rates.

* Merge fix. Moved enums.

* quick fix for the commented out code

* Fixed that you can't buy an egg over the 99 egg limit

* Fix that you can't buy eternatus

* Use already existing randSeedShuffle instead of my own function

* Eternatus buyable again. Changed overrides to be able to set common tier/variants. Moved getGuaranteedEggTierFromPullCount().

* Changed eggOption gachaType to sourceType. Replaced eggOption overrideRareEggMove with eggMoveIndex to exatly specify an egg move. Moved egg move unlock logic into the egg class. Simplified shiny calculation. Added same species egg type descriptor. Moved custom rates for same species egg code into egg.ts.

* Added 19 unit tests for eggs

* Changed unit test description

* Added higher rates for same species eggs

* Adjusted same species egg cost for 1-3 cost starters and HA rates

* Added legacy egg loading unit test. Fixed gachaType legacy value loaded from DB and legacy tier loading

* Legacy egg loading from server DB fixed
2024-06-21 20:19:56 -04:00
innerthunder
86cc1018e3
[Bug] Fix Thousand Arrows not hitting Pokemon with Levitate (#2493) 2024-06-21 14:04:11 -04:00
Adrian T
d3e516b496
[Bug][Unit Test] fix and optimize sturdy unit tests (#2455)
* fix and optimize sturdy unit tests

* re-add timeout
2024-06-21 10:59:10 -04:00
innerthunder
7cad385a38
[Bug] Fix Thousand Arrows grounding opponents before use (#2485)
* Fix Thousand Arrows grounding opponents before use

* Use existing AddBattlerTag instead
2024-06-21 10:39:00 -04:00
Mark
eff1c8c333
[Unittest] Fix Ice Face Test where speed tie was sometimes breaking multi-hit test (#2487) 2024-06-21 10:37:09 -04:00
innerthunder
22e26621b3
[Unittest] Remove HP assignment in unit tests (#2466) 2024-06-20 15:02:17 -04:00
Zach Day
f9d74aa836
[Fix] Fix randomness in Gastro Acid unit test (#2443)
* Make ability suppression fail if ability is already suppressed

* Document SuppressAbilitiesAttr

* Add gastro acid unit tests

* Fix rng broken unit test

* Fix it for both tests
2024-06-20 14:02:05 -04:00
Adrian T
a6dba35291
[Unit Test] add tailwind unit tests (#2436)
* add tailwind unit tests

* add addtl test
2024-06-20 11:27:16 +02:00
Adrian T
9181f434b7
add wind power unit tests (#2431) 2024-06-20 11:26:50 +02:00
Adrian T
0c42da8f10
[Enhancement] add wind rider unit tests (#2428)
* add wind rider unit tests

* specify wind rider ability on shiftry
2024-06-20 11:12:55 +02:00
innerthunder
c803cb5cb0
[Enhancement] Optimize Unit tests (#2444)
* Optimize Unit tests

- Battery
- Unseen Fist
- Rage Powder
- Follow Me
- Spotlight
- Power Spot

* Fix Screen Cleaner unit test bug
2024-06-20 11:11:29 +02:00
Zach Day
07b9f5476a
[Fix] Ability suppression effects not failing correctly (#2440)
* Make ability suppression fail if ability is already suppressed

* Document SuppressAbilitiesAttr

* Add gastro acid unit tests
2024-06-20 00:43:45 -04:00
Adrian T
29b8b3aa1f
[Bug] Fixes dragon tail vs ice face eiscue interaction (#2397)
* add optional chaining

* specify first hit
2024-06-19 09:51:50 -04:00
Adrian T
9463da8797
[Bug] Fix ice face blocking all hits from multihit moves (#2391)
* fix ice face bug

* add multihit test
2024-06-18 22:56:44 -04:00
ReneGV
026c048359
[ablity] Add tests to sturdy (#2362) 2024-06-17 23:39:59 -04:00
NxKarim
c52e0ac5b6
[Ability] Serene Grace, Shield Dust, Sheer Force (P) (#246)
Co-authored-by: okimin <danielgaston6@gmail.com>
2024-06-17 20:30:42 -04:00
innerthunder
3b3b9e39af
[Move] Implement Follow Me, Rage Powder, and Spotlight (#1834)
* Implement "Center of Attention" battler tag + moves

* Powder immunity logic for Rage Powder

* Center of Attention unit tests
2024-06-17 18:05:21 -04:00
Adrian T
fd1baef244
[Ability] Implement Power Spot & Battery (#2268)
* add battery

* add power spot

* refactor

* remove FieldVariableMovePowerAbAttr

* remove showing ability bar

* document + cleanup

* add unit tests

* update test name

* update variable names

* update multiplier
2024-06-17 16:12:11 -04:00
Adrian T
57b5c33c4b
[Ability] Implement Screen Cleaner (#2346)
* implement screen cleaner

* add documentation

* add unit tests

* rename arena to arenaTag
2024-06-17 15:37:11 -04:00
Frisk17
89eba349c9
[Move] Implemented Magnet Rise (#2081)
* Partially implemented Magnet Rise

* Implemented Magnet Rise

* Changed pokemon.ts so all TypeImmune tags work instead of just
MagnetRisen

* Magnet Risen is now removed when Gravity is used.

* Magnet Rise is ignored by Thousand Arrows
and Smack Down.

* Fixed a bug where status ground type moves
would also be ignored by Magnet Rise

* Added a message when Magnet Rise is removed

* Inserted TypeImmuneTag check in
getAttackMoveEffectiveness() for the AI

* Created a magnetRiseCondition separately

* Created a test for Magnet Rise

* Bug Fix in Magnet Rise test

* Created Magnet Rise test with Gravity

* Shifted the code from getAttackMoveEffectiveness
and apply into getAttackTypeEffectiveness instead

* Replaced onNextPrompt with doAttack

* Removed redundant runFrom(Phase)

* Replaced magnetRiseCondition with
battlerTags.every anonymous function

* Fixed import errors

* Added an undefined check for summonData
for TypeImmuneTag in getAttackTypeEffectiveness

* Replaced undefined-check with optional chaining
2024-06-17 17:35:06 +02:00
layharu0
942cbb2181
[Localization][ko] StatRose, StatFell Message Fix (#2285) 2024-06-16 22:01:08 -04:00
Devin Korb
e10d67858f
remove the duplicate document.fonts code (#2282) 2024-06-16 00:37:02 -04:00
Devin Korb
728ee3809a
Add dependency cruiser command (#2192)
* add dependency cruiser and fix all default errors

* create svg render of dependencies in command

* move configs to ts files, await font loading

* fix i18n

* fix dependencies...

* fix typedoc generation and tsconfig exclusions

* revert github-pages fix for another pr

* no-circular -> no-circular-at-runtime for type imports (future)
2024-06-16 00:26:37 -04:00
Lee ByungHoon
9b8f6f312b
[Localization] Modification some code about battle stat for localization (#1985)
* [Localization] Modification some code about battle stat for localization.

* Corrections to failed generating typedoc docs.

* [Localization] Modification some code about battle stat for localization.

* Corrections to failed generating typedoc docs.

* Corrections to change localized key for battle stat and level change description.

* Deleted battle-stat.ts file in Deutsch locales.

* Fixed build failure

* Move unit test file into localisation folder from battle folder.

* Fixed localization key

* Fixed build failure

* Fix merge conflict

* Fix merge conflict again

---------

Co-authored-by: Tempoanon <163687446+Tempo-anon@users.noreply.github.com>
Co-authored-by: Temps Ray <temps.ray@gmail.com>
2024-06-15 22:25:18 -04:00
innerthunder
01435ed0e0
[Ability] Implement Unseen Fist (#1776)
* Implement Unseen Fist

* Add unit tests for Unseen Fist

* Fix unit test imports
2024-06-15 22:14:49 -04:00
Adrian T
0b019d9823
[Ability] Implement Wonder Skin (#2231)
* implement wonder skin

* add unit tests

* fixes

* move applyPreDefendAbAttrs
2024-06-15 17:06:32 +01:00
Adrian T
2f933d2865
[Enhancement] Unit tests for Ice Face (#2215)
* add ice face test

* complete unit tests

* fix imports
2024-06-15 00:38:30 +02:00
Matthew Olker
02d5654be4 Pride Update 2024-06-14 12:42:37 -04:00
Matthew
dc30dd33b2
[QoL] Reorganize Enum Locations (#2185)
* moving enums

* import updates

* fix tsconfig paths importing (#2184)

* reverse index.ts addition

---------

Co-authored-by: Devin Korb <meepdarknessmeep@gmail.com>
2024-06-13 18:44:23 -04:00
Zach Day
f8c8605710
[Move] Fix multi-hit moves activating type-immunity abilities multiple times (#2165)
* Force multi-hit moves to hit once if they are against an immune type

* Add test for multi-hit attacks against immune types

* Document MultiHitAttr

* Tiny change

* Wording fix

* Use shortcut methods in unit tests

* Fix leftover modifications from METRONOME testing

* Reorganize SAP SIPPER tests

* Fix extra imports
2024-06-13 14:23:13 -04:00
Matthew Olker
e6c24dceab Revert "[QoL] Reorganize Enum Locations (#2142)"
This reverts commit cf06ff3b8d.
2024-06-13 11:30:47 -04:00
Matthew
cf06ff3b8d
[QoL] Reorganize Enum Locations (#2142)
* moving enums
2024-06-13 11:11:12 -04:00
Dmitriy K
819fe9b4a1
[Ability] Implement Protean and Libero abilities (#1309)
* Add generic to util holders to reduce manual type casting

* implement protean and libero abilities

* remove use only once per turn trigger

* Revert Attack Attribute Conditions back to requiring unused vars

* Remove conditional before invoking type change ability

* update protean to properly trigger and skip certain moves

* remove some dangerous typecasts

* revert autoformatting changes

* not all autoformatting changes were reverted

* Revert "Add generic to util holders to reduce manual type casting"

This reverts commit 3ee7f1d5ff.

* change some variable names

* remove incorrect comment

* update abilities so they use gen 9 logic

* fix typescript error from missing Terrain type

* update gameManager switchPokemon to match other menu utilities

* add test cases for protean and libero
2024-06-13 10:54:23 -04:00
Zach Day
a85a2a9b8b
[Bug] Fix type-immunity abilities activating on self-targeted status moves (#2168)
* Fix type immunity given by abilities only applying to attacking moves

* Add tests for type immunity granted by abilities

* Use Sap Sipper as base for testing

* Fix type-immunity abilities activating on self-targeted status moves

* Add tests for self-targeted moves on mons with type-immunity abilitiies

* Volt absorb tests
2024-06-13 09:49:40 -04:00
Greenlamp2
c908153761
[Bug] Fix PostSummonPhase Logic to Support Single Pokémon Teams (#2153)
* added test for spikes + forceOpponentToSwitch

* fix conditional for intimidate in a double if there is only 1 pokemon available on our side

* fix variable naming and ternary condition

* added a fallback to clear the conditionalQueue if it's a new turn

* speed up tests by skipping LoginPhase
2024-06-13 08:42:25 -04:00
Dmitriy K
0970c2cd4e
[Refactor] Replace forceBypass with bypassFaint flag (#1839)
* replace forceBypass with bypassFaint flag

* add another path alias for src/test

* make form override work for the whole party instead of the first pokemon

* add tests for all abilities that are touched by this change

* remove unnecessary overrides from tests

* move SpeciesFormChangeTimeOfDayTrigger outside arena reset logic

* remove alll resetMock calls, rename it to test
2024-06-13 11:36:12 +02:00
Dmitriy K
777a8ad9ea
update gameManager switchPokemon to match other menu utilities (#2147) 2024-06-12 20:49:07 +02:00
Zach Day
31406b35fd
[Move] Fix type immunities granted by abilities only applying to attacks (#2145)
* Fix type immunity given by abilities only applying to attacking moves

* Add tests for type immunity granted by abilities

* Use Sap Sipper as base for testing
2024-06-12 14:46:45 -04:00
Greenlamp2
f57798fd1d
[Bug Fix] Correct PostSummonPhase Timing for Abilities and Entry Hazards (#2108)
* added test for spikes + forceOpponentToSwitch

* added conditionalQueue && pushConditionalPhase to fix entry hasard and abilities at post summon

* reduce timeout time to default
2024-06-12 00:55:16 +02:00
Greenlamp2
a2d0a9ece3
[CI] Add GitHub Action to Run Silent Tests on PRs to Main (#2100)
* github action to run tests in PR

* fix the CI name

* fix comment

* fix divergent tests + cut some useless long test + fix versions
2024-06-11 19:13:02 +02:00
Greenlamp2
1263ff3af2
fix opponent triggering abilities each turn (#2094) 2024-06-11 17:13:40 +02:00
Greenlamp2
0faccad49e
[Bug Fix] Corrected PostSummonPhase Trigger Timing for Accurate Stat Changes (#2057)
* fix postSummonPhase when opponent does not summon and fix the statsChange from push to unshift

* added switch pokemon helper method

* added on switch tests for intimidate

* fix test by overriding passive in tests

* remove a test not needed

* cleanup imports
2024-06-11 16:12:46 +02:00
Dmitriy K
ee4d130ebb
[Test(refactor)]: Refactor tests game manager (#2062)
* refactor tests game manager

* add setPosition to Mock Text class
2024-06-10 23:35:24 +02:00
Greenlamp2
e29c08ba1f
[Test] Add Tests for Zen Mode Ability (#1978)
* added tests for zen mode - change form in battle

* added tests to run some battle against trainer/rival & boss

* added a test with a method to kill a pokemon

* added an override in the clock mocked to reduce the time of fainting pokemon and thus reducing test time from 5s to less than 1s

* added some more tests + doAttack, doKillOpponents, toNextWave, toNextTurn helper

* added some more tests + doAttack, doKillOpponents, toNextWave, toNextTurn helper + fix some tests
2024-06-10 10:10:23 -04:00
Greenlamp2
d03c75c2f9
[QoL] Improve Input Accuracy by Refactoring Button Handling (#1936)
* refactored inputs-controller for better hold button management

* refactored the touch controls file to use a class and add holding button system

* added a method to deactivate pressed key for touch on focus lost

* better lost focus management
2024-06-09 19:15:37 -04:00
Greenlamp2
dd40c8caa2
added silent option to run tests and added a missing properties in the MockText (#1967) 2024-06-08 21:24:57 +01:00
Greenlamp2
c301a54039
[Improvement] Refactored Test Phase Management with Error Handling (#1962)
* better phase management in tests

* cleanup runFrom/to

* first step of async error handling

* second step of async error handling, halt await, still an issue with select-starter test

* added back whenAboutToRun

* added back full run suite for starter-select.test.ts
2024-06-08 20:54:20 +01:00
Xavion3
696ff6eae3
Add Challenges (#1459)
* Initial challenge framework

* Add type localisation

* Change how challenges are tracked

Also fixes the difficulty total text

* MVP

Renames challenge types, temporarily hides difficulty, and implements challenge saving.

* Attempt to fix one legal pokemon in a double battle

* Make monotype ignore type changing effects

* Make isOfType correctly detect normal types

* Try to fix double battles again

* Make challenge function more like classic

* Add helper function for fainted or not allowed

* Add framework for fresh start challenge and improve comments

* Try to fix evolution issues

* Make form changing items only usable from rewards screen

* Update localisation

* Additional localisation change

* Add achievements for completing challenges

* Fix initialisation bug with challenge achievements

* Add support for gamemode specific fixed battles

Also make monogen challenges face the e4 of their generation

* Add better support for mobile in challenges

* Localise illegal evolution/form change message

* Update achievement names

* Make alternate forms count for monogen

* Update monotype achievement icons

* Add more comments

* Improve comments

* Fix mid battle form changes

* Reorder mode list

* Remove currently unused localisation entry

* Add type overrides for monotype challenges

Meloetta always counts for psychic and castform always counts for normal

* Change how form changes are handled

Now attempts a switch at the start of each turn instead of immediately

* Add start button to challenge select screen

* Make starter select back out to challenge screen if using challenges

* Fix daily runs

* Update tests to new game mode logic
2024-06-08 01:07:23 -04:00
Matthew
9c97e37c27
initVouchers correctly (#1940) 2024-06-07 23:50:07 -04:00
Greenlamp2
1a149bfa04
[Testing] Flexible Testing Wrapper for Phaser-Based Battle-Scenes (#1908)
* refactor executed code while importing and initializing all of these in loading-scene

* reset to main

* fix server url

* added rule no-trailing-spaces

* made progress

* test somme data from a session save is working

* trying to launch a battle

* added fetch wrapper to load data locally

* trying to mockAllSettled

* pushPhase & shiftPhase

* check integrity of exported session

* set toke + loggedInUser in tests

* progress on starting new battle

* tring to test phase but it's async

* mocking fetch

* working mock fetch

* need to handle pile of data

* attempt to use real phaser classes

* reorder overrides

* refactored to use some real classes from phaser

* removed useless things

* started to work on some container mock

* finished the mockContainer time to add some logic

* some more mock containers

* removed addMethods since there is the mock classes now

* commented issues

* attempt to create mockTextureManager

* fix tests

* mockSprite & mockText

* yes but not really

* yes but not really

* fix tutorial callback

* reached mode title

* added achievement tests

* fix test achievements with current state of mock

* correct sequence loading for BattleScene with mockLoader !

* deep dive into next step

* working wait until starter selection screen

* added newGame method into wrapper

* expect to save_slot

* trying to manage pokemon sprite for getAll without success yet

* added test for egg output

* fixed egg test for June

* fix tests + locate next issue to fix

* we are in battle baby

* added new game in one-line

* export is working but export only what's in the fetch

* fix start game as guest

* refactored how we start a battle + cleanup

* overrided mewtwo but issue with currentBattle

* refactor: rename InitAchievements to initAchievements

* added missing mock method

* override level and pokemon forms working as intended

* bringToTop Obj

* remove launch battle in achivement test

* fix getIndex when same pokemon

* can run all tests

* first attack, faint, and shop modifiers, MockClock

* on method for container

* added doAttack one-liner

* one-line export data

* removed throw error

* feat: Make `scenes` property of `GameWrapper` class public

The `scenes` property of the `GameWrapper` class was changed from private to public. This change allows external access to the `scenes` map, which is used to store Phaser scenes. This modification was made to enable easier manipulation and interaction with the scenes in the game.

* correction

* removed CanvasRenderer

* added a param to remove console.log and added a param to preven scene create call

* fix encounter wave 30 when it's a trainer

* test double-battle

* test fight without KO

* test double fight no ko

* fix crashing texture + added Text wrapper to log fight

* fix tests on boss - trainer - rival

* chore: Refactor BattleScene initialization and add new phases

Refactor the BattleScene initialization code to remove unnecessary delay and improve performance. Also, add new phases for the title and unavailable states to enhance the game experience.

* rework of Game tests

* skipFn is working

* added onNextPrompt and restore Og Start

* better newGame

* added skipFN in remove

* not yet working test but updated interceptors

* do attack work but not on PostSummonPhase phase when there is mention of silcoon and wurmple

* error located, it's just a double fight, i was not there yet

* single OHKO & double no OHKO

* added expirationFn into next prompt

* all tests are passing

* working test on non damaging move from opponent

* cleaned a bit

* removed phaser initialisation on every tests

* renamed test file

* added load system data

* added some ability support

* added onKill & onSummon abilities test

* removed useless test + cleanup

* removed useless test + cleanup

* fixed tests after merge main

* added itemHeld endTurn trigger test (toxic orb)

* added runFrom..To

* added mustRun to assert currentPhase

* added no-miss move to test things

* cleaner restore mock

* fix test

* fix moxie test + game speed

* improve test speed

* added onOurself and onOpponent mvoe test

* added onDamage test for tackle

* removed timeout in intervals to run tests faster

* cleanup

* added never crit override + separate file per test + remove randomness in randBattleSeedInt

* move folders

* better org

* renamed itemHeld folder to items

* fix deploy.yml

* cleanup

* simplified the gameManager start battle and allow single pokemon in party

* remove the need of mode development

* added input handler to test inputs + remove time from phaser into inputController

* added keyboard support

* added fakeMobile support

* added details

* removed a console.log + added logUp

* move test to folder

* fixed canvas issue

* added starter select tests

* added some more test on starter-select

* added battle-order tests

* added battle-order tests

* fixing Phaser RNG

* ordering stats for better reading

* fix tests for main

* adapt battle-order test to be more readable

* fix merge

* fix some errors and silent all errors from gameWrapper since it's not possible to avoid them

* fix mocks to manage childs & stuffs

* added some docs

* fix achievement test

* removed an unused file

* separate misc tests to clean battle.test file

* added a basic french lokalization test

* added i18n where it needs to be used only

* revers extracted method

* removed unused method

* removed handler fetch since we do not test anything server related

* fix test with handlers removed

* added intrepid sword test

* fix enum exp party

---------

Co-authored-by: Frederico Santos <frederico.f.santos@tecnico.ulisboa.pt>
2024-06-07 18:33:45 -04:00
Matthew
69da96d543
Settings Refactor (#1771) 2024-06-03 19:57:47 -04:00
José Ricardo Fleury Oliveira
c7de17a46e
Achievements localization, organized some locales files and ptBR translations (#1150)
* organizing, translations and achv localization

* localized for all languages

* minor fix

* minor fix 2

* minor fix 3

* Fixed Achivment Localization, Added german localization and fixes some issues with german localization at other parts

* fix pickup description

* Update French achv.ts

* French typo correction achv.ts

* eslint fixes

* added zhTW

* minor fix

* Achivment Bar is localized and gets bigger when using german

* Changed some things to make it not as Big

* The Achivment Bar now grows with the context

* Updated Achivment Names in german

* Update French achv.ts

* Vouchers now will show the correct descrption again

* minor fix

* minor fixes

* "sub" to "semi"

* minor fix

* fixes warning and organizes some files

* forgot about english

* korean translations

* test fix

---------

Co-authored-by: Jannik Tappert <tappertjannik@googlemail.com>
Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
Co-authored-by: Lugiad <adrien.grivel@hotmail.fr>
2024-06-02 00:53:13 +01:00
Greenlamp2
060b1b2ccc
Menu - Controls Rebind - Gamepad & Keyboard (Cleaner git log) (#1666)
* squased merge rebind_menu

* azerty to qwerty

* add a check to preven a crash in firefox

* reset navigation menu on quit

* removed dual lock mekanism

* navigation display update icons on new bind

* added submit binding

* removed attribute no longer used

* change protected to abstract

* remove last bind protection since action and cancel are protected + renamed default controller to controller

* removed default alt qwerty keys in config

* fix some errors for doc

* fix tests

* fix some more errors for docs

* fix some more errors for docs final ?

* added alt bind for menu navigation + update icons on delete/home
2024-06-01 13:56:32 +01:00
flx-sta
48f2ecf39a
tests: add mock for FontFace and it to vitest setup (#1591) 2024-05-30 04:44:36 +01:00
Greenlamp2
b170478119
fix conflict without rebase (#1186) 2024-05-25 21:36:09 -04:00
Greenlamp2
c1a7df913a
refactor executed code while importing and initializing all of these in loading-scene (#1125) 2024-05-24 13:46:30 -04:00
Greenlamp2
622885767d
Enforce Consistent Spacing with ESLint's space-before-blocks and keyword-spacing Rules (#1308)
* added rule no-trailing-spaces

* added rule space-before-block

* added rule keyword spacing
2024-05-23 19:19:20 -05:00
Greenlamp2
bac6c22973
ESLint - The Essential Linter and Formatter for JavaScript and TypeScript (#1224)
* eslint config + packages

* updated eslint config

* fix the issue eslint adding ;;;; at interfaces

* first round with eslint --fix .

* removed config for unused export

* Revert "first round with eslint --fix ."

This reverts commit 77a88e0895.

* removed config for camelCase

* for real this time, first round of eslint --fix .

* halfway to manual eslint fix

* eslint done

* added "how to setup" the hook to eslint --fix each new file before commit (if wanted)

* removed eslintrc config file duplicat

* fix human error + ignore build folder + merge overrides

* added curly brace style + eslint

* applied double quote linter rule

* added lefthook

* test precommit

* test precommit

* test precommit

* test precommit

* test precommit

* test precommit

* test precommit

* github action to run eslint

* added node_modules to ignore eslint

* different action for typescript

* no need for different glob (default src)

* node 20

* node 20

* removed no longer needed install file

* remove hooks part from README

* eslint fixes

---------

Co-authored-by: Frederico Santos <frederico.f.santos@tecnico.ulisboa.pt>
2024-05-23 11:03:10 -04:00
Greenlamp2
136afa6b00
Tests - Check if something is wrong with the variant's sprite (#1175)
* return a list of errors if something is wrong with the variant's sprite

* reformat

* added data in error message

* added read comfort + detection of missing json for existing variant

* fix an error of message display
2024-05-20 14:40:40 -05:00
Greenlamp2
d2e455cdad
Tests - Check if something is wrong with the variant's sprite (#1162)
* return a list of errors if something is wrong with the variant's sprite

* reformat
2024-05-20 07:31:16 -05:00
Devin Korb
53def01b51
Add unit testing support with vitest (#18)
* update loose files and add vitest

* update test scripts

* more support for vitest

* more test support

* update vscode settings
2024-03-30 20:47:47 -04:00