Compare commits

...

67 Commits

Author SHA1 Message Date
flx-sta
30024de049
Merge branch 'beta' into testsaveeggmoves 2024-09-13 15:29:25 -07:00
seanrmon
a085d3d416
[Bug] Fix for unpausing evolutions for secondary Pokémon in a fusion (#4007)
* [Bug] Cannot unpause evolutions for secondary Pokémon in fusion

* [Bug] Fusion Pokémon now inherit "Pause Evolutions" from both Pokémon

---------

Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
2024-09-13 13:03:11 -04:00
Sion Kang
4dfcc96746
ci: Bump actions version (#2341)
* ci: Bump actions version

* Update .github/workflows/eslint.yml

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>

* Update .github/workflows/eslint.yml

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: Frederico Santos <frederico.f.santos@tecnico.ulisboa.pt>
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
2024-09-13 17:52:52 +01:00
innerthunder
70295280da
[Move] Implement Substitute (#2559)
* Implement Substitute

Squashed commit from working branch

* Fix integration test imports

* Use Override Helper utils + Fix Baton Pass test

* Update src/test/moves/substitute.test.ts

Co-authored-by: Adrian T. <68144167+torranx@users.noreply.github.com>

* Fix test imports + nits

* Document RemoveAllSubstitutesAttr

* Fix some strict-null issues

* more strict-null fixes

* Fix baton pass test

* Reorganized Substitute translation keys

* Added checks for substitute in contact logic

* Clean up Unseen Fist contact logic

* Remove misleading comment in Download attr

* RIP phases.ts

* Fix imports post-phase migration

* Rewrite `move.canIgnoreSubstitute` to `move.hitsSubstitute`

* Also fixed interactions with Shell Trap and Beak Blast

* Removed some leftover `canIgnoreSubstitute`s

* fix issues after beta merge

* Status move effectiveness now accounts for substitute

* More edge case tests (Counter test failing)

* Fix Counter + Trap edge cases + add Fail messagesd

* Fix leftover nit

* Resolve leftover test issues

* Fix Sub offset carrying over to Trainer fights

* Hide substitute sprite during catch attempts

* Make substitutes baton-passable again

* Remove placeholder locale keys and SPLASH_ONLY

* Fix imports and other nits

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>

* ESLint

* Fix imports

* Fix incorrect `resetSprite` timing

* Fix substitute disappearing on hit (maybe?)

* More animation fixes (mostly for Roar)

---------

Co-authored-by: Adrian T. <68144167+torranx@users.noreply.github.com>
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-09-13 12:46:22 -04:00
Tempoanon
526f9ae2bc
[Balance] Tweak evil boss teams, fix aesthetic details (#4214)
* oops

* Swap phero and nihi, fix typo

* Actually make the change
2024-09-13 12:44:42 -04:00
Amani H.
1cf075adc9
[Bug] Fix Guard Swap and Power Swap swapping all stats (#4213)
* [Bug] Fix `SwapStatStagesAttr` Oversight

* Remove SPLASH_ONLY Leftover
2024-09-13 12:31:25 -04:00
Lugiad
dd61950cb1
[Localization] Tiny FR adjustments (#4212)
* Update tutorial.json

* Update challenges.json
2024-09-13 12:31:00 -04:00
MokaStitcher
48c2bdf1d8
[Bug] fix starter select crash when a variant preference is incorrect (#4209) 2024-09-13 09:29:35 -04:00
NightKev
8409f39b8d
[Misc] Allow Meloetta's starting form to be selected (#4192)
* Allow Meloetta's starting form to be selected

* Meloetta won't change forms during a monotype challenge

Also removes reversion to Aria form when arena resets
2024-09-13 03:49:28 -07:00
NightKev
5f9bd21a51
[Test] Speed up tests and make enemy item override remove existing items (#4203)
* Make enemy held items override remove randomly generated items

Remove cries from tests

* Override callback delays to 1ms
2024-09-13 01:09:12 -04:00
chaosgrimmon
5f918ca001
[Sprite] Remove repeated animation frames (#4205)
* [Sprite] Remove fronts repeated frame data

* [Sprite] Remove shiny fronts repeated frame data

* [Sprite] Remove shiny fem fronts repeated frame data

* [Sprite] Remove fem fronts repeated frame data

* [Sprite] Remove backs repeated frame data

* [Sprite] Remove more backs repeated frame data

* [Sprite] Remove fem backs repeated frame data

* [Sprite] Remove shiny backs repeated frame data

* [Sprite] Remove more shiny backs repeated frame data

* [Sprite] Remove shiny fem backs repeated frame data

* [Sprite] Remove exp backs repeated frame data

* [Sprite] Remove shiny exp backs repeated frame data

* [Sprite] Remove exp fronts repeated frame data

* [Sprite] Remove shiny exp fronts repeated frame data

* [Sprite] Togedemaru exp shiny typo

* [Sprite] Togedemaru exp typo
2024-09-13 01:08:38 -04:00
NightKev
9026214f05
[Move] Mark Sky Drop as partial due to missing effects (#4204) 2024-09-13 01:07:43 -04:00
PrabbyDD
f80c073def
[Bug] Fix for Roost Grounds the User Rather than Removing Flying Typing#3984 (#4164)
* double checking tests on a new made branch for bug 3984

* roost test update

* added roost test file

* Roost test update

* removed random stackdump

* cleaned up message for roost

* fixed test file for linter

* cleaning up code and fixing some desync test issues

* Cleaned up more code and added case for double shock

* fixing some messages and putting burn up and double shock in same class

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-09-12 15:27:47 -04:00
Blitzy
ef4d2ec91e
[Balance] More Evil Team Adjustments (#4056)
* Update trainer-config.ts

* Update trainer-config.ts

* Devolve 98% of the list

* Update trainer-config.ts

* Update trainer-config.ts

* Update Pools / Minor Giovanni Changes

* Update trainer-config.ts

* Make Ghetsis2 Basculegion/Jellicent male

---------

Co-authored-by: Tempoanon <163687446+Tempo-anon@users.noreply.github.com>
2024-09-12 12:01:32 -04:00
AJ Fontaine
bfc4f2d1cd
[Balance] Tweak trainer evolution delay so trainers are more likely to use evolved Pokemon in later waves (#4190)
* Tweak trainer evolution delay

* Document getStrengthLevelDiff
2024-09-12 11:21:43 -04:00
Leo Kim
5724ed4a5c
[Enhancement] Add option for egg skip to settings (#4193)
* add option for egg skip

* change eggSkip variable name more descriptive to eggSkipPreference

* update requested changes from opaquer and tinylad and walker

* update requested change from tinylad

* update comment
2024-09-12 10:33:36 -04:00
Lugiad
c294e0846d
[Localization] Catalan translation batch (#4194)
* Update arena-flyout.json

* Update biome.json

* Update common.json

* Update menu.json

* Update nature.json

* Update pokemon-info.json

* Update pokemon-info.json
2024-09-12 10:22:30 -04:00
Chapybara-jp
d4d1788789
[Localisation] [JA] Translated modifier-type.json.json (#4195)
* Update ability-trigger.json

* Update ability.json

* Update arena-flyout.json

* Update arena-tag.json

* Update battle.json

* Update fight-ui-handler.json

* Update berry.json

* Update menu.json

* Update party-ui-handler.json

* Update starter-select-ui-handler.json

* Update tutorial.json

* Update move.json

* Update battle.json

* Update arena-flyout.json

* Update arena-flyout.json

* Update arena-tag.json

* Update party-ui-handler.json

* Update settings.json

* Update move-trigger.json

* Translate modifier-type.json

* Update modifier-type.json

* Translated modifier-type.json

* Update move-trigger.json

* Update move-trigger.json

* Update move-trigger.json

* Update modifier-type.json
2024-09-12 10:16:45 -04:00
Leo Kim
b422239a82
[Localization(ko)] Update Korean translation (#4196) 2024-09-12 10:16:10 -04:00
cam
2f0a53ba46
[Sprite] Added default head spots to spinda (#4188)
Spritesheets front & front shiny
2024-09-12 00:49:18 -04:00
AJ Fontaine
0af59bbb14
[Refactor] Fix linter issue (#4191) 2024-09-12 00:13:57 -04:00
Adrián T.
7ed7fec808
[BUG][UI/UX] Correction of errors when `` Save & Quit` and ` Log out`` (#3105)
* Fixes confirmation issues in SAVE_AND_QUIT and LOG_OUT

* Added LOADING mode to prevent spamming from SAVE_AND_QUIT and LOG_OUT buttons, and added option to set black background for LOADING mode

* Fixed conditional statement to ensure robustness in live environments to avoid potential issues in production

* Good overlay position
2024-09-11 23:12:20 -04:00
schmidtc1
28012b8d85
[Bug] Fixes Freezy Frost visual bug when attacking ally, and Freezy Frost not applying effects when fainting a target (#3753)
* Resolves bugs with freezy frost vs ally, and freezy frost fainting opp

* Adjusts unit tests, adds one more for doubles

* Refactor apply function to follow the async/await pattern

* Eslint fix attempt

* Update freezy_frost.test.ts

Remove js file extension
2024-09-11 22:20:24 -04:00
Madmadness65
6decd918e5
[Enhancement] Implement Tera-based form changes (Ogerpon and Terapagos) (#4147)
* Add Tera-based form changes

* Make teraType property private
2024-09-11 21:47:41 -04:00
Lylian BALL
8195373824
[Move] Add Retaliate double damage condition (#1831)
* Add retaliate double damage condition

* undo override changes

* add death history and bug fix where retaliate didn't work after 10 turns

* delete the unnecassary log

* optimization

* made some corrections

* add retaliate test as draft

* add retaliate test

* Update src/test/moves/retaliate.test.ts (delete log)

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>

* remove submodule

* Update src/test/moves/retaliate.test.ts

Co-authored-by: schmidtc1 <62030095+schmidtc1@users.noreply.github.com>

* update retaliate test

* Update src/test/moves/retaliate.test.ts

Co-authored-by: schmidtc1 <62030095+schmidtc1@users.noreply.github.com>

* update unit test

* remove wide lens for retaliate test

* Update src/test/moves/retaliate.test.ts

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>

* Update src/battle.ts

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>

* Update src/test/moves/retaliate.test.ts

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>

* Update src/test/moves/retaliate.test.ts

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>

* optimization

* Fix indentation

* Use default values

* Add parentheses for clarity

* Update src/battle.ts

Co-authored-by: schmidtc1 <62030095+schmidtc1@users.noreply.github.com>

* Update src/battle.ts

Co-authored-by: schmidtc1 <62030095+schmidtc1@users.noreply.github.com>

* Update src/data/move.ts

Co-authored-by: schmidtc1 <62030095+schmidtc1@users.noreply.github.com>

* Update src/phases/faint-phase.ts

Co-authored-by: schmidtc1 <62030095+schmidtc1@users.noreply.github.com>

* Update src/phases/faint-phase.ts

Co-authored-by: schmidtc1 <62030095+schmidtc1@users.noreply.github.com>

* bug on import

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: schmidtc1 <62030095+schmidtc1@users.noreply.github.com>
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
2024-09-11 21:31:57 -04:00
NightKev
91d266ea74
[Bug] Burning Bulwark, King's Shield, Obstruct and Silk Trap no longer protect against status moves. (#4106)
* Obstruct et al no longer protect against status moves

* Remove `.js` from import

Co-authored-by: ImperialSympathizer <110984302+ben-lear@users.noreply.github.com>

* Add tsdocs for new/modified classes

* List relevant moves in tsdocs

---------

Co-authored-by: ImperialSympathizer <110984302+ben-lear@users.noreply.github.com>
2024-09-11 21:31:38 -04:00
NightKev
951b568590
[Documentation] Add some tsdocs to move.ts, mark rollout and iceball (P) (#4099)
* Add some tsdocs to `move.ts`, some misc cleanup

* Mark Rollout and Ice Ball as partial
2024-09-11 21:05:43 -04:00
flx-sta
18dc1029b7
[Misc] Update issue/feature template (#4148)
* simplify bug-report form. Add `Triage` label to bug & feature form

* Add repro textfield to bug form

* Fix typo

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-09-11 21:01:16 -04:00
Mumble
f294f034aa
[Bug] Run History displays Pokemon that have their natures changed during the run (#4149)
* Nature mints... spaghetti...

* Update src/ui/run-info-ui-handler.ts

Co-authored-by: MokaStitcher <54149968+MokaStitcher@users.noreply.github.com>

* No effect when no items

---------

Co-authored-by: frutescens <info@laptop>
Co-authored-by: MokaStitcher <54149968+MokaStitcher@users.noreply.github.com>
2024-09-11 21:00:26 -04:00
NightKev
fec218b747
[Refactor] setTypeIcons explicitly handles null, mark it as such (#4155) 2024-09-11 20:59:57 -04:00
NightKev
d4cd74c8b7
[P2 Bug] Baddy Bad shouldn't activate Reflect if the target uses Protect, make gravity and water/mud sport ignore protect(#4180) 2024-09-11 20:58:21 -04:00
Amani H.
a6d5fc66f2
[Balance] Disable Eviolite for G-Max Pokémon (#4184)
* [Balance] Disable Eviolite for G-Max Pokémon

* Add Documentation
2024-09-11 20:56:58 -04:00
chaosgrimmon
50a7500561
[Sprite] Fix animated Cursola (#4186)
* [Sprite] Index Cursola exp

* [Sprite] Index shiny Cursola exp

* [Sprite] Update exp Cursola variant palette
2024-09-11 19:46:38 -04:00
Jannik Tappert
b33d86a1db
[BUG] Make Tate & Liza have seeded randomness #4175 2024-09-11 13:55:13 -07:00
NightKev
ce9a75f074
Replace vi.fn() with () => null whenenver possible (#4182) 2024-09-11 13:54:42 -07:00
Lugiad
89dac46dfc
[Localization] Localization batch - [Not meant to be merged until last minute] (#4127)
Co-authored-by: sodam <66295123+sodaMelon@users.noreply.github.com>
Co-authored-by: José Ricardo <josefleury@discente.ufg.br>
Co-authored-by: Chapybara-jp <charlie.beer@hotmail.com>
Co-authored-by: Asdar <asdargmng@gmail.com>
Co-authored-by: Niccolò <123510358+NicusPulcis@users.noreply.github.com>
Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
Co-authored-by: Enoch <enoch.jwsong@gmail.com>
Co-authored-by: DanStevensonx <114961842+DanStevensonx@users.noreply.github.com>
Co-authored-by: Yonmaru40 <47717431+40chyan@users.noreply.github.com>
Co-authored-by: SangaraSorama <100420976+SangaraSorama@users.noreply.github.com>
2024-09-11 13:46:26 -07:00
Frederico Santos
abb133e253
Merge pull request #4167 from DayKev/beta
Synchronize beta with main
2024-09-11 15:38:23 +01:00
NightKev
9f82d796d3 Merge branch 'main' into beta 2024-09-11 07:29:18 -07:00
Leo Kim
e657322294
[Enhancement] Update instruction for gamepad in run history UI (#4053)
* update instruction for pad in run history UI

* move getGamepadType function to ui.ts

* Update src/ui/ui.ts

Co-authored-by: Adrian T. <68144167+torranx@users.noreply.github.com>

---------

Co-authored-by: Adrian T. <68144167+torranx@users.noreply.github.com>
2024-09-10 23:45:53 -04:00
Amani H.
4808c07cf9
[Hotfix] Fix System Data Conversion Failure 2 (#4159) 2024-09-10 23:05:48 +01:00
flx-sta
e17bf592c2
[Bug] Use silent mode during tests (unless debugging!) + test workflow optimization (#4154)
* add :silent to all tests

but disable it if the runner is in debug mode!

* fix: use `--silent` instead of `:silent`

Cause the previous was npm scrpt specific (whops)

* remove env and replace with logic in each call

* reduce redundancy by checking out once

* move pre-test into `needs` after `checkout`

* use cache approach in pre-test

* add node.js install step to `setup` job

* WIP: setup -> pre-test -> all other tests

with using cache

* use matrix approach for tests

* fix matrix approach for tests

* fix wrong use of env var in `run-test-template.yml`

* test: out-comment `run-tests` to see whats wrong

* test: see if this works

* let's try using matrix again...

* make `node-version` input a string

* remove `node-version` input for now

* test: without a matrix fornow

* change usage of reuseable workflow call

* fix call of matrix.project

* try using working-dir

* try setup for pre-tests

* remove `runs-on` from run-tests

* fix some identations for run-tests

* add pre-test as requirement for running tests

* use `1` instead of `'1'` to check `runner.debug`

* add `options` input. Possible fix for debug = not silent

* try again...

* not as an ENV but inside

* move 2nd ${{ !runner.debug && '--silent' }} check into test-template

* fix printing `false` instead of empty-string on runner-debug check

* try a yml array approach

* test running with file include path

* make `project` always `main` for now

* remove all extra vitest workspaces

* adopt `shards` workflow in vitest

* fix workflow reference in tests.yml

* add missing `$` in test-shard-template.yml`

* chore: fix vitest.config.ts after merge

man.. cant trust these machines

* make `project` a variable. try to use inputs on job names

* adjust `test-shard-template` job name
2024-09-10 22:13:42 +01:00
flx-sta
14ace40634
[Misc] eslint rule to prevent .js imports (#4160)
* add `eslint-plugin-import-x` module

* add import eslint rules

* remove .js extensions

* rename account.spec to account.test

* move fontFace.setup into `setupFiles`

instead of importing it in `vitest.setup.ts`
2024-09-10 22:34:50 +02:00
MokaStitcher
d1b058fe3e
[UI] fix candy upgrade icon not updating after purchasing eggs (#4153) 2024-09-10 14:00:50 -04:00
AJ Fontaine
150ab3d1b2
[UI/UX] Make "CH-CHING!" sound when unlocking passive (#4151)
* Make "CH-CHING!" sound when unlocking passive

* Remove unused parameters in line above sound
2024-09-10 11:54:23 -04:00
Amani H.
bd4729b4c5
[Hotfix] Fix Lapsing Modifiers Not Rolling (#4152) 2024-09-10 16:53:40 +01:00
PigeonBar
5bf21a4f75
[Bug] Fix rare egg move and species rates for Manaphy eggs (#4125) 2024-09-10 10:15:07 -04:00
Madmadness65
4b8083211a
[P3 Bug] Fix Transform SFX not playing on quiet form changes (#4144) 2024-09-10 10:13:16 -04:00
MokaStitcher
9c4c19b5fb
[UI Bug] Fix HA icon not always showing in egg summary screen (#4150) 2024-09-10 10:12:17 -04:00
James Diefenbach
7dd1832072
[Hotfix] fix UI transition causing unusual freezes after egg summary shown (#4126)
* console logs n stuff

* fix bad ui transition for egg summary freeze bug (logs included)

* cleanup egg lapse phase

* touchup

* add back removed whitespace

* remove console logs

---------

Co-authored-by: James Diefenbach <z5421232@ad.unsw.edu.au>
2024-09-10 14:23:13 +01:00
Amani H.
ebb09dda34
[Hotfix] Fix Lures Refreshing on Reload (#4146) 2024-09-10 10:37:23 +01:00
Raidette
a919b9c0af
[Move] Implement After You (#1789)
* Complete after you implementation (no localization)

* reset override changes

* Remove hardcoded English text, add tests

* Fix test

* Make sure phases occur in the correct order

* fix after-you issues

- fix i18n interpolation ot state "target name" and not "pokemon name" as the target takes the offer, not the user
- fix some tsdocs
- add override to apply
- update scene.findPhase to be able to use generic types. Add tsdocs

* add move-trigger.afterYou for DE

* fix after_you.test.ts

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
2024-09-09 14:35:04 -07:00
Adrian T.
e959595471
[Test] Fix throat chop and gorilla tactics tests (#4140) 2024-09-09 16:03:29 -04:00
Jannik Tappert
d9a8448c6e
[Enhancement] Added the ability to localize the tera type hover text (#4138) 2024-09-09 15:57:07 -04:00
Adrian T.
a82d64b5b5
[Ability] Implement Gorilla Tactics (#4051)
* fully implement gorilla tactics

* fix atk increase

* update oversight

* add showAbility param

* fix postmerge

* fix postmerge

* update tests
2024-09-09 15:41:53 -04:00
AJ Fontaine
16fc3a87b7
Fix usedTMs crash (#4132) 2024-09-09 14:07:05 +01:00
Mumble
a30201f185
[Hotfix] Retrieving the correct form index for correct cry keys (#4121)
* [DOCS] adding JSDocs to `arena.ts` (#3590)

* adding some docs

* Update src/field/pokemon.ts

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>

* seems like battleStats changed to statStages

* Apply suggestions from code review

editing doc text

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

* Update tsdocs, convert comment to tsdoc in `pokemon.ts`

---------

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

* [Bug] Fix scrappy (+ some immunity move and ability) in inverse battle (#4067)

* fix scrappy + etc. update inverse battle test code

* update test code following request from swain

* fix and optimize imports (#4061)

- remove any `.js` extension imports
- remove unncessary dynamic imports of `modifier.ts` file. The file was being imported statically & dynamically. Made it pure static
- increase vite chunk-size warning limit

Co-authored-by: Mumble <171087428+frutescens@users.noreply.github.com>

* returned main

* Fixed cry key

* Revert "[DOCS] adding JSDocs to `arena.ts` (#3590)"

This reverts commit 675e6a0635.

* Revert "[Bug] Fix scrappy (+ some immunity move and ability) in inverse battle (#4067)"

This reverts commit 45af0dd170.

* Revert "fix and optimize imports (#4061)"

This reverts commit e12548cdb0.

---------

Co-authored-by: DustinLin <39450497+DustinLin@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
Co-authored-by: Leo Kim <47556641+KimJeongSun@users.noreply.github.com>
Co-authored-by: frutescens <info@laptop>
2024-09-08 22:12:37 -04:00
Amani H.
38cb10ff97
[Hotfix] Fix System Data Conversion Failure (#4123) 2024-09-09 02:50:00 +01:00
Opaque02
93d6375894
Updated all fields (except passwords) to allow for 20 characters (#4119) 2024-09-09 00:57:44 +01:00
Mumble
021f31b589
[Hotfix] Retrieve the right cry when alternate-form Pokemon faint + retrieve the correct sprite key (#4117)
* [DOCS] adding JSDocs to `arena.ts` (#3590)

* adding some docs

* Update src/field/pokemon.ts

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>

* seems like battleStats changed to statStages

* Apply suggestions from code review

editing doc text

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

* Update tsdocs, convert comment to tsdoc in `pokemon.ts`

---------

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

* [Bug] Fix scrappy (+ some immunity move and ability) in inverse battle (#4067)

* fix scrappy + etc. update inverse battle test code

* update test code following request from swain

* fix and optimize imports (#4061)

- remove any `.js` extension imports
- remove unncessary dynamic imports of `modifier.ts` file. The file was being imported statically & dynamically. Made it pure static
- increase vite chunk-size warning limit

Co-authored-by: Mumble <171087428+frutescens@users.noreply.github.com>

* Fusion hotfix

* returned main

* Faint cry properly retrieved for non fused Pokemon with forms

* Revert "[DOCS] adding JSDocs to `arena.ts` (#3590)"

This reverts commit b73fd97760.

* Revert "[Bug] Fix scrappy (+ some immunity move and ability) in inverse battle (#4067)"

This reverts commit 31fcbf49f4.

* Revert "fix and optimize imports (#4061)"

This reverts commit d1bd6974e4.

* Fixed sprite key generation

---------

Co-authored-by: DustinLin <39450497+DustinLin@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
Co-authored-by: Leo Kim <47556641+KimJeongSun@users.noreply.github.com>
Co-authored-by: frutescens <info@laptop>
2024-09-09 00:03:37 +01:00
Mumble
22c60ab532
[Hotfix][Bug] Retrieves the correct cry for Fused Pokemon (#4116)
* [DOCS] adding JSDocs to `arena.ts` (#3590)

* adding some docs

* Update src/field/pokemon.ts

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>

* seems like battleStats changed to statStages

* Apply suggestions from code review

editing doc text

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

* Update tsdocs, convert comment to tsdoc in `pokemon.ts`

---------

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

* [Bug] Fix scrappy (+ some immunity move and ability) in inverse battle (#4067)

* fix scrappy + etc. update inverse battle test code

* update test code following request from swain

* fix and optimize imports (#4061)

- remove any `.js` extension imports
- remove unncessary dynamic imports of `modifier.ts` file. The file was being imported statically & dynamically. Made it pure static
- increase vite chunk-size warning limit

Co-authored-by: Mumble <171087428+frutescens@users.noreply.github.com>

* Fusion hotfix

* Revert "fix and optimize imports (#4061)"

This reverts commit 287d671cfd.

* Revert "[Bug] Fix scrappy (+ some immunity move and ability) in inverse battle (#4067)"

This reverts commit 9fd34c95d5.

* Revert "[DOCS] adding JSDocs to `arena.ts` (#3590)"

This reverts commit 0742efd196.

* typo

* Fixed fusionFaintCry to return correct cry

---------

Co-authored-by: DustinLin <39450497+DustinLin@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
Co-authored-by: Leo Kim <47556641+KimJeongSun@users.noreply.github.com>
Co-authored-by: frutescens <info@laptop>
2024-09-08 21:42:11 +01:00
Mumble
4a98c36427
[Hotfix] Properly whitelisting fused Pokemon that happen to have Pokemon with alt. forms (#4104) 2024-09-08 02:58:24 -04:00
NightKev
55b89e82c7
[Hotfix] Remove extra Roark victory line, fix baton pass i18n in achv.ts (#4103) 2024-09-08 02:46:56 -04:00
James Diefenbach
7ab0bbbd94
[Hotfix] Fix cases where hatched Pokemon don't get an egg move (#4102)
Co-authored-by: James Diefenbach <z5421232@ad.unsw.edu.au>
2024-09-08 02:45:30 -04:00
innerthunder
8082e6dc58
[Hotfix] Fix harsh weather cancelling moves based on base type (#4097) 2024-09-08 02:29:49 -04:00
James Diefenbach
0bdb697077
[Hotfix] Show enemy item icons after egg summary (#4101)
Co-authored-by: James Diefenbach <z5421232@ad.unsw.edu.au>
2024-09-08 02:18:51 -04:00
damocleas
a214110030
Voucher Event (#4094)
* Update modifier-type.ts

* Great tier vouch

* Update trainer-victory-phase.ts

* Update trainer-victory-phase.ts

* Update timed-event-manager.ts and loading-scene.ts (#1)

* Update timed-event-manager.ts and loading-scene.ts

* egg-update-zh-cn update

* Update language codes in loading-scene.ts and timed-event-manager.ts

* updated image

---------

Co-authored-by: Frederico Santos <frederico.f.santos@tecnico.ulisboa.pt>
2024-09-08 04:17:02 +01:00
Frederico Santos
9c74a86a10
Merge pull request #4087 from pagefaultgames/beta
Release #4
2024-09-08 04:15:00 +01:00
675 changed files with 372973 additions and 1037565 deletions

View File

@ -1,7 +1,7 @@
name: Bug Report name: Bug Report
description: Create a report to help us improve description: Create a report to help us improve
title: "[Bug] " title: "[Bug] "
labels: ["Bug"] labels: ["Bug", "Triage"]
body: body:
- type: markdown - type: markdown
attributes: attributes:
@ -19,21 +19,12 @@ body:
value: | value: |
--- ---
- type: textarea - type: textarea
id: session-file id: repro
attributes: attributes:
label: Session export file label: Reproduction
description: Open Menu → ManageData → Export Session → Select slot. The file should now be in your `/Downloads` directory. Change the file extension type from `.prsv` to `.txt` (How to [Windows](https://www.guidingtech.com/how-to-change-file-type-on-windows/) | [Mac](https://support.apple.com/guide/mac-help/show-or-hide-filename-extensions-on-mac-mchlp2304/mac) | [iOS](https://www.guidingtech.com/change-file-type-extension-on-iphone/)). description: Describe the steps to reproduce this bug. If applicable attach user/session data at the bottom
placeholder: Focus me and then drop your file here (or use the upload button at the bottom)
validations: validations:
required: false required: true
- type: textarea
id: data-file
attributes:
label: User data export file
description: Open Menu → ManageData → Export Data. The file should now be in your `/Downloads` directory. Change the file extension type from `.prsv` to `.txt` (How to [Windows](https://www.guidingtech.com/how-to-change-file-type-on-windows/) | [Mac](https://support.apple.com/guide/mac-help/show-or-hide-filename-extensions-on-mac-mchlp2304/mac) | [iOS](https://www.guidingtech.com/change-file-type-extension-on-iphone/)).
placeholder: Focus me and then drop your file here (or use the upload button at the bottom)
validations:
required: false
- type: markdown - type: markdown
attributes: attributes:
value: | value: |
@ -60,48 +51,20 @@ body:
attributes: attributes:
value: | value: |
--- ---
- type: dropdown - type: textarea
id: os id: session-file
attributes: attributes:
label: What OS did you observe the bug on? label: Session export file
multiple: true description: Open Menu → ManageData → Export Session → Select slot. The file should now be in your `/Downloads` directory. Change the file extension type from `.prsv` to `.txt` (How to [Windows](https://www.guidingtech.com/how-to-change-file-type-on-windows/) | [Mac](https://support.apple.com/guide/mac-help/show-or-hide-filename-extensions-on-mac-mchlp2304/mac) | [iOS](https://www.guidingtech.com/change-file-type-extension-on-iphone/)).
options: placeholder: Focus me and then drop your file here (or use the upload button at the bottom)
- PC/Windows
- Mac/OSX
- Linux
- iOS
- Android
- Other
validations:
required: true
- type: input
id: os-other
attributes:
label: If other please specify
validations: validations:
required: false required: false
- type: markdown - type: textarea
id: data-file
attributes: attributes:
value: | label: User data export file
--- description: Open Menu → ManageData → Export Data. The file should now be in your `/Downloads` directory. Change the file extension type from `.prsv` to `.txt` (How to [Windows](https://www.guidingtech.com/how-to-change-file-type-on-windows/) | [Mac](https://support.apple.com/guide/mac-help/show-or-hide-filename-extensions-on-mac-mchlp2304/mac) | [iOS](https://www.guidingtech.com/change-file-type-extension-on-iphone/)).
- type: dropdown placeholder: Focus me and then drop your file here (or use the upload button at the bottom)
id: browser
attributes:
label: Which browser do you use?
multiple: true
options:
- Chrome
- Firefox
- Safari
- Edge
- Opera
- Other
validations:
required: true
- type: input
id: browser-other
attributes:
label: If other please specify
validations: validations:
required: false required: false
- type: markdown - type: markdown

View File

@ -1,7 +1,7 @@
name: Feature Request name: Feature Request
description: Suggest an idea for this project description: Suggest an idea for this project
title: "[Feature] " title: "[Feature] "
labels: ["Enhancement"] labels: ["Enhancement", "Triage"]
body: body:
- type: markdown - type: markdown
attributes: attributes:

View File

@ -21,10 +21,10 @@ jobs:
steps: steps:
- name: Check out Git repository # Step to check out the repository - name: Check out Git repository # Step to check out the repository
uses: actions/checkout@v2 # Use the checkout action version 2 uses: actions/checkout@v4 # Use the checkout action version 4
- name: Set up Node.js # Step to set up Node.js environment - name: Set up Node.js # Step to set up Node.js environment
uses: actions/setup-node@v1 # Use the setup-node action version 1 uses: actions/setup-node@v4 # Use the setup-node action version 4
with: with:
node-version: 20 # Specify Node.js version 20 node-version: 20 # Specify Node.js version 20
@ -32,4 +32,4 @@ jobs:
run: npm ci # Use 'npm ci' to install dependencies run: npm ci # Use 'npm ci' to install dependencies
- name: eslint # Step to run linters - name: eslint # Step to run linters
run: npm run eslint-ci run: npm run eslint-ci

View File

@ -0,0 +1,30 @@
name: Test Template
on:
workflow_call:
inputs:
project:
required: true
type: string
shard:
required: true
type: number
totalShards:
required: true
type: number
jobs:
test:
name: Shard ${{ inputs.shard }} of ${{ inputs.totalShards }}
runs-on: ubuntu-latest
steps:
- name: Check out Git repository
uses: actions/checkout@v4
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: 20
- name: Install Node.js dependencies
run: npm ci
- name: Run tests
run: npx vitest --project ${{ inputs.project }} --shard=${{ inputs.shard }}/${{ inputs.totalShards }} ${{ !runner.debug && '--silent' || '' }}

View File

@ -15,91 +15,33 @@ on:
types: [checks_requested] types: [checks_requested]
jobs: jobs:
run-misc-tests: # Define a job named "run-tests" pre-test:
name: Run misc tests # Human-readable name for the job name: Run Pre-test
runs-on: ubuntu-latest # Specify the latest Ubuntu runner for the job runs-on: ubuntu-latest
steps:
- name: Check out Git repository # Step to check out the repository
uses: actions/checkout@v4 # Use the checkout action version 4
- name: Set up Node.js # Step to set up Node.js environment
uses: actions/setup-node@v4 # Use the setup-node action version 4
with:
node-version: 20 # Specify Node.js version 20
- name: Install Node.js dependencies # Step to install Node.js dependencies
run: npm ci # Use 'npm ci' to install dependencies
- name: pre-test # pre-test to check overrides
run: npx vitest run --project pre
- name: test misc
run: npx vitest --project misc
run-abilities-tests:
name: Run abilities tests
runs-on: ubuntu-latest
steps: steps:
- name: Check out Git repository - name: Check out Git repository
uses: actions/checkout@v4 uses: actions/checkout@v4
with:
path: tests-action
- name: Set up Node.js - name: Set up Node.js
uses: actions/setup-node@v4 uses: actions/setup-node@v4
with: with:
node-version: 20 node-version: 20
- name: Install Node.js dependencies - name: Install Node.js dependencies
working-directory: tests-action
run: npm ci run: npm ci
- name: pre-test - name: Run Pre-test
run: npx vitest run --project pre working-directory: tests-action
- name: test abilities run: npx vitest run --project pre ${{ !runner.debug && '--silent' || '' }}
run: npx vitest --project abilities
run-items-tests: run-tests:
name: Run items tests name: Run Tests
runs-on: ubuntu-latest needs: [pre-test]
steps: strategy:
- name: Check out Git repository matrix:
uses: actions/checkout@v4 shard: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
- name: Set up Node.js uses: ./.github/workflows/test-shard-template.yml
uses: actions/setup-node@v4 with:
with: project: main
node-version: 20 shard: ${{ matrix.shard }}
- name: Install Node.js dependencies totalShards: 10
run: npm ci
- name: pre-test
run: npx vitest run --project pre
- name: test items
run: npx vitest --project items
run-moves-tests:
name: Run moves tests
runs-on: ubuntu-latest
steps:
- name: Check out Git repository
uses: actions/checkout@v4
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: 20
- name: Install Node.js dependencies
run: npm ci
- name: pre-test
run: npx vitest run --project pre
- name: test moves
run: npx vitest --project moves
run-battle-tests:
name: Run battle tests
runs-on: ubuntu-latest
steps:
- name: Check out Git repository
uses: actions/checkout@v4
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: 20
- name: Install Node.js dependencies
run: npm ci
- name: pre-test
run: npx vitest run --project pre
- name: test battle
run: npx vitest --project battle

View File

@ -1,7 +1,7 @@
import tseslint from '@typescript-eslint/eslint-plugin'; import tseslint from '@typescript-eslint/eslint-plugin';
import stylisticTs from '@stylistic/eslint-plugin-ts' import stylisticTs from '@stylistic/eslint-plugin-ts'
import parser from '@typescript-eslint/parser'; import parser from '@typescript-eslint/parser';
// import imports from 'eslint-plugin-import'; // Disabled due to not being compatible with eslint v9 import importX from 'eslint-plugin-import-x';
export default [ export default [
{ {
@ -11,7 +11,7 @@ export default [
parser: parser parser: parser
}, },
plugins: { plugins: {
// imports: imports.configs.recommended // Disabled due to not being compatible with eslint v9 "import-x": importX,
'@stylistic/ts': stylisticTs, '@stylistic/ts': stylisticTs,
'@typescript-eslint': tseslint '@typescript-eslint': tseslint
}, },
@ -39,7 +39,8 @@ export default [
}], }],
"space-before-blocks": ["error", "always"], // Enforces a space before blocks "space-before-blocks": ["error", "always"], // Enforces a space before blocks
"keyword-spacing": ["error", { "before": true, "after": true }], // Enforces spacing before and after keywords "keyword-spacing": ["error", { "before": true, "after": true }], // Enforces spacing before and after keywords
"comma-spacing": ["error", { "before": false, "after": true }] // Enforces spacing after comma "comma-spacing": ["error", { "before": false, "after": true }], // Enforces spacing after comma
"import-x/extensions": ["error", "never", { "json": "always" }], // Enforces no extension for imports unless json
} }
} }
] ]

200
package-lock.json generated
View File

@ -28,6 +28,7 @@
"@vitest/coverage-istanbul": "^2.0.4", "@vitest/coverage-istanbul": "^2.0.4",
"dependency-cruiser": "^16.3.10", "dependency-cruiser": "^16.3.10",
"eslint": "^9.7.0", "eslint": "^9.7.0",
"eslint-plugin-import-x": "^4.2.1",
"jsdom": "^24.0.0", "jsdom": "^24.0.0",
"lefthook": "^1.6.12", "lefthook": "^1.6.12",
"phaser3spectorjs": "^0.0.8", "phaser3spectorjs": "^0.0.8",
@ -2505,6 +2506,19 @@
"node": ">=8" "node": ">=8"
} }
}, },
"node_modules/doctrine": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
"integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==",
"dev": true,
"license": "Apache-2.0",
"dependencies": {
"esutils": "^2.0.2"
},
"engines": {
"node": ">=6.0.0"
}
},
"node_modules/eastasianwidth": { "node_modules/eastasianwidth": {
"version": "0.2.0", "version": "0.2.0",
"resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz",
@ -2687,6 +2701,155 @@
"url": "https://opencollective.com/eslint" "url": "https://opencollective.com/eslint"
} }
}, },
"node_modules/eslint-import-resolver-node": {
"version": "0.3.9",
"resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz",
"integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==",
"dev": true,
"license": "MIT",
"dependencies": {
"debug": "^3.2.7",
"is-core-module": "^2.13.0",
"resolve": "^1.22.4"
}
},
"node_modules/eslint-import-resolver-node/node_modules/debug": {
"version": "3.2.7",
"resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
"integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"ms": "^2.1.1"
}
},
"node_modules/eslint-plugin-import-x": {
"version": "4.2.1",
"resolved": "https://registry.npmjs.org/eslint-plugin-import-x/-/eslint-plugin-import-x-4.2.1.tgz",
"integrity": "sha512-WWi2GedccIJa0zXxx3WDnTgouGQTtdYK1nhXMwywbqqAgB0Ov+p1pYBsWh3VaB0bvBOwLse6OfVII7jZD9xo5Q==",
"dev": true,
"license": "MIT",
"dependencies": {
"@typescript-eslint/utils": "^8.1.0",
"debug": "^4.3.4",
"doctrine": "^3.0.0",
"eslint-import-resolver-node": "^0.3.9",
"get-tsconfig": "^4.7.3",
"is-glob": "^4.0.3",
"minimatch": "^9.0.3",
"semver": "^7.6.3",
"stable-hash": "^0.0.4",
"tslib": "^2.6.3"
},
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
},
"peerDependencies": {
"eslint": "^8.57.0 || ^9.0.0"
}
},
"node_modules/eslint-plugin-import-x/node_modules/@typescript-eslint/scope-manager": {
"version": "8.5.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.5.0.tgz",
"integrity": "sha512-06JOQ9Qgj33yvBEx6tpC8ecP9o860rsR22hWMEd12WcTRrfaFgHr2RB/CA/B+7BMhHkXT4chg2MyboGdFGawYg==",
"dev": true,
"license": "MIT",
"dependencies": {
"@typescript-eslint/types": "8.5.0",
"@typescript-eslint/visitor-keys": "8.5.0"
},
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/typescript-eslint"
}
},
"node_modules/eslint-plugin-import-x/node_modules/@typescript-eslint/types": {
"version": "8.5.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.5.0.tgz",
"integrity": "sha512-qjkormnQS5wF9pjSi6q60bKUHH44j2APxfh9TQRXK8wbYVeDYYdYJGIROL87LGZZ2gz3Rbmjc736qyL8deVtdw==",
"dev": true,
"license": "MIT",
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/typescript-eslint"
}
},
"node_modules/eslint-plugin-import-x/node_modules/@typescript-eslint/typescript-estree": {
"version": "8.5.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.5.0.tgz",
"integrity": "sha512-vEG2Sf9P8BPQ+d0pxdfndw3xIXaoSjliG0/Ejk7UggByZPKXmJmw3GW5jV2gHNQNawBUyfahoSiCFVov0Ruf7Q==",
"dev": true,
"license": "BSD-2-Clause",
"dependencies": {
"@typescript-eslint/types": "8.5.0",
"@typescript-eslint/visitor-keys": "8.5.0",
"debug": "^4.3.4",
"fast-glob": "^3.3.2",
"is-glob": "^4.0.3",
"minimatch": "^9.0.4",
"semver": "^7.6.0",
"ts-api-utils": "^1.3.0"
},
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/typescript-eslint"
},
"peerDependenciesMeta": {
"typescript": {
"optional": true
}
}
},
"node_modules/eslint-plugin-import-x/node_modules/@typescript-eslint/utils": {
"version": "8.5.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.5.0.tgz",
"integrity": "sha512-6yyGYVL0e+VzGYp60wvkBHiqDWOpT63pdMV2CVG4LVDd5uR6q1qQN/7LafBZtAtNIn/mqXjsSeS5ggv/P0iECw==",
"dev": true,
"license": "MIT",
"dependencies": {
"@eslint-community/eslint-utils": "^4.4.0",
"@typescript-eslint/scope-manager": "8.5.0",
"@typescript-eslint/types": "8.5.0",
"@typescript-eslint/typescript-estree": "8.5.0"
},
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/typescript-eslint"
},
"peerDependencies": {
"eslint": "^8.57.0 || ^9.0.0"
}
},
"node_modules/eslint-plugin-import-x/node_modules/@typescript-eslint/visitor-keys": {
"version": "8.5.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.5.0.tgz",
"integrity": "sha512-yTPqMnbAZJNy2Xq2XU8AdtOW9tJIr+UQb64aXB9f3B1498Zx9JorVgFJcZpEc9UBuCCrdzKID2RGAMkYcDtZOw==",
"dev": true,
"license": "MIT",
"dependencies": {
"@typescript-eslint/types": "8.5.0",
"eslint-visitor-keys": "^3.4.3"
},
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/typescript-eslint"
}
},
"node_modules/eslint-scope": { "node_modules/eslint-scope": {
"version": "8.0.2", "version": "8.0.2",
"resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.0.2.tgz", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.0.2.tgz",
@ -3143,6 +3306,19 @@
"url": "https://github.com/sponsors/sindresorhus" "url": "https://github.com/sponsors/sindresorhus"
} }
}, },
"node_modules/get-tsconfig": {
"version": "4.8.0",
"resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.8.0.tgz",
"integrity": "sha512-Pgba6TExTZ0FJAn1qkJAjIeKoDJ3CsI2ChuLohJnZl/tTU8MVrq3b+2t5UOPfRa4RMsorClBjJALkJUMjG1PAw==",
"dev": true,
"license": "MIT",
"dependencies": {
"resolve-pkg-maps": "^1.0.0"
},
"funding": {
"url": "https://github.com/privatenumber/get-tsconfig?sponsor=1"
}
},
"node_modules/glob-parent": { "node_modules/glob-parent": {
"version": "6.0.2", "version": "6.0.2",
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
@ -4854,6 +5030,16 @@
"node": ">=4" "node": ">=4"
} }
}, },
"node_modules/resolve-pkg-maps": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz",
"integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==",
"dev": true,
"license": "MIT",
"funding": {
"url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1"
}
},
"node_modules/reusify": { "node_modules/reusify": {
"version": "1.0.4", "version": "1.0.4",
"resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
@ -5069,6 +5255,13 @@
"node": ">=0.10.0" "node": ">=0.10.0"
} }
}, },
"node_modules/stable-hash": {
"version": "0.0.4",
"resolved": "https://registry.npmjs.org/stable-hash/-/stable-hash-0.0.4.tgz",
"integrity": "sha512-LjdcbuBeLcdETCrPn9i8AYAZ1eCtu4ECAWtP7UleOiZ9LzVxRzzUZEoZ8zB24nhkQnDWyET0I+3sWokSDS3E7g==",
"dev": true,
"license": "MIT"
},
"node_modules/stackback": { "node_modules/stackback": {
"version": "0.0.2", "version": "0.0.2",
"resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz", "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz",
@ -5460,6 +5653,13 @@
"node": ">=6" "node": ">=6"
} }
}, },
"node_modules/tslib": {
"version": "2.7.0",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz",
"integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==",
"dev": true,
"license": "0BSD"
},
"node_modules/type-check": { "node_modules/type-check": {
"version": "0.4.0", "version": "0.4.0",
"resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",

View File

@ -32,6 +32,7 @@
"@vitest/coverage-istanbul": "^2.0.4", "@vitest/coverage-istanbul": "^2.0.4",
"dependency-cruiser": "^16.3.10", "dependency-cruiser": "^16.3.10",
"eslint": "^9.7.0", "eslint": "^9.7.0",
"eslint-plugin-import-x": "^4.2.1",
"jsdom": "^24.0.0", "jsdom": "^24.0.0",
"lefthook": "^1.6.12", "lefthook": "^1.6.12",
"phaser3spectorjs": "^0.0.8", "phaser3spectorjs": "^0.0.8",

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 198 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

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