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>
This commit is contained in:
Frederico Santos 2024-07-28 00:47:00 +01:00 committed by GitHub
parent 28c5dc6b59
commit e98ef1c757
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
499 changed files with 27627 additions and 43812 deletions

5
.env
View File

@ -1,3 +1,6 @@
VITE_BYPASS_LOGIN=0
VITE_BYPASS_TUTORIAL=0
VITE_SERVER_URL=http://localhost:8001
VITE_SERVER_URL=http://localhost:8001
VITE_DISCORD_CLIENT_ID=1248062921129459756
VITE_GOOGLE_CLIENT_ID=955345393540-2k6lfftf0fdnb0krqmpthjnqavfvvf73.apps.googleusercontent.com
VITE_I18N_DEBUG=0

View File

@ -1,3 +1,6 @@
VITE_BYPASS_LOGIN=0
VITE_BYPASS_TUTORIAL=0
VITE_SERVER_URL=https://api.beta.pokerogue.net
VITE_SERVER_URL=https://api.beta.pokerogue.net
VITE_DISCORD_CLIENT_ID=1248062921129459756
VITE_GOOGLE_CLIENT_ID=955345393540-2k6lfftf0fdnb0krqmpthjnqavfvvf73.apps.googleusercontent.com
VITE_I18N_DEBUG=1

View File

@ -1,3 +1,7 @@
VITE_BYPASS_LOGIN=1
VITE_BYPASS_TUTORIAL=0
VITE_SERVER_URL=http://localhost:8001
VITE_SERVER_URL=http://localhost:8001
VITE_DISCORD_CLIENT_ID=1234567890
VITE_GOOGLE_CLIENT_ID=1234567890
VITE_I18N_DEBUG=1
VITE_PORT=8000

View File

@ -1,3 +1,6 @@
VITE_BYPASS_LOGIN=0
VITE_BYPASS_TUTORIAL=0
VITE_SERVER_URL=https://api.pokerogue.net
VITE_SERVER_URL=https://api.pokerogue.net
VITE_DISCORD_CLIENT_ID=1248062921129459756
VITE_GOOGLE_CLIENT_ID=955345393540-2k6lfftf0fdnb0krqmpthjnqavfvvf73.apps.googleusercontent.com
VITE_I18N_DEBUG=0

1
.env.test Normal file
View File

@ -0,0 +1 @@
VITE_I18N_DEBUG=0

View File

@ -1,8 +1,9 @@
name: Deploy Beta
on:
push: {}
pull_request: {}
push:
branches:
- beta
jobs:
deploy:
@ -20,7 +21,6 @@ jobs:
env:
NODE_ENV: production
- name: Set up SSH
if: github.event_name == 'push' && github.ref_name == github.event.repository.default_branch
run: |
mkdir ~/.ssh
echo "${{ secrets.BETA_SSH_PUBLIC_KEY }}" > ~/.ssh/id_ed25519.pub
@ -28,6 +28,5 @@ jobs:
chmod 600 ~/.ssh/*
ssh-keyscan -H ${{ secrets.BETA_SSH_HOST }} >> ~/.ssh/known_hosts
- name: Deploy build on server
if: github.event_name == 'push' && github.ref_name == github.event.repository.default_branch
run: |
rsync --del --no-times --checksum -vrm dist/* ${{ secrets.BETA_SSH_USER }}@${{ secrets.BETA_SSH_HOST }}:${{ secrets.BETA_DESTINATION_DIR }}

View File

@ -6,9 +6,11 @@ on:
push:
branches:
- main # Trigger on push events to the main branch
- beta # Trigger on push events to the beta branch
pull_request:
branches:
- main # Trigger on pull request events targeting the main branch
- beta # Trigger on pull request events targeting the beta branch
jobs:
run-linters: # Define a job named "run-linters"

View File

@ -7,6 +7,7 @@ on:
pull_request:
branches:
- main
- beta
jobs:
pages:
@ -52,7 +53,7 @@ jobs:
working-directory: ${{env.api-dir}}
run: |
cd pokerogue_docs
npx typedoc --out /tmp/docs --githubPages false --entryPoints ./src/
npm run docs -- --out /tmp/docs --githubPages false --entryPoints ./src/
- name: Commit & Push docs
if: github.event_name == 'push'

View File

@ -6,9 +6,11 @@ on:
push:
branches:
- main # Trigger on push events to the main branch
- beta # Trigger on push events to the beta branch
pull_request:
branches:
- main # Trigger on pull request events targeting the main branch
- beta # Trigger on pull request events targeting the beta branch
jobs:
run-tests: # Define a job named "run-tests"

3
.gitignore vendored
View File

@ -39,4 +39,5 @@ coverage
# Local Documentation
/typedoc
/dependency-graph.svg
/dependency-graph.svg
/.vs

View File

@ -1,10 +1,10 @@
<picture><img src="./public/images/logo.png" width="300" alt="PokéRogue"></picture>
PokéRogue is a browser based Pokémon fangame heavily inspired by the roguelite genre. Battle endlessly while gathering stacking items, exploring many different biomes, fighting trainers, bosses, and more!
PokéRogue is a browser based Pokémon fangame heavily inspired by the roguelite genre. Battle endlessly while gathering stacking items, exploring many different biomes, fighting trainers, bosses, and more!
# Contributing
## 🛠️ Development
If you have the motivation and experience with Typescript/Javascript (or are willing to learn) please feel free to fork the repository and make pull requests with contributions. If you don't know what to work on but want to help, reference the below **To-Do** section or the **#feature-vote** channel in the discord.
If you have the motivation and experience with Typescript/Javascript (or are willing to learn) please feel free to fork the repository and make pull requests with contributions. If you don't know what to work on but want to help, reference the below **To-Do** section or the **#feature-vote** channel in the discord.
### 💻 Environment Setup
#### Prerequisites
@ -17,9 +17,9 @@ If you have the motivation and experience with Typescript/Javascript (or are wil
2. Run `npm run start:dev` to locally run the project in `localhost:8000`
#### Linting
We're using ESLint as our common linter and formatter. It will run automatically during the pre-commit hook but if you would like to manually run it, use the `npm run eslint` script.
We're using ESLint as our common linter and formatter. It will run automatically during the pre-commit hook but if you would like to manually run it, use the `npm run eslint` script.
### ❔ FAQ
### ❔ FAQ
**How do I test a new _______?**
- In the `src/overrides.ts` file there are overrides for most values you'll need to change for testing
@ -56,6 +56,7 @@ Check out [Github Issues](https://github.com/pagefaultgames/pokerogue/issues) to
- Pokémon Scarlet/Violet
- Firel (Custom Laboratory, Metropolis, Seabed, and Space biome music)
- Lmz (Custom Jungle biome music)
- Andr06 (Custom Slum and Sea biome music)
### 🎵 Sound Effects
- Pokémon Emerald
@ -111,6 +112,7 @@ Check out [Github Issues](https://github.com/pagefaultgames/pokerogue/issues) to
- mangalos810
- Involuntary-Twitch
- selstar
- koda_want_to_sleep
### 🎨 Move Animations
- Pokémon Reborn

170
package-lock.json generated
View File

@ -35,8 +35,8 @@
"lefthook": "^1.6.12",
"phaser3spectorjs": "^0.0.8",
"pokenode-ts": "^1.20.0",
"typedoc": "^0.25.13",
"typescript": "^5.4.5",
"typedoc": "^0.26.4",
"typescript": "^5.5.3",
"typescript-eslint": "^7.10.0",
"vite": "^4.5.0",
"vite-plugin-fs": "^0.4.4",
@ -1179,6 +1179,16 @@
"win32"
]
},
"node_modules/@shikijs/core": {
"version": "1.10.3",
"resolved": "https://registry.npmjs.org/@shikijs/core/-/core-1.10.3.tgz",
"integrity": "sha512-D45PMaBaeDHxww+EkcDQtDAtzv00Gcsp72ukBtaLSmqRvh0WgGMq3Al0rl1QQBZfuneO75NXMIzEZGFitThWbg==",
"dev": true,
"license": "MIT",
"dependencies": {
"@types/hast": "^3.0.4"
}
},
"node_modules/@sinclair/typebox": {
"version": "0.27.8",
"resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz",
@ -1191,6 +1201,16 @@
"integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==",
"dev": true
},
"node_modules/@types/hast": {
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz",
"integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"@types/unist": "*"
}
},
"node_modules/@types/jsdom": {
"version": "21.1.7",
"resolved": "https://registry.npmjs.org/@types/jsdom/-/jsdom-21.1.7.tgz",
@ -1220,6 +1240,13 @@
"resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.5.tgz",
"integrity": "sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA=="
},
"node_modules/@types/unist": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz",
"integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==",
"dev": true,
"license": "MIT"
},
"node_modules/@typescript-eslint/eslint-plugin": {
"version": "7.10.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.10.0.tgz",
@ -1706,12 +1733,6 @@
"node": ">=8"
}
},
"node_modules/ansi-sequence-parser": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/ansi-sequence-parser/-/ansi-sequence-parser-1.1.1.tgz",
"integrity": "sha512-vJXt3yiaUL4UU546s3rPXlsry/RnM730G1+HkpKE012AN0sx1eOrxSu95oKDIonskeLTijMgqWZ3uDEe3NFvyg==",
"dev": true
},
"node_modules/ansi-styles": {
"version": "3.2.1",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
@ -4614,12 +4635,6 @@
"node": ">=6"
}
},
"node_modules/jsonc-parser": {
"version": "3.2.1",
"resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.1.tgz",
"integrity": "sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==",
"dev": true
},
"node_modules/jsonify": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.1.tgz",
@ -4884,6 +4899,16 @@
"node": ">= 0.8.0"
}
},
"node_modules/linkify-it": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-5.0.0.tgz",
"integrity": "sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"uc.micro": "^2.0.0"
}
},
"node_modules/local-pkg": {
"version": "0.5.0",
"resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.5.0.tgz",
@ -4985,18 +5010,31 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/marked": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/marked/-/marked-4.3.0.tgz",
"integrity": "sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==",
"node_modules/markdown-it": {
"version": "14.1.0",
"resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-14.1.0.tgz",
"integrity": "sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==",
"dev": true,
"bin": {
"marked": "bin/marked.js"
"license": "MIT",
"dependencies": {
"argparse": "^2.0.1",
"entities": "^4.4.0",
"linkify-it": "^5.0.0",
"mdurl": "^2.0.0",
"punycode.js": "^2.3.1",
"uc.micro": "^2.1.0"
},
"engines": {
"node": ">= 12"
"bin": {
"markdown-it": "bin/markdown-it.mjs"
}
},
"node_modules/mdurl": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/mdurl/-/mdurl-2.0.0.tgz",
"integrity": "sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==",
"dev": true,
"license": "MIT"
},
"node_modules/media-typer": {
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
@ -5725,6 +5763,16 @@
"node": ">=6"
}
},
"node_modules/punycode.js": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/punycode.js/-/punycode.js-2.3.1.tgz",
"integrity": "sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=6"
}
},
"node_modules/qs": {
"version": "6.12.1",
"resolved": "https://registry.npmjs.org/qs/-/qs-6.12.1.tgz",
@ -6145,15 +6193,14 @@
}
},
"node_modules/shiki": {
"version": "0.14.7",
"resolved": "https://registry.npmjs.org/shiki/-/shiki-0.14.7.tgz",
"integrity": "sha512-dNPAPrxSc87ua2sKJ3H5dQ/6ZaY8RNnaAqK+t0eG7p0Soi2ydiqbGOTaZCqaYvA/uZYfS1LJnemt3Q+mSfcPCg==",
"version": "1.10.3",
"resolved": "https://registry.npmjs.org/shiki/-/shiki-1.10.3.tgz",
"integrity": "sha512-eneCLncGuvPdTutJuLyUGS8QNPAVFO5Trvld2wgEq1e002mwctAhJKeMGWtWVXOIEzmlcLRqcgPSorR6AVzOmQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"ansi-sequence-parser": "^1.1.0",
"jsonc-parser": "^3.2.0",
"vscode-oniguruma": "^1.7.0",
"vscode-textmate": "^8.0.0"
"@shikijs/core": "1.10.3",
"@types/hast": "^3.0.4"
}
},
"node_modules/side-channel": {
@ -6770,24 +6817,26 @@
}
},
"node_modules/typedoc": {
"version": "0.25.13",
"resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.25.13.tgz",
"integrity": "sha512-pQqiwiJ+Z4pigfOnnysObszLiU3mVLWAExSPf+Mu06G/qsc3wzbuM56SZQvONhHLncLUhYzOVkjFFpFfL5AzhQ==",
"version": "0.26.4",
"resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.26.4.tgz",
"integrity": "sha512-FlW6HpvULDKgc3rK04V+nbFyXogPV88hurarDPOjuuB5HAwuAlrCMQ5NeH7Zt68a/ikOKu6Z/0hFXAeC9xPccQ==",
"dev": true,
"license": "Apache-2.0",
"dependencies": {
"lunr": "^2.3.9",
"marked": "^4.3.0",
"minimatch": "^9.0.3",
"shiki": "^0.14.7"
"markdown-it": "^14.1.0",
"minimatch": "^9.0.5",
"shiki": "^1.9.1",
"yaml": "^2.4.5"
},
"bin": {
"typedoc": "bin/typedoc"
},
"engines": {
"node": ">= 16"
"node": ">= 18"
},
"peerDependencies": {
"typescript": "4.6.x || 4.7.x || 4.8.x || 4.9.x || 5.0.x || 5.1.x || 5.2.x || 5.3.x || 5.4.x"
"typescript": "4.6.x || 4.7.x || 4.8.x || 4.9.x || 5.0.x || 5.1.x || 5.2.x || 5.3.x || 5.4.x || 5.5.x"
}
},
"node_modules/typedoc/node_modules/brace-expansion": {
@ -6795,15 +6844,17 @@
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
"integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
"dev": true,
"license": "MIT",
"dependencies": {
"balanced-match": "^1.0.0"
}
},
"node_modules/typedoc/node_modules/minimatch": {
"version": "9.0.4",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz",
"integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==",
"version": "9.0.5",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
"integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
"dev": true,
"license": "ISC",
"dependencies": {
"brace-expansion": "^2.0.1"
},
@ -6815,10 +6866,11 @@
}
},
"node_modules/typescript": {
"version": "5.4.5",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz",
"integrity": "sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==",
"version": "5.5.3",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.5.3.tgz",
"integrity": "sha512-/hreyEujaB0w76zKo6717l3L0o/qEUtRgdvUBvlkhoWeOVMjMuHNHk0BRBzikzuGDqNmPQbg5ifMEqsHLiIUcQ==",
"dev": true,
"license": "Apache-2.0",
"bin": {
"tsc": "bin/tsc",
"tsserver": "bin/tsserver"
@ -6853,6 +6905,13 @@
}
}
},
"node_modules/uc.micro": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-2.1.0.tgz",
"integrity": "sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==",
"dev": true,
"license": "MIT"
},
"node_modules/ufo": {
"version": "1.5.3",
"resolved": "https://registry.npmjs.org/ufo/-/ufo-1.5.3.tgz",
@ -8162,18 +8221,6 @@
}
}
},
"node_modules/vscode-oniguruma": {
"version": "1.7.0",
"resolved": "https://registry.npmjs.org/vscode-oniguruma/-/vscode-oniguruma-1.7.0.tgz",
"integrity": "sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA==",
"dev": true
},
"node_modules/vscode-textmate": {
"version": "8.0.0",
"resolved": "https://registry.npmjs.org/vscode-textmate/-/vscode-textmate-8.0.0.tgz",
"integrity": "sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg==",
"dev": true
},
"node_modules/w3c-xmlserializer": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-5.0.0.tgz",
@ -8414,6 +8461,19 @@
"integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
"dev": true
},
"node_modules/yaml": {
"version": "2.4.5",
"resolved": "https://registry.npmjs.org/yaml/-/yaml-2.4.5.tgz",
"integrity": "sha512-aBx2bnqDzVOyNKfsysjA2ms5ZlnjSAW2eG3/L5G/CSujfjLJTJsEw1bGw8kCf04KodQWk1pxlGnZ56CRxiawmg==",
"dev": true,
"license": "ISC",
"bin": {
"yaml": "bin.mjs"
},
"engines": {
"node": ">= 14"
}
},
"node_modules/yargs": {
"version": "17.7.2",
"resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz",

View File

@ -9,10 +9,10 @@
"build": "vite build",
"build:beta": "vite build --mode beta",
"preview": "vite preview",
"test": "vitest run",
"test:cov": "vitest run --coverage",
"test:watch": "vitest watch --coverage",
"test:silent": "vitest run --silent",
"test": "vitest run --project pre && vitest run --project main",
"test:cov": "vitest run --project pre && vitest run --project main --coverage",
"test:watch": "vitest run --project pre && vitest watch --project main --coverage",
"test:silent": "vitest run --project pre && vitest run --project main --silent",
"eslint": "eslint --fix .",
"eslint-ci": "eslint .",
"docs": "typedoc",
@ -34,8 +34,8 @@
"lefthook": "^1.6.12",
"phaser3spectorjs": "^0.0.8",
"pokenode-ts": "^1.20.0",
"typedoc": "^0.25.13",
"typescript": "^5.4.5",
"typedoc": "^0.26.4",
"typescript": "^5.5.3",
"typescript-eslint": "^7.10.0",
"vite": "^4.5.0",
"vite-plugin-fs": "^0.4.4",

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@ -1149,202 +1149,6 @@
"focus": 1
}
],
[
{
"x": 0,
"y": 0,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 0,
"graphicFrame": 0,
"opacity": 255,
"locked": true,
"priority": 1,
"focus": 2
},
{
"x": 128,
"y": -64,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 1,
"graphicFrame": 0,
"opacity": 255,
"locked": true,
"priority": 1,
"focus": 1
}
],
[
{
"x": 0,
"y": 0,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 0,
"graphicFrame": 0,
"opacity": 255,
"locked": true,
"priority": 1,
"focus": 2
},
{
"x": 128,
"y": -64,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 1,
"graphicFrame": 0,
"opacity": 255,
"locked": true,
"priority": 1,
"focus": 1
}
],
[
{
"x": 0,
"y": 0,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 0,
"graphicFrame": 0,
"opacity": 255,
"locked": true,
"priority": 1,
"focus": 2
},
{
"x": 128,
"y": -64,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 1,
"graphicFrame": 0,
"opacity": 255,
"locked": true,
"priority": 1,
"focus": 1
}
],
[
{
"x": 0,
"y": 0,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 0,
"graphicFrame": 0,
"opacity": 255,
"locked": true,
"priority": 1,
"focus": 2
},
{
"x": 128,
"y": -64,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 1,
"graphicFrame": 0,
"opacity": 255,
"locked": true,
"priority": 1,
"focus": 1
}
],
[
{
"x": 0,
"y": 0,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 0,
"graphicFrame": 0,
"opacity": 255,
"locked": true,
"priority": 1,
"focus": 2
},
{
"x": 128,
"y": -64,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 1,
"graphicFrame": 0,
"opacity": 255,
"locked": true,
"priority": 1,
"focus": 1
}
],
[
{
"x": 0,
"y": 0,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 0,
"graphicFrame": 0,
"opacity": 255,
"locked": true,
"priority": 1,
"focus": 2
},
{
"x": 128,
"y": -64,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 1,
"graphicFrame": 0,
"opacity": 255,
"locked": true,
"priority": 1,
"focus": 1
}
],
[
{
"x": 0,
"y": 0,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 0,
"graphicFrame": 0,
"opacity": 255,
"locked": true,
"priority": 1,
"focus": 2
},
{
"x": 128,
"y": -64,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 1,
"graphicFrame": 0,
"opacity": 255,
"locked": true,
"priority": 1,
"focus": 1
}
],
[
{
"x": 0,
@ -1382,6 +1186,41 @@
"volume": 100,
"pitch": 100,
"eventType": "AnimTimedSoundEvent"
},
{
"frameIndex": 0,
"resourceName": "PRAS- Sludge Wave FG",
"bgX": -10,
"bgY": 365,
"opacity": 0,
"duration": 2,
"eventType": "AnimTimedAddBgEvent"
},
{
"frameIndex": 0,
"resourceName": "",
"bgX": 400,
"bgY": 340,
"duration": 45,
"eventType": "AnimTimedUpdateBgEvent"
}
],
"1": [
{
"frameIndex": 1,
"resourceName": "",
"opacity": 200,
"duration": 6,
"eventType": "AnimTimedUpdateBgEvent"
}
],
"30": [
{
"frameIndex": 30,
"resourceName": "",
"opacity": 0,
"duration": 15,
"eventType": "AnimTimedUpdateBgEvent"
}
]
},
@ -2538,202 +2377,6 @@
"focus": 1
}
],
[
{
"x": 0,
"y": 0,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 0,
"graphicFrame": 0,
"opacity": 255,
"locked": true,
"priority": 1,
"focus": 2
},
{
"x": 128,
"y": -64,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 1,
"graphicFrame": 0,
"opacity": 255,
"locked": true,
"priority": 1,
"focus": 1
}
],
[
{
"x": 0,
"y": 0,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 0,
"graphicFrame": 0,
"opacity": 255,
"locked": true,
"priority": 1,
"focus": 2
},
{
"x": 128,
"y": -64,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 1,
"graphicFrame": 0,
"opacity": 255,
"locked": true,
"priority": 1,
"focus": 1
}
],
[
{
"x": 0,
"y": 0,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 0,
"graphicFrame": 0,
"opacity": 255,
"locked": true,
"priority": 1,
"focus": 2
},
{
"x": 128,
"y": -64,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 1,
"graphicFrame": 0,
"opacity": 255,
"locked": true,
"priority": 1,
"focus": 1
}
],
[
{
"x": 0,
"y": 0,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 0,
"graphicFrame": 0,
"opacity": 255,
"locked": true,
"priority": 1,
"focus": 2
},
{
"x": 128,
"y": -64,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 1,
"graphicFrame": 0,
"opacity": 255,
"locked": true,
"priority": 1,
"focus": 1
}
],
[
{
"x": 0,
"y": 0,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 0,
"graphicFrame": 0,
"opacity": 255,
"locked": true,
"priority": 1,
"focus": 2
},
{
"x": 128,
"y": -64,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 1,
"graphicFrame": 0,
"opacity": 255,
"locked": true,
"priority": 1,
"focus": 1
}
],
[
{
"x": 0,
"y": 0,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 0,
"graphicFrame": 0,
"opacity": 255,
"locked": true,
"priority": 1,
"focus": 2
},
{
"x": 128,
"y": -64,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 1,
"graphicFrame": 0,
"opacity": 255,
"locked": true,
"priority": 1,
"focus": 1
}
],
[
{
"x": 0,
"y": 0,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 0,
"graphicFrame": 0,
"opacity": 255,
"locked": true,
"priority": 1,
"focus": 2
},
{
"x": 128,
"y": -64,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 1,
"graphicFrame": 0,
"opacity": 255,
"locked": true,
"priority": 1,
"focus": 1
}
],
[
{
"x": 0,
@ -2771,10 +2414,45 @@
"volume": 100,
"pitch": 100,
"eventType": "AnimTimedSoundEvent"
},
{
"frameIndex": 0,
"resourceName": "PRAS- Sludge Wave FG Opp",
"bgX": -50,
"bgY": 0,
"opacity": 0,
"duration": 2,
"eventType": "AnimTimedAddBgEvent"
},
{
"frameIndex": 0,
"resourceName": "",
"bgX": -600,
"bgY": 200,
"duration": 45,
"eventType": "AnimTimedUpdateBgEvent"
}
],
"1": [
{
"frameIndex": 1,
"resourceName": "",
"opacity": 200,
"duration": 6,
"eventType": "AnimTimedUpdateBgEvent"
}
],
"30": [
{
"frameIndex": 30,
"resourceName": "",
"opacity": 0,
"duration": 15,
"eventType": "AnimTimedUpdateBgEvent"
}
]
},
"position": 4,
"hue": 0
}
]
]

View File

@ -1186,6 +1186,41 @@
"volume": 100,
"pitch": 100,
"eventType": "AnimTimedSoundEvent"
},
{
"frameIndex": 0,
"resourceName": "PRAS- Surf FG",
"bgX": -10,
"bgY": 365,
"opacity": 0,
"duration": 2,
"eventType": "AnimTimedAddBgEvent"
},
{
"frameIndex": 0,
"resourceName": "",
"bgX": 400,
"bgY": 340,
"duration": 45,
"eventType": "AnimTimedUpdateBgEvent"
}
],
"1": [
{
"frameIndex": 1,
"resourceName": "",
"opacity": 200,
"duration": 6,
"eventType": "AnimTimedUpdateBgEvent"
}
],
"30": [
{
"frameIndex": 30,
"resourceName": "",
"opacity": 0,
"duration": 15,
"eventType": "AnimTimedUpdateBgEvent"
}
]
},
@ -2379,10 +2414,45 @@
"volume": 100,
"pitch": 100,
"eventType": "AnimTimedSoundEvent"
},
{
"frameIndex": 0,
"resourceName": "PRAS- Surf FG Opp - Copie",
"bgX": -50,
"bgY": 0,
"opacity": 0,
"duration": 2,
"eventType": "AnimTimedAddBgEvent"
},
{
"frameIndex": 0,
"resourceName": "",
"bgX": -600,
"bgY": 200,
"duration": 45,
"eventType": "AnimTimedUpdateBgEvent"
}
],
"1": [
{
"frameIndex": 1,
"resourceName": "",
"opacity": 200,
"duration": 6,
"eventType": "AnimTimedUpdateBgEvent"
}
],
"30": [
{
"frameIndex": 30,
"resourceName": "",
"opacity": 0,
"duration": 15,
"eventType": "AnimTimedUpdateBgEvent"
}
]
},
"position": 4,
"hue": 0
}
]
]

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 132 KiB

After

Width:  |  Height:  |  Size: 56 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 653 B

View File

Before

Width:  |  Height:  |  Size: 230 B

After

Width:  |  Height:  |  Size: 230 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 289 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 642 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 666 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 702 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 675 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 702 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 633 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 636 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 627 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 642 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 642 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 666 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 702 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 675 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 702 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 633 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 636 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 627 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 642 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 284 B

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 27 KiB

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.6 KiB

After

Width:  |  Height:  |  Size: 6.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.5 KiB

After

Width:  |  Height:  |  Size: 598 B

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.8 KiB

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 627 B

After

Width:  |  Height:  |  Size: 708 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.8 KiB

After

Width:  |  Height:  |  Size: 517 B

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.8 KiB

After

Width:  |  Height:  |  Size: 4.2 KiB

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.8 KiB

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1023 B

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.8 KiB

After

Width:  |  Height:  |  Size: 517 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 703 B

After

Width:  |  Height:  |  Size: 696 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 625 B

After

Width:  |  Height:  |  Size: 650 B

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.8 KiB

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.5 KiB

After

Width:  |  Height:  |  Size: 5.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.5 KiB

After

Width:  |  Height:  |  Size: 5.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 10 KiB

View File

@ -1,272 +0,0 @@
{
"textures": [
{
"image": "916.png",
"format": "RGBA8888",
"size": {
"w": 250,
"h": 250
},
"scale": 1,
"frames": [
{
"filename": "0006.png",
"rotated": false,
"trimmed": false,
"sourceSize": {
"w": 61,
"h": 85
},
"spriteSourceSize": {
"x": 0,
"y": 0,
"w": 61,
"h": 85
},
"frame": {
"x": 0,
"y": 0,
"w": 61,
"h": 85
}
},
{
"filename": "0005.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
"w": 61,
"h": 85
},
"spriteSourceSize": {
"x": 1,
"y": 0,
"w": 60,
"h": 85
},
"frame": {
"x": 0,
"y": 85,
"w": 60,
"h": 85
}
},
{
"filename": "0002.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
"w": 61,
"h": 85
},
"spriteSourceSize": {
"x": 1,
"y": 5,
"w": 60,
"h": 80
},
"frame": {
"x": 0,
"y": 170,
"w": 60,
"h": 80
}
},
{
"filename": "0007.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
"w": 61,
"h": 85
},
"spriteSourceSize": {
"x": 1,
"y": 0,
"w": 60,
"h": 85
},
"frame": {
"x": 60,
"y": 85,
"w": 60,
"h": 85
}
},
{
"filename": "0008.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
"w": 61,
"h": 85
},
"spriteSourceSize": {
"x": 1,
"y": 0,
"w": 60,
"h": 85
},
"frame": {
"x": 61,
"y": 0,
"w": 60,
"h": 85
}
},
{
"filename": "0012.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
"w": 61,
"h": 85
},
"spriteSourceSize": {
"x": 2,
"y": 5,
"w": 59,
"h": 80
},
"frame": {
"x": 60,
"y": 170,
"w": 59,
"h": 80
}
},
{
"filename": "0001.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
"w": 61,
"h": 85
},
"spriteSourceSize": {
"x": 1,
"y": 6,
"w": 60,
"h": 79
},
"frame": {
"x": 119,
"y": 170,
"w": 60,
"h": 79
}
},
{
"filename": "0009.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
"w": 61,
"h": 85
},
"spriteSourceSize": {
"x": 1,
"y": 0,
"w": 60,
"h": 85
},
"frame": {
"x": 120,
"y": 85,
"w": 60,
"h": 85
}
},
{
"filename": "0004.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
"w": 61,
"h": 85
},
"spriteSourceSize": {
"x": 1,
"y": 2,
"w": 60,
"h": 83
},
"frame": {
"x": 121,
"y": 0,
"w": 60,
"h": 83
}
},
{
"filename": "0010.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
"w": 61,
"h": 85
},
"spriteSourceSize": {
"x": 1,
"y": 2,
"w": 60,
"h": 83
},
"frame": {
"x": 181,
"y": 0,
"w": 60,
"h": 83
}
},
{
"filename": "0003.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
"w": 61,
"h": 85
},
"spriteSourceSize": {
"x": 1,
"y": 4,
"w": 60,
"h": 81
},
"frame": {
"x": 180,
"y": 83,
"w": 60,
"h": 81
}
},
{
"filename": "0011.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
"w": 61,
"h": 85
},
"spriteSourceSize": {
"x": 2,
"y": 4,
"w": 59,
"h": 81
},
"frame": {
"x": 180,
"y": 164,
"w": 59,
"h": 81
}
}
]
}
],
"meta": {
"app": "https://www.codeandweb.com/texturepacker",
"version": "3.0",
"smartupdate": "$TexturePacker:SmartUpdate:08f91248c91e426c4993be4e9988fc0d:215799a2235190ac587b1617d8e7e8b9:72483d103fb6b8e5c1889150025102c8$"
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 30 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 672 B

After

Width:  |  Height:  |  Size: 694 B

View File

@ -1,272 +0,0 @@
{
"textures": [
{
"image": "916.png",
"format": "RGBA8888",
"size": {
"w": 251,
"h": 251
},
"scale": 1,
"frames": [
{
"filename": "0006.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
"w": 96,
"h": 96
},
"spriteSourceSize": {
"x": 13,
"y": 10,
"w": 62,
"h": 86
},
"frame": {
"x": 0,
"y": 0,
"w": 62,
"h": 86
}
},
{
"filename": "0005.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
"w": 96,
"h": 96
},
"spriteSourceSize": {
"x": 15,
"y": 10,
"w": 61,
"h": 86
},
"frame": {
"x": 62,
"y": 0,
"w": 61,
"h": 86
}
},
{
"filename": "0009.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
"w": 96,
"h": 96
},
"spriteSourceSize": {
"x": 15,
"y": 10,
"w": 61,
"h": 86
},
"frame": {
"x": 123,
"y": 0,
"w": 61,
"h": 86
}
},
{
"filename": "0007.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
"w": 96,
"h": 96
},
"spriteSourceSize": {
"x": 15,
"y": 10,
"w": 60,
"h": 86
},
"frame": {
"x": 184,
"y": 0,
"w": 60,
"h": 86
}
},
{
"filename": "0003.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
"w": 96,
"h": 96
},
"spriteSourceSize": {
"x": 15,
"y": 15,
"w": 61,
"h": 81
},
"frame": {
"x": 0,
"y": 86,
"w": 61,
"h": 81
}
},
{
"filename": "0002.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
"w": 96,
"h": 96
},
"spriteSourceSize": {
"x": 15,
"y": 16,
"w": 61,
"h": 80
},
"frame": {
"x": 61,
"y": 86,
"w": 61,
"h": 80
}
},
{
"filename": "0008.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
"w": 96,
"h": 96
},
"spriteSourceSize": {
"x": 15,
"y": 10,
"w": 60,
"h": 86
},
"frame": {
"x": 122,
"y": 86,
"w": 60,
"h": 86
}
},
{
"filename": "0004.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
"w": 96,
"h": 96
},
"spriteSourceSize": {
"x": 15,
"y": 13,
"w": 60,
"h": 83
},
"frame": {
"x": 61,
"y": 166,
"w": 60,
"h": 83
}
},
{
"filename": "0010.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
"w": 96,
"h": 96
},
"spriteSourceSize": {
"x": 15,
"y": 13,
"w": 60,
"h": 83
},
"frame": {
"x": 0,
"y": 167,
"w": 60,
"h": 83
}
},
{
"filename": "0001.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
"w": 96,
"h": 96
},
"spriteSourceSize": {
"x": 15,
"y": 17,
"w": 60,
"h": 79
},
"frame": {
"x": 121,
"y": 172,
"w": 60,
"h": 79
}
},
{
"filename": "0011.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
"w": 96,
"h": 96
},
"spriteSourceSize": {
"x": 16,
"y": 15,
"w": 60,
"h": 81
},
"frame": {
"x": 182,
"y": 86,
"w": 60,
"h": 81
}
},
{
"filename": "0012.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
"w": 96,
"h": 96
},
"spriteSourceSize": {
"x": 16,
"y": 16,
"w": 60,
"h": 80
},
"frame": {
"x": 182,
"y": 167,
"w": 60,
"h": 80
}
}
]
}
],
"meta": {
"app": "https://www.codeandweb.com/texturepacker",
"version": "3.0",
"smartupdate": "$TexturePacker:SmartUpdate:f1919e76120351b77d053dd0b1048890:6cc484548a07e592b87dcc37f6c74a39:72483d103fb6b8e5c1889150025102c8$"
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.3 KiB

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 27 KiB

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.6 KiB

After

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.5 KiB

After

Width:  |  Height:  |  Size: 598 B

View File

@ -0,0 +1,24 @@
{
"1": {
"a5634a": "5982b7",
"734a4a": "334b7d",
"d69c4a": "90c1f1",
"000000": "000000",
"523121": "13235c",
"e6c594": "9db5d8",
"bd9c7b": "5f6f94",
"ffffff": "ffffff",
"ffe6ad": "d7ebff"
},
"2": {
"a5634a": "915ea3",
"734a4a": "5e3372",
"d69c4a": "bf88cb",
"000000": "000000",
"523121": "461144",
"e6c594": "d7b8ba",
"bd9c7b": "a07c83",
"ffffff": "ffffff",
"ffe6ad": "f3e6e3"
}
}

View File

@ -1,19 +1,4 @@
{
"0": {
"7b4a9c": "d684ce",
"63197b": "9c528c",
"a55ace": "ffb5f7",
"101010": "101010",
"b57bce": "ffd6ef",
"08426b": "638400",
"ce0021": "940821",
"ffd600": "ffd600",
"d69400": "d69400",
"216b94": "8ca508",
"ffffff": "ffffff",
"a5a5a5": "a5a5a5",
"6b6b6b": "6b6b6b"
},
"1": {
"7b4a9c": "2f2a5f",
"63197b": "14093b",

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.9 KiB

View File

@ -1,28 +1,14 @@
{
"0": {
"101010": "101010",
"637bb5": "398422",
"4a427b": "084a00",
"bdceff": "99e870",
"8cb5ef": "5caf3b",
"b5529c": "bd9273",
"73215a": "a5785e",
"d673bd": "efd69c",
"ffffff": "ffffff",
"d6d6d6": "d6d6d6",
"636363": "636363"
},
"1": {
"101010": "101010",
"637bb5": "37326f",
"637bb5": "12325c",
"4a427b": "14093b",
"bdceff": "868ecc",
"8cb5ef": "4e538f",
"b5529c": "cc7b32",
"73215a": "aa4c18",
"8cb5ef": "205182",
"b5529c": "d58e41",
"73215a": "b6591e",
"d673bd": "f0ad57",
"ffffff": "ffffff",
"d6d6d6": "d6d6d6",
"636363": "636363"
},
"2": {
@ -35,7 +21,6 @@
"73215a": "670f10",
"d673bd": "bc3b1d",
"ffffff": "ffffff",
"d6d6d6": "d6d6d6",
"636363": "636363"
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

View File

@ -1,31 +1,17 @@
{
"0": {
"3a3a7b": "142557",
"5aadef": "6265b4",
"6384ce": "323f81",
"631052": "093263",
"ce6bb5": "61b6da",
"adceff": "99a3ee",
"000000": "000000",
"ad52ad": "348cc1",
"636363": "636363",
"ffffff": "ffffff",
"d6d6d6": "d6d6d6",
"943a7b": "175990"
},
"1": {
"3a3a7b": "084a00",
"5aadef": "6b9c29",
"6384ce": "317300",
"631052": "c52931",
"ce6bb5": "ffada5",
"adceff": "84d64a",
"3a3a7b": "14093b",
"5aadef": "204882",
"6384ce": "12245c",
"631052": "892d03",
"ce6bb5": "f1a139",
"adceff": "3c74b1",
"000000": "000000",
"ad52ad": "e6737b",
"ad52ad": "d5711b",
"636363": "636363",
"ffffff": "ffffff",
"d6d6d6": "d6d6d6",
"943a7b": "d6525a"
"943a7b": "af4e0c"
},
"2": {
"3a3a7b": "3d2349",

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

View File

@ -0,0 +1,30 @@
{
"1": {
"101010": "101010",
"216b7b": "18265c",
"294a4a": "242b71",
"3194ad": "32459b",
"393942": "a40e38",
"6b5a21": "684327",
"b58431": "8c6742",
"ffbd31": "d29887",
"ffffff": "e4d8ff",
"9c2142": "63f3ca",
"ff3121": "a0f7ff",
"393941": "521f2d"
},
"2": {
"101010": "101010",
"216b7b": "923c1c",
"294a4a": "591105",
"3194ad": "e03241",
"393942": "3ce483",
"6b5a21": "74350f",
"b58431": "9c5e19",
"ffbd31": "d9e878",
"ffffff": "eaffa6",
"9c2142": "b1f1d2",
"ff3121": "ecffeb",
"393941": "2a3430"
}
}

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 53 KiB

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 53 KiB

View File

@ -1,20 +1,4 @@
{
"0": {
"106b63": "0d1e10",
"004a52": "102c16",
"84cece": "758076",
"191921": "191921",
"29848c": "224427",
"298c8c": "1c3820",
"5aada5": "3e5d43",
"106b7b": "102c16",
"ffefa5": "ff9942",
"dece94": "e46424",
"bdad73": "cb3000",
"6b4200": "54190e",
"c59c52": "a65c3f",
"9c7329": "763826"
},
"1": {
"106b63": "732d02",
"004a52": "4c1b11",

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

View File

@ -1,19 +1,4 @@
{
"0": {
"297b8c": "152c18",
"105263": "041408",
"5aa5a5": "2b3c2d",
"195a7b": "051b0a",
"84c5ce": "3f4a3f",
"003a52": "020e06",
"191921": "191921",
"ffefa5": "ff9942",
"bdad73": "e46424",
"dece94": "cb3000",
"6b4200": "5e1c0b",
"c59c52": "ad5735",
"9c7329": "943b21"
},
"1": {
"297b8c": "6b2808",
"105263": "8b2a05",

File diff suppressed because it is too large Load Diff

Some files were not shown because too many files have changed in this diff Show More