Compare commits

...

1582 Commits

Author SHA1 Message Date
damocleas
965f92ba0f
Minor Update 1.9.6 to Main
1.9.6 to Main
2025-06-18 21:20:58 -04:00
AJ Fontaine
4de7858f00
[i18n] Update locales (#6010)
Update locales
2025-06-18 21:19:25 -04:00
NightKev
e3c8e3141e
Merge pull request #6009 from Fontbane/locafix
[i18n] Map "biome" namespace to the filename change to "biomes" (#6001)
2025-06-18 18:14:37 -07:00
NightKev
30b2f95a30 [i18n] Map "biome" namespace to the filename change to "biomes" (#6001)
* [i18n] Map "biome" to the filename "biomes"

* Update locales submodule to bring in file rename
2025-06-18 21:11:15 -04:00
AJ Fontaine
1d669719a0
Bump version name to 1.9.6 2025-06-18 19:53:13 -04:00
AJ Fontaine
663e047af8
[Event] W event (#6006)
W event
2025-06-18 19:52:40 -04:00
AJ Fontaine
80ae42d3ba
[Sprite] Minior and Ferrothorn variants (#6005)
* Minior variants

* Add Ferrothorn variants

* Fix shiny Minior front and icons
2025-06-18 19:49:21 -04:00
AJ Fontaine
59a00e0af3
[Sprite] Fix Appletun variants (#6003)
Fix Appletun variants
2025-06-17 23:54:58 -04:00
Dean
18ba33e6f0
[Bug] Fix zombie pokemon in Fun+Games ME (#5992) 2025-06-15 00:36:28 -07:00
Sirz Benjie
a9869569fa
Fix sprite variant recolor 2025-06-09 23:24:39 -05:00
NightKev
a26a930980
Fix Version Number 1.9.4 -> 1.9.5 2025-06-02 20:00:23 -04:00
damocleas
ddc160b862
Hotfix 1.9.5 to Main
Hotfix 1.9.5 to main
2025-05-27 23:56:48 -04:00
NightKev
a98f897591 [Bug] Fix Dipplin's weight (was mistakenly set to the lbs value) 2025-05-27 05:02:58 -07:00
NightKev
999cbf911e [Bug] Fix Pichu form weights (61.5 -> 2) 2025-05-27 03:56:52 -07:00
NightKev
b803f6f18a [i18n] Update locales (#5875) 2025-05-27 03:34:20 -07:00
Sirz Benjie
e053ead67c [Bug] Fix crash caused by switching in a transformed pokemon (#5864)
* Force reset summon data and load assets prior to switch in

* Update src/phases/switch-summon-phase.ts
2025-05-27 03:34:14 -07:00
AJ Fontaine
8410aee3a1 [Sprite] Fix Cacturne and Kyurem variants 2025-05-27 03:34:02 -07:00
damocleas
7756f35d79
[i18n] Update locales
[i18n] Update locales
2025-05-20 08:31:42 -04:00
NightKev
dda94c7b22 [i18n] Update locales 2025-05-19 17:18:26 -07:00
damocleas
10fced4f03
Hotfix 1.9.4 to Main
Hotfix 1.9.4 to main
2025-05-18 10:17:32 -04:00
Sirz Benjie
9ae969117b
[Bug][UI/UX] Fix fiery fallout message bug (#5834)
* Fix fiery fallout message bug

* Ensure pokemon names are replaced when there is no separator
2025-05-18 00:22:09 -05:00
NightKev
22f5ed1232 [i18n] Update locales 2025-05-17 20:34:06 -07:00
Sirz Benjie
4376a22a7c
[Bug] Fix field moves always playing their animations (#5830) 2025-05-17 14:04:16 -07:00
Jimmybald1
998619e7e5
[Bug] IVs of trainers were incorrectly using the battle seed (#5822)
* Fixed IVs of trainers using the Battle Seed.

* Renamed the randSeedInt functions that use the Battle Seed to randBattleSeedInt functions

* Incorrectly used this in common

* Fixed tests that were still calling the old function name

---------

Co-authored-by: damocleas <damocleas25@gmail.com>
Co-authored-by: Bertie690 <136088738+Bertie690@users.noreply.github.com>
Co-authored-by: AJ Fontaine <36677462+Fontbane@users.noreply.github.com>
Co-authored-by: Dean <69436131+emdeann@users.noreply.github.com>
Co-authored-by: lxy-lxy-lxy <55084073+lxy-lxy-lxy@users.noreply.github.com>
Co-authored-by: Xavion3 <xavion333@gmail.com>
Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
Co-authored-by: Lylian BALL <131535108+PyGaVS@users.noreply.github.com>
Co-authored-by: Jimmybald1 <147992650+IBBCalc@users.noreply.github.com>
2025-05-17 10:36:16 -05:00
Dean
0c48fff14b
[Bug] Fix Substitute sprite crash & revived Pokemon softlock (#5829)
Break `resetSummonData` into two methods

Co-authored-by: damocleas <damocleas25@gmail.com>
Co-authored-by: Bertie690 <136088738+Bertie690@users.noreply.github.com>
Co-authored-by: AJ Fontaine <36677462+Fontbane@users.noreply.github.com>
Co-authored-by: lxy-lxy-lxy <55084073+lxy-lxy-lxy@users.noreply.github.com>
Co-authored-by: Xavion3 <xavion333@gmail.com>
Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
Co-authored-by: Lylian BALL <131535108+PyGaVS@users.noreply.github.com>
2025-05-17 10:35:38 -05:00
NightKev
84192cd323 Update version to 1.9.4 2025-05-15 14:51:16 -07:00
damocleas
a1d736b950
Hotfix 1.9.3 to Main
Hotfix 1.9.3 to main
2025-05-12 21:15:58 -04:00
NightKev
30ba53894e [i18n] Update locales 2025-05-12 17:58:28 -07:00
Sirz Benjie
9b1a222935
[Bug] Fix old session load modifier crash (#5814)
Fix inability to load saves due to modifier type being nulled
2025-05-12 22:33:52 +02:00
Dean
d790b30a30
[Bug][Hotfix] Fix Transformed Sprites not loading properly (#5808)
* Fix ditto sprite not loading properly

* Remove review comment
2025-05-11 18:23:37 -07:00
Sirz Benjie
6c6821b47d
[Bug] [Move] Fix KO causing effects to occur twice (#5811)
* Fix firstTarget calculation when a target was fainted

* Update type annotation in applyMoveEffects

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

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-05-11 21:10:19 -04:00
damocleas
e7f0ea624b
[Bug][Move] Fix move effects not applying with multi-lens 2025-05-11 20:56:00 -04:00
Sirz Benjie
09e38bad39
Set lastHit to true when target faints during multi-hit move 2025-05-10 19:05:18 -05:00
Dean
0712f86462
[Bug][Hotfix] Fix crashes when loading save with a transformed pokemon (#5806)
* Fix speciesForm being saved incorrectly

* Fix transformed icon

* Fix moveset loading errors
2025-05-09 01:34:28 -07:00
NightKev
b183f26330 Update version to 1.9.3 2025-05-09 00:16:06 -07:00
damocleas
efebb9c9cf
Hotfix 1.9.2 to Main
Hotfix 1.9.2 to Main
2025-05-08 01:00:56 -04:00
Dean
5a58abfddf
[Bug][Hotfix] Suppress Illusion if NG is already active (#5797)
* Suppress preSummon attrs off field

* Add test case
2025-05-07 21:04:24 -07:00
Jimmybald1
530b2b8a00
[Bug] Fix seed not being reset in Select Biome Phase (#5794)
Fix seed not being reset now that Select Biome Phase goes before New Battle

Co-authored-by: Jimmybald1 <147992650+IBBCalc@users.noreply.github.com>
2025-05-07 21:03:22 -07:00
NightKev
cf1367cece
[Bug] PokemonSummonData movesets will now be loaded correctly (#5793) 2025-05-07 21:02:16 -07:00
NightKev
fa6c51d1e2
[Bug] Prevent some corrupt eggs from crashing the game (#5787)
If an egg is somehow a species that doesn't have an associated egg tier
(such as Pikachu), `Egg#getEggTier` now falls back to `EggTier.COMMON`
2025-05-07 21:01:54 -07:00
lxy-lxy-lxy
5ba294ffee
[Bug] Lock Capsule not locking rarities consistently (#5786) 2025-05-07 08:05:32 -07:00
NightKev
4aa0eac5aa Update version to 1.9.2 2025-05-06 04:33:10 -07:00
damocleas
3ba1ed3fb4
Hotfixes 1.9.1 to Main
Hotfix 1.9.1 -> main
2025-05-05 22:37:53 -04:00
Lylian BALL
4f541a8dce
[Bug] Fix some moves using illusion type instead of real type (#5772)
* fix revelation dance using the type of the illusion instead of the actual type

* fix other move that might get the illusion type as well

* fix other move that might get the illusion type as well

* fix abilities that might get the illusion type as well

* fix illusion icon in party ui handler

* Fix TSDoc for `Pokemon#getTypes`

* Remove now-unnecessary changes to `.getTypes()` calls

Revert `overrides.ts` changes

* Replace `|| false` with `!!`

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-05-05 18:31:11 -07:00
Sirz Benjie
e677e2725e
Update locales 2025-05-05 19:52:13 -05:00
Sirz Benjie
4203513db2
[Bug] Ensure shiny and variant status respects illusion properly (#5784)
Ensure shiny and variant status respects illusion properly
2025-05-05 19:49:59 -05:00
AJ Fontaine
b42b2f6752
[Test] Fix sprite test due to unused files (#5783)
Fix sprite test due to unused files
2025-05-05 20:38:49 -04:00
Sirz Benjie
3161461b6c
[Bug][UI/UX] Update battle-info inside pokemon#damageAndUpdate (#5778)
* Update battle-info inside pokemon#damageAndUpdate

* Ensure updatePokemonHp does not skip last hp number
2025-05-05 18:35:51 -04:00
AJ Fontaine
92f1cfdd50
[Hotfix] Remove Charcadet line from exp variant masterlist (#5782)
* Remove Charcadet line from exp variant masterlist

* Remove line's backsprite from masterlist
2025-05-05 18:34:17 -04:00
Sirz Benjie
ae25a70b4d
[Bug][UI/UX] Ensure pokemon hop when animations are selected (#5781)
Ensure pokemon hop when animations are selected
2025-05-05 17:36:22 -04:00
Xavion3
a3039ef6a6
[Bug] Fix shiny save bug (#5780)
Correctly determine shininess and variant during saving
2025-05-05 17:34:35 -04:00
AJ Fontaine
bd913a201c
[Sprite] Fix Clauncher consistent variants, floating Jangmo-o (#5777)
Fix Clauncher consistent variants, flying Jangmo-o
2025-05-05 17:18:24 -04:00
lxy-lxy-lxy
7547b37e85
[Bug] Fix local save encoding crash and Psychic anim (#5775)
* fix error: utf8 to base64

* fix error: space missed
2025-05-05 08:32:56 -05:00
Dean
e3028c6219
[Bug][Hotfix] Always show hit result message (#5769)
Always show hit result
2025-05-04 18:35:44 -04:00
damocleas
fa774268ca
Add files via upload 2025-05-04 10:36:57 -04:00
Dean
c31bd9ef61
[Bug][Hotfix] Secondary effects no longer trigger status immunity messages (#5764)
Fix secondary effects triggering status immunity messages
2025-05-03 23:04:04 -07:00
AJ Fontaine
b353b0de62
[Hotfix] Fix evil grunts using wrong template (#5763) 2025-05-03 22:59:37 -07:00
damocleas
9e433c85a9
Add missing zh-CN Spring Banner 2025-05-03 23:19:18 -04:00
Bertie690
b5cfa88455
[Tiny] Removed unused loc in v1_9_0.ts (#5760) 2025-05-03 20:07:50 -07:00
NightKev
04bfaf901a Update version to 1.9.1 2025-05-03 19:59:49 -07:00
damocleas
8dd6ba29a1
Release 1.9.0
Release 1.9.0
2025-05-03 22:14:21 -04:00
dependabot[bot]
1042b528ec
Bump vite from 6.2.4 to 6.3.4 (#5758)
* Bump vite from 6.2.4 to 6.3.4

Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 6.2.4 to 6.3.4.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v6.3.4/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-version: 6.3.4
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>

* Update `rollup` version in `package-lock.json`

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-05-03 13:07:37 -04:00
damocleas
a5311779b4
[Misc] More Spring (#5759)
extendo evento
2025-05-03 12:59:55 -04:00
Sirz Benjie
9283be652d
[GitHub] Create release action workflows (#5743)
* Create release actions

* Add release branch to push/pull events that invoke test workflows
2025-05-03 08:47:04 +00:00
NightKev
cedeaf8668
[Bug] Fix crash when loading a save with a statused Pokemon (#5756) 2025-05-02 19:55:48 -07:00
AJ Fontaine
24939ad2e0
[Balance][Mystery][Beta] Salesman doesn't offer event mons without HA or shiny (#5746)
Don't offer event mons without HA or shiny
2025-05-03 01:52:51 +00:00
Madmadness65
3cb3fd15ec
[Sprite] Add missing variant icons, fix misnamed variant icons (#5751)
Add missing variant icons, fix misnamed variant icons
2025-05-03 01:50:23 +00:00
Madmadness65
a8382d71fc Remove Mudbray from spring event
At the request of Damocleas
2025-05-02 20:45:35 -05:00
Madmadness65
5fc379c405 [i18n] Update locales 2025-05-02 20:43:13 -05:00
damocleas
cdeb143643
Version 1.8.5 -> 1.9.0
* Update package.json

* Update package-lock.json
2025-05-02 21:41:11 -04:00
damocleas
bf0abd3ddc
[Move] [Beta] Undo Order Up Sheer Force change (#5750)
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-05-02 20:32:59 -05:00
Blitzy
75d01adf9a
[Bug] Disable Illusion in Fusions (#5752)
Update ability.ts
2025-05-02 21:05:48 -04:00
damocleas
3a89b7bb75
[Balance] [Beta] 1.9 Egg Move Followup (#5749)
Update egg-moves.ts for Aerodactyl Amaura Diglett
2025-05-02 17:38:30 -04:00
damocleas
8f0eee9c4c
[Balance] [Mystery Encounter] Many Minor Mystery Encounter Adjustments (#5726)
* Update slumbering-snorlax-encounter.ts

* Add Slumbering Snorlax to Tall Grass, remove Absolute Avarice from Plains

* Update absolute-avarice-encounter.ts

* Update absolute-avarice-encounter.ts

* Update slumbering-snorlax-encounter.ts

* Update slumbering-snorlax-encounter.ts

* Update the-expert-pokemon-breeder-encounter.ts

* Update slumbering-snorlax-encounter.ts nature

* Update bug-type-superfan-encounter.ts move reward

* Update bug-type-superfan-encounter.ts moves again

* fix encounter waves

* Update absolute-avarice-encounter.test.ts

* add Nature import

* Update bug-type-superfan-encounter.test.ts

* greedent moves

* test moves

* Updated mysterious-chest-encounter.ts trap/reward chance

* swapped Macho Brace stats, +2 / 10% for HP stats and +1 / 5% for all else

* Update bug-type-superfan-encounter.ts moves

* Update the-expert-pokemon-breeder-encounter.ts tera

* Update bug-type-superfan-encounter.test.ts fix test
2025-05-02 01:11:02 -04:00
Bertie690
6d90649b92
[Refactor/Bug/Ability] Reworked BattleData, fixed Rage Fist, Harvest, Belch + Implemented Cud Chew (#5655)
* Grabbed reverted changes from stuff

* Added version migrator for rage fist data + deepMergeSpriteData tests

* fixed formattign

* Fied a few

* Fixed constructor (maybe), moved deepCopy and deepMergeSpriteData to own file

`common.ts` is hella bloated so seems legit

* Moved empty moveset verification mapping thing to upgrade script bc i wanted to

* Fixed tests

* test added

* Fixed summondata being cleared inside summonPhase, removed `summonDataPrimer`

like seriously how come no-one checked this

* Fixed test

I forgot that we outsped and oneshot

* Fixed test

* huhjjjjjb

* Hopefully fixed bug

my sanity and homework are paying the price for this lol

* added commented out console.log statement

uncomment to see new berry data

* Fixed migrate script, re-added deprecated attributes out of necessity

* Fixed failing test by not trying to mock rng

* Fixed test

* Fixed tests

* Update ability.ts

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

* Update ability.ts

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

* Update overrides.ts

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

* Update berry-phase.ts

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

* Update encounter-phase.ts

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

* Update game-data.ts

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

* Update move-phase.ts

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

* Added utility function `randSeedFloat`

basically just `Phaser.math.RND.realInRange(0, 1)`

* Applied review comments, cleaned up code a bit

* Removed unnecessary null checks for turnData and co.

I explicitly made them initialized by default for this very reason

* Added tests for Last Resort regarding moveHistory

* Update pokemon.ts

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

* Update pokemon.ts

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

* Update pokemon.ts

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

* Update pokemon.ts

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

* Update pokemon.ts

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

* Update pokemon.ts

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

* Update pokemon.ts

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

* Update pokemon.ts

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

* Update battle-scene.ts

Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>

* Update the-winstrate-challenge-encounter.ts

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

* Update pokemon.ts

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

* Update pokemon.ts

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

* Update pokemon.ts

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

* Update ability.ts

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

* Update move.ts

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

* Update move.ts

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

* Update move.ts

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

* Update battle-anims.ts

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

* Update pokemon.ts comments

* Fixed a few outstanding issues with documentation

* Updated switch summon phase comment

* Re-added BattleSummonData as TempSummonData

* Hppefully fixed -1 sprite scale glitch

* Fixed comment

* Reveted `pokemon-forms.ts`

* Fuxed constructor

* fixed -1 bug

* Revert "Added utility function `randSeedFloat`"

This reverts commit 4c3447c851.

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
2025-05-02 00:06:07 -05:00
damocleas
fa86ea3214
[Misc] Spring Stuff (#5742)
* Update timed-event-manager.ts

* spr25 images

* Update the-pokemon-salesman-encounter.ts rolls
2025-05-01 22:54:59 -04:00
Dean
7a9fc3fc8d
[Bug] Clear status immediately in menus (#5739)
Add asPhase parameter
2025-05-01 22:50:56 -04:00
Sirz Benjie
3af1bdbcff
[Bug][Ability] Fix change move type abilities (#5665)
* Make type changing moves change type after abilities but before ion deluge/electrify

* Create unified test file for galvanize, pixilate, and refrigerate

* Make type boost items like silk scarf affect the move after its type change

* Add tests for type boost item interaction

* Remove leftover log messages

* Update spies in type-change ability tests

* Add automated tests for normalize

* Fix test name injection for tera blast

* Add automated test for tera blast normalize interaction

* Restore pokemon as a type-only import in moves.ts

* Add aerilate to type changing tests

* Rename galvanize test file

* Fix utils import

* Apply suggestions from code review

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

* Remove unnecessary mockRestore

* Remove unnecessary nullish coalescing

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

* Update src/field/pokemon.ts

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

---------

Co-authored-by: Madmadness65 <59298170+Madmadness65@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-05-01 22:41:57 -04:00
Xavion3
8eeec9511b
[Bug] Correctly get cursor position in command UI (#5740)
Correctly get cursor position in command UI

Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
2025-05-02 01:18:38 +00:00
Bertie690
da3b2e0edd
[Docs] Added changes to markdown files + comment fixes (#5682)
* Added changes to markdown files, reworked test boilerplate code + comment fixes

* Update comments.md

Removed references to jsdoc.
Removed mention of @extends which doesn't even exist in tsdoc
Increased clarity of documenting `args` parameter.
Moved to using active voice instead of passive voice

* Fix truncated sentence in returns example

* fix create-test-boilerplate.js

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

* Update gameManager.ts

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

* Update comments.md

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

* Update gameManager.ts

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

* Update gameManager.ts

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

* Update gameManager.ts

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

* Update gameManager.ts

* Fixed doc thing

* Fixed the things

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

* Fixde boilerplate to use snake case

* Update .gitignore to include workspace files

* Update linting.md, fix lefthook etc.

* Fix tpyo

* Update create-test-boilerplate.js

Co-authored-by: Dean <69436131+emdeann@users.noreply.github.com>

* Update create-test-boilerplate.js

Co-authored-by: Dean <69436131+emdeann@users.noreply.github.com>

* Update create-test-boilerplate.js

Co-authored-by: Dean <69436131+emdeann@users.noreply.github.com>

* Reverted boilerplate code fixes and applied review comments

Will now be handled by milkmaiden

* Fixed up documentation for comments.md and linting.md

Comments.md added info pertaining to Kev's review
linting.md i just stopped spouting misinformation

* Update `biome.jsonc` comments

Update `comments.md`

Update docs for `AddSubstituteAttr` in `move.ts` to match example

* Apply suggestions to the suggestions

---------

Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: Dean <69436131+emdeann@users.noreply.github.com>
2025-05-02 00:24:37 +00:00
Unicorn_Power
bee06410dd
[Sprite] Variant Spring Implementation (#5483)
* 566 567 variant icons and palettes @ bytezor

* Add Archen & Archeops to variant icon atlas

* [554 - 555 + zen ] Variant Implementation

* [626 ] Variant Implementation

* Removal of The base-replacement Genies

* [ 746 ]-[ 746-school ] Implementation

* Variant Palette for 2037-2038

* Variant palette 32-33-34

Plus base fix for front and back 34.

* 645 both forms variant palette

Icons gets pushed at a later date.

* 299 - 476 variant palette

* 299 - 476 _masterlist

somehow mangage to miss this

* Removing 905 who wasnt working correctly

* 422- 421 both forms variant palettes

* 143+ form - 446 variant Palette

* 417 Variant palette

* 498-499-500 variant palette

* 88-89 variant palette

plus the variant json for 500 I missed

* 572 - 573 variant palette.

found another lose one that should be pushed lmao

* 187-188-189 Variant palette

* 871 variant palette

* 780 Variant palette

* 331 332 + female variant palette

* 782-783-784 variant palette

transfer to consistent sprite set. removal of exp. due to statics not lining up.

* 2038 json adjustments on breaking

* 204 205 variant palette

* [Bug][UI/UX] Fix type hint after enemy disappears (#5677)

* Fix type hint after enemy disappears

* Add automated test for type hint bugfix

* Make onField default to true

* Replace reference to Mode with UiMode and battleType with BattleStyle

* [Bug] Fix Login Screen Buttons can be Pressed While Animating (#5170)

* destroy containers when processing external containers

* make form buttons uninteractible until tweens finished instead

* fix holding enter spam

* fix conflicts

* [Balance] Update Gym Leader Teams and Teras (#5670)

* Update Gym Leader Teams

* Set Tera slots for Gym Leaders

* Change Giovanni's Specialty Type to Ground

---

Co-authored-by: damocleas <damocleas25@gmail.com>

* [Bug] Properly handle suppression with Illusion (#5671)

* Remove extra attributes on neutralizing gas

* Add IllusionBreakAbAttr to applyOnLose

* Add test case

* [Bug] Fix order of operations when displaying enemy Boss level (#5685)

* order of operations in creating boss battleInfo

fixed a bug where because of an order of operations error in this file it ignored the position update of the boss life value set in battle-info.ts (around line 562)

* [Dev] Fix imports in `overrides.ts` and `illusion.test.ts` (#5686)

* applin familly variant palette

* 522 523 variant palette

* 403 404 405 variant palette

* 511 512 515 516 variant palette

masterlist have code for 513 514 but fixes was broken add will be added once fixed

* 313 314 variant palettes

plus disabaling Landorus and other 2.

* 692 693 Variant palette.

* 535 536 537 variant palette

fixing up mess found in masterlist json and the masterlist inclusion of 692 693

* 207 female variants palette

plus adjustments of gliscor color to have better contrats.

* 325 326 variant palette

* 345 346 variant palette

* Adding all variant Icons

to the correct folder under variant icons.

* Removal of Variant files triggering errors for sprite test

these arent going to be implemented at this time due to the other 3 not being ready.

* File adjustment

the animation adjsutment for 750 to make the neck look less like a block.
fixing the line issue that appeared in 523 back sprite

* fixing the variant break for 572 573

* 513 514 variant palette

been fully fix and is not working

* 396 397 398 variant palette

* fixing back variant palette and fix for 554

* fixing the missing files for 692 and 693

* Updated masterlist

* fix flagging issue

* Update all Pokemon variant icon atlases

Fixed incorrectly sized Bouffalant icons, re-exported gen 5 icon atlas as it had broken graphics in it

* Last Gen 5 icons

* Export gen 5 variant icon atlas

* 643 644 646 + form variant palette

---------

Co-authored-by: Madmadness65 <blaze.the.fireman@gmail.com>
Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
Co-authored-by: Chris <75648912+ChrisLolz@users.noreply.github.com>
Co-authored-by: Blitzy <118096277+Blitz425@users.noreply.github.com>
Co-authored-by: damocleas <damocleas25@gmail.com>
Co-authored-by: Dean <69436131+emdeann@users.noreply.github.com>
Co-authored-by: zaccie <zaccie.adams@gmail.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-05-01 20:12:57 -04:00
damocleas
d3a1b42628
[Balance] 1.9 Passive and Egg Move Changes (#5741)
* Update passives.ts

* Update egg-moves.ts
2025-05-02 00:59:45 +02:00
Sirz Benjie
ff7860413a
[Bug][Ability] Fix shell armor not blocking crits (#5737)
Fix shell armor not blocking crits
2025-05-01 19:20:03 +00:00
Madmadness65
a81cac547b
[Sprite] Update Mystical Rock sprite with smaller variant (#5734)
Update Mystical Rock sprite with smaller variant

Co-authored-by: damocleas <damocleas25@gmail.com>
2025-05-01 14:15:36 -04:00
Wlowscha
cdcc338afd
[UI/UX] Caught battle forms are displayed correctly in Pokédex (#5697)
* isCaught function in Dex now returns the correct result

* Removed log messages

* Added tests to check caught status of battle forms

* Update src/ui/pokedex-page-ui-handler.ts

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

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-05-01 02:17:21 +00:00
damocleas
fd5612e253 [i18n] Update locales
fix
2025-04-30 18:48:06 -04:00
NightKev
9187edcf6c
[i18n] Update locales (#5736) 2025-04-30 18:45:52 -04:00
Sirz Benjie
ef9a867e67
[Bug] Fix clear ignoring errors from server (#5722)
* Fix clear ignoring errors from server

* Update tests to expect a throw
2025-04-29 23:55:42 -07:00
Sirz Benjie
84a2ce979f
[GitHub] Update pull request template to say test:silent (#5733) 2025-04-29 19:48:06 -07:00
Sirz Benjie
1e8fc076a7
[Misc][Move] Add edge case to transform (#5732) 2025-04-29 18:30:28 -07:00
Bertie690
43d73b01b1
[Code] Added and enforced no-fallthrough + added eslint type checking (#5705)
* Added and enforced `no-fallthrough`

* Fixed errors

* Fix package.json

* Moved vule to biom

* Fixed stuff

* Added workspace files to .gitignore for anyone who wants to do this stuff

* reverted accidental gitignore changes

* Update biome.jsonc

Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>

* Update biome.jsonc

Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>

* Update pokemon-species.ts

* Update biome.jsonc to apply reviews

* Fixed package.json

* Fix typo

---------

Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-04-29 23:21:28 +00:00
AJ Fontaine
9a9759d31c
[Balance] Fix Basculin white stripe moveset (#5729)
* Fix Basculin moveset and TMs
2025-04-29 17:27:40 -04:00
Sirz Benjie
34670fd921
[Bug] Only moves will show the explicit status immunity effect (#5728)
* Add quiet parameter to trySetStatus

* Make quiet default to false
2025-04-28 23:53:01 -04:00
NightKev
217fbe027a
[Test] Replace Axew with Feebas in some Illusion tests (#5727)
* [Test] Replace Axew with Feebas in some Illusion tests

* Fix test command in `package.json`
2025-04-28 16:33:19 -05:00
Blitzy
69df76dd88
[Balance] Elite 4 tweaks (#5706)
* Update trainer-config.ts

* Update signature-species.ts

* Update trainer-config.ts

* Fix Notes

---------

Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
Co-authored-by: damocleas <damocleas25@gmail.com>
2025-04-28 15:40:58 -05:00
NightKev
a7479c8eb6
[Balance] Trainer pokemon now have minimum IVs of wave/10 (#5719) 2025-04-27 12:27:34 -07:00
NightKev
89a9d55d3c
[Dev] Add enemy pokemon level to encounter logging (#5718) 2025-04-27 01:22:56 -05:00
NightKev
c87598d01d
Merge pull request #5717 from pagefaultgames/main
Sync beta with main
2025-04-26 16:59:45 -07:00
Sirz Benjie
c6e7dd660e
[Bug] Hotfix 1.8.5 (#5715)
* Loading data now checks statusCode not error string

* Bump version to 1.8.5
2025-04-26 16:04:40 -07:00
NightKev
6460d46a5d
[Bug] API / Save data hotfix (#5716)
* Loading data now checks statusCode not error string

* Bump version to 1.8.5

---------

Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
2025-04-26 15:01:46 -07:00
Dean
ab7d010a17
[Bug] Fix message for StatusEffectImmunityAbAttr (#5701)
Use class var for getTriggerMessage
2025-04-26 20:32:49 +00:00
Wlowscha
423bab1057
[UI/UX] Move Pokémon sprite below name and other text in starter select (#5714)
Moving the sprite down
2025-04-26 13:17:54 -04:00
Sirz Benjie
a036f865f0
[Bug] Fix improper critical hit key in move effect phase (#5713) 2025-04-26 06:17:42 +00:00
Wlowscha
0a48726e70
[UI/UX] Move Pokémon sprite below name and other text in dex pages (#5698)
Moved sprite below name
2025-04-26 01:24:11 -04:00
Sirz Benjie
a288de700d
[Docs][Dev] Update linting docs (#5709) 2025-04-25 22:14:08 -07:00
AndrewErting
42f291eab3
[Bug] [UI/UX] Make , . / and \ Bindable Keys (#5707)
Added , . / and \ to the key atlas, json mapping, and cfg_keyboard_qwerty.ts
2025-04-26 01:34:57 +00:00
Xavion3
38d75897bb
[Balance] Remove Dynamax Cannon being a discouraged move for AI (#5708)
Remove dynamax cannon from being discouraged on Eternatus Phase 2
2025-04-26 01:28:52 +00:00
zaccie
30e74eaaa8
[Bug] Fix boss level location (#5688) 2025-04-25 20:33:59 +00:00
Sirz Benjie
6dc2a7fddc
[Dev] Update phaser to 3.88 and fix graphical bug (#5704) 2025-04-24 20:30:00 +00:00
damocleas
793d89fa24 [i18n] Update locales submodule
Update locales submodule
2025-04-24 16:04:17 -04:00
NightKev
6ea5b4fa9d
[Bug] Fix doubles trainers not initializing properly (#5702)
* [Bug] Fix doubles trainers not initializing properly

* Add missing override in Whirlwind test
2025-04-23 17:22:25 -07:00
Inês Simões
75400a39ed
[Bug] [UI/UX] Status moves now play a No Effect Message Against Immune Type Pokemon (#5533)
* Fix #5085  Moves dont play a No Effect Message Against Immune Type

When using non-volatile status move like: Will-O-Wisp, Thunder
Wave, Toxic, or Poison Gas against a Pokémon whose type is immune
to that Status condition, no "It doesn't affect" message plays.

My proposed fixes:
In move.ts:
Removed a redudant if statement in StatusEffectAttr class

In pokemon.ts:
Renamed the "messageIsImmune" function to "queueImmuneMessage"
2025-04-23 21:29:44 +00:00
AJ Fontaine
5de567a3db
[Balance] Wave 90 gym leader has 5 mons (#5699)
5 mons on wave 90
2025-04-23 21:18:03 +00:00
Blitzy
c7265543bd
[Balance] Update Transistor to Gen IX version (#5700)
Update ability.ts
2025-04-23 17:15:45 -04:00
AJ Fontaine
b49c994d2d
[Balance][Refactor] Move fixed boss waves enum to file, adjust GL templates (#5689)
* Move fixed boss waves enum to file, adjust GL templates

* Move post return to default case

* Address comment

---------

Co-authored-by: Wlowscha <54003515+Wlowscha@users.noreply.github.com>
2025-04-23 14:48:04 -05:00
Sirz Benjie
389ad6ceb6
[Tests][UI/UX] Add automated tests for the pokedex (#5637)
* Remove unneeded fields from src/ui/filter-text.ts

* Add setOverlayMode to phaseInterceptor

* initialize pokemon starters before running tests

* Add getWrappedText to mockText

* Add initial pokedex test

* Add test for wrapping cursor in pokedex view

* Make pokedex use getPassiveAbility instead of checking passive map

Allows for tests to mock passives

* Add test for filtering double ability combinations

* Add test for filtering by types

* Mark failing test as TODO

* Apply suggestions from code review

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

* Use ts-expect-error instead of ts-ignore in comments

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

* Add save for pokedex tests

* Add test for filtering by cost reduction

* Add test for filtering by shiny

* Add tests for filtering by cost reductions

* Fix typo in test name

* Update test/ui/pokedex.test.ts

Co-authored-by: Wlowscha <54003515+Wlowscha@users.noreply.github.com>

* Update Mode import in pokedex test

* Replace reference to Mode with UiMode

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: Madmadness65 <59298170+Madmadness65@users.noreply.github.com>
Co-authored-by: Wlowscha <54003515+Wlowscha@users.noreply.github.com>
2025-04-23 18:10:01 +00:00
Jimmybald1
b848777880
[Bug][Misc] Moved SelectBiomePhase in front of NewBattlePhase (#5694)
* Moved SelectBiomePhase in front of NewBattlePhase

* disguise test now has to go to QuietFormChangePhase

---------

Co-authored-by: Jimmybald1 <147992650+IBBCalc@users.noreply.github.com>
2025-04-23 10:54:43 -07:00
Sirz Benjie
110fd2f0a1
[Refactor][Move] Refactor move effect phase (#5678)
* Add enum for hit check result

Co-authored-by: innerthunder <brandonerickson98@gmail.com>

* Refactor parameter list for pokemon#getBaseDamage and pokemon#getAttackDamage

* Rewrite move phase

Co-authored-by: innerthunder <brandonerickson98@gmail.com>

* Update tests to reflect move effect phase changes

Co-authored-by: innerthunder <brandonerickson98@gmail.com>

* Fix pluck / bug bite

Co-authored-by: innerthunder <brandonerickson98@gmail.com>

* Fix reviver seed ohko, remove leftover dead code

Co-authored-by: innerthunder <brandonerickson98@gmail.com>

* Cleanup jsdoc comments

* Remove hitsSubstitute check from postDefend abilities

* Fix improper i18nkey in moveEffectPhase#applyToTargets

* Cleanup comments

* Fix type issue with substitute test

* Move MYSTERY_ENCOUNTER_WAVES to constants.ts

* Update linkcode in damageparams to use proper tsdoc syntax

---------

Co-authored-by: innerthunder <brandonerickson98@gmail.com>
2025-04-23 00:10:27 +00:00
AJ Fontaine
aadb57ab75
[Balance] [Mystery] Salesman ME offers mons from event encounter pool (#5674)
* Initial event commit

* Salesman odds

* Clean up imports

* globalScene shiny rate getter, fix reroll, remove placeholder event

* Rerolling shiny also tries rerolling for better variant

* Shiny reroll affects 'trainer' mons too

---------

Co-authored-by: damocleas <damocleas25@gmail.com>
Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
2025-04-23 00:03:49 +00:00
Sirz Benjie
be6a117b1e
[Bug][Sprite] Fix variants not using recolors for back sprite (#5691)
Fix variants not showing back recolors with exp
2025-04-21 14:52:08 -05:00
Sirz Benjie
0da56cda9f
[Bug][Sprite] Fix variant loading console spam (#5690) 2025-04-21 13:46:32 -05:00
NightKev
b89b945b11
[Dev] Fix imports in overrides.ts and illusion.test.ts (#5686) 2025-04-20 13:51:06 -05:00
zaccie
d0be6a9274
[Bug] Fix order of operations when displaying enemy Boss level (#5685)
* order of operations in creating boss battleInfo

fixed a bug where because of an order of operations error in this file it ignored the position update of the boss life value set in battle-info.ts (around line 562)
2025-04-20 18:33:17 +00:00
Dean
2cf0b51299
[Bug] Properly handle suppression with Illusion (#5671)
* Remove extra attributes on neutralizing gas

* Add IllusionBreakAbAttr to applyOnLose

* Add test case
2025-04-20 11:14:19 -07:00
Blitzy
8515cadd77
[Balance] Update Gym Leader Teams and Teras (#5670)
* Update Gym Leader Teams

* Set Tera slots for Gym Leaders

* Change Giovanni's Specialty Type to Ground

---

Co-authored-by: damocleas <damocleas25@gmail.com>
2025-04-20 00:20:07 -05:00
Chris
bda286cebb
[Bug] Fix Login Screen Buttons can be Pressed While Animating (#5170)
* destroy containers when processing external containers

* make form buttons uninteractible until tweens finished instead

* fix holding enter spam

* fix conflicts
2025-04-19 14:00:12 -07:00
Sirz Benjie
65294f408e
[Bug][UI/UX] Fix type hint after enemy disappears (#5677)
* Fix type hint after enemy disappears

* Add automated test for type hint bugfix

* Make onField default to true

* Replace reference to Mode with UiMode and battleType with BattleStyle
2025-04-19 08:04:19 -07:00
Sirz Benjie
5854b21da0
[Refactor] Remove circular imports part 1 (#5663)
* Extract Mode enum out of UI and into its own file

Reduces circular imports from 909 to 773

* Move around utility files

Reduces cyclical dependencies from 773 to 765

* Remove starterColors and bypassLogin from battle-scene

Reduces cyclical dependencies from 765 to 623

* Fix test runner error

* Update import for bypassLogin in test

* Update mocks for utils in tests

* Fix broken tests

* Update selectWithTera override

* Update path for utils in ab-attr.ts

* Update path for utils in ability-class.ts

* Fix utils import path in healer.test.ts
2025-04-19 11:57:03 +00:00
damocleas
a6e87c8438
[Bug] [Move] Supercell Slam now hits Minimized targets for double damage and can't miss (#5680)
Added AlwaysHitMinimizeAttr and HitsTagForDoubleDamageAttr to Supercell Slam for Minimize
2025-04-18 22:25:05 -04:00
Sirz Benjie
54ce58411b
[Bug] Fix forced switch bugs in enemy partner trainer battles (#5644)
* Add isPartner method to trainer class

* Ensure force switches cannot pull pokemon from the wrong trainer

* Add override for battle type

* Fixup tests and broken assumptions

* Make move fail override semi-invuln check

Bandaid fix because move effect phase does not allow for the move to fail if all of its conditions fail

* Restore overrides

* Apply kev's suggestions from code review

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

* Fix illusion test battle type invocation

* Update struggle and healer tests to use battleStyle

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-04-18 09:35:46 +00:00
Lylian BALL
82cd492117
[Bug] Pokemon with illusion imitate the cry of the illusion (#5675) 2025-04-18 09:33:28 +00:00
Sirz Benjie
b8b101119c
[Bug][Sprite] Use floats for variant shader recolor comparison (#5668)
* Use float values for comparison

* Remove unused colorInt
2025-04-17 20:31:57 +00:00
Sirz Benjie
3a46aae687
[Bug] Fix beak blast: not applying if user faints and not respecting long reach (#5639)
* Add test for beak blast applying after user faints

* Rewrite tags for contact protected and check moveFlags.doesFlagEffectApply

* Add test to beak blast ensuring a long reach user does not get burned

* Re-add DamageProtectedTag to relevant inheritance chains

* Move resetSummonData to faintPhase instead of pokemon.apply

* Remove passing of grudge and destiny bond tags to faint phase
2025-04-17 15:25:38 -05:00
Sirz Benjie
eef8367caf
[Bug] Fix experimental sprites not loading in starter select (#5664)
[Bug][Sprite] Fix experimental variant sprites not being loaded in starter select screen
2025-04-17 09:57:30 -07:00
Sirz Benjie
45a2f42602
[Bug] Prevent game from hanging when loading in a new battle (#5676) 2025-04-17 11:44:50 -04:00
Sirz Benjie
b2bab46e1c
[Bug][Ability] Fix healer queueing its message when its ally is fainted (#5642)
* Add check against faint status effect

* Add tests for healer

* Remove redundant portions of the tests

* Fix broken test
2025-04-17 04:47:49 +00:00
damocleas
8d311e65cf
[Bug] [Ability] Fixed wrong Sheer Force interactions and multiplier from ~1.33 -> 1.3 (#5515)
* sheer force #, sheer force and burning jealousy test fix, and move chance fixes

* removed order up sheer force interaction mention and test - updated comments

* remove electro shot from changes
2025-04-16 19:31:53 -07:00
Sirz Benjie
ae588ebff9
[Bug][Move] Struggle no longer gets STAB (#5643)
* Struggle no longer gets STAB

* Apply kev's suggestions from code review

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

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-04-16 16:05:40 -05:00
NightKev
efad0d1324
[GitHub] Use .nvmrc for pages workflow (#5666) 2025-04-15 20:55:29 -07:00
Stephen Kelman
18c4dddcf0
[Bug] Fixing Tera Starstorm for first turn of terastallization (#5658)
* Updating tera starstorm targeting condition so that it is a spread move on the turn that terastallization happens

* added new unit tests to verify behavior of tera starstorm under non-tera conditions as well as on terastallization turns
2025-04-15 14:19:19 +00:00
Sirz Benjie
ff44cbfa97
[Refactor] Refactor ability file part 1 (#5589)
* Move ability.ts to subfolder

* Extract types out of ability.ts

* Update imports in ability.ts and friends

* Cleanup imports in ability.ts

* Re-add imports lost during sort

* Update imports forgotten during rebase

* Re-import proper type from enums

* Update biome.jsonc

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

* Add commit to force tests to rerun

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-04-15 14:08:35 +00:00
Madmadness65
4740b593a0
[Balance] Fix Depot Agent trainer type lacking Pokémon (#5623)
Fix Depot Agent trainer type lacking Pokémon

Also removes a stray duplicate Barboach from the Fisherman.
2025-04-15 05:27:14 +00:00
AJ Fontaine
3ec8f236f9
[Refactor] Change how rival event rewards are generated (#5638)
* Change how rival event rewards are generated

* Simplify to switch case

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

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-04-15 00:13:05 +00:00
Sirz Benjie
8216a379bf
[Dev][GitHub] Update to node 22 (#5586)
* Update node and workflows to use version 22.14

* Update @types/node package

* Update engines field in package.json

* Hardcode node version in github pages workflow

* Update to checkout@v4 in github pages workflow
2025-04-14 12:37:26 -05:00
damocleas
b41eee3c7f
Revert "[Refactor] Move many interfaces and enums to their own file" (#5661)
Revert "[Refactor] Move many interfaces and enums to their own file (#5646)"

This reverts commit c82e01eed3.
2025-04-14 12:28:36 -04:00
Sirz Benjie
c82e01eed3
[Refactor] Move many interfaces and enums to their own file (#5646)
* Move LearnMoveSituation to its own file

* Remove unused selfStatLowerMoves array

* Move all-moves to its own file

* Move TurnMove interface to its own file

* move AiType to its own file

* Move PokemonMove to its own file

* Move DamageCalculationResult interface to its own file

* Move fieldPosition to its own file

* Move hit-result to its own file

* Move DamageResult to its own file

* Move SpeciesWildEvolutionDelay to its own file

* move EvolutionItem to its own file
2025-04-14 08:31:26 -07:00
Lylian BALL
15e535a1a0
[Ability] Implement Illusion (#3273)
* implement illusion ability with unit test and localizations

* try removing whitespace change on unnecessary files

* nit corrections

* nit update src/field/pokemon.ts

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

* nit update src/phases.ts

Co-authored-by: Amani H. <109637146+xsn34kzx@users.noreply.github.com>

* illusion test correction

* unexpected error correction

* refactor property pokemon.illusion to pokemon.battleData.illusion

* nit

* nit

* update unit test up-to-date

* add docs

* merge up to date

* bugfix

* bugfix

* merge up to date

* refactor field illusion out of battleData

* fix nit

* fix nit

* Zoroark change illusion after lastPokemon update

* Zoroark change illusion after lastPokemon update

* refactor bug fix

* bugfix

* bug fix on tests

* Update src/field/pokemon.ts

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

* use GetFailedText

* remove useless import

* add condition 'no illusion' into transform move

* wild Zoroark creates an illusion according to the current biome

* wild Zoroark creates an illusion according to the current biome

* delete console.log()

* add doc

* Update src/field/pokemon.ts

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

* fix tests

* update locales submodule

* update Illusion interface

* bug fix

* bug fix

* bugfix

* rename some params for future implementations

* Zoroark keep illusion between battles

* Zoroark keep illusion between battles

* delete draft

* merge up-to-date

* bugfix

* merge

* merge

* implement canApplyPresummon method

* Update test/abilities/illusion.test.ts

Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>

* Update src/data/ability.ts

Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>

* Update src/data/ability.ts

Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>

* Update test/abilities/illusion.test.ts

Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>

* Update test/abilities/illusion.test.ts

Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>

* nit

* review corrections

* nit

* type hints affected by enemy illusion

* type hints affected by enemy illusionin fight-ui-handler

* nit

* rename some parameters back in useIllusion

* Update src/field/pokemon.ts

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

* Update src/field/pokemon.ts

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

* refactor battleData.illusion as summonData.illusion and delete oncePerBattleClause

* add comments

* illusion will break before evolution

* Update src/field/pokemon.ts

Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>

* Update src/data/ability.ts

Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>

* Update src/data/ability.ts

Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>

* Update src/data/ability.ts

Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>

* Update src/data/ability.ts

Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>

* bug fix

* g

* get submodule back

* get submodule back

* bug fix to save illusion status

* add pokemon.getPokeball()

* Update src/field/pokemon.ts

Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>

* Update src/field/pokemon.ts

Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>

* Update src/field/pokemon.ts

Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>

* Update src/data/ability.ts

Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>

* Update src/field/pokemon.ts

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

* Update src/field/pokemon.ts

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

* Update src/field/pokemon.ts

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

* Update src/field/pokemon.ts

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

---------

Co-authored-by: Adrian T. <68144167+torranx@users.noreply.github.com>
Co-authored-by: Amani H. <109637146+xsn34kzx@users.noreply.github.com>
Co-authored-by: innerthunder <168692175+innerthunder@users.noreply.github.com>
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-04-12 21:22:04 -04:00
Jimmybald1
f9ff4abfb0
[Bug] Fixed biome map options counting rng twice (#5648)
Fixed biome map options counting rng twice

Co-authored-by: Jimmybald1 <147992650+IBBCalc@users.noreply.github.com>
Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
2025-04-12 14:56:04 +00:00
NightKev
6f56dce771
[Biome] Add and apply lint/style/noNamespaceImport (#5650)
* Add `lint/style/noNamespaceImport` Biome rule

* Apply Biome rule, add exception for `*.test.ts` files
2025-04-12 01:31:56 -04:00
Blitzy
81f424dc71
[Balance] Fix and Adjust TM Compatibility
Curse
Skill Swap
Aqua Tail
Zen Headbutt
Hidden Power
Tera Blast
2025-04-11 16:33:25 -04:00
NightKev
1a7442511c
[Bug] Fix Biome selection RNG (#5645) 2025-04-10 23:22:42 -07:00
Sirz Benjie
787feceb14
[Refactor] Refactor variant sprite code part 1 (#5592)
* Move exp to its own masterlist, simplify initVariantData

* Update test/sprites/pokemonSprite.test.ts

* Extract loadPokemonVariantAssets out of BattleScene

* move variant.ts and update pokemon.loadAssets

* Add fuzzy matching for applying variant recolors

* Move glsl shaders to their own files

* Remove extra variants from shader masterlist

Their exp sprites have since been removed.

Co-authored-by: Unicorn_Power <189861924+Unicornpowerstar@users.noreply.github.com>

* Make exp sprite keys a set instead of an array

* Remove outdated exp sprite jsons

Co-authored-by: Unicorn_Power <189861924+Unicornpowerstar@users.noreply.github.com>

---------

Co-authored-by: Unicorn_Power <189861924+Unicornpowerstar@users.noreply.github.com>
2025-04-09 10:43:05 -05:00
damocleas
b3a4c75c06
[Refactor] Delete stale pokemon objects at the end of a battle 2025-04-08 18:10:39 -04:00
NightKev
2c2a34cfaf
Merge branch 'beta' into refactor/delete-stale-pokemon-objects 2025-04-08 15:08:34 -07:00
Dean
31835e6d53
[Bug] Fix #4972 Status-Prevention Abilities do not Cure Status (#5406)
* Add PostSummonHealAbAttr and give it to appropriate abilities

* Add attr to insomnia

* Remove attr from leaf guard (it does not activate on gain with sun up)

* Add tests and remove attr from shields down

* Add PostSummonRemoveBattlerTag and give it to oblivious and own tempo

* Add tests for oblivious and own tempo

* Fix oblivious test sometimes failing

* Remove Comatose changes as it doesn't reapply

* Remove unused tagRemoved field

* Fix tests checking status instead of tag

* Fix attr comments

* Add PostSetStatusHealStatusAbAttr

* Add ResetStatusPhase

* Modify pokemon.resetStatus to use ResetStatusPhase

* Move post status effects to ObtainStatusEffectPhase

* Ensure status overriding (ie rest) works properly

* Add PostApplyBattlerTagRemoveTagAbAttr for own tempo and oblivious

* Guard removeTag call in PostApplyBattlerTagRemoveTagAbAttr

* Commenting

* Handle Mold Breaker case in MoveEndPhase

* Remove PostSummonHealStatusAbAttr from purifying salt

* Fix not passing overrideStatus to canSetStatus

* Apply suggestions from code review

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

* Add isNullOrUndefined import

* Add canApply to new attrs

* Add followup argument back

* Remove guard around new MoveEndPhase

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-04-07 16:32:10 -07:00
NightKev
1171656d12 Update console message 2025-04-07 16:02:58 -07:00
NightKev
17a56cc6c1 Move try/catch inside for loop
Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
2025-04-07 15:58:17 -07:00
NightKev
cb5deb408f [Refactor] Delete stale pokemon objects at the end of a battle
Co-authored-by: Frutescens <info@laptop>
2025-04-07 15:58:17 -07:00
NightKev
1b79d1f832
[Refactor] Re-implement save migration system (#5634) 2025-04-07 22:53:35 +00:00
Diogo Cruz Diniz
0479b9dfcc
Fix #2735: Hazard moves incorrectly require targets (#5635)
* Fix #2735: Hazard moves incorrectly require targets
Hazard moves should no longer require targets to successfully execute

* Apply suggestions from code review made by NightKev

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

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-04-07 08:50:52 -05:00
NightKev
1e6ceb5581
[Misc] Clean up various phases (part 1) (#4797)
* Clean up various phases

Remove redundant code, utilize default parameters,
clean up some leftover `strict-null` `TODO`s,
replace `integer` with `number`

* Replace `* as Utils` imports with named imports

* Apply Biome
2025-04-06 03:10:52 +00:00
damocleas
fdf8c1a695
[Balance] Remove accuracy cap from Wide Lens 2025-04-05 01:45:10 -04:00
Sirz Benjie
46d234983c
Merge branch 'beta' into balance/remove-wide-lens-cap 2025-04-05 00:43:30 -05:00
Sirz Benjie
5318d717b3
[Refactor] [Docs] Minor refactor of move.checkFlags into move.doesFlagEffectApply (#5264)
* Refactor Move.checkFlags

* Improve jsdoc clarity

* Fix improper recursive call for the IGNORE_PROTECT check

* Fix improper placement of followUp check

* Get rid of unnecssary break

* Fix last import

* Remove latent checkFlag call in move-effect-phase

* Remedy perish body oversight

* Apply kev's suggestions from code review

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

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-04-05 00:43:46 +00:00
Sirz Benjie
9e4162d429
[Bug] Fix super luck implementation (#5625)
* Fix super luck implementation

* Use numberholder instead of booleanholder

* Update tsdoc for getCritStage
2025-04-04 17:40:25 -07:00
Sirz Benjie
420c2e37c2
[GitHub] Add path filters to avoid unnecessarily re-running tests (#5497)
* Add path filters to avoid unnecessarily re-running tests

* Apply suggestions from kev's review

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

* Update .github/workflows/tests.yml

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

* Don't ignore image files for tests

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-04-04 22:13:21 +00:00
Sirz Benjie
e31bf91223
[Bug][Ability] Fix mold breaker effect lingering if the user's move runs out of PP (#5265)
* Fix mold breaker pp bug

* Update Dancer test to account for changed phase behavior

* Update doc comment for move-phase's `end` method

* Add null handling for pokemon in `move-end` phase

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-04-04 23:57:39 +02:00
Sirz Benjie
b364bb1899
[Bug][Ability] Fix wimp out and emergency exit skipping waves in double battles (#5261)
Fix wimp out causing battles to skip
2025-04-04 14:39:53 -07:00
damocleas
7dfd8e72cc
Sync locales and update version to 1.8.4 (#5620) 2025-04-03 00:32:29 -04:00
damocleas
68f10dc199
Merge branch 'main' into beta 2025-04-03 00:28:55 -04:00
NightKev
7b38596a12
Sync locales and update version to 1.8.4 (#5620) 2025-04-02 19:37:48 -07:00
damocleas
333975017f
Hotfixes 1.8.3 2025-04-02 20:37:45 -04:00
damocleas
d0703e0e0b
Merge branch 'main' into beta 2025-04-02 20:31:13 -04:00
Dean
4c8f81bb09
[Bug] Fix uses of getAlly() (#5618)
* Fix plus/minus crash

* Update getAlly() uses
2025-04-02 17:28:58 -07:00
Wlowscha
c6721521ab
[BUG] Fix broken forms of Pichu starter (#5616)
* Unlock base Pichu form when catching a Pikachu form

* Implementing migrator for broken Pichu forms
2025-04-02 19:59:31 -04:00
Wlowscha
db7ed43ad7
[Bug][UI/UX] Make sure forms and evolutions are counted in challenges again (#5617)
Making sure to actually count forms...
2025-04-02 19:42:36 -04:00
Unicorn_Power
a7394130a7
(Beta) Undoing the Pika-etern stuff (#5615) 2025-04-02 17:21:04 -04:00
damocleas
cf1616212c
Hotfixes 1.18.2 2025-04-02 03:05:51 -04:00
damocleas
7f4b37a36f
Merge branch 'main' into beta 2025-04-02 02:58:27 -04:00
Dean
2773354193
[Bug][Hotfix] Fix various ability flyouts not disappearing (#5614)
* Add hide phases for rogue ability showing

* Hide ability bar on game over

* Hide ability bar in TurnEndPhase
2025-04-02 02:56:19 -04:00
damocleas
951d8b633d
[Balance] Minor Passive Adjustments for 1.8.2 (#5613)
* Update passives.ts
2025-04-02 02:42:10 -04:00
damocleas
d92bf29030 [i18n] Update locales submodule and 1.8.2 bump 2025-04-02 00:25:05 -04:00
NightKev
70ba974348 [Balance] Remove accuracy cap from Wide Lens 2025-04-01 21:02:14 -07:00
Dean
5416c76ecb
[Bug][Hotfix] Fix crash when pulling trainer names for (certain) non-English languages (#5608)
* Fix key usage for trainer locales

* Update gts

* Fix partner name generation

---------

Co-authored-by: Wlowscha <54003515+Wlowscha@users.noreply.github.com>
2025-04-01 21:31:52 -04:00
Amani H.
4a4e766135
[Bug] Prevent Mystical Rock after Max Stack (#5606)
* [Bug] Prevent `Mystical Rock` after Max Stack

* Update modifier-type.ts

* fixed ordering, testing locally

---------

Co-authored-by: damocleas <damocleas25@gmail.com>
2025-04-01 17:18:49 -04:00
Jimmybald1
5217703d2b
[Bug] Mystical Rock modifier missing Drought check 2025-04-01 20:18:10 +00:00
Dean
1229bfe004
[Bug][Hotfix] Fix Parental bond + Pollen Puff softlock (#5607)
* Fix parental bond softlock

* Add test for pollen puff

---------

Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
2025-04-01 12:10:59 -07:00
damocleas
7d6b375f6f
Hotfixes 1.8.1
- Fix Flower Gift / Forecast flyout - P3
- Fix Sinistcha/Poltchageist Crash in the Pokedex - P1
- Undid a dependency update, fixing Mobile fullscreen and the opponent status UI being misaligned
- Hopefully update locales properly this time
2025-04-01 02:55:04 -04:00
Sirz Benjie
6477be99f5
[Misc] Rollback phaser update (package-lock.json) (#5603)
Update package-lock.json
2025-04-01 01:34:47 -05:00
damocleas
13b118454c Update package-lock.json 2025-04-01 01:27:42 -04:00
Sirz Benjie
a975192cf4
[Misc] Rollback Phaser Update 2025-04-01 04:54:48 +00:00
damocleas
6538eddf91
[Bug][Hotfix] Mark Sinistcha/Poltchageist forms as unselectable/unobtainable 2025-04-01 00:05:24 -04:00
damocleas
318b0c25d8
Merge branch 'beta' into sinis 2025-04-01 00:03:10 -04:00
damocleas
fd40bb50e9 Update beta to 1.8.1 2025-03-31 22:54:15 -04:00
Dean
95194ce8f1 Mark Sinistcha/Poltchageist forms as unselectable/unobtainable 2025-03-31 18:20:49 -07:00
damocleas
f417c0915e [i18n] Locales Fix 2025-03-31 21:10:19 -04:00
Dean
136ea70a6e
[Bug][Hotfix] Fix Flower Gift/Forecast flyout (#5599)
Fix Flower Gift flyout
2025-03-31 20:01:30 -05:00
damocleas
4afac11814
1.8 quick Main to Beta 2025-03-31 20:20:21 -04:00
Madmadness65
3d9aea7d71 Update version number 2025-03-31 19:00:47 -05:00
damocleas
5685220dda
Release 1.8.0
just an ordinary update
2025-03-31 19:47:12 -04:00
Unicorn_Power
16bce25333
Pika-e (#5597) 2025-04-01 00:39:54 +02:00
NightKev
efa3662099
[Misc] AFD Event (#5596)
* global timed event manager

* more

* Music change

* Add AFD track loop points

* Add AFD music tracks

* changed music for afd

* Enable Seasonal Splash Text, adjust event values

* Add daily run challenge support

* update event date, change trainer shiny chance to 20%

* add banners lol

* fix activeeventhasbanner function

* Fix banner

* Update locales submodule

---------

Co-authored-by: AJ Fontaine <fontbane@gmail.com>
Co-authored-by: damocleas <damocleas25@gmail.com>
Co-authored-by: Madmadness65 <59298170+Madmadness65@users.noreply.github.com>
Co-authored-by: Dean <me@deann.dev>
Co-authored-by: AJ Fontaine <36677462+Fontbane@users.noreply.github.com>
2025-03-31 15:11:01 -07:00
damocleas
6add614e1c
[Balance] Trash to Treasure and The Strong Stuff minor adjustments (#5593)
* Update trash-to-treasure-encounter.ts

* Update the-strong-stuff-encounter.ts

* add 'set' items to garbodor

* Update relevant tests

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-03-31 12:34:16 -04:00
damocleas
7e4151f1ef
[Balance] Even more Split Passive fixes (#5591)
* Initial Split Passives

* Update split passives final v1

* Lock Battle Bond Froakie/Frogadier Ability, Gallade back to Inner Focus

* fix mispell

* remove unneeded ability on froakie and frogadier after testing

* fix some form passives

* Update passives.ts

* Update passives.ts

* Correct BB Froakie, G-Max changes for Flapple, Appletun, Toxtricity, Hatterene, Grimmsnarl, Alcremie

* Update egg-moves.ts

* Seviper now matches Zangoose's egg tier wow

* fix mispell

* Update passives.ts

* Update passives.ts
2025-03-31 01:19:58 -04:00
NightKev
51f765d67a
[Move] Add message for called moves failing due to no targets (#5590) 2025-03-31 00:00:59 -04:00
Lugiad
111390631d
[Localization] LATAM Spanish inclusion (#5582)
* Update i18n.ts

* Update settings.ts

* Update settings-display-ui-handler.ts

* Update starter-select-ui-handler.ts

* Update utils.ts

* Add files via upload

* Update i18n.ts

* Add files via upload

* Update loading-scene.ts

---------

Co-authored-by: Dean <69436131+emdeann@users.noreply.github.com>
2025-03-30 19:29:28 +00:00
damocleas
28234e577e
[Balance] Beta Passive Fixes, 1.8 Egg Move Changes, Egg Tier Change, and G-Max Form Re-Evaluation finished (#5588)
* Update passives.ts

* Correct BB Froakie, G-Max changes for Flapple, Appletun, Toxtricity, Hatterene, Grimmsnarl, Alcremie

* Update egg-moves.ts

* Seviper now matches Zangoose's egg tier wow
2025-03-30 06:21:12 +00:00
AJ Fontaine
d2ffc12d65
[Refactor] Remove game mode param from applyChallenges (#5585) 2025-03-30 06:18:18 +00:00
Wlowscha
05691970e2
[Bug] Fix pokedex option after catching (#5574)
* Fix pokedex entry after catching

* Allow turning pages

* Using isSeen in more places

* Evolutions show up as seen after catching

* Apply suggestions from code review

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

* Showing battle forms correctly for seen mons

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-03-30 06:14:19 +00:00
Dean
b33d95d27d
[Bug][Refactor] Fix Unsuppressable Abilities being Unreplaceable (#5547)
* Switch unsuppressable to unswappable

* Update test

* Change suppress/replace/copy flags

* Make flower gift unreplaceable

* Make forecast unreplaceable

* No holding hands

* [Sprite] Reduce Mystical Rock sprite's size (#5570)

* Updating the size to be smaller

* Update item atlas

* Fix Malicious Armor missing outline

Noticed when exporting atlas that the item sprite broke

---------

Co-authored-by: Madmadness65 <blaze.the.fireman@gmail.com>
Co-authored-by: damocleas <damocleas25@gmail.com>

* Switch unsuppressable to unswappable

* Update test

* Change suppress/replace/copy flags

* Make flower gift unreplaceable

* Make forecast unreplaceable

* No holding hands

* Apply suggestions from code review

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

* Remove trivial type annotations

---------

Co-authored-by: Unicorn_Power <189861924+Unicornpowerstar@users.noreply.github.com>
Co-authored-by: Madmadness65 <blaze.the.fireman@gmail.com>
Co-authored-by: damocleas <damocleas25@gmail.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-03-30 05:37:35 +00:00
Sirz Benjie
66bc83fce4
[Ability] Flower Veil implementation (#5327)
* [WIP] flower veil implementation

Signed-off-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>

* Remove promises

Signed-off-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>

* Fully implement Flower Veil

Signed-off-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>

* Fix ally interaction for battler tag

* Condense and cleanup test files

* Remove a console.log message

* Remove stray excess import

* Update doc comments and apply kev's suggestions from code review

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

* Remove duplicated test

---------

Signed-off-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-03-29 21:32:35 -07:00
damocleas
ba1fa85045 [i18n] Update locales submodule 2025-03-29 23:53:11 -04:00
Sirz Benjie
451b1f6b08
[Misc] Update packages (#5462)
* Update via `npm audit fix --force`

* Update i18next family

* Update typescript family

* Update vite-tsconfig-paths

* Update jsdom to 26.0

Important! Security fixes, and performance/stability improvements.

* Update @stylistic/eslint-plugin-js to 4.1.0

* Update inquirer to 12.4.2

* Remove commented code and defunct import

* Run npm-audit fix

* Fix ts errors

* Update eslint family

* Update phaser family

* Update eslint plugin

* Update rest of imports
2025-03-29 22:13:50 -05:00
Blitzy
9c13fa5f80
[Balance] Evil Team Tweaks (#5579)
* Update evil-admin-trainer-pools.ts

* Update trainer-config.ts

* Fix Pokemon names

* Update / Fix Teams

* typo

* Rotom Revival Protocol (and Ponyta)

Accidentally removed Rotom from two different places

* unevolve the buddies

* Update evil-admin-trainer-pools.ts

---------

Co-authored-by: Madmadness65 <59298170+Madmadness65@users.noreply.github.com>
2025-03-30 03:02:27 +00:00
Unicorn_Power
2ad030ec16
[Sprite] Animation updated for gen 7 batch 1 (#5558)
* 749-750 animation updated.

* Fix the animation json error plus missing files.

back shiny had placement issues and needed to be redone and i forgot to include the static updates.

* Remove the code that got merged by accident again

* Wishiwashi and schooling animations 746

* 728-729-730 Animation implementation

also Variant compatibility

* Final touch ups for 728-729-730

* Yes...... another undo redo

* 2037-2038 Alolan vulpix line animations

plus the Primarina back exp I show how missed

* 2074-2075-2076- animations

plus fixing the back shiny vulpix sprite not working correctly

* 2088-2089 animation and variant support.

* Fixing the base shiny 730

* 780 animation update
2025-03-30 01:57:15 +00:00
schmidtc1
27a1638243
[Bug] Fix interactions for Pollen Puff Parental Bond, Multi-Lens, Grip Claw Ally Healing (#5550)
* Checks for hit result status on Grip Claw application

* Adds a boolean check for the Pollen Puff edge case in canBeMultiStrikeEnhanced

* Adds parental bond test

* Adds grip claw and multi lens tests
2025-03-29 18:25:34 +00:00
damocleas
4f19e4a126
[Move] False Swipe/Hold Back don't fail if the target has 1 HP (#5577)
* Remove condition from `SurviveDamageAttr`

* Add test for False Swipe

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: EmberCM <kooly213@hotmail.com>
2025-03-29 17:10:07 +00:00
NightKev
25b9fa7933
[Biome] Add "no unused imports" rule (#5580)
* Apply Biome to files

* Add `lint/correctness/noUnusedImports` rule

* Apply rule

* Remove obsolete eslint directives

* Fix variable naming in `game-speed.ts`
2025-03-29 10:24:23 +00:00
Dean
a727375730
[Bug] Fix Flash Fire has No Message (#5578)
Add flash fire message
2025-03-29 09:51:28 +01:00
Sirz Benjie
5f01caffae
[Refactor] Minor refactor of trainer-config files (#5573)
* Move trainer-config.ts

* move TeraAIMode enum to its own file

* Move TrainerPoolTier enum to its own file

* Move TrainerSlot enum to its own file

* Reorder and group imports

* Move TrainerPartyTemplate to its own file

* Remove speciesPoolPerEvilTeamAdmin method

* Apply kev's suggestions from code review

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

* Fix typo in zinzolin's name

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-03-29 00:19:35 -04:00
Sirz Benjie
fac20ca97a
[Ability] Fully implement Flower Gift and Victory Star (#5222)
* Fully implement Flower Gift and Victory Star

* Fully implement Flower Gift and Victory Star

* Update src/field/pokemon.ts

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

* Update src/field/pokemon.ts

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

* Update src/data/ability.ts

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

* Update src/data/ability.ts

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

* Accept suggested change

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

* Accept suggested change

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

* Update src/data/ability.ts

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

* Update src/data/ability.ts

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

* Update src/data/ability.ts

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

* Update src/field/pokemon.ts

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

* Fix check for ignore_abilities move flag

* Fix missing argument to getBaseDamage in getAttackDamage

* Fix merge conflict due to same changed import line

* Fix call to getAttackDamage that was reset after merge

* Update calls to getEffectiveStat

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-03-28 22:24:19 -05:00
Unicorn_Power
4a560d7185
[Sprite] Reduce Mystical Rock sprite's size (#5570)
* Updating the size to be smaller

* Update item atlas

* Fix Malicious Armor missing outline

Noticed when exporting atlas that the item sprite broke

---------

Co-authored-by: Madmadness65 <blaze.the.fireman@gmail.com>
Co-authored-by: damocleas <damocleas25@gmail.com>
2025-03-28 19:02:47 -04:00
Sirz Benjie
4149d3600a
[Misc] Remove pre-push lefthook (#5572)
Remove pre-push lefthook
2025-03-28 14:49:54 -07:00
Sirz Benjie
35e733e87a
[Test] [Refactor] [GitHub] Enable no isolate for vitest (#5566)
* Reuse global scene between tests

Co-authored-by: PigeonBar <56974298+PigeonBar@users.noreply.github.com>

* Add missing each method to mockContainer

* Fix select-modifier-phase test

* Sanitize overrides before tests

Co-authored-by: PigeonBar <56974298+PigeonBar@users.noreply.github.com>

* Sanitize overrides before tests

Co-authored-by: PigeonBar <56974298+PigeonBar@users.noreply.github.com>

* [WIP] fix things

* Fix tests not working with --no-isolate

* Update npm tests to use no isolate

* Update test-shard-template

* Update package.json

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

---------

Co-authored-by: PigeonBar <56974298+PigeonBar@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-03-28 17:30:38 -04:00
Dean
b838d5f775
[Misc] Allow Localization of Common Trainer Names (#5569)
* Localize common trainer names

* Update locale key usage
2025-03-28 21:23:57 +00:00
Dean
f09c77c81b
[Bug] Fix Extra Ability Activation Flyouts during AI Decisions (#5563)
Fix extra messages in getMoveChance
2025-03-28 18:38:20 +00:00
Wlowscha
188647d2e5
[Bug][UI/UX] Pokédex filters properly track TMs for evolutions (#5568)
Looking at speciesId for TMs
2025-03-28 16:02:42 +00:00
Wlowscha
46d110e705
[UI/UX] Grey options in Pokédex for uncaught mons (#5529)
* Options in Pokédex page are dark if unselectable

* Fixed docstring

* Changing display of seen Pokémon in the dex

* Changed visibility of icons in main Pokédex page
2025-03-28 03:59:05 +00:00
damocleas
0ea8edcf75 [i18n] Update locales submodule 2025-03-27 22:58:53 -04:00
damocleas
19c61a041f
[Misc] New Splash Texts, March 2025 (#5345)
* Update splash-messages.ts 1

* Add Pokemon name splash text

This will display a random Pokemon's name, followed by an exclamation point (ex. "Bulbasaur!").

* Make Pokemon name splash message weighted

* Update splash-messages.ts

* Update splash-messages.ts

* fix trailing spaces

* Update splash-messages.ts

* Update splash-messages.ts

* Add splashes which use random Pokemon

* Update splash message tests

* Update splash-messages.ts

* Update splash-messages.ts

* Missing comma

* Fix length on test

It even says to do so whenever weight multipliers are adjusted...

* Update splash-messages.ts

* add missing prefix thing

* adjusted comment in splash_messages.test.ts

* Update splash-messages.ts

* fix blank line

* Add gender splash message code

This makes the specific April Fools splash message functional.
Also fixed a linter issue with the randomPokemon code.

* Update title-ui-handler.ts changed battles won fallback number to -1

* Update splash-messages.ts

* changed afd to 2 days

* Update splash_messages.test.ts

* Update src/data/splash-messages.ts

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

---------

Co-authored-by: Madmadness65 <blaze.the.fireman@gmail.com>
Co-authored-by: Madmadness65 <59298170+Madmadness65@users.noreply.github.com>
Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
2025-03-27 19:56:26 -07:00
Dean
eb12b8c692
[Bug] Stop Shield Dust and Gluttony from Displaying (#5564)
Prevent displays
2025-03-27 15:01:33 -04:00
Amani H.
d955051730
[Bug] Mystical Rock Crashing on Selection (#5562) 2025-03-27 00:05:38 -04:00
Wlowscha
5fdc133955
[UI/UX] Pokédex filters correctly show split passives (#5560)
* Pokédex filters properly take split passives into account

* Removed unused dependency
2025-03-27 03:26:03 +00:00
Amani H.
6316218bd3
[Item] Add Weather and Terrain Extender Item (#4799)
* [Item] Add Weather and Terrain Extender Item

* Add Documentation

* Clean Up Unit Tests

* Add Weight Function

* Include Suggestions
2025-03-26 22:40:46 -04:00
NightKev
db850c79cd
[Refactor] Moveset arrays can no longer hold null values (#4919)
* Pokemon movesets no longer allow `null` values

* Clean up all the bangs caused by movesets allowing `null`

* Pokemon movesets no longer allow `null` values

* Clean up all the bangs caused by movesets allowing `null`

* Fix merge issues

* Remove various unnecessary `?`

* Apply biome

* Fix `global-trade-system-encounter.ts`

* Fix merge issue

* Remove unnecessary parentheses

* Remove missed `?`

* Match formatting of `pokemon.ts`
2025-03-26 19:12:54 -07:00
Unicorn_Power
0b1f324f97
[Sprite] [Item] Weather/Terrain Extender Item Sprite (#5542)
* Terrain/weather-extender item

* Fixing indexing for the sprite atlas

* Re-export item atlas, fix extender item's name

Spaces in names use underscores instead of hyphens

---------

Co-authored-by: Madmadness65 <blaze.the.fireman@gmail.com>
2025-03-26 21:47:16 -04:00
damocleas
938f1b8756
[Balance] G-Max Form Re-Evaluation (#5545)
* Update pokemon-species.ts

* Orbeetle and Drednaw adjustment

* Cinderace, Corviknight, Drednaw, and Coalossal adjustments

* Fix Urshifus

* Butterfree, Orbettle, and Drednaw adjustments
2025-03-26 17:57:30 -05:00
damocleas
f911ffc266
[Balance] Split Passives and related (#5531)
* Initial Split Passives

* Lock Battle Bond Froakie/Frogadier Ability, Gallade back to Inner Focus
2025-03-26 16:01:54 -04:00
damocleas
ead1bc6cce
[UI/UX] Autofill login text color changed to gray (#5523)
Update index.css
2025-03-25 18:06:28 -07:00
Wlowscha
bba7c1610d
[UI/UX] Option to see Pokedex entry after catching wild Pokémon (#5538)
* pokedex option after catching

* Also changing catching for mystery encounters
2025-03-25 13:36:12 -07:00
Lugiad
f78015d757
[Localization] Catalan reactivation (#5555)
* Add files via upload

* Update settings.ts

* Add files via upload

* Add files via upload

* Update starter-select-ui-handler.ts

* Update utils.ts with Catalan

* Update loading-scene.ts
2025-03-25 13:06:24 -07:00
damocleas
443264a3ea [i18n] Update locales submodule 2025-03-25 01:55:26 -04:00
Madmadness65
f3141280c9
[Balance] Implement more trainer types & add to biomes (#5520)
* Add more trainer types to biomes

This makes the Hooligans, Musician, Pilot, Poké Fan, Rich, and Rich Kid trainer types able to be battled.

* Adjusted Rich and Rich Kid $$$ multipliers

* Add basic dialogue for trainer types

Also added the Clerk's dialogue entries, as that trainer type has localized text, but no entry in the code.

* Fix Musician to Pokefan encounter music

* Add dialogue entries for new dialogue

---------

Co-authored-by: damocleas <damocleas25@gmail.com>
2025-03-25 01:51:59 -04:00
Wlowscha
7f72794d23
[UI/UX] Cancel button on Pokédex page to previously selected Pokémon (#5528)
* Removed redundant form index argument in show() of pokedex page

* Storing previous pokémon for cancel button
2025-03-23 22:03:11 -07:00
Wlowscha
37e51e9657
[Bug][Challenge][UI/UX] Exclude invalid starters when combining challenges (#5509)
* Filtering correctly when combining gen and monotype challenges

* Clean-up

* Apply suggestions from code review

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

* Always check requested form first

* Fixing Basculin

* Only check forms which are starter selectable

* Exclude form changes that are not triggered by an item

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-03-24 02:40:17 +00:00
Dean
dbc8ac26af
[Bug] Fix #5422 Neut. Gas and Primal Weather Persist After Flee (#5496)
* Add applyPreLeaveFieldAbAttrs call to AttemptRunPhase

* Update tests
2025-03-23 23:27:20 +00:00
schmidtc1
40e1e7fd4e
[Bug] Fix Reviver Seed and endure triggering on indirect damage (#5182)
* Create new turnData field for tracking damageResults, check for HitResult in Reviver Seed modifier

* Optional chaining for cases like stealth rock

* Adds HitResult.SELF for confusion to distinguish from indirect damage

* Adds HitResult.SELF to damage sound effect switch

* Cover edge case of salt cure, insert HitResult for ALL damage regardless of optional variable

* Change Liquid Ooze HitResult to OTHER from HEAL

* Adjust OHKO moves to not bypass endure or RSeed

* Add tests for reviver seed

* Fixes endure to no longer block indirect damage, updates weather damage to be HitResult.OTHER, adds/fixes unit test

* Change destiny bond to HitResult.OTHER so it doesn't trigger rseed

* Adds destiny bond unit test

* Creates additional unit tests for endure

* Rename SELF hitresult to CONFUSION

* Update CONFUSION enum

* Refactors implementation per Wlowscha's suggestions: removes damageSources array and preventEndure variable

* Rename HitResult.OTHER to INDIRECT, create INDIRECT_KO for PSong/DBond, add functionality for INDIRECT_KO to damageanim/number handler

* Fixes hit result for stealth rock

* Removes unnecessary check, makes DamageResult default to EFFECTIVE, updates remaining damageAndUpdate calls to use INDIRECT

* Refactors damageAndUpdate to replace optional parameters with object parameter

* Fixes based on Kev's suggestions

* Updates tsdocs for damageAndUpdate

* Fix merge conflict

---------

Co-authored-by: Wlowscha <54003515+Wlowscha@users.noreply.github.com>
2025-03-23 22:59:19 +00:00
Dean
817095d895
[Bug] Fix #2769 Revival Blessing Softlock in doubles (#5141)
* Properly handle cases where enemy switches in due to revival

* Fix user ally using move when revived

* Move revival blessing function to move.ts

* Properly filter for the right switch phase to remove

* Re-add bug fix

* Add test
2025-03-23 20:47:51 +00:00
José Serrado Marques
1e876ec595
[BUG] fixes #5472 - transform on reload (#5508)
* [BUG] fixes #5472 - transform on reload

* Fix the bug where transformed pokemon failed to load sprite on reload if it was not the base form

* Now properly loads the transformed sprite assets during summon phase
2025-03-23 12:07:14 -07:00
NightKev
4b8f1df8cd
[Bug] Add list of uncallable moves for Mirror Move (#5552)
* Add list of uncallable moves for Mirror Move

* Mirror Move now respects the uncallable moves list

---------

Co-authored-by: damocleas <damocleas25@gmail.com>
2025-03-22 14:46:58 -07:00
damocleas
d0a9672e91
[Balance] [Move] Add Fleur Cannon as a Metronome callableove (#5551)
* Update invalid-moves.ts

* forgot fleur cannon
2025-03-22 13:18:08 -07:00
damocleas
87b78e6b70
[Balance] [Move] Made more moves callable with Metronome, Assist, Sleep Talk, and Copycat (#5549)
Update invalid-moves.ts
2025-03-22 15:47:41 -04:00
AJ Fontaine
c792d5e704
[Balance] Changes to several trainer classes (#5505)
* Changes to Biker, Baker, Beauty, Cyclist, Parasol Lady, Hex Maniac

* Linting and extra beauty mons

* Further changes

* Find to some

---------

Co-authored-by: damocleas <damocleas25@gmail.com>
2025-03-20 19:53:27 +00:00
Dean
66965bf7e2
[Bug] Fix Slow Start Message being Deferred (#5534)
Fix deferred message
2025-03-20 19:37:16 +00:00
Dean
17e71a1b8a
[Bug] Fix Poison Heal Crash on beta (#5544)
Fix !== null uses
2025-03-20 19:26:49 +00:00
Unicorn_Power
b3c7300c37
[Sprite] Fixing the naming issue in exp-sprite.json +Disabling few problematic exp's (#5526)
* fixing the naming in exp-sprite.json

* Did the same thing to 931

* Undo for 3 pokemons due to exp animation quality.

* Corrected the Indicator for the exp being disabled

* Charcadet line exp disable
2025-03-20 19:15:12 +00:00
Dean
585f040057
[Test] Fix Chilly Reception Test Ability Overrides (#5543)
* Fix ability overrides

* Remove extraneous resets
2025-03-19 23:25:14 +00:00
Matheus Rabello Noya Alves
3f887988a6
[Bug] [UI/UX] Smack Down and Thousand Arrows now display a message for Grounding (#5536)
Fix #5027: Missing confirmation message for moves special effects
When using the moves Thousand Arrows and Smack Down, though the special
effect of grounding the opponent is applied, a confirming message was
not displayed. In this fix a new AddBattlerTagAttr subclass has been
created to handle the message display, compared to previous multiple
attribute additions. This new subclass verifies the conditions for the
message to be displayed through asserting if target is grounded and
accesses a new locale message created to display if necessary.
2025-03-19 22:45:41 +00:00
Matilde Simões
a1a6b0dd5a
[Bug] Nicknames not properly sanitized (#5537)
* Fix #5082: Nicknames not properly sanitized
When a player changes the name of the pokemon
to one that uses one of the following combination
of letters: "@c{}", "@s{}", "@d{}", "@f{}" and "$"
the game shows the name of the pokemon incorrectly in a battle.
Changes made:
- on message-ui-handler.ts file I updated the "showTextInternal"
function to get the original name of the pokemon
or pokemons (in case it's a double battle) saving it in a list
named "pokename" and change it in the text for their
correspondent placeholder which is saved in the list "repname"
(e.g "#POKEMON1" for the first pokemon and "#POKEMON2" for the
second pokemon). After the text is properly modified because
of the special characters ("@c{}", "@s{}", "@d{}", "@f{}")
the name of the pokemons is replaced to it's original value.
- on message-phase.ts file I updated the "start" function to use a
similar approach but only change the pokemon name to it's original
form after the "pageIndex" (which checks the index of the "$")
is updated, so the text is cut properly.
- on ui.ts file I updated the "showtext" function to use same
approach of the previous files, ensuring that the pokemon names
were only replaced back to their original values after all text
processing on "$" was completed.

* Replace `let` with `const`

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-03-19 22:01:33 +00:00
NightKev
b2848af899
[Test] Add ability overrides to Tailwind tests (#5541) 2025-03-18 23:00:46 -05:00
Wlowscha
b1d494eadb
[UI/UX] [Bug] Icons for egg moves and passives show up even when not unlocked (#5540)
Reworked icons to more compact code
2025-03-19 03:22:52 +00:00
NightKev
3b99d3aea2
[Misc] Add * -crlf to .gitattributes (#5539) 2025-03-18 21:52:49 -04:00
Dean
d9288a7908
[Bug] Add Neutralizing Gas Message for each user (#5527)
Add message to onOverlap

Co-authored-by: damocleas <damocleas25@gmail.com>
2025-03-18 21:19:37 +01:00
Wlowscha
a5ed9c5191
[UI/UX] Mark Revavroom forms as unobtainable (#5525) 2025-03-16 21:51:27 -04:00
Dean
02ae7952ad
[Bug] Fix Commander crash after 5267 (#5524)
Fix reversed commander checks
2025-03-16 12:44:48 +01:00
Dean
1d7f916240
[Refactor] Align ability display with mainline (#5267)
* Stop ShowAbilityPhase from ending until the bar has popped out

* Remove ability bar hiding from messagePhase

* Remove abilityBar reference from base Phase class

* Add HideAbilityPhase to hide ability bar after effects

* Add willSucceed to ability attrs

* Update AbAttrs and PostInitAbAttrs

* Update PreDefendAbAttrs

* Update postDefend, postMoveUsed, StatStage, postSetStatus, and PostDamage

* Update preAttack and fieldStat

* Partially implement postAttack

* Finish PostAttack

* Update PostSummon

* Update PreSwitchOut

* Update preStatStageChange

* Update PostStatStageChange, PreSetStatus, PreApplyBattlerTag

* Update postTurn and preWeatherEffect

* Update postWeatherChange

* Update postWeatherChange

* Update PostTerrainChange

* Update CheckTrapped and PostBattle

* Update postFaint

* Update PostItemLost

* Bug fixes from test cases

* Fix intimidate display

* Stop trace from displaying itself

* Rename to canApply

* Fix ability displays using getTriggerMessage

* Ensure abilities which are mistakenly shown are still hidden

* Fix ability bar showing the wrong ability with imposter

* Add canApply for imposter

* Update abilities using promises and `trySet...` functions

* Committing overrides changes is bad

* Document apply and canApply

* Update PreLeaveFieldAbAttr

* Remove boolean return type apply functions

* Remove redundant  assignment

* Remove ability display from abilities that shouldn't have it

* Move queueAbilityDisplay to battlescene

* Remove unused shown variable

* Minor changes

* Fix using id instead of battlerindex in queueAbilityDisplay

* Fix PostBattleInitFormChangeAbAttr displaying

* Prevent crashes in case an ability for a pokemon not on the field is shown

* Stop more abilities from displaying

* Move enemy ability bar to the right side

* Automatically reload bar if shown while already out, fix specific abilities

* Remove duplicate call to clearPhaseQueueSplice

* Remove ShowAbilityPhase import from ability.ts

* Update PostDefendTypeChangeAbAttr to use PokemonType

* Update PostSummonAddArenaTagAbAttr

* Minor changes
2025-03-16 02:51:02 +00:00
AJ Fontaine
7aa5649aa8
[Refactor] Move signature species to separate file (#5519) 2025-03-14 17:06:19 -04:00
NightKev
e8e0041ed0
[Misc] OPP_FORM_OVERRIDES now accepts 0 as a valid form index (#5514) 2025-03-13 21:48:53 +00:00
NightKev
4e1ee9e50b
Revert "[Enhancement] Add form changes for Solgaleo, Lunala, & Marshadow cosmetic forms" (#5512) 2025-03-13 22:32:35 +01:00
Scooom
dc46cf6d05
[BUG] Add Multi Attack, Revelation Dance, and Terrain Pulse to Normalize Exceptions (#5503) 2025-03-12 07:03:12 +00:00
Scooom
85c39754c4
[Bug] [Balance] Fix Locked Reroll not using Luck Score (#5502) 2025-03-12 06:34:34 +00:00
Madmadness65
f3f43f4a44
[Enhancement] Add form changes for Solgaleo, Lunala, & Marshadow cosmetic forms (#5344) 2025-03-12 01:00:33 -04:00
Dean
b298138157
[Bug] Fix NG crash when ability is reactivated for a Pokemon off the field (#5478) 2025-03-11 03:20:00 +00:00
Dean
929392fe8b
[Bug] Fix #5358 Abilities that Redirect Moves Consider Move-Typings before Ability Modifiers (#5464) 2025-03-11 03:02:51 +00:00
MascaChapas27
572556b7b9
[UI/UX] Changed wrong colors in german type icons (#5494)
Co-authored-by: Ángel <odiopds@yahoo.az>
Co-authored-by: damocleas <damocleas25@gmail.com>
2025-03-10 12:59:19 +01:00
Sirz Benjie
7f226df8d6
[GitHub] Automatically add issue-type in issue templates (#5499) 2025-03-09 22:15:24 +00:00
Sirz Benjie
408b66f913
[Misc][Refactor][GitHub] Ditch eslint for biome, and add a formatter (#5495)
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-03-09 14:13:25 -07:00
Sirz Benjie
7455360824
[Misc] Add Wlowscha and SirzBenjie to credits (#5498) 2025-03-08 22:31:36 -05:00
NightKev
c977bc86c1
[Misc] Add some pre-defined imports to overrides.ts (#5492) 2025-03-07 17:20:08 -08:00
Sirz Benjie
60a4db7059
[Refactor] Refactor moves.ts part 1 (#5420) 2025-03-07 19:10:29 -06:00
Mikhail Shueb
e73dbe9861
[Bug] Chilly Reception no longer replaces Legendary Weather (Primordial Sea, Desolate Land, Delta Stream) (#5484)
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-03-07 12:31:34 -05:00
Fuad Ali
da68cf15c6
[Bug] Harsh Sun, Heavy Rain, and Delta Stream messages now display when their effects are triggered (#5489) 2025-03-06 19:03:01 -05:00
damocleas
fdc5e7daea [i18n] Update locales submodule 2025-03-06 14:05:08 -05:00
schmidtc1
7a9b1e5033
[Bug] Fix critical hits not bypassing screens (#5470) 2025-03-06 09:14:22 +00:00
Sirz Benjie
ba617ad91b
[Misc] Add a script to help verify correctness of variant sprite masterlist (#5325)
Co-authored-by: AJ Fontaine <36677462+Fontbane@users.noreply.github.com>
2025-03-06 00:39:02 -05:00
NightKev
6595966478
[Misc] getPokemonSpecies() no longer accepts undefined (#5477) 2025-03-06 02:18:24 +00:00
Unicorn_Power
9544973f1f
[Sprite] Gmax animation implementation + Palkia-Origin fix (#5468) 2025-03-05 14:05:59 -08:00
NightKev
f185039474
Merge pull request #5485 from pagefaultgames/main
Main (1.7.7) -> Beta
2025-03-05 14:04:06 -08:00
Xavion3
632caff2f3
[Bug][Hotfix] Fix migration crash (#5482) 2025-03-05 13:58:51 -08:00
Lugiad
c890b7ae46
[Localization] [UI/UX] Added Spanish status icons (#5481) 2025-03-05 21:44:29 +01:00
damocleas
1882e96ec5
Minor Release 1.7.6 2025-03-03 23:49:28 -05:00
David Yang
6181afc6d2
[UI/UX] Make left button also go back to run history from run info (#5474) 2025-03-04 00:40:04 +00:00
damocleas
ff4184e23f
[Balance] Make Pickup and Honey Gather Unsuppressable (#5476) 2025-03-03 16:33:53 -08:00
Xavion3
cabcfcbd39
[Balance] Make megas/max player pokemon unable to tera (#5469)
Co-authored-by: damocleas <damocleas25@gmail.com>
2025-03-02 21:22:37 -05:00
Sirz Benjie
5e469620ef
[Bug] Fix battle-anims crashing in certain cases (#5337) 2025-03-02 17:15:51 -08:00
Wlowscha
6f686a05e3
[UI/UX] [Bug] Hiding tera button when toggling on stats mode (#5466) 2025-03-02 14:35:59 -05:00
Sirz Benjie
73afb35c4d
[GitHub] Update CODEOWNERS to fix team ownership (#5465) 2025-03-02 10:40:40 -08:00
damocleas
659bc82676 [i18n] Up version to 1.7.6, Update locales submodule 2025-03-02 12:19:17 -05:00
Wlowscha
882b965da1
[Bug] Pledge moves in summary do not break the game (#5461) 2025-03-01 19:46:38 -06:00
Wlowscha
b50d2c0783
[Bug][UI/UX] Fix bug in Pokédex for Mothim and other niche cases (#5458) 2025-03-01 16:24:15 -05:00
Wlowscha
8f280bec49
[Bug][UI/UX] Restore V button in battle (#5459) 2025-03-01 21:11:05 +00:00
Wlowscha
04ac5c3762
[Bug][UI/UX] Shiny button can cycle variants even if non-shiny form is uncaught (#5457) 2025-03-01 15:54:29 -05:00
Wlowscha
5c73a1ea46
[Bug][UI/UX] Starter select screen now looks for and displays form-specific abilities (#5454) 2025-03-01 15:43:18 -05:00
Wlowscha
c7df847e66
[Bug] Unlocking correct base form of Zygarde when captured (#5453) 2025-03-01 13:33:31 -06:00
Wlowscha
89e8085c39
[Bug] Display Pokémon name in Focus Punch lost focus message (#5448) 2025-02-28 23:22:51 -05:00
Wlowscha
d16197e950
[Bug] Gendered forms display correct information in Pokédex (#5452) 2025-02-28 22:34:49 -05:00
Wlowscha
b348626ec2
[Bug][UI/UX] Make candy icons show up again in starter select screen (#5451) 2025-03-01 01:00:56 +00:00
Wlowscha
7cc5f40af8
[Bug][UI/UX] Restore egg/tm move and passive icons when using filters in Pokédex (#5450) 2025-02-28 19:55:22 -05:00
Wlowscha
118bdcc49e
[Bug][UI/UX] Never select invisible containers in Pokédex (#5449) 2025-02-28 18:15:11 -06:00
damocleas
9b2f649078
Main -> Beta 1.7.5 #5438
Merge main to beta
2025-02-28 18:02:25 -05:00
Wlowscha
942bcacb56
[Bug][Hotfix] Restrict Use Candies option in the Pokédex during Shop (#5446) 2025-02-28 16:22:22 -05:00
AJ Fontaine
13429446d3
[Bug] Fix tera slot wrapping (#5437) 2025-02-28 06:18:58 +00:00
Xavion3
b33ffb29b3
[Bug] Fix mycelium might softlock (#5441) 2025-02-27 19:08:55 -08:00
Wlowscha
5941cfb001
[Bug][Hotfix] Fix bug with transferring all items (#5440) 2025-02-28 02:49:27 +00:00
Blitzy
9701f27c63
[Bug] [Hotfix] Remove Penny's Extra Zamazenta (#5439)
Co-authored-by: damocleas <damocleas25@gmail.com>
2025-02-28 02:05:11 +00:00
damocleas
49edc39bda
Release 1.7.0 #5429
Release 1.7.0
2025-02-27 19:11:20 -05:00
NightKev
2b535622ac [i18n] Update locales submodule 2025-02-27 15:33:01 -08:00
Xavion3
078c3d00ce
[UI][Enhancement] Implement keybind migrator (#5431)
Co-authored-by: Madmadness65 <59298170+Madmadness65@users.noreply.github.com>
2025-02-27 22:22:09 +00:00
Xavion3
9ff20af8b7
[UI] Make fight cursor tera icon while tera-ing (#5402)
Co-authored-by: damocleas <damocleas25@gmail.com>
Co-authored-by: Madmadness65 <blaze.the.fireman@gmail.com>
2025-02-27 23:13:35 +01:00
Wlowscha
922a17048c
[Bug] Save data migrator to fix starters with no selectable forms (#5425)
Co-authored-by: Madmadness65 <59298170+Madmadness65@users.noreply.github.com>
2025-02-27 21:50:46 +00:00
damocleas
3124aeb810
[Misc] Event Banner Fix (#5435) 2025-02-27 19:59:24 +00:00
damocleas
02edfb673e
Data for possible Pokémon Day 2025 Event (#5433) 2025-02-27 19:12:57 +00:00
Unicorn_Power
f902716837
[Sprite] Froakie static scuff (#5434) 2025-02-27 19:05:37 +00:00
Lugiad
32ae72150f
Pokémon Day 2025 Event banners (#5432) 2025-02-27 12:59:33 -06:00
damocleas
d12aa635af
[Balance] Follow Cost Change from #5416 (#5430) 2025-02-27 05:56:01 +00:00
AJ Fontaine
de148277ea
[Balance] [Bug] Set trainer mons to forms matching specialty type (#5409)
Co-authored-by: damocleas <damocleas25@gmail.com>
2025-02-26 19:14:15 -05:00
Wlowscha
13373a6391
[UI/UX] Pokédex - New locales keys for standalone battle forms (#5386) 2025-02-26 16:57:05 -05:00
Dean
905fec92e9
[Bug] Fix Neutralizing Gas not Deactivating on Faint and Capture (#5423) 2025-02-26 22:39:08 +01:00
Xavion3
035aed3e85
[Bug][UI] Fix arena flyout (#5421) 2025-02-26 19:16:07 +00:00
AJ Fontaine
85f8c59036
[Balance] Paldean Gym Leader, E4, and other Tera-related trainer adjustments #5367 2025-02-26 14:11:46 -05:00
Xavion3
71f644c453
[UI] Tera type on summary screen (#5419) 2025-02-26 17:03:22 +00:00
Esca
883bf45bc0
[Bug][Move] Shed Tail now rounds incurred damage up, not down (#5219)
* Shed Tail rounds incurred damage up

* Altered Substitute/Shed Tail success condition to account for rounding up

* Altered the test to match correct functionality

* Update src/data/move.ts

Removed default value in constructor due to it having become redundant

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

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
2025-02-26 00:45:29 -08:00
Wlowscha
6e8a4b287c
[UI/UX] Pressing B on filter bar resets filters (#5404)
* Make dropdown update selection when reset to default

* Function to resect selection in filter bar

* Pressing B on filter now closes it or resets instead of going to top of starters

* Filter changes to starter select screen

* Method to get column at a given index in filter bar

* Specific reset behavior for caught filter in starter select menu

* Apply suggestions from code review

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

* Update src/ui/starter-select-ui-handler.ts

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

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: damocleas <damocleas25@gmail.com>
Co-authored-by: Madmadness65 <59298170+Madmadness65@users.noreply.github.com>
2025-02-26 01:05:39 -05:00
Dean
b9a853ed2e
[Bug] Fix canApplyAbility check but for real this time (#5418)
* Move canApplyAbility check

* Fix suppressed abilities not activated properly

* Move canApplyAbility to applySingleAbAttrs

---------

Co-authored-by: damocleas <damocleas25@gmail.com>
2025-02-26 00:48:44 -05:00
damocleas
92ee9d06ca
[Balance] February 2025 Passive/Egg Move/Cost Changes 2 #5416
* Update egg-moves.ts

* Update starters.ts cost changes

* Update passives.ts

* Update mystery-encounter-utils.test.ts
2025-02-25 23:02:04 -05:00
Xavion3
ca5e578954
[Bug] Fix AI func save/loads. #5414
Co-authored-by: damocleas <damocleas25@gmail.com>
2025-02-25 22:27:20 -05:00
Sirz Benjie
aa3f924633
Revert "[Bug] Fix canApplyAbility check #5413" (#5417)
This reverts commit 2cc0ac90f8.
2025-02-25 22:05:18 -05:00
Dean
2cc0ac90f8
[Bug] Fix canApplyAbility check #5413 2025-02-25 20:22:32 -05:00
Dean
870bff0e6e
[Bug][Ability] Fix Neutralizing Gas interactions #5381
* Add neutralizing gas arena tag

* Add PostSummonAddArenaTagAbAttr

* Add PreLeaveField attr for neutralizing gas

* Remove old SuppressFieldAbilitiesAttr

* Fix ability suppression logic

* Add basic tests

* Reapply onGain abilities when neutralizing gas ends

* Untodo ability remval test

* Add more tests

* Modify gastro acid to call onLose attributes when suppressing

* Properly cancel abilities on switch in

* Add documentation

* Remove partial designation

* Update locale key usage

* Reactivate the last source's other abilities when it becomes the last remaining

* Fix loop vars

* Add access modifiers for SuppressAbilitiesTag

* Minor changes

* Move test to reflect new location

* Remove promises from abattr function signatures
2025-02-25 18:38:17 -05:00
Wlowscha
7a9bede38d
[UI/UX][Bug] Fixing obsolete reference in Pokédex to filteredPokemonContainers #5415 2025-02-25 16:17:22 -05:00
Wlowscha
8cc5f650f3
[UI/UX] Reducing number of containers in the Pokédex (#5400)
* PokedexMonContainer now has a method to change species.

* Not setting tint to 0 in the container

* Using only 81 containers in Pokédex

* Apply suggestions from code review

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

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-02-25 08:54:48 -06:00
Unicorn_Power
d11f02aa3d
[Sprite] Variant json and deletion of the pngs for Vivillon-666 (#5408)
* Variant json and deletion of the pngs

* Variant color adjustment

adjusted some color that werent mapped correctly.
adjusted some colors due to contrast issues

* Fixing  the reason sprite test kept failing.

.....669
2025-02-25 06:54:24 -08:00
Sirz Benjie
c81d9b6a89
[Balance] Update moveset gen to calculate expected power (#5390)
* Make moveset gen consider multi hit moves fairly

* Make getTargetBenefitScore consider effective power

* Apply Kev's suggestions

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

* Fix improper stat ratio.

* Fix expected hit count for pop-bomb like moves

Accuracy is now properly divided by 100

* Update src/data/move.ts

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

* Update src/data/move.ts

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

* Update src/data/move.ts

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

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-02-25 08:22:25 -06:00
Madmadness65
88a5c9d416
[Ability] Implement Teraform Zero ability (#5359)
* Partially implement Teraform Zero ability

The functionality of the ability is all there, it just isn't limited to one use per Terastallization yet.

* Add the once per battle condition

This removes the partial from the ability.

* Make attribute names more generic

---------

Co-authored-by: damocleas <damocleas25@gmail.com>
2025-02-25 08:46:07 +01:00
AJ Fontaine
d14f71d27a
[Bug] Maintain Gimmighoul evo counter when fusing (#5411) 2025-02-24 21:15:15 -08:00
Wlowscha
b95bedce7a
[UI/UX] Pokedex - Ensure gender forms loop correctly with either button (#5387) 2025-02-24 20:45:45 -08:00
Wlowscha
4128d09a1d
[UI/UX] Pokedex - Page turning takes filters into account (#5372)
* Introducing list of indices of filtered mons to be passed to the Pokédex Page for scrolling

* Update pokedex-page-ui-handler.ts
2025-02-24 20:44:13 -08:00
Wlowscha
6857cd459c
[UI/UX] Pokédex - Fix candy filter (#5377)
* Hardcoding Pikachu to show 0 candies

* Looking at starterId to determine order in sort by candy
2025-02-24 20:43:53 -08:00
Wlowscha
cc7e1af827
[BUG] Base forms are now counted as caught when catching a battle form (#5385)
* Base forms are counted as caught when catching a battle form

* Ensuring that correct form shows up in Pokédex Index
2025-02-24 20:43:34 -08:00
Xavion3
0cb3a28dfa
Fix tera type access (#5364) 2025-02-25 04:33:39 +11:00
Dean
5996f8c6eb
[Move] Add Taunt Removal Message #5407 2025-02-24 11:46:54 -05:00
Xavion3
9fb654ce73
[Balance] Make dual STABs way more likely #5401 2025-02-24 11:44:22 -05:00
Jimmybald1
8f15788b39
[Misc] Added a Daily Run Seed Override to the overrides. Only works locally. (#5330)
* [Misc] Added a Daily Run Seed Override to the overrides. Only works locally.

* [Misc] Changed Daily Run Seed Override to string | null

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

---------

Co-authored-by: Jimmybald1 <147992650+IBBCalc@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: damocleas <damocleas25@gmail.com>
2025-02-24 11:43:38 -05:00
Unicorn_Power
1c192d434b
[Sprite] 666-Vivillion back exp change and scuff fix (#5382)
* [Sprite] Vivillion back exp change and scuff fix

scuff is the incorrect labeling in the exp-sprite.json.
fully updated meadow pattern.
all incorrect labeled back sprites are no more a thing.

* fix the last issues with Shiny exp backs

* Last adjustment for the future variant Pr

added 1 color
2025-02-24 10:44:41 -05:00
Dean
9d03004dd3
[Test] Fix import in create-test script (#5403) 2025-02-23 23:17:37 -08:00
NightKev
3ab75b297b
[Misc] Copy Encounter Phase logging to MEs (#5405) 2025-02-23 22:27:40 -08:00
AJ Fontaine
095634fe6d
[Bug] Fix Gym Leaders fought on wave 20 not evolving mons when fought later in the run (#5370)
* Fix repeat Plains GLs not evolving first mons

* Add null check
2025-02-23 13:21:24 -06:00
NightKev
cefd92bee8
[Misc] Update Encounter Phase logging nature display and passive check (#5397) 2025-02-23 00:06:27 -06:00
Madmadness65
eeeb4171b1
[Move] Add flavor text for Splash and Celebrate (#5392)
* Add flavor text for Splash and Celebrate

* Remove unnecessary constructors

* Use Splash move text from move triggers
2025-02-23 00:35:49 -05:00
Sirz Benjie
a51a504155
[Test] Move test folder out of src (#5398)
* move test folder

* Update vitest files

* rename test/utils to test/testUtils

* Remove stray utils/gameManager

Got put back from a rebase
2025-02-22 22:52:07 -06:00
Wlowscha
bd288ad862
[UI] Adding container to set transparency of optionSelectText (#5396) 2025-02-22 15:38:11 -08:00
Sirz Benjie
b1b71dbd6d
[Test] Fix annoying BBCodeText error messages in tests (#5395) 2025-02-22 15:37:52 -08:00
Sirz Benjie
7a015e094f
[Bug] [Move] Add focus punch lost focus message (#5341)
* Add focus punch lost focus message

* Rename attribute

* Added automated test

* Fix failedToTerrain being undefined

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

Co-authored-by: Wlowscha <54003515+Wlowscha@users.noreply.github.com>

* Update src/data/move.ts

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

---------

Co-authored-by: Wlowscha <54003515+Wlowscha@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-02-22 13:33:32 -05:00
Wlowscha
180a9cc054
[UI/UX] Pokedex - Separate shiny icons (#5371)
* Separate shiny icons

* Added forgotten access modifier
2025-02-21 14:09:00 -06:00
damocleas
39f2fdf4ff
[Bug] Giratina no longer loses its' Hidden Ability going from Origin back to Altered Form #5326 2025-02-21 02:43:45 -06:00
Sirz Benjie
e4ce822ce6
[Refactor] Remove Promises from moves and abilities (#5283)
* Remove Promises from moves and abilities

* Fix `PostSummonPhase`

* Apply suggestions from Kev's review

* More suggestions

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

* Cleaning up some updated functions

* Remove Promise from `addEnemyModifier`

+ fixes to some extraneous `await`s

* Test fixes

* Fix missing import in revival blessing test

Co-authored-by: innerthunder <brandonerickson98@gmail.com>

* Add back applyPreLeaveFieldAttrs

Attribute was removed due to absence in a cherry-pick

* Make applyPostApplyEffects work

* Fix move-effect-phase.ts applications

Some applyX methods were missed in the cherry pick commit and were still returning functions instead of running the function themselves

* Mock `BattleScene.addPokemonIcon` in tests

* Revival Blessing condition and tests

* Incorporate Despair-Games/poketernity/pull/48

* Break up imports

* Remove enemy modifier chance dead code

* Remove async from applyAbAttrsInternal

Stray async leftover from merge

* Remove docs and comments referencing promises

* Add `user.setTempAbility` to transform phase

---------

Co-authored-by: innerthunder <brandonerickson98@gmail.com>
Co-authored-by: innerthunder <168692175+innerthunder@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: PigeonBar <56974298+PigeonBar@users.noreply.github.com>
2025-02-21 09:34:39 +01:00
Wlowscha
97aeceab58
[UI/UX] Pokédex - Move Pokédex option up the starter select screen menu #5376 2025-02-21 03:26:50 -05:00
Xavion3
bec73fd8d3
[Bug][UI/UX] Remove redundant bgm bar (#5391) 2025-02-20 22:50:44 -08:00
Wlowscha
6a4c6f1c89
[UI/UX] Pokédex - Informative messages for level up moves #5388 2025-02-20 23:23:34 -06:00
NightKev
13d9140340
[Misc] Update console logging of encounter pokemon on beta/local (#5389) 2025-02-20 19:11:52 -08:00
Sirz Benjie
5072460f4c
[Bug] Fix endless tokens allowing attacks to deal 0 damage (#5347) 2025-02-20 16:16:41 -08:00
Xavion3
ed8d162125
[Balance] Make stat a much larger factor in moveset gen #5383 2025-02-21 10:50:39 +11:00
Lugiad
073a36a33e
[Localization] Corrections move-touch-controls-handler local key names (#5365)
* Update move-touch-controls-handler.ts

* Update locales submodule

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-02-21 10:49:57 +11:00
Xavion3
2d067ec7ce
[UI][Enhancement] Allow tera type choice on starter select (#5366)
* Allow tera type choice on starter select

* Make tera type actually apply in run

* Remove logging statement

* Add support for alternate forms
2025-02-21 07:23:08 +11:00
Lugiad
3a4c8eb92e
[UX/UI] [Localization] Summary removed Lv and ID No. as image texts (#5361)
* summary-ui-handler.ts Lv. and ID No. Text

* Remove Lv and ID No.

* Remove Lv and ID No.
2025-02-21 02:08:48 +11:00
Lugiad
c3045b58b6
[Localization] Localizable Lv UP pop-up bar (#5336)
* Update party-exp-bar.ts localizable

* Update party-exp-bar.ts
2025-02-21 02:06:12 +11:00
Dean
a346318f9d
[Move] Implement Quash (#5049)
* Add quash logic for single targets

* Multi-squash power

* Update MovePhase constructor

* Start searching from front of phaseQueue instead of weather

* Use findPhase instead of looping to search

* Basic test case

* Test for failure on a already moved target

* Speed order test

* Fix speed test comment

* Fix ForceLastAttr to properly respect speed order

* Respect trick room in quash turn order

* Test for respecting TR

* Add comments, fix var name

* Allow for quashed speed ties

* Avoid reapplying if a move is already forced last

* Spacing

* Quash does fail in a single battle despite this not being documented anywhere

* Add move text

* Update move.ts (readability)

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

* Use globalScene

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-02-19 18:59:54 -06:00
Amani H.
7ec0dba74b
[Bug/Item] Fix Flame Orb Weight Function (#5380) 2025-02-19 14:19:02 -08:00
Dean
9cc1b17745
[Bug] Fix moves/abilities which modify abilities (#5146)
* Add setAbility method to pokemon.ts

* Edit SwitchAbilitiesAttr to use setAbility

* Change AbilityGiveAttr to use setAbility

* Rename setAbility to be more accurate

* Fix AbilityCopyAttr

* Fix AbilityChangeAttr

* Fix Transform

* Fix imposter

* Fix PostDefendAbilityGiveAbAttr

* Actually fix imposter

* Actually fix transform

* Fix CopyFaintedAllyAbilityAbAttr

* Fix Trace

* Fix PostDefendAbilitySwapAbAttr

* Add tests for skill swap

* Add tests for doodle

* Add tests for entrainment

* Add tests for role play

* Add test for simple beam

* Add test for transform

* Add test for imposter

* Add tests for mummy

* Add tests for trace

* Add tests for wandering spirit

* Consider legendary weather when changing ability

* Ensure that passives are not (re)applied when main abilities change

* Add general ability swap test cases

* Fix test name

* Add NoMidTurnActivationAttr

* Remove NoMidTurnActivationAttr from illusion

* Remove extraneous call to triggerWeatherBasedFormChanges

* Fix primal weather clearing

* Change "MidTurn" to "OnGain"

* Change NoOnGainActivationAttr to a field in PostSummonAbAttr

* Add passive support

* Remove redundant parentheses

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

---------

Co-authored-by: damocleas <damocleas25@gmail.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-02-19 09:02:39 +01:00
NightKev
7fafccf8de
[Test] Disable broken Wimp Out test (#5369) 2025-02-18 19:47:50 -08:00
Xavion3
8864347cb0
[Move] Make Disable disable most recent move instead of oldest move (#5321) 2025-02-17 20:53:57 -06:00
Unicorn_Power
5fa77b7177
[Sprite][Exp First batch of exp change (#5231)
* [Sprite][Exp change] Gen 6 - Gen 7

* Sylveon new exp

* 702 Dedenne

* 712-713 exp changes
2025-02-17 20:32:17 -06:00
Unicorn_Power
fd066ac9b2
[Sprite]Batch 5 exp change (#5243)
* 718 and 718-10 exp change and removal of experimental

* 719 exp change and removal of exp

* 362-mega exp change

* 248-mega exp change

* Fix missing pixels on 248-mega back-exp

* screwing up the master.json to properly commit it

Somehow its ignoring the master.json changes when checking mega tyranitar

* Reverted the screw up on Master.json

Trying to fix so test check the correct files and not look for a png that dont exists

* update the exp-sprites.json

after Kev gave me the Info I needed I did this

* fix it and pokemonSprites text is passing

* Final Adjustment for the colors regarding 248-mega.

Adjusted the colors so that it would GLOW and not become darker.

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-02-17 20:27:19 -06:00
Unicorn_Power
3018a747bd
DuskNoir sprite fix and base sprite fix (#5338) 2025-02-17 20:26:36 -06:00
Unicorn_Power
62bacf52a7
[Sprite] Batch 6 exp change last for Gen 6 (#5248)
* 653-654 exp change

* 656 exp change

* 664-665 + 663 exp change.

Will need to remove Exp need in the future

* 714 exp change and removal of Experimental need

Its a better improved version of what we already had all around.

* 656 exp change + static change

Undoing the smiling froakie sadge

* 715 files and base fix

I fix the sprite bug that has been around for the longest time. HELL YEAH

* Finishing touches to 654 variants

Gave Braxien tier 2 and tier 3 custom fire color matching the variants for contrast.
2025-02-17 20:24:05 -06:00
AJ Fontaine
c7ee0173f6
Fix Impidimp front Arctozolt back variants (#5342) 2025-02-17 20:23:10 -06:00
Unicorn_Power
a8bf385899
[Sprite]Batch 3 of exp changes (#5232)
* Pancham-exp change

* 698 -Exp change and undo experimental need

* 703.exp change and undo experimental

* 694-exp and removal of experimental

* 698-fixing missing pixels and removing uneeded files
2025-02-17 19:52:43 -06:00
Unicorn_Power
200d52cd99
[Sprite]-2.0-batch-4-exp-change (#5277)
* 707 Klefki animation change and removal of experimental need

Animation is high enough quality plus personality for the pokemon that there wont be a need to try and make 1 better. this is the best animation for klefki

* 704-705 change of exp + 707 Experimental removal

* +707

 fix a Json over sight and now are displaying properly

* 708 animation change and removal of Experimental need

Phantump's animation quality is already top notch and dont need to stay in exp prison

* 692-693 exp change
2025-02-17 19:52:21 -06:00
Unicorn_Power
9e1cc1f188
651. 661-662. 672 exp change (#5314) 2025-02-17 19:45:28 -06:00
AJ Fontaine
7463bedbfd
Un-screw the pooch (#5363) 2025-02-17 19:44:51 -06:00
Jimmybald1
af91ea85c3
[Bug] Changes Daily Run item stack full message to a delay (#5339)
Co-authored-by: Jimmybald1 <147992650+IBBCalc@users.noreply.github.com>
2025-02-17 19:22:12 +01:00
Lugiad
ed8ef48068
[Localization] Move Touch controls Localization (#5349)
* Update move-touch-controls-handler.ts localization

* Update move-touch-controls-handler.ts
2025-02-17 19:17:04 +01:00
Lugiad
db22354057
Update starter-select-ui-handler.ts Spnaish text size (#5356) 2025-02-16 22:30:27 -06:00
Blitzy
e1327c1d2d
[Balance] Guarantee Tera Orb as a reward from Rival 4, Remove it from Classic Item Pool (#5353)
* Add Tera Orb to Rival

* Remove Tera Orb from Classic Rewards
2025-02-16 20:40:11 -05:00
Xavion3
0913c77140
Update version number for migration code (#5354) 2025-02-16 18:07:09 -06:00
Sirz Benjie
4361aa089b
[Refactor] Replace integer holder with number holder (#5350)
* Replace integer holder with number holder

* Remove duplicate NumberHolder

---------

Co-authored-by: Madmadness65 <59298170+Madmadness65@users.noreply.github.com>
2025-02-16 15:31:46 -08:00
Xavion3
90d32b886c
[Feature] Tera Rework (#5233)
* Commit old stashed changes

* Complete basic implementation of Tera

* Fix effectiveness test

* Make tera retain until forced recall or faint, regain on biome change

* Experimental sparkle fix

* Fix champion teras

* Attempted fix for double battles tera UI bug

* Fix the fix

* Fix linting and test issues

* Fix more tests

* Change int type

* Implement tera for ME trainers

* Cleanup species inclusivity check

* Make tera instant recharge if terapagos in party

* Make useless tera shards not generate

* Implement stellar tera damage boost

* Improve tera selection UI

* Tidy up animation and localisation

* Improve tera button sprite

* Fix Lance tera

* Make tera instant recharge during E4 in classic modes.

* Fix formatting in the tera common animation

The animation was also not playing due to `frameTimedEvents` being missing as well.

* Make tera effect start after animation

* Implement save migration

* Update version number for migration code

---------

Co-authored-by: Madmadness65 <blaze.the.fireman@gmail.com>
Co-authored-by: Madmadness65 <59298170+Madmadness65@users.noreply.github.com>
2025-02-16 16:20:50 -05:00
Kenneth West
4bc617bd5f
Fix [BUG] #5081 Wrong visual text when using priority moves on Psychic Terrain (#5091)
* Fix [BUG] #5081 Wrong visual text when using priority moves on Psychic Terrain

* Apply suggestions from code review for global scene change
2025-02-16 15:18:19 -06:00
AJ Fontaine
ef11527b9a
Remove outdated Victini check for monogen challenge (#5309) 2025-02-16 15:07:07 -06:00
Wlowscha
5b1950a1ae
[Bug][UI/UX] Setting proper labels in cost reduction dropdown filter #5316 2025-02-15 23:34:10 -05:00
Madmadness65
4d5f9cecf1
Fix Zenith Marshadow missing a party icon (#5301) 2025-02-15 20:32:07 -06:00
NightKev
8f496ee226
Merge pull request #5329 from pagefaultgames/main
Main (1.6.4) -> Beta
2025-02-15 17:26:53 -08:00
Jannik Tappert
8555ef7cb7
[QOL] Make the name and formName readable for bigger sprites in pokedex (#5328)
* Make the name, formName and type readable (bring it infront of larger sprites that would block it)

* Dont to type Icons otherwise they will overlay on the "want to go back" text

* Update src/ui/pokedex-ui-handler.ts
2025-02-14 22:51:28 -06:00
AJ Fontaine
7b9d1d6570
[Hotfix] Fix crash involving female Pyroar fusions with exp sprites (#5331)
* Fix crash involving female Pyroar fusions with exp sprites

* Update locales submodule
2025-02-14 18:51:41 -08:00
Xavion3
77fbcc70ef
[Bug][Hotfix] Fix fusion with dual type + monotype with shared primary type. (#5322)
* Fix fusion with dual type + monotype with shared primary type.

* Update version number

* Add test case
2025-02-14 02:40:13 -05:00
damocleas
727bf0d74d
[Bug][Hotfix] Show caught pokemon correctly #5320
Merge pull request #5320 from Wlowscha/hotfix-show-caught-pokemon-correctly
2025-02-13 21:25:09 -05:00
Wlowscha
d159901ea1
Updated version 2025-02-14 03:03:58 +01:00
Wlowscha
8f498f1197
Counting default form in caughtAttr for mons that don't have alternative forms 2025-02-14 03:03:14 +01:00
damocleas
f68a833fcf
[Bug][Hotfix] Display caught forms in dex as intended #5319
Merge pull request #5319 from Wlowscha/hotfix-show-caught-forms-in-dex
2025-02-13 20:43:31 -05:00
Wlowscha
7611061378
Updating version 2025-02-14 02:15:24 +01:00
Wlowscha
5ad8f18950
getFullUnlockedData now properly accounts for forms 2025-02-14 02:13:28 +01:00
damocleas
1b16825a50
[Release] 1.6.0
Release 1.6.0 and all that
2025-02-13 19:01:07 -05:00
Sirz Benjie
3fd5414f5c
[Misc] Increment version number (#5317) 2025-02-13 15:37:54 -08:00
Sirz Benjie
dcd1636338
[i18n] Update locales submodule (#5318) 2025-02-13 15:28:59 -08:00
Sirz Benjie
6acd15970e
[Ability][Bug] Remove partial designation from Quark Drive and Protosynthesis #5315 2025-02-13 16:20:54 -05:00
damocleas
d629bf12ab
[Misc][Balance] Organizing Evil Teams (#5303)
* Organized all evil teams
* Improved Giovanni and other Evil Team Leaders
* Experienced endless pain
2025-02-13 16:20:13 -05:00
Lugiad
f1283ad1c8
[UI/UX] Valentine 2025 Event Banners (#5310)
* Valentine 2025 Event Banners
2025-02-13 16:11:40 -05:00
Wlowscha
be0f3b2ab3
[Bug][UI/UX] Dex bug fixes 12 feb (#5307)
* Fixed bug when setting tint of eggs for egg move filter

* Form text is properly hidden when going to filters

* Displaying level up moves of alternate forms

* Offsetting form cycle button when uncaught text is shown

* Pokedex buttons now appear on mobile touchpad

* Hotfix to prevent "Normal" form to showing the text

* Preventing filter texts from showing gibberish

* Moving cursor to input text when pressing on filter

* Introducing method to get full obtainable unlocks for a given species

* Filtering obtainable unlocks in dex

* Buying eggs in dex does not crash the game

* Shiny icon does not overlap with luck text for evolutions

* Shiny is maintained correctly when cycling through different pages

* Displacing text elements to avoid overlap for localized form names

* Checking starter caughtAttr in addition to pokemon caughtAttr
2025-02-12 19:14:22 -08:00
AJ Fontaine
595413edd7
[i18n] Update locale submodules (Feb 12 21:30 UTC) (#5308) 2025-02-12 15:14:22 -08:00
Wlowscha
7199aee9ad
[UI/UX] Fix showing form names and types (#5302)
* Correctly displaying form names

* Fixed bug which displayed wrong form types

* Handling unobtainable forms

* F button does not show up if there is only one obtainable form
2025-02-12 13:09:25 -05:00
Wlowscha
5743751e5c
[Bug][Test] Adding bypass faint to abilities that need it + fixing Perish Body (#5226)
* Added tests for snad spit, seed sower and perish body; for all three, the test checking if the ability triggers after the user faints is failing.

* Adding .bypassFaint() to the three abilities, tests passing

* Apply suggestions from code review

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

* Removed incorrect test for perish song

* Added tests for perish body when one mon already has the perish song tag, both ways

* Changed ability behavior to pass tests

* Removing superfluous conditional

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-02-11 17:01:54 -06:00
Wlowscha
f087162eeb
Adding for text on main dex page (#5300) 2025-02-11 16:40:20 -06:00
AJ Fontaine
b483aa0465
[Sprite] Fix Stunfisk variant backs to use shader (#5293) 2025-02-11 14:39:04 -08:00
Esca
ce8b5752c4
Fix Lunar Dance and Healing Wish not failing when no valid teammates are present (#5195)
Co-authored-by: damocleas <damocleas25@gmail.com>
2025-02-11 16:36:49 -06:00
AJ Fontaine
03011c4601
[Balance] Change IV Scanner to single stack (#5299)
* Make IV Scanner max stack 1

* Apply suggestions from code review

Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>

---------

Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
Co-authored-by: damocleas <damocleas25@gmail.com>
2025-02-11 16:35:24 -06:00
AJ Fontaine
195a3936b3
[Sprite] Update Litleo/Pyroar exp sprites, enable female exp sprites (#5260)
* Enable female experimental sprites

* Update Litleo/Pyroar exp sprites

Co-authored-by: Unicornpowerstar <gabriella.pahankala@hotmail.se>

* Update sprite test to check exp female variants

* Fix shading on shiny Pyroar, remove unused 668-female files

---------

Co-authored-by: Unicornpowerstar <gabriella.pahankala@hotmail.se>
2025-02-11 14:34:40 -08:00
damocleas
5045b637ff
[Balance] Item Table Removals and increased Wide Lens Frequency (#5296)
* Update modifier-type.ts

* Up weight of event DNA Splicers

* fix attempt 1

* Removed 100 pokemon minimum requirement for Catching Charm

commit fontbane suggestion

Co-authored-by: AJ Fontaine <36677462+Fontbane@users.noreply.github.com>

* Removed unused items from item table

* removed selfStatLowerMoves

---------

Co-authored-by: AJ Fontaine <36677462+Fontbane@users.noreply.github.com>
2025-02-11 14:10:25 -08:00
AJ Fontaine
7fea8603f3
[Refactor] Add support for showing separate species form names (#5294)
* Support for localization of regional form names

* Show names of regional and other forms where appropriate

* Add form name to evolution screen

* Remove formKey parameter

* Update docstrings

* More SpeciesFormKey

Co-authored-by: Wlowscha <54003515+Wlowscha@users.noreply.github.com>

* Clean up

* Fix inconsistent key name

---------

Co-authored-by: Wlowscha <54003515+Wlowscha@users.noreply.github.com>
2025-02-11 15:41:22 -06:00
geeilhan
b31d5fd23e
[Move] Spectral Thief Full Implementation (#4891)
* fully implemented spectral thief

* Update to structure of implementation

* line commented target.scene.queueMessage since message does not exist yet

* changed documentation

* added move-trigger.json key

* removed line comment since key was added to english locales

* removed console.log messages used for debugging

* refactored move-trigger key to race with @muscode13

* added more automated tests

* github tests failed

* removed line comment since key was added to english locales

* refactored move-trigger key to race with @muscode13

* added more automated tests

* github tests failed

* solved conflicts

* Update src/data/move.ts

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

* removed .partial()

* corrected spectral thief name

* changed target.scene to globalScene

* changed comments

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
2025-02-11 03:26:01 -08:00
Sirz Benjie
5296966f70
[Ability] [Move] Implement Magic Bounce and Magic Coat (#5225)
* Add unit tests for magic bounce

* Add reflectable tag and apply to moves

* Add BattlerTagType for Magic Coat

* Add more magic bounce tests

* Add magic bounce test for sticky web source

* Mostly working magic bounce and magic coat

* Fix missing negation on mayBounce check

* Move onto the next target after bouncing

* Fix magic bounce accuracy check test

* Finish magic bounce impl

* Make spikes use leftmost magic bounce target

* Add magic coat tests

* Add MagicCoatTag to battler-tags.ts

* Add final set of tests for Magic Coat / Bounce

* Fix semi invulnerbale check in hitCheck

* Fix magic bounce semi-invulnerable interaction

This was based on smogon's incorrect handling of this situation

* Magic bounce should not bounce anything during semi-invulnerable state

* Activate mirror armor interaction test

Also update i18 locales key to `magicCoatActivated`
2025-02-11 03:25:36 -08:00
NightKev
702a6ba482
[i18n] Update locales submodule (#5298) 2025-02-11 03:24:48 -08:00
Wlowscha
60b27f4f62
[UI/UX] Pokedex updates batch (#5282)
* Introducing tray to display form icons in the pokedex; displaying correct information for uncaught and seen forms in pokedex page; dexForDevs now unlocks everything in the main page

* Filtering correctly passive abilities and form abilities. Passive candy symbol is now colored

* Pikachu does not break the dex due to having no passive

* Fixed position of pokemonFormText

* Added button instructions to show forms

* Allowing candy upgrades for evolutions; too expensive options shown in shadow text

* Apply suggestions from code review

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

* Fixed game crashing after save and quit

* Updating import of BBCodeText

* Restoring name on dex page

* getStarterSpecies now looks at speciesStarterCosts to determine what is a starter instead of looking at game data (exception for Pikachu)

* Selecting pokedex option in starter select menu does not play error sound

* Mons having no TM moves don't freeze the game in the dex

* Menu in pokedex page is not pushed to the left when localized options are long

* Removed spurious globalScene.clearPhaseQueue() call

* Showing error message when clicking tm option if no tm moves are available

* Egg move icon and passive icon are darkened when filtering if the respective move or passive has not been unlocked

* Hiding form button when switching to filters

* Hiding "Show forms" button while forms are being shown

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-02-10 23:32:32 -08:00
NightKev
f5ef4a5da9
[Test] Fix Tera Blast test (#5297) 2025-02-10 23:14:54 -08:00
geeilhan
42c4ca27e6
[Ability][Move] Last Respects Refactor and Full Implementation (#5200)
* full implementation of supreme overlord + test

* removed unused import

* changed documentation since Battle.playerFaints is not used in supreme overlord

* Update faint-phase.ts

* changed supreme overlords power calculation function and adjusted tests

* added changes to Last Respects too

* added playerFaints to SessionSaveData to make the counter saveable

* Apply Kev's suggestions

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

* Reset enemy faint counter per battle

* Re-mark supreme overlord as partial

* added automated test case

* moved playerFaints reset to resetArenaEffects

* removed resetEnemyFaintCount() function since it is unused

---------

Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-02-11 00:53:37 -06:00
Scooom
abf9c83607
[Bug] Fix Fused Pokemon not having stats Flipped correctly (#5295)
Co-authored-by: Scooom <jerry@hosterslice.com>
2025-02-10 19:33:13 -08:00
AJ Fontaine
de5aba3d5e
Fix Greninja floating static backsprite (#5292) 2025-02-10 20:17:01 -06:00
AJ Fontaine
20ed4db88b
Index Zangoose sprites (#5042) 2025-02-10 20:15:59 -06:00
geeilhan
e75ddfa975
[Ability] Ignore Held Items for Stat Calculation (#5254)
* added the ability to ignore held items at stat calculation

* integer -> number in src/field/pokemon.ts

* added tests from @SirzBenjie

* Update test

* Fix test filename

* added turnorder to tests

* added tera_blast changes and tests

---------

Co-authored-by: damocleas <damocleas25@gmail.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-02-10 18:56:56 -06:00
Chris
8012a1b559
[Bug] Fix Fun and Games playing move animations even if off (#5187) 2025-02-10 13:48:50 -08:00
AJ Fontaine
3daa9054f3
[Misc] Add data for theoretical Valentine's event (#5244)
* Add Valentines event data

* Event ends Feb 21 not March 21

* Event starts Feb 11 12:00 UTC for testing on beta

* Oops I meant February 10

* Add Luvdisc +3 Luck Boost

* Added Applin to round out the total pokemon and because I know people are going to be confused why it isn't here if they've actually read in gen 8 (any readers in chat?)

---------

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
Co-authored-by: damocleas <damocleas25@gmail.com>
2025-02-10 00:30:39 -06:00
damocleas
f77bfc8367
Reapply [UI/UX] Show IVs on stats page of summary (#5172) #5291
This reverts commit 612e6a25c1.
2025-02-10 00:40:26 -05:00
Sirz Benjie
c5968d52ce
Merge pull request #5228 from DayKev/add-eslint-promises-rule
[Test] Add eslint rule enforcing proper `await` usage in tests
2025-02-09 18:57:22 -06:00
damocleas
612e6a25c1
Revert "[UI/UX] Show IVs on stats page of summary (#5172)" (#5284)
This reverts commit 366c88517c.
2025-02-09 04:13:06 -05:00
AJ Fontaine
366c88517c
[UI/UX] Show IVs on stats page of summary (#5172)
* Show IVs on stats screen

* Clearer text and gold perfect IVs
2025-02-09 03:41:59 -05:00
PrabbyDD
7cd3217114
[Ability] Implement Mirror Armor (#4769)
* beginnings of implementation of mirror armor

* logging some new changes

* fixing edge cases

* adding changes for sticky web and other features of mirror armor

* adding changes for sticky web and other features of mirror armor

* adding more unit tests and cleaning up notes

* Update src/data/ability.ts

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

* Update src/data/ability.ts

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

* Update src/data/ability.ts

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

* Update src/data/ability.ts

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

* using arena tags source id variable

* updating submodule pointer for locales

* small change

* Update src/data/move.ts

commit Kev fix (minor flip for consistency)

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

* fix import

* Use global scene

* Update tests

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: Madmadness65 <59298170+Madmadness65@users.noreply.github.com>
Co-authored-by: Madmadness65 <blaze.the.fireman@gmail.com>
2025-02-09 03:14:56 -05:00
dependabot[bot]
a941533a13
Bump vite from 5.4.8 to 5.4.14 (#5275)
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 5.4.8 to 5.4.14.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v5.4.14/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v5.4.14/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-08 11:49:02 -08:00
dependabot[bot]
e29b8937f2
Bump vitest and @vitest/coverage-istanbul (#5276)
Bumps [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) and [@vitest/coverage-istanbul](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-istanbul). These dependencies needed to be updated together.

Updates `vitest` from 2.0.4 to 2.1.9
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Commits](https://github.com/vitest-dev/vitest/commits/v2.1.9/packages/vitest)

Updates `@vitest/coverage-istanbul` from 2.0.4 to 2.1.9
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Commits](https://github.com/vitest-dev/vitest/commits/v2.1.9/packages/coverage-istanbul)

---
updated-dependencies:
- dependency-name: vitest
  dependency-type: direct:development
- dependency-name: "@vitest/coverage-istanbul"
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-08 11:48:47 -08:00
NightKev
090a60dfba
[Test] Update sprite test to give more useful error messages (#5281) 2025-02-08 10:54:45 -08:00
bjparker1226
66024c9bcd
[Bug] Fix Fell Stinger giving boost when enemy dies to another source (#4723)
* check last source of damage instead of last successful attacker

* implement unit tests for Fell Stinger

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-02-08 10:52:59 -08:00
NightKev
db50091f12
Merge pull request #5280 from pagefaultgames/main
Main (1.5.4) -> Beta
2025-02-08 10:46:12 -08:00
NightKev
e6340de046
[i18n] Update locales submodule (#5279) 2025-02-08 09:52:13 -08:00
NightKev
f38393e64f
Revert "[Hotfix] Adding warning message for the maintenance" (#5278)
* Revert "[Hotfix] Adding warning message for the maintenance (#5263)"

This reverts commit c88c9337dd.

* Update version to 1.5.4
2025-02-08 12:22:29 -05:00
Wlowscha
66c70b07a7
[UI/UX] In-Game Pokedex (#5083)
* Working ui, missing logic, logs

* Filtering starters by name is working

* Filtering moves and abilities correctly

* Opening starter page on button.action

* Removed ugly leftover from title

* Added container for text with different colors and titles

* Showing all species in pokedex with no decorations and shinies

* Filtering includes extra forms; moving cursor from filterText to starters does not reset scrollIndex; toggle button for decorations

* Can access evolution page

* Abilities are colored properly (still missing info overlay)

* Biome filter; displays for baseStats, biomes and evolutions

* Removed lockable select ui handler, replaced by changes to standard ui handler.

* Evolutions are selectable from list and displayed properly

* Keeps shiny variant, gender and form when switching to evolutions; show ability descriptions; properly displaying sprites for megas and other forms

* Listing prevolutions and base forms

* Fixed filtering of baby forms with no biome assigned; Caught filter is ALL by default

* Highlighting text filters, resetting all filters when starting up

* No error messag when cursor on uncaught species, showing sprite again after toggling stats

* Simplified Pokemon Scan logic, accepts separate words as input

* Dynamically resizing ability box, showing ability description on first hover. Removed debug logs.

* Removed some more debug messages.

* Filter bar can adjust cursorOffset and x padding

* Fixed some type definitions

* Fixed more warnings; added localization strings in the pokedex scan overlay.

* Fixed fatal bug due to using Object.keys

* Removed debug messages

* Added try catch construct to prevent error that was breaking reloadHelper tests

* Added filter for starters / evolutions

* Biome filter option for uncatchable mons

* C and V buttons snap cursor to filters

* Changing background to make instructions visible

* Can buy candy upgrades through pokedex

* Displaying base stats as bars in an overlay

* Including baby forms among uncatchable mons

* Including evolutions when filtering by biome

* Working logic for select ui handler with skips and scroll

* -Pokedex page showing biomes from prevolutions; displaying correct biomes for forms of Rotom, Burmy and Lycanroc

* Fixed bug in base stats overlay

* Regional forms display name of region in evolutions and prevolutions

* Better messages for evolution conditions

* Showing proper descriptions for menu

* Adding sound effects to menu, and pokemon cry when opening page

* Changing menu colors to textstyle options supporting a legacy version.

* Fix to getStarterSpeciesId to work with all-unlocks files

* Passing a TextStyle to option select ui handler to allow for shadowed text

* Fixed bug of overlapping labels in text filters

* Fixed bug with supportHover and skipped indices in option select ui handler

* Localization of pokemon number label

* Fix to pokemon number localization

* Fix to pokemon number localization

* Adding some comments, removing useless elements

* More cleanup

* Removed candy upgrade instructions from evolved pokemon; attempting to buy candies from evolution now gives error sound instead of crashing the game

* Attempting to exit from filter text is now allowed if current option is empty

* UI changes to make dex pages work in legacy style

* Pokemon name shown while in alt form is no more capitalized

* Handling uncaught pokemon

* Showing types on Pokémon page

* Introducing globalScene everywhere

* Showing evolution requirements in message box

* Displaying form changing items; now using pokemonFormChanges to only show reachable forms

* Playing correct cry

* Pokemon cry in setSpeciesDetails

* Left and right buttons to turn previous or next pokedex page

* Cleaned up "last" from this.species; turning pages now preserves memories of unlocks

* Pokerus cursor is now treated as decoration

* Correctly displaying prevolutions for Pikachu and Gholdengo

* Uncaught forms can be cycled through (with black sprite and no options available)

* Filtering by moves now shows icons to distinguish egg and tm moves

* Added icons for passive abilities

* Added icons to legacy mode; fixed bug that caused game to hang when switching to or from legacy mode

* Pokedex entries are accessible through party screen

* Adding sort criteria for consistency with starter select screen

* Added options to cost reduction filter for consistency with starter select screen

* Updating optionSelectUiHandler to simplify logic and fix bug of autocomplete showing options incorrectly

* Adding Pokedéx option in starter select screen

* Prevolutions are shown properly again; battle forms are considered caught as long as the base form is caught

* Small fixes to evolution and form change descriptions

* Reworked evolutions menu to incorporate condition descriptions

* Moving evolution condition description logic entirely to the SpeciesEvolution class

* Removed extra Miraidon and Koraidon forms

* Properly showing evolution text for Dunsparce and Maushold

* Displaying uncaught forms for Dudunsparce and Maushold properly

* Displaying correct forms for Urshifu and Toxicitry after evolution

* Cleared up comments

* Updating test for tandemaus evolution

* Localized labels for egg moves and abilities

* Added button to show back sprites

* Back to showing only caught battleforms; added dexForDevs option

* Merging shiny and variant buttons

* Uncaught battle forms options are shown in dark text, like evolutions

* Showing proper gender for mons that can only be (or have only caught in) one gender

* Apply suggestions from code review

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

* Removed unused options from base-stats-overlay

* Fixed import of BaseStatsOverlay

* Displaying form-specific TMs properly; adjusting for passives rework

* Removed logging messages

* resetting containers to prevent memory leaks

* Updating integer to number in pokedex

* Implemented suggestion

* Removed some stray comments

* Fixed logic for cursor coming down from filter bar

* Transition from filters to dex box now works in a visually pleasing way

---------

Co-authored-by: Lugiad <2070109+Adri1@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: damocleas <damocleas25@gmail.com>
2025-02-08 11:48:06 -05:00
Jimmybald1
6e0c8dba88
[Balance] Update base exp values to gen 9 (#5240)
* [Balance] Update base exp values to gen 9

* [Balance] Updated Bloodmoon Ursaluna and Ultra Necrozma with exp formula

---------

Co-authored-by: Jimmybald1 <147992650+IBBCalc@users.noreply.github.com>
Co-authored-by: damocleas <damocleas25@gmail.com>
2025-02-08 08:24:34 -07:00
Sirz Benjie
10502b777c
[Misc] Add .nvmrc for a smoother repo install (#5270) 2025-02-08 08:19:36 -07:00
Madmadness65
280c552d6d
[Audio] Replace End biome BGM with custom BGM by Firel (#5271)
* Replace End biome BGM with custom BGM by Firel

* Update locales submodule

---------

Co-authored-by: damocleas <damocleas25@gmail.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-02-08 08:16:25 -07:00
damocleas
a46d59b031
[Balance] February 2025 Starter Balance Changes (#5274)
* Update egg-moves.ts

* Update passives.ts

* Update starters.ts starter costs
2025-02-07 22:34:15 -07:00
Wlowscha
345329a31e
[UI/UX] Moving Daily Run option (#5273)
* Position of player count on title screen is set dynamically

* Moving daily run under "New run" option
2025-02-07 20:56:17 -07:00
Sirz Benjie
986fbf3cf7
[Move] [Bug] Fix super-niche edgecase with mega gengar and telekinesis (#5266)
* Fix super-niche edgecase with mega gengar and telekinesis

* Update TelekinesisTag doc comment

* Remove comment about mega gengar as this update fixes it
2025-02-07 15:00:25 -07:00
Lugiad
e06a9df4cd
[UX/UI] Update emerald font for zero (again) (#5268) 2025-02-07 13:40:58 -07:00
damocleas
c80489460c
[Bug] [Balance] Fix Bouncy Bubble being a spread move, revert back to 100% drain effect (#5269) 2025-02-07 13:28:25 -07:00
Wlowscha
c88c9337dd
[Hotfix] Adding warning message for the maintenance (#5263)
* Adding warning message for the maintenance; needs localization

* Update src/ui/title-ui-handler.ts

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

* Update language codes

* Add French translation

Co-authored-by: Lugiad <2070109+Adri1@users.noreply.github.com>

* Fix variable typo in French translation

* Add `zh-CN`

Co-authored-by: Lugiad' <2070109+Adri1@users.noreply.github.com>

* Add `zh-TW`

Co-authored-by: Lugiad' <2070109+Adri1@users.noreply.github.com>

* Add `ja`

Co-authored-by: Lugiad' <2070109+Adri1@users.noreply.github.com>

* Add `es-ES`

Co-authored-by: Lugiad' <2070109+Adri1@users.noreply.github.com>

* Improve date localization

* Specify 12h/24h time format for each language

* Mark the temporary announcement code with comments

* Add `ko`

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

* Move announcement box 10 pixels to the left

* Update korean translation

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

* Added German translation

Co-authored-by: Lugiad' <2070109+Adri1@users.noreply.github.com>

* Removed some useless spaces in maintenance message

* Reduced announcement font size by 2 px

* Adding italian, fixing japanese

* Use English message as placeholder for pt-BR for now

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: Lugiad <2070109+Adri1@users.noreply.github.com>
Co-authored-by: sodam <66295123+sodaMelon@users.noreply.github.com>
2025-02-06 21:17:36 -07:00
Wlowscha
6c4dedb73e
[Refactor/Bug] Pokemon.leaveField(), Fix Related Abilities (#5191)
* Added new AbAttr that triggers whenever a pokemon leaves the field

* Use leaveField everywhere

* Changing order for PreSwitchOutAbAttr

* Don't clearEffects when catching in a mystery encounter

* Attempts to make new overrides for testing

* New options in overrides

* Implemented tests for Desolate Land

* Fixing instruct test to not read turnData of fainted mon

* Removed post faint clear weather

* Apply suggestions from code review

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

* Has_passive_ability override now turns off passives if set to "false", defaults to "null"

* Updating overrides type definitions

* Apply suggestions from code review

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

* Suggestions from review

* Fixed strings in suggestions

* Simplified function to throw balls in tests

* Added tsdocs to overrideHelper.ts

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-02-06 18:37:50 -05:00
Chris
60990deaf2
[Bug] Update Biome text after using Teleporting Hijinks (#5173) 2025-02-06 14:14:28 -07:00
NightKev
f89e42fa7b
[Docs] Update CREDITS.md (#5257)
* [Docs] Update `CREDITS.md`

Add Xavion, condense dev team categories

* Move Dakurei and OrangeRed to dev team list

* Move sirzento to dev team list

* Add Navori, move Sam
2025-02-06 09:13:42 -06:00
NightKev
a7aebb0823
Silvally/Arceus should not change form without its ability (#4738)
Co-authored-by: damocleas <damocleas25@gmail.com>
2025-02-05 17:48:17 -06:00
NightKev
e5691f11a4
[Misc] Prevent auto-imports from appending .js to imports (#5256)
Also fixes `#enums` import not being recognized by auto-imports
2025-02-05 21:07:37 +01:00
Sirz Benjie
c363d2b93c
[Ability] Fully Implement Good as Gold (#5245)
* Fix good as gold

* Update good as gold tests with Kev's feedback
2025-02-04 21:28:49 -07:00
Wlowscha
8d043a9f55
[Refactor] Replace all instances of integer with number (#5250)
* Replaced instances of "integer" with "number"
2025-02-04 17:56:13 -07:00
Sirz Benjie
0d1dacbc7a
[Bug] Fix softlock caused by shields down preventing faint status (#5252) 2025-02-03 20:21:49 -08:00
Wlowscha
91a4333e96
[Misc] New data structures for pokedex (#5223)
* Introducing catchableStarters in biomes.ts

* Introducing SpeciesTmMoves with a list of TM moves for each species

* speciesTmMoves now properly accounts for form-specific tms

* Removed argument from transverse function

* Adding types to passive abilities data structures

* Update tms.ts

* Update src/data/balance/passives.ts

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

---------

Co-authored-by: damocleas <damocleas25@gmail.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-02-03 17:43:52 -08:00
Sirz Benjie
45f4bf3f13
[Misc] add .editorconfig (#5246)
* add .editorconfig

* add .js files to editorconfig, fix insert_final_newline

* Remove stray .editorconfig in src/tests
2025-02-03 18:55:44 +01:00
Wlowscha
3f71f79d7b
[Bug] Ensuring proper .getTypes() behavior with secondary Normal type (#5241)
* customPokemonData.types now accepts Type.UNKNOWN, ignores when determining type

* Changed test for clowning around encounter to look at getTypes() instead of directly accessing customData

* Simplifying logic for fusions when overrides are involved, introducing new tests in pokemon.test.ts

* Renamed overrideTypes to customTypes to avoid confusion with override

* pokemon.getType() properly recognizes Normal secondary type

* Added effectiveness test for ghost on normal

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-02-02 19:17:08 -07:00
Madmadness65
f5c4a205b4
[Sprites] Update many static trainer sprites (#5218)
* Update many static trainer sprites

* Replace BW Plasma Grunts with B2W2 Plasma Grunts

---------

Co-authored-by: damocleas <damocleas25@gmail.com>
2025-02-02 19:14:07 -07:00
Wlowscha
9db2fb1617
Merge pull request #5238 from pagefaultgames/bgm-changes
[Audio] Update Team Plasma battle theme to B2W2 version
2025-02-02 22:05:49 +01:00
damocleas
0d4d25b1e2
Merge branch 'beta' into bgm-changes 2025-02-01 22:29:36 -05:00
Madmadness65
268dff2e3f Update Team Plasma battle theme to B2W2 version 2025-02-01 21:08:41 -06:00
Esca
0da777ff80
[Bug] [Mystery Encounter] Force Clowning Around Blacephalon and Option 3 to roll two different types (#5234)
Co-authored-by: damocleas <damocleas25@gmail.com>
2025-02-01 19:52:45 -07:00
Madmadness65
d318c9b9ae Merge branch 'beta' into bgm-changes 2025-02-01 20:40:14 -06:00
Wlowscha
82da3c1b6d
[Bug][Refactor] Custom types from MEs are correctly applied on form changes (#5229)
* customPokemonData.types now accepts Type.UNKNOWN, ignores when determining type

* Changed test for clowning around encounter to look at getTypes() instead of directly accessing customData

* Simplifying logic for fusions when overrides are involved, introducing new tests in pokemon.test.ts

* Fixed typo

* Fixed another typo

* Renamed overrideTypes to customTypes to avoid confusion with override

* Fixing comments
2025-02-01 20:32:37 -06:00
NightKev
dcb4299aaf
[Misc] Add update-locales:remote command to package.json (#5237) 2025-02-01 20:14:12 -06:00
NightKev
2cac113959
[i18n] Update locales submodule (#5236) 2025-02-01 19:03:40 -07:00
Blitzy
5c5622ed0e
[Enhancement] Add Kukui and Mustard as Champions and Colress as an admin. (#5224)
* Add data for Colress / Kukui / Mustard

* Add Colress / Kukui / Mustard names

* Move Kukui above Hau

* Replace Rood dialouge, Add Kukui / Mustard

* Update trainer-config.ts

* Update battle.ts

* Update challenge.ts

* Update battle.ts

* Update challenge.ts

* Add music & sprites for Colress, Kukui, & Mustard

---------

Co-authored-by: Madmadness65 <59298170+Madmadness65@users.noreply.github.com>
Co-authored-by: damocleas <damocleas25@gmail.com>
2025-02-01 19:03:34 -07:00
Wlowscha
4cc62c9d76
[UI/UX] Moving the "Run History" option to title phase (#5139)
Co-authored-by: damocleas <damocleas25@gmail.com>
2025-02-01 19:02:28 -07:00
damocleas
4dc81c4e7b
Merge branch 'beta' into add-eslint-promises-rule 2025-02-01 19:23:07 -05:00
Wlowscha
38e2abc059
[Balance] Removing Pain Split from boss move pool (#5235)
* Adding HpSplitAttr moves to those removed from the boss pool

---------

Co-authored-by: damocleas <damocleas25@gmail.com>
2025-02-01 17:06:13 -07:00
Jimmybald1
da076d0aa2
[Bug] Fix #5211 gender override would not activate for Male (#5220)
Co-authored-by: Jimmybald1 <147992650+IBBCalc@users.noreply.github.com>
2025-02-01 16:31:29 -07:00
NightKev
7d6036df98 Fix files glob 2025-02-01 01:29:25 -08:00
NightKev
c2a7afc5ba [Test] Add eslint rule enforcing proper await usage in tests 2025-02-01 00:54:04 -08:00
Scooom
db37dcc204
[Misc] Add 100% New Save File (#5104) 2025-01-30 21:25:06 -07:00
Blitzy
5539c5f21f
[Balance] Refactor and Update Champion Teams (#5089)
* Update trainer-config.ts

---------

Co-authored-by: damocleas <damocleas25@gmail.com>
2025-01-30 16:51:08 -07:00
Blitzy
6446e1b7ad
[Balance] Update Evil Leader Teams (#5171)
* Update Evil Leaders

---------

Co-authored-by: damocleas <damocleas25@gmail.com>
2025-01-30 16:45:04 -07:00
NightKev
5280f309f8
[Misc] Add update-version commands to package.json (#5204)
Version numbers are in the format of `MAJOR.MINOR.PATCH`

Commands added are `update-version:patch` and `update-version:minor`
2025-01-30 15:32:12 -08:00
Wlowscha
e5c0b11c02
[Misc] Removing unused forms of Koraidon and Miraidon (#5221) 2025-01-30 14:46:19 -08:00
Esca
a255e06d82
[Bug] [Move] Opponent's Healing Wish now checks opponent's party (#5207) 2025-01-30 12:26:05 -07:00
Sirz Benjie
6b36e4ca06
[Ability] Fully implement shields down (#5205) 2025-01-30 12:21:48 -07:00
Madmadness65
861c2e9274
[Bug] Fix Rapid Strike Urshifu not appearing in wild/trainers (#5216) 2025-01-30 09:33:04 -07:00
Xavion3
6c845cc0d3
[Refactor] Add support for form and evolution specific passives (#5193)
* Add support for form and evolution specific passives

* Update src/data/pokemon-species.ts

---------

Co-authored-by: Amani H. <109637146+xsn34kzx@users.noreply.github.com>
Co-authored-by: damocleas <damocleas25@gmail.com>
2025-01-29 21:35:01 -07:00
AJ Fontaine
a9ffe03804
[Misc] Rename battle music, experimental sprites settings (#5174)
Co-authored-by: damocleas <damocleas25@gmail.com>
2025-01-29 20:43:44 -07:00
Wlowscha
974fe9f7d3
[UI/UX] Merged shiny and variant buttons in starter select menu (#5213)
* Merged shiny and variant options

* Modified test of starter-select ui to reflect button changes

* Removed unused graphics elements
2025-01-29 20:07:44 -07:00
NightKev
0989128deb
[Bug][Mystery Encounters] Use proper BST calculation (#5199)
Mystery Encounters that check the base stats of a pokemon will
no longer check modified BST and instead check the actual BST
2025-01-29 19:47:09 -07:00
AJ Fontaine
4e0b10769b
[Bug] [UI/UX] Allow arena flyout during target selection (#5208) 2025-01-29 19:25:58 -07:00
Bertie690
4c17ebd400
[Bug][Test] Instruct Bugfixes + More tests (#5134)
---------
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-01-29 19:19:05 -07:00
Madmadness65
ec09186264
[Audio] Replace Title BGM with custom BGM by Firel (#5189)
* Replace Title BGM with custom BGM by Firel

Also added descriptions for the battle scene and arena's getBgmLoopPoint methods.

---------

Co-authored-by: damocleas <damocleas25@gmail.com>
2025-01-29 17:51:14 -07:00
damocleas
1e6c74abb8
Merge branch 'beta' into bgm-changes 2025-01-29 19:38:46 -05:00
NightKev
e88b8aeb6f
Merge pull request #5212 from pagefaultgames/main
Main to Beta 1.5
2025-01-29 16:37:03 -08:00
AJ Fontaine
8d20b7b5e0
[Hotfix] Fix event encounters not evolving (#5206)
Your snakes shall now evolve properly, wahoo!
2025-01-28 18:53:07 -07:00
damocleas
d14a5b8819
[Misc] Update version number to 1.5.1
#5203
2025-01-28 19:28:41 -05:00
NightKev
7563a6cd0b [Misc] Update version number to 1.5.1 2025-01-28 16:24:01 -08:00
AJ Fontaine
9fb9bb7e5d
Specify available langs for yots event banner (#5202) 2025-01-28 18:09:50 -06:00
damocleas
7ee573937e
Release 1.5.0
Merge pull request #5177 from pagefaultgames/beta
2025-01-27 19:03:43 -05:00
AJ Fontaine
8d11313458
[Misc] Charms in any events (#5194) 2025-01-27 14:44:21 -08:00
Lugiad
ec68ec2066
[UI/UX] Year of the Snake event banners (#5192)
* Update loading-scene.ts

* 2025 Lunar Year Banners
2025-01-27 15:22:47 -07:00
NightKev
2593d0206c
[i18n] Update locales submodule (#5190) 2025-01-26 16:12:11 -08:00
Madmadness65
8a2ae0a683 Upload fixed version of title music 2025-01-26 17:01:59 -06:00
Madmadness65
15f88fcc39 Replace Title BGM with custom BGM by Firel
Also added descriptions for the battle scene and arena's getBgmLoopPoint methods.
2025-01-26 12:58:46 -06:00
David Yang
33982c311e
[UI/UX] Allow viewing egg list from rewards screen (#5181) 2025-01-26 10:28:03 -07:00
AJ Fontaine
f1c06a5476
[Sprite] Fix Lugia backsprite being cut off (#5144) 2025-01-25 18:58:21 -08:00
damocleas
706a23238c
Revert "[Bug] Fix miniblackhole (#5169)" (#5183)
This reverts commit 9c29cdc63d.
2025-01-25 14:29:09 -08:00
NightKev
996ce5d986
[Misc] Update version to 1.5.0 (#5175) 2025-01-24 21:06:57 -08:00
NightKev
1a57d3998f
Merge branch 'main' into beta 2025-01-24 21:04:13 -08:00
AJ Fontaine
8685ec3c3c
[Misc] Rework some aspects of timed events (#5099)
* Refactor timed event changes

* Use getWeather function

* Add mystery encounter tier change/disabling to timed events

* Event luck boost, event encounter helper function

* Events without shiny boost shouldn't give shiny charm

* globalScene -> this in battle scene class

* Change event pools
2025-01-24 15:59:24 -07:00
Bertie690
747656e8df
[Test] Added learn move utility function & level cap overrides (#5058)
* Added learn move utility function
* Added utility functions
* add another test
* Update overrides.ts
* Update moveHelper.ts
* Update overridesHelper.ts
---------
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: damocleas <damocleas25@gmail.com>
2025-01-23 18:47:22 -07:00
Xavion3
9c29cdc63d
[Bug] Fix miniblackhole (#5169) 2025-01-23 17:18:21 -07:00
Lugiad
134c6e928f
[UI/UX] New version of the 0 (zero) of pokemon-emerald-pro font (#5167) 2025-01-22 11:15:48 -07:00
Wlowscha
d10b7c05f7
[Refactor] Descriptions for evolution and form change requirements (#5147)
* Adding extensions of the SpeciesEvolutionCondition class

* Commented out logs

* Introducing descriptions for form changes; new class SpeciesFormChangeAbilityTrigger which is functionally identical to SpeciesFormChangeManualTrigger but has appropriate description

* Fix in description of compound trigger

* Commenting out logs

* Small fixes, clearing logs, implementing suggestions

* Apply suggestions from code review

Trigger functions are declared with no arguments when not needed.

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

* Removed exports for new classes

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: damocleas <damocleas25@gmail.com>
2025-01-21 16:42:27 -07:00
AJ Fontaine
271e51be58
[Balance] [Feature] Match evil teams to monogen challenge (#4850)
* Match evil teams to monogen challenge

* Remove outdated comment

* Remove BBL adjustment

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: damocleas <damocleas25@gmail.com>
2025-01-21 15:40:05 -07:00
Madmadness65
93fc779350
[Bug] Fix G-Max Urshifus having wrong movesets (#5162) 2025-01-21 15:34:18 -07:00
AJ Fontaine
39283e373b
[UI/UX] Add sort by caught/hatched count to starter select (#5161) 2025-01-20 15:43:55 -07:00
NightKev
d85aedbdfc
[Bug] Prevent pokemon with 0 HP from being statused (#5137)
* [Bug] Prevent pokemon with 0 HP from being statused

* Update test

* Move check to `trySetStatus()` and update test
2025-01-20 09:12:58 -08:00
NightKev
d495c48716 [i18n] Update locales submodule 2025-01-20 09:11:58 -08:00
Wlowscha
f551c51413
[UI/UX] Adding options to see mons with only one or only two cost reductions (#5045) 2025-01-20 10:01:42 -07:00
Unicornpowerstar
ce30897c0a
[Sprite] Update Primal Kyogre Backsprite (#5156) 2025-01-19 16:48:07 -07:00
Scooom
58b7f67ca8
[Challenge] Fix flip inverse achievement (#5145)
* Actually issue FLIP_INVERSE achivement

* Local to remote

* Update src/system/achv.ts

Fix correctly giving FLIP_INVERSE

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

---------

Co-authored-by: Scooom <jerry@hosterslice.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: damocleas <damocleas25@gmail.com>
2025-01-19 12:15:59 -07:00
Unicornpowerstar
05485aefdd
[Sprite] Flutter mane back sprite adjustments (#5057)
Co-authored-by: damocleas <damocleas25@gmail.com>
2025-01-19 11:15:33 -07:00
geeilhan
f3256ec5d4
[Move] Improve implementation of Rage Fist damage increase (#5129)
* implementation of rage fist

* Apply suggestions from code review

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

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

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

* added removed TODO from some test cases

* Apply suggestions from code review

Added changes to documentation and cleaning up code

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

* added protected to updateHitReceivedCount()

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: damocleas <damocleas25@gmail.com>
2025-01-19 11:52:50 -06:00
Unicornpowerstar
75e66b4099
[Sprite] Update Shelly sprite (#5155)
Co-authored-by: damocleas <damocleas25@gmail.com>
2025-01-19 11:50:19 -06:00
Unicornpowerstar
46e1268a64
[Sprite][Color fix] 3 Venusaur and all forms (#5153) 2025-01-19 11:26:59 -06:00
NightKev
ab17df83c7
[Misc] Disable enforced type-only imports in overrides.ts (#5154) 2025-01-19 09:13:48 -08:00
NightKev
24f1fedcd0 [i18n] Update locales submodule 2025-01-18 21:11:29 -08:00
NightKev
ea3fbecfd3
[Misc] Replace globalScene with this in BattleScene (#5142) 2025-01-18 19:12:50 -08:00
damocleas
ae2c9071e4
[Balance] Update starters.ts, removed redundant starters (#5125) 2025-01-17 17:40:40 -05:00
Scooom
ca0522436a
[Challenge] Make the Flip Inverse Challenge Secret (#5133)
Co-authored-by: Scooom <jerry@hosterslice.com>
2025-01-16 16:50:19 -08:00
AJ Fontaine
481616c2ad
[Sprite] Fix female Scizor variants not showing (#5097)
Co-authored-by: damocleas <damocleas25@gmail.com>
2025-01-16 16:25:50 -05:00
NightKev
188664f389
[Sprite] Fix game not waiting for variant data to finish loading (#5130)
Co-authored-by: Moka <millennium.stitcher@gmail.com>
Co-authored-by: damocleas <damocleas25@gmail.com>
2025-01-15 20:25:08 -07:00
AJ Fontaine
c3641a370f
Add BW crit throw sound (#5131) 2025-01-15 20:11:19 -07:00
Scooom
ee6115f49d
[Challenge] Flip Stats Challenge (#5087)
* Implement Flip Stat Challange

* Add Achivement

* Update challenge code to block other challenges.

* Add Achievment Image

* Add FLIP_STAT to enum ChallengeType

* Fix comment for FlipStatChallenge

* Add applyFlipStat override to Challenge Class, and add override inside of FlipStatsChallenge

* Add ChallengeType.FLIP_STAT case to export function applyChallenges (Master Switch Function)

* Properly block other challange achviements

* Change the way achivements are blocked by challenge modes to a more flexible method

* Adjust the image for Flip Stat, and add an additional achivement for completing both Flip and Inverse

* Fix FLIP_INVERSE achivement to check ALL challanges are met, not SOME

* Remove outdated image

* Fix FlipStat applyChallenges inside calculateBaseStats

* Update locales

---------

Co-authored-by: Scooom <na@na.na>
Co-authored-by: Scooom <jerry@hosterslice.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-01-15 01:55:14 -08:00
Madmadness65
608a92b70c Revert "Update locales"
This reverts commit 95c6f4cd52.
2025-01-15 03:39:52 -06:00
Madmadness65
95c6f4cd52 Update locales 2025-01-15 03:33:52 -06:00
Jimmybald1
d624733565
[Bug] Fix #5034 removed unnecessary caught data block for certain forms (#5119)
Co-authored-by: Jimmybald1 <147992650+IBBCalc@users.noreply.github.com>
Co-authored-by: damocleas <damocleas25@gmail.com>
2025-01-15 02:12:50 -07:00
Dean
39b4d74e95
[Bug] Fix #5029 Memory leak when saving and exiting (#5128)
* Add destroy function to ui handlers

* Implement destroy() for StarterSelectUiHandler

* Update battlescene to free memory when resetting

* Document destroy for starter select

---------

Co-authored-by: damocleas <damocleas25@gmail.com>
2025-01-15 02:06:09 -07:00
AJ Fontaine
e2c6bec418
[Bug] Fix Poltergeist message displaying before move use (#5040) 2025-01-15 00:53:16 -08:00
Wlowscha
d2a3e4bb2d
[UI/UX] Looping cursor in save slot selection screen (#5109)
* Save slot selection allows looping

* Removed debug logs

---------

Co-authored-by: damocleas <damocleas25@gmail.com>
2025-01-15 00:23:38 -07:00
Wlowscha
7ae216f0d6
[UI/UX] Shop cursor freedom (#5110)
* Allowing cursor in shop to cycle horizontally

* Improved cycling of commands

---------

Co-authored-by: damocleas <damocleas25@gmail.com>
2025-01-14 23:18:24 -07:00
damocleas
d5f84cf3df
Change Archen HA from Emergency Exit to Wimp Out (#5124) 2025-01-14 19:07:09 -07:00
Amani H.
6681a913fe
[Bug] Prevent Duplicate Signature Species in Trainer Battles (#5059)
* [Bug] Prevent Duplicate Signature Species in Trainer Battles

* Apply Kev's Suggestion

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

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: damocleas <damocleas25@gmail.com>
2025-01-14 18:25:18 -07:00
schmidtc1
001b61c1c7
[Bug][Move] Refactor moves that call a random move (#3380)
* Combine moveset from allies and uses it to get a move

* Clearer implementation of combining user and teammates' moves

* Refactor assist and sleep talk to use metronome's attribute for calling a move

* Refactor move filtering in RandomMovesetMoveAttr, creates arrays with invalid moves for assist/sleep talk

* Refactor RandomMoveAttr to set moveId in condition, places reused code in callMove in RandomMoveAttr

* Correct invalid move lists, adds Max/Z moves to metronome's list

* Remove ignoresVirtual from beta merge

* Remove Max/Z moves per frutescens' comment

* Fix bug with metronome/copycat/assist/sleep talk targeting ally

* Experimental async/await to be tested

* Refactor other attributes to extend CallMoveAttr

* Replace QueuedMove with TurnMove, refactor to attempt two-turn move fix for metronome

* Fix Swallow test due to TurnMove refactor

* Further fixes for TurnMove refactor

* Fix metronome two turn moves for enemy pokemon

* Replace nested ternary with if-else block per DayKev's comment

* Minor fixes

* Adjust command phase args handling

* Create metronome test, refactor RandomMoveAttr for easier testing

* Add unit test for recharge moves

* Refactor Copycat and Mirror Move, adjust move targeting

* Add unit test for ally targeting with Aromatic Mist

* Add tests for secondary effects and recharge moves for metronome

* Add test for Roar, remove test for Acupressure

* Create test for Assist

* Add test for assist failing

* Add sleep talk unit test coverage

* Adjust move-phase to better track last move for copycat, write and update unit tests for assist/copycat

* Create moveHistory in Battle to track all moves used, adjust mirror move to use this, writes unit tests

* Correct mirror move implementation, rewrite unit test to adjust

* Add docs to attrs, update assist to only grab allies sets

* Update assist unit test to match expected functionality

* Update metronome unit test to use getMoveOverride

* Update copycat unit test to use metronome getMoveOverride mock

* Fix phase interception

* Add docs from missed conversations

* Update assist tests to use manual moveset overrides

Minor fixes to other tests

* Remove `export` from `CallMoveAttr`

* Add missing `.unimplemented()` to some Max- and Z-Moves

---------

Co-authored-by: Tempoanon <163687446+Tempo-anon@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-01-14 15:26:35 -08:00
Jimmybald1
f1e500400a
[Balance][Bug] Fix off by one error in Generate random biome and Daily Mode now has its own function (#5121)
* [Balance] Allow Island and Laboratory in Generate Random Biome

* [Bug] Fix off by one error in Generate Random Biome

* [Balance] Daily Mode now has its own Generate Random Starting Biome

* [Misc] Filtering out Town and End specifically instead of assuming enum value stays consistent forever

---------

Co-authored-by: Jimmybald1 <147992650+IBBCalc@users.noreply.github.com>
2025-01-14 15:45:11 -07:00
NightKev
3a3ebfb783
[Balance] Multi-hit moves now use gen 5+ behavior (#5117) 2025-01-12 15:39:06 -08:00
NightKev
0107b1d47e
[Refactor] Create global scene variable (#4766)
* Replace various `scene` pass-arounds with global scene variable

* Modify tests

* Add scene back to `fade[in|out]()` calls

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

* Fix Bug Superfan ME test

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

* Re-enable fixed test

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

* Rename `gScene` to `globalScene`

* Move `globalScene` to its own file to fix import/async issues

* Fix `SelectModifierPhase` tests

* Fix ME tests by removing `scene` from `expect()`s

* Resolve merge issues

* Remove tsdocs referencing `scene` params

Remove missed instances of `.scene`

* Remove unnecessary `globalScene` usage in `loading-scene.ts`

* Fix merge conflicts

* Attempt to fix circular import issue

* Found the source of the import issue

* Fix merge issues

---------

Co-authored-by: Moka <54149968+MokaStitcher@users.noreply.github.com>
2025-01-12 15:33:05 -08:00
Madmadness65
f83ab00ce4 Add missing 'unused' comment before Max Moves 2025-01-12 13:34:21 -06:00
Ori shalhon
d3fafa2770
[UI/UX] Add random selection option during starter select (#5075)
* Update submodule public/locales to the latest upstream commit

* feat: add random selection option during starter select

* move random selection behavior to seperate label

* Update public/locales submodule reference

* Remove debug console.log statement

* Update locales

* Update src/ui/starter-select-ui-handler.ts

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

* Update src/ui/starter-select-ui-handler.ts

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

* Update src/ui/starter-select-ui-handler.ts

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

* Update locales submodule

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-01-10 20:10:52 -06:00
Amani H.
29087710b7
[Balance] Adjust Orb & Light Ball Weight Functions (#5070)
* [Balance] Adjust Orb & Light Ball Weight Functions

* Apply Kev's Suggestions

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

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: damocleas <damocleas25@gmail.com>
2025-01-10 19:34:16 -05:00
Zain
b0c347e20d
[Bug] Fixed defog not removing the target's Safeguard and Mist (#5107)
* Fixed defog not removing the target's Safeguard and Mist

* Made requested changes and added unit test

* Remove stray newline

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-01-10 18:29:25 -06:00
Jimmybald1
d0db6a35d2
[Bug] fix #5102 Catching Charm now always max weight in Daily Mode (#5103)
Co-authored-by: Jimmybald1 <147992650+IBBCalc@users.noreply.github.com>
2025-01-08 20:27:23 +01:00
Unicornpowerstar
07b69c9485
[Sprite] Fix Issues with the 658-ash.json to display sprite correctly (#5055)
* [Sprite][Color] Fixing Issues with the 658-ash.json to display sprite correctly

- Fix colors not being shown correctly in the json.
   - Said fix are adding a new entry to separate the whites that are F8f8f8 by adding f4f4f4
   - Changed the wrong color into the correct one on the rare.

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-01-06 16:26:00 -08:00
NightKev
197b264fb0
[Bug] Gimmighoul & Eevee eggs will now properly randomize their forms (#5080) 2025-01-06 16:24:08 -08:00
Lugiad
1be95e8a1a
[Localization] [UI/UX] Updates for pokemon-emerald-pro & pkmnems (#4968)
* Add files via upload

* Add files via upload
2025-01-04 23:43:40 +01:00
damocleas
bfe0d9bb79
Merge pull request #5076 from pagefaultgames/beta
Minor Release 1.4.3
2025-01-03 19:35:41 -05:00
Amani H.
355e70328c
[Misc] 1.4.3 Version Bump + Locales Update (#5077) 2025-01-03 18:27:26 -06:00
AJ Fontaine
ec5dadb4f4
[Misc] Undo winter holiday event changes (#5068) 2025-01-03 16:42:06 -07:00
NightKev
206419c9f1
Merge pull request #5061 from pagefaultgames/main
Merge main (1.4.2) into beta
2024-12-31 02:38:07 -08:00
NightKev
14902cdb60
[Hotfix] Prevent Keldeo from changing forms in Daily Run (#5060)
* [Hotfix] Prevent Keldeo from changing forms in Daily Run

* Update patch version
2024-12-30 20:20:23 -08:00
NightKev
1b6374f469
[UI/UX] Change label for music settings (#5053)
Changes from "Consistent/Mixed" to "Gen V + PMD"/"All Gens"

Update `MusicPreferences` enum

* Update locales submodule
2024-12-30 18:55:28 -08:00
Wlowscha
6946abadb8
[UI/UX] Add cursor memory option (#5028)
* Adding a new key determining whether the command cursor resets at the beginning of each new battle.

* Allowing user to toggle commandCursorReset on and off.

* Changing option name to commandCursorMemory

* Fixed caps in settings.ts

* Moved Command_Cursor_Memory from Display settings to General settings
2024-12-30 09:35:45 -06:00
Asuka Kuwahara
8f884a7ef0
[BUG] fix #5038 update shedinja's gender to genderless on evolution (#5039)
* update shedinja's gender to genderless

* update unit test
2024-12-29 20:09:11 -06:00
NightKev
10e0f9f0de
Merge pull request #5024 from pagefaultgames/main
Merge main to beta
2024-12-20 19:32:30 -08:00
AJ Fontaine
8457fb96fe
[Hotfix] Fix off-by-one error for event encounters (#5022)
* Fix off-by-one error for event encounters

* Increment version to 1.4.1

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-12-20 18:41:07 -08:00
damocleas
f95a5d41cb
Merge pull request #5019 from pagefaultgames/beta
Release 1.4.0
2024-12-20 19:06:24 -05:00
AJ Fontaine
6392ee857c
[Balance] Allow event Stantler to evolve (#5021) 2024-12-20 15:53:42 -08:00
NightKev
e75fa0d16d
Merge main into beta to fix git history (#5020)
Co-authored-by: Tempoanon <163687446+Tempo-anon@users.noreply.github.com>
2024-12-20 14:27:49 -08:00
AJ Fontaine
82dad5568c
[Balance] Fix Annihilape Tera Blast TM Compatibility (#5016) 2024-12-20 14:14:16 -08:00
damocleas
e9d97db11b
Winter Holiday Event (#5015)
* Update trainer-victory-phase.ts

* Update starters.ts for event

* Update timed-event-manager.ts

* Event stuff

* Cleaning up

* Winter Holiday 2024 Banners

* Update timed-event-manager.ts

* Fix event banner

* Update trainer-config.ts

* FoF, BBound, weather changes

* Fix German Banner

* Add Iron Bundle to event encounters

* Update delibirdy-encounter.test.ts

* Update src/data/weather.ts

Co-authored-by: AJ Fontaine <36677462+Fontbane@users.noreply.github.com>

---------

Co-authored-by: AJ Fontaine <fontbane@gmail.com>
Co-authored-by: Lugiad <2070109+Adri1@users.noreply.github.com>
Co-authored-by: AJ Fontaine <36677462+Fontbane@users.noreply.github.com>
2024-12-20 14:11:06 -08:00
AJ Fontaine
bbb6b46801
[Balance] Change a few early gym teams (#4998)
* Change gyms accessible before wave 30

* Prevent wave 20 gym leader from evolving

* Check game mode for wave 20 trainer evo ban

* Add Whitney Girafarig Crasher Wake Magikarp
2024-12-20 14:10:38 -08:00
AJ Fontaine
1953e8dbe9
[Balance] Check previous level moves for redundancy when spawning TMs (#4996) 2024-12-20 14:10:23 -08:00
NightKev
ba28511046
Bump version number to 1.4.0 (#5013) 2024-12-20 12:25:34 -08:00
NightKev
0022972be9 [i18n] Update locales submodule 2024-12-20 12:24:09 -08:00
NightKev
6ef15eca4a [i18n] Update locales submodule 2024-12-19 16:18:32 -08:00
NightKev
29a079cfd3
Revert "[UI/UX] Refactor and enable seasonal splash messages (#5009)" (#5014)
This reverts commit 806585f1a6.
2024-12-19 16:04:12 -08:00
AJ Fontaine
806585f1a6
[UI/UX] Refactor and enable seasonal splash messages (#5009)
* Refactor and enable seasonal splash texts

* Update splash text test
2024-12-19 12:01:40 -08:00
NightKev
708e58d083 [i18n] Update locales submodule 2024-12-19 11:45:00 -08:00
NightKev
62e4a7ec54
[Misc] Update CREDITS.md (#5003)
* Add muscode and geeilhan to CREDITS.md

* Sort list alphabetically

* Change subcategory to "Other Code Contributors"

* Add Lugiadrien and Zé Ricardo

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

---------

Co-authored-by: Moka <54149968+MokaStitcher@users.noreply.github.com>
2024-12-18 12:01:19 -08:00
Lugiad
cb719d99a5
[i18n] Update party-ui-handler.ts (#4986) 2024-12-16 03:34:14 -08:00
NightKev
f6f29f0f66
[i18n] Update locales submodule (#4992) 2024-12-15 13:38:51 -08:00
NightKev
90c8c97437 Fix BattleBond Greninja moveset: Add Mat Block, remove duplicate move 2024-12-14 10:15:21 -08:00
NightKev
dfde40f1ae
[Misc] Update "Yda's Dex" credit (the tool is now gone) (#4988) 2024-12-14 06:55:23 -08:00
PrabbyDD
5db3074e2c
[Move] Implement Lunar Dance (#4926)
* beginning immplementation of lunar dance

* adding tests

* changing in game message and making full hp message not display

* Reuse Healing Wish's move attr, update test

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-12-09 21:25:28 -06:00
Lugiad
f2ef3620b5
[Localization] Localizable Event Timer (#4971) 2024-12-06 17:49:09 -08:00
Jannik Tappert
22f4e747ab
Login now shows "beta" when playing on beta (#4973) 2024-12-06 17:48:55 -08:00
Tempoanon
6d903440b4
Release 1.3.0
Release 1.3.0
2024-12-03 18:05:48 -05:00
NightKev
757fe1a17c
[Misc] Update credits (#4942)
* Create `CREDITS.md`

* Add categories

* added Firel biome

* Update README.md

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

* Add Leparagon to Trainer Sprites

* Add balance team

* Update music credits for Andr06 (new Forest BGM)

* Add dev team and past contributors to credits

* Add link to wiki credits page for pokemon sprites

* Update indentation

* Update dev credits

* Add pancakes

* Add wormhood

* Add Mystery Event Sprites section in Art

Add Past Contributors section in Balance

* Standardize emojis to primary categories only

* Update Mystery Event Sprites section

* Fix typo

* Add wiki team

* Add Special Thanks section

Used for external contributors/community members that aren't part of
the main PokeRogue team

* Add Discord mod team

* Add Translation team

* Add External Tools section

* Update CREDITS.md

* Update CREDITS.md

* add missing é in Poké in various spot

* Add Red (iOS App) to External Tools section

* Update Red's credit

* Update art credits

* Update vari and kieran

---------

Co-authored-by: damocleas <damocleas25@gmail.com>
Co-authored-by: Moka <54149968+MokaStitcher@users.noreply.github.com>
Co-authored-by: Lugiad <2070109+Adri1@users.noreply.github.com>
Co-authored-by: Moka <millennium.stitcher@gmail.com>
2024-12-03 17:52:13 -05:00
damocleas
50a4669a26
[Balance] [Beta] Egg Move Fixes (#4965)
* Update egg-moves.ts

* Update egg-moves.ts
2024-12-03 21:22:38 +01:00
PigeonBar
dd72c5e189
[Move][Beta] Powder edge cases (#4960)
* [Move][Beta] Powder edge cases

* Fix Heavy Rain check to account for weather suppression

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

* "{Pokemon} used {Fire-type move}!" now displays before Powder activation

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

* Make `showMoveText()` and `showFailedText()` public for now

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: innerthunder <168692175+innerthunder@users.noreply.github.com>
2024-12-02 22:28:57 -08:00
Moka
c6e80de1be
[Misc] 1.3.0 bump version + locales update (#4956)
* bump version + update locales
2024-12-02 21:15:43 +01:00
damocleas
3ca0fdae6b
[Balance] December Starter Balance Changes (#4883)
* Update passives.ts

* Update egg-moves.ts

* Update egg-moves.ts

* Update species-egg-tiers.ts

* Update egg-moves.ts

* Update egg-moves.ts

* Update starters cost

* Update egg-moves.ts

* fixed mispell

* update egg tests to match latest species egg tier changes

* Update starters.ts - fixed placements and reduced Duraludon back to 5

* Update species-egg-tiers.ts fixed placements

* Kartana and Iron Valiant passive change

* Update passives.ts

* Update egg-moves.ts

* Update species-egg-tiers.ts

* Update starters.ts

* fix '

---------

Co-authored-by: Moka <millennium.stitcher@gmail.com>
Co-authored-by: Moka <54149968+MokaStitcher@users.noreply.github.com>
2024-12-02 14:59:02 -05:00
PigeonBar
2f377f26b7
[P1 Bug] Fix multi lens granting infinite Future Sight hits (#4961)
* [P1 Bug] Fix multi lens granting infinite Future Sight hits

* Updated `.partial()` tags

* Added corresponding TODO comments to tests
2024-12-02 12:40:59 -05:00
innerthunder
e930536efe
[Move] Implement Powder (with edge case) (#3662)
* Powder basic implementation

* Add Powder integration tests

* Fix thaw test

* Use new test utils and type check function

* More edge case tests

* Make Powder (P)

* Add locale keys

* Add placeholder common anim

* Use CommonAnimPhase instead of async animation

* Add comments with new English text

* Make Powder `edgeCase` instead

* ESLint

* Fix imports

* Add `moveName` key arg for other languages

* ESLint

* Update locales

* Fix pages issues

* Update Powder explosion animation

* Update common-powder.json

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

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

* Remove lingering TIMEOUTs

* More test cleanup

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-12-01 14:27:55 -08:00
Bertie690
1607a694c3
[Move] Partially Implement Instruct (#4857)
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: innerthunder <168692175+innerthunder@users.noreply.github.com>
Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
2024-12-01 14:27:17 -08:00
Amani H.
0556e1ad50
[Balance] Adjust Flame/Toxic Orb Weight Functions (#4954)
* [Balance] Adjust Flame/Toxic Orb Weight Functions

* Adjust Booleans

* Add Documentation

* Implement More Granularity

* Minor `if` Change
2024-12-01 14:24:47 -08:00
Mumble
282b0c8215
Added features to prevent test flakiness. (#4959)
Co-authored-by: frutescens <info@laptop>
2024-12-01 14:24:16 -08:00
Mumble
2b59a53285
[Bug][UI] Fixes to Run History Logging (#4716)
* new function

* weak attempt of documentation

* mysterious chest handled...? maybe.

* override comments

* one more instruction

* fixing up the logging lol

* lah

* fixing it up

* coommrent

* lalal

* run info fixes

* Addressed PigeonBar's comments

* Centered run info text + fixed trainer sprites.

* Fixed function name.

* Update tsdoc in `overrides.ts`

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

* Fix tsdoc comment

* sligthly rewrite centering of biome and wave text in run info

---------

Co-authored-by: frutescens <info@laptop>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: Moka <54149968+MokaStitcher@users.noreply.github.com>
Co-authored-by: Moka <millennium.stitcher@gmail.com>
2024-12-01 19:48:43 +01:00
Daniel Pochert
fad29ffc51
[P1 Bug] Prevent crash from missing pokemon sprite (#4821)
* catch Sprite.play() errors in egg hatch phase

* catch more Sprite.play() errors causing crashes if sprite missing

* Add changes suggested by PigeonBar

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: Moka <54149968+MokaStitcher@users.noreply.github.com>
2024-12-01 19:07:48 +01:00
Moka
37b8c337e1
[UI] Add error message for too many eggs in starter UI (#4317)
* [qol] add missing error messages in starter UI

* remove locale change

* revert empty party message change

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-12-01 18:58:44 +01:00
AJ Fontaine
7b06314940
[Bug] Fix fusions learning moves of wrong component mon on evolution (#4921)
* Fix fusions learning moves of wrong component mon on evolution

* Apply suggestions from code review

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

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: Moka <54149968+MokaStitcher@users.noreply.github.com>
2024-12-01 17:38:16 +01:00
AJ Fontaine
9ce4d5eeca
[Balance] Remove candy friendship loss from fainting (#4953)
* Remove candy friendship loss from fainting

* Apply Moka suggestions

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

* Fix starterAmount using friendship instead of adjusted amount

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: Moka <54149968+MokaStitcher@users.noreply.github.com>
2024-12-01 17:21:40 +01:00
Mumble
cef2f2adf7
[Ability] Fully implement Sheer Force (#4890)
* Added checks for Sheer Force interactions currently in the code.

* Test for Relic Song interaction

* Test for Shell Bell interaction

* Created new Modifier class MoveEffectModifier

* Applied new modifier class.

* Revert "Applied new modifier class."

This reverts commit 222bc8d428.

* Revert "Created new Modifier class MoveEffectModifier"

This reverts commit 0e57ed03ff.

* Added checks for Shell Bell, Scope Lens, Wide Lens, Leek, and Golden Punch

* Fixing function calls.

* Fixed getSecondaryChanceMultiplier to just look at sheer force.

* Rewrote old Sheer Force tests in accordance to current testing standards.

* Resetting modifiers.ts

* Update src/data/pokemon-forms.ts

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

* Moved getSecondaryChanceMultiplier to FlinchChanceModifier and revised Serene Grace tests

* Adding an additional override to prevent test failures.

* Removed Serene Grace factor from modifier.

* Added forgotten conditional.

* Added comment

---------

Co-authored-by: frutescens <info@laptop>
Co-authored-by: innerthunder <168692175+innerthunder@users.noreply.github.com>
2024-11-30 18:40:05 -08:00
Mumble
d6854c4969
[Tests] Enemy Held Item overrides are now applied after generateEnemyModifiers() (#4922)
* Moved overrideModifiers and overrideHeldItems to after generateEnemyModifiers

* Removed functions from scene

* Fixed the test. Thank you pigeonbar.
2024-11-30 16:09:34 -08:00
Moka
38d7a26053
[Sprite][Bug][ME] Fix ME Intro visuals for shinies and other shiny related fixes (#4827)
* [ME] Fix GTS Wonder Trade shiny not giving luck

* [ME] Shiny Magikarp from Pokemon Salesman can have any variant

* [ME] Shiny lock MEs with custom or special sprites

* [ME] GTS shows shiny sparkle for received Pokemon

* [ME] Shiny lock 'Slumbering Snorlax' and 'The Strong Stuff'

* [ME] Dancing Lessson: show shiny sparkle for Oricorio in intro

* [ME] Show shiny sparkles for Pokemon in ME intro

* fix tests

* Ensure shiny sparkle animation is initialized before playing it (Fixes #3924)

* make loading variant assets cleaner

* cleanup EnemyPokemon shiny initialization

* test fixes and final cleanup

* Make 'getSpeciesFilterRandomPartyMemberFunc' more readable

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-11-30 16:08:53 -08:00
innerthunder
80555be22c
Fix Post-Summon abilities not applying after switch prompt (#4908) 2024-11-30 16:07:01 -08:00
geeilhan
d5146a57b9
[Bug] Fix Lingering Arena Trap if Pokemon Switches Out (#4755)
* [P2 BUG] Fixed Lingering Arena Trap if Pokemon Switches Out (#3713)

* added switchOutStatus for all relevant moves

* Added Lingering Arena Trap Fix for Mystery Encounters

* Removing Redundant switchOutStatus Sets

* added automated test case to arena trap test

* Update src/field/pokemon.ts

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

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

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

* Apply suggestions from code review

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

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: Moka <54149968+MokaStitcher@users.noreply.github.com>
2024-11-30 13:08:32 -08:00
muscode
5fc41dfd16
[Bug] Fix Wimp Out/EE Trainer Battle causing enemy stack with multi hit (#4935)
* added fix for wimp out stack

* Replace `integer` with `number`

* Apply suggestions from code review

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

* Update imports

* Update `if` check

* Modify `if` check conditions

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: innerthunder <168692175+innerthunder@users.noreply.github.com>
2024-11-30 13:05:55 -08:00
muscode
5af2bcd5ec
[Bug] Prevent battle skip with Wimp Out (#4931)
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: Mumble <171087428+frutescens@users.noreply.github.com>
Co-authored-by: PigeonBar <56974298+PigeonBar@users.noreply.github.com>
Co-authored-by: Moka <54149968+MokaStitcher@users.noreply.github.com>
2024-11-30 11:44:06 -08:00
star-krieg
d1294caeb6
[Balance] Candy friendship changes (#4947)
Changes:

- Increase default value for friendship gain from winning a battle (from 2 to 3)
- Increase Classic candy friendship multiplier (from 2 to 3)
- Increase Rare Candy friendship gain (from 5 to 6)
- Decrease value for friendship decrease from losing a battle (from 10 to 5)
- Update Candy friendship thresholds for getting candy for some starter costs.
- Change Soothe Bell from Rogue to Great (Weight: 2 in Great)
- Adjust Map weight to account for change (Weight: 1 to 2)
- Clowning around ME: When shuffling items, soothe bells will get replaced by a random Ultra Tier item
- Clowning around ME: When shuffling items, no item will get replaced by a Soothe Bell

Commit history: 

* Candy friendship changes

Update default value for friendship gain from battle and adjust Soothe Bell tier to Great

* Update modifier-type.ts

* Update friendship constants

* Clowning around encounter no longer consider soothe bell rogue tier

* Expert Breeder ME test will no longer fail if candy gain per battle is changed

---------

Co-authored-by: Starkrieg <starkieg.art@gmail.com>
Co-authored-by: damocleas <damocleas25@gmail.com>
Co-authored-by: Moka <millennium.stitcher@gmail.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-11-30 20:28:29 +01:00
NightKev
eef0183761
[Bug] Stakeout should trigger if the enemy switches with U-Turn/etc (#4918) 2024-11-30 02:28:31 -08:00
Amani H.
cd6cee860a
[Bug] Fix Eviolite Weight Condition (#3681)
* [Bug] Fix Eviolite Weight Condition

* Break Up Conditions for Legibility

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-11-30 02:07:19 -08:00
PrabbyDD
b70bf0f4aa
[Bug] Fix for Octolock bypasses Ghost Invulnerability to lower Stats (#4923)
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: innerthunder <168692175+innerthunder@users.noreply.github.com>
2024-11-30 02:06:09 -08:00
Brad Parbs
4d75d902d8
[Fix] Replace hardcoded party size limit with constant PLAYER_PARTY_MAX_SIZE (#4943) 2024-11-30 11:05:07 +01:00
Riley JM Young
75a50be3ce
[UI/UX] Added the (+) icon for newly non-shiny pokemon (#4920)
Will only show the (+) icon if you catch a non-shiny, have caught a shiny of that species before, and have not caught a non-shiny before.

Removed magic numbers from new non-shiny check

Co-authored-by: Riley Young <rileyyoung17@gmail.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-11-30 01:51:23 -08:00
Moka
5cc8013341
[UI/UX][QoL] Ask confirmation before disabling touchpad controls in settings (#4949)
* [UI] Ask Confirmation before disabling touch controls

* show a message when asking for confirmation in settings

* small cleanup

* change settings message box to display 2 lines with word wrap
2024-11-30 01:48:46 -08:00
PigeonBar
75af359154
[Bug][Beta] Fix phazing moves forcing switches into fainted/ineligible Pokemon (#4951) 2024-11-30 01:48:20 -08:00
Bertie690
5fed690187
[Bug] Fixed Super Fang interaction with Multi Lens (#4914)
Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-11-30 01:47:47 -08:00
PigeonBar
3bf2059aaf
[Balance] Safeguard to prevent Paradox Pokemon spawning in ME's (#4915) 2024-11-29 22:02:29 -08:00
Madmadness65
5992564842 Hotfix Forest BGM loop point
It sounds less jarring now, loops a couple seconds earlier.
2024-11-29 20:07:31 -06:00
AJ Fontaine
6733d81d11
[UI/UX] Pass egg hatch count to egg skip prompt (#4913) 2024-11-29 17:59:43 -08:00
Madmadness65
34cb234159
[Audio] Replace Forest track with custom BGM by Andr06 (#4924) 2024-11-29 17:57:12 -08:00
NightKev
a91d420eb4
[Test] Fix flaky Shell Side Arm test (#4952) 2024-11-29 17:31:06 -08:00
NightKev
9bc046fd64
[Bug] Honey Gather and Pickup will only activate if the battle was won (#4903)
* Honey Gather and Pickup will only activate if the battle was won

* Add tests for Honey Gather

* Moves `highestEndlessWave` and `battles` stats outside of victory condition
2024-11-29 13:29:54 -08:00
Moka
4d341bf1fd
[Sprite] Add fixed Skorupi and Parasect front sprites (#4944)
* [sprite] add fixed Parasect front sprite by Kieran

* [sprite] add fixed Skorupi front sprite by Kieran

* [sprite] fix shiny skorupi fusions
2024-11-29 13:25:50 -08:00
muscode
6725164918
[Bug] Fixed First Turn Move + Wimp Out interaction (#4928)
* fix first turn move + wimpoout

* Add comment about edge case issue

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-11-29 13:23:55 -08:00
Ethan
de0d97739e
[Move] Implement True Force Switch (Roar, Whirlwind, Circle Throw, Dragon Tail) (#4881)
* Force switch implemenation

* Fix conditionals checking `SwitchType`

Use `prependToPhase()` instead of `unshiftPhase()`

* Update comments slightly, replace `||` chain with `.includes()`

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-11-28 22:43:12 -08:00
Moka
48dc5d0ee7
[Balance] 'Breeders in Space' cheevo unlocks for normal and expert breeders (#4911)
* 'Breeders in Space' cheevo unlocks for normal and expert breeders

* Reduce breeder in space achievement points
2024-11-28 17:21:25 -08:00
NightKev
03b073f21f
[Bug] Analytic should only increase damage if the user moves last (#4917)
* Analytic only increases damage if the user moves last

* Return `isNullOrUndefined()` instead of `if` chain

---------

Co-authored-by: innerthunder <168692175+innerthunder@users.noreply.github.com>
2024-11-28 17:20:54 -08:00
NightKev
2b64ef6fc9
Mark Rage Fist as partial in line with similar moves/abilities (#4894) 2024-11-28 17:17:18 -08:00
innerthunder
c86b6352bc
Remove Supersweet Syrup's once-per-battle condition (#4906) 2024-11-27 23:53:37 -08:00
Mumble
a7fa593f79
[Misc] Append .prsv to data recovery file names to prevent user confusion (#4946) 2024-11-27 18:04:39 -08:00
Frederico Santos
8f053ea16f
[Feature] Add save download functionality with JSZip integration (#4945) 2024-11-28 02:01:48 +01:00
NightKev
4c8a18690e
[Misc] Rename DamagePhase to DamageAnimPhase (#4880)
* Rename `DamagePhase` to `DamageAnimPhase`

* Fix unreliable Speed Boost test
2024-11-25 14:15:39 -08:00
Tempoanon
bba5a87392
Add Kieran to art credits for Starmobiles (#4939) 2024-11-25 15:49:58 -06:00
chaosgrimmon
6442b8345f
[Sprite] Index spritesheets to load faster (#4907)
Reduces the size of files significantly by changing the .png encoding format.
2024-11-18 21:46:33 -05:00
PigeonBar
2d6dfc45a0
[Documentation] Remove obsolete .edgeCase() from Gulp Missile (#4909) 2024-11-18 21:44:49 -05:00
NightKev
6eed6c24c2
[GitHub] Overhaul GitHub pull request template (#4895)
Co-authored-by: Adrian T. <68144167+torranx@users.noreply.github.com>
Co-authored-by: Moka <54149968+MokaStitcher@users.noreply.github.com>
2024-11-18 17:52:54 -08:00
Blitzy
b293797c99
[Balance] Make Intrepid Sword / Dauntless Shield their Generation 8 Implementation (#4902) 2024-11-18 17:47:11 -08:00
NightKev
c584dfafb7
[Balance] Remove reduced weight for regional species from egg pulls (#4882) 2024-11-18 17:46:52 -08:00
NightKev
a86afa6725
Merge hotfixes from main to beta (1.2.2) (#4912) 2024-11-18 14:32:51 -08:00
Moka
0c920ba195
[Hotfix] Prevent more Future Sight crash with new catches (#4910) 2024-11-18 19:41:24 +01:00
NightKev
dd904fe782
[Hotfix] Prevent crash if enemy Future Sight user is caught (#4905) 2024-11-17 18:08:00 -08:00
Frederico Santos
89a3edba1c
Merge pull request #4897 from pagefaultgames/beta
Beta -> Main 1.2.0 update
2024-11-17 23:34:07 +00:00
Moka
33d8db73ef
[P1] Fix crash caused by removing arena tags on a new catch (#4888) 2024-11-17 16:35:14 -05:00
Mumble
e825e308f9
[Test] Update wimp out test and comment (#4900)
* Changed conditional to actually consider the wave index.

* Added PigeonBar's test

* Added check for MEs + Documentation

* Apply suggestions from code review

Co-authored-by: PigeonBar <56974298+PigeonBar@users.noreply.github.com>

---------

Co-authored-by: frutescens <info@laptop>
Co-authored-by: PigeonBar <56974298+PigeonBar@users.noreply.github.com>
2024-11-17 16:22:11 -05:00
Mumble
6b58d51ea2
Changed conditional to actually consider the wave index. (#4899)
Co-authored-by: frutescens <info@laptop>
2024-11-17 20:19:23 +00:00
Amani H.
1867ac4a9e
[Dev] Minor Version Migration Tweaks (#4727)
* [P3] Prevent Unintended ME Migration Application

* Change Patch Value from 4 to 5

* Bump Game Version

* Fix Imports, Use `isNullOrUndefined`
2024-11-17 17:34:41 +00:00
PigeonBar
07f08877c1
[Balance] Multi Lens damage reduction on fixed-damage moves (#4896) 2024-11-17 17:16:54 +00:00
Moka
ae8efeedf8
[UI] Make ME text legible when using the legacy UI theme (#4847) 2024-11-16 23:34:14 +00:00
Daniel Pochert
7dc4210f71
[Bug] fix training session encounter not applying nature correctly (#4801)
* fix training session encounter not applying nature correctly

* implement pokemon.setCustomNature + nature unlock utility method(s)

* update doc

---------

Co-authored-by: Moka <54149968+MokaStitcher@users.noreply.github.com>
2024-11-16 23:33:14 +00:00
Mumble
c2afac8b02
[Bug] Moved code preventing MBH's transfer to post modifier generation (#4858)
* Moved code preventing MBH's transfer to after enemy modifiers were generated.

* Removed unnecessary !

* Removed unnecessary ?

* Created a new enum and functions for retrieving final bosses.

* Moved isBattleClassicFinalBoss to game-mode.ts and reverted battle.ts

* Preventing item transfer with tryTransferModifier instead

* Added filtering to modifier-retrieve methods.

* Revised logic in tryTransferHeldItemModifier

* Adding what works to the game even though it's not the best.

* Added comments

* Removing past changes to files.

* Added check for Classic Final Boss.

---------

Co-authored-by: frutescens <info@laptop>
2024-11-16 23:32:05 +00:00
Amani H.
c22b48f903
[P1] Fix System Data Conversion Failure 3 (#4866)
* [P1] Fix System Data Conversion Failure 3

* Use `isNullOrUndefined`, Clean Up Imports

* fix pre candy update save data migration for candy

* fix pre candy update save data migration for candy part 2...

---------

Co-authored-by: Moka <millennium.stitcher@gmail.com>
2024-11-16 23:31:28 +00:00
Mumble
4aff2ffa1d
[Dev] Sessions will now sync with the server at the start of every 5 waves (#4808)
* Replaced conditional with `true` so that sync-to-server occurs at the start of every wave.

* Update src/phases/encounter-phase.ts

Co-authored-by: Frederico Santos <frederico.f.santos@tecnico.ulisboa.pt>

* Fixed errors from previous commit.

* Revised condition to include the first wave of a run.

* Apply suggestions from code review

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

---------

Co-authored-by: frutescens <info@laptop>
Co-authored-by: Frederico Santos <frederico.f.santos@tecnico.ulisboa.pt>
Co-authored-by: Moka <54149968+MokaStitcher@users.noreply.github.com>
2024-11-16 23:30:47 +00:00
Moka
77b94bf45d
bump version to 1.2.0 and update locale submodule to latest commit (#4884) 2024-11-16 16:46:02 +00:00
innerthunder
360a897ed2
[Balance] Endure Tokens only endure one hit (#4875)
* Endure Tokens only endure one hit

* Add tests for Endure

* Update docs

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-11-15 21:11:46 +01:00
AJ Fontaine
413f2b80c8
[Balance] Increase Gimmighoul's evo counter more with Big Nugget/Relic Gold (#4856)
* Increase Gimmighoul's evo counter more with Big Nugget/Relic Gold

* Update src/modifier/modifier.ts

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

---------

Co-authored-by: Moka <54149968+MokaStitcher@users.noreply.github.com>
2024-11-15 20:26:58 +01:00
AJ Fontaine
5e7d44abfd
[Balance] Fix Liquidation, Double-Edge, Body Press compatibility (#4879) 2024-11-15 14:07:02 -05:00
Mumble
c535e928d8
[Beta][QoL] Improved cursor memory for target selection in Doubles (#4849)
* Added more intelligent cursor memory for target selection in Doubles

* Added documentation

* Fixed variable name.

* Apply suggestions from code review

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

---------

Co-authored-by: frutescens <info@laptop>
Co-authored-by: Moka <54149968+MokaStitcher@users.noreply.github.com>
2024-11-15 12:45:21 -05:00
Mumble
eb3c0d731a
[P2] Lunar Blessing / Jungle Healing now heal Freeze (#4877)
* Added Freeze to statuses healed by Jungle Healing / Lunar Blessing

* Fixed up documentation.

---------

Co-authored-by: frutescens <info@laptop>
2024-11-15 12:17:46 -05:00
pom-eranian
5ca1fd5cfd
[Sprite] Set default fps to 10 instead of 12 on pokemon animations (#4842)
* Set default fps to 10 instead of 12 for pokemon sprites

* [Sprite] Set pokemon animation framerate to 10 where assigned
2024-11-15 11:58:50 -05:00
AJ Fontaine
ef7d860166
[Balance] Remove from trainers: Pika/Eevee forms before 30, BB Greninja, Rival starter HA (#4863)
* Remove Pika/Eevee forms from Trainers before wave 30, and BB Gren

* Fix `egg` test

* Ban hidden ability from Rival starter

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-11-15 11:57:02 -05:00
innerthunder
9273b4930d
[Beta][P1] Fix crash when resetting Commanded Dondozo before Trainer battles (#4873)
* Add failsafe to Commander remove anim

* Commanded tag saves Tatsu form on reload
2024-11-15 11:56:05 -05:00
NightKev
8326e3556b
Remove .edgeCase() from fully implemented moves (#4876)
This includes Sunsteel Strike, Moongeist Beam and Photon Geyser
2024-11-15 08:29:52 -08:00
Mumble
6dec84e39c
[Balance] No more double 50x bosses in Endless + cleaning up RNG (#4862)
* Added double battle exclusion to Endless bosses.

* Brought Endure token RNG in line with game RNG formatting.

* Corrected incorrect modulo condition in isEndlessBoss

* Moved new doubles conditional to be above overrides.

* Fixed bad RNG calls for Covet and Thief too.

* Updated unburden test.

* Revert "Updated unburden test."

This reverts commit 01788d40c2.

* Revert "Fixed bad RNG calls for Covet and Thief too."

This reverts commit c7fcfd195d.

---------

Co-authored-by: frutescens <info@laptop>
2024-11-14 21:13:23 -08:00
PigeonBar
b1138c1d70
[P2][Beta] Freeze-dry Re-implementation (#4874) 2024-11-14 21:07:19 -08:00
Moka
f778bd5877
Prevent crash from null dexData attributes (#4871) 2024-11-14 23:01:04 +00:00
Mumble
58912db8f1
[P2] Telekinesis now sets FloatingTag to 3 turns instead of 5 turns (#4869)
Co-authored-by: frutescens <info@laptop>
2024-11-14 16:16:05 -05:00
PigeonBar
640ac23741
[Dev] Add overrides for alternating between single and double battles (#4833)
* [Dev] Add overrides for alternating between single and double battles

* PR feedback

* Add type `DoubleType`

* Fixed Gastro Acid test using `game.override.battleType(null)`

* Changed new type name to `SingleOrDoubleType`

* `SingleOrDoubleType` is now `BattleStyle`

* Update src/test/utils/helpers/overridesHelper.ts

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: Moka <54149968+MokaStitcher@users.noreply.github.com>
2024-11-14 20:40:01 +01:00
Mumble
d0d9eb78da
Set the IVs of default starters to 15. (#4861)
Co-authored-by: frutescens <info@laptop>
2024-11-14 11:35:13 -08:00
geeilhan
0c521bbe08
[Move] Implement Freeze Dry type-changed interactions (#4840)
* Full implementation of freeze-dry including edge cases such as Normalize and Electrify plus tests

* Update comments

* renamed WaterSuperEffectTypeMultiplierAttr to FreezeDryAttr

* Added test case for freeze dry during inverse battles

* cleaned up code making it more general

* Added some more documentation

* implementing reviewed changes

* used getMoveType() instead of move.type

* added additional test cases to freeze dry

* Revert "used getMoveType() instead of move.type"

This reverts commit 03445dfab4.

* added reviewed changes without changing public/locales

---------

Co-authored-by: ga27lok <geeil.han@tum.de>
2024-11-13 10:41:39 -05:00
muscode
162eea500d
Fixed wild form changes messages, and form-changed Cramorant crashing the game when both sides faint at the same time (#4859) 2024-11-13 14:28:22 +08:00
innerthunder
e45cb42f7e
[Balance] Disable King's Rock for moves that can already flinch (#4860) 2024-11-12 18:42:47 -08:00
NightKev
b6b756a162
[P2] Fix issue with Pokemon not evolving until the next floor and clean up LevelUpPhase (#4854) 2024-11-12 06:44:28 -05:00
PigeonBar
6f3fd0f138
[Beta][P3] Fix failed charge moves not displaying failed text (#4853) 2024-11-12 06:29:37 -05:00
innerthunder
8e26db944d
[Balance][Beta] Revert Spread Move Restriction on Multi-Lens (#4851)
* Multi-Lens now applies to spread moves

* Fix Multi-Lens applying to both damage and power
2024-11-11 21:13:37 -08:00
PigeonBar
4802f512ff
[P1][Beta] Fix softlock when losing a run on local build (#4846) 2024-11-11 15:22:27 -08:00
innerthunder
cebedd220b
[Balance] Rework Multi-Lens (#4831)
* Rework Multi-Lens

* Multi-Lens integration tests

* Apply suggestions from code review

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

* Fix obsolete tests related to Multi-Lens

* Fix flaky unburden tests

* maybe fix flaky ceaseless edge test?

* Fixed Multi-Lens apply comment

* Fix ceaseless edge test for real this time

* Update locales

* Another locale update

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-11-11 14:56:16 -08:00
Mumble
e5e3926176
[beta] Fix MovePhase not ending properly. (#4848)
Co-authored-by: frutescens <info@laptop>
2024-11-11 21:13:15 +01:00
Mumble
6feb63484c
[P3] Added failIfSingleBattle condtion to Doubles-only moves and display failure message when used in singles (#4839)
* Added failIfSingleBattle condtion to Helping Hand

* Added failIfSingleBattle conditions to Doubles-Only moves

* Adjusted canMove failure condition.

* Updated moves that failIfSingleBattle

* Fixed condtional.

---------

Co-authored-by: frutescens <info@laptop>
2024-11-11 12:29:20 -05:00
NightKev
6799594bbb
[Test] Update Zen Mode test (#4845) 2024-11-11 02:21:06 -05:00
PigeonBar
efa9f119a0
[Beta][P3] Fix shiny Pokemon being displayed before shiny colours are loaded (#4843) 2024-11-11 02:18:57 -05:00
chaosgrimmon
f2a2281ff1
[Sprite] Implement female icon assets for Meganium and Doduo + Torchic lines (#4841)
* [Sprite] Implement more female icons

* [Sprite] Add female Doduo/Dodrio icons

* [Sprite] Add female Meganium icons

* [Sprite] Add female Torchic line icons

* [Sprite] Add female Meganium icons

* [Sprite] Add female Torchic line icons

Identical to male counterpart icons
2024-11-10 14:37:21 -05:00
PigeonBar
63ffab027d
[Beta][P2] Several Unburden bug fixes (#4820)
* [P2][Beta] Several Unburden bug fixes

* Unburden test adjustments

* Some further test cleanup

* Add suggested `.bypassFaint()` to Unburden

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-11-10 14:21:29 -05:00
NightKev
2968059814
[P1] Transform and Imposter will now fail when either Pokemon is fused (#4824)
* Transform and Imposter will now fail when either Pokemon is fused

* Prevent Ditto from being randomly generated as part of a fusion
2024-11-10 00:39:05 -05:00
Mumble
b3a94e6a6b
[Telemetry][Misc] Client-Side changes to log run results at the end of runs (#4834)
* Added new telemetry-related parameters

* Update test with new parameters.

* Removing extra parameters.

* Cat in front of keyboar d sorry

* Changed variable name to isVictory.

* Apply suggestions from code review

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

* Thank you Torranx

* Condensed if-else pair to else if statement

* Update src/phases/game-over-phase.ts

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

* inhale... exhale... corrected variable name to pass linter

---------

Co-authored-by: frutescens <info@laptop>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: Adrian T. <68144167+torranx@users.noreply.github.com>
2024-11-10 00:37:09 -05:00
Moka
44a68a91ba
[P1] Fix crash when newly aquired Pokemon are sent in battle (#4835) 2024-11-10 00:35:49 -05:00
Payton Rogers
265b3cb938
[P3] Fix visual bug with level text remaining the same when pokemon levels are reduced in weird dream ME (#4837) 2024-11-10 00:35:16 -05:00
damocleas
198ac2431d
Undo Event modifier-type.ts item table changes (#4836) 2024-11-09 14:26:55 -08:00
PigeonBar
2bf8acea06
[Beta][P2] Fix Sketch failing to sketch moves that call other moves virtually (#4823)
* [P2][Beta] Fix Sketch failing to sketch Metronome et al

* Suggested changes to `getLastXMoves()`

* Renamed turnCount to moveCount
2024-11-09 13:15:24 -05:00
innerthunder
a763cd173d
[Beta][P1-3] Fix Commander implementation bugs (#4826) 2024-11-09 13:14:11 -05:00
innerthunder
329e43ad48
[P2] Removed incorrect calls to resetBattleData on switchout (#4828) 2024-11-09 13:13:12 -05:00
NightKev
c54d21c313
[Test] Fix flaky Wimp Out test (#4830) 2024-11-09 13:12:22 -05:00
AJ Fontaine
c6cc187c96
[Balance] Modify potion and ether weight funcs (#4829)
* Adjust for low HP mons
2024-11-09 01:10:49 -08:00
AJ Fontaine
de4ec5e1cb
[Feature] [Item] Add Catching Charm item (#4811)
* Add catching charm item

* Add Catching Charm item

* Disable catching charm in item pool when dex isn't full enough

* Replace catching charm icon

---------

Co-authored-by: Madmadness65 <59298170+Madmadness65@users.noreply.github.com>
2024-11-09 14:38:45 +08:00
NightKev
00f7fd47df
[Refactor] Remove unnecessary re-exports (#4818)
* Remove unnecessary re-exports

* Move `Type` enum to `src/enums/type.ts`

* Remove import style change from `modifier-type.ts`
2024-11-08 17:44:34 -05:00
Mumble
58d40b905a
[Bug] Fixing Encore's interactions with other Move Restriction moves (#4805)
* Converted EncoreTag into a MoveRestrictionBattlerTag

* Wrote test and added documentation

* Added documentation describing EncoreTag as a whole

* Added PRE_MOVE lapse code to handle early tag expiration from PP-less encored move

* Replaced PRE_MOVE with CUSTOM for lapsing Encore in situations where the encored move has 0 PP

* Add encore tests

* fix overrides

* Apply suggestions from code review

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

* Update command-phase.ts

* Addressed failing eslint test

---------

Co-authored-by: frutescens <info@laptop>
Co-authored-by: innerthunder <brandonerickson98@gmail.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-11-08 09:35:33 -08:00
innerthunder
625b98a6fe
[Move][Refactor] Create Move.getPriority + Fully Implement Upper Hand (#4789)
* Fully Implement Upper Hand

* doc for UpperHandCondition

* New Upper Hand tests + some nit fixes

* Use Fake Out over mocked Tackle in test
2024-11-08 10:50:23 -05:00
Mumble
4821df68f2
[P1] Prevents crash from using Sketch against a lost turn (#4806)
* Added check to make sure that Sketch does not copy a failed move.

* Added check for Struggle.

* Added a revised check.

* Added test + change to valid move finding conditional.

* Made revision to .find target

* Reverting previous commit, whoops.

* Add moveset checks to Sketch tests

---------

Co-authored-by: frutescens <info@laptop>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-11-07 23:10:46 -05:00
Daniel Pochert
aa2c794910
[Balance/Bug] Boss segments properly heal (#4819) 2024-11-07 23:09:25 -05:00
Moka
2b91d9d259
[Dev] Remove logging for api requests outside of dev (#4804) 2024-11-07 15:30:49 -08:00
AJ Fontaine
b2fdb9fcd1
[P2] Fix Cosmoem requirng an evolution level (#4812) 2024-11-07 16:33:25 -05:00
Frederico Santos
5601bb14ec Locales update 2024-11-07 21:21:30 +00:00
Mumble
4c5b83612b
[P2] END biome transition now properly uses seeded RNG (#4809)
Co-authored-by: frutescens <info@laptop>
2024-11-07 10:36:25 -05:00
AJ Fontaine
1f6dab069d
[Feature][Balance] Add critical captures, update shake probability to match gen 6 (#4791)
* Change shake probability to match Gen 6

* Add critical captures, update shake probability to gen 6

* Change IntegerHolder to NumberHolder

* Adjust dex count thresholds for multiplier

* Disable critical captures in fresh start runs

* Skip first shake check for critical captures

* Move shake check for crit captures to after first shake

* Use less insane catch formula

* Integer to number in bounceanim signature

* Use max crit catch dex multiplier in daily runs

* Adjust crit capture animation

---------

Co-authored-by: innerthunder <168692175+innerthunder@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-11-06 18:25:27 -08:00
ThePsychedelicSeal
9dae28f264
[Misc] Adding Type, Current HP, Max HP, & Status to updateGameInfo() (#4756)
* Adding to window.gameInfo

Added
type -> not working
currentHP -> not working
maxHP
status

* Adding to updateGameInfo()

* Update pokemon.ts

* Modifying battle-scene.ts

Added code to get Form and Tera Type
Typo fixed in pokemon.ts

* Output type names/etc instead of numbers

---------

Co-authored-by: ThePsychedelicSeal <trevorlrichfield@gmail.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
2024-11-06 11:42:39 -05:00
Mumble
6b7efb444b
[Ability] Fully implement Synchronize (#4785)
Co-authored-by: frutescens <info@laptop>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-11-06 11:29:24 -05:00
Mumble
4f733796c5
[Move] Implement Grudge (#4794)
* some work

* slay dnr

* Fixed up move mechanics

* bahhh

* yawn

* updated lapse type to correctness

* Test + documentation

* yattt

* Remove some redundant code

* Apply suggestions from code review

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

* Update battler-tags.ts

* Fix `PokemonAnimPhase`

---------

Co-authored-by: frutescens <info@laptop>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: innerthunder <168692175+innerthunder@users.noreply.github.com>
2024-11-05 21:32:07 -05:00
innerthunder
eb32545772
[Balance][Beta] Commander now increases double battle chance (#4803) 2024-11-05 11:23:22 -08:00
Moka
b79b643b31
[P2][ME] Fix GTS not getting proper item tier when trading items (#4802) 2024-11-05 12:42:04 -05:00
geeilhan
198d3ce2a6
[P2] Fixing Incorrect Freeze Dry Interaction With Soaked Wonder Guard Target (#4798)
* [Bug] fixed interaction between freeze dry and soaked wonder guard target

* added automated test for freeze dry interaction with soaked wonder guard target

* using parameter instead of function to get typeMultiplier
2024-11-05 12:37:47 -05:00
innerthunder
6fd3ba284c
[Move][Ability] Implement Commander and Order Up (#4670)
* Implement Order Up (mostly untested)

* Commander unit tests + bug fixes

* Implement Order Up (misnamed the other commit...)

* Order Up unit tests

* applying Temp's suggestions + other bugfixes

* add TODO comment

* Reviver Seed reapplies Commander

* ESLint woes

* Some animation fixes

* Update locales

* Order Up now uses attr option

* Prevent semi-invulnerability lapsing out while Commanding

* semi-invulnerability test

* Add `edgeCase`
2024-11-05 12:35:43 -05:00
Adrian T.
88789c685e
[Documentation] Flag Gulp Missile with edge case (#4800) 2024-11-05 11:08:55 -05:00
PigeonBar
543a97076b
[P1][Beta] Fix FormChangePhase being broken by EvolutionPhase refactor (#4795)
* [P1][Beta] Fix FormChangePhase being broken by EvolutionPhase refactor

* Apply suggested changes to added test
2024-11-05 15:19:20 +01:00
AJ Fontaine
13841765f1
[Dev] Update test save with everything unlocked (#4137)
* Add test save with all egg moves unlocked

* Move to everything.prsv

---------

Co-authored-by: Lugiad <adrien.grivel@hotmail.fr>
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
Co-authored-by: Moka <54149968+MokaStitcher@users.noreply.github.com>
2024-11-04 21:33:15 -05:00
NightKev
ab6d15ee8a
[Move] Improve Future Sight & Doom Desire (still partial) (#4545)
* Fix behavior of Future Sight and Doom Desire

Add test for Future Sight

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

* Prevent crash if Future Sight target is missing

Co-authored-by: PigeonBar <56974298+PigeonBar@users.noreply.github.com>

* Add `partial()` comments, update `DelayedAttackAttr` return

---------

Co-authored-by: Gianluca Fuoco <gianluca_1227@hotmail.com>
Co-authored-by: PigeonBar <56974298+PigeonBar@users.noreply.github.com>
Co-authored-by: Tempoanon <163687446+Tempo-anon@users.noreply.github.com>
2024-11-04 21:31:40 -05:00
Moka
433d4b4fc9
[P3][UI][QoL] Fix tooltips going out of screen on mobile & other improvements (#4792)
* [ui] Fix tooltip placement when using touchscreen

* [ui] make candy friendship tooltip hitbox bigger
2024-11-04 20:24:17 -05:00
flx-sta
7a0c88e661
[Refactor] Pokerogue API client (#4583)
* start migrating Utils.apiFetch to api class

* move dailyranking to api

* use api in title-ui-handler

* remove: Utils.apiFetch

* migrate `updateSystemSavedata` to api

* migrate clear session savedata to api

* migrate updateAllSavedata to api

* migrate `updateSessionSavedata` to api

* rename `api` to `pokerogue-api`

* migrate unlink discord to pokerogue-api

* migrate unlink google to pokerogue-api

* update pokerogue-api login

* migrate register account to pokerogue-api

* remove Utils.apiPost

* reset overrides.ts

* chore: cleanup

* fix env.development

* fix circular dependencies with api

* fix gamedata verify missing await

* fix daily api calls in daily-run-scorebard

* fix discord-link request body being empty

there was a double `toUrlSearchParams()` call involved

* add pokerogue-api test coverge

* add test-utils `getApiBaseUrl()` method

* add pokerogue-admin-api test coverage

* add pokerogue-account-api test coverage

* add pokerogue-daily-api test coverage

* add pokerogue-savedata-api test coverage

* fix some test describes

* add pokerogue-session-savedata-api test coverage

* add pokerogue-system-savedata-api test coverage

* fix tests

* fix tryExportData

thanks @MokaStitcher

* chore: fix menu-ui-handlers.ts

* fix admin-ui-handler (types)

* extend test-coverage for admin-api

* remove outdated code

* skip some clowning-around-encounter tests if events are active

this is not a permanent solution

* Update src/system/game-data.ts

Co-authored-by: PigeonBar <56974298+PigeonBar@users.noreply.github.com>

* Revert "skip some clowning-around-encounter tests if events are active"

This reverts commit a97dafe8b2.

* mark `localServerUrl` and `apiUrl` as deprecated

in `utils.ts`

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: PigeonBar <56974298+PigeonBar@users.noreply.github.com>
2024-11-04 15:57:21 -05:00
NightKev
a70f0860e1
[Beta Bug] Enemy pokemon shouldn't get unimplemented moves (#4787) 2024-11-03 23:34:26 -05:00
Adrian T.
618dfbd324
[Refactor] Reduce nesting in doEvolution() (#4786)
Co-authored-by: Tempoanon <163687446+Tempo-anon@users.noreply.github.com>
2024-11-03 22:40:24 -05:00
Mumble
3a767ed38a
[Refactor] Another Audio clean up (#4077)
* Cleaned up how cry keys were retrieved

* Legendary Pokemon Changes + Cry Cleanup

* Spelling mistake

* Fixed settings.

* correcting typedocs

* eslint

* eslint cleanup

* music pref

* gdfafa

* Music

* Apply suggestions from code review

Co-authored-by: PigeonBar <56974298+PigeonBar@users.noreply.github.com>

* Update src/battle.ts

Co-authored-by: PigeonBar <56974298+PigeonBar@users.noreply.github.com>

* Update src/battle.ts

Co-authored-by: PigeonBar <56974298+PigeonBar@users.noreply.github.com>

* fixed default

* Apply suggestions from code review

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

* Added changes

* Update src/battle-scene.ts

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

* Fix variable usage

* Fix `getFormSpriteKey()` and `.concat()` usage

Co-authored-by: PigeonBar <56974298+PigeonBar@users.noreply.github.com>

* asdsafafaf

* i need to do the dishes ughhh

---------

Co-authored-by: frutescens <info@laptop>
Co-authored-by: PigeonBar <56974298+PigeonBar@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: Adrian T. <68144167+torranx@users.noreply.github.com>
Co-authored-by: Tempoanon <163687446+Tempo-anon@users.noreply.github.com>
2024-11-03 22:31:07 -05:00
NightKev
770f388c45
[Refactor] Miscellaneous code cleanup (#4596)
* Miscellaneous code cleanup:

- Update `overrides.ts` imports

- Add missing comment and `;` in `eslint.config.js`

- `field/pokemon.ts`:

Rename `generateVariant` to `generateShinyVariant`

Mark some functions as `public`/etc

Update various tsdocs/comments, add tsdocs to `isOfType`

Turn an unreadable 450+ character line into a
readable block of code

- `utils.ts`:

Remove unused function `randSeedEasedWeightedItem`

Mark `IntegerHolder` and `FixedInt` as deprecated

Update some tsdocs/comments

* Convert to inline anonymous function

* Fix indentation in `move-effect-phase.ts`

Rename `getTarget` to `getFirstTarget` for clarity

Convert namespace import to named imports

Add `public`/etc to methods

* Rename `verifyLang` to `hasAllLocalizedSprite` and update tsdoc

* update locale submodule

* Put missing `null` guards around some uses of `getUserPokemon()`

* Fix locales

* Fix Unburden test

---------

Co-authored-by: Moka <millennium.stitcher@gmail.com>
Co-authored-by: Tempoanon <163687446+Tempo-anon@users.noreply.github.com>
2024-11-03 22:23:51 -05:00
Moka
62f9f6dd32
[UI] Starter Select UI no longer reloads sprite when changing nature, ability, etc (#4782)
Co-authored-by: Tempoanon <163687446+Tempo-anon@users.noreply.github.com>
2024-11-03 22:04:53 -05:00
innerthunder
c3d832aaca
[Move] Fully Implement Round (#4783) 2024-11-03 21:59:55 -05:00
muscode
3f97c9e39f
[Ability] Implement Unburden (#4534)
* unburden implemented

* Used tag instead of stat changes for Unburden

* added documentation and neutralizing gas test

* accounted for unburden in getEffectiveStat

* fixed doubling speed in two places

* merge conflict resolve

* changed documentation wording, added test for stuff cheeks

* refactor unburden

* merge

* remove console logs

* Update src/data/ability.ts

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

* add neut gas check

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

* Added test for NeutGas user entering while unburden activated

* add spaces to tests, removed passive and [] from applyPostItemLostAbAttrs

* added line breaks after test cases

---------

Co-authored-by: innerthunder <168692175+innerthunder@users.noreply.github.com>
2024-11-03 21:58:12 -05:00
muscode
1619d512cf
[Move] Implement Fairy Lock (#4736)
* inital wip

* wip set isTrapped to true and removed timedtrap

* implement fairy lock

* whitespace fix

* added documentation for tag

* added more suggested tests

* give tests breathing room

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

* give tests breathing room

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

* give tests breathing room

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

* updated nested ternary, changed test name

---------

Co-authored-by: Tempoanon <163687446+Tempo-anon@users.noreply.github.com>
Co-authored-by: innerthunder <168692175+innerthunder@users.noreply.github.com>
2024-11-03 21:56:54 -05:00
NightKev
836b37f383
[Refactor] Clean up some code related to starter select UI (#4752)
* Clean up some code related to SSUI

Replace a few nested ternaries with if blocks

Remove some `undefined`s with destructuring

* Add comment, use `v === 0` instead of `!v`

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

---------

Co-authored-by: Moka <54149968+MokaStitcher@users.noreply.github.com>
2024-11-03 21:55:12 -05:00
NightKev
af473ba4ff
[Refactor] Clean up various methods in battle-scene.ts and pokemon.ts (#4412)
* Update `battle-scene.ts` and `data/field/pokemon.ts`

`battle-scene.ts` changes:
- `getParty()` renamed to `getPlayerParty()` for clarity
- `getNonSwitchedXPokemon()` consolidated into `getXPokemon()`
- Some tsdocs were added/updated for
`getXParty()`, `getXField()` and `getXPokemon()`;
and those functions were explicitly marked as `public`
- Helper function `getPokemonAllowedInBattle()` added

`pokemon.ts` changes:
- `isAllowed()` renamed to `isAllowedInChallenge()` for clarity
- A redundant check for an active scene is removed in `isActive()`
- Some tsdocs were added/updated for `isFainted()`,
`isAllowedInChallenge()`, `isAllowedInBattle()` and `isActive()`;
and those functions were explicitly marked as `public`
- `isFainted()` now checks for `hp <= 0` instead of `!hp`

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

* Backport eslint change to reduce merge conflicts

* Fix merge issues

---------

Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
Co-authored-by: Tempoanon <163687446+Tempo-anon@users.noreply.github.com>
2024-11-03 21:53:52 -05:00
Tempoanon
87b7122b60
[P2] Illuminate ignores evasion (#4781) 2024-11-03 21:47:07 -05:00
NightKev
5e2dfa975a
Rename PokemonTurnData's damageDealt and currDamageDealt (#4784) 2024-11-03 14:09:28 -08:00
muscode
f0ae36de6c
[Ability] Implement Wimp Out and Emergency Exit (#4701)
* implement Wimp Out/Emergency Exit

* fixed test

* fixed weather bug

* Added nightmare interaction to Wimp Out following bug fix

* refactored and added postdamageattr

* bug fixes

* added confusion test back (skipped)

* updated applyPostDamageAbAttrs to applyPostDamage

* fix external func name

* fixed syntax inconsistency

* updated PostDamageForceSwitchAttr -> PostDamageForceSwitchAbAttr

* Modify `wimp_out.test.ts`

* remove extra comment

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

* remove extra comment

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

* Update tsdocs

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

* remove comment

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

* remove comment

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

* fix tsdocs

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

* fix tsdocs

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

* fix tsdocs

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

* fix tsdocs

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

* fix whitespace

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

* make getFailedText public

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

* make switchOutLogic public

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

* make getSwitchOutCondition public

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

* make getFailedText public

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

* make applyPostDamage public

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

* simplify if statement

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

* add public override to applyPostDamage

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

* fixed nested if issue, remove trapped tag removal

* add fix for multi hit move

* added multi-lens logic

* moved applyPostDamageAbAttrs to pokemon.damage, added check for multi lens in pokemon.apply

* added source to damageAndUpdate and applyPostDamageAbAttrs, added Parental Bond logic + test, put applyPostDamageAbAttrs back in damageAndUpdate

* simplify multi hit check

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

* Minor formatting changes

* Update src/data/ability.ts

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

* moved and renamed shouldPreventSwitchOut, rewrote tests to account for U-turn changes, fix syntax error

* Move comment slightly

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: innerthunder <168692175+innerthunder@users.noreply.github.com>
2024-11-03 01:04:20 -05:00
podar
b17b1d6e7e
[P1] Fixing crash that can occur when failing to loading variant sprites. (#4315) 2024-11-03 01:33:48 -04:00
Mumble
f16309fd06
[P2] Plus, Minus, Beads/Sword of Ruin not ignorable. Shield Dust and Armoa Veil ignorable (#4778)
Co-authored-by: frutescens <info@laptop>
2024-11-03 01:22:40 -04:00
Mumble
70ddc29e86
[Refactor] Refactor data/pokemon-species.ts (#4054)
* Setting species-variables to read only

* set generations to protected

* formIndex set to protected

* quick fix

* typedocs fixes

* get / set generation

* wait

* Use get/set for formIndex too

* Fix misplaced line

* Replace a couple `!!` with default params

---------

Co-authored-by: frutescens <info@laptop>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: Tempoanon <163687446+Tempo-anon@users.noreply.github.com>
2024-11-02 23:11:24 -04:00
Mason S
c31657d952
[Refactor] Reduced nesting in MoveEffectPhase (#3541)
* Re-structured MoveEffectPhase.run() to reduce nesting and improve readability.

* Re-structured MoveEffectPhase.run() to reduce nesting and improve readability.

* Added Substitute Implementation

* Fix indentation, tsdocs, add `public`/etc

* Prevent ENEMY_SIDE targeted moves from occurring twice in double battles

* Add `override` to `start()` and `end()`

* Minor indentation fix

---------

Co-authored-by: innerthunder <168692175+innerthunder@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-11-02 22:55:15 -04:00
innerthunder
1474f8cf14
[Refactor] Add options param interface for MoveEffectAttr (#4710)
* Optional parameter interfaces for `MoveEffectAttr` and `StatStageChangeAttr`

* Update docs + Diamond Storm typo

* Apply suggestions from code review

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

* Make move effect trigger specification optional

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-11-02 13:05:33 -04:00
Mumble
1659f57262
[P2] Camouflage now considers Terrains first (#4761)
* the fix... will maybe write a test later

* ughh

* made a test

* moved aorund function

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

Co-authored-by: PigeonBar <56974298+PigeonBar@users.noreply.github.com>

* lalal

---------

Co-authored-by: frutescens <info@laptop>
Co-authored-by: PigeonBar <56974298+PigeonBar@users.noreply.github.com>
2024-11-02 12:48:10 -04:00
innerthunder
80a8c659ee
[P2] Add "no switch-in" fail condition for Shed Tail and Baton Pass (#4777) 2024-11-02 12:47:08 -04:00
Moka
c2d24d6e93
[Bug] Take weight into account when getting the tier of a modifier (#4775)
* disable timed events in tests

* Take weight into account when getting the tier of modifiers

* Apply suggestions from code review

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

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: PigeonBar <56974298+PigeonBar@users.noreply.github.com>
2024-11-02 11:55:22 -04:00
AJ Fontaine
8169760e1e
[Bug] Prevent wild mons fleeing with U-turn, Flip Turn, Volt Switch (#4643)
* Wild mons can't flee with U-turn

* Update src/data/move.ts

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

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-11-01 21:21:45 -07:00
Mumble
684fb93e39
the fix (#4733)
Co-authored-by: frutescens <info@laptop>
2024-10-31 22:22:26 +01:00
Lugiad
abc9264b3d
[Localization] Spanish modification form es to es-ES (#4753)
* Update and rename statuses_es.json to statuses_es-ES.json

* Rename statuses_es.png to statuses_es-ES.png

* Update and rename types_es.json to types_es-ES.json

* Rename types_es.png to types_es-ES.png

* Update i18n.ts

* Update settings.ts

* Update settings-display-ui-handler.ts

* Update starter-select-ui-handler.ts

* Update utils.ts

* Update settings-display-ui-handler.ts

* Update loading-scene.ts

* Update timed-event-manager.ts

* change remaining 'es' to 'es-ES' in various UIs

* change halloween event banner from es to es-ES

* update to latest locale commit

---------

Co-authored-by: Moka <54149968+MokaStitcher@users.noreply.github.com>
2024-10-31 21:54:05 +01:00
Madmadness65
5755180279
[Audio] Replace Graveyard BGM with Firel's custom BGM (#4765) 2024-10-30 21:48:09 -04:00
PigeonBar
5b9dfe17ad
[P2] Fix Own Tempo Rockruff not being able to evolve (#4762) 2024-10-30 13:15:11 -04:00
Mumble
b3a0ca9475
[Misc] Update Donation Link (#4763)
Co-authored-by: frutescens <info@laptop>
2024-10-29 19:31:24 -07:00
PrabbyDD
15dedf06ed
[P2] No Exp Gained after Switching in a Pokemon as the Opponent Faints (#4687)
* fixing the exp bug

* fixing the exp bug

* dont think need to reset turn data there

* changing a little bit

* Update src/phases/faint-phase.ts

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

---------

Co-authored-by: innerthunder <168692175+innerthunder@users.noreply.github.com>
2024-10-29 17:38:57 -04:00
PrabbyDD
afe6d2900d
[P2] Fix for Speed Boost is Activated on the Turn a Pokemon is Switched In, and When a Pokemon Fails to Escape #4353 (#4676)
* fixing speed boost for pokemon being switched in and for if failed escape

* adding unit tests

* adding failed run away test case

* adding failed run away test case modification

* refactoring solution to be more consistent with coding style

* more fixes for consistency

* more fixes for consistency

* adding new AbAttr in abiliity.ts for posterity

* removing uneccesary variables

* fixing a merge conflict
2024-10-29 17:38:33 -04:00
innerthunder
fd1aa41d09
[P2] Fix AI targeting allies with status effect moves (#4717) 2024-10-29 17:32:07 -04:00
NightKev
921d4fa18c
[P2] Chloroblast & Struggle should not recoil if the move failed (#4719)
* Chloroblast & Struggle should not recoil if no damage was dealt

* Protect against missing move entry

Co-authored-by: PigeonBar <56974298+PigeonBar@users.noreply.github.com>

---------

Co-authored-by: PigeonBar <56974298+PigeonBar@users.noreply.github.com>
2024-10-29 17:31:37 -04:00
AJ Fontaine
f9fe59239e
[TMs] Remove Sacred Sword, add Secret Power TM, fix Reflect compatibility (#4713) 2024-10-29 17:31:02 -04:00
Opaque02
1cbe8b1505
[P3] Fixing form name being incorrect for some evolved pokemon (#4742)
* Fixing form name being incorrect for some evolved pokemon

* Updated to include showing the root speciesId if the speciesId locale key doesn't exist
2024-10-29 17:30:20 -04:00
Blitzy
65269f935f
[Balance] Change Bouncy Bubble's Attributes (#4757)
* Change Bouncy Bubble's Healing

* Move comment to what is custom about Bouncy Bubble

---------

Co-authored-by: damocleas <damocleas25@gmail.com>
2024-10-29 16:19:42 -04:00
NightKev
13ff80fb95
Mark Last Respects as partial (#4749) 2024-10-29 18:59:28 +01:00
Mumble
fb2d3e45d6
[Move][Ability] Fully Implement Forest's Curse / Trick Or Treat / Mimicry (#4682)
* addedType variable

* basic mimicry implementation

* eslint

* rage

* quick change

* made files

* added mimicry activation message

* test for moves done

* hahahhaha

* done? for now?

* laklhaflhasd

* Apply suggestions from code review

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

* time to start... ughhh

* reflect type

* Added new message

* Update src/field/pokemon.ts

Co-authored-by: PigeonBar <56974298+PigeonBar@users.noreply.github.com>

* Update src/data/ability.ts

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

* added overrides

* some checks

* removed comments

* Apply suggestions from code review

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

---------

Co-authored-by: frutescens <info@laptop>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: PigeonBar <56974298+PigeonBar@users.noreply.github.com>
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
2024-10-29 10:10:37 -07:00
geeilhan
38a6bf07e3
[Bug] Fix enemy faint causing Frenzy moves to mishandle paralysis (#4680)
* [BUG] Added frenzy reset function during move phase should move be cancelled (#4227)

* Revert [P2 BUG] Fix since it does not work and is faulty

* [P2 BUG] Implemented correct frenzy Tag and Movequeue reset should frenzy move fail (#4277)

* Cleaned up Bug Fix using frenzyMissFunc

* Added automated test case for frenzy move edge case

* Improvement to frenzy move reset test case speed

* Fix test

* Add missing import

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-10-29 08:36:24 -07:00
AJ Fontaine
13377806ff
[Refactor] Change attack type booster names to enum (#4725) 2024-10-28 15:58:46 -07:00
PrabbyDD
3241332a3c
[Ability] Implementing Friend Guard (#4718)
* implementing friend guard ability

* Update src/data/ability.ts

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

* Update src/data/ability.ts

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

* Update src/data/ability.ts

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

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

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

* Update src/field/pokemon.ts

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

* more tests and fixing other issues

* more tests and fixing other issues

* Update Friend Guard test with damage mocks

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: innerthunder <168692175+innerthunder@users.noreply.github.com>
Co-authored-by: innerthunder <brandonerickson98@gmail.com>
2024-10-28 13:49:04 -07:00
Moka
fe7d156d2d
Merge pull request #4754 from pagefaultgames/main
Main -> Beta (1.1.6)
2024-10-28 17:40:48 +01:00
innerthunder
b4cc9d7892
[Hotfix] Fix crash when Mist would block a stat drop (#4746)
* Fix crash when Mist would block a stat drop

* Bump version

* Bump version (again)
2024-10-28 14:02:10 +01:00
pom-eranian
5797f265a4
[Sprite][hotfix] Fixed cropping on 658 static greninja and ash greninja (#4743)
* [Sprite][hotfix] Fixed cropping on static greninja and ash greninja

* bump version number
2024-10-28 02:32:36 +00:00
chaosgrimmon
33f5f4c33b
[Sprite] Hotfix cut off Binacle sprite (#4741)
* Trim 688.json duration

* Trim 688.json duration

* Fix cut off Binacle back

* Fix cut off shiny Binacle back

* Bump version

* Bump version

* Revert cutting off hair

* Revert cutting off hair

* Remove trailing comma

* Remove trailing comma
2024-10-27 23:23:09 +01:00
Moka
41380b39b9
[Hotfix] Fix manifest getting loaded before the game is initialized (#4739)
* Fix manifest being used before the game is initialized

* bump game version

* make manifest fix more future proof

* Revert "make manifest fix more future proof"

This reverts commit 32591b35d0.

* fix locales path for offline builds
2024-10-27 21:32:30 +01:00
PigeonBar
dfb42e44a6
[Hotfix] Fix Eternatus egg tier (#4734) 2024-10-27 04:04:57 +00:00
innerthunder
9a56f080db
[Hotfix] Fix status damage triggering before berry usage (#4732)
* Fix status damage triggering before berry usage

* Bump version number

* Revert "Bump version number"

This reverts commit 64b194f5a7.

* Bump version number for real this time
2024-10-27 02:34:48 +00:00
Frederico Santos
908784b011 Merge branch 'main' of github.com:pagefaultgames/pokerogue into pokerogue-main 2024-10-26 22:43:47 +01:00
Frederico Santos
a9a73863e8 Comment out startGame call on manifest fetch failure 2024-10-26 22:43:15 +01:00
Frederico Santos
78adade5c3
Merge pull request #4730 from pagefaultgames/beta
1.1.0 - The Halloween Update
2024-10-26 22:29:58 +01:00
Moka
22865c010a
fix oversight with save migration (#4731) 2024-10-26 22:16:37 +01:00
Madmadness65
4fb1f37baa [Sprite] Fix Berry Juice item sprite
Sprite will now be centered properly.
2024-10-26 16:13:05 -05:00
Frederico Santos
61193562f1 Updated date 2024-10-26 21:30:05 +01:00
pom-eranian
4be0214d5a
[fix] added missing rare icons for spinarak, ariados. added to icon sheet (#4729) 2024-10-26 21:09:19 +01:00
pom-eranian
39362389c7
[Sprite] October Variant Update (#4608)
* 40 Wigglytuff (base fix) @ hanniel

* 39 40 174 variant icons

* 39 40 174 - Variant Palettes

* 359 - Absol Mega Absol [Base Fixes] - @ rival_kieran

* 359 Absol Variant icons

* 359 Absol Variant palettes

* 359 Absol  [_masterlist.json]

Enabled variants for absol & mega absol

* [Sprite][Anim] 275 Shiftree- cropped ear fix - @hamez

* Honchcrow Murkrow [Base fixes]

* Murkrow Honchkrow - Icons for variant & female murkrow

* 198 430 Murkrow Honchkrow Variants [Epic Rare]

* [fix] 359 - masterlist - removed ghost entry for exp absol

* 527 528 Woobat Swoobat [Epic Rare] @ rival_kieran

base fix on  woobat back, swoobat front, back
palette files for front, back
added to masterlist
variant icons

* [fix] masterlist -removed incorrect entry

* 590 591 Foongus Amoongus @ Omniv

variant icons
variant palettes
fixes for base front and back

* 587 Emolga [Rare Epic] @ bagonganda

icons variants
front back base fix
variant palettes

* [fix] masterlist  Added missiing variants.  Added Qwuilfish variants

Qwilfish icons
variant palettes

Enabled variants for pokemon in title.
39 40  174 Jigglypff Wigglytuff Igglybuff
587 Emolga
211 Qwilfish

* 377 378 379 486 894 895 Regirock Regice Registeel Regigigas Regieleki Regidrago @greenninja757 @_vari_ @splashceles @gonfold @sphinx_sage

variant icons
variant palettes
base fixes for regigigas, regieleki & registeel
added all to masterlist

* 684 685 Swirlix Slurpuff [Rare Epic] - @ gerolau

* 682 683 - Sprizee Aromatisse [Rare Epic] - @ Koda_want_to_sleep

* 378 Regice [Base shiny + replacement] - @ Vari

* 501 502 503 6503 - Oshawott Dewott Samurott [Base Fix Rare Epic] - @Omniv @yepitscaio

* 152 153 154 - Chikorita Bayleef Meganium [Base Fix Rare Epic] - @ corsola_bandit

* 807 Zeraora [Epic Rare] - @ luckyluckylucky

* 194 195 Wooper Quagsire [Rare Epic] - @ OfficerPorkchops

cleaned up wooper's face
variant icons
added to masterlist
palette files

* 616 617 Shelmet Accelgor [Base fix, Rare, Epic] - @ Vari

shelmet base fixes
variant icons
variant palettes
added to masterlist

* 588 589 Karrablast Escavalier [Rare, Epic] - @ Vari

variant palettes
variant icons
added to masterlist

* 170 171 Chinchou Lanturn [Rare, Epic] - @ thetruegge

variant icons
variant palettes
added to masterlist

* 158 159 160 Totodile Croconaw Feraligatr [Rare, Epic] - @ Dingosig @ Ashhawk

variant icons
variant palettes
added to masterlist

* [128] Tauros [Rare Epic] - @ Bibble

variant icons
variant palettes
added to masterlist

* 509 510 Purrloin Liepard [Basefix, Rare, Epic] - @ MeganiumOpus

variant icons
variant palettes
base fix 510 liepard
added to masterlist

* 390 391 392 Chimchar Monferno Infernape [Base Fix, Rare, Epic] @ hanniel.15

base fix all
variant icons
variant palettes
added to masterlist

* [fix] masterlist erroneous value on chinchou, lanturn

* 455 Carnivine [Base Fix Rare Epic] - @ hamez

base fix for front, back
variant icons
variant palettes
added to masterlist

* 944 945 Shroodle Grafaiai [Base fix, Shiny fix, Rare, Epic] - @ Vari

* 167 168 Spinarak Ariados [Rare, Epic] - @ Thorn @ wormhood

* 676 Furfrou [BaseFix Rare Epic] - @ gerolau

* Variant removed 509 510 Purrloin Liepard

This reverts commit 90ab203708.

* 621 - Druddigon [Rare Epic] - @ Koda_want_to_sleep

variant palettes
variant icons
added to masterlist

* Fix misplaced Gen4 variant icons

* Remove misplaced Gen4 variant icons

* More icon fixes

- Shiny Milotic antenna recolour
- Shaded variant Eevees and added Partner variants
- Swapped Golbat common and rare
- Added variant Centiskorch and Gmax

* Move misclassified Gen9 icons

Also fixes a stray pixel on Fuecoco.

* 102 103 2103 Exeggcute Exeggutor [Rare. Epic] - @ clickonflareblitz

variant palettes
variant icons
added to masterlist

* 276 277 Taillow Swellow [BaseFix Rare Epic] - @ peng06

variant icons
variant palettes
base fixes on all spritesheets
added to masterlist

* [QoL] reordered key for 6713 exp

* reformat of masterlist with less whitespace

* 1012 1013 Poltchageist, Sinistcha

icons, variants, base fixes, my sanity

* 172 Pichu [basefix rare epic]

* 26 raichu [basefix rare epic]

* 25-gmax pikachu [basefix rare epic]

* 25 raichu [basefix] added missing female back

* 25-beauty-cosplay pikachu

* 25-tough-cosplay pikachu [epic rare]

* 25-smart-cosplay pikachu

* 25-cute-cosplay pikachu

* 25-cool-cosplay pikachu

* 25-partner pikachu

* 25 pikachu

* 25-cosplay pikachu

* 2026 alolan raichu  [basefix rare epic]

* 25 pikachu - corrected icon colors, shiny correct colors

* 25 other icons

* 656 657 froakie frogadier

* removed variant images included in commits for  25 26 172 2026, 1012 1013, 656 657

* [masterlist] added 25 26 172 2025 pikachu raichu pichu a-raichu

* [masterlist] added 1012 1013 poltchaageist sinistcha

* [masterlist] added 656 657 froakie frogadier [GRENINJA MISSING]

* 688 689 Binacle Barbaracle [Base Fix, Rare, Epic] - @ saltedcarriemel

replaced front static by first frame of exp
base fixes
variant palettes
variant icons
added to masterlist

* [658] ash-greninja static front variants

* 658 greninja, ash greninja [rare epic]

base fixes
animation standardized front / back
variant palettes
variant icons
added to masterlist

* [fix][icons]  torchic, combusken, blaziken gender icons

* [fix] 658 corrected color error

white on knees

* Updated variant icon sheets

* Reverted override file pushed By Mistake

WHY WAS IT THERE.

* [fix] icon sheet v1 - removed ".png" from file names

---------

Co-authored-by: chaosgrimmon <31082757+chaosgrimmon@users.noreply.github.com>
2024-10-26 18:06:07 +01:00
Frederico Santos
51b2a4d7fe
Something (#4728)
* [Feature] Add event-based friendship multiplier and update TrainerConfig for event modifiers

* [UI][Dev] Improve event banner placement (#4726)

* [ui] automatically place event banner and timer in the title screen

* add new event banner

* ugh

* [Refactor] Clean up TrainerConfig and remove unused timed event

---------

Co-authored-by: Moka <54149968+MokaStitcher@users.noreply.github.com>
2024-10-26 17:14:17 +01:00
Smewkie
61cf937cab
[Balance] Ferroseed HA
Ferroseed HA
2024-10-26 00:38:12 +01:00
PigeonBar
f87ac116fa
[Beta] Stop Transform giving copied moves negative fractional ppUp (#4722)
* [Beta] Stop Transform giving copied moves negative fractional `ppUp`

* Remove some bangs/etc

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-10-25 19:34:40 -04:00
chaosgrimmon
6418f46bf7
[Sprite] Fix transparency of pixels on Fletchinder (#4720)
* [Sprite] Front Fletchinder

* [Sprite] Back Fletchinder

* [Sprite] Shiny front Fletchinder

* [Sprite] Shiny back Fletchinder
2024-10-25 16:02:05 -07:00
Frederico Santos
a50763cd89 updating locales 2024-10-25 23:29:20 +01:00
innerthunder
414e0a5447
[Balance] Change Tyrogue to move-based evolutions (#4694) 2024-10-23 23:17:55 -07:00
Opaque02
a2419c4fc3
[Misc] Add admin for (un)linking 3rd party accounts (#4198)
* Updated admin panel to allow the concept of unlinking accounts

* Don't look too hard at this commit, nothing to see here

* Admin stuff

* Fixed linking and unlinking and updated menu options

* Undid some changes and cleaned up some code

* Updated some logic and added some comments

* Updates to admin panel logic

* Stupid promises everyone hates them and they deserver to die

* Promise stuff still

* Promises working thanks to Ydarissep on discord - pushing with debug code before it decides to stop working again

* Removed debugging code

* All discord functionality seems to be working here?? Not sure what happened but yay

* Fixed up some bugs and code

* Added registered date to the panel

* Fixed and updated some minor error message related stuff

* Minor changes

* Fixed some minor bugs, made the save related errors have error codes, and added updated icons

* Updated search field error

* Missed a couple of things to push

* Fixed linting and doc errors

* Revert dev related code and clean up dev comments

* Reverting utils

* Updating front end to match back end from Pancakes' comments

* make getFields and getInputFieldConfigs a single function of FormUiHandler

* remove outdated doc

* Apply suggestions from code review

Moka review changes

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

* Added docs

* eslint fixes

* Fixed error not showing up in certain conditions

---------

Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
Co-authored-by: MokaStitcher <millennium.stitcher@gmail.com>
Co-authored-by: MokaStitcher <54149968+MokaStitcher@users.noreply.github.com>
Co-authored-by: innerthunder <brandonerickson98@gmail.com>
2024-10-23 22:00:07 +02:00
Moka
a13550ec44
[Balance][ME] Various ME Balance changes (#4700)
* balance changes and updates to various MEs

* fix import to new item

* fix import to new item

* Update src/data/mystery-encounters/utils/encounter-pokemon-utils.ts

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

* Update src/phases/select-modifier-phase.ts

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

* Update src/modifier/modifier.ts

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

* Update src/modifier/modifier.ts

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

* revert item atlas changes

* eslint

* revert 'revert item atlas'

* update locale repo to latest commit

* Fix fiery fallout missing argument

* [balance] Training session ME does not update Seen/Defeated GameStats

* [balance] update Weird Dream ME maximum spawn wave

* [ME] update CombinationRequirements to allow AND or OR combinations

* refactor: CombinationPokemonRequirement `.Some()` and `Every()`

* chore: rename `orRequirements` to `requirements`

* fix: returns of `Some()` and `Any()`

* apply `Some()` / `Any()` pattern to `CombinationSceneRequirement` too

* revert 'offer you can't refuse' giving Silver Pokeball'

* Apply code review suggestions

* [me] Weird Dream: apply same old gateau logic to team in options 1 and 2

---------

Co-authored-by: ImperialSympathizer <imperialsympathizer@gmail.com>
Co-authored-by: ImperialSympathizer <110984302+ben-lear@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: innerthunder <brandonerickson98@gmail.com>
2024-10-23 21:46:57 +02:00
innerthunder
c7e9eaf435
[P2] Fix binding, etc. not being removed when switching with Baton Pass (#4709)
* Fix binding, etc. not being removed when switching with Baton Pass

* New baton pass test
2024-10-23 11:24:50 -04:00
schmidtc1
958d79140c
[P2] Fixes Transform/Imposter not updating type/battle stat changes immediately; set move PP to 5 when transforming (#3462)
* Adds updateInfo to transform move/ability, mirrors Transform functionality in Imposter

* Implements functionality for reducing pp to 5 or less for each move when transforming

* Refactors to async/await pattern, adds back removed anims/sounds from last commit

* Eslint fix attempt

* Update src/data/ability.ts

per DayKev's suggestion

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

* Merge and fix conflicts

* Adds unit tests for pp-change with transform/imposter

* Updates to consistency in syntax/deprecated code

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-10-23 11:12:53 -04:00
NightKev
fd38ab4cb4
[P2] Missing Minior form (violet) now spawns in the wild (#4711) 2024-10-23 11:10:43 -04:00
innerthunder
03025b2674
[P2] Fix various charge move bugs (#4595)
* Add charge move classes and phase

* Integrate `MoveChargePhase` in battle phase sequence

* Fix Protean + charge move interaction

* Fix effect chance applying to semi-invulnerability

* Remove `ChargeAttr` and fix ChargeAnim loading

* Restore move history entry for charge phases

* Gravity now cancels Fly, etc. after charge turn

* Dig integration tests

* Fly integration tests

* Dive integration test + fix Dive in Harsh Sun bug

* Solar Beam integration tests + `CHARGING` tag fixes

* Fix dive test

* Electro Shot integration tests

* fix import in MoveChargePhase

* Electro Shot Multi Lens test

* Geomancy integration tests

* Fix duplicate move queue

* Update import

* Docs + Fix Meteor Beam being boosted by Sheer Force

* Fix volt absorb test

* Apply PigeonBar's suggested move-phase changes

Co-authored-by: PigeonBar <56974298+PigeonBar@users.noreply.github.com>

* Make Electro Shot Sheer Force boosted again

* Apply PigeonBar's feedback pt. 2

* Apply suggestions from code review

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

* Fix mistimed/dupe showMoveText and leftover TODO

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: PigeonBar <56974298+PigeonBar@users.noreply.github.com>
2024-10-23 11:08:40 -04:00
Moka
16b7194366
[P3] Fix Egg Summary not showing new abilities in blue (#4712) 2024-10-23 11:05:13 -04:00
bjparker1226
a0baf89297
[P2] Fix dark deal reducing transformed Pokemon's held item stack to 1 (#4707) 2024-10-23 11:04:37 -04:00
NightKev
1ad4f3b376
[Test] Add STATUS_ACTIVATION_OVERRIDE to overrides.ts (#4689)
This applies to Paralysis and Freeze

Added Paralysis test to demonstrate usage

- Consolidate `this.cancel()` calls
2024-10-22 23:11:02 -04:00
Blitzy
0fe57b44b5
[Balance] Add Exclusive Moves from Prior Evolutions via Memory Mushroom (#4681) 2024-10-22 18:13:10 -07:00
damocleas
96e5f2d763
Starmobile Stat Adjustments (#4704)
Co-authored-by: Adrian T. <68144167+torranx@users.noreply.github.com>
2024-10-22 18:07:28 -07:00
Mumble
5e7f2042fc
[UI][QoL] Cursor defaults to Fight at the start of each new wave (#4666)
* cursors are dumb

* update

* fixed?

* maybe solution

* fix in!

* Possible cursor fixes

---------

Co-authored-by: frutescens <info@laptop>
Co-authored-by: Opaque02 <66582645+Opaque02@users.noreply.github.com>
2024-10-22 13:05:37 -07:00
NightKev
181f59882a
[P2] Fix Early Bird (#4632)
* Fix Early Bird, add tests

* Update tsdocs for Early Bird's `AbAttr`

Rename `turnCount` to `toxicTurnCount` and
`turnsRemaining` to `sleepTurnsRemaining` in `status-effect.ts`

* Fix Toxic Orb test

* Redundant code :despair:

* Fix status override to set the number of sleep turns
2024-10-22 12:37:13 -04:00
Mason S
7066a15ceb
[Refactor] Added BattlerTagLapseType.AFTER_HIT (#3655)
* [Refactor] Added ON_GET_HIT BattlerTagLapseType

Adjusted BeakBlastChargingTag and ShellTrapTag to use new lapse type

Adjusted MoveEffectPhase to now lapse all tags with the ON_GET_HIT lapse type

* [Refactor] Added ON_GET_HIT BattlerTagLapseType

Adjusted BeakBlastChargingTag and ShellTrapTag to use new lapse type

Adjusted MoveEffectPhase to now lapse all tags with the ON_GET_HIT lapse type

* Fix nits

* Rename `ON_GET_HIT` to `AFTER_HIT`

Change `isOpponentTo` to `isOpponent`

* Fix a couple minor nits

* Remove single-use function

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-10-21 23:53:00 -07:00
innerthunder
c2eb9de9df
[Ability] Partially Implement Infiltrator (does not work with mist) (#4636)
* Implement Infiltrator

* Integration tests + Infiltrator is (P) again

* Fix screen tests

* Fix `hitsSubstitute`

* docs for Infiltrator attr
2024-10-21 21:41:25 -04:00
PrabbyDD
467841d167
[P2] Nightmare triggers at turn end instead of after move (#4702) 2024-10-21 21:33:41 -04:00
NightKev
f7797603a1
[P2] Fix oversight where hazards cannnot affect Pokemon that set it (#4693)
Fixes #935
2024-10-21 11:03:12 -04:00
NightKev
966b07f62b
[Misc] Shiny overrides can now force Pokemon to not be shiny (#4699)
Also fixes random shinies breaking tests
2024-10-21 11:00:58 -04:00
innerthunder
f51814467a
[P3] Fix mistimed sound effect in LearnMovePhase (#4698) 2024-10-21 10:59:23 -04:00
NightKev
b76e54fe7f
Replace duplicate code with getDoubleBattleChance() (#4690) 2024-10-21 02:29:21 -07:00
Lugiad
75a114a89f
[Localization][UI/UX] emerald-pro font update (#4697)
* Add files via upload

* Delete public/fonts/pokemon-emerald-pro.ttf

* Rename pokemon-emerald-pro2.ttf to pokemon-emerald-pro.ttf
2024-10-20 22:45:12 -04:00
MokaStitcher
e6c06d57be
[P All][Bug] Various ME bugfixes (copy) (#4695)
* Mystery Encounter bugfixes

* more ME bug fixes

* update allowed pokemon in ME requirements

* some unit test cleanup and general tidying

* fix null exception on isBattleMysteryEncounter

* clean up tsdocs and fix pokemon hasAbility check

* fix double battle crash in challenge mode with a single eligible pokemon

* apply suggestions from PR#4619's code reviews

* revert fix for Keldeo crashes + implement fix suggestion from PR #4619

* fix session migration for PokemonCustomData

* prevent test failure due to keldeo fix

---------

Co-authored-by: ImperialSympathizer <imperialsympathizer@gmail.com>
2024-10-20 22:55:07 +01:00
NightKev
39abac65be
Add eslint rule to enforce indenting of case statements (#4692) 2024-10-20 02:44:36 +01:00
Frederico Santos
5c70ab238e
Merge pull request #4684 from pagefaultgames/main
Main -> Beta
2024-10-18 21:53:21 +01:00
PigeonBar
de64fd7720
[Misc] [Beta] Fix crash when loading save preview with Mystery Encounter Override active (#4683) 2024-10-17 23:52:46 -04:00
MokaStitcher
c5b3220b86
[Beta P3][UI] Fix item/cursor placement in reward screen (#4678) 2024-10-17 13:46:51 -04:00
Mumble
2f212f52eb
fixed effectChanceOVerrride location + removed ability tags (#4677)
Co-authored-by: frutescens <info@laptop>
2024-10-16 23:31:30 -07:00
Amani H.
85b8ca6467
[Dev] Bump Game Version, Overhaul Version Migration (#4388)
* Bump Version, Remove "Outdated" Message

* Fix `src/ui/ui.ts`

* Fix `src/system/game-data.ts`

* Clean Up & Organize Version Migration

* Rename Methods & Session Migration Adjustment

* Collapse Version Migrators to Single File as Arrays

* Address NITs

* Restructure Migration Initialization

* Fix Spacing, Increment to v1.6.0

* Revert Back to v1.1.0

* Add `gameVersion` to Mocked Game

* Add More Documentation

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-10-17 00:48:28 +01:00
Madmadness65
afebecd43c
[P2 Bug] Fix pool entry for Jynx not using baby species (#4675) 2024-10-16 17:16:10 -05:00
NightKev
d92d63e81f
[Misc] Restore info comment that was accidentally removed (#4674) 2024-10-16 16:10:19 -04:00
AJ Fontaine
d5fee37868
[Refactor] Add friendship related constants (#4657)
* Add constants for friendship

* Absolute path in battle-scene.ts

* Address nits

* Apply negative to constant
2024-10-16 14:55:23 -04:00
Lugiad
3ea459746a
[Localization] [UI/UX] Italian Type and Status icons (#4673) 2024-10-16 14:53:25 -04:00
PigeonBar
1907824670
[P1] Fix party UI crash from unsanitized lastCursor pointing to empty Pokemon slot (#4672) 2024-10-16 11:10:35 -04:00
PigeonBar
72c08e5cfd
[Refactor] Clean up commented safari zone code from #4661 (#4671) 2024-10-16 11:09:48 -04:00
Mumble
2caa09f246
[Move] Fully Implement Secret Power (#4647)
* initial work

* move go

* biomes for damo

* more cleanup

* added effect for space

* test

* balance change 1

* i'm silly

* fixed effect cahnce

* secret power atr

* Apply suggestions from code review

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

* got tests to work + added final balance biomes

* added documentation

* Apply suggestions from code review

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

* Update src/data/move.ts

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

---------

Co-authored-by: frutescens <info@laptop>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-10-16 10:38:12 -04:00
PigeonBar
c6ec01958c
[Bug] Fix for Expert Breeder's Pokemon being invisible and IV scanner in safari zone (#4661)
* [Bug] Potential fix for Expert Breeder's Pokemon being invisible

* PR Feedback

* Consistency with await
2024-10-16 10:31:32 -04:00
PigeonBar
50ff6e703a
[P1 Bug] Fix several Destiny Bond crashes (#4665)
* [P1 Bug] Fix several Destiny Bond crashes

* PR Feedback
2024-10-16 10:30:38 -04:00
innerthunder
093f3d90f5
[Balance] Add Memory Mushroom to Shop (#4555)
* Add Memory Mushroom to Shop + escape TM selection

* consolidate learn move type params into an enum

* Rewrite lock capsule test

* Disable luck upgrades for copied SMPhases

* Mem Mushroom Cost 4x Update modifier-type.ts

* Add undefined cost check to `addModifier`

* Increase shop options row limit

* Prevent SMPhase copies from updating the seed

---------

Co-authored-by: damocleas <damocleas25@gmail.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-10-15 18:06:56 -07:00
Madmadness65
c04d81bd65
[Ability] Allow Power Construct to transform 10% PC Zygardes (#4626)
* Allow Power Construct to transform 10% PC Zygarde

* Add additional test for 10% PC Zygarde
2024-10-15 15:02:30 -04:00
innerthunder
1966335627
[Refactor] Add type inference and support for simulated calls to ArenaTag.apply (#4659)
* Add simulated support for Arena Tag application

* Add type inference to ArenaTag.apply

* Fix screen tests

* back to `any` again lol

* fix missing spread syntax (maybe)

* updated docs

* named imports for `Utils`
2024-10-15 13:13:54 -04:00
Mumble
d01d856898
[Refactor] Default case to display challenge name (#4656)
Co-authored-by: frutescens <info@laptop>
2024-10-15 10:05:21 -04:00
PrabbyDD
21b71595e0
[P2] Attacks that miss against pokemon in semi invul state that have abilities such as volt absorb will not trigger (#4663)
* fixing issue where abilities trigger in semi invul state

* fixing targets
2024-10-15 10:04:26 -04:00
innerthunder
d5f87bbea7
[P3][Beta] Fix missing move text when a move fails (#4664)
* Fix missing move text when a move fails

* Use `cancel` function instead of setting `this.cancelled`
2024-10-15 10:02:02 -04:00
Blitzy
bb98bc2f8e
[Balance] Evil Team Update / Penny Adjustments (#4577)
* Update trainer-config.ts

* Update trainer-config.ts

* Update trainer-config.ts

* Fixed Flare Grunt's having Noivern > Noibat

* Revert Inkay change, Change Penny

* Give Admin aces canonical genders

* Update trainer-config.ts

* Update trainer-config.ts

---------

Co-authored-by: Madmadness65 <blaze.the.fireman@gmail.com>
Co-authored-by: damocleas <damocleas25@gmail.com>
2024-10-15 02:17:20 -07:00
NightKev
e962ac1f18
[Beta Bug] Prevent duplicate move failure message (#4662) 2024-10-14 17:47:23 -04:00
cadi
e7a4d4055f
[Move] Implement Power Trick (#2658)
* add `PowerTrickTag`

* modify getStat() with PowerTrickTag

* implement `PowerTrickAttr`

* add unit test

* enhance docs and tag apply logic

---------

Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>
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: Enoch <enoch.jwsong@gmail.com>
Co-authored-by: Yonmaru40 <47717431+40chyan@users.noreply.github.com>
Co-authored-by: Amani H. <109637146+xsn34kzx@users.noreply.github.com>
Co-authored-by: Niccolò <123510358+NicusPulcis@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-10-14 12:39:34 -07:00
MokaStitcher
676322e800
[QOL] Add input delay for skipping egg summary (#4644) 2024-10-14 10:42:59 -04:00
Mumble
8981f0e7a8
Trainer party de-duplication checks static pokemon too (#4585)
Co-authored-by: frutescens <info@laptop>
Co-authored-by: innerthunder <168692175+innerthunder@users.noreply.github.com>
2024-10-13 19:20:55 -07:00
PigeonBar
e340abe75d
[P1 Bug] Fix softlock when a phazing attack activates a reviver seed (#4654)
* [P1 Bug] Fix softlock when a phazing attack activates a reviver seed

* Polishing tests

* Change approach to respect Parting Shot's targeting

* Tests: Added checks for correct number of Pokemon on field
2024-10-13 20:08:47 -04:00
Mumble
8a355d500a
[Bug] Move Restriction Battler Tag bugs (#4536)
* Added fixes

* Revert "Added fixes"

This reverts commit 3feccd792d.

* Added loadTag functions

* Fixes

* typeodcs

* Torment

* yawn

* hsldklahdlhalhdlahldhlah

* Imprison Fixes

* Fixed imprison not interrupting PRE_MOVE

* just kidding

* Apply suggestions from code review

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

* Fixing what broke

* added scp[es

* missed a scope

* Update src/data/battler-tags.ts

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

* good tp go

* merge

* battler tags

* Apply suggestions from code review

* Changed function names

* publics

---------

Co-authored-by: frutescens <info@laptop>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-10-13 03:30:04 -04:00
innerthunder
470f9e4e19
[P3] Fix Substitute visual error on wave transition (#4648) 2024-10-13 00:46:41 -04:00
Tempoanon
391f38c3c8
[Documentation] Document all (P) abilities (#4649)
* Document partial abilities

* Fix typo

* Address comments

* Fix typo Terapagos -> Ogerpon

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-10-13 00:45:38 -04:00
damocleas
8e7aea0f89
Fixed Charizard and Kingler BST, fixed ability indexing for gmax forms (#4652) 2024-10-13 04:51:14 +01:00
Tempoanon
caf29e2ce3
[Documentation] Document all (P) moves (#4650)
* Document all (P) moves

* Fix some typos

* Fix more typos

* Address innerthunder comments

* Add circle throw and dragon tail (P)
2024-10-12 23:42:20 -04:00
PrabbyDD
ebb7612999
[Bug] Stat Stages are now changed individually instead of all at once (#4457)
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: Adrian T. <68144167+torranx@users.noreply.github.com>
2024-10-12 15:29:36 -07:00
PigeonBar
2ac688de4b
[Misc] More complete phase logging (#4651) 2024-10-12 13:06:26 -07:00
PigeonBar
b7eb95b761
[Test] Fix several flaky tests (#4639) 2024-10-12 11:22:26 -04:00
Mumble
cfb92b4e08
[Move] Telekinesis + [Bug] Ingrain (#4506)
* some early set up

* localization

* Added Wiglett family to restrictions

* Added Smack Down + 1000 Arrows Interactions

* Added checks for certain tags

* Gravity removes telekinesis from all pokemon on the field

* need to check something else real quick

* mmmmmm

* think this is fine?

* ingrain fixes

* more ingrain

* Telekinesis Test + Move Fix

* Test Name change

* another day another try...

* Test Cleanup

* fsfdsfds

* Revert "fsfdsfds"

This reverts commit cb7abcfd9f.

* whoops

* Apply suggestions from code review

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

* Missed one

* Update src/data/move.ts

Co-authored-by: PigeonBar <56974298+PigeonBar@users.noreply.github.com>

* Apply suggestions from code review

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

* Add separate battler tags in move attr

* Update src/data/battler-tags.ts

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

* removed onRemove

* Documentation

* Update src/data/battler-tags.ts

---------

Co-authored-by: frutescens <info@laptop>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: PigeonBar <56974298+PigeonBar@users.noreply.github.com>
Co-authored-by: innerthunder <168692175+innerthunder@users.noreply.github.com>
2024-10-11 17:44:16 -04:00
innerthunder
7645d5042d
[P3] Fix "falsex" type hint for Sheer Cold against ice types (#4638)
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-10-11 16:09:15 -04:00
pom-eranian
f0cc1fc88b
[Sprite] Hisui Goodra, Sliggoo, Shiftry (#4642)
* [Sprite][Anim] 275 Shiftree- cropped ear fix - @hamez

* 705 6706 Sliggoo Hisuian Goodra [Color Fixes] - @ rival_kieran

- Fix to Kalosian Sligoo (705). Front exp should now use shaders properly.
- Fix to all of Hisuian Goodra's base sprites + Variants to allow them to use shaders properly (as they didn't before). .json file included.
- Fix to Hisuian Goodra's back static Rare Variant which used colors from the Epic variant on accident on cheeks + spots and drips.
- Hisuian Goodra's eyes on Variant (Rare, Epic) exps were mapped to the wrong color compared to the statics, this has been fixed.
- All images should be indexed.

* Set variants to palette, removed old files
2024-10-11 16:08:39 -04:00
MokaStitcher
89d7e7ea65
[P3][UI] Fix tooltip bugs in Starter Select screen (#4641)
* [UI] Fix candy friendship tooltip bug in Starter Select

* [UI] remove tooltip when exiting starter select screen
2024-10-11 15:46:00 -04:00
Mason S
70b9a43c8b
[P2] Fix first-turn status damage and arena hazards (#3528)
* [Bug] Toxic Spikes implementation issues fixed

Adjusted MoveEffectPhase.start() so that ENEMY_SIDE targeted moves no longer occur twice per use in double battles.

Updated Toxic Orb test to no longer expect a tick of damage turn 1.

Fixed Toxic/Poison dealing damage immediately when applied.

Fixed Hazards not persisting through save

Added unit tests

Fixed flyout not displaying correct number of Spikes/Toxic Spikes after a refresh

* Update Toxic Orb test

* Updates Toxic Spikes tests

* Apply suggestions from code review

* Fix merge issues

Replace `integer` with `number` in `arena-tag.ts`

* Remove partial Magic Bounce implementation

* Remove stray newline

* Remove extra change in safeguard test

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-10-11 10:41:54 -04:00
MokaStitcher
4f456339f4
[UI] Remove score display in voucher menu (#4616) 2024-10-11 10:26:47 -04:00
MokaStitcher
80a784ac8d
[P3 Beta][UI] Fix loading behavior introduced with save preview (#4633)
* [ui] partially revert loading behavior introduced with save preview

* [beta][ui] fix scrolling issue in Load Game menu
2024-10-11 10:24:53 -04:00
NightKev
407cd65dcb
[Misc] Enemy item override will now apply to all enemies (#4620)
* Enemy item override will now apply to all enemies

* Update tsdocs
2024-10-11 00:20:28 -07:00
Amani H.
3f63c147a3
[P3] Fix "Stat Won't Go Any Lower/Higher" Not Appearing (#4635) 2024-10-10 12:44:51 -07:00
NightKev
5d0b361320
[P2] Syrup Bomb effect is removed when user leaves the field (#4606)
* Syrup Bomb's effect expires when the move user leaves the field

* Add test

* Remove check for the affected pokemon being switched out
2024-10-10 13:19:05 -04:00
ImperialSympathizer
6ad5ba972c
[Enhancement] Refactor Starter Species to use separate EggTier map (#4591)
* creates table for tracking species egg tiers

* creates table for tracking species egg tiers

* rename EggTier enum values

* replace clamp util function with Phaser function

---------

Co-authored-by: ImperialSympathizer <imperialsympathizer@gmail.com>
2024-10-10 09:29:26 -07:00
Adrian T.
0996789ee6
[Refactor] Improve typing in phaseInterceptor.ts (#4560)
* improve typing in phaseInterceptor

* add more param typings

---------

Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-10-10 11:54:43 -04:00
NightKev
ba7e26152e
[Bug] Fix substitute interactions with PostDefendAbAttrs (#4570)
* Fixes some Substitute interactions

Specifically with Disguise/Ice Face and Gulp Missile

* Add tests

* Fix linting

* Add `hitsSubstitute()` checks to all `PostDefendAbAttr`s

Also fix comment indentation in `MoveEffectPhase`

* Revert `move-effect-phase.ts` changes
2024-10-10 11:45:02 -04:00
Mumble
a778537cca
[P2] Sketch Failure Bug involving multiple Sketch-s in a moveset (#4618)
* Sketch bug fix

* Added test

---------

Co-authored-by: frutescens <info@laptop>
2024-10-10 11:43:50 -04:00
PigeonBar
64147e4414
[P2] Fix Battle Bond continuing to affect Water Shuriken after Greninja returns to base form (#4602)
* [Bug] Fix Battle Bond continuing to buff Water Shuriken after Greninja returns to base form

* Test cleanup

* PR feedback

* Update test to use getMultiHitType()

* PR Feedback
2024-10-10 11:40:14 -04:00
Mumble
51894d46c2
[P2] Pollen Puff ally behavior fixed (#4615)
* pollen puff fix

* bcvbvcbfd

* integerholder to numberholder

* moved it back

---------

Co-authored-by: frutescens <info@laptop>
2024-10-10 11:38:17 -04:00
Mumble
e9906ea229
[P2] Obstruct/Kings Shield/etc no longer reduce stats through Clear Body/etc (#4627)
* bug fix

* Add test

---------

Co-authored-by: frutescens <info@laptop>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-10-10 11:31:10 -04:00
NightKev
52257def2f
[P3] Fix enemy used PP flyout, fixes #4622 (#4629)
Also add missing function return types
2024-10-10 11:30:19 -04:00
PigeonBar
ca3cc3c9c6
[P1 Bug] Fix infinite recursion from abilities disabled by Sheer Force (#4631) 2024-10-10 11:28:26 -04:00
flx-sta
f180b6070e
[Qol] Load i18n en locales during tests (#4553)
* add: i18n backend support

the backend is being supported by using msw which will import the correct file from the local locales folder

* fix: tests to no longer rely on static i18n keys

* Update src/test/mystery-encounter/encounters/teleporting-hijinks-encounter.test.ts

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

* Update src/test/mystery-encounter/encounters/teleporting-hijinks-encounter.test.ts

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

* Update src/test/ui/type-hints.test.ts

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

* Update src/test/mystery-encounter/encounters/a-trainers-test-encounter.test.ts

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

* Fix typos

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

* Fix linting

* update locales submodule

update reference to `56eeb809eb5a2de40cfc5bc6128a78bef14deea9` (from `3ccef8472dd7cc7c362538489954cb8fdad27e5f`)

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: MokaStitcher <54149968+MokaStitcher@users.noreply.github.com>
Co-authored-by: Adrian T. <68144167+torranx@users.noreply.github.com>
2024-10-09 13:01:49 -07:00
Mumble
ffe941d235
[Feature][UI] Save Preview (#4410)
* Making 3 Option UI real

* idk anymore

* Revert "Making 3 Option UI real"

This reverts commit beaad44c1e.

* Let's see

* Current issues - scrolling upwards and correct cursor landing

* argh

* Fixed reactive scrolling

* Adding ME handling

* set up descriptions

* Cleaned up UI i think

* stupid alder

* Added double trainer handling + changed enum name

* Apply suggestions from code review

Thank you Moka!

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

* Arrow Visibility now depends on Session Slot hasData

* documentation

* Simplified calls to revertSessionSlot + changed function name per feedback

* Fixed scrollCursor issue.

* added comment

* Update src/ui/save-slot-select-ui-handler.ts

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

* Fixed sound played + added better conditional

* Balance Team....

* ME related changes

* Apply suggestions from code review

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

* Update src/data/mystery-encounters/mystery-encounter.ts

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

* Update src/data/mystery-encounters/mystery-encounter.ts

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

* Sending Doubles-fix

* eslint..

---------

Co-authored-by: frutescens <info@laptop>
Co-authored-by: MokaStitcher <54149968+MokaStitcher@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-10-09 15:04:13 -04:00
MokaStitcher
d2c579cf2a
[P2] Prevent generating Pokemon with duplicate IDs in daily runs (#4623) 2024-10-09 14:32:20 -04:00
MokaStitcher
deb2035610
[Beta][P2] Fix Grip Claw (#4614)
* [Beta][P2] Fix Grip Claw

* Add test for Grip Claw

* [test] improve grip claw's test readability

* PR feedback

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-10-09 14:30:28 -04:00
flx-sta
d8c914c768
[Beta P3] Fix i18n namespaces map for mysteryEncounterMessages from mystery-encounter-messages -> mystery-encounter-texts (#4617)
Something I missed in #4611
2024-10-08 13:44:23 -04:00
flx-sta
39cebb76d0
[Bug] i18n messages files fix (#4611)
* fix matching for i18n messages files

* update public/locales head
2024-10-08 13:30:48 -04:00
MokaStitcher
57a967890a
[Offline P1] Fix wrong local save being deleted when creating a new run (#4598) 2024-10-08 11:11:21 -04:00
MokaStitcher
0ede7b057d
[P3][UI] Fix egg gacha overlay not getting cleared properly (#4600) 2024-10-08 11:10:54 -04:00
MokaStitcher
6e10f6600f
[P2] Fix damage achievements not awarding (#4613) 2024-10-08 11:08:25 -04:00
chaosgrimmon
9bb6398385
[Sprite] Fix stray pixels in Kirlia's animation (#4612)
* [Sprite] Fix Kirlia padding bleedover

* [Sprite] Fix shiny Kirlia padding bleedover
2024-10-08 11:03:47 -04:00
NightKev
a1ca7e632b
[Move] Triple Arrows effect chance for stat change is now 50% (#4543)
* Triple Arrows effect chance for stat change is now properly 50%

* Add tsdocs to `StatStageChangeAttr`

* Add test for Serene Grace interaction

* Fix linting

---------

Co-authored-by: Mumble <171087428+frutescens@users.noreply.github.com>
2024-10-08 05:32:51 -07:00
ImperialSympathizer
0a4c12387b
Revert #4607 (#4609)
Co-authored-by: ImperialSympathizer <imperialsympathizer@gmail.com>
2024-10-07 15:42:27 -04:00
ImperialSympathizer
8980513a83
[P3 Hotfix] wrong content keys for Weird Dream ME (#4607)
Co-authored-by: ImperialSympathizer <imperialsympathizer@gmail.com>
2024-10-07 15:03:00 -04:00
Acelynn Zhang
f5fa478eb8
[P1] Fix crash when starting a challenge run after revisiting challenge select screen (#4603)
Ensure EncounterPhase initializes correctly at the start of the game
after revisting the challenge selection screen.

Fixes #4520
2024-10-07 12:01:15 -04:00
AJ Fontaine
a259ccfc34
[Beta][Test] Fix Scale Shot flaky test (#4564)
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: Adrian T. <68144167+torranx@users.noreply.github.com>
2024-10-06 20:29:57 -07:00
NightKev
c01fff49c4
[Beta P1] Fix regression in Metal Burst caused by #3974 (#4589)
Also adds a regression test for the scenario
2024-10-06 17:31:11 -04:00
chaosgrimmon
1226ab37e1
[Sprite] Compress Bronzor animation (#4593)
* [Sprite] Compress Bronzor front animation

* [Sprite] Compress Bronzor back animation

* [Sprite] Compress shiny Bronzor back animation

* [Sprite] Compress shiny Bronzor front animation
2024-10-06 17:29:39 -04:00
ImperialSympathizer
a7157bbe9a
fix shop option cursor indexing (#4601)
Co-authored-by: ImperialSympathizer <imperialsympathizer@gmail.com>
2024-10-06 13:51:34 -07:00
NightKev
f9691b872b
Change deploy script to specify "main" instead of default_branch (#4557) 2024-10-06 05:47:34 +01:00
Frederico Santos
c2c41d9be8 Update subproject commit reference for locales 2024-10-06 02:49:03 +01:00
innerthunder
f629a3e453
[P2] Stop G-Max Pokemon from evolving (#4581) 2024-10-05 19:52:53 -04:00
NightKev
e8f40c10c9
[Test] Update create-test script for linting changes (#4587)
Add additional boilerplate code

Change prompt to be slightly more accurate

Co-authored-by: Adrian T. <68144167+torranx@users.noreply.github.com>
2024-10-05 19:52:13 -04:00
flx-sta
42b75e8440
[Qol] Make i18n money formatter controlled by translators (#4550)
* fix: i18n money formatter

* fix wrongful console.warn on i18n money formatter

* update locales submodule

update reference to `56eeb809eb5a2de40cfc5bc6128a78bef14deea9` (from `3ccef8472dd7cc7c362538489954cb8fdad27e5f`)
2024-10-05 23:01:41 +02:00
Xavion3
f562a76332
Make repeat abilities not stack (#4588)
If due to fusions you have the same ability as both passive and normal, it'll no longer stack with itself.
2024-10-05 15:10:32 +08:00
innerthunder
c99df9712a
[Move] Implement Ion Deluge (#4579) 2024-10-04 17:23:20 -04:00
MokaStitcher
1947472f1c
[P3] Fix start button cursor not being cleared properly in starter select (#4558) 2024-10-04 16:47:12 -04:00
NightKev
d362456501
[P2] Diamond Storm should only trigger once when hitting multiple pokemon (#4544)
* Diamond Storm should only trigger once when hitting multiple pokemon

* Also fix Clangorous Soulblaze just in case

* Fix linting

* Fix linting

Oops missed this one
2024-10-04 16:29:20 -04:00
innerthunder
27537286b9
[Move] Implement Electrify (#4569)
* Implement Electrify

* ESLint

* Fix docs
2024-10-04 16:24:52 -04:00
innerthunder
0bd4d6c86b
[Move] Fully Implement the Pledge Moves (#4511)
* Implement Fire/Grass Pledge combo

* Add other Pledge combo effects (untested)

* Fix missing enums

* Pledge moves integration tests

* Add turn order manipulation + more tests

* Safeguarding against weird Instruct interactions

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

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

* Fix style issues

* Delete arena-tag.json

* Update package-lock.json

* Use `instanceof` for all arg type inference

* Add Pledge Move sleep test

* Fix linting

* Fix linting

Apparently GitHub has a limit on how many errors it will show

* Pledges now only bypass redirection from abilities

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-10-04 16:20:37 -04:00
AJ Fontaine
75bd730c04
[Balance] Fix TM compatibility on forms, Tera Blast on Indigo Disk mons (#4568)
* Fix TM compatibility on forms, Tera Blast on Indigo Disk mons

* Additional single strike moves

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-10-04 10:55:37 -04:00
chaosgrimmon
2c97b2bda2
[Sprite] Fix variant Farigiraf icon names (#4572) 2024-10-04 10:51:29 -04:00
NightKev
22442d3aa0
[Refactor] Refactor move phase and add documentation (#3974)
* Refactor `MovePhase` to improve readability/maintainability

Add tsdocs/comments all over

Mark all functions/fields with public/etc

Fix multi-hit moves called from Metronome/etc, fixes #3914

Remove unused function `BattleScene.pushMovePhase`

Don't use failure text as a condition for move success
A move defining potential failure text doesn't mean it failed

Replace relative imports with absolute imports in `battle-scene.ts`

Change some fields from optional to default `false`

* Fix Whirlwind test

* Fix linting
2024-10-04 10:50:03 -04:00
PigeonBar
2bc5f50154
[Test] Fix some test flakiness involving doKillOpponents() (#4571)
* [Test] Fix some test flakiness involving game.doKillOpponents()

* PR Feedback

* Fix linting

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-10-04 10:42:20 -04:00
Adrian T.
a5db2e1d6d
[Misc] Update readme to include relevant links (#4573) 2024-10-04 10:42:05 -04:00
EmberCM
38c682cca7
[QoL] Add fusion options to overrides (#4298)
* Add fusion options to overrides

* Add fusions overrides to overridesHelper

---------

Co-authored-by: MokaStitcher <54149968+MokaStitcher@users.noreply.github.com>
Co-authored-by: Adrian T. <68144167+torranx@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-10-03 23:04:50 -07:00
NightKev
db1e50dfd7
add lint rules (#3769)
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-10-03 22:16:15 -07:00
torranx
644c078a6c add new lint rules....again 2024-10-04 13:08:31 +08:00
Lneacx
74ea358f18
[Beta] Fix hit check so Poison-types do not brick semi-invuln. (#4567) 2024-10-03 23:45:53 -04:00
Acelynn Zhang
9c56c15a6c
[P3] Fix persisting sleep animation when sprite is already loaded (#4562)
Ensure that a Pokémon's animation speed is reset properly after saving
and quitting. Previously, if a Pokémon was put to sleep, which slows
its framerate, saving and quitting would result in the slower framerate
persisting even though the Pokémon was no longer asleep. This fix adds
an else condition to reset the frameRate to 12 if the sprite is already
loaded upon resuming the game.

Fixes #4465
2024-10-03 17:23:04 -04:00
Mumble
af51c1f2f0
[Move] Unique message for heal block, taunt, torment, and imprison (#4530)
Co-authored-by: frutescens <info@laptop>
2024-10-03 14:56:35 -04:00
flx-sta
46c84155b3
[Beta P1] Fix rare candy crashing (#4561) 2024-10-03 14:53:35 -04:00
Adrian T.
76e25a6d6f
[Move] Update Tera Starstorm (still Partial), Readd Partial tag to Tera Blast (#4549)
* fully implement tera starstorm

* add docs

* add tests

* add override keyword

* account for fusion

* swap party positions

* add partial tag to tera blast

* address comments
2024-10-03 12:58:21 -04:00
schmidtc1
c58b5e943b
[P2] Fixes party status cure moves only curing the player's pokemon, even when used by enemy pokemon (#3369)
* Fixes bug with Status Cure moves only curing player pokemon, refactors PartyStatusCureAttr, removes PartyStatusCurePhase

* Adds check for user ID, since user always cures its own status regardless of ability

* Adds unit tests for sparkly swirl

* Merge and fix conflicts

* Fix conflicts with SPLASH_ONLY

* Fix failing sparkly swirl test due to splash_only

* Adds unit tests for heal bell and aromatherapy

* Update src/data/move.ts

---------

Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
2024-10-03 11:49:33 -04:00
flx-sta
54efd44497
[Refactor] Modifiers type inference v2 (#4294)
* refactor: apply Modifiers type inference (pattern)

Mirror from #1747

Co-authored-by: Dmitriy <kagno.dmitriy@gmail.com>

* fix: PokemonBaseStatTotalModifier.apply having a `[1]` left

* fix: HeldItemTransferModifier.apply missing `...args: unknown[]`

* Replace relative imports with absolute imports in `modifier.ts`

* chore: fix TS1016* error

[*]  A required parameter cannot follow an optional parameter.

* chore: fix namings, types and docs

suggested by @torranx

* replace: `IntegerHolder` with `NumberHolder` & `integer` with `number`

* chore: apply review suggestions

by @torranx

* chore: address review feedback

from @torranx

* update: imports in `modifier-types`

* update `lapse` calls in modifier.ts

* fix lapse call in `battle-end-phase`

* minor adjustments in `modifier.ts`

* fix `EnemyEndureChanceModifier.apply` types

* fix `EnemyAttackStatusEffectChanceModifier.apply` types

* fix `EnemyTurnHealModifier.apply` types

* fix `EnemyStatusEffectHealChanceModifier.apply` types

---------

Co-authored-by: Dmitriy <kagno.dmitriy@gmail.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-10-03 11:38:17 -04:00
AJ Fontaine
ea9e0c7909
[Move] Implement Scale Shot (#4551)
* Scale Shot

* Docstrings for StatStageChangeAttr

* Add test for scale shot
2024-10-03 11:17:51 -04:00
Lneacx
8fc0d9a429
[P2] Fix Toxic to bypass semi-invulnerability when used by a Poison-type. (#4445)
* Fix Toxic to bypass semi-invulnerability when used by a Poison-type.

* Apply suggestion to refactor BerryPhase in Toxic move tests.

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

* Corrected missing quotes on a BerryPhase in Toxic.test.

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-10-03 10:35:03 -04:00
Jannik Tappert
5f700590be
[QOL] Have Friendship Value be shown in summary (#4490)
* Have Friendship Value be shown in summary

* Fix how "fill" of icon is calced

* Update src/locales/de/pokemon-summary.json

* Actually add the images

* Add correct image files

* Update src/ui/summary-ui-handler.ts

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

* Update src/ui/summary-ui-handler.ts

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

* Update src/ui/summary-ui-handler.ts

* Update src/ui/summary-ui-handler.ts

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

* Made changed suggested in code review

* Update src/locales/en/pokemon-summary.json

---------

Co-authored-by: Adrian T. <68144167+torranx@users.noreply.github.com>
Co-authored-by: MokaStitcher <54149968+MokaStitcher@users.noreply.github.com>
2024-10-03 10:34:29 -04:00
MokaStitcher
831efeb6bf
[P2] Make weather damage round down for consistency (#4559)
* fmake weather damage consistent with the rest of the game

* [test] add  some sandstorm and hail tests
2024-10-03 10:33:12 -04:00
NightKev
f634b7c044
[Misc] Disable some leftover debug code (#4546)
* Disable i18n debug in `.env` files

* Disable leftover ME debug code
2024-10-02 13:13:16 -04:00
Adrian T.
ea261a039d
[Refactor] Cleanup test boilerplate script (#4547) 2024-10-02 13:08:30 -04:00
AJ Fontaine
8a2900ad29
[Refactor] Move some relevant files, tables etc to new balance folder (#4510)
* Move biomes.ts

* Move starter costs, passives, friendship, starter-candy to starters.ts

* Change relative imports to absolute imports

* Add docstrings, passives.ts

* Constants in rates.ts for egg pity, egg tier rates, hatch waves, variant chances

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
2024-10-02 06:20:19 -07:00
innerthunder
7473c31c77
[P2] Fix Tera Shell to apply to all hits of multi-strike moves (#4541)
* Apply Tera Shell to all hits for multi-hit moves

* fix undefined property error

* ugh

* Remove obsolete bangs
2024-10-01 21:58:56 -04:00
NightKev
a6bcd6eeea
[Refactor] Remove obsolete comments in egg gacha and starter select UIs (#4542) 2024-10-01 21:58:16 -04:00
Frederico Santos
c46507d49b [Update] Update subproject commit reference in locales 2024-10-02 01:58:28 +01:00
Frederico Santos
5e151f5604
[Refactor] External locales (#4529)
* Removed local translation files

added translations submodule

[Enhancement] Add post-merge command to update submodules in lefthook configuration

[Enhancement] Add postinstall script to install lefthook after package installation

[Enhancement] Update postinstall script to run post-merge command after lefthook installation

* Add subproject commit for locales directory

* Remove translation team assignments from CODEOWNERS

* Add recursive submodule checkout to workflow files and update README for translations

* fix: run without locales present (#4539)

some code was hard-wired with  locales having to be present. This is no longer the case now

---------

Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
2024-10-01 23:41:09 +01:00
flx-sta
95386861bb
[Qol][Refactor] i18n lazy-loading (#4327)
* move: locales files to `/public` (from `/src`)

* install: i18next-http-backend module

* implement: i18next language lazy-loading

* remove: all `config.ts` files (for locales)

* disable: enConfig import in i18next.d.ts

* remove: console.log from utils.camelCaseToKebabCase()

* remove localization tests

we don't need to test if i18next is working.
This is the job of i18next itself

* mock i18next for tests

* fix: tests that have to use the i18next key now

instead of the english translation

* fix: absolute-avarice-encounter test

* fix: loading mystery-encounter translations

with lazy-load

* fix: 2 mystery encounter translation loading

* replace: i18next mocks any vi.fn() calls

* fix: new namespace usage in ME tests

now using "mysteryEncounters/..."

* fix: delibirdy encounter not being language specific

the encounter was checking if the modifier name includes `Berry` which is only true for english. Instead it has to check if the modifier is an instance of BerryModifier

* fix: the-expert-pokemon-breeder

the new i18n pattern requires a different namespacing which has been adopted

* fix: GTS encounter tests

* add: `MockText.on()`

* fix: berries abound test

* chore: apply review suggestion

from @DayKev

* update i18next.d.ts

* chore: fix i18next.d.ts

* fix: `dialogue-misc` switchup between `en` and `ja`

* move: `SpeciesFormKey` into enum

there was an issue with circular dependencies

* replace: `#app/enums/` with `#enums/` for `SpeciesFormKey` imports

* re-sync locales from `beta`

* rename: `ca_ES` -> `ca-ES`

* rename: `pt_BR` -> `pt-BR`

* rename: `zh_CN` -> `zh-CN`

* rename: `zh_TW` -> `zh-TW`

* fix loading Species-Form-Key in poemon-evo.

* update: i18next `supporterLngs` ...

and remove `nonExplicitSupportedLngs`

* fix: `${namespace}.` -> `${namespace}:`

thanks @MokaStitcher
2024-10-01 21:55:16 +01:00
pom-eranian
160b730921
[Hotfix] Revert "[Sprite] 451 - Skorupi Animation Fix " (#4535) 2024-10-01 15:24:08 -04:00
DustinLin
45f6b23309
[P2] Chilly Reception's Snow is called during Enemy AI Move Selection (#4528)
* fixing weather check in getCondition()

* adding enemy tests
2024-09-30 23:23:29 -04:00
innerthunder
145b80f491
[P2] Fix Substitute blocking field effects (#4504)
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-09-30 13:14:38 -04:00
NightKev
8a8adad7fe
[Refactor] Clean up some TODOs from the strict-null refactor (#4267) 2024-09-30 13:11:45 -04:00
NightKev
e9ee2c1179
[Refactor] Remove unused parameters in move flag functions (#4516)
Also fix tsdocs for these functions
2024-09-30 13:10:00 -04:00
NightKev
5a20416fd4
[Refactor] Remove redundant session data function in game-over-phase (#4515) 2024-09-30 13:08:16 -04:00
Blitzy
de9fdc5b9c
[Balance] Increase Minimum BST Filter for Elite 4 / Champion Teams (#4501)
* Increase Champion BST

* Slight E4 BST increase

* Update trainer-config.ts

* Move E4/Champion minimum BST values to consts

* Update tsdocs for new consts

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-09-30 13:05:02 -04:00
José Ricardo
d660c217b3
[Localization] Update pt_BR translations for menu, party, and settings (#4518) 2024-09-30 13:03:32 -04:00
Yonmaru40
814aceebc9
[Localization] Zh-cn fix 9-30 (#4517)
* Update modifier-type.json

* Update delibirdy-dialogue.json

* Update department-store-sale-dialogue.json

* Update global-trade-system-dialogue.json

* Update modifier-type.json

* Update party-ui-handler.json

* Update settings.json

* Update trash-to-treasure-dialogue.json

* Update uncommon-breed-dialogue.json

* Update training-session-dialogue.json

* Update egg.json

* Update battle.json

* Update dialogue.json
2024-09-30 13:03:13 -04:00
Lugiad
bab5b31476
[Localization] Expert Breeder ME - Egg bug in locales (#4524)
* Update the-expert-pokemon-breeder-dialogue.json

* Update the-expert-pokemon-breeder-dialogue.json

* Update the-expert-pokemon-breeder-dialogue.json

* Update the-expert-pokemon-breeder-dialogue.json

* Update the-expert-pokemon-breeder-dialogue.json
2024-09-30 13:02:37 -04:00
NightKev
7d2df53c51
Add waveTurnCount to PokemonBattleData (#4168)
Swap `FirstMoveCondition` to use the new `waveTurnCount` field
2024-09-29 23:45:44 -07:00
NightKev
3d3460888a
Add scoring for the Glaive Rush BattlerTags (#4514) 2024-09-29 23:04:32 -07:00
innerthunder
1bae87fa56
[Move] Fully Implement Plasma Fists (#4446)
* Implement Plasma Fists

* Update arena-tag.json

* Update arena-tag.json

* Update arena-tag.json

* Update arena-tag.json

* Update arena-tag.json

* Update arena-tag.json

* Update arena-tag.json

* Update arena-tag.json

* Update arena-tag.json

* Update arena-tag.json

---------

Co-authored-by: Lugiad <adrien.grivel@hotmail.fr>
2024-09-29 22:30:33 -04:00
dependabot[bot]
d8ee8ad821
Bump vite from 5.3.5 to 5.4.8 (#4413)
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 5.3.5 to 5.4.8.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v5.4.8/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v5.4.8/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-09-29 22:04:31 -04:00
dependabot[bot]
79e172176d
Bump rollup from 4.18.1 to 4.22.4 (#4439)
Bumps [rollup](https://github.com/rollup/rollup) from 4.18.1 to 4.22.4.
- [Release notes](https://github.com/rollup/rollup/releases)
- [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rollup/rollup/compare/v4.18.1...v4.22.4)

---
updated-dependencies:
- dependency-name: rollup
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-29 22:03:09 -04:00
PrabbyDD
d99dbf4955
[P2] Fix for Pokemon Forms have Access to Other Forms' TM Movepools (#4398)
* fixing form issues generating tms pokemon shouldnt have

* cleaning up some code

* fixing tests and allowing rotom unique moves to be learned as tms for that rotom form

* Update src/test/field/pokemon.test.ts

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

* making tests simpler

---------

Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
2024-09-29 22:00:29 -04:00
Adrian T.
4c327e9e63
[Ability] Refactor Gulp Missile and make it trigger when Cramorant faints (#4428)
* reimplement gulp missile

* cleanup + docs

* more cleanup

* add override

* update paths
2024-09-29 21:57:50 -04:00
AJ Fontaine
d620b5c7fa
[Refactor] Move base shiny/HA chance to constants outside functions (#4407) 2024-09-29 21:56:05 -04:00
Madmadness65
82111bc62d
[Enhancement] Gen 7+ grunts can now be in double battles (#4489) 2024-09-29 21:55:17 -04:00
innerthunder
7339facae1
[Ability] Remove (P) from Super Luck (#4498) 2024-09-29 21:54:49 -04:00
MokaStitcher
6d89ad9569
[P2] Fix duplicate mon ID / RNG not properly resetting after game over (#4505) 2024-09-29 21:52:13 -04:00
Mumble
bcec819fa9
[Move] Fully Implement Syrup Bomb (#4441)
* Syrup Bomb + Tests

* Fix typo on import

* Documentation

* Apply suggestions from code review

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

* Removed unnecessary overlap check

* Removed obsolete comment

* learned how forceHit works

* added custom lapse message

---------

Co-authored-by: frutescens <info@laptop>
Co-authored-by: Madmadness65 <59298170+Madmadness65@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-09-29 21:50:11 -04:00
innerthunder
d0600125dd
[P2] Fix Zippy Zap being boosted by Sheer Force (#4469) 2024-09-29 21:49:37 -04:00
MokaStitcher
fd67096a6a
[P3 Bug][UI] Fix egg summary not displaying 1st mon properly (#4507) 2024-09-29 21:48:29 -04:00
Chapybara-jp
2488bf805b
[Localization] [JA] Fixing typos in ability-trigger.json
* Update ability-trigger.json

* Update ability-trigger.json

---------

Co-authored-by: Lugiad <2070109+Adri1@users.noreply.github.com>
2024-09-29 21:46:54 -04:00
fransdhinta
4160aefd93
[Feature] Show app version on title screen (#4344)
* feat: show app version on title screen

* fix: adjust app version positions

* update app version text

---------

Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
2024-09-29 18:18:52 -07:00
Leo Kim
b43620b8c5
[Refactor] Optimize trick room ordering code (#4468) 2024-09-29 18:18:07 -07:00
Tempoanon
3976d115d8
Synchronize Beta with main hotfix #5
Synchronize Beta with Main
2024-09-29 17:03:52 -04:00
NightKev
6187830de7
[Hotfix] Fix crash in GTS ME: replace pokemon with tradePokemon (#4503) 2024-09-29 03:47:45 -04:00
ImperialSympathizer
3e8b3930a8
[Hotfix] Change early exit on Dark Deal species calc (#4500)
Co-authored-by: ImperialSympathizer <imperialsympathizer@gmail.com>
2024-09-28 22:59:23 -04:00
AJ Fontaine
7bb49a3199
[Hotfix] Fix Gimmighoul evolution (#4473)
* Fix Gimmighoul evolution

* Fix counter

* Stack text fix

* Fix Treasure tracker not saving

* Apply suggestions from code review

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: NightKev <34855794+DayKev@users.noreply.github.com>
2024-09-28 22:11:02 -04:00
Pancakes
000b8d9b2b
Update .env.beta 2024-09-28 17:35:13 -04:00
innerthunder
a69da4bc06
Remove potential desync from PokemonHealPhase (#4497) 2024-09-28 21:40:42 +01:00
ImperialSympathizer
771b0edcb0
[Hotfix] Fix Black Sludge disappearing on session reload (#4496)
Co-authored-by: ImperialSympathizer <imperialsympathizer@gmail.com>
2024-09-28 14:21:42 -04:00
Blitzy
357056ebeb
[Balance] Change Kyogre / Pichu eggmoves (#4491) 2024-09-28 14:18:21 -04:00
Lugiad
b1194cdfb6
Update training-session-dialogue.json (#4495) 2024-09-28 18:44:22 +01:00
Pancakes
8ce5de6d45
Update FUNDING.yml 2024-09-28 13:13:18 -04:00
ImperialSympathizer
d87234504c
prevent MEs incorrectly spawning on existing session saves (#4494)
Co-authored-by: ImperialSympathizer <imperialsympathizer@gmail.com>
2024-09-28 17:59:48 +01:00
Jannik Tappert
3a5f3c39cd
Fixing Placeholder in afterYou (#4493) 2024-09-28 16:24:03 +01:00
Lugiad
0464d8f666
Update modifier-type.json (#4492) 2024-09-28 15:24:57 +01:00
Lugiad
f460f9a0e8
[Localization] [P3 Bug] Incorrect French hotfix (#4483)
* Update uncommon-breed-dialogue.json

* Update bug-type-superfan-dialogue.json

* Update settings.json

* Update uncommon-breed-dialogue.json

* Update settings.json
2024-09-28 02:59:15 -04:00
ImperialSympathizer
5d819aacf2
sanitize all money when saving session data to server (#4485)
* sanitize all money when saving session data to server

* update money sanitization

---------

Co-authored-by: ImperialSympathizer <imperialsympathizer@gmail.com>
2024-09-28 04:48:15 +01:00
NightKev
3def9fc15d
[Hotfix] Swap force switch out check from isBoss to wave % 10 (#4484) 2024-09-27 22:51:32 -04:00
ImperialSympathizer
2b3dbcc72f
[Hotfix] Fix black sludge ME causing non-integer money (#4482)
* Fix tag lapsing on battle start in MEs with free enemy moves

* lapse endure tag as well

* fix black sludge item money calculation

* Update src/modifier/modifier.ts

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

---------

Co-authored-by: ImperialSympathizer <imperialsympathizer@gmail.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-09-27 22:34:25 -04:00
NightKev
7eb755ca9c
Prevent the last valid pokemon from being forced to switch (#4481) 2024-09-28 03:07:42 +01:00
ImperialSympathizer
1b6593d242
[Hotfix] Fix ME lapsing non flinch or endure battler tags (#4479)
* Fix tag lapsing on battle start in MEs with free enemy moves

* lapse endure tag as well

---------

Co-authored-by: ImperialSympathizer <imperialsympathizer@gmail.com>
2024-09-27 21:38:15 -04:00
NightKev
c9664b66d3
[Hotfix] Prevent bosses from being forced to flee by Dragon Tail/etc (#4478) 2024-09-27 21:26:19 -04:00
ImperialSympathizer
2e7f6a2f4f
[Hotfix] hotfix for expert breeder ME crashing if player loses with queued enemy stat changes (#4476)
Co-authored-by: ImperialSympathizer <imperialsympathizer@gmail.com>
2024-09-27 20:07:47 -04:00
Frederico Santos
e5af2dc49a
Merge pull request #4466 from pagefaultgames/beta
Release #5
2024-09-27 22:50:04 +01:00
Xavion3
4364ab36b9
Revert "[Bug] [Balance] Gimmighoul evolution adjustments/fixes (#4463)" (#4472)
This reverts commit 1a19065a45.
2024-09-27 23:35:26 +02:00
AJ Fontaine
1a19065a45
[Bug] [Balance] Gimmighoul evolution adjustments/fixes (#4463)
* Fix Gimmighoul evolution

* Fix counter

* Less janky maxStack check

---------

Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
2024-09-27 16:57:46 -04:00
Lugiad
d28c77db21
[Localization] Missing items translations (#4470)
* Update modifier-type.json

* Update modifier-type.json

* Update modifier-type.json

* Update modifier-type.json

* Update modifier-type.json

* Update modifier-type.json

* Update modifier-type.json

* Update modifier-type.json

* Update modifier-type.json

* Update modifier-type.json

* Update modifier-type.json

* Update modifier-type.json

* Update modifier-type.json

* Update modifier-type.json

* Update modifier-type.json

* Update modifier-type.json

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

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

* Update modifier-type.json

* Update src/locales/it/modifier-type.json

* Update src/locales/it/modifier-type.json

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

* Update modifier-type.json

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

* Update src/locales/ja/modifier-type.json

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

Co-authored-by: returntoice <171243264+returntoice@users.noreply.github.com>

* Update modifier-type.json

* Update modifier-type.json

* Update modifier-type.json

* Update modifier-type.json

* Update modifier-type.json

* Update modifier-type.json

* Update modifier-type.json

* Update battler-tags.json

* Update modifier-type.json

* Update battler-tags.json

* Update battler-tags.json

---------

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
Co-authored-by: returntoice <171243264+returntoice@users.noreply.github.com>
2024-09-27 16:56:40 -04:00
Xavion3
edbb09f4d6
[Beta][P2 Bug] Fix macho brace stat calculation for HP (#4467) 2024-09-27 13:11:08 -04:00
Jannik Tappert
b426340aee
[Localization][DE] Fix BattlerTags typo (#4464) 2024-09-27 11:10:16 -04:00
Yonmaru40
a99ec0c6c5
[localization] Zh_cn ME parameters hotfix (#4462)
* Update mysterious-chest-dialogue.json

* Update shady-vitamin-dealer-dialogue.json

* Update slumbering-snorlax-dialogue.json

* Update training-session-dialogue.json
2024-09-27 15:23:41 +01:00
ImperialSympathizer
b2df7d785b
fix bug-type superfan's team on waves 160+ (#4459)
Co-authored-by: ImperialSympathizer <imperialsympathizer@gmail.com>
2024-09-26 21:49:12 -07:00
NightKev
933309cd00
Fix Meloetta-related bugs in mono-type challenges (#4460)
Remove Meloetta from the `TYPE_OVERRIDES` array so wrong-form
Meloetta can't be sent into battle.
This was missed when Meloetta was changed in a previous PR

Also disallow Meloetta from being added to the party in
starter select if it's in the wrong form
for the current mono-type challenge
2024-09-26 21:48:57 -07:00
AJ Fontaine
c7f00d0a4d
Reinstate temporary evolution delay fix (#4458) 2024-09-26 19:13:15 -07:00
ImperialSympathizer
5997744aa2
[Beta][Bug] Major/minor ME bug fixes (#4451)
* major/minor ME bug fixes

* potential fix for failed save with rental pokemon

* Update src/system/game-data.ts

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

* Update src/system/game-data.ts

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

* more bug fix cleanup and PR feedback

* fix Uncommon Breed ME crash

* real fix to Fun and Games force switch issues

* add isBattleMysteryEncounter() helper function

* add isBattleMysteryEncounter() helper function

* fix unintentional replace all errors

* fix catches not updating dex

---------

Co-authored-by: ImperialSympathizer <imperialsympathizer@gmail.com>
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
2024-09-26 18:43:28 -04:00
Blitzy
6e18c76e25
[Balance] [Fix] Fix accidental Jirachi revert / Update Spritzee (#4455)
* Fix Jirachi / Change Spritzee

* Update egg-moves.ts
2024-09-26 17:35:38 -05:00
DanStevensonx
59cb6539a7
[Localization] Minor Spanish Typo Corrections (#4454)
Co-authored-by: Lugiad <adrien.grivel@hotmail.fr>
2024-09-26 15:33:39 -07:00
damocleas
69cac23421
[Balance] Various Pokemon and Move Balance Changes, labels for E-Floette and Ursaluna-BM (#4414)
* Gmax Changes for Venusaur, Blastoise, Lapras, Regenerator Mega Audino, Darkrai and Cosmog upped 6 -> 7 cost

* Changed Heal Order to 5pp to match other Recovery options

* Updated Ursaluna-BM and Eternal-Floette to Sub-Legend for easier handling, Adjust catchrates to Metagross to match Baxcalibur line, and Iron Leaves/Walking Wake catchrate to match the other paradox legends

* Actually updated catchrate for Iron Leaves and Walking Wake

* Added comments for all changes

* part 2 passive changes for the update, Pidgey, Lickitung, Stantler, Regigigas, Frillish, Litten, Chien Pao

* fix space

* Updated Meloetta Cost, Updated Krabby Passive
2024-09-26 23:07:27 +01:00
Madmadness65
2aeacc6de9
September egg move changes (#4453) 2024-09-26 17:00:25 -05:00
podar
34bf0069ca
[P1] Fixing continue menu option when game finishes (#4287)
* [Bug] Fixing continue error when game finishes

* migrate: `GameData.tryClearSession` to async/await

* install dev: msw module

* add: game-data test => tryClearSession tests

---------

Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
2024-09-26 13:55:08 -07:00
Lugiad
cb27d32fe5
[Localization] Tiny French typos (#4452)
* Update part-timer-dialogue.json

* Update an-offer-you-cant-refuse-dialogue.json
2024-09-26 15:34:06 -04:00
Jannik Tappert
9f31e36d24
[Beta][Bug] Rename files so it load the correct status file in languages with a - (#4450) 2024-09-26 12:43:12 -04:00
Lugiad
909be8ed72
[Localization] Splash texts Updates (#4424)
* Update splash-messages.json

* Update splash-messages.json

* Update splash-messages.json

* Update splash-messages.json

* Update splash-messages.json

* Update splash-messages.json

* Update splash-messages.json

* Update splash-messages.json

* Update splash-messages.json

* Update splash-messages.json

* Update splash-messages.json

* Update splash-messages.json

* Update splash-messages.json

* Update splash-messages.json

* Update splash-messages.json

* Apply suggestions from code review

* Update splash-messages.json

* Update splash-messages.json

* Update splash-messages.json

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

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

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

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

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

* Apply suggestions from code review

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

* Update splash-messages.json [localization]

italian localization

* Apply suggestions from code review

Readded count

* Apply suggestions from code review

Removed non translated text from spanish

* Removed non translated splash messages from all other languages

* I missed simplified chinese

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

* Update src/locales/ja/splash-messages.json

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

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

* Update src/locales/zh_TW/splash-messages.json

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

---------

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
Co-authored-by: José Ricardo <josefleury@discente.ufg.br>
Co-authored-by: Niccolò <123510358+NicusPulcis@users.noreply.github.com>
2024-09-26 12:34:20 -04:00
damocleas
8044c76e71
[Localization] Fix for English 'Battles Won', updated tutorial # of Pokerus mons from 3 -> 5 (#4449)
* Fixed 'count, number' on 'Battles Won' splash text

* english tutorial

* German tutorial

* Spanish tutorial

* French tutorial

* Italian Tutorial

* Japanese tutorial, needs fix

* Korean Tutorial, needs fix

* PT / Brazil Tutorial

* zh_cn tutorial, needs check

* zh_tw tutorial, needs check
2024-09-26 12:31:04 -04:00
Lugiad
eba1920ee6
[Bug] [Localization] Formes key correction (#4447)
* Update pokemon-form.json

* Update pokemon-form.json

* Update pokemon-form.json

* Update pokemon-form.json

* Update pokemon-form.json

* Update pokemon-form.json

* Update pokemon-form.json

* Update pokemon-form.json

* Update pokemon-form.json

* Update pokemon-form.json
2024-09-26 11:01:24 -04:00
Jannik Tappert
af99297e5b
[Localization][DE] Translation First Test of Pontoon PR (#4432)
* Pontoon: Update French (fr) localization of PokeRogue

Co-authored-by: Sangara <sangara.diamant@gmail.com>

* Pontoon: Update German (de) localization of PokeRogue

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

* Pontoon: Update German (de) localization of PokeRogue

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

* Pontoon: Update German (de) localization of PokeRogue

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

* Apply suggestions from code review

---------

Co-authored-by: Sangara <sangara.diamant@gmail.com>
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
Co-authored-by: Frederico Santos <frederico.f.santos@tecnico.ulisboa.pt>
Co-authored-by: Jannik <dertapp@googlemail.com>
2024-09-26 16:40:51 +02:00
MokaStitcher
a25ccbcde6
[UI] Make Egg List and Egg Summary scrollable (#4391) 2024-09-26 01:51:49 -07:00
RedstonewolfX
06331ccdf6
[Daily] Daily standardization (#3776)
* Disable Luck in Daily Runs

If the Game Mode is Daily Run, the player's Luck is set to 0, and the Luck value is hidden.

* Give free map in daily

Adds a Map to the player's pool of starting items for Daily Runs.

* Disable Eviolite in Daily Runs

Disables Eviolite spawning in Daily Run mode.

* Write shop test and add new overrides

Adds new overrides that allow you to force content to be locked or unlocked
These overrides were also added to the OverridesHelper to make them available to tests

Adds a new check function for content unlocks, which returns `true` if it is overrode to be unlocked, `false` if it is overrode to be locked, and the unlock data mapped to a Boolean otherwise

All existing checks (other than the ones that involve actually unlocking things) for unlockables have been changed to use this

Added a pair of new exporting booleans, specifically for my test, that check if Eviolite or Mini Black Hole are in the loot table

* Prevent shinies from altering runs

Places variant rolls inside of an ExecuteWithSeedOffset block, using the current floor's RNG seed as the seed and the Pokémon's ID as the offset.

---------

Co-authored-by: Leo Kim <47556641+KimJeongSun@users.noreply.github.com>
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
Co-authored-by: Amani H. <109637146+xsn34kzx@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
2024-09-26 01:39:59 -07:00
Yonmaru40
6520a74cb4
[Localization] ZH_cn fix 9-26 (#4443)
* Update absolute-avarice-dialogue.json

* Update an-offer-you-cant-refuse-dialogue.json

* Update berries-abound-dialogue.json

* Update bug-type-superfan-dialogue.json

* Update clowning-around-dialogue.json

* Update dancing-lessons-dialogue.json

* Update dark-deal-dialogue.json

* Update delibirdy-dialogue.json

* Update dark-deal-dialogue.json

* Update fiery-fallout-dialogue.json

* Update fight-or-flight-dialogue.json

* Update fun-and-games-dialogue.json

* Update global-trade-system-dialogue.json

* Update lost-at-sea-dialogue.json

* Update mysterious-challengers-dialogue.json

* Update mysterious-chest-dialogue.json

* Update part-timer-dialogue.json

* Update safari-zone-dialogue.json

* Update shady-vitamin-dealer-dialogue.json

* Update slumbering-snorlax-dialogue.json

* Update teleporting-hijinks-dialogue.json

* Update the-expert-pokemon-breeder-dialogue.json

* Update the-pokemon-salesman-dialogue.json

* Update the-strong-stuff-dialogue.json

* Update the-winstrate-challenge-dialogue.json

* Update training-session-dialogue.json

* Update trash-to-treasure-dialogue.json

* Update uncommon-breed-dialogue.json

* Update weird-dream-dialogue.json

* Update achv.json

* Update bgm-name.json

* Update challenges.json

* Update fight-ui-handler.json

* Update modifier-select-ui-handler.json

* Update party-ui-handler.json

* Update pokemon-form.json

* Update trainer-classes.json

* Update trainer-titles.json

* Update trainer-classes.json

* Update trainer-names.json

* Update dialogue.json

* Update move.json
2024-09-26 00:48:38 -04:00
chaosgrimmon
f7223103e0
[Sprite/Misc] Arceus_Fairy cleanup (#4444)
* Delete public/images/pokemon/shiny/493_fairy.png

* Delete public/images/pokemon/shiny/493_fairy.json
2024-09-26 00:48:19 -04:00
flx-sta
67d8ec1d42
[P1 Bug] Fix freeze after replacing first pokemon (#4427)
* fix: new pokemon not being hidden initially

When switching the active pokemon (slot 1) with the new one, the new ones visibility is `true` causing a crash with animation frames

* chore: fix typo

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

---------

Co-authored-by: Adrian T. <68144167+torranx@users.noreply.github.com>
2024-09-25 22:33:30 -04:00
innerthunder
029d26b4c9
[Beta][P2 Bug] Fix Sappy Seed applying its secondary effect against targets with Substitute (#4430)
* Fix Sappy Seed applying Leech Seed through Substitutes

* Add docs
2024-09-25 22:32:20 -04:00
pom-eranian
0500e34f87
[Sprite][Color][Anim] Various Pokemon Sprite Fixes (#4346)
* 451 - Skorupi [Animation Fix] - @rival_kieran

- Fixed chopped up legs in Front Base, Front Shiny, Back Base and Back Shiny.
- Fixed in all animations a single choppy/weird animation loop that cut off and gave the animation itself a weird janky feeling. Removed it entirely.
- Fixed .json files accordingly. All files should be indexed, too.

* 582 Vanillite [Position Fix] - @rival_kieran

- Moves Front Base and Front Shiny to the center of the stage via adding padding to the right side of the sprite (currently the total width is 96 pixels wide, biggest allowed) and by centering the frames.
- Both should work and Vanillite doesn't have variants yet.

* 696 697 Tyrunt Tyrantrum [Colorfixes] - @ rival_kieran

- Fixed Front Shiny exp for Tyrunt (used to have the base color in 5/6 of the frames of its exp on the tailspike, it should load properly now without flicker).
- !! IMPORTANT !! Back Shiny exp for Tyrunt is currently unused because there's a worse copy of it in the /variant/exp/back folder (and I've checked and this is the one the masterlist calls for) it'd be best to revert it as the one in /variant/exp/back has extra colors due to two weird pixels + there's no real need as Tyrunt doesn't have a Base Replace
- Epic variant has been tweaked for all sprites to un-custom the eye (as it had been edited to have a slit eye instead of the ring it should have in Tyrantrum and a slightly modified ring in Tyrunt) and slightly tweak the claws (in Tyrunt, the arm claws had an extra unneeded color as border that caused issues, in Tyrantrum they weren't split properly for a change the Epic introduced). (This affects: Static Front, Static Back, Front exp, Back exp)
- Base sprites have been edited so all variants can load from shader/.json file. .json file has been put in its respective folder and should work.
- All spritesheets should be indexed and clean.

* 774 Minior ordered palettes on static sprites

* 774 minior ordered palette on exp front

* 774 Minior ordered palette exp back

* 774 Minior ordered palettes on shiny back

* 774 Minior ordered palettes on shiny exp front & back

* 774 Minior standard json for all front & back exp

all front colors have identical json values
all back colors have identical json values

* 493 Arceus fairy

* ordered palette for default silvally

palette is identical between front, back, exp front and exp back.

* standarized palettes for all silvally base images

all palettes have the same order
al images of the same type have the exact same palette
indexed rgb files

* 773-water

matched all palettes
indexed all images

* 773-bug

matched all palettes
indexed all images

* 773-psychic

matched all palettes
indexed all images

* 773-dark

matched all palettes
indexed all images

* 773-fire

matched all palettes
indexed all images

* 773-grass

matched all palettes
indexed all images

* 773-rock

matched all palettes
indexed all images

* 773-dragon

matched all palettes
indexed all images

* 773-ghost

matched all palettes
indexed all images

* 773-ground

matched all palettes
indexed all images

* 773-electric

matched all palettes
indexed all images

* 773-fairy

matched all palettes
indexed all images

* 773-flying

matched all palettes
indexed all images

* 773-poison

matched all palettes
indexed all images

* 773-steel

matched all palettes
indexed all images

* 773-ice

matched all palettes
indexed all images

* forgot 2 flying files

* 773-fighting

matched all palettes
indexed all images

* 454 Toxicroak (Base + Shiny Fix) @ vari

Adjusted base sprites to get rid of floating mouth corner.
Sprites have been saved in indexed format.

* 453 454 Croagunk Toxicroak gender variants  @ vari

Recolored the new base sprites in the Variant colors. Affected sprites: All Toxicroak front sprites

added a gender difference - Rare male and epic female changed colors compared to the previous version. Affected sprites: Male rare sprites, female epic sprites.

* 4144 articuno galar json palettes

* 4146 galarian moltres palette json

* 4145 galarian zapdos palette json

* variant masterlist: set galar birds to use json palette

* [Sprite] 60 62 Poliwag Poliwrath - cleaned up stray pixels

* 280 281 282 Ralts Kirlia Gardevoir

fixed clipped horn on kirlia front and back
standard palettes
ignore mega gardevoir and gallade for now.

* 773 Silvally - created all variant palette files

* Removed variant image and anim json files

deleted "*_2"  & "*_3" as they are no longer needed.
added palette file for normal-type exp front
2024-09-25 22:29:34 -04:00
Mumble
8b9dc79e20
fixed torment lapse condition (#4440)
Co-authored-by: frutescens <info@laptop>
2024-09-26 10:34:16 +09:00
innerthunder
a6a61b2984
[Move] Implement Shed Tail (#4382)
* Implement Shed Tail

* Fix leftover batonPass reference in docs

* Fix ChillyReceptionAttr

* oops

* Remove unneeded default arg in ReturnPhase

* Fix imports per Kev's suggestions

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

* Docs and Shed Tail on-add message

* Remove mixin attribute

* Update battler-tags.json

* Update battler-tags.json

* Update battler-tags.json

* Update battler-tags.json

* Update battler-tags.json

* Update battler-tags.json

* Update battler-tags.json

* Update battler-tags.json

* Update battler-tags.json

* Update battler-tags.json

* Fix indents

* More nit fixes

* Make Switch[Summon]Phase params readonly

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: Lugiad <adrien.grivel@hotmail.fr>
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
2024-09-25 17:17:46 -07:00
Frederico Santos
70c6edfaed
Merge pull request #4438 from pagefaultgames/dependabot/npm_and_yarn/rollup-4.22.4
Dependabot/npm and yarn/rollup 4.22.4
2024-09-25 23:03:10 +01:00
Frederico Santos
05c84aaa8a
Revert "Bump rollup from 4.18.1 to 4.22.4 (#4429)" (#4437)
This reverts commit eab610ca22.
2024-09-25 23:02:11 +01:00
Mumble
57f39efdae
[Moves][Ability] Implement Torment / Taunt / Imprison + Aroma Veil (#4378)
* Torment

* Taunt and Imprison

* ability immunities

* Aroma Veil

* Imprison

* Test Files

* Added exceptions for Rollout and check for active ability

* adding tests so that git doesn't auto-fail

* Blah

* please

* some documentation

* Removed random newlines

* Added check for ability's presence mid battle

* Changed BattlerTagImmunityAbAttr to look at lists instead

* Work?

* Imprison and Taunt Tests

* Tests

* Final tests before documentation

* documentation blah

* Imports

* Flx Change

* flx - adding overrides

* Update src/data/arena-tag.ts

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

* flx fixes

* quick docs

* privated retrieveField

* Handling undefined

* Update src/data/arena-tag.ts

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

* forget to remove partials for heal block

* Apply suggestions from code review

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

* Marked Torment as partial

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

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

* tsdocs

* Prevents test pokemon from being immune to torment

* Update src/data/arena-tag.ts

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

* Apply suggestions from code review

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

* Torranx Fixes

* Check for this.source

* why

* lighting things with my mind on fire

* aRHGHSHDKSHD

---------

Co-authored-by: frutescens <info@laptop>
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: Adrian T. <68144167+torranx@users.noreply.github.com>
2024-09-25 14:52:48 -07:00
dependabot[bot]
eab610ca22
Bump rollup from 4.18.1 to 4.22.4 (#4429)
* Undo egg skip event

* Readded vouchers to original weights

* [Bug] Fix Dire Hit & System Data Conversion Failure (#4282)

Co-authored-by: xsn34kzx <xsn34kzx@gmail.com>

* Bump rollup from 4.18.1 to 4.22.4

Bumps [rollup](https://github.com/rollup/rollup) from 4.18.1 to 4.22.4.
- [Release notes](https://github.com/rollup/rollup/releases)
- [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rollup/rollup/compare/v4.18.1...v4.22.4)

---
updated-dependencies:
- dependency-name: rollup
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Frederico Santos <frederico.f.santos@tecnico.ulisboa.pt>
Co-authored-by: MokaStitcher <54149968+MokaStitcher@users.noreply.github.com>
Co-authored-by: xsn34kzx <xsn34kzx@gmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-09-25 22:52:31 +01:00
NightKev
b87999e261
Merge branch 'beta' into dependabot/npm_and_yarn/rollup-4.22.4 2024-09-25 14:45:42 -07:00
dependabot[bot]
320aefd1a3
Bump rollup from 4.18.1 to 4.22.4
Bumps [rollup](https://github.com/rollup/rollup) from 4.18.1 to 4.22.4.
- [Release notes](https://github.com/rollup/rollup/releases)
- [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rollup/rollup/compare/v4.18.1...v4.22.4)

---
updated-dependencies:
- dependency-name: rollup
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-25 21:33:18 +00:00
returntoice
579975dfc9
[Localization] minor ko fix (#4433)
Co-authored-by: Enoch <enoch.jwsong@gmail.com>
2024-09-25 15:59:37 -04:00
Enoch
acc1ef4add
fix Korean i18n param case (#4431) 2024-09-25 12:37:49 -07:00
Enoch
83c18af50f
[Localization] localize reward gain with hard-coded numBerries(item count) in ME. (#4379)
* localize hard-coded numBerries

* Update src/locales/zh_CN/battle.json

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

* Update src/locales/zh_TW/battle.json

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

* change 'rewardCount' to 'count' (flx's review)

* Apply suggestions from code review - count

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

* Revert "Apply suggestions from code review - count"

This reverts commit 3ce0805a5c.

* Apply suggestions from code review

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

* change count to parameter in trash-to-treasure

* change key

---------

Co-authored-by: Yonmaru40 <47717431+40chyan@users.noreply.github.com>
Co-authored-by: Lugiad <adrien.grivel@hotmail.fr>
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
Co-authored-by: ImperialSympathizer <110984302+ben-lear@users.noreply.github.com>
2024-09-25 20:02:38 +02:00
Snailman11
9a63a68d25
[P3] [Localization] Added Snow Worker Keys and Dialogue for En, Es, It, Fr, De, Ko, / Suppressed Female (#4373)
* Added Snow Worker Dialogue Keys and Dialogue

Includes en, fr, it, es, de, ko
-placeholders for ja, pt_br, zh_cn, and zh_tw

* Update dialogue.json

* Added \n$ in Spanish and German so the textboxes don't overflow

* Fixed "defeat" Formatting for Singles and Doubles English, and Doubles Korean, Italian, French, Japanese, and German

* Fixed Formatting for English Singles "defeat", and Japanese Doubles "defeat"

* Update src/locales/ko/dialogue.json

Turns the periods into ellipses for Korean Snow worker Doubles

Co-authored-by: returntoice <171243264+returntoice@users.noreply.github.com>

* Update src/locales/ko/dialogue.json

Adds a period to Korean Singles Defeat

Co-authored-by: returntoice <171243264+returntoice@users.noreply.github.com>

* Update dialogue.json

* Update src/locales/ko/dialogue.json

Adds a space on line 310

Co-authored-by: returntoice <171243264+returntoice@users.noreply.github.com>

* Update src/locales/ja/dialogue.json

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

* Update src/locales/zh_TW/dialogue.json

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

* Update src/locales/zh_CN/dialogue.json

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

* Update src/locales/pt_BR/dialogue.json

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

---------

Co-authored-by: Lugiad <adrien.grivel@hotmail.fr>
Co-authored-by: returntoice <171243264+returntoice@users.noreply.github.com>
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
2024-09-25 19:20:32 +02:00
Lugiad
906e2e3cc4
[Localization] ME translations - The sequel (#4396)
* Add files via upload

* Add files via upload

* Add files via upload

* Add files via upload

* Add files via upload

* Fixed 'pack' to 'flock'

* Apply suggestions from code review

Co-authored-by: Chapybara-jp <charlie.beer@hotmail.com>

* Update fun-and-games-dialogue.json

* Update berries-abound-dialogue.json

* Update berries-abound-dialogue.json

* Update berries-abound-dialogue.json

* Update berries-abound-dialogue.json

* Update berries-abound-dialogue.json

* Translate global-trade-system-dialogue.json

* Update global-trade-system-dialogue.json

* Update global-trade-system-dialogue.json

* Update fiery-fallout-dialogue.json

* Update lost-at-sea-dialogue.json

* Update mysterious-challengers-dialogue.json

* Update lost-at-sea-dialogue.json

* Update mysterious-chest-dialogue.json

* Update part-timer-dialogue.json

* Update safari-zone-dialogue.json

* Update safari-zone-dialogue.json

* Update shady-vitamin-dealer-dialogue.json

* Update slumbering-snorlax-dialogue.json

* Update teleporting-hijinks-dialogue.json

* Update a-trainers-test-dialogue.json

* Update clowning-around-dialogue.json

* Update global-trade-system-dialogue.json

* Update safari-zone-dialogue.json

* Update the-expert-pokemon-breeder-dialogue.json

* Update the-pokemon-salesman-dialogue.json

* Update the-strong-stuff-dialogue.json

* Update the-winstrate-challenge-dialogue.json

* Update training-session-dialogue.json

* Update trash-to-treasure-dialogue.json

* Update a-trainers-test-dialogue.json

* Update a-trainers-test-dialogue.json

* Update bug-type-superfan-dialogue.json

* Update clowning-around-dialogue.json

* Update dancing-lessons-dialogue.json

* Update delibirdy-dialogue.json

* Update global-trade-system-dialogue.json

* Update safari-zone-dialogue.json

* Update the-expert-pokemon-breeder-dialogue.json

* Update the-pokemon-salesman-dialogue.json

* Update the-strong-stuff-dialogue.json

* Update the-winstrate-challenge-dialogue.json

* Update training-session-dialogue.json

* Update trash-to-treasure-dialogue.json

* Update a-trainers-test-dialogue.json

* Add files via upload

* Add files via upload

* Add files via upload

* Update mystery-encounter-messages.json

* Update clowning-around-dialogue.json

* Update safari-zone-dialogue.json

* Update the-expert-pokemon-breeder-dialogue.json

* Update the-pokemon-salesman-dialogue.json

* Update a-trainers-test-dialogue.json

* Update bug-type-superfan-dialogue.json

* Update clowning-around-dialogue.json

* Update clowning-around-dialogue.json

* Update dancing-lessons-dialogue.json

* Update global-trade-system-dialogue.json

* Update mysterious-chest-dialogue.json

* Update safari-zone-dialogue.json

* Update teleporting-hijinks-dialogue.json

* Update the-expert-pokemon-breeder-dialogue.json

* Update the-pokemon-salesman-dialogue.json

* Update the-pokemon-salesman-dialogue.json

* Update the-expert-pokemon-breeder-dialogue.json

* Update training-session-dialogue.json

* Update trash-to-treasure-dialogue.json

* Update the-strong-stuff-dialogue.json

* Update the-winstrate-challenge-dialogue.json

* Update training-session-dialogue.json

* Apply suggestions from code review

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

* Update trash-to-treasure-dialogue.json

* Update the-winstrate-challenge-dialogue.json

* Update mysterious-chest-dialogue.json

* Term synchronization( 전투 -> 배틀 )

* added "Extremely"

* Reflected new scripts

* modified by new-script

* added "special" and "imporved"

* fix hard coded -> @[TOOLTIP_TITLE]{{{numEncounters}}

* added last brace

* added tooltip_title

* added tooltip_title

* modified by new script

* updated portuguese MEs

* modified by new script

* added tooltip, made description exactly

* modifed by new script

* fixed hardcorded {{costMultiplier}}

* Change titles like no problem

* Update a-trainers-test-dialogue.json

* Update absolute-avarice-dialogue.json

* Update a-trainers-test-dialogue.json

* Update trainer-names.json

* Update menu.json

* Update modifier-type.json

* Apply suggestions from @returntoice

thanks

Co-authored-by: returntoice <171243264+returntoice@users.noreply.github.com>

* Update clowning-around-dialogue.json

* Update a-trainers-test-dialogue.json

* Update a-trainers-test-dialogue.json

* Update absolute-avarice-dialogue.json

* Update an-offer-you-cant-refuse-dialogue.json

* Update berries-abound-dialogue.json

* Update bug-type-superfan-dialogue.json

* Update clowning-around-dialogue.json

* Update dancing-lessons-dialogue.json

* Update field-trip-dialogue.json

* Update fun-and-games-dialogue.json

* Add files via upload

* Update clowning-around-dialogue.json

---------

Co-authored-by: frutescens <info@laptop>
Co-authored-by: Chapybara-jp <charlie.beer@hotmail.com>
Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
Co-authored-by: sodamelon <sodamlee315@gmail.com>
Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>
Co-authored-by: sodam <66295123+sodaMelon@users.noreply.github.com>
Co-authored-by: returntoice <171243264+returntoice@users.noreply.github.com>
2024-09-25 12:28:58 -04:00
DanStevensonx
e20d41bcbb
[Localization] Spanish corrections (#4425)
* Update game-stats-ui-handler.json

* Update battle.json

* Update dialogue.json

* Update modifier-type.json

* Update a-trainers-test-dialogue.json

* Update absolute-avarice-dialogue.json

* Update an-offer-you-cant-refuse-dialogue.json

* Update berries-abound-dialogue.json

* Update bug-type-superfan-dialogue.json

* Update bug-type-superfan-dialogue.json

* Update clowning-around-dialogue.json

* Update dancing-lessons-dialogue.json

* Update field-trip-dialogue.json

* Update fun-and-games-dialogue.json

* Update party-ui-handler.json

* Update party-ui-handler.json

* Update trainer-classes.json

* Update trainer-names.json

* Update trainer-titles.json

* Update splash-messages.json

* Update a-trainers-test-dialogue.json

* Update bug-type-superfan-dialogue.json

* Update clowning-around-dialogue.json

* Update dancing-lessons-dialogue.json

* Update splash-messages.json

* Update clowning-around-dialogue.json
2024-09-25 12:28:41 -04:00
MokaStitcher
03bedac283
[P3 Bug] Fix form name not always showing in starter select (#4406)
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
2024-09-25 10:20:33 -04:00
NightKev
43879b4751
[Item] Eviolite no longer spawns for GMax pokemon (#4409) 2024-09-25 10:16:03 -04:00
Chapybara-jp
e53e175813
[Localisation] [JA] Minor corrections to settings, achv, tutorial; added necessary possessive particle to all trainer-classes (#4415)
* 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

* Update dialogue.json

* Update dialogue.json

* Update dialogue.json

* Update dialogue-misc.json

* Update dialogue.json

* Update dialogue-misc.json

* Update dialogue-misc.json

* Update dialogue.json

* Update dialogue.json

* Update dialogue.json

* Update dialogue.json

Archers and Arianas dialog taken from Pokemon Stadium 2, HGSS, LGP/LGE, FRLG

* Update dialogue.json

* Update dialogue.json

* Update dialogue.json

* Update menu.json

* Update dialogue.json

* dialogue.json

* Update dialogue-final-boss.json

* Update dialogue.json

* Update dialogue.json

* Update dialogue.json

* Update settings.json

* Update tutorial.json

* Update tutorial.json

* Update trainer-classes.json

* Update achv.json
2024-09-25 10:13:51 -04:00
damocleas
ed10152fb4
[Enhancement] Add New Splash Text (#4358)
* Splash Text Changes 1

* fix some commas, adjust two halloween texts

* adjustments

* Capitalization / Grammar from English

* fixes

* Update splash-messages.ts to match

---------

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
2024-09-25 16:13:22 +02:00
ImperialSympathizer
fa55ab6d26
[Beta/Bug] Fix Breeders ME Dialogue Token Issue (#4411)
* revert styled dialogue

* revert styled dialogue

* revert styled dialogue

---------

Co-authored-by: ImperialSympathizer <imperialsympathizer@gmail.com>
2024-09-25 04:08:46 -04:00
flx-sta
9af89414b9
[Refactor][Localization] Better handling for StatusEffect.NONE with i18n (#4405)
* remove: `StatusEffect.NONE` from displaying any messages

even thougn this case will never occur, by code definition it should be covered

* remove: obsolete `statusEffect:none.` translation keys

* fix: status-effect test

* chore: undo overrides commit (whops)
2024-09-24 14:15:18 -07:00
ImperialSympathizer
254ffcf6d6
Merge pull request #4374 from ben-lear/mystery-encounter-fixes
[Beta][Bug/Balance] Mystery Encounter bug fixes and small balance adjustments (part 3)
2024-09-24 15:45:27 -04:00
flx-sta
969b0ea531
Merge branch 'beta' into mystery-encounter-fixes 2024-09-24 11:14:00 -07:00
ImperialSympathizer
d52f691d43 account for undefined egg moves 2024-09-24 14:06:59 -04:00
ImperialSympathizer
219215f54c fix getEggMoves() helper function 2024-09-24 13:51:02 -04:00
ImperialSympathizer
a1d1de2c0d more ME dialogue cleanup 2024-09-24 13:41:00 -04:00
ImperialSympathizer
24bbb0931c change return type of isNullOrUndefined 2024-09-24 13:15:18 -04:00
Tempoanon
baa806ec63
[Beta][P3 Bug] Fix typo in autotomize add message (#4404)
`pokemonNameWIthAffix` -> `pokemonNameWithAffix`
2024-09-24 11:45:29 -04:00
ImperialSympathizer
6dc1aedb8e more ME balance changes and bug fixes 2024-09-24 11:34:42 -04:00
ImperialSympathizer
0262635abb Merge branch 'beta' of https://github.com/ben-lear/pokerogue into mystery-encounter-fixes 2024-09-24 11:33:05 -04:00
ImperialSympathizer
c172fe1838 Merge branch 'mystery-encounter-fixes' of https://github.com/ben-lear/pokerogue into mystery-encounter-fixes 2024-09-24 11:32:49 -04:00
ImperialSympathizer
1513f2a57d more ME balance changes and bug fixes 2024-09-24 11:32:22 -04:00
Lugiad
22117115c8
[Localization] ME French Typos (#4399)
* Update a-trainers-test-dialogue.json

* Update absolute-avarice-dialogue.json

* Update an-offer-you-cant-refuse-dialogue.json

* Update bug-type-superfan-dialogue.json

* Update clowning-around-dialogue.json

* Update dark-deal-dialogue.json

* Update field-trip-dialogue.json

* Update fiery-fallout-dialogue.json

* Update fun-and-games-dialogue.json

* Update lost-at-sea-dialogue.json

* Update mysterious-challengers-dialogue.json

* Update mysterious-chest-dialogue.json

* Update part-timer-dialogue.json

* Update slumbering-snorlax-dialogue.json

* Update the-expert-pokemon-breeder-dialogue.json

* Update the-strong-stuff-dialogue.json

* Update the-winstrate-challenge-dialogue.json

* Update training-session-dialogue.json

* Update uncommon-breed-dialogue.json

* Update weird-dream-dialogue.json

* Update berries-abound-dialogue.json
2024-09-24 10:03:11 -04:00
ImperialSympathizer
e77595ebb8
Update src/data/mystery-encounters/encounters/global-trade-system-encounter.ts
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-09-24 09:29:40 -04:00
ImperialSympathizer
b2b88c37cf fix Absolute Avarice test 2024-09-23 19:36:09 -04:00
ImperialSympathizer
ff256f78dd can no longer go above max rev seed stacks 2024-09-23 19:29:32 -04:00
ImperialSympathizer
4d8d605c02 merge from beta 2024-09-23 19:25:13 -04:00
ImperialSympathizer
05b9e74729 balance adjustments to certain ME battles 2024-09-23 19:23:46 -04:00
flx-sta
b2b314cd68
[Refactor][Tests] Remove manual test timeouts (#4385)
* remove: manual timeout setting

some more sneaked in after changing the default-timeout to 20s. Possibly older PRs.

* remove: manual test timeouts from chilly reception tests
2024-09-23 17:35:53 -04:00
ImperialSympathizer
23f006bc43
[Enhancement] Remove unnecessary loading of trainer sprites in loading scene (#4397)
* Remove unnecessary loading of trainer sprites in loading scene

* load trainer assets on demand for run history UI

---------

Co-authored-by: ImperialSympathizer <imperialsympathizer@gmail.com>
2024-09-23 17:34:47 -04:00
Tempoanon
eb264cffee
[Beta] Revert "[Enhancement] Set Appropriate Evil Team on Monogen Challenges (#4355)" (#4395)
This reverts commit 35cd615363.
2024-09-23 17:34:06 -04:00
Lugiad
f32e10d549
[Localization] ME translations (#4183)
* Update src/locales/es/mystery-encounters/department-store-sale-dialogue.json

Co-authored-by: DanStevensonx <114961842+DanStevensonx@users.noreply.github.com>

* Update src/locales/es/mystery-encounters/fight-or-flight-dialogue.json

Co-authored-by: DanStevensonx <114961842+DanStevensonx@users.noreply.github.com>

* Update src/locales/es/mystery-encounters/fiery-fallout-dialogue.json

Co-authored-by: DanStevensonx <114961842+DanStevensonx@users.noreply.github.com>

* Update src/locales/es/modifier-select-ui-handler.json

Co-authored-by: DanStevensonx <114961842+DanStevensonx@users.noreply.github.com>

* Update src/locales/es/mystery-encounters/field-trip-dialogue.json

Co-authored-by: DanStevensonx <114961842+DanStevensonx@users.noreply.github.com>

* Update bug-type-superfan-dialogue.json

* Update bug-type-superfan-dialogue.json

* Update bug-type-superfan-dialogue.json

* Update bug-type-superfan-dialogue.json

* Update bug-type-superfan-dialogue.json

* Update bug-type-superfan-dialogue.json

* Update bug-type-superfan-dialogue.json

* Update bug-type-superfan-dialogue.json

* Update bug-type-superfan-dialogue.json

* Update bug-type-superfan-dialogue.json

* Update a-trainers-test-dialogue.json

* Update bug-type-superfan-dialogue.json

* Update bgm-name.json

* Added Korean missingthings at bug-type-superfan-dialogue.json

* Update bug-type-superfan-dialogue.json

* Update shady-vitamin-dealer-dialogue.json

* Update slumbering-snorlax-dialogue.json

* Update teleporting-hijinks-dialogue.json

* Update the-pokemon-salesman-dialogue.json

* Update the-strong-stuff-dialogue.json

* Update the-winstrate-challenge-dialogue.json

* Update training-session-dialogue.json

* Update trash-to-treasure-dialogue.json

* Update trash-to-treasure-dialogue.json

* Update uncommon-breed-dialogue.json

* Update weird-dream-dialogue.json

* Update bgm-name.json

* Update src/locales/ko/mystery-encounters/bug-type-superfan-dialogue.json

Co-authored-by: Leo Kim <47556641+KimJeongSun@users.noreply.github.com>

* Update src/locales/ko/mystery-encounters/bug-type-superfan-dialogue.json

Co-authored-by: Leo Kim <47556641+KimJeongSun@users.noreply.github.com>

* Update src/locales/zh_CN/mystery-encounters/mysterious-chest-dialogue.json

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

* Update src/locales/zh_CN/mystery-encounters/fight-or-flight-dialogue.json

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

* one more typo fix

* Update slumbering-snorlax-dialogue.json

* Update absolute-avarice-dialogue.json

* Update an-offer-you-cant-refuse-dialogue.json

* Update berries-abound-dialogue.json

* Update the-pokemon-salesman-dialogue.json

* Update trash-to-treasure-dialogue.json

* Update uncommon-breed-dialogue.json

* Update weird-dream-dialogue.json

* Update weird-dream-dialogue.json

* Update slumbering-snorlax-dialogue.json

* translated a-trainers-test-dialogue.json

* Update src/locales/ja/modifier-select-ui-handler.json

Co-authored-by: Chapybara-jp <charlie.beer@hotmail.com>

* Update src/locales/ja/mystery-encounter-messages.json

Co-authored-by: Chapybara-jp <charlie.beer@hotmail.com>

* Add files via upload

* Update the-expert-breeder-dialogue.json

* Update config.ts

* Update config.ts

* Update config.ts

* Update config.ts

* Update config.ts

* Update config.ts

* Update config.ts

* Update config.ts

* Update config.ts

* Update config.ts

* Update config.ts

* Update config.ts

* Update src/locales/pt_BR/trainer-names.json

* Update src/locales/pt_BR/trainer-titles.json

* Update config.ts

* Update config.ts

* Update config.ts

* Delete src/locales/en/the-expert-breeder-dialogue.json

* Delete src/locales/ca_ES/the-expert-breeder-dialogue.json

* Delete src/locales/de/the-expert-breeder-dialogue.json

* Delete src/locales/es/the-expert-breeder-dialogue.json

* Delete src/locales/fr/the-expert-breeder-dialogue.json

* Delete src/locales/it/the-expert-breeder-dialogue.json

* Delete src/locales/ja/the-expert-breeder-dialogue.json

* Delete src/locales/ko/the-expert-breeder-dialogue.json

* Delete src/locales/pt_BR/the-expert-breeder-dialogue.json

* Delete src/locales/zh_CN/the-expert-breeder-dialogue.json

* Delete src/locales/zh_TW/the-expert-breeder-dialogue.json

* Add files via upload

* Update the-expert-breeder-dialogue.json

* Rename the-expert-breeder-dialogue.json to the-expert-pokemon-breeder-dialogue.json

* Update and rename the-expert-breeder-dialogue.json to the-expert-pokemon-breeder-dialogue.json

* updated name and conifg

* Update and rename the-expert-breeder-dialogue.json to the-expert-pokemon-breeder-dialogue.json

* Update and rename the-expert-breeder-dialogue.json to the-expert-pokemon-breeder-dialogue.json

* Update and rename the-expert-breeder-dialogue.json to the-expert-pokemon-breeder-dialogue.json

* Update and rename the-expert-breeder-dialogue.json to the-expert-pokemon-breeder-dialogue.json

* Update and rename the-expert-breeder-dialogue.json to the-expert-pokemon-breeder-dialogue.json

* Update and rename the-expert-breeder-dialogue.json to the-expert-pokemon-breeder-dialogue.json

* Update and rename the-expert-breeder-dialogue.json to the-expert-pokemon-breeder-dialogue.json

* Update and rename the-expert-breeder-dialogue.json to the-expert-pokemon-breeder-dialogue.json

* Start of dialogue

* Update config.ts

* Update config.ts

* Update config.ts

* Update config.ts

* Update config.ts

* Update config.ts

* Update config.ts

* Update config.ts

* Update config.ts

* Update config.ts

* Update absolute-avarice-dialogue.json

* Update absolute-avarice-dialogue.json

* Added the option to have the species name for all 3, made the name of the breeder localizable

* Revert changes that are in another pr

* She is apparently female so needs changes

* Update an-offer-you-cant-refuse-dialogue.json

* Update the-expert-pokemon-breeder-dialogue.json

* Update trainer-names.json

* Update trainer-names.json

* Update trainer-names.json

* Update trainer-names.json

* Update trainer-names.json

* Update trainer-names.json

* Update trainer-names.json

* Update trainer-names.json

* Update trainer-names.json

* add translation for expert breeder

* Update src/locales/ja/mystery-encounter-messages.json

Co-authored-by: Chapybara-jp <charlie.beer@hotmail.com>

* Update src/locales/ja/dialogue.json

Co-authored-by: Chapybara-jp <charlie.beer@hotmail.com>

* Update src/locales/ko/mystery-encounters/the-expert-pokemon-breeder-dialogue.json

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

* Update src/locales/ko/trainer-names.json

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

* Update src/locales/ko/mystery-encounters/the-expert-pokemon-breeder-dialogue.json

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

* Update src/locales/ko/mystery-encounters/the-expert-pokemon-breeder-dialogue.json

* Update dialogue.json

* translated all MEs

* Update src/locales/zh_CN/mystery-encounters/the-expert-pokemon-breeder-dialogue.json

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

* Update src/locales/zh_CN/trainer-names.json

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

* Update achv.json

* Update achv.json

* Update achv.json

* Update achv.json

* Update achv.json

* Update achv.json

* Update achv.json

* Update achv.json

* Update achv.json

* Update achv.json

* Update achv.json

* Update achv.json

* Update src/locales/ja/trainer-names.json

Co-authored-by: Chapybara-jp <charlie.beer@hotmail.com>

* Update src/locales/de/achv.json

* Update src/locales/de/achv.json

* Update an-offer-you-cant-refuse-dialogue.json

* Update berries-abound-dialogue.json

* Update bug-type-superfan-dialogue.json

* Update src/locales/pt_BR/achv.json

* Update translation for "breedersInSpace" in pt_BR splash-messages.json

* Update bug-type-superfan-dialogue.json

* Update src/locales/ko/achv.json

Co-authored-by: Leo Kim <47556641+KimJeongSun@users.noreply.github.com>

* Update src/locales/es/mystery-encounters/fun-and-games-dialogue.json

Co-authored-by: DanStevensonx <114961842+DanStevensonx@users.noreply.github.com>

* Update src/locales/ja/achv.json

Co-authored-by: protimita <protimitajp@gmail.com>

* Update src/locales/ko/mystery-encounter-messages.json

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

* Update src/locales/ko/mystery-encounters/delibirdy-dialogue.json

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

* Update src/locales/ko/mystery-encounters/delibirdy-dialogue.json

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

* Update src/locales/ko/mystery-encounters/part-timer-dialogue.json

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

* Update src/locales/ko/trainer-names.json

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

* Update clowning-around-dialogue.json

* Update clowning-around-dialogue.json

* Update src/locales/es/mystery-encounters/global-trade-system-dialogue.json

Co-authored-by: DanStevensonx <114961842+DanStevensonx@users.noreply.github.com>

* Update src/locales/ja/mystery-encounters/bug-type-superfan-dialogue.json

Co-authored-by: Chapybara-jp <charlie.beer@hotmail.com>

* Update global-trade-system-dialogue.json

* Update clowning-around-dialogue.json

* Update dancing-lessons-dialogue.json

* Update the-expert-pokemon-breeder-dialogue.json

* Update the-expert-pokemon-breeder-dialogue.json

* Update the-expert-pokemon-breeder-dialogue.json

* Update the-expert-pokemon-breeder-dialogue.json

* Update the-expert-pokemon-breeder-dialogue.json

* Update the-expert-pokemon-breeder-dialogue.json

* Update the-expert-pokemon-breeder-dialogue.json

* Update the-expert-pokemon-breeder-dialogue.json

* Update src/locales/de/mystery-encounters/the-expert-pokemon-breeder-dialogue.json

* Update the-expert-pokemon-breeder-dialogue.json

* Update the-expert-pokemon-breeder-dialogue.json

* Update src/locales/ko/mystery-encounters/the-expert-pokemon-breeder-dialogue.json

* Update src/locales/zh_CN/mystery-encounters/the-expert-pokemon-breeder-dialogue.json

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

* Update bgm-name.json

* Update battle.json

* Update an-offer-you-cant-refuse-dialogue.json

* Update berries-abound-dialogue.json

* Update the-expert-pokemon-breeder-dialogue.json in pt_BR locale

* Update bug-type-superfan-dialogue.json

* Update src/locales/es/achv.json

Co-authored-by: DanStevensonx <114961842+DanStevensonx@users.noreply.github.com>

* Update bug-type-superfan-dialogue.json

* Update clowning-around-dialogue.json

* Update dancing-lessons-dialogue.json

* Update config.ts

* Update delibirdy-dialogue.json

* Update department-store-sale-dialogue.json

* Update weird-dream-dialogue.json

* Update battler-tags.json

* Update mysterious-chest-dialogue.json

* Update mysterious-chest-dialogue.json

* Update mysterious-chest-dialogue.json

* Update mysterious-chest-dialogue.json

* Update mysterious-chest-dialogue.json

* Update mysterious-chest-dialogue.json

* Update mysterious-chest-dialogue.json

* Update mysterious-chest-dialogue.json

* Update mysterious-chest-dialogue.json

* Update weird-dream-dialogue.json

* Update uncommon-breed-dialogue.json

* Update field-trip-dialogue.json

* Update src/locales/ja/mystery-encounters/dark-deal-dialogue.json

Co-authored-by: Chapybara-jp <charlie.beer@hotmail.com>

* Update src/locales/ko/mystery-encounters/berries-abound-dialogue.json

Co-authored-by: returntoice <171243264+returntoice@users.noreply.github.com>

* Update src/locales/ja/mystery-encounters/berries-abound-dialogue.json

Co-authored-by: returntoice <171243264+returntoice@users.noreply.github.com>

* Add files via upload

* Add files via upload

* Add files via upload

* Add files via upload

* Update mystery-encounter-messages.json

---------

Co-authored-by: DanStevensonx <114961842+DanStevensonx@users.noreply.github.com>
Co-authored-by: sodam <66295123+sodaMelon@users.noreply.github.com>
Co-authored-by: Yonmaru40 <47717431+40chyan@users.noreply.github.com>
Co-authored-by: Leo Kim <47556641+KimJeongSun@users.noreply.github.com>
Co-authored-by: returntoice <dieandbecome@gmail.com>
Co-authored-by: Chapybara-jp <charlie.beer@hotmail.com>
Co-authored-by: José Ricardo <josefleury@discente.ufg.br>
Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
Co-authored-by: KimJeongSun <leo@atlaslabs.ai>
Co-authored-by: protimita <protimitajp@gmail.com>
Co-authored-by: returntoice <171243264+returntoice@users.noreply.github.com>
2024-09-23 21:37:59 +02:00
PrabbyDD
3d4eadbc3e
[Bug] Flash Fire/etc now trigger even if the attack would miss (#4337)
* adding immunity check

* making tests

* modifying and adding tests

* making tests more rigorous

* changing hitcheck return to be what it was originally, no significant effect

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-09-23 15:37:21 -04:00
chaosgrimmon
4557a73ecc
[Sprite] Standardise Sirfetch'd animation (#4393)
* [Sprite] Match Sirfetch'd animation

Taken from shiny counterpart

* [Sprite] Standardise Sirfetch'd animation

Colours taken from static sprite.
Spritesheet animation taken from shiny counterpart.

* [Sprite] Standardise Sirfetch'd animation

Colours taken from static sprite.
Spritesheet animation taken from shiny counterpart.
2024-09-23 15:36:17 -04:00
flx-sta
c4f81c55b0
[Tests][Mystery-Encounter] Fix The Strong Stuff flakyness (#4394)
* extend: log in encounter phase for better debugging

* fix: `the storng stuff` test flakiness

The enemy pokemon could get contrary or other abilities that cause the expected values to be ... not as expected

* remove accidental it.each

tests were being executed 30-100 times. This is a debugging tool but was never supposed to make it to merge.
2024-09-23 15:32:07 -04:00
Lugiad
3ef692227d
[Localization] Spanish Gitlocalize leftovers (#4390)
* Update battle.json

* Update move-trigger.json

* Update trainer-classes.json

* Update trainer-titles.json

* Update battle-info.json

* Update battle.json

* Update challenges.json

* Update common.json

* Update game-stats-ui-handler.json

* Update menu-ui-handler.json

* Update pokemon-info-container.json

* Update starter-select-ui-handler.json

* Update tutorial.json

* Update move.json

* Update battle.json
2024-09-23 13:10:02 -04:00
Tempoanon
342bd5c726
[Beta][Bug] Fix out of bounds Genesect form in Ghetsis_2 causing crash (#4389) 2024-09-23 12:05:49 -04:00
NightKev
554d4f0a95
[P2 Bug] Dragon Tail now properly respects abilities like Suction Cups (#4252)
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
2024-09-23 11:50:42 -04:00
Tempoanon
b9b69ad834
[Move] Implement autotomization weight effects (#4228)
* Implement Autotomize

* Another linting

* Fix unit tests

* Add nonnull after checking for null

* Update autotomize test

---------

Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
2024-09-23 11:42:17 -04:00
DanStevensonx
d2ba9751b5
[Localization] Fix Spanish Zippy Zap description (#4387)
* Update move.json

Translated the zippy move since it got lost in the gitlocalize disaster.

* Update move.json

---------

Co-authored-by: Lugiad <adrien.grivel@hotmail.fr>
2024-09-23 10:56:32 -04:00
NightKev
1d559f2194
[Test] Fix flaky Shell Side Arm test (#4383)
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
2024-09-23 10:55:47 -04:00
flx-sta
8b6e55d5e9
[Test] flakyness in teleporting hijinks encounter test (#4386) 2024-09-23 10:55:01 -04:00
Opaque02
6626df27ba
[QoL] Adding challenge arrows (#4048)
Arrows allow for dynamic placement based on language

---------

Co-authored-by: MokaStitcher <54149968+MokaStitcher@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>
2024-09-22 23:34:41 -07:00
DustinLin
c387f498c8
[Bug] Fix move Chilly Reception (#3198)
Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>
Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>
Co-authored-by: mercurius-00 <80205689+mercurius-00@users.noreply.github.com>
Co-authored-by: returntoice <dieandbecome@gmail.com>
Co-authored-by: Niccolò <123510358+NicusPulcis@users.noreply.github.com>
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
Co-authored-by: protimita <protimitajp@gmail.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: Chapybara-jp <charlie.beer@hotmail.com>
2024-09-22 20:09:51 -07:00
innerthunder
f2fe430f8a
[Balance] Ability-ignoring effects no longer ignore the source's own Abilities (#3556)
* Ability-ignoring effects no longer ignore the source's Abilities

* Update src/field/arena.ts

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

* RIP `phases.ts`

* `ignoreAbilitySource` --> `ignoringEffectSource`

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
2024-09-22 19:54:19 -07:00
Yiling Kang
b9b2491f95
[Ability] (Partially) Implement synchronize ability with old psycho shift interaction (#2746)
* Initial changes for Synchronize ability

* Fix psycho shift interaction causing buggy behaviour

* Update to show ability even if opponent pokemon does not get statused

* Fix some spacing

* Update tests

* Formatting change

* Remove impossible `if` statement

* Add `simulated` support

* Apply suggestions from code review

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

* Don't need those comments

---------

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: innerthunder <168692175+innerthunder@users.noreply.github.com>
2024-09-22 19:38:09 -07:00
Blitzy
107a7497a9
[Balance] Further Minor Adjustments to Evil Teams (#4376)
* Update trainer-config.ts

* Update Abilities on certain Mons

* Update trainer-config.ts
2024-09-22 21:34:27 -04:00
NightKev
59f28efa1d
Fix crash when using enemy move override (#4352)
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
2024-09-22 18:06:53 -07:00
ImperialSympathizer
cf80abe33f small locales fixes 2024-09-22 19:04:56 -04:00
ImperialSympathizer
eb0e8ccca7 possible Pokemon Salesman shiny fix 2024-09-22 14:19:47 -04:00
AJ Fontaine
23b64b94b5
Function to adjust lure weights (#4354) 2024-09-22 20:07:45 +02:00
innerthunder
3ef02c9bbd
[Balance] Remove Species Locks from Aura Wheel and Poison Puppeteer (#4330)
* Remove non-form-change species locks

* Fix typo in localization

* Mark descriptions that need changes

* Update ability.json

* Update move.json

* Update ability.json

* Update src/locales/pt_BR/ability.json

* Update src/locales/pt_BR/move.json

* KO translations

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

* Update src/locales/de/ability.json

* Update src/locales/de/move.json

* Update src/locales/de/move.json

* Update ability.json

* Update move.json

* Update src/locales/it/move.json

* Update src/locales/it/ability.json

* Update src/locales/ja/move.json

Co-authored-by: Chapybara-jp <charlie.beer@hotmail.com>

* Update src/locales/ja/ability.json

Co-authored-by: Chapybara-jp <charlie.beer@hotmail.com>

* Update src/locales/es/ability.json

Co-authored-by: DanStevensonx <114961842+DanStevensonx@users.noreply.github.com>

* Update move.json

* Update src/locales/zh_CN/ability.json

Co-authored-by: btsrkex <34084904+btsrkex@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: btsrkex <34084904+btsrkex@users.noreply.github.com>

---------

Co-authored-by: Lugiad <adrien.grivel@hotmail.fr>
Co-authored-by: José Ricardo <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: Niccolò <123510358+NicusPulcis@users.noreply.github.com>
Co-authored-by: Chapybara-jp <charlie.beer@hotmail.com>
Co-authored-by: DanStevensonx <114961842+DanStevensonx@users.noreply.github.com>
Co-authored-by: btsrkex <34084904+btsrkex@users.noreply.github.com>
2024-09-22 20:07:35 +02:00
ImperialSympathizer
32741835fd more Mystery Encounter bug fixes 2024-09-22 13:53:18 -04:00
Lugiad
2028848845
[Localization] BGM Changes in locales (+slight Spanish and French corrections) (#4302)
* Update bgm-name.json

* Update bgm-name.json

* Update bgm-name.json

* Update bgm-name.json

* Update bgm-name.json

* Update bgm-name.json

* Update bgm-name.json

* Update bgm-name.json

* Update bgm-name.json

* Update bgm-name.json

* Update bgm-name.json

* Update bgm-name.json

* Update bgm-name.json

* Update bgm-name.json

* Update bgm-name.json

* Update bgm-name.json

* Update bgm-name.json

* Update src/locales/ja/bgm-name.json

Co-authored-by: Chapybara-jp <charlie.beer@hotmail.com>

* Update src/locales/ja/bgm-name.json

Co-authored-by: Chapybara-jp <charlie.beer@hotmail.com>

* Update src/locales/ja/bgm-name.json

Co-authored-by: Chapybara-jp <charlie.beer@hotmail.com>

* Update bgm-name.json

* Update bgm-name.json

* Update bgm-name.json

* Update bgm-name.json

* Update bgm-name.json

* Update bgm-name.json

* Update bgm-name.json

* Update bgm-name.json

* Update src/locales/ko/bgm-name.json

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

* Update src/locales/ko/bgm-name.json

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

* Update src/locales/ko/bgm-name.json

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

* Update ability-trigger.json

* Update battle.json

* Update ability.json

---------

Co-authored-by: Chapybara-jp <charlie.beer@hotmail.com>
Co-authored-by: Enoch <enoch.jwsong@gmail.com>
2024-09-22 19:25:19 +02:00
Jannik Tappert
7046f854c1
[Feature] The Form Names in the Catching Summary are now localized (#3628)
* Form names are now localized when catching a pokemon (and probably hatching a egg since its the same dialogue)

* Update src/ui/pokemon-info-container.ts

* Update src/ui/pokemon-info-container.ts

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

* Update src/ui/pokemon-info-container.ts

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

* Update pokemon-info-container.ts

* Update pokemon-info-container.ts

* Update pokemon-form.json

* Update pokemon-form.json

* Update pokemon-form.json

* Update pokemon-form.json

* Update pokemon-form.json

* Update pokemon-form.json

* Update pokemon-form.json

* Update pokemon-form.json

* Update pokemon-form.json

* Update pokemon-form.json

* Update src/locales/de/pokemon-form.json

* Update src/locales/de/pokemon-form.json

* Update src/locales/de/pokemon-form.json

* Update src/locales/de/pokemon-form.json

* Update src/locales/de/pokemon-form.json

* Update src/locales/de/pokemon-form.json

* Update src/locales/de/pokemon-form.json

* Update src/locales/de/pokemon-form.json

* Update src/locales/de/pokemon-form.json

* Update src/locales/de/pokemon-form.json

* Update src/locales/de/pokemon-form.json

* Update src/locales/de/pokemon-form.json

* Update src/locales/de/pokemon-form.json

* Update src/locales/de/pokemon-form.json

* Update src/locales/de/pokemon-form.json

* Update src/locales/de/pokemon-form.json

* Update src/locales/de/pokemon-form.json

* Update src/locales/de/pokemon-form.json

* Update src/locales/de/pokemon-form.json

* Update src/locales/de/pokemon-form.json

* Update pokemon-form.json

* Update pokemon-form.json

* Update pokemon-form.json

* Update pokemon-form.json

* Update pokemon-form.json

* Update pokemon-form.json

* Update pokemon-form.json

* Update pokemon-form.json

* Update pokemon-form.json

* Update pokemon-form.json

* Update src/locales/pt_BR/pokemon-form.json

* Update src/locales/pt_BR/pokemon-form.json

* Update src/locales/pt_BR/pokemon-form.json

* Update src/locales/pt_BR/pokemon-form.json

* Update src/locales/pt_BR/pokemon-form.json

* Update src/locales/pt_BR/pokemon-form.json

* Update pokemon-form.json

* Update pokemon-form.json

* Update src/locales/it/pokemon-form.json

* Update src/locales/it/pokemon-form.json

* Update src/locales/it/pokemon-form.json

* Update src/locales/it/pokemon-form.json

* Update src/locales/it/pokemon-form.json

* Update src/locales/it/pokemon-form.json

* Update src/locales/it/pokemon-form.json

* Update src/locales/it/pokemon-form.json

* Update src/locales/it/pokemon-form.json

* Update src/locales/it/pokemon-form.json

* Update src/locales/it/pokemon-form.json

* Update src/locales/it/pokemon-form.json

* Update src/locales/it/pokemon-form.json

* Update src/locales/it/pokemon-form.json

* Update src/locales/it/pokemon-form.json

* Update src/locales/ko/pokemon-form.json

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

* Add missed keys, make empty-key displayed, change EN to original formName

* add missed key, add korean translation (partial)

* Korean translation, refactor code

* Update src/locales/de/pokemon-form.json

* Update src/locales/de/pokemon-form.json

* Update src/locales/de/pokemon-form.json

* Update src/locales/de/pokemon-form.json

* Update src/locales/de/pokemon-form.json

* Update src/locales/de/pokemon-form.json

* Update src/locales/de/pokemon-form.json

* Update src/locales/de/pokemon-form.json

* Apply suggestions from code review

* Update src/locales/de/pokemon-form.json

* Apply suggestions from code review

* Update pokemon-form.json

* Update src/locales/pt_BR/pokemon-form.json

* Update src/locales/pt_BR/pokemon-form.json

* Update src/locales/pt_BR/pokemon-form.json

* Update src/locales/pt_BR/pokemon-form.json

* Update src/locales/pt_BR/pokemon-form.json

* Update src/locales/pt_BR/pokemon-form.json

* Update src/locales/pt_BR/pokemon-form.json

* Update src/locales/pt_BR/pokemon-form.json

* Update src/locales/pt_BR/pokemon-form.json

* Update pokemon-form.json

* Update src/locales/ja/pokemon-form.json

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

* Update src/locales/ja/pokemon-form.json

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

* Update src/locales/ja/pokemon-form.json

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

* Update src/locales/ja/pokemon-form.json

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

* Update src/locales/ja/pokemon-form.json

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

* Update src/locales/ja/pokemon-form.json

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

* Update src/locales/ja/pokemon-form.json

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

* Update src/locales/it/pokemon-form.json

* Update src/locales/it/pokemon-form.json

* Update src/locales/it/pokemon-form.json

* Update src/locales/it/pokemon-form.json

* Update src/locales/it/pokemon-form.json

* Update src/locales/it/pokemon-form.json

* Update src/locales/it/pokemon-form.json

* Update src/locales/it/pokemon-form.json

* Update src/locales/it/pokemon-form.json

* Update src/locales/it/pokemon-form.json

* Update src/locales/it/pokemon-form.json

* Update src/locales/it/pokemon-form.json

* Update src/locales/it/pokemon-form.json

* Update src/locales/it/pokemon-form.json

* Update src/locales/it/pokemon-form.json

* Update src/locales/it/pokemon-form.json

* Update src/locales/it/pokemon-form.json

* Update src/locales/it/pokemon-form.json

* Update pokemon-form.json

deleted all of the remaining "form" snippets since it'll be shown as "Form: form name" so the form snippet was useless

* Apply suggestions from code review

Co-authored-by: Chapybara-jp <charlie.beer@hotmail.com>

---------

Co-authored-by: Lugiad <adrien.grivel@hotmail.fr>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: José Ricardo <josefleury@discente.ufg.br>
Co-authored-by: Niccolò <123510358+NicusPulcis@users.noreply.github.com>
Co-authored-by: sodam <66295123+sodaMelon@users.noreply.github.com>
Co-authored-by: Enoch <enoch.jwsong@gmail.com>
Co-authored-by: Chapybara-jp <charlie.beer@hotmail.com>
2024-09-22 17:41:38 +02:00
gruxor
590758f616
[QoL] Show move description via info button (#4165)
* Show move desc via info button

* Update src/ui/move-info-overlay.ts

Co-authored-by: NightKev <34855794+DayKev@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>
2024-09-22 17:31:53 +02:00
Lugiad
4475eec607
[Localization] Team Star Translations (#4356)
* Update bgm-name.json

* Update bgm-name.json

* Update bgm-name.json

* Update bgm-name.json

* Update bgm-name.json

* Update bgm-name.json

* Update bgm-name.json

* Update dialogue.json

* Update trainer-classes.json

* Update trainer-classes.json

* Update trainer-classes.json

* Update trainer-classes.json

* Update trainer-classes.json

* Update trainer-classes.json

* Update trainer-classes.json

* Update trainer-classes.json

* Update trainer-classes.json

* Update trainer-names.json

* Update trainer-names.json

* Update trainer-names.json

* Update trainer-names.json

* Update trainer-names.json

* Update trainer-names.json

* Update trainer-names.json

* Update trainer-names.json

* Update trainer-names.json

* Update trainer-names.json

* Update trainer-titles.json

* Update trainer-titles.json

* Update trainer-titles.json

* Update trainer-titles.json

* Update trainer-titles.json

* Update trainer-titles.json

* Update trainer-titles.json

* Update trainer-titles.json

* Update trainer-titles.json

* Update trainer-titles.json

* Update trainer-titles.json

* Update trainer-titles.json

* Update dialogue.json

* Update dialogue.json

* Update dialogue.json

* Update dialogue.json

* Update dialogue.json

* Update dialogue.json

* Update src/locales/de/bgm-name.json

* Update src/locales/de/bgm-name.json

* Update src/locales/de/bgm-name.json

* Update src/locales/de/dialogue.json

* Update src/locales/de/bgm-name.json

* Update src/locales/ko/bgm-name.json

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

* Update src/locales/ko/trainer-classes.json

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

* Update src/locales/de/dialogue.json

* Apply suggestions from code review

Co-authored-by: Chapybara-jp <charlie.beer@hotmail.com>
Co-authored-by: returntoice <dieandbecome@gmail.com>
Co-authored-by: Enoch <enoch.jwsong@gmail.com>
Co-authored-by: José Ricardo <josefleury@discente.ufg.br>

* Update src/locales/ko/bgm-name.json

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

* Update trainer-titles.json

* Update src/locales/de/dialogue.json

* Update src/locales/de/dialogue.json

* Update src/locales/de/dialogue.json

* Update src/locales/de/dialogue.json

* Update src/locales/de/dialogue.json

* Update src/locales/de/dialogue.json

* Update src/locales/de/bgm-name.json

* Update src/locales/de/trainer-classes.json

* Update src/locales/de/trainer-classes.json

* Update src/locales/de/trainer-titles.json

* Update src/locales/de/trainer-titles.json

* Update src/locales/de/trainer-names.json

* Update src/locales/de/trainer-names.json

* Update trainer-names.json

* Update trainer-names.json

* Update trainer-names.json

* Update trainer-names.json

* Update trainer-names.json

* Update trainer-names.json

* Update trainer-names.json

* Update trainer-names.json

* Update trainer-names.json

* Update trainer-names.json

* Update dialogue.json

* Update dialogue.json

* Update dialogue.json

* Update src/locales/fr/dialogue.json

* Update src/locales/fr/dialogue.json

* Update trainer-classes.json

* Update bgm-name.json

* Update src/locales/de/dialogue.json

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

* Apply suggestions from code review

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

* Update trainer-titles.json

---------

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
Co-authored-by: Enoch <enoch.jwsong@gmail.com>
Co-authored-by: Chapybara-jp <charlie.beer@hotmail.com>
Co-authored-by: returntoice <dieandbecome@gmail.com>
Co-authored-by: José Ricardo <josefleury@discente.ufg.br>
2024-09-22 17:31:33 +02:00
ImperialSympathizer
1c87532e64
[Bugs/Balance] Fix various ME bugs and small balance adjustments (#4369)
* various bug fixes for MEs

* various bug fixes for MEs

* fix final isTransferable rename that was missed

* change Trainer's test vouchers for second option

* change unit test skips

* cut down excess ME track length and loop properly

* ME bug fix cleanup

* updating AI for Slumbering Snorlax ME, and small ME balance changes

* fix ts error

* fix bug type superfan dialogue discrepancy

* ME bug fixes PR feedback

* ME PR nits and fixes

* update naming convention of sprites

* ME balance changes and bug fixes

* fix tests

* fix An Offer You Can't Refuse ME requirements

* clean up post-battle logic for Breeder ME

* party size requirement cleanup

* clean up challenge requirements for disabling certain MEs

---------

Co-authored-by: ImperialSympathizer <imperialsympathizer@gmail.com>
2024-09-22 05:47:32 +02:00
Amani H.
612dcc5f27
[Balance] Adjust Relevant Abilities to Match Lures (#4231)
* [Balance] Adjust Relevant Abilities to Match Lures

* Add Relevant Unit Tests
2024-09-21 21:40:47 -04:00
ImperialSympathizer
0518cfd9d6
Merge pull request #4363 from PigeonBar/gts-infinite-loop
[Bug] [Beta] Fix game freeze from GTS infinite loop
2024-09-21 17:24:20 -04:00
Mumble
50dc438930
[Bug] Preventing Duplicate Species in Trainer Battles (#4368)
* no trainer repeats

* Update src/field/trainer.ts

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

---------

Co-authored-by: frutescens <info@laptop>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-09-21 22:27:19 +02:00
Mumble
4fb76fd117
[Move] Implement Heal Block (#4120)
* Heal Block on new branch

* Add/update code from previous PR

* Re-add i18n from previous PR

Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>
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: Asdar <asdargmng@gmail.com>

* Disabling Moves

* Still need to update tests and write docs

* removing partial tags from abilities to feel better

* Pollen Puff works now

* Implemented Psychic Noise

* typedocs

* Documentation

* Update src/data/battler-tags.ts

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

* Update src/data/battler-tags.ts

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

* Update src/data/battler-tags.ts

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

* Turns out the old condition wasn't buggy. Probably mixed up another change I made.

* changed array clear

---------

Co-authored-by: frutescens <info@laptop>
Co-authored-by: NightKev <34855794+DayKev@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: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
Co-authored-by: Asdar <asdargmng@gmail.com>
2024-09-21 13:15:32 -07:00
Jannik Tappert
1e70cb92d1
[BUG] Add enough keys in dialogue.ts for team star (#4362) 2024-09-21 12:39:44 -07:00
Blitzy
ba5e89cf61
Swap Order in Trainer Config (#4367) 2024-09-21 14:15:02 -05:00
Michael Li
7190277f79 PR Feedback 2024-09-21 14:36:02 -04:00
Michael Li
5a24435047 [Bug] Fix game freeze from GTS infinite loop 2024-09-21 11:52:54 -04:00
Madmadness65
35cd615363
[Enhancement] Set Appropriate Evil Team on Monogen Challenges (#4355) 2024-09-20 22:49:16 -04:00
Blitzy
1a600d18c6
[Balance] Partial Passives + Egg Move Changes (#4357)
* Update Passives

* Zebra my Beloved
2024-09-20 19:47:14 -07:00
Madmadness65
f2a042c3f0
[Enhancement] Add Team Star as potential evil team (#4019)
* Add Team Star (WIP)

Still missing dialogue for all new trainer types, team compositions will need refining, and Starmobile graphics still do not exist yet.

* Add dialogue for all Team Star trainers

Dialogue put together courtesy of @Blitz425

* Add additional Macro Grunt dialogue lines

As suggested to be included by @Blitz425

* Add dialogue entries in dialogue.ts

Forgot them with my last commit, whoops

* Add back Team Star trainer types

Latest merge of beta into this PR deleted them for some reason

* Update Team Star boss team compositions

Bunch up Eeveelutions more in first fight, move random Rotom form to first fight. Remove Espeon, Umbreon, and Rotom from second fight, add legendary beasts and paradox beasts in their place, remove Zacian chance from second fight.

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

* fix missing semicolon

* Guarantee Sylveon is always Terastallized

* Guarantee Starmobiles on admin's teams

Also resizing the Starmobiles by 1.5 like Gigantamax Pokémon (it is still just regular Revavroom visually for now).

* Adjust trainer pools for Grunts and Admins

* Add new custom sprites for Starmobiles

This adds front and shiny front sprites made by Kieran. Party icons and back sprites are still placeholders for now.

* Minor pool adjustments

Eevee moved to Uncommon on grunts, Varoom replaced with Hisui Qwilfish for Atticus, and Heracross replaced with Pawmi for Eri.

* Remove Leon's Zamazenta, rename Team Star Boss

As to not have overlap between the champion and Star boss teams.
Also doubled the weights of the Starmobile forms.

* Force movesets for Starmobiles

Also fix accidentally giving Mela a Venusaur instead of a Revavroom. (it was just a testing thing, I swear)

* Correct movesets

Didn't realize copied movesets were desired, ech

---------

Co-authored-by: Tempoanon <163687446+Tempo-anon@users.noreply.github.com>
2024-09-20 18:17:44 -07:00
flx-sta
0aac6c6647
[Dev][Test] Add "Mystery Encounter" type for create-test script + minor timeout fixes (#4350)
* add: mystery encounter to create-test

* remove: leftover `TIMEOUT`

in boss-pokemon.test

* add regex to replace ` ` with `_`

This was never done before. for any

* remove: manual test timeout overwrites
2024-09-20 17:54:37 -04:00
MokaStitcher
5f5b439e42
[P2 Bug] Fix sturdy and endure causing an extra stat boost to boss Pokemon (#4347)
* [bug] fix sturdy and endure causing an extra stat boost to boss Pokemon

* [doc] add doc for handleBossSegmentCleared
2024-09-20 17:19:33 -04:00
flx-sta
4cc3b0daae
[Test] Make berries abound test more robust (#4339)
* make `berries-abound` test more robust

the "should reward the player with X berries based on wave" test was failing due to berry max stacks and the party only having 1 pokemone.
Increased it to 3 to reduce that probability

* berries abound test: change `defaultParty`

increase size of default-party to 3

* add: some missing types in berries-abound encounter

for ease of reading

* fix: berries abound tests

the "Should skip battle when fastest pokemon is faster than boss" test was failing due to the party being more than 1 pokemon.
2024-09-20 17:18:48 -04:00
flx-sta
4c9c66f898
[Test] Fix Teleporting Hijinks tests (#4349)
set enemy passive ability by default to `Ball Fetch` to prevent random passive abilities that raise stats too
2024-09-20 17:18:18 -04:00
flx-sta
0a5e9ff9e6
[Test] Fix The Pokemon Salesman tests (#4345)
The expects didn't account for the possible shiny, which appends a `_shiny` to some dialogue tokens.
I've added regexes to account for that possibility
2024-09-20 17:14:55 -04:00
Jannik Tappert
20ab2b9272
Localizable Trainer Name + Cleffa Species name can be used in all 3 pokemon names (#4331) 2024-09-20 14:12:35 -07:00
flx-sta
1a5cbf8ecb
[Refactor][Tests] Set default test timeout to 20s (#4338)
* set default test timeout to 20s

* remove "TIMEOUT" reference from create-test-boilerplate

* remove TIMEOUT from tests

* test: remove leftover `20 sec timeout` references

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

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-09-20 23:05:45 +02:00
flx-sta
facdf3cdb9
[Qol][Misc] Make create-test script interactive (#4303)
* add: inquirer module

* make create-test interactive

To be more intuitive

* restructure create-test-boilerplate.js code

* move: test type choices into function

* fix: type choices only contain types

the "exit" option is added separately

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

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-09-20 08:24:08 -07:00
DustinLin
0eea2031fb
[Bug] Fixing seed sower uturn switchout bug for trainer battles (#4113)
* refactor wildFlee for seed sower animation bug

* better naming functions

* review suggestions

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-09-20 10:27:43 -04:00
MokaStitcher
4feb45f532
[P3Bug][UI] Fix run history scrolling and other small bugs (#4326) 2024-09-20 10:19:45 -04:00
MokaStitcher
2610a64980
[Bug] Fix candy count when not skipping to summary (#4342) 2024-09-20 10:16:07 -04:00
Tempoanon
63fba0dcae
[P3 Bug] Update pokemon-info-container ability highlighting to match tinted ball ability check (#4307)
* Update pokemon-info-container ability highlighting to match tinted ball ability check

* Fix typo

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

---------

Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
Co-authored-by: MokaStitcher <54149968+MokaStitcher@users.noreply.github.com>
2024-09-19 23:30:21 -04:00
flx-sta
baf686f621
[Beta][P3 Bug] fix: reading stats.battleCount (#4335)
instead of stats.battlesWon
2024-09-19 23:23:36 -04:00
Chapybara-jp
4bdaf93c72
[Localisation] [JA] Translated various dialogue files (#4336)
* 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

* Update dialogue.json

* Update dialogue.json

* Update dialogue.json

* Update dialogue-misc.json

* Update dialogue.json

* Update dialogue-misc.json

* Update dialogue-misc.json

* Update dialogue.json

* Update dialogue.json

* Update dialogue.json

* Update dialogue.json

Archers and Arianas dialog taken from Pokemon Stadium 2, HGSS, LGP/LGE, FRLG

* Update dialogue.json

* Update dialogue.json

* Update dialogue.json

* Update menu.json

* Update dialogue.json

* dialogue.json

* Update dialogue-final-boss.json

* Update dialogue.json

* Update dialogue.json

* Update dialogue.json
2024-09-19 23:22:58 -04:00
ImperialSympathizer
a98ec39d00
[Feature] Adds special item rewards to fixed classic/challenge battles (#4332)
* Adds special item rewards to fixed classic/challenge battles

* remove unintentional overrides changes

* remove redundant variable

* remove Lock Capsule from Classic item pool

* swapped Lock Capsule and Super EXP Charm mistake

* address nits and small enhancement to eliminate magic numbers

---------

Co-authored-by: ImperialSympathizer <imperialsympathizer@gmail.com>
Co-authored-by: damocleas <damocleas25@gmail.com>
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
2024-09-19 18:26:24 -07:00
flx-sta
48430c8feb
[Feature] Seasonal splash messages logic + scaffolding (#4318)
* add: seasonsl splash messages logic + scaffolding

* refactor: settin up and displaying splash messages.

They are now stored with their i18next keys and only get translated as soon as they are displayed. This also allows for better display of the `battlesWon` parameter which now supports better number formatting and the count is an interpolation

* fix: updateTitleStats not checking the namespace of battlesWon

* add tests for splash_messages

* test: always use UTC time

* fix: time-pattern to MM-DD

* fix splash_messages test

* add: const to control usage of seasonal splash messages

* fix tests (splashj)

* Update src/locales/ja/splash-messages.json

Co-authored-by: Chapybara-jp <charlie.beer@hotmail.com>

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

Add missing `number` format for battlesWon message

---------

Co-authored-by: Chapybara-jp <charlie.beer@hotmail.com>
2024-09-19 15:59:37 -07:00
ImperialSympathizer
7490699bef
[Feature] Adds Expert Pokemon Breeder Mystery Encounter to the game (#4328)
* Adds Expert Breeder Mystery Encounter to the game

* add achievement for Breeders in Space and remove redundant tests

* rename to Expert Pokemon Breeder

* remove unintentional test code

* remove unintentional test code

* test fix with breeder rename

---------

Co-authored-by: ImperialSympathizer <imperialsympathizer@gmail.com>
Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
2024-09-19 22:46:27 +02:00
Lugiad
528e231794
[Localization] Update pkmnems font (#4329) 2024-09-19 15:13:37 -04:00
Mumble
c4d5c923fc
[Bug] Run History Not Saving Correctly (#4248)
* Fix - need to test though

* New Line for Personal Best

* Run History basic Interpretation

* Stray console log

* Added personal best message fix

* argh

* removed a stray log

---------

Co-authored-by: frutescens <info@laptop>
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
2024-09-19 10:42:29 -04:00
Tempoanon
714630c9de
[Refactor] Renamed the HitsTagAttr back to how it was (#4324) 2024-09-19 10:25:00 -04:00
Lugiad
ce189c01da
[Localization] French adjustments (+German) (#4323)
* Update settings.json

* Update move.json

* Update move.json

* Update starter-select-ui-handler.ts

* Update party-ui-handler.json

* Update move.json
2024-09-19 10:21:21 -04:00
ImperialSympathizer
5888a7758c
Mystery Encounter bug fixes and minor adjustments (#4299)
* various bug fixes for MEs

* various bug fixes for MEs

* fix final isTransferable rename that was missed

* change Trainer's test vouchers for second option

* change unit test skips

* cut down excess ME track length and loop properly

* ME bug fix cleanup

* updating AI for Slumbering Snorlax ME, and small ME balance changes

* fix ts error

* fix bug type superfan dialogue discrepancy

* ME bug fixes PR feedback

* ME PR nits and fixes

---------

Co-authored-by: ImperialSympathizer <imperialsympathizer@gmail.com>
2024-09-19 14:44:10 +01:00
MokaStitcher
51bb80cb66
[Bug][UI] Fix scrolling UIs not resetting properly and add Scrollbars (#4312)
* [bug] fix scrollable elements not resetting properly

* [ui] add wrap around and scrolling bar to the achievements menu

* [ui] add scrollbar to the settings
2024-09-18 19:53:30 -04:00
innerthunder
605ae9e1c3
[Move] Improved damage forecasting for Shell Side Arm (#4310) 2024-09-18 19:03:01 -04:00
Madmadness65
81ea1296b3
[Miscellaneous] Add new Lake and RUins biome BGM by Lmz (#4319)
* Add new biome BGM by Firel

* Add new biome BGM by Lmz

* Update bgm-name.json
2024-09-18 19:00:06 -04:00
peng06
0567d4b5e2
[Dev] Remove variant-tiers.ts Enum (#3746)
* remove varianttiers

* Thanks GitHub

* Update import in `overrides.ts`

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: Mumble <171087428+frutescens@users.noreply.github.com>
2024-09-18 15:20:33 -04:00
flx-sta
6030b780f2
[Move][Mirror] Update HitTagAttr attributes v2 (#4297)
* [Move] Updated HitAttr tags

Affects Whirlwind/Fly, Steamroller/Minimize, and Malicious Moonsault/Minimize

* [Move] Update for MinimizeAccuracyAttr

Affects Steamroller and Malicious Moonsault

* add: whirlwind test

* add: steamroller test

* rename: `AlwaysHitMinimizeAttr` (from `MinimizeAccuracyAttr`)

* rename: `DealsDoubleDamageToTagAttr` (from `HitsTagAttr`)

---------

Co-authored-by: chaosgrimmon <31082757+chaosgrimmon@users.noreply.github.com>
2024-09-17 22:41:46 -04:00
Jannik Tappert
e386504977
[BUG][Beta] Fix English Status Symbols (#4293)
* Have English Status Symbols show up again :)

* It now uses the function instead

---------

Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
2024-09-17 22:26:47 -04:00
podar
106ed6b27b
[Bug] Using default animation for errors that occur. (#4266)
* Using default animation for errors that occur.

* Renaming function to make it clear that logging happens

* Updating logging for missing animations

* Missed committing linter changes

* Update src/data/battle-anims.ts

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

* Update src/data/battle-anims.ts

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

* Update src/data/battle-anims.ts

Co-authored-by: NightKev <34855794+DayKev@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>
2024-09-17 22:15:47 -04:00
flx-sta
4389bff5d0
[Bug] Fix stat-protection-attribute not taking inverts (e.g. Contrary) into account (#4031)
* add generic types to`Pokemon.getAbilityAttrs()`

* add invert check to `ProtectStatAbAttr.apply...`

This makes sure that a stat is only protected if no other ability inverts the change. E.g. `Contrary` inverts any decrease to an increase

* migrate contrary.test.ts to game.classicMode

* move `StatStageChangeMultiplierAbAttr` resolve above `ProtectStatAbAttr`

The effect of StatStageChangeMultiplierAbAttr is now applied before resolving any ProtectStatAbAttr. Thus the stage (level) of the BattleStat change was properly altered at the time of resolving the protection

* revert ability.ts changes

* add automated tests for `Clear Body` + `Contrary`

* StateStageChangePhase replace ~~`IntegerHolder`~~ with `NumberHolder`

Update Utils import and replace all occurcences of `Utils.`

* contrary.test.ts: remove `js` import
2024-09-17 19:14:41 -07:00
Madmadness65
00ba2eebc8
Add new biome BGM by Firel (#4301) 2024-09-17 21:57:34 +01:00
Leo Kim
fe69bd2b55
add missing translation for korean (#4295) 2024-09-17 10:50:51 -07:00
Dakurei
1fb5389765
Auto center the window vertically (#2686)
+ When the game is played in landscape format
    or in portrait format when it's not a touchscreen
2024-09-17 17:55:50 +01:00
cam
18dc9d216c
[Bug][Move] Clanging Scales animation on incorrect sprite (#4290)
Set focus to 1 on move's target sprite for every frame.
2024-09-17 15:58:49 +01:00
AJ Fontaine
3ed2c74f38
[Enhancement] Add Met Wave to Pokemon Data (#4271)
Co-authored-by: Lugiad <adrien.grivel@hotmail.fr>
Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
Co-authored-by: Chapybara-jp <charlie.beer@hotmail.com>
2024-09-16 15:44:03 -07:00
PigeonBar
009fd3fc5c
[Bug] Fix reloads erasing weather on first wave of biome (#4078)
* [Bug] Fix reloads erasing weather on first wave of biome

* Minor revisions

* Minor revisions 2

* Update test

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-09-16 15:30:42 -04:00
MokaStitcher
128df1b6d2
[QoL] [ui] Make tutorials darken background (#4283)
* [ui] add prompt icon to the message boxes that don't have it

* [ui] add background overlay during tutorials

* add missing doc

* Improve documentation based on suggestions

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: NightKev <34855794+DayKev@users.noreply.github.com>
2024-09-16 15:19:34 -04:00
Jannik Tappert
4605ed4c4f
[Localization] Localized status condition icon (#4286)
* Status Condition Icons now can be localized. Already added german

* More
2024-09-16 15:18:57 -04:00
podar
0dabf87815
Being explicit in vite configuration for relative paths (#4264) 2024-09-16 21:08:50 +02:00
Blitzy
d5cce666d3
Remove Dragon Ascent Requirement (#4284) 2024-09-16 20:03:13 +01:00
Tomás Marques
2221afca81
[QoL] Slight Resize and Reallocate to IV graph in new game screen (#1928)
* Resize and Reallocate to IV graph in new game

* decrease moveset container size

* fix to font shadow

* fix to shadows

* Remove unused variable

* Revert IV text back to original size

* fix eslint error check post merge

* Update src/ui/stats-container.ts

Reformat statLabel line.

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

---------

Co-authored-by: tomasrggm <tomasrggm@gmail.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-16 11:44:11 -07:00
Tempoanon
72439ffff7
[Move][Beta] Add back grounded condition to ground shaky moves and grassy terrain (#4276) 2024-09-16 10:58:28 -04:00
MokaStitcher
7ea608fb8a
[Bug] Fix Dire Hit & System Data Conversion Failure (#4282)
Co-authored-by: xsn34kzx <xsn34kzx@gmail.com>
2024-09-16 10:56:55 +01:00
Lugiad
6c2880dc30
[Localization] Missing French entries (#4270)
* Update battle.json

* Update move-trigger.json

* Update party-ui-handler.json

* Update tutorial.json

* Update tutorial.json

* Update trainer-names.json

* Update menu.json
2024-09-15 22:01:44 -04:00
sodam
6c43e97001
[Bug] fixed ME event ``trash to treasure`` wrong descriptions of the choices (#4273)
* modified script  (by ImperialSympathizer)

* removed wrong word(healing)

* removed wrong word
2024-09-15 22:01:07 -04:00
chaosgrimmon
880a46b659
[Sprite] Fix Lycanroc Midday (#4274)
* [Sprite] Midday Lycanroc back

* [Sprite] Midday Lycanroc shiny front

* [Sprite] Midday Lycanroc shiny back
2024-09-15 22:00:47 -04:00
Tempoanon
8046b99b75
[Refactor] Refactor code for Grassy Terrain halving the power of Earthquake, Magnitude, and Bulldoze (#4263)
* EQ, magnitude, and bulldoze do half damage in grassy terrain

* Fix more styling issues in grassy glide

* lol unit tests

* Add test :pikastare:

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-09-15 13:06:22 -04:00
damocleas
ddf97fd8f6
[Balance] Pokerus Starter Count 3 -> 5, made pokerus count a constant as to only require one line change (#4268)
* Update pokemon-species.ts Pokerus starters 3 -> 5

* Update starter-select-ui-handler.ts

* Updated pokemon-species.ts, changes from frutescens to make Pokerus # a constant that imports into starter select ui

* Update starter-select-ui-handler.ts to continue the other changes

* Update src/data/pokemon-species.ts

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-09-15 09:55:17 +02:00
Madmadness65
e32d1612d9 Resize Sun & Moon Flute item sprites
They will no longer appear weirdly offset on the reward selection screen.
2024-09-14 21:09:19 -05:00
Madmadness65
cc5b46d5c1 Compile item atlas
Adds the new item sprites from #2732
2024-09-14 20:46:20 -05:00
AJ Fontaine
540a1c3e21
[Balance] Rework some evolutions (#2732)
* Changes some evolutions

* more work

* Give Onix Iron Defense at 30

* Sirfetch'd and Gholdengo, pause any evolutions

* Fix pause evolution text

* adjust wild evolution delay

* Add localization keys, clean up evo pausing

* Clean up evo delays

* Adjust friendship evos, Leader's Crest sprite by chaosgrimmon

* Fix Nugget crash

* Fixed Gimmighoul fr

* Move Charcadet armors to common

* Locale migration, Lilligant shiny stone

* Cleanup

* Fix language migration error

* Change Cosmog line evo method

* Undo Ursaluna being night only

* Evo items roll during evo pause on Eevee

* Make all time based evos use dusk and dawn times

* Fix paused and unpaused evolution texts being reversed

* Fixed evolution delays

* Moved up Mimic in Mime Jr's moveset

* Remove Cosmoem time conditions, add Gimmighoul tracker

* Remove tracker after Gimmighoul evo

* Change Scyther Steel Wing back to 30, mark custom
2024-09-15 02:32:43 +01:00
PrabbyDD
3a683c0663
[Bug] Fix for "Moves Can Miss Against Protect, Baneful Bunker, King's Shield" (#4262)
* added various tests for protect based moves, reset protect test file bc no easy way to test specifically with protect, and changes in move-effect to fix the issue

* adding another non contact move test for baneful bunker

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

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

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

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

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

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

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

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

* better descriptions for baneful bunker test

---------

Co-authored-by: innerthunder <168692175+innerthunder@users.noreply.github.com>
2024-09-14 20:11:54 -04:00
innerthunder
79fa80cfd8
[Bug][Beta] Fix error in message sequencing on critical hits (#4259) 2024-09-14 19:14:37 -04:00
innerthunder
d8dbc471af
[Bug][Beta] Fix Pokemon info flyout being offset on switchout after double battle (#4260) 2024-09-14 19:13:32 -04:00
Jannik Tappert
aecdcd34f5
[BUG] Fix a couple of bugs regarding MEs and their localization (#4261)
* Fixed SURF and FLY not beeing localized in "lost at sea"
Fixed Mysterious Challenger Title not beeing correct
Fixed Winstrate Names not beeing localized

* Revert the winstrate fix. It breaks other trainer battles for some reason...

* A new way of giving the winstrates localized names (and for the future all named trainers that dont use a "initFor" method)

* Updated test (with ok from ImperialSympathizer)

* Made the expected value simpler

* FLY and SURF can be localized much simpler
2024-09-14 19:12:55 -04:00
DanStevensonx
9f8e9de967
Update menu.json (#4258)
Added a line-break to the server connection error in Spanish
2024-09-14 19:12:05 -04:00
flx-sta
763c1922fb
[Bug] Fix exp gains speed not applying properly (#4243)
* update battle-info.ts

* add: ExpGainsSpeed enum

* address PR comments

* add test coverage (exp gains speed)

---------

Co-authored-by: Mr.WaterT <water.t.works@gmail.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-09-14 12:35:46 -04:00
innerthunder
bdc7c95c1c
[Misc][AI] Fix KO filter not accounting for move conditions (#4245)
* Only filter KO moves that won't fail

* Add Last Resort enemy command test
2024-09-14 12:35:36 -04:00
Lugiad
39a1963941
[Localization] French Translations tiny settings batch (#4250)
* Update settings.json

* Update move.json
2024-09-14 12:33:41 -04:00
innerthunder
a7b3344c6d
Fix missing key in "No Effect" message (#4244) 2024-09-14 05:21:31 -07:00
Opaque02
783b9d85ee
[Bug] Golden punch bug fix (#4246)
* Fixes damage within pokemon.ts for golden punch, since it has changed from a IntegerHolder (main) to a number (beta). This updates it to pass through the damage as an integer holder instead of a number

* Updated integer holder to number holder as per PR comment
2024-09-14 10:56:28 +02:00
innerthunder
77f0fe6e4b
[Enhancement][EnemyAI] Add support for simulated damage calculations and "Search for KO" move filtering (#3975)
* Create getAttackDamage function

* Add ignoreAbility params to getBattleStat

* Rewrite Pokemon.apply

* renamed damage variables

* Add `ignoreSourceAbility` arg to `getAttackDamage`

* Enemy AI now searches for KO moves

* Add probabilistic test for KO search

* Add tests to `damage_calculation`

* "killMoves" --> "koMoves"

* Clean up `randomMultiplier`

* Clean up damage calculation test

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

* Fix stabMultiplier using base type for Tera bonus

* Restore simulation capabilities for Unaware

* move sourceTeraType closer to where it's used

* Add base damage test

* Exclude counter moves from KO search

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-09-13 22:54:22 -07:00
damocleas
9d3681cf31
[Balance] Gigantamax Form Adjustments (Charizard, Eevee, Duraludon) and 999.9 Weight for all, + undo Voucher Event on beta (#4241)
* Undo egg skip event

* Readded vouchers to original weights

* Gmax Adjustments - Charizard Berserk, Stats for Eevee and Duraludon

* Set weight of 999.9kg for all Gigantamax forms

---------

Co-authored-by: Frederico Santos <frederico.f.santos@tecnico.ulisboa.pt>
2024-09-13 20:52:12 -07:00
innerthunder
8164ec596e
[Balance] Remove isMax conditions from move and ability effects (#4200)
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: Amani H. <109637146+xsn34kzx@users.noreply.github.com>
2024-09-13 20:48:57 -07:00
NightKev
e6cffc6a93
Disable broken tests for now (#4242) 2024-09-13 20:48:25 -07:00
innerthunder
eea12a62f6
[Bug][Beta] Fix bugs from Substitute implementation (#4226)
* Fix animation issues with Substitute

* Fix Spirit Shackle, etc. incorrectly being removed by Substitute

* Fix sub tag unit tests
2024-09-13 22:15:12 -04:00
PrabbyDD
63feb88eea
[Test] Update roost tests, related to #4164 (#4230)
* updating roost tests to be more consistent

* updating roost tests to be more consistent

* updating roost tests to be more consistent
2024-09-13 22:14:10 -04:00
Mumble
c76827156c
[P3 Bug] Run Result 'Victory!' Text not displaying correctly in Legacy UI Mode (#4223)
* idk what happened to legacy-summary:x

* Let's change it up.

---------

Co-authored-by: frutescens <info@laptop>
2024-09-13 22:13:47 -04:00
ImperialSympathizer
acb2b66be4
[Feature] Add Mystery Encounters to the game (#3938)
* add .github/workflows/mystery-event.yml

* update mystery-event.yml

* mystery encounters: resolve review comments:

Lost at Sea:
-fix typo in handlePokemonGuidingYouPhase function

Mysterious Chest:
- remove obsolete commented code

mystery-encounter.ts
- remove unused `onDone` field from MysteryEncounterBuilder

* fix typo in CanLearnMoveRequirementOptions

* remove redundance from Pokemon.isAllowedInBattle()

* chore: jsdoc formatting

* fix lost-at-sea tests

* add fallback for biomeMysteryEncounters if empty

* lost-at-sea-encounter: fix and extend tests

* move "battle:fainted" into `koPlayerPokemon`

* add retries to quick-draw tests

* fix lost-at-sea-encounter tests

* clean up battle animation logic

* Update and rename mystery-event.yml to mystery-events.yml

* Update mystery-events.yml

* Fix typo

* Update mystery-events.yml

Fix debug runs

* clean up unit tests and utils

* attach github issues to all encounter jsdocs

* start dialogue refactor

* update sleeping snorlax encounter

* migrate encounters dialogue to new format

* cleanup and add jsdocs

* finish fiery fallout encounter

* fix unit test breaks

* add skeleton tests to fiery fallout

* commit latest test changes

* finish unit tests for fiery fallout

* bug fix for empty modifier shop

* stash working changes

* stash changes

* Update src/data/mystery-encounters/encounters/fiery-fallout-encounter.ts

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

* Update src/test/utils/overridesHelper.ts

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

* Update src/test/utils/overridesHelper.ts

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

* Update src/test/utils/overridesHelper.ts

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

* Update src/test/utils/overridesHelper.ts

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

* Update src/data/mystery-encounters/encounters/fiery-fallout-encounter.ts

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

* Update src/data/battle-anims.ts

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

* nit updates and cleanup

* Update src/data/mystery-encounters/encounters/fiery-fallout-encounter.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>

* add jsdocs and more cleanup

* add more jsdoc

* add the strong stuff encounter

* add the strong stuff encounter and more unit tests

* cleanup container length checks in ME ui

* add retries to tests

* add retries to tests

* fix trainer wave disable override

* add shuckle juice modifier

* add dialogue bug fixes

* add dialogue bug fixes

* add pokemon salesman encounter and affects pokedex UI display

* add unit tests for pokemon salesman

* temp stash

* add offer you can't refuse

* add unit tests for offer you can't refuse encounter

* remove unnecessary prompt handlers

* add tests for disabled encounter options

* add delibird-y encounter

* add delibird-y encounter

* add absolute avarice encounter

* finish absolute avarice encounter

* add unit tests and enhancements for item overrides in tests

* fix unit test

* cleanup absolute avarice PR

* small bug fixes with latest sync from main

* update visuals loading for safari and stat trainer visuals

* update visuals loading for safari and stat trainer visuals

* update a trainer's test encounter and add unit tests

* add Trash to Treasure encounter

* clean up trash to treasure encounter

* clean up trash to treasure encounter

* add berries abound encounter

* start clowning around encounter

* first implementation pass at clowning around

* add unit tests for clowning around

* add unit tests for clowning around

* clean up ME unit tests

* clean up unit tests

* update unit tests

* add part timer and dancing lessons encounters

* add unit tests for Dancing Lessons and Part-Timer

* reordered biome list and adjusted redirection for project and labels

* Add Weird Dream encounter and slight reworks to Berries Abound/Fight or Flight

* adjusting yml to match new labels

* fix yml whoopsie

* Expanded 'Weird Dream' banlist and fixed a bug with the BST bump range

* adds Winstrate Challenge mystery encounter

* small cleanup for winstrates

* add unit tests for Winstrate Challenge

* fix pokemon not returning after winstrate battle

* commit latest beta merge updates

* fix ME null checks and unit tests with beta update

* fix ME null checks and unit tests with beta update

* MEs to pokerogue beta branch

* test dialogue changes

* test patch fix

* test patch fix

* test patch fix

* adds teleporting hijinks encounter

* add unit tests for Teleporting Hijinks

* small change to teleporting hijinks dialogue

* migrate ME translations to json

* add retries to berries-abound.Option1: should reward the player with X berries based on wave

* add missing ME dialogue back in

* revert template changes

* add ME unique trainer dialogue to both dialogue jsons

* fix hanging comma in json

* fix broken imports

* resolve lint issues

* fix flaky test

* balance tweaks to a few MEs, updates to bug superfan

* add unit tests for Bug-Type Superfan and clean up dialogue

* Adds Fun and Games mystery encounter

* add unit tests for Fun and Games encounter

* update jsdoc

* small ME balance changes

* small ME balance changes

* Adds Uncommon Breed ME and misc. ME bug fixes

* Update getFinalSessionData() to collect Mystery Encounter data

* adds GTS encounter

* various ME bug fixes and balance changes

* latest ME bug fixes

* clean up GTS Encounter and add unit tests

* small cleanup to MEs branch

* add BGM music names for ME music

* bug fixes and balance changes for MEs

* ME data schema updates

* balance changes and bug fixes to MEs

* balance changes and bug fixes to MEs

* update tests for MEs

* add jsdoc to party exp function

* dialogue updates and test fixes for MEs

* dialogue updates and test fixes for MEs

* PR suggestions and fixees

* stash PR feedback and bugfixes

* fix all tests for MEs and cleanup

* PR feedback

* update flaky ME test

* update tests, bug fix MEs, and sprite assets

* remove unintentional console log

* re-enable stubbed function for Phaser text styling

* handle undefined introVisuals properly

* PR feedback from NightKev

* disable Uncommon Breed tests

* locales updates and bug fixes for safari zone

* more PR feedback and update field trip with Rarer Candy

* fix unit test

* Change how reroll button gets disabled in Modifier Shop Phase

* update continue button text logic

* Update src/ui/modifier-select-ui-handler.ts

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

* fix money formatting and some nits

* more nits

* more nits

* update ME tsdocs with links

* update ME tsdocs with links

---------

Co-authored-by: Felix Staud <felix.staud@headwire.com>
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
Co-authored-by: ImperialSympathizer <imperialsympathizer@gmail.com>
Co-authored-by: InnocentGameDev <asdargmng@gmail.com>
Co-authored-by: Mumble <171087428+frutescens@users.noreply.github.com>
2024-09-14 03:05:58 +01: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
Frederico Santos
801b0a66f7 Readded vouchers to original weights 2024-09-12 01:13:22 +01:00
Frederico Santos
103c87ec3b Undo egg skip event 2024-09-12 01:09:44 +01: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
Brandon Bay
9317093044
[Enhancement] [UI/UX] Add ability and passive tooltips to starter select screen (#4023)
* Add ability and passive tooltips to starter select screen

* Remove explicit casts to BattleScene

* Increase tooltip size, reverse y when necessary, and always show passive tooltip

* Add ability name to tooltip title and persist tooltips between Pokemon

* Use vi function mocks
2024-09-09 15:07:00 -04:00
Adrian T.
9afab182e9
[Test] Remove obsolete splash_only (#4139) 2024-09-09 15:02:11 -04:00
Adrian T.
401568609b
[Dev] Add imports, Handle kebab-case fileName argument in test boilerplate script (#4072)
* add imports, handle kebab-case fileName argument

* fix spacing
2024-09-09 13:00:26 -04:00
Taylor Le Lievre
8df7422e8f
[Bug] Primal weather no longer persists if last mon dies to indirect damage (#3492)
* Fixed Delta Stream remaining active when last mon dies to indirect damage

* Rebasing changes

* Linting fix

* Combined if statements

* Changed params to optional

* Added unit test

* Apply suggestions from code review

* Fix test and remove `.js` from import

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-09-09 12:59:58 -04:00
NightKev
11d912bad8
[Dev] Make OPP_MOVESET_OVERRIDE fully override the enemy's moveset (#4062)
* Make `OPP_MOVESET_OVERRIDE` fully override the enemy's moveset

* Update tests with new override behavior

* Fix tests

* Fix another test

* Move overrides no longer required to be arrays

* Remove `SPLASH_ONLY` test utility variable

* Update moveset override helper functions

* Missed some tests
2024-09-09 12:55:11 -04:00
Adrian T.
c59f6edf36
[Move] Implement Power Shift (#4083)
* fully implement power shift

* cleanup
2024-09-09 12:54:31 -04:00
Leo Kim
80e347840d
[Bug] Fix line spacing in level up stats and move info in Japanese (#4095) 2024-09-09 12:54:17 -04:00
NightKev
89b33466a9
[Test] Fix Safeguard test that relied on a now-fixed bug (#4098) 2024-09-09 12:53:45 -04:00
Lugiad
3d01e905df
[Localization][UI/UX] Clean up of unused localized images (#4110)
* Delete public/images/ui/legacy/summary_moves_effect_de.png

* Delete public/images/ui/legacy/summary_moves_effect_es.png

* Delete public/images/ui/legacy/summary_moves_effect_fr.png

* Delete public/images/ui/legacy/summary_moves_effect_it.png

* Delete public/images/ui/legacy/summary_moves_effect_pt-BR.png

* Delete public/images/ui/legacy/summary_moves_effect_zh-CN.png
2024-09-09 12:53:22 -04:00
Adrian T.
3c05237b2e
[Move] Fully implement Throat Chop (#4115)
* fully implement throat chop

* add linkcode in docs

* address comments

* update test
2024-09-09 12:52:20 -04:00
José Ricardo
a88b989939
[Localization] [pt_BR] Updated some translations (#4131) 2024-09-09 12:50:47 -04:00
Chapybara-jp
e84fe8c24e
[Localisation] [JA] Translated/updated spacing in several files, fixed Ice Face bug (#4129)
* 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
2024-09-09 12:50:30 -04:00
Mumble
26eb63cf67
[Refactor] Cleaning up Learn move phase (#3672)
* Learn Move Phase rewrite

* Typedocs

* messages with confirm do not need an extra button press no more

* Added Documentation

* This does not work

* so sad

* Some updates

* Eslint issues + clean up

* Additions to handle learning during evolution + test fixes

* some more checks

* Update src/overrides.ts

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

* Update src/test/phases/learn-move-phase.test.ts

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

* Added new function and updated tests

* Fixed bracketing and added parameter types

* Added Sketch to the conditional

* Added some fixes. Weird stuff going on.

* Whoops

* async implementation done

* Update src/phases/learn-move-phase.ts

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

* Apply suggestions from code review

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

* Made showText=> summary a promise

* adapt learn-move-phase to `async-await`

* await add

---------

Co-authored-by: frutescens <info@laptop>
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 09:11:46 -07:00
AJ Fontaine
16fc3a87b7
Fix usedTMs crash (#4132) 2024-09-09 14:07:05 +01:00
Adrian T.
f5bf766ff7
[Move] Fully implement Tar Shot (#4043) 2024-09-09 00:42:53 -07:00
innerthunder
c710f85fd3
Fix Pokemon.isTrapped only checking enemy Pokemon for trapping abilities (#4124) 2024-09-09 14:19:59 +08:00
flx-sta
39b6a72517
[Bug] Fix #762: All Pokemon become invisible when capturing then switching with your only pokemon that was not fainted (#4025)
* fix #762 by using slotIndex to add to party

for now the new pokemon was ALWAYS just pushed to the party array. Now it's put into the slot that was also previously selected as the mon to release

* add docs for `Pokemon.addToParty()`

* add simple tests for addToParty

* update `isBetween` docs. Remove `.js` imports
2024-09-09 01:10:47 -04:00
Adrian T.
06f98f6737
[Bug] Fix console error from undefined stockpilingTag (#4118) 2024-09-08 20:50:47 -07:00
innerthunder
68b956cbe6
[Bug] Fix incorrect defensive properties on Terastallized Pokemon (#4070)
* Fix incorrect defensive properties on Terastallized Pokemon

* Add tests to `effectiveness.test.ts`

* Suppress errors from Tera achievement validation
2024-09-08 20:48:09 -07: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
Lugiad
df250c8b90
[Localization] New translations batch locales (Move-disabling effects, abilities triggers, error messages and some misc ajustements) (#4068)
* Update battle.json

* Update battler-tags.json

* Update battle.json

* Update battle.json

* Update battler-tags.json

* Update battle.json

* Update battler-tags.json

* Update battler-tags.json

* Update battle.json

* Update battle.json

* Update battler-tags.json

* Update battler-tags.json

* Update battle.json

* Update battle.json

* Update battler-tags.json

* Update battler-tags.json

* Update battle.json

* Update battle.json

* Update battler-tags.json

* Update battle.json

* Update battle.json

* Update battle.json

* Update battler-tags.json

* Update battle.json

* Update battle.json

* Update src/locales/de/battle.json

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

* Update src/locales/de/battler-tags.json

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

* Update battler-tags.json

* Update src/locales/ko/battle.json

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

* Update src/locales/ko/battler-tags.json

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

* Update src/locales/it/battle.json

Co-authored-by: Niccolò <123510358+NicusPulcis@users.noreply.github.com>

* Update src/locales/it/battler-tags.json

Co-authored-by: Niccolò <123510358+NicusPulcis@users.noreply.github.com>

* Update menu.json

* Update ability-trigger.json

* Update ability-trigger.json

* Update ability-trigger.json

* Update ability-trigger.json

* Update ability-trigger.json

* Update ability-trigger.json

* Update ability-trigger.json

* Update ability-trigger.json

* Update menu.json

* Update menu.json

* Update menu.json

* Update menu.json

* Update menu.json

* Update menu.json

* Update menu.json

* Update menu.json

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

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

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

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

* Update src/locales/de/menu.json

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

* Update src/locales/ko/ability-trigger.json

Co-authored-by: Leo Kim <47556641+KimJeongSun@users.noreply.github.com>

* Update src/locales/ko/menu.json

Co-authored-by: Leo Kim <47556641+KimJeongSun@users.noreply.github.com>

* Update src/locales/ko/ability-trigger.json

Co-authored-by: Leo Kim <47556641+KimJeongSun@users.noreply.github.com>

* Update src/locales/ko/menu.json

Co-authored-by: Leo Kim <47556641+KimJeongSun@users.noreply.github.com>

* Update menu.json

* Update ability-trigger.json

* Update ability-trigger.json

* Update ability-trigger.json

* Update ability-trigger.json

* Update ability-trigger.json

* Update ability-trigger.json

* Update menu.json

* Update ability-trigger.json

* Update battle.json

* Update battler-tags.json

* Update src/locales/zh_CN/battle.json

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

* Update src/locales/zh_TW/battle.json

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

* Update modifier-type.json

* Update modifier-type.json

* Update modifier-type.json

* Update modifier-type.json

* Update modifier-type.json

* Update modifier-type.json

* Update modifier-type.json

* Update modifier-type.json

* Update modifier-type.json

* Update modifier-type.json

* Update modifier-type.json

* Update menu.json

* Update battler-tags.json

* Update battle.json

* Update ability-trigger.json

* Update battler-tags.json

* Update battler-tags.json

* Update battler-tags.json

* Update battler-tags.json

* Update modifier-type.json

* Update menu.json

* Update battle.json

* Update tutorial.json

* Update tutorial.json

* Update egg.json

* Update battle.json

* Update battle.json

* Update tutorial.json

* Update egg.json

* Update modifier-type.json

* Update modifier-type.json

* Update modifier-type.json

* Update modifier-type.json

* Update modifier-type.json

* Update challenges.json

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

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

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

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

* Update src/locales/ja/battle.json

Co-authored-by: Chapybara-jp <charlie.beer@hotmail.com>

* Update src/locales/ja/menu.json

Co-authored-by: Chapybara-jp <charlie.beer@hotmail.com>

* Update src/locales/ja/modifier-type.json

Co-authored-by: Chapybara-jp <charlie.beer@hotmail.com>

* Update src/locales/ja/modifier-type.json

Co-authored-by: Chapybara-jp <charlie.beer@hotmail.com>

* Update src/locales/ja/modifier-type.json

Co-authored-by: Chapybara-jp <charlie.beer@hotmail.com>

* Update dialogue.json

* Update dialogue-misc.json

* Update dialogue-final-boss.json

* Update dialogue-double-battle.json

* Update ability-trigger.json

* Update achv.json

* Update arena-tag.json

* Update battle.json

* Update battler-tags.json

* Update command-ui-handler.json

* Update menu.json

* Update modifier-type.json

* Update modifier.json

* Update move-trigger.json

* Update pokemon-info-container.json

* Update pokemon-info.json

* Update splash-messages.json

* Update status-effect.json

* Update tutorial.json

* Update voucher.json

* Update weather.json

* Update ability-trigger.json

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

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

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

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

* Update modifier-type.json

* Update bgm-name.json

* Update bgm-name.json

* Update src/locales/it/menu.json

Co-authored-by: Niccolò <123510358+NicusPulcis@users.noreply.github.com>

* types_ja.png update

* Apply suggestions from code review

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

---------

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
Co-authored-by: sodam <66295123+sodaMelon@users.noreply.github.com>
Co-authored-by: Niccolò <123510358+NicusPulcis@users.noreply.github.com>
Co-authored-by: Leo Kim <47556641+KimJeongSun@users.noreply.github.com>
Co-authored-by: Yonmaru40 <47717431+40chyan@users.noreply.github.com>
Co-authored-by: Enoch <enoch.jwsong@gmail.com>
Co-authored-by: Chapybara-jp <charlie.beer@hotmail.com>
2024-09-08 13:57:17 +02: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
flx-sta
2bd07cb84e
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>
2024-09-07 21:37:37 -07:00
Leo Kim
2fc3179bd9
[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
2024-09-07 21:37:14 -07:00
DustinLin
f73a830f77
[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>
2024-09-07 21:36:47 -07: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
Amani H.
ffcedfd9a4
[Dev] Save Data Version Migration (#4080)
* Initial Draft

* Successfuly Migration with Vitamins and White Herb

* Apply Session Data Patches Earlier

* Remove Stray `console.log`
2024-09-08 02:40:45 +01:00
Opaque02
b36823af4a
Fixed small RNG misusage (#4092) 2024-09-08 02:33:33 +01:00
James Diefenbach
dfa3993864
Egg summary background touchup (#4091)
* darker egg-summary background

* reset old background for beta

* update egg summary bg

* reset overrides

---------

Co-authored-by: James Diefenbach <z5421232@ad.unsw.edu.au>
2024-09-08 01:32:49 +02:00
Amani H.
7288350d45
[Item/Balance] Overhaul Lapsing Modifiers (#4032)
* Refactor Lapsing Modifiers, Lerp Hue of Count

* Fix Unit Tests

* Add Documentation to `hslToHex` Function

* Change Descriptions for New Behavior

* Add Documentation to Lapsing Modifiers

* Add Unit Tests for Lures

* Update Unit Tests for X Items and Lures

* Update Boilerplate Error Message

* Update Boilerplate Docs
2024-09-06 22:54:54 -04:00
James Diefenbach
ba212945de
[Enhancement] Darker egg summary background image (#4076)
* darker egg-summary background

* reset old background for beta

* darker egg summary bg

---------

Co-authored-by: James Diefenbach <z5421232@ad.unsw.edu.au>
2024-09-06 20:34:13 -04:00
flx-sta
ae50db7710
[Optimization] parallel testing (#4075)
* add: vitest projects (multiple)

preparations for parallel testing

* update: tests workflow

better parallel testing
2024-09-06 16:24:38 -07:00
Adrian T.
e6a574c48f
[P2 Bug] Revert to normal form when Pokémon is fainted (#4049)
* revert to normal forms when fainted

* Remove `.js` from import

Co-authored-by: flx-sta <50131232+flx-sta@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>
2024-09-06 12:17:08 -07:00
Chapybara-jp
33cb999774
[Localization] [JA] Translated bgm-name.json (#4066)
* Translated bgm-name.json

Song titles from Bulbapedia and https://w.atwiki.jp/gamemusicbest100/
Kept mainline game abbrevs., changed PMD to ポケダン for clarity
Added translations for the original songs

* Update bgm-name.json

* Update bgm-name.json

* Update bgm-name.json
2024-09-06 14:51:32 -04:00
Adrian T.
acda34c2e4
[P2 Bug] Underwater and underground Pokemond do not take sand/hail damage (#4047)
* fix sandstorm/hail interaction with semi invulnerable state

* cant fly high enough to avoid sandstorm/hail damage
2024-09-06 14:15:15 -04:00
flx-sta
d8304421cf
fix endless end dialogue (#4069)
It was only displaying `ending_endless` because the `PGM` prefix was still present
2024-09-06 17:23:19 +00:00
Adrian T.
d58f035287
[Misc] Migrate REROLL_TARGET to SHOP_CURSOR_TARGET (#4016)
* migrate reroll target to shop cursor target

* delete key after migrating
2024-09-06 09:41:48 +00:00
innerthunder
7b97657756
[Bug] Fix Aura Break applying without Dark/Fairy Aura present (#4057)
* Fix Aura Break ignoring active Dark/Fairy Aura condition

* Add conditional post-summon message

---------

Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
2024-09-06 07:59:22 +00:00
chaosgrimmon
f1650d2515
[Sprite] Fix Tangrowth Variants (#4059)
* [Sprite] Front Tangrowth male variants

* [Sprite] Front Tangrowth female variants

* [Sprite] Back Tangrowth female variants

* [Sprite] Back Tangrowth male epic palette

* Delete public/images/pokemon/variant/465_2.png

* Delete public/images/pokemon/variant/back/465_3.png

* Delete public/images/pokemon/variant/465_3.png

* Delete public/images/pokemon/variant/465_2.json

* Delete public/images/pokemon/variant/465_3.json

* Delete public/images/pokemon/variant/back/465_3.json

* [Sprite] Update Tangrowth variants with females
2024-09-06 02:32:13 +00:00
flx-sta
f3bdaa12ca
[Bug][Refactor] fix username-finder issues + code & visual improvements (#4055)
* fix username-finder issues & refactor `login-form-ui-handler`

- reduce redundancy
- add hover effect for interactable game objects
- add error handler for "No save files found!"
- Make user finder errors support i18n

* add `disableInteractive` to mockContainer
2024-09-06 00:07:24 +00:00
Adrian T.
39f3572c1b
[Test] Add Dragon Cheer tests (#4013)
* add dragon cheer tests

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

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

* update tests

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-09-05 23:51:47 +00:00
NightKev
57a3efd9e2
[Bug] Fix off-by-one errors in some random number calls (#3665)
* Fix off-by-one error in some random number calls

* Fix mock RNG function used by tests

Also remove unnecessary extra RNG mock from Glaive Rush test

* Just some github UI manipulation don't mind me

* Update Glaive Rush test

* Remove unnecessary `Math.floor()`

* Remove resolved comment

* Add tsdocs to various functions

* Remove `src/rng.md` file

* Update tsdoc
2024-09-05 23:51:05 +00:00
Adrian T.
deac3141a1
remove partial from tera blast (#4044) 2024-09-05 20:05:09 +00:00
innerthunder
6e26db27b8
Protection moves now fail when used last (#4045) 2024-09-05 19:07:04 +00:00
damocleas
6d312a2909
Update egg.ts Same-Species Egg Shiny Rate (#4052) 2024-09-05 18:50:28 +00:00
Chapybara-jp
e2e5b2c349
[Localisation] [JA] Translated remaining JA text files (#3999)
* [Localisation] [JA] Begun translation on arena-flyout.json

* Added english names to bgm-name.json

* Translated common.json

* Added English dialogue-double-battle.json

To make translation easier

* Added English dialogue-final-boss.json

* Added english dialogue-misc.json

* Added English dialogue.json

* Translated fight-ui-handler.json

* Update filter-bar.json

Changed 飴 to アメ for consistency with its spelling in Pokemon GO

* Update game-stats-ui-handler.json

changed 孵化 to ふか

* Update growth.json

Added kanji

* Update menu-ui-handler.json

changed 孵化 to ふか

* Update modifier-type.json

Changed name of IV Scanner to match with other files, the rest of the item descriptions need to be changed to Kanji as well.

* Update modifier.json

* Changed move-trigger.json

Added kanji and new moves.

* Update party-ui-handler.json

Added kanji

* Update pokemon-info-container.json

Changed to Kanji

* Translated pokemon-summary.json

The metFragment formatting is taken from BW

* Update run-history.json

Corrected some misinterpretations.
Added correct original line of "Welcome to Hall of Fame!"

* Added english splash-messages.json

* Update move-trigger.json

* Update move-trigger.json

* Update move-trigger.json

* Update arena-flyout.json

* Update move-trigger.json

* Translated arena-flyout.json

* Update weather.json

* Update save-slot-select-ui-handler.json

changed wave to ラウンド

* Update game-stats-ui-handler.json

* Update challenges.json

* Update achv.json

Corrected some mistakes, misspelling

* Added some translations dialogue.json

Youngster translation done
Female rival dialogue done, needs check

* Update dialogue.json

* Update dialogue.json

* Update dialogue.json

* Update dialogue.json

* Update dialogue.json
2024-09-05 17:49:28 +00:00
Opaque02
01eb05469a
[QoL] Username finder (#4040)
* Added the ability to potentially get username from login screen

* Accidentally made dev login enforced :)

* Updated image
2024-09-05 14:00:19 +00:00
Lugiad
c902369eed
[Localization] Restoring "Safeguard" entries in arena-flyout.json of all locales where it existed (#4026)
* Update arena-flyout.json

* Update arena-flyout.json

* Update arena-flyout.json

* Update arena-flyout.json

* Update arena-flyout.json

* Update arena-flyout.json

* Update arena-flyout.json

* Update arena-flyout.json
2024-09-05 12:39:10 +00:00
Dmitriy K.
41bb12d0c0
skip pre-commit on merge and rebase, add pre-push (#1607) 2024-09-05 10:08:00 +00:00
Leo Kim
1968680104
[Enhancement] add font size option per language on registration UI (#3849)
* add language setting for register form ui

* remove button fontsize option

* fix tests

* remove deprecated comments

* update request changes

* update requested changes from es

* update requested changes from walker

* Update src/locales/es/menu.json

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

---------

Co-authored-by: Asdar <asdargmng@gmail.com>
2024-09-05 09:52:48 +00:00
Zach Day
13f38dce8d
[Move] Use BattlerTag for move-disabling effects (#2051)
* Use BattlerTag for move-disabling effects

* Fix RUN command causing freeze

* Improve documentation

* Clean up and document PokemonMove.isUsable

* Fix isMoveDisabled missing return

* Tags define the message shown when disabling interrupts a move

* Fix -1 duration on Disable effect

* Add tests for Disable

* En loc and fix message functions

* Fix Disable test

* Fix broken imports

* Fix test

* All disable tests passing

* Localize remaining strings

* Move cancellation logic out of lapse; use use TURN_END for lapse type

* Prevent disabling STRUGGLE

* Inline struggle check function

* Restore RechargingTag docs

* Move cancellation logic back to tag

Wanted to increase similarity to the existing code base to avoid that stupid hyper beam error but it's still happening here

* Fix hyper beam test

* Remove erroneous shit

* Fill movesets with SPLASH for disable test

* More robust condition for disable checking

* Remove DisabledTag lapse

* Simplify DisablingBattlerTag lapse

* Cancel disable-interrupted moves instead of failing them

* Avoid disabling virtual moves

* Consistent access modifiers across Disable tags

* Add abstract function for message when player tries to select the disabled move

* Fix syntax mistake

* Always disable last-used non-virtual move

* Overhaul tests + add tests

* Implement loadTag for DisabledTag

* Update translations

* Update translations

* Reimplement phase changes

* fix battlertag strings

* Fix disable test not running

* Update name of base class

* Rename "disabling" to "restriction"

* Fix sneaky string fuckup

* Fix test failure

* fix merge problems

* fix merge problems

* Update tests

* rerun RNG test

* Properly mock stats in test

* Document everything in battlertag

* More docs + typo fix

* Update tests

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-09-05 08:44:22 +00:00
innerthunder
1434a3edaf
Fix random failure in Parental Bond tests (#4036)
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
2024-09-05 05:31:32 +00:00
Opaque02
61ab52c295
[Balance] Changed escape calculation (#3973)
* Changed escape calculation as per Mega

* Adding tests

* Updates some tests

* Updated all tests for bosses

* Removed console log lines

* Added some clarifying comments

* Fixed docs

* comment add

* comment add

* Convert comments into tsdoc comments

Convert `integer`/`IntegerHolder` to `number`/`NumberHolder`

Clean up tests a bit

---------

Co-authored-by: damocleas <damocleas25@gmail.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-09-05 05:29:39 +00:00
NightKev
237aad2184
[Misc] Clean up the Battle class a bit (#3995)
* Use default values in the `Battle` class

Turn a couple of comments into tsdoc comments

Replace a `!!` with `?? false`

* Replace `integer` with `number`
2024-09-05 05:29:02 +00:00
innerthunder
31d3bec55e
[Test] Fix Rage Powder test failing randomly (#4038)
* Fix random failure in Rage Powder test

* Remove redundant override
2024-09-05 04:54:51 +00:00
Tempoanon
834255447d
Fix mbh not using user's nickname (#4033) 2024-09-05 04:02:45 +00:00
innerthunder
f3ced7e814
[Bug] Fix inconsistencies with move type resolution for some ability triggers (#3988)
* Fix inconsistencies with ability triggers on variable-type moves

* Fix aura effects not accounting for the move user

* Fix Wonder Guard evaluating move type as if the defender used the move

* Some additional test coverage for move-type-changing effects
2024-09-05 00:49:01 +01:00
Mumble
cebd449335
I have a brain made of cheese!!! (#4028)
Co-authored-by: frutescens <info@laptop>
2024-09-04 23:16:47 +00:00
chaosgrimmon
8835ae0299
[Sprite] Index egg skip UI (#4027)
* [Sprite] Index egg skip UI

* [Sprite] Index egg skip legacy UI
2024-09-04 20:46:33 +00:00
NightKev
a537113c8f
Re-add lost i18n strings (#4024) 2024-09-04 20:45:56 +00:00
NightKev
fde32cea6c
[Misc][Bug] Add isBatonPassable property to BattlerTags (#3472)
* Add `isTransferrable` property to `BattlerTag`s

* Update Baton Pass to check `isTransferrable` for `BattlerTag`s

* Don't mark Salt Cure as transferrable

* Add Destiny Bond, remove `GroundedTag` and `ExposedTag`

* Fix daily mode test

* Add test

* Rename `isTransferrable` to `isBatonPassable`
2024-09-04 17:58:35 +00:00
innerthunder
207b3e1eb7
[Test] Add forceEnemyMove Game Manager util (#3678)
* Add `forceEnemyMove` test util

* fix ceaseless edge test

* Apply flx's suggestions

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

* Rewrite Follow Me test

* Reorganize new imports in game manager

* Rewrite Rage Powder + Spotlight tests

---------

Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
2024-09-04 17:56:57 +00:00
MokaStitcher
11ac929a4d
fix getting the highest ivs for the iv scanner (#4022) 2024-09-04 17:00:31 +00:00
James Diefenbach
e822c91a16
[Enhancement] Skip egg hatching and show summary (#3726)
* cherry picked commits / manual copy

* better dex tracking for summary after regular egg hatching

* ui changes

* updated egg hatch bg, added candy tracker, icon anims for new shiny or new form unlock

* added i18 line, reset overrides

* touchup

* code cleanup, documentation and slight refactor

* sprite display fix

* load interrupts, simple sfx and no summary for small egg amounts

* Garbage Collection + Eslint/Docs approved.

* time logging and optimisation

* skip redundant load

* more time logs and fix pre-load issues

* more detailed loading logs

* changed loading to be on demand from cursor nav

* fix missing variant icon fallback

* removing redundant time logs and code touchup

* code cleanup

* Comments so developer doesn't get bugged about garbage collecton

* remove logs n stuff

* lang settings touchup and final touchup plus uploading blank egg summary bg

* fix nits, js imports, extra docs, magic numbers changed

* extra docs and spacing nits

* Update Github

---------

Co-authored-by: James Diefenbach <z5421232@ad.unsw.edu.au>
Co-authored-by: Frederico Santos <frederico.f.santos@tecnico.ulisboa.pt>
Co-authored-by: frutescens <info@laptop>
Co-authored-by: Mumble <171087428+frutescens@users.noreply.github.com>
2024-09-04 16:59:25 +00:00
Lugiad
3704680029
Update dialogue.json (#4021) 2024-09-04 16:28:10 +00:00
MokaStitcher
1055386949
starter select defaults to shiny with highest variant again (#4001) 2024-09-04 08:58:39 +00:00
Adrian T.
200deef0ed
[P1 Bug][UI/UX] Address shop cursor target feedbacks (#4009)
* address shop cursor target feedbacks

* make rewards left-most

* fix tests breaking

* Update src/test/items/dire_hit.test.ts

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

* Update src/test/items/temp_stat_stage_booster.test.ts

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

* Update src/locales/ja/settings.json

Co-authored-by: Chapybara-jp <charlie.beer@hotmail.com>

* update default value

* stylistic change

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: Chapybara-jp <charlie.beer@hotmail.com>
2024-09-04 01:07:56 +00:00
Frederico Santos
f63492d545 chore: Update merge_group configuration in GitHub workflows 2024-09-04 01:56:37 +01:00
gitlocalize-app[bot]
4e3a24c247
[Localization] [ES] 5 files reviewed and finish. [Ready] (#3921)
* Translate party-ui-handler.json via GitLocalize

* Translate party-ui-handler.json via GitLocalize

* Translate arena-tag.json via GitLocalize

* Translate arena-tag.json via GitLocalize

* Translate battler-tags.json via GitLocalize

* Translate battler-tags.json via GitLocalize

* Translate arena-flyout.json via GitLocalize

* Translate game-mode.json via GitLocalize

* Update src/locales/es/arena-tag.json

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

* Update src/locales/es/battler-tags.json

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

* Update src/locales/es/battler-tags.json

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

* Update src/locales/es/arena-tag.json

---------

Co-authored-by: Asdar <asdargmng@gmail.com>
Co-authored-by: Rafa <rhijano@hotmail.com>
Co-authored-by: Lugiad <adrien.grivel@hotmail.fr>
Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
2024-09-03 15:19:05 -07:00
Mumble
3242a35341
[Misc][UI] Default Cursor Positioning for Command / Fight / Party (#4008)
* Cursor Pos. should match mainline

* Fixed command mode behavior

---------

Co-authored-by: frutescens <info@laptop>
2024-09-03 15:13:29 -07:00
PigeonBar
3a6146935c
[Bug] Fix reloads causing RNG inconsistencies, Moody and Acupressure use seeded RNG now (#3952)
* [Bug] Fix reloads causing RNG inconsistencies

* Minor revisions

* Allow reload helper to directly access getSessionSaveData()

* Changed Moody and Acupressure to use seeded RNG

* Fix broken unit test
2024-09-03 09:14:45 -04:00
Jannik Tappert
232cd2c91a
[Localization] [DE] Added missing keys in DE (#3998)
* Add missing keys in DE

* Challenge description fix
2024-09-03 09:12:57 -04:00
Lugiad
940992a940
[Localization] [FR] Added missing keys in French (#4000)
* Update battle.json

* Update menu-ui-handler.json
2024-09-03 14:48:13 +02:00
Frederico Santos
666cde94ae
Merge pull request #3997 from innerthunder/main-beta-merge
Main to Beta Merge (Wave 3)
2024-09-03 11:27:46 +01:00
innerthunder
38ae0a5d6d Merge remote-tracking branch 'upstream/main' into main-beta-merge 2024-09-03 03:21:54 -07:00
NightKev
d004d905bd
[Test] Remove nature RNG from Beast Boost tests (#3994) 2024-09-03 01:59:48 -04:00
chaosgrimmon
684d7b3009
[Misc] Repack Keyboard button sprites (#3993)
* [Misc] Repack keyboard input icons

* [Misc] Keyboard sprites repacking json

* [Bug] Capitalisation of "c"
2024-09-03 01:02:29 -04:00
NightKev
97a02e7c34
[Test] Set boss Pokémon test timeout to 20 seconds instead of 2.5 seconds (#3992) 2024-09-03 00:59:51 -04:00
PigeonBar
587360c8da
[Bug] Fix eggs having exploitable RNG (#3913)
* [Bug] Fix eggs having exploitable RNG

* Fix Wind Rider test having random chance to fail

* Revert egg's ID back to its own unseeded generation

* Remove change from wind rider test

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: Mumble <171087428+frutescens@users.noreply.github.com>
2024-09-02 22:18:18 -04:00
Mumble
deb4e9dd24
[UI] Run history fixes and improvements (#3987)
* Challenge Rules Word Wrap

* Fixed Modifiers

* Fixed item count color.

* removed .js endings

---------

Co-authored-by: frutescens <info@laptop>
2024-09-02 22:14:09 -04:00
Amani H.
89e80f3deb
[Refactor/Bug/Move] Overhaul Stats and Battle Items, Implement Several Stat Moves (#2699)
* Create Getters, Setters, and Types

* Work on `pokemon.ts`

* Adjust Types, Refactor `White Herb` Modifier

* Migrate `TempBattleStat` Usage

* Refactor `PokemonBaseStatModifier` Slightly

* Remove `BattleStat`, Use "Stat Stages" & New Names

* Address Phase `integers`

* Finalize `BattleStat` Removal

* Address Minor Manual NITs

* Apply Own Review Suggestions

* Fix Syntax Error

* Add Docs

* Overhaul X Items

* Implement Guard and Power Split with Unit Tests

* Add Several Unit Tests and Fixes

* Implement Speed Swap with Unit Tests

* Fix Keys in Summary Menu

* Fix Starf Berry Raising EVA and ACC

* Fix Contrary & Simple, Verify with Unit Tests

* Implement Power & Guard Swap with Unit Tests

* Add Move Effect Message to Speed Swap

* Add Move Effect Message to Power & Guard Split

* Add Localization Entries

* Adjust Last X Item Unit Test

* Overhaul X Items Unit Tests

* Finish Missing Docs

* Revamp Crit-Based Unit Tests & Dire Hit

* Address Initial NITs

* Apply NIT Batch

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

* Fix Moody Test

* Address Multiple Messages for `ProtectStatAbAttr`

* Change `ignoreOverride` to `bypassSummonData`

* Adjust Italian Localization

Co-authored-by: Niccolò <123510358+NicusPulcis@users.noreply.github.com>

* Fix Moody

---------

Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
Co-authored-by: Niccolò <123510358+NicusPulcis@users.noreply.github.com>
2024-09-02 22:12:34 -04:00
NightKev
947400f2b9
[Test] Add tests for Freeze-Dry (#3990) 2024-09-02 22:11:35 -04:00
ckincaid17
234d617464
[Bug] Let Shedinja relearn egg moves when evolved from a starter (#3915)
* [Bug] Let Shedinja relearn egg moves when evolved from a starter

* Copy met level as well
2024-09-02 19:10:33 -07:00
cam
672bc77c58
Added Donate Link to Community Page (#3989)
* Added Donate Link to Community Page

Removed the cookies from the html and added a Donations link on the community page (with guidance from Walker)

* Added Translation Key
2024-09-03 01:37:53 +01:00
AJ Fontaine
b0360123e0
[Balance] [QoL] [Feature] Allow mons to track and relearn used TMs (#3656)
* Allow mons to track and relearn used TMs

* Fix issue getting level moves

* Apply suggested safety measures
2024-09-02 16:25:41 -07:00
Leo Kim
60becf54f8
[Enhancement][UI] Passive ability will be displayed even if it is locked or disabled (#3976)
* show passive name even if it is locked or disabled

* update passive label with updated new icons

* fix icon remains bug, when go start button and filterbar
2024-09-02 23:49:11 +01:00
Lugiad
df1c6efe2d
[Localization] [Fix] Restoring inverted rival dialogues in all dialogue-misc.json locales (#3986)
* Update dialogue-misc.json

* Update dialogue-misc.json

* Update dialogue-misc.json

* Update dialogue-misc.json

* Update dialogue-misc.json

* Update dialogue-misc.json

* Update dialogue-misc.json
2024-09-02 18:33:21 -04:00
MokaStitcher
89a1ff7b5b
[Bug] Fix Inconsistency with stat boost when breaking through boss shields + tests (#3785)
* fix boss shield stats up calculation and add tests

* update test to remove usage of deprecated startBattle
2024-09-03 00:29:15 +02:00
Lugiad
9c30e5b213
[Localization] [FR] [Fix] Dialogue fixs batch + ignored entries form previous PR (#3985)
* Update dialogue-misc.json

* Update dialogue.json

* Update dialogue.json

* Update dialogue-misc.json

* Update dialogue.json

* Update dialogue.json

* Update dialogue.json

* Update dialogue.json

* Update dialogue.json

* Update dialogue.json
2024-09-02 18:03:21 -04:00
njahja
03567ed56c
[Bugfix #3930] Moves That a Pokemon Knows and are not in their List of Learnable TMs Display as "Not Able" Rather than Learned (#3935)
* fix for [Bug] Moves That a Pokemon Knows and are not in their List of Learnable TMs Display as "Not Able" Rather than Learned #3930

* convert switch case block to if/elif/else
2024-09-02 17:59:26 -04:00
Chapybara-jp
4c4a2c1900
[Localisation] [JA] Translated trainer-classes.json, trainer-names.json, trainer-titles.json (#3978)
* [Localisation] [JA] trainer-classes.json

Names taken from Poke Corpus and Bulbapedia. 
Some double team names do not exist in the official games so I created some new fitting/localised/funny ones (e.g. (solo) サイキッカー -> (double) サイキッ家)
As we are using Scarlet/Violet Kanji usage conventions, I decided to write all class titles that were Hiragana only in BW/B2W2 with Kanji instead.

* Translate trainer-names.json

Should we localise the names of Finn and Ivy? 
Two possible ideas:
Finn -> チトセ (Finn may come from the "Whale Fin" snake plant; Latin Name Sansevieria Masoniana. The Sansevieria family is known as チトセラン属 in Japanese. チトセ(千歳 millenium;long time) can be a reference to endless loop of Classic Mode)
Ivy -> タイチ (Ivy -> IV. IV in Japanese is 固体値 (こたいち). タイチ also sounds like  対置 (opposition)

* Update trainer-classes.json

* Translate trainer-titles.json
2024-09-02 17:57:24 -04:00
Mumble
ce5a92325c
[UI][Misc] Rename Space to Action in voucher/achv menu (#3982)
* Changing only achvs-ui-handler for now

* Add ACTION sprite

---------

Co-authored-by: frutescens <info@laptop>
Co-authored-by: chaosgrimmon <31082757+chaosgrimmon@users.noreply.github.com>
2024-09-02 17:54:56 -04:00
Asdar
e9998fcc16
[Localisation] [ES] Bugfix pokemon-form-battle.json (#3981)
Removed an extra tab added by GitLocalize
2024-09-02 14:20:05 -07:00
timchi94
aae4d6933c
[QoL] Enable female gender for all default starters and all existing s… (#2194)
* fix: Enable female gender for all default starters and all existing saves

* Fixed Fresh Start so it doesn't restrict gender

---------

Co-authored-by: Mumble <171087428+frutescens@users.noreply.github.com>
Co-authored-by: frutescens <info@laptop>
2024-09-02 12:43:44 -07:00
Mumble
256dfbde6e
Fixed conditional (#3983)
Co-authored-by: frutescens <info@laptop>
2024-09-02 21:27:29 +02:00
Jannik Tappert
86316bd6f8
[Localization] [DE] DisguiseChange (#3979)
* [Localization] [DE] DisguiseChange

* Update src/locales/de/pokemon-form-battle.json
2024-09-02 10:55:57 -07:00
Jannik Tappert
ad778101e4
[DEV] Remove female achv file (#3977) 2024-09-02 10:32:49 -07:00
NightKev
c20f37bcf9
[P3 Bug] Add dialog lines for Rood (#3970) 2024-09-02 01:39:52 -04:00
AJ Fontaine
39cfe69cd9
[Bug] Fix affix used when enemy trainer switches Pokemon (#3899) 2024-09-02 01:25:45 -04:00
chaosgrimmon
634bfb7900
[Sprite] Pelipper variant cleanup (#3969)
* [Sprite] Sprite fix Pelipper front

* [Sprite] Map epic Pelipper front

* Delete public/images/pokemon/variant/279_1.png

* Delete public/images/pokemon/variant/279_2.png

* Delete public/images/pokemon/variant/279_3.png

* Delete public/images/pokemon/variant/279_1.json

* Delete public/images/pokemon/variant/279_2.json

* Delete public/images/pokemon/variant/279_3.json

* [Sprite] Use epic Pelipper palette

* [Sprite] Index base shiny Pelipper front
2024-09-02 01:16:47 -04:00
Madmadness65
434b823112
[Enhancement/Item] Separate form change items into non-rare and rare (#3957)
* Separate form change items into non-rare and rare

* Remove unnecessary !!
2024-09-02 01:15:52 -04:00
NightKev
744c8f8845
[Test] Update/modernize/fix some tests (#3968) 2024-09-02 01:06:20 -04:00
Mumble
0cbdaab28e
[UI][Misc] Force users to have an active challenge (#3953)
* I hope this is good enough

* renamed variable to better name

* Remove random newline

* When player is ready cool box

* Fixed cancel behavior

* standardized action/cancel behavior

* Added comments

---------

Co-authored-by: frutescens <info@laptop>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-09-02 00:32:22 -04:00
NightKev
84ef7f0683
[Balance] Double base shiny odds, adjusted Shiny Charm to match (#3964)
* Double shiny odds

"anyone wanna double the base shiny odds for me" - damo, 2024

* Adjust Shiny Charm to compensate for increased base odds

* Remove magic number

* Update tsdoc and remove unneeded `console.log()`

* Clarify tsdoc
2024-09-02 00:26:47 -04:00
Mumble
1e432fc74b
[Bug] Fixed pre-set volume oversight (#3963)
Co-authored-by: frutescens <info@laptop>
2024-09-02 00:26:35 -04:00
NightKev
f54846f735
[Move] Implement Safeguard (#3447)
* Implemented safeguard and tests

* Update tests

* Add i18n placeholders

* Implement Safeguard for non-volatile statuses

* Implement protection from confusion and Yawn

* Replace `target instanceof EnemyPokemon` with `target.isPlayer()`

* Minor capitalization change

* First batch of i18n

Adds fr, pt_BR, zh_CN, zh_TW

Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>
Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>
Co-authored-by: mercurius-00 <80205689+mercurius-00@users.noreply.github.com>

* Add more translations

+ de, es, ko

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
Co-authored-by: Asdar <asdargmng@gmail.com>
Co-authored-by: sodam <66295123+sodaMelon@users.noreply.github.com>

* Fix broken character in es translation

* Update test with new function definition

* Add Italian translation

Co-authored-by: Niccolò <123510358+NicusPulcis@users.noreply.github.com>

* Add move category check for message display

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

* Update phase imports in Safeguard test

* Fix test imports

* Update tests

---------

Co-authored-by: Joshua Keegan <keeganjosh@vuw.ac.nz>
Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>
Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>
Co-authored-by: mercurius-00 <80205689+mercurius-00@users.noreply.github.com>
Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
Co-authored-by: Asdar <asdargmng@gmail.com>
Co-authored-by: sodam <66295123+sodaMelon@users.noreply.github.com>
Co-authored-by: Niccolò <123510358+NicusPulcis@users.noreply.github.com>
Co-authored-by: innerthunder <168692175+innerthunder@users.noreply.github.com>
2024-09-02 00:26:20 -04:00
gitlocalize-app[bot]
2d5bd57c44
[Localization] [FR] pokemon-info.json and dialogue-misc.json completion (#3761)
* Translate pokemon-info.json via GitLocalize

* Update dialogue-misc.json

---------

Co-authored-by: Lugiad <adrien.grivel@hotmail.fr>
2024-09-02 00:25:07 -04:00
NightKev
f3c41edf5e
[Bug] Don't reset turn count or used moves array at the start of a new wave (fakeout and gigaton hammer) (#3606)
* Don't reset turn count or used moves array at the start of a new wave

* Add tests
2024-09-02 00:24:12 -04:00
NightKev
69a9916b4c
[Bug] Moves copied by Dancer should not consume PP (#3623)
* Moves copied by Dancer should not consume PP

* Add test for Dancer (unfinished)

* Delete src/test/abilities/dancer.test.ts

This test is not finished lol

* Add test
2024-09-02 00:21:56 -04:00
PrabbyDD
4553c1c34f
[Bug] Fix Octolock Ignores Clear Body, White Smoke, Big Pecks #3876
Pecks, Clear Body, and White Smoke

Adding tests for octolock
2024-09-02 00:20:16 -04:00
gitlocalize-app[bot]
22d31bc704
[Localisation] [ES] Review and finished pokemon-form and pokemon-form-battle (#3903)
* Translate pokemon-form.json via GitLocalize

* Translate pokemon-form.json via GitLocalize

* Translate pokemon-form-battle.json via GitLocalize

* Translate pokemon-form-battle.json via GitLocalize

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

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

---------

Co-authored-by: Rafa <rhijano@hotmail.com>
Co-authored-by: LilyAlternis <tias.a2002@gmail.com>
Co-authored-by: Asdar <asdargmng@gmail.com>
Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
2024-09-02 00:19:02 -04:00
gitlocalize-app[bot]
a894438e24
[Localisation] [JA] Several files translated (#3916)
* Translate ability-trigger.json via GitLocalize

* Translate game-stats-ui-handler.json via GitLocalize

* Translate modifier-select-ui-handler.json via GitLocalize

* Translate pokemon-form-battle.json via GitLocalize

* Translate battle-info.json via GitLocalize

* Translate menu.json via GitLocalize

* Translate battler-tags.json via GitLocalize

* Translate pokemon-info.json via GitLocalize

* Translate achv.json via GitLocalize

* Translate berry.json via GitLocalize

* Translate achv-female.json via GitLocalize

* Translate challenges.json via GitLocalize

* Translate menu-ui-handler.json via GitLocalize

* Translate egg.json via GitLocalize

* Translate pokemon.json via GitLocalize

* Translate pokemon.json via GitLocalize

* Translate starter-select-ui-handler.json via GitLocalize

* Translate command-ui-handler.json via GitLocalize

* Translate settings.json via GitLocalize

* Update achv-female.json

* Update menu-ui-handler.json

* Update settings.json

* Update achv.json

* Update achv.json

* Update achv.json

* Delete src/locales/ja/achv-female.json

* Update achv.json

Compared in-game, with these changes it should all look good.

* Update challenges.json

* Update game-mode.json

* Update menu.json

* Update settings.json

* Translate game-stats-ui-handler.json via GitLocalize

* Update game-stats-ui-handler.json

* Update settings.json

---------

Co-authored-by: gitlocalize-app[bot] <55277160+gitlocalize-app[bot]@users.noreply.github.com>
Co-authored-by: Enoch <enoch.jwsong@gmail.com>
Co-authored-by: Chapybara-jp <charlie.beer@hotmail.com>
2024-09-02 00:18:49 -04:00
gitlocalize-app[bot]
dd033f4ec1
[Localization] [pt_BR] Updated many translations (#3917)
* Translate tutorial.json via GitLocalize

* Translate challenges.json via GitLocalize

* Translate menu-ui-handler.json via GitLocalize

---------

Co-authored-by: José Ricardo <josefleury@discente.ufg.br>
2024-09-02 00:17:05 -04:00
gitlocalize-app[bot]
0671a244a8
[Localisation] [ES] Reviewed and finished ability.json and bgm-name.json (#3920)
* Translate ability.json via GitLocalize

* Translate ability.json via GitLocalize

* Translate bgm-name.json via GitLocalize

---------

Co-authored-by: Asdar <asdargmng@gmail.com>
Co-authored-by: LilyAlternis <tias.a2002@gmail.com>
2024-09-02 00:16:54 -04:00
Mumble
c4c9cf939e
[Bug] Moved RNG call if the Pokemon's ability hasn't been determined (#3966)
Co-authored-by: frutescens <info@laptop>
2024-09-02 00:09:46 -04:00
Blitzy
51ab51cc64
[Balance Hotfix] GMax Butterfree tinted lens -> compound eyes (#3967) 2024-09-02 00:08:43 -04:00
gitlocalize-app[bot]
8edb9ca65b
[Localizaiton(pt_br)] Translate pokemon-summary.json via GitLocalize (#3868)
Co-authored-by: José Ricardo <josefleury@discente.ufg.br>
2024-09-01 23:57:48 -04:00
gitlocalize-app[bot]
08fe9e1e21
[Localization(fr)] Translate trainer-classes.json (#3882)
Co-authored-by: Lugiad <adrien.grivel@hotmail.fr>
2024-09-01 23:57:28 -04:00
gitlocalize-app[bot]
781bfd831f
[Localization] pokemon names, party-ui-handler, pokemon-info and pokemon-info-container localizations for italian (#3836)
* Translate pokemon-info-container.json via GitLocalize

* Translate pokemon-info.json via GitLocalize

* Translate party-ui-handler.json via GitLocalize

* Translate pokemon.json via GitLocalize

---------

Co-authored-by: Niccolò <niccolo.pulcini.07@gmail.com>
2024-09-01 23:55:07 -04:00
innerthunder
e29f1fe5fd
[Bug] Fix some trapping moves' interactions with Ghost-type Pokemon (#3936)
* Fix secondary effects to trapping moves not applying to Ghost types

* Docs for `isTrapped`

* more `isTrapped` cleanup

* Remove .js from imports
2024-09-01 23:39:26 -04:00
NightKev
1fd662111e
[Test] Tests now default to using "Set" battle style (#3728)
* Tests now default to using "Set" battle style

* Fix typo
2024-09-01 23:32:31 -04:00
Adrian T.
56b39032b9
[Dev] add script to create test boilerplate file (#3954)
* add script to create test boilerplate file

* add more docs

* add timeout to template
2024-09-01 23:30:27 -04:00
gitlocalize-app[bot]
80828359e2
[Localization(en)] Fix Roark Dialouge (#3873)
* Translate dialogue-male.json via GitLocalize

* Added female

* !

* Update src/locales/en/dialogue-male.json

* Remove empty files

* Added missing comma

---------

Co-authored-by: Jannik Tappert <tappertjannik@googlemail.com>
Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
2024-09-01 23:28:10 -04:00
NightKev
709066bd1a
[Move] Finish Alluring Voice, Burning Jealousy and Lash Out (#3508)
* Implement Alluring Voice and Burning Jealousy

* Fix Alluring Voice and add tests

* Replace `BattlerTag.STATS_BOOSTED` with `PokemonTurnData` field

* Work around bug with turn data

* Remove unused variable

* Replace nearby instances of `integer` with `number`

* Fix imports

* Implement Lash Out

* Rename `battleStats(In|De)crease` -> `battleStats(In|De)creased`

* Fix copy/paste error

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

* Update tests

---------

Co-authored-by: ElliottSimmonds <simmonds.elliott@yahoo.co.uk>
Co-authored-by: schmidtc1 <62030095+schmidtc1@users.noreply.github.com>
Co-authored-by: Mumble <171087428+frutescens@users.noreply.github.com>
2024-09-01 22:57:07 -04:00
MokaStitcher
dcb03f4ee9
[Test] Add test for final boss fight phase switch (#3847)
* implement test for final boss encounter phase switch

* Update Eternatus tests & helper function

* fix endless_boss test following GameManager update

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-09-01 22:47:22 -04:00
gitlocalize-app[bot]
14e0c66ed9
[Localisation] [ES] Finished and reviewed terrain, modifier, trainer-names, splash messages (#3848)
* Translate splash-messages.json via GitLocalize

* Translate splash-messages.json via GitLocalize

* Translate trainer-names.json via GitLocalize

* Translate modifier.json via GitLocalize

* Translate modifier.json via GitLocalize

* Translate modifier.json via GitLocalize

* Translate terrain.json via GitLocalize

* Update src/locales/es/trainer-names.json

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

---------

Co-authored-by: LilyAlternis <tias.a2002@gmail.com>
Co-authored-by: Asdar <asdargmng@gmail.com>
Co-authored-by: Rafa <rhijano@hotmail.com>
Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-09-01 22:46:53 -04:00
gitlocalize-app[bot]
49c3158fd1
[Localization(ko)] Change ghost type challenge acv for achv-female (#3866)
Co-authored-by: sodam <sodamlee315@gmail.com>
Co-authored-by: Enoch <enoch.jwsong@gmail.com>
Co-authored-by: KimJeongSun <leo@atlaslabs.ai>
2024-09-01 22:45:42 -04:00
gitlocalize-app[bot]
c070f110e5
[Localization(fr)] Additional nature entries in pokemon-summary (#3869)
Co-authored-by: Lugiad <adrien.grivel@hotmail.fr>
2024-09-01 22:44:58 -04:00
flx-sta
0c28da75b4
[Bug] Fix Opponent pokemon sprite disappears after using Roar and Dragon Tail #481 (#3927) 2024-09-01 22:42:23 -04:00
Adrian T.
64368b62bc
[Ability] Add form change support for Flower Gift (#3941)
* add form change support for flower gift

* fix nits
2024-09-01 22:39:42 -04:00
Adrian T.
3bcee779e2
[Move] Fully implement dragon cheer (#3959) 2024-09-01 22:39:12 -04:00
chaosgrimmon
97e3250f62
[Sprite] Chien-Pao sprite cleanup (#3961)
* Delete public/images/pokemon/exp/shiny/1002b.png

* Delete public/images/pokemon/exp/shiny/1002s.png

* Delete public/images/pokemon/exp/shiny/1002sb.png
2024-09-01 22:31:25 -04:00
innerthunder
7755f798fd
[Ability] Implement Tera Shell (#3856)
* Implement Tera Shell

* Apply suggestions from code review

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

* Update src/data/ability.ts

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

* Add comments and fixed damage condition to `applyPreDefend`

* Fix speed tie breaking things in tera shell test

* Change deprecated `startBattle` calls

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: Adrian T. <68144167+torranx@users.noreply.github.com>
2024-09-02 02:21:11 +01:00
Frederico Santos
ac1c29faca fix: Fix missing comma in biomeLinks array 2024-09-02 00:03:51 +01:00
Frederico Santos
dc9a4852b4
Merge pull request #3960 from frutescens/bannerHotfix
[Bug][Hotfix] Missing Banners
2024-09-01 23:40:27 +01:00
frutescens
d7cc8a6e5c Fixed pt-BR and zh-CN 2024-09-01 15:33:10 -07:00
cadi
a41133a55a
blocking inputs while showing texts to prevent moveing cursor (#2371)
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-09-01 15:26:45 -07:00
AJ Fontaine
335d32e0d7
[UI] [QoL] [Enhancement] Exclude redundant species from certain filters in starter select (#3910)
* Exclude species without HA from HA filters in starter select

* Remove candyless starters from passive/cost reduction filters
2024-09-01 15:24:37 -07:00
Mumble
55e0d65ac8
[Refactor] Improvements on getOrder() (#3547)
* Moved getOrder() into TurnStartPhase

* Cleaned up bypass speed checks

* Revert "Cleaned up bypass speed checks"

This reverts commit 11150254f5.

* Added comments.

* Fixed up some inconsistencies

* changed isSameBracket check

* changed isSameBracket check p2

* changed isSameBracket check p3

* changed isSameBracket check p3

* Fixed up conditionals + stall/M.m

* Seems OK

* Update battle-spec.ts

* Updated tests to use new functions introduced. Less intuitive, but faster.

* Update src/phases.ts

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

* Moved getOrder() into TurnStartPhase

* Cleaned up bypass speed checks

* Revert "Cleaned up bypass speed checks"

This reverts commit 11150254f5.

* Added comments.

* Fixed up some inconsistencies

* changed isSameBracket check

* changed isSameBracket check p2

* changed isSameBracket check p3

* changed isSameBracket check p3

* Fixed up conditionals + stall/M.m

* Seems OK

* Update battle-spec.ts

* Updated tests to use new functions introduced. Less intuitive, but faster.

* Removed import

* i hate git

* Moved getOrder() into TurnStartPhase

* Seems OK

* missing import

* Added Snooze's review

* Added test fixes and removed unwanted edit.

* fixed dynamax cannon test

* typedocs fixes

* Updating battle-order.test.ts

* merge fixes

* ughhh

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

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

* Apply suggestions from code review

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

* tsdocs :)

* Fixed tests

* Update src/phases/turn-start-phase.ts

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

* Update src/phases/turn-start-phase.ts

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

* innerthunder's fixes

* commas

* Mocked stats instead of directly changing them

---------

Co-authored-by: Frutescens <info@laptop>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: innerthunder <168692175+innerthunder@users.noreply.github.com>
2024-09-01 15:23:25 -07:00
flx-sta
69a9e6a365
Localization: remove all "<key>_female": null entries in /en (#3918) 2024-09-02 00:21:48 +02:00
Frederico Santos
86fe4dd888
Merge pull request #3834 from pagefaultgames/beta
Beta Release #3
2024-09-01 23:15:28 +01:00
Frederico Santos
55acf0eeac
Merge branch 'main' into beta 2024-09-01 23:10:40 +01:00
Frederico Santos
e80b4fe122 feat: Update banner key assignment in TimedEventDisplay setup method 2024-09-01 21:16:20 +01:00
Mumble
95a02a96a7
Fixing banner error upon refresh (#3956) 2024-09-01 21:11:23 +01:00
Mumble
de66b450a5
[Beta][Misc] Banner (#3926)
* Initial work - does not work.

* Revert

* image replacement

* better scaling

* Removing most of the bangs

* no more bangs

* Update src/timed-event-manager.ts

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

* Implemented Torranx's suggestion

* Ready for Translations

* Delete Picture

* Localized banners

* Biomes fix

* Corrections

* Update src/timed-event-manager.ts

Co-authored-by: Frederico Santos <frederico.f.santos@tecnico.ulisboa.pt>

---------

Co-authored-by: frutescens <info@laptop>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: Frederico Santos <frederico.f.santos@tecnico.ulisboa.pt>
2024-09-01 20:18:40 +01:00
damocleas
85a8abc0e8
[Balance] Final Adjustments to biomes + Gmax Snorlax Ability + Passive changed (#3950)
* Biome Adjustments 1

* MOUNTAIN OUT FROM ANCIENT RUINS

* snorlax gmax adjustment

* Localizers please calm down - Snorlax Ability + Passive change

* One more time let's give it a go biomes.ts

* fixed ]

* Update biomes.ts

* fixed spelling mistake
2024-08-31 16:39:21 -07:00
Mumble
15fea2e171
Gamepad for Run Info (#3940)
Co-authored-by: frutescens <info@laptop>
2024-08-31 19:50:09 +01:00
Mumble
f8e119f37e
[Beta][Bug] Preventing Run History encryption (#3933)
* Blah

* Thought about it more

* Removed excess comment

* Purposely tested everything by manually setting bypassLogin to false

---------

Co-authored-by: frutescens <info@laptop>
2024-08-31 02:12:47 -04:00
Opaque02
ce0ba3fbf9
[Bug] Fixed issue where menu can't be opened up after a trainer battle (#3932) 2024-08-31 00:53:15 -04:00
Frederico Santos
3a50925de0 refactor: Update excludedMenus condition to look for currentPhase instead 2024-08-31 05:14:25 +01:00
Mumble
f9de149f55
double voucher prevention (#3931)
Co-authored-by: frutescens <info@laptop>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-08-31 04:40:40 +01:00
NightKev
642b18e747
[Bug] Fix Pokemon not gaining HP when evolving (#3569)
* Don't recalculate stats that already exist

* add test to cover hp update after evo (#4)

- add evolution phase to phase interceptor
- add mock for video game object
- add returning video mock on add.video()

* add test to make sure pkm are not healed on evolve

* Stop on `EndEvolutionPhase` to prevent game state leak in tests

* Fix imports

* Remove `.js` from import

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

* Add docs to mock class

---------

Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
2024-08-30 20:21:56 -07:00
NightKev
15205c5e00
Prevent daily runs from breaking due to very (un)lucky RNG (#3841) 2024-08-30 20:10:38 -07:00
chaosgrimmon
d9d147280b
[Sprite] Fix Manaphy egg outline (#3863)
* [Sprite] Add Manaphy egg outline

* [Sprite] Fix Manaphy egg outline
2024-08-30 23:10:22 -04:00
chaosgrimmon
3d5957a998
[Sprite] Beta2 Variant Patch icon chores (#3748)
* [Sprite] Add Gen1 icons

* [Sprite] Add Gen3 icons

* [Sprite] Add Gen4 icons

* [Sprite] Add Gen4 icons

* [Sprite] Add Gen5 icons

* [Sprite] Add Gen6 icons

* [Sprite] Add Gen9 icons

* [Sprite] Add Gen1 variant icons

* [Sprite] Add Gen2 variant icons

* [Sprite] Add Gen3 variant icons

* [Sprite] Add Gen4 variant icons

* [Sprite] Add Gen5 variant icons

* [Sprite] Add Gen7 variant icons

* [Sprite] Add more Gen1 variant icons

* [Sprite] Add Beta2 Gen2 variant icons

* [Sprite] Add Beta2 Gen1 variant icons

* [Sprite] Add Beta2 Gen3 variant icons

* [Sprite] Add Beta2 Gen4 variant icons

* [Sprite] Add Beta2 Gen5 variant icons

* [Sprite] Add Beta2 Gen6 variant icons

* [Sprite] Add Beta2 Gen7 variant icons

* [Sprite] Add Beta2 Gen8 variant icons

* [Sprite] Add Beta2 Gen9 variant icons
2024-08-30 23:06:36 -04:00
Frederico Santos
5e2c05afe9 refactor: Update excludedMenus condition to look at the end of the modeChain 2024-08-31 03:33:07 +01:00
Mumble
dd0b6464d2
[Beta][Bug] Fixing Trapped ability messages (#3928)
* always update your repo

* enemy command phase changed too

* typedocs

* Typedocs part 2

* Added simulation boolean back

* restored simulated

* Remove `console.log()` statements

---------

Co-authored-by: frutescens <info@laptop>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-08-30 22:07:27 -04:00
NightKev
dd0e820893
Fix turn order issue in Miracle Eye test (#3912) 2024-08-30 15:33:35 -07:00
Blitzy
8ff566eaca
[Enhancement] Certain Signature Move Animation Fixes (#3878)
* Add Missing Move Animations

* Change Zippy-Zap / Buzzy Buzz animations

* Sappy Seed change

* Change Mortal Spin
2024-08-31 00:21:19 +02:00
Mumble
87f55a8a1a
[Bug][Beta] Double vouchers fix (#3906)
* The fix.

* Ordinals....

* tsdocs..

* my forgetting

* Fixed issues

* Update src/phases/encounter-phase.ts

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

* The actual change

* actual fixes

* This should fix it... maybe

---------

Co-authored-by: frutescens <info@laptop>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-08-30 11:06:18 -07:00
flx-sta
87d2300ee8
[Bug] skip-seen-dialogue storing strings instead of i18n keys (#3900)
* fix skipSeenDialogue storing

seen dialogues were stores as actual string instead of their i18n-keys. This fixes it.

Reported on discord:
https://discord.com/channels/1125469663833370665/1176874654015684739/1278794542648131695

* fix falling back to english

* Victory-Rival Dialgoue

* Update src/phases/game-over-phase.ts

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

* fix showDialogue for non i18n-key calls

showDialogue can be called with either text or an i18n key. This wasn't taken into account and caused some console spamming.

---------

Co-authored-by: frutescens <info@laptop>
Co-authored-by: innerthunder <168692175+innerthunder@users.noreply.github.com>
Co-authored-by: Adrian T. <68144167+torranx@users.noreply.github.com>
2024-08-30 10:59:39 -07:00
AJ Fontaine
e2db9cb8a4
Even more TM fixes (#3889) 2024-08-30 10:54:48 -07:00
Mumble
60aa61e56e
[Bug] Skip Eternatus dialogue again (#3716)
* The fix.

* Ordinals....

* tsdocs..

* my forgetting

* Fixed issues

* Update src/phases/encounter-phase.ts

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

* The actual change

* actual fixes

---------

Co-authored-by: frutescens <info@laptop>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-08-30 11:16:15 +02:00
chaosgrimmon
db4a63dbb9
[Sprite] Fix Courtney eye whites (#3907) 2024-08-30 00:15:35 -07:00
Madmadness65
aeecb67f32 Add inverse "item" sprite
Pull #3525 forgot to add this graphic into the items folder, which would mean the sprite would be lost if the items atlas was overwritten at any point. This shouldn't affect any existing functionality.
2024-08-29 20:56:05 -05:00
Opaque02
d1132a5765
[QoL] Test dialogue menu option (#3725)
* Adding code to allow use of a testing dialogue translation menu

* Updated to include autocomplete functionality

* Added multiple inputs

* Added locales for other languages as well as checks to make this only available on local/beta

* Updated a few things to try get the dialogue to work for full length of the window

* Fixed issue with message box not taking up full length of the screen (thanks Moka!) and some minor bugs

* Whoops, forgot to stage a file

* Updated locale files

* Fixed broken tests and docs

* Removed keys from json

* Reordered and reorganised some things

* Put admin enum at end to match handlers

* Removed old unneeded line of code

* Updated to include the ability to handle cases where i18 keys are null in the locales json
2024-08-30 02:38:46 +01:00
Frederico Santos
f7169868f3 chore: Refactor AdminUiHandler to clear input fields and revert mode 2024-08-30 00:22:09 +01:00
Frederico Santos
7eb6ba4dfd chore: Clear input fields and revert mode in AdminUiHandler 2024-08-30 00:19:03 +01:00
Frederico Santos
f1111dc0d2 chore: Update AdminUiHandler to clear input fields and set mode to ADMIN 2024-08-30 00:13:53 +01:00
AJ Fontaine
3b9b0c4091
Blitzy's implementation of evil teams in trainer-config.ts (#3884) 2024-08-30 00:05:09 +01:00
Frederico Santos
8bf44a2047 Fix error handling and revert mode in AdminUiHandler 2024-08-29 23:59:19 +01:00
MokaStitcher
e4da48f51a
[Bug] Starter select default attributes fixes (#3870)
* Test changes to starter ui stuff for edge case stuff to fix

* Minor bug fixes

* [starter-ui] cleanup outdated fix

* use existing method to get the default form from the caught attributes

* clear the existing StarterPreferences of potential invalid values

* remember the last variant used even when disabling shiny form

* fix variant and shiny checks for edge case with variant flags but no shiny flag

* more fixes for invalid starter prefs and default settings

---------

Co-authored-by: Opaque02 <66582645+Opaque02@users.noreply.github.com>
Co-authored-by: Mumble <171087428+frutescens@users.noreply.github.com>
2024-08-29 14:47:37 -07:00
AJ Fontaine
b2cd21bcb1
Fix evolution items not working on mons without forms (#3902) 2024-08-29 22:13:10 +01:00
Mumble
9833b1da7e
[Balance] Randomized Biome after End Biome (#3888)
* Biome.END goes somewhere random

* this way island is included too

* no towns or plains

* Enums are dumb

---------

Co-authored-by: frutescens <info@laptop>
2024-08-29 22:10:38 +01:00
damocleas
db9434ac11
[Balance] Biome Changes / Minor Passive Changes / Minor Egg Move Changes / Beta GMax form adjustments (#3852)
* [Balance] Previous Egg/Passive/Eternatus Update Adjustments

* Update pokemon-species.ts

* Updated Eternatus, src/field/pokemon.ts

* Update egg-moves.ts for Drowzee and Darkrai

* Update biomes.ts

* Update biomes.ts to screw over Dojo!

* Update pokemon-species.ts gmax adjustments
2024-08-29 20:29:06 +01:00
Leo Kim
c112abbcd2
[Challenge] Inverse battle challenge (#3525)
* add inverse battle challenge. refactoring type.ts for inverse battle challenge

* update type integer -> number

* add inverse battle condition to thunder wave, conversion 2.

* add inverse_battle test code, add checking gameMode in runToSummon not to overwrite gameMode to CLASSIC always

* update startBattle with isClassicMode default = true

* add inverse achievement

* fix achv validation condition

* remove unnecessary new line

* update defaultWidth 160 -> 200

* update locales

* fix korean translation

* fix korean translation2

* Update src/locales/de/achv.ts

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

* Update src/locales/de/challenges.ts

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

* Update src/locales/de/challenges.ts

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

* resize challenge description 96 -> 84

* update challenge select UI size.

* revert font size to 84. update de translation

* Update src/locales/fr/challenges.ts

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

* Update src/locales/fr/achv.ts

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

* Update src/locales/es/challenges.ts

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

* Update src/locales/fr/challenges.ts

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

* Update src/locales/fr/achv.ts

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

* Update src/locales/es/achv.ts

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

* Update src/locales/fr/achv.ts

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

* shrink de font size on achivement

* set middle align to achv title

* Update src/locales/zh_CN/achv.ts

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

* Update src/locales/zh_TW/achv.ts

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

* Update src/locales/zh_CN/challenges.ts

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

* Update src/locales/zh_TW/challenges.ts

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

* fix zh_TW ahiv.ts

* fix import code on inverse battle test for updated phase

* Update src/data/type.ts

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

* update requested changes

* Update src/locales/pt_BR/achv.ts

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

* Update src/locales/pt_BR/achv.ts

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

* Update src/locales/pt_BR/challenges.ts

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

* [draft] update inverse battle apply function

* change the way how to use applyChallenge for inverse type

* resolve confilct

* fix test codes

* remove unnecessary multiplier variable and break codes

* update getTypeDamageMultiplier argument type from `number` to `Type`

* Fix inverse types tests (#1)

* Fix Inverse Battle tests

* Add timeout parameter to tests

* update requested changes

* update requested changes

* update requested changes2

* update comments

* Update src/test/utils/helpers/challengeModeHelper.ts

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

* Update src/test/utils/helpers/challengeModeHelper.ts

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

* fix mis pasted code

* revert loadChallenge code for  FreshStartChallenge

* code refactoring

* restore challenge.json lost translations

* revert UI changes

* revert unreverted newlines

* Run History inclusion

* requested changes from torranx

* update WaterSuperEffectTypeMultiplierAttr for inverse battle matchup.

* fix test code. adding flying press test code

* update requested change from xavion3

* updated requested change from xavion 2

* update requested changes from xavion 3

* remove exception code which is not valid

* attach partial mark to Freeze dry. requested by xavion

* add missing game over phase code when we delete old phases.ts

* fix test codes

* merge conflict

* fix achv condition

* updated achv block condition. we don't want to change desc now

* resolve conflict

* Eternatus Moveset Tinkering

* Cleaning it up

---------

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>
Co-authored-by: Asdar <asdargmng@gmail.com>
Co-authored-by: mercurius-00 <80205689+mercurius-00@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
Co-authored-by: frutescens <info@laptop>
2024-08-29 19:59:33 +01:00
Jannik Tappert
1e95068f14
[Localization] [EN] Admin Dialouge as it was intended by blitzy (#3896)
* Admin Dialouge as it was intended by blitzy

* Dont forget the females

* Delete female file
2024-08-29 19:40:12 +02:00
flx-sta
968c4ce3e6
[Localization] Use gender context for dialogues (all 3 files) (#3879)
* merge dialogue files into single files

No more -male, -female. Rather using context

* adopt changes from #3697
2024-08-29 10:17:40 -07:00
Jason Guan
0d7c335cd9
[Bug] Make Destiny Bond fail when used consecutively in accordance with Gen VII+ implementation (#3504)
* make destiny bond fail on consecutive turns

* Update move.ts to remove .length shorthand

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

* change 'turnMove' variable name

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

* update variable names

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

* add comments

* Replace tabs with spaces

---------

Co-authored-by: schmidtc1 <62030095+schmidtc1@users.noreply.github.com>
Co-authored-by: Mumble <171087428+frutescens@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-08-29 10:00:58 -07:00
Blitzy
4cea71c400
[Localization] Change a few Evil Admin lines to sound more coherent. (#3697)
* Change a few lines of dialogue

* Change line per request of Dertapp

* Update dialogue.ts

* Update src/locales/de/dialogue.ts

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

* Update ko locales

* Apply suggestions from code review

Co-authored-by: Asdar <asdargmng@gmail.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: Asdar <asdargmng@gmail.com>
2024-08-29 18:54:56 +02:00
gitlocalize-app[bot]
c742e99650
[Localization] [DE] Fix Lusamine Dialog spelling (#3880)
* Translate dialogue-male.json via GitLocalize

* Translate dialogue-female.json via GitLocalize

* Update src/locales/de/dialogue-male.json

* Update src/locales/de/dialogue-male.json

---------

Co-authored-by: Jannik Tappert <tappertjannik@googlemail.com>
Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
2024-08-29 18:41:44 +02:00
flx-sta
af918975a8
adapt gender context logic to run-history (#3881) 2024-08-29 09:25:45 -07:00
Opaque02
b781562553
Updated rival battle to have space between words again (#3893)
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
2024-08-29 18:16:51 +02:00
flx-sta
44294f1aec
[Localization] Use gender context for achievments/achv (#3871)
* i18n: prepare female DE achievments

and copy keys in base language: en

* adapt gender context for achv

* add a TODO about an odd `this` usage

* remove debugging leftover code

whops

* add `playerGender` to settings helper

* fix test runs

And revert some changes
2024-08-29 09:13:35 -07:00
Opaque02
27d52af077
Changed Mode.ADMIN enum to be in line with the handler (#3892) 2024-08-29 15:59:06 +01:00
Opaque02
59ff4e9941
Admin panel beta (#3846)
* feat: Add hasAdminRole property to UserInfo interface and update initLoggedInUser and updateUserInfo functions

This commit adds the hasAdminRole property to the UserInfo interface in the account.ts file. The initLoggedInUser function is updated to set the hasAdminRole property to false by default. The updateUserInfo function is also updated to set the hasAdminRole property to false when bypassLogin is true. This change allows for better management of user roles and permissions.

Co-authored-by: frutescens <info@laptop>
Co-authored-by: Frederico Santos <frederico.f.santos@tecnico.ulisboa.pt>

* Updated UI for admin panel and menu

* Remove random blank line from merge

* Fix imports in `src/ui/ui.ts`

---------

Co-authored-by: Frederico Santos <frederico.f.santos@tecnico.ulisboa.pt>
Co-authored-by: frutescens <info@laptop>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-08-29 10:22:01 +01:00
Blitzy
d86c47a39f
[Sprite] Update Rose Sprite (#3890) 2024-08-29 01:57:22 -07:00
Blitzy
8f2699e6ea
[Enhancement] Update Team Skull Sprites (#3886)
* Update Team Skull Sprites

* Add files via upload

* Update skull_grunt_f.json

* Update skull_grunt_m.json

* Fix eol

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-08-28 23:38:21 -07:00
Mumble
781e25848d
fixed infinite loop (#3887)
Co-authored-by: frutescens <info@laptop>
2024-08-28 22:44:26 -07:00
EmberCM
35f522fd99
Fix text disappearing while in transferMode (#3740)
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
2024-08-28 17:17:18 -07:00
Mumble
e0bcb2ef27
[P3 Bug] Run History function saves the most-recent session data possible (#3838)
Co-authored-by: frutescens <info@laptop>
2024-08-28 15:00:38 -04:00
gitlocalize-app[bot]
447d47ef47
Translate trainer-names.json via GitLocalize (#3860)
Co-authored-by: José Ricardo <josefleury@discente.ufg.br>
2024-08-28 20:29:15 +02:00
gitlocalize-app[bot]
fd81a5d3b3
Translate settings.json via GitLocalize (#3867)
Co-authored-by: Asdar <asdargmng@gmail.com>
2024-08-28 20:27:12 +02:00
Mumble
170a5831bf
[Bug] Updating ModifierItems' audio keys (#3853)
Co-authored-by: frutescens <info@laptop>
2024-08-28 11:01:15 -07:00
gitlocalize-app[bot]
ad4b4a0af7
[Localisation] [ES] Reviewed and translated missing settings.json (#3865)
* Translate settings.json via GitLocalize

* Translate settings.json via GitLocalize

---------

Co-authored-by: Rafa <rhijano@hotmail.com>
Co-authored-by: Asdar <asdargmng@gmail.com>
2024-08-29 01:06:39 +09:00
gitlocalize-app[bot]
35af6b2cbc
Translate pokemon-summary.json via GitLocalize (#3864)
Co-authored-by: Jannik Tappert <tappertjannik@googlemail.com>
2024-08-28 10:15:56 +02:00
chaosgrimmon
c543fd7832
Merge pull request #3854 from chaosgrimmon/lycanroc-midnight
[Sprite] Shiny Lycanroc Midnight using non-shiny palette
2024-08-28 01:18:03 -04:00
NightKev
4124ad0b93
Create the appropriate startBattle() functions in the helper classes (#3855) 2024-08-27 17:47:09 -07:00
Enoch
214a9275a9
Add missed natureFragment (#3859) 2024-08-27 17:37:20 -07:00
gitlocalize-app[bot]
f34137a950
[Localization][KO] Translate missed things (settings, bgm-name) (#3857)
* Translate bgm-name.json via GitLocalize

* Translate settings.json via GitLocalize

---------

Co-authored-by: Enoch <enoch.jwsong@gmail.com>
2024-08-27 17:34:58 -07:00
Adrian T.
5f3383ff04
[Dev] Cleanup some opponent overrides + add new opp form override (#3733)
* replace interger types, add opp form override

* move code to EnemyPokemon class

* Update src/field/pokemon.ts

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

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-08-27 17:34:16 -07:00
chaosgrimmon
f9e3b373d9
[Sprite] Shiny Lycanroc Midnight using non-shiny
Palette taken from static back
2024-08-27 17:45:06 -04:00
gitlocalize-app[bot]
4ba8080333
[Localisation] [DE] Evil Team Dialogue (#3851)
* Translate dialogue-female.json via GitLocalize

* Male dialogue

---------

Co-authored-by: Jannik Tappert <tappertjannik@googlemail.com>
Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
2024-08-27 23:34:56 +02:00
chaosgrimmon
c154c52517
[Bug] Show variant icons when forms share masterlist entry (#3767) 2024-08-27 13:25:36 -07:00
schmidtc1
d3dfd006f8
[Bug] Fixes Unseen Fist ignoring abilities (#3708)
* Inserts break to prevent fall through in checkFlag

* Adds break to IGNORE_PROTECT case for safety

* Revert "Adds break to IGNORE_PROTECT case for safety"

This reverts commit 2589faf69e.

* Adds break to IGNORE_PROTECT properly
2024-08-27 13:06:21 -07:00
Sumwatt
d6dbd25e91
Makes Decorate Bypass Protect (#3845) 2024-08-27 11:40:00 -07:00
Mumble
5de11be05b
[Beta][Bug] Sounds in Dialogue Changes (#3837)
* Fixing localization sounds.

* Normalizing loud files

---------

Co-authored-by: frutescens <info@laptop>
2024-08-27 11:25:49 -07:00
Amani H.
34fb5461d7
[Bug] Add Pre-Form Checks (#3839)
Co-authored-by: Paul Sarda <paul@sarda.dev>
2024-08-27 11:25:33 -07:00
chaosgrimmon
85e95a751d
[Sprite] Add missing Gigantamax Kingler back variants (#3696)
* [Sprite] Add Gigantamax Kingler back palette

Edited from front counterpart.

* [Sprite] Use Gigantamax Kingler back palettes
2024-08-27 11:04:18 -07:00
Opaque02
7f76739591
Updated IV scanner legacy theme text colour (#3637) 2024-08-27 11:03:29 -07:00
Blitzy
52b07954e5
[Feature] Implement Additional Evil Teams (#3290)
* Implement new Evil Leaders + Grunts

* Add in data for Admins + more dialogue options for Grunts

* Update Locales

Update trainers.ts

* Update trainers.ts

* Update src/locales/fr/trainers.ts

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

* Update src/locales/fr/trainers.ts

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

* Update src/locales/fr/trainers.ts

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

* Update trainers.ts

* Update src/locales/de/trainers.ts

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

* Apply suggestions from code review

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
Co-authored-by: sodam <66295123+sodaMelon@users.noreply.github.com>
Co-authored-by: Yonmaru40 <47717431+40chyan@users.noreply.github.com>

* Fix Linter

* Update trainer-config.ts

* Add admin battle themes, rename admins internally

Adds the Galactic, Skull, and Macro Cosmos admin battle themes. Also renames Faba, Plumeria, and Oleana internally to keep consistent with the other admins. Re-exported their graphics as well to fix minor issues with them.

* Update trainers.ts

* Add doubles grunts to locale, support ca_ES

The doubles trainer classes will need localized.

* Slight Grunt pool adjustments

* Update trainer-config.ts

* Update trainer-config.ts

* Add files via upload

* Update trainer-config.ts

* Delete Unused Sprite

* Delete unused Sprite 2

* Update dialogue-female.json

* Update dialogue-male.json

* Update trainer-config.ts

* Update trainer-titles.json

* Update trainer-titles.json

* Update trainer-classes.json

* Apply suggestions from code review

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

* Fix music formatting

* Slight Admin Pool Adjustments

* linter fix

* Formatting fix / Ability fix

---------

Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>
Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
Co-authored-by: sodam <66295123+sodaMelon@users.noreply.github.com>
Co-authored-by: Yonmaru40 <47717431+40chyan@users.noreply.github.com>
Co-authored-by: Madmadness65 <blaze.the.fireman@gmail.com>
Co-authored-by: xsn34kzx <xsn34kzx@gmail.com>
2024-08-27 19:45:58 +02:00
NightKev
5b400af5b7
Fix daily mode test being unreliable (#3840) 2024-08-26 20:17:27 -07:00
chaosgrimmon
930e3289f2
Merge pull request #3703 from chaosgrimmon/skiddo-gogoat
[Sprite] Fix rare Skiddo and Gogoat exp backs
2024-08-26 20:50:10 -04:00
gitlocalize-app[bot]
71b45f0c46
Translate pokemon-info.json via GitLocalize (#3756)
Co-authored-by: Niccolò <niccolo.pulcini.07@gmail.com>
2024-08-26 16:43:32 -07:00
gitlocalize-app[bot]
264d7f584a
Translate settings.json via GitLocalize (#3835)
Co-authored-by: Niccolò <niccolo.pulcini.07@gmail.com>
2024-08-26 16:10:38 -07:00
gitlocalize-app[bot]
1a76a238cb
[Localizatio] [pt_BR] Updated many translations (#3830)
* Translate ability.json via GitLocalize

* Translate arena-flyout.json via GitLocalize

* Translate dialogue-female.json via GitLocalize

* Translate modifier-type.json via GitLocalize

* Translate move.json via GitLocalize

* Translate settings.json via GitLocalize

* Translate tutorial.json via GitLocalize

---------

Co-authored-by: José Ricardo <josefleury@discente.ufg.br>
2024-08-26 23:43:35 +02:00
gitlocalize-app[bot]
6ccb6fc776
Translate settings.json via GitLocalize (#3832)
Co-authored-by: Jannik Tappert <tappertjannik@googlemail.com>
2024-08-26 23:19:26 +02:00
gitlocalize-app[bot]
b0933007d8
Translate settings.json via GitLocalize (#3833)
Co-authored-by: Lugiad <adrien.grivel@hotmail.fr>
2024-08-26 23:19:11 +02:00
gitlocalize-app[bot]
17faea0eed
Translate pokemon-form.json via GitLocalize (#3792)
Co-authored-by: José Ricardo <josefleury@discente.ufg.br>
2024-08-26 23:10:38 +02:00
NightKev
d234466d61
[Balance] Make sure trainers are using fully evolved Pokémon by gym 3 (#3499)
* Make sure trainers are using fully evolved Pokemon by gym 3

* Expand comment info

Co-authored-by: Mumble <kimjoanne@protonmail.com>

* Implement suggestions

* Update `getPokemonSpecies()` to throw an error if passed `undefined`

---------

Co-authored-by: Mumble <kimjoanne@protonmail.com>
2024-08-26 23:05:16 +02:00
chaosgrimmon
f5757f0a3a
[Sprite] Fix exp back epic Bombirdier (#3688)
* [Sprite] Add Bombirdier exp back epic palette

Taken from static back palette

* [Sprite] Use Bombirdier exp back epic palette

* Delete public/images/pokemon/variant/exp/back/962_3.png

* Delete public/images/pokemon/variant/exp/back/962_3.json
2024-08-26 14:03:57 -07:00
gitlocalize-app[bot]
6b38c7213a
[Localization] [DE] ReRemove the event text (#3739)
* Translate dialogue-female.json via GitLocalize

* Translate dialogue-male.json via GitLocalize

---------

Co-authored-by: Jannik Tappert <tappertjannik@googlemail.com>
2024-08-26 23:00:19 +02:00
Mumble
c52f439dc1
Corrections and adjustments (#3831)
Co-authored-by: frutescens <info@laptop>
2024-08-26 21:50:19 +01:00
gitlocalize-app[bot]
de2abac09d
Translate bgm-name.json via GitLocalize (#3791)
Co-authored-by: Asdar <asdargmng@gmail.com>
2024-08-26 22:42:33 +02:00
gitlocalize-app[bot]
fddf6cb76c
Translate trainer-classes.json via GitLocalize (#3788)
Co-authored-by: José Ricardo <josefleury@discente.ufg.br>
2024-08-26 22:28:37 +02:00
gitlocalize-app[bot]
856d468c35
Translate pokemon-info.json via GitLocalize (#3789)
Co-authored-by: José Ricardo <josefleury@discente.ufg.br>
2024-08-26 22:26:47 +02:00
Jannik Tappert
9f1c0a92b5
Clearly define the pichu evolutions (this does not change the behaviour just makes it clea in the code!) (#3781) 2024-08-26 22:20:55 +02:00
chaosgrimmon
f2dd9b9435
[Sprite] Recolour shiny exp Galarian Ponyta (#3765)
Recolour by koda_want_to_sleep
2024-08-26 22:19:16 +02:00
gitlocalize-app[bot]
d722645932
Translate bgm-name.json via GitLocalize (#3764)
Co-authored-by: Lugiad <adrien.grivel@hotmail.fr>
2024-08-26 22:15:02 +02:00
gitlocalize-app[bot]
290cb01f17
Translate pokemon-summary.json via GitLocalize (#3773)
Co-authored-by: Enoch <enoch.jwsong@gmail.com>
2024-08-26 22:13:31 +02:00
Asdar
00917b6de1
[Localisation] [JA] Japanese backlog localisation to json (#3782)
* Re-Added localisation for Meloetta Pirouette

* "Refactored Japanese backlog (json migration)"

* Update pokemon-form.json IT

Mixed with Meloetta PR

* Fixed Meloetta changes sneaking in the JA PR

* Fixed Meloetta changes sneaking in the JA PR again

* Update src/locales/ja/menu-ui-handler.json

This is why translation PRs should not sit for 2 weeks

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

---------

Co-authored-by: Mumble <171087428+frutescens@users.noreply.github.com>
2024-08-26 22:12:53 +02:00
gitlocalize-app[bot]
fe575da036
[Localisation] [ES] Review and finish up of ability-trigger.json (#3784)
* Translate ability-trigger.json via GitLocalize

* Translate ability-trigger.json via GitLocalize

---------

Co-authored-by: Rafa <rhijano@hotmail.com>
Co-authored-by: Asdar <asdargmng@gmail.com>
2024-08-26 13:11:24 -07:00
Taylor Le Lievre
f688ed7329
[QoL] Add setting to control volume of UI sound efffects (#3354)
* Added settings option to toggle UI sound effects

* Added text to other locales

* Localizations except es and it

* New language locales

* Added italian translation

Co-authored-by: Niccolò <123510358+NicusPulcis@users.noreply.github.com>

* Refactored on top of PR #3527

* Rebased and updated setting name

* Added comments for the included sound effects

---------

Co-authored-by: Niccolò <123510358+NicusPulcis@users.noreply.github.com>
2024-08-26 13:01:54 -07:00
Asdar
392bb1803c
ReAdd Portuguese Pokémon Names (#3790) 2024-08-26 11:49:39 -07:00
Adrian T.
2d0a4326b6
fix failing belly drum test (#3768) 2024-08-26 09:14:59 -07:00
gitlocalize-app[bot]
bbbb6d6f79
[Localization] [DE] Rest of german translation (#3714)
* Translate dialogue-misc-female.json via GitLocalize

* Translate dialogue-misc-male.json via GitLocalize

* Translate run-history.json via GitLocalize

* Translate settings.json via GitLocalize

* Update src/locales/de/settings.json

---------

Co-authored-by: Jannik Tappert <tappertjannik@googlemail.com>
Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
2024-08-26 23:26:36 +08:00
Asdar
2744ede93c
Re-Added localisation for Meloetta Pirouette (#3779) 2024-08-26 16:24:11 +02:00
gitlocalize-app[bot]
2d445c9661
Translate move.json via GitLocalize (#3759)
Co-authored-by: Jannik Tappert <tappertjannik@googlemail.com>
2024-08-26 16:23:30 +02:00
gitlocalize-app[bot]
656a8bf646
Translate bgm-name.json via GitLocalize (#3736)
Co-authored-by: Jannik Tappert <tappertjannik@googlemail.com>
2024-08-26 22:22:12 +08:00
gitlocalize-app[bot]
76e7297596
Translate pokemon-info.json via GitLocalize (#3772)
Co-authored-by: Leo Kim <leo@atlaslabs.ai>
2024-08-26 11:17:39 +02:00
gitlocalize-app[bot]
26376175ae
Translate run-history.json via GitLocalize (#3774)
Co-authored-by: Enoch <enoch.jwsong@gmail.com>
2024-08-26 14:57:53 +09:00
gitlocalize-app[bot]
530ed1067f
Translate menu.json via GitLocalize (#3771)
Co-authored-by: Enoch <enoch.jwsong@gmail.com>
2024-08-26 14:57:04 +09:00
gitlocalize-app[bot]
ff09b31ffb
Translate bgm-name.json via GitLocalize (#3770)
Co-authored-by: returntoice <dieandbecome@gmail.com>
2024-08-26 14:42:03 +09:00
innerthunder
0221c9faba
[Ability][Move] Rewrite Type Resolution and Effectiveness Calculation Functions (#3704)
* Make type/category read-only

* Fix protean/libero tests

* Refactor Pokemon type effectiveness calculation

* Merge getMoveEffectiveness and getAttackMoveEffectiveness

* Move priority-blocking ability check

* Fix incorrect early stopping implementation in MultiHitAttr

* Fix Aerilate, etc. affecting variable-type moves

* Thunder Wave now respects Attack type immunities

* Use final move types for pre-defend abilities

* Steal some things from flx's PR hehe

* Fix Thousand Arrows + "No effect" messages

* Fix status type effectiveness check

* Another status move effectiveness update + some docs

* changing status logic again...

* Fix unnecessary "No Effect" message for Volt Absorb, etc

* Add type effectiveness unit test

* Add Galvanize integration tests

* Add multi-hit test to galvanize tests

* Add power check to first Galvanize test

* Add missing doc line

Co-authored-by: Amani H. <109637146+xsn34kzx@users.noreply.github.com>

* Resolve torranx's nits

* Apply suggestions from Kev's code review

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

* More suggestions I missed

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

* Optimize effectiveness test and make others more stylish (#3)

* Resolve Kev's remaining nits and some test issues

---------

Co-authored-by: Amani H. <109637146+xsn34kzx@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: flx-sta
Co-authored-by: frutescens
2024-08-25 19:11:01 -07:00
NightKev
443e4bd24c
Multi-target damage reduction is now properly calculated (#3734) 2024-08-25 17:40:43 -07:00
Leo Kim
387d3ac999
[Enhancement] Slightly improve the challenge selection UI, achievement UI, and achievement message window. (#3731)
* resize achv box default width

* add language font size option. DE font size 80px

* resize challenge desc window width. fix cursor width. shrink font size of desc. set middle align start label
2024-08-25 17:11:03 -07:00
Blitzy
0bdb23d41f
[Balance] Give Partner Eevee and G-Max Eevee access to their signatures / Fix G-Max Pikachu Learnset (#2474)
* Add Moves to Eevee

* Add Level Up Moves to G-Max Eevee

* Fix Pikachu G-Max Learnset
2024-08-25 15:26:19 -07:00
damocleas
b7d71df466
[Balance] Gigantamax State/Form Rebalance (#2442)
* [Balance] Gigantamax State/Form Rebalance (WIP)

* GMAX Ability for Orbeetle adjusted

* fixed typo on CHLOROPHYLL

* Adjusted stats so there was a less intense drop in some stats

* Added comments to GMAX Pikachu, Eevee, Meowth

* Updated ability for GMAX Kingler and Eevee

* Added Stellar typing to GMAX Eevee

* Fixed typing on GMAX Eevee and Snorlax

* GMax Garbodor- Toxic Debris > Corrosion

* Corrected Trubbish passive to not overlap with GMax Garbodor

* Update pokemonFixed Coalossal, Flapple, and Centiskorch BST, Alcremie Ability Change

* Changed Alcremie Passive in adjustment with Gmax ability

* Undid Eevee being Stellar

* Gmax Sandaconda Sand Stream -> Sand Spit

* Balance Sweep of changes by damo, less dropped stats and simpler spreads

* fixed 5 Appletun BST I missed

* fixed missing Hatterene BST
2024-08-25 22:51:00 +02:00
Asdar
1c715d74b1
[Localisation] [IT] Old PRs to .json and screenshots (#3737)
* [Localisation] Italian PRs to .json and screenshots

* Update src/locales/it/trainer-titles.json

Co-authored-by: Niccolò <123510358+NicusPulcis@users.noreply.github.com>

---------

Co-authored-by: Niccolò <123510358+NicusPulcis@users.noreply.github.com>
2024-08-25 13:44:08 -07:00
Lugiad
6b11632114
[Localization] Some French corrections + new dialogues translations (#3727)
* Update ability-trigger.json

* Update ability.json

* Update achv-female.json

* Update achv-male.json

* Update battle-info.json

* Update bgm-name.json

* Update egg.json

* Update menu.json

* Update modifier-type.json

* Update modifier.json

* Update modifier.json

* Update trainer-classes.json

* Update move.json

* Update dialogue-male.json

* Update dialogue-male.json

* Update dialogue-female.json

* Update dialogue-male.json

* Update dialogue-female.json

* Update dialogue-male.json

* Update dialogue-female.json

* Update dialogue-double-battle-female.json

* Update dialogue-double-battle-male.json

* Update dialogue-male.json

* Update dialogue-male.json

* Update dialogue-female.json

* Update bgm-name.json

* Update bgm-name.json

* Update move.json

* Update bgm-name.json

* Update dialogue-male.json

* Update dialogue-female.json

* Update dialogue-male.json

* Update dialogue-female.json

* Update dialogue-male.json

* Update dialogue-male.json

* Update dialogue-male.json

* Update dialogue-female.json

* Update dialogue-male.json

* Update dialogue-female.json

* Update dialogue-male.json

* Update dialogue-female.json

* Update modifier.json

* Update dialogue-male.json

* Update dialogue-female.json

* Update dialogue-male.json

* Update dialogue-female.json
2024-08-25 22:09:01 +02:00
gitlocalize-app[bot]
3bcc9f76f1
Translate modifier-type.json via GitLocalize (#3758)
Co-authored-by: Asdar <asdargmng@gmail.com>
2024-08-25 22:06:36 +02:00
schmidtc1
93f658b624
[Bug] Fixes Lunar Blessing only healing twice on the user instead of ally (#3701)
* Sets Lunar Blessing selfTarget healing to false

* Removes redundant lines

* Adds unit test for Lunar Blessing

* Adjusts unit tests to spy on function calls
2024-08-26 03:58:28 +08:00
NightKev
4162762a0e
[Test] Refactor/consolidate Forecast tests (#3754) 2024-08-25 12:24:44 -07:00
gitlocalize-app[bot]
4ac726f79e
Translate menu.json via GitLocalize (#3752)
Co-authored-by: Asdar <asdargmng@gmail.com>
2024-08-25 12:19:32 -07:00
Blitzy
96a404a3d5
[Balance] Revert Zippy Zap back to its LGPE Implementation (#3495)
* Update move.ts

* Update Move Description

* Update move.ts

---------

Co-authored-by: xsn34kzx <xsn34kzx@gmail.com>
2024-08-25 11:35:58 -07:00
NightKev
72702abb2f
Fix egg tests (memory use: ~2.4G -> ~550M) (#3757) 2024-08-25 19:07:06 +01:00
Jannik Tappert
2df5da2f61
[QOL] Trainers will display their title after defeat in the name box (#3738)
* Enemy trainers will now show their title after defeat

* Basically titles are now always shown (like in the real games)

* Revert "Basically titles are now always shown (like in the real games)"

This reverts commit 6943860539.
2024-08-25 19:52:07 +02:00
flx-sta
49f4f8ea71
[Localization] fix run-history locale files namings (#3745)
* fix `run-history` locale files namings

* fix imports in `config.ts`
2024-08-25 19:44:35 +02:00
chaosgrimmon
451307a7d8
Merge pull request #3732 from pom-eranian/variant_png_to_json
[Sprite] Variant Fixes and Images Converted to Color Swap JSON
2024-08-25 13:43:09 -04:00
Mumble
933cfcbad3
[Refactor][QoL] Game Audio + New Settings (#3527)
* Changed how non-BGM are loaded into the game + moved into directories

* some leftovers

* Apply suggestions from code review

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

* Added setting for Field Volume + rewrote playSound() and updateSoundVolume() functions to reflect the new settings.

* Main -> Beta (#3635)

* Fixed issue with falsy issue within condition to get a stat for IV scanner

* add fix setting code to prevent form/variant bug when default form/variant setting is wrong.
in addition, that fix code include gender fix, so i revert old gender fix.
update wrong log message.

* [Hotfix] Fix Memory Mushroom not showing relearner moves (#3619)

* Fix Memory Mushroom not showing relearner moves

* Fix rollout test

* Rewrite player faint logic in FaintPhase (#3614)

* 867 runerigus sprite (#3629)

cropped static frames, fixed cropped sprite
set runerigus exp to use the shiny exp's animation
verified all hex colors are unchanged

- fixed ultra necrozma exp front variant swapped arrays.
- xatu female eye color fix

* [Bug] Preventing the MBH from being stolen in Endless (#3630)

* Endless MBH Fix

* add import

* Revert "add import"

This reverts commit 814a4059c2.

* Revert "Endless MBH Fix"

This reverts commit 8eb4481301.

* removed newline

---------

Co-authored-by: Frederico Santos <frederico.f.santos@tecnico.ulisboa.pt>
Co-authored-by: frutescens <info@laptop>

* [Bug] Fix type-hints for immunity (#3620)

* enable mock containers to be found by name

* enable mock text to be found by name

* add test coverage for type-hints

Only for "immunity" and "status moves"

* fix wrong message key of curse(ghost type) (#3631)

Co-authored-by: Frederico Santos <frederico.f.santos@tecnico.ulisboa.pt>

* [Hotfix] Steal-able Mini Black Hole Pt 2  (#3632)

* Still have no idea where Eternatus is given the MBH....

* typedocs

---------

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

* [Hotfix] Abilities that prevent ATK drops no longer stop other stat drops (#3624)

* Abilities that prevent ATK drops no longer stop other stat drops

* Apply suggestions from code review

Co-authored-by: Mumble <kimjoanne@protonmail.com>

* Add `isNullOrUndefined()` utility function

---------

* Grip Claw now shows the proper pokemon nickname (#3634)

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

---------

Co-authored-by: Opaque02 <66582645+Opaque02@users.noreply.github.com>
Co-authored-by: KimJeongSun <leo@atlaslabs.ai>
Co-authored-by: Frederico Santos <frederico.f.santos@tecnico.ulisboa.pt>
Co-authored-by: innerthunder <168692175+innerthunder@users.noreply.github.com>
Co-authored-by: cam <lrlrliwoo@gmail.com>
Co-authored-by: Mumble <kimjoanne@protonmail.com>
Co-authored-by: frutescens <info@laptop>
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
Co-authored-by: Enoch <enoch.jwsong@gmail.com>
Co-authored-by: Mumble <171087428+frutescens@users.noreply.github.com>

* [Bug] Preventing the MBH from being stolen in Endless (#3630)

* Endless MBH Fix

* add import

* Revert "add import"

This reverts commit 814a4059c2.

* Revert "Endless MBH Fix"

This reverts commit 8eb4481301.

* removed newline

---------

Co-authored-by: Frederico Santos <frederico.f.santos@tecnico.ulisboa.pt>
Co-authored-by: frutescens <info@laptop>

* [Hotfix] Steal-able Mini Black Hole Pt 2  (#3632)

* Still have no idea where Eternatus is given the MBH....

* typedocs

---------

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

* Deleted phases.ts (#3618)

* Updated sound terms

* Added space for localization

* Update src/locales/ko/settings.ts

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

* Update src/locales/zh_TW/settings.ts

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

* Update src/locales/pt_BR/settings.ts

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

* Update src/locales/zh_CN/settings.ts

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

* Update src/locales/de/settings.ts

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

* Update src/locales/ko/settings.ts

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

* Update src/locales/fr/settings.ts

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

* Update src/locales/it/settings.ts

Co-authored-by: Niccolò <123510358+NicusPulcis@users.noreply.github.com>

* Include sound effects that were loaded in as BGM.

* Removed stray placeholder localization

---------

Co-authored-by: Frutescens <info@laptop>
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: Opaque02 <66582645+Opaque02@users.noreply.github.com>
Co-authored-by: KimJeongSun <leo@atlaslabs.ai>
Co-authored-by: Frederico Santos <frederico.f.santos@tecnico.ulisboa.pt>
Co-authored-by: innerthunder <168692175+innerthunder@users.noreply.github.com>
Co-authored-by: cam <lrlrliwoo@gmail.com>
Co-authored-by: Enoch <enoch.jwsong@gmail.com>
Co-authored-by: mercurius-00 <80205689+mercurius-00@users.noreply.github.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: returntoice <dieandbecome@gmail.com>
Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>
Co-authored-by: Niccolò <123510358+NicusPulcis@users.noreply.github.com>
2024-08-25 17:40:14 +01:00
NightKev
762aa9e49b
Update the GitHub pull request template (#3755) 2024-08-25 17:28:29 +01:00
MokaStitcher
163fadbd62
[Bug] Prevent being able to start with a hidden ability that's not unlocked for some Pokemon (#3663)
* prevent being able to start with a hidden ability that's not unlocked for some Pokemon

* fix starter ui for pokemon with a single ability and only ability 2 unlocked
2024-08-26 00:25:40 +09:00
gitlocalize-app[bot]
3b4b45f83c
Translate modifier.json via GitLocalize (#3730)
Co-authored-by: Leo Kim <leo@atlaslabs.ai>
2024-08-26 00:24:52 +09:00
Lugiad
ac543d3662
Merge pull request #3751 from pagefaultgames/gitlocalize-30710
[Localization] [ES] Reviewed and finished pokemon-info.json
2024-08-25 17:07:11 +02:00
Mumble
1ab472cbdf
[Bug] Achievements/Vouchers doesn't update if Cursor doesn't move (#3747)
Co-authored-by: frutescens <info@laptop>
2024-08-25 07:14:47 -07:00
Asdar
606050fc4d Translate pokemon-info.json via GitLocalize 2024-08-25 11:55:47 +00:00
Adrian T.
03de6cfe36
[Ability] Implement Forecast (#3534)
* initial forecast implementation

* updates

* bug fixes and add tests

* bug fixes

* update docs

* fix issues post-merge

* add show ability

* add support for simulated abilities

* add simulated conditions and fix tests

* fix simulated conditions
2024-08-25 17:23:09 +08:00
AJ Fontaine
19b7ebe94c
[Balance] More TM fixes including Acid Spray, Expanding Force 2024-08-25 01:46:45 -07:00
flx-sta
971ef88c79
fix move-left lock rarities condition (#3744) 2024-08-25 03:59:22 +01:00
Frederico Santos
31a11e08bb
Merge pull request #3743 from pagefaultgames/main
Main to Beta sync
2024-08-25 02:36:41 +01:00
Frederico Santos
2c4f02098f chore: Fix import formatting in ui.ts file 2024-08-25 02:35:16 +01:00
Frederico Santos
f6fd091d9b
Doc update (#3742)
* Update feature_request.yml

Fix auto labels

* add CODEOWNERS file

* Update CODEOWNERS

* Update pull_request_template.md

---------

Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
2024-08-25 02:09:29 +01:00
Mumble
c7184558c2
[Enhancement][UI] Merging Achievements and Vouchers into a single Page (#3424)
* Merging Achievements/Vouchers

* Fixed bug

* Fixed bug

* Removed vouchers-ui-handler.ts

* fixed update bug

* sample localization change

* Fixing imports

* Organized localizations

* Not a Cat commit unless something's forgotten

* Made Action button/text position responsive to language.

* typedocs

* idk why phaser

* ugh

* Fixed cursors

* why

* Removing stray file

* Merge conflicts yay

---------

Co-authored-by: Frutescens <info@laptop>
2024-08-25 00:36:18 +01:00
Mumble
f6551efc36
[Bug] Run History Day 1 patch (#3715)
* Money Display Fix + Partially localized import data

* Fixed Japanese text.

---------

Co-authored-by: frutescens <info@laptop>
2024-08-25 00:03:28 +01:00
Dakurei
9bcbc66db0
Change background-color to black if display-mode is fullscreen (#1605)
+ fullscreen which is the mode defined in manifest.webmanifest
2024-08-24 23:56:50 +01:00
MokaStitcher
1e4b3a45dd
[QoL] Add arrows in the Stats screen to show it is scrollable (#3489)
* [qol] add animated arrows in the Stats screen to show that the list is scrollable

* make legacy theme checks more explicit

* add some documentation + code cleanup
2024-08-24 23:56:35 +01:00
雪霁
872f05d2a7
centralize module typing overrides (#1786)
* optimize typings with declaration file
2024-08-24 12:46:16 -07:00
pom-eranian
ee8c1625e2 Reverted 935 charcadet values on masterlist 2024-08-24 14:20:23 -04:00
Madmadness65
d15c01378d Minor filename correction
Misspelled "forme".
2024-08-24 13:15:41 -05:00
Madmadness65
208aaf11cd
Add battle music for Legendary Pokémon forms (#3723) 2024-08-24 13:07:11 -05:00
pom-eranian
55cebd84b8 [Sprite]
(_masterlist.json )  Set 472, 469, 751, 970  to use json instead of images.

469 Yanmega - fix & variant convert to json - @rival-kieran
472 Gliscor - fix & variant convert to json - @rival-kieran
751 Dewpider - fix & variant convert to json - @vari
970 Glimmora - fix & variant convert to json - @vari
2024-08-24 13:03:28 -04:00
Frederico Santos
0df40893b2 Add modeChain to gameInfo for debug purposes 2024-08-24 17:59:41 +01:00
Frederico Santos
2d0cf54a7f revert modechain debug info 2024-08-24 17:47:21 +01:00
Frederico Santos
38d4a594a0 revert fix 2024-08-24 17:44:36 +01:00
Frederico Santos
0f6170b3f7 GetModeChain in window.gameInfo for prod debugging 2024-08-24 17:42:20 +01:00
ifzeroequalsone
7ed71ceb90
[Bug] Clicking Right from Lock Rarities moves to transfer or check team (#2177)
* Clicking Right from Lock Rarities moves to transfer or check team

* make cursor left movement more natural

---------

Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
2024-08-23 23:12:31 -07:00
NightKev
4867ffb229
[Test] Update new Disguise test with test framework changes (#3724) 2024-08-24 01:51:39 -04:00
NightKev
41a0dfe192
[Bug] Fix duplicate FaintPhase if Mimikyu faints to Disguise damage (#3686)
* Fix duplicate `FaintPhase` if Mimikyu faints to Disguise damage

* Add regression test
2024-08-23 22:04:49 -07:00
José Ricardo
1813009443
candy upgrade (#3720) 2024-08-24 02:28:47 +01:00
RedstonewolfX
e5e71c1702
[Enhancement] Make the scrollbar cursor size more natural in the starter select UI (#3627)
* Improve scroll bar

Remaking these changes on the beta branch since you're supposed to do it for the PR checklist

* Fix potential divide by zero error

Thank you to KimJeongSun for bringing this up

Co-authored-by: Leo Kim <47556641+KimJeongSun@users.noreply.github.com>

* Fix parenthases order

Co-authored-by: Leo Kim <47556641+KimJeongSun@users.noreply.github.com>

---------

Co-authored-by: Leo Kim <47556641+KimJeongSun@users.noreply.github.com>
2024-08-23 16:51:01 -07:00
flx-sta
4ab222ad9d
[Localization] "Fake" translations cleanup (#3719)
* Removed the one fake translation in zh_CN

* Removed fake translations from zh_TW

---------

Co-authored-by: InnocentGameDev <asdargmng@gmail.com>
2024-08-23 16:21:58 -07:00
flx-sta
87af50388e
[Localization] Migrate translation files to json (#3709)
* add jsonc import support

* migrate en: ability-trigger, ability, achv & arena-flyout to json/c

* remove jsonc support

gitlocalize doesn't recognize it

* migrate arena-flyoutr.jsonc to json

* EN: migrate arena-tag

* EN: migrate battle-info.json

* EN: migrate `battle-message-ui-handler`

* EN: migrate `battle-scene`

* EN: migrate `battle`

* EN: migrate `battler-tags`

* EN: migrate `berry`

* EN: migrate `bgm-name`

* EN: migrate `biome`

* EN: migrate `challenges`

* EN: migrate `command-ui-handler`

* EN: migrate `common`

* EN: migrate `dialogue`

* EN: migrate `egg`

* EN: migrate `fight-ui-handler`

* EN: migrate `filter-bar`

* EN: migrate `game-mode`

* EN: migrate `game-stats-ui-handler`

* EN: migrate `growth`

* EN: migrate `menu-ui-handler`

* EN: migrate `menu`

* EN: migrate `modifier-select-ui-handler`

* EN: migrate `modifier-type`

* EN: migrate `modifier`

* EN: migrate `move-trigger`

* EN: migrate `move`

* EN: migrate `nature`

* EN: migrate `party-ui-handler`

* EN: migrate `pokeball`

* EN: migrate `pokemon-form`

* EN: migrate `pokemon-info-container`

* EN: migrate `pokemon-info`

* EN: migrate `pokemon-summary`

* EN: migrate `pokemon`

* EN: migrate `save-slot-select-ui-handler`

* EN: migrate `settings`

* EN: migrate `splash-messages`

* EN: migrate `starter-select-ui-handler`

* EN: migrate `status-effect.json`

* EN: migrate `trainers`

* EN: migrate `tutorial`

* EN: migrate `voucher`

* EN: migrate `weather` and `terrain`

* rename `dialogue-double-battle.json`

* DE: migrate `ability-trigger`

* DE: migrate `trainers`

* DE: migrate `tutorial`

* EN: migrate to `achv-f/-m`

* rename `dialogue-endboss.json` to `dialogue-final-boss.json`

endboss is not typical english

* EN: fix gender files

* EN: fix some dialogue gender issues

* Migrate DE to JSON

* EN: fix `modifier-type.json`

* remove ca_ES for now

* remove de/dialogue.ts (remnant)

* Migrate ES (spanish)

removing all dialogues content has been confirmed by Asdar Develops

* Removed fake translations from ability-trigger

* Removed fake translations from achievements and fixed female pronouns

* Removed fake translations all the way to moves.json

* Finished removing fake translations from es folder

* migrate fr (french)

* FR: update config.ts

* migrate it (italian)

* Removed fake translations in French json

* Readding two lines I accidentally deleted to fr dialogue-male

* migrate ja (Japanese)

* migrate ko (Korean)

* migrate pt_BR (Brasil)

* remove event texts from json files

* Removed fake translations in Italian

* Removed Japanese fake translations everywhere except dialogues

* Removed fake translations from Japanase (dialogues only)

* Translate trainer-names.json via GitLocalize

* Fixed a devilish typo in fr locale

* add new translationkeys to en/settings

* add empty `ca_ES` translations

* fix config export names

* fix ts-compiler with i18n issue

* fix battle-stat.test.ts

* fix some namings in plugins/i18n.ts

* move `i18n.d.ts` content into `i18next.d.ts`

and remove `defaultValue` key

* fix type issues after beta merge

* migrate zh_CN (Chinese simplified)

* migrate zh_TW (Chinese tranditional)

* fix tests for "missing" translations

---------

Co-authored-by: InnocentGameDev <asdargmng@gmail.com>
Co-authored-by: SangaraSorama <sangara.diamant@gmail.com>
2024-08-23 20:52:09 +01:00
Mumble
929da80037
Run History Export Data Patch (#3712)
Co-authored-by: frutescens <info@laptop>
2024-08-23 20:30:44 +01:00
Mumble
c5a66326dd
[QoL][Feature] Hall of Fame + Run History (#3251)
* Fixed SaveSessionData issue + Added loss details + removed Modifiers

* Final changes

* Updated code with the current repo + mode localization

* Final touches before moving to a clean branch

* Manual merging

* Some more merging + updating

* Fixed import

* TypeDocs issues

* Fixed relevant typedoc issues

* Manual merge

* More fixes

* So many commits for so little

* Localization Updates

* Very barebones implementation of 'favorite' runs - not planning to implement any time soon though

* menu-ui-handler.ts localizations

* Update src/locales/ko/run-history-ui-handler.ts

Thank you!

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

* Update src/locales/de/run-history-ui-handler.ts

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

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

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

* The German name for Squirtle is silly

* Fixed Run-Entry Def

* Commented out networking functionality

* Commenting out network functionality pt2

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

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

* Update src/locales/pt_BR/run-history-ui-handler.ts

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

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

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

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

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

* Update src/locales/zh_CN/run-history-ui-handler.ts

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

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

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

* Update src/locales/fr/run-history-ui-handler.ts

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

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

Co-authored-by: Niccolò <123510358+NicusPulcis@users.noreply.github.com>

* Update src/locales/it/run-history-ui-handler.ts

Co-authored-by: Niccolò <123510358+NicusPulcis@users.noreply.github.com>

* Update src/locales/fr/run-history-ui-handler.ts

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

* Update src/locales/de/run-history-ui-handler.ts

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

* Update src/locales/de/run-history-ui-handler.ts

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

* Update src/locales/de/run-history-ui-handler.ts

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

* Fixed SaveSessionData issue + Added loss details + removed Modifiers

* Final changes

* Updated code with the current repo + mode localization

* Final touches before moving to a clean branch

* Manual merging

* Some more merging + updating

* Fixed import

* TypeDocs issues

* Fixed relevant typedoc issues

* Manual merge

* More fixes

* So many commits for so little

* Localization Updates

* Very barebones implementation of 'favorite' runs - not planning to implement any time soon though

* menu-ui-handler.ts localizations

* Update src/locales/ko/run-history-ui-handler.ts

Thank you!

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

* Update src/locales/de/run-history-ui-handler.ts

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

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

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

* The German name for Squirtle is silly

* Fixed Run-Entry Def

* Commented out networking functionality

* Commenting out network functionality pt2

* Fixed cursor-close out freeze and replaced hall of fame background

* Removed console.log

* Fixed cursor freeze bug + changed hall of fame background

* cursor freeze bug fix pt 2

* Revert "Disable egg gacha in rewards (#3304)"

This reverts commit 3a87c8657f.

* Merging menu-ui-handler.ts

* Merging phases.ts

* Manual merge for game-data.ts

* Manual merge locales/en/config.ts

* Manual merge of menu-ui-handler.ts

* Manual ui.ts merge

* Update src/locales/fr/run-history-ui-handler.ts

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

* Revert "Merge branch 'beta' of https://github.com/pagefaultgames/pokerogue into runHistoryNew"

This reverts commit 5c6fcf6ec4, reversing
changes made to 751bf4a433.

* Revert "Revert "Merge branch 'beta' of https://github.com/pagefaultgames/pokerogue into runHistoryNew""

This reverts commit f6c3580ad0.

* Added ending art to victorious runs

* Added darker overlay instead

* Hall of Fame art

* Actual BG Images

* some bug fixing

* some bug fixing p2

* some minor changes

* some minor changes

* Changed order of runs displayed to newest --> oldest

* console.log for debugging

* Export/Import Run History function

* added import validation

* Update src/locales/fr/run-history-ui-handler.ts

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

* Felt coder's guilt for bad buttons implementation

* strict-null changes

* New Localizations

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

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

* Apply suggestions from code review

Thank you!

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

* Apply suggestions from code review

run-info-ui-handler comments fix

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

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

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

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

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

* Update src/locales/es/run-history-ui-handler.ts

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

* Lost this file somehow

* Added do not delete comments

* Apply suggestions from code review

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

* flx Changes

* Localizations

* Fixing Git test issues

* Fixed issues found by Starkrieg

* removed console log

* Fixed cursor bugs

* github pages issue

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

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

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

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

* Corrade's comments

* The things I do for Github PAges

* Preventing menu freeze

* Double trainer battles and fresh start challenge

* Update src/locales/fr/run-history-ui-handler.ts

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

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

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

* Update src/locales/pt_BR/run-history-ui-handler.ts

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

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

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

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

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

* Update src/locales/de/run-history-ui-handler.ts

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

* Update src/locales/it/run-history-ui-handler.ts

Co-authored-by: Niccolò <123510358+NicusPulcis@users.noreply.github.com>

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

Co-authored-by: Niccolò <123510358+NicusPulcis@users.noreply.github.com>

* Update src/locales/ko/run-history-ui-handler.ts

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

* Apply suggestions from code review

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

* Localizations + Error Message Update

Co-authored-by: protimita <protimitajp@gmail.com>
Co-authored-by: mercurius-00 <80205689+mercurius-00@users.noreply.github.com>
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>

* small fixes

* flx-sta suggestions + Localizations

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

* Update src/locales/it/run-history-ui-handler.ts

Co-authored-by: Niccolò <123510358+NicusPulcis@users.noreply.github.com>

* Added dynamic text positioning based on container size + small fixes

* Thanks Adri1 ! Quick Fix for localizing wave in RunInfo

* Transfered defeat parsing to smaller functions and added page modes

* Update src/locales/fr/run-history-ui-handler.ts

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

* Run History UI handler documentation

* Fixed rival names

* some comments

* Apply suggestions from code review

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
Co-authored-by: Asdar <asdargmng@gmail.com>
Co-authored-by: Niccolò <123510358+NicusPulcis@users.noreply.github.com>
Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>

* Finished documentation

* Fixed incorrect rival name handling

* Corrected limit-handling

* Update src/locales/fr/run-history-ui-handler.ts

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

* Cleaned up getrunhistorydata() per flx-sta's suggestions

* Added some override tags?

* Added scopes/override notes to classes/class variables/class functions

* Moved code from phases.ts to game-over-phase.ts

* Fixing game-data whoops

* ughhhhh

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

Co-authored-by: Adrián T. <99520451+Vassiat@users.noreply.github.com>

* Fixed cursor and updated money. Note - need to fix money handling for Asian languages

* Money appears according to settings

* typedocs blah blah

* cleaning up manage data options

* Final flx fixes + No Run History handling

* Translation update.

---------

Co-authored-by: Frutescens <info@laptop>
Co-authored-by: Enoch <enoch.jwsong@gmail.com>
Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>
Co-authored-by: Yonmaru40 <47717431+40chyan@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: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: Asdar <asdargmng@gmail.com>
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
Co-authored-by: sodam <66295123+sodaMelon@users.noreply.github.com>
Co-authored-by: protimita <protimitajp@gmail.com>
Co-authored-by: mercurius-00 <80205689+mercurius-00@users.noreply.github.com>
Co-authored-by: Adrián T. <99520451+Vassiat@users.noreply.github.com>
2024-08-23 19:23:16 +01:00
flx-sta
2a51d500b3
[Localization] POC gitlocalize with en & es (#3705)
* Migrate en (English)

* Migrate es (Spanish)

* fix es/config.ts export

* fix ts-compiler with i18n issue

* fix battle-stat.test.ts

* move `i18n.d.ts` content into `i18next.d.ts`

and remove `defaultValue` key
2024-08-23 17:09:19 +01:00
Adrián T.
f417a262de
[Misc] Update eslint.config.js for space after commas (#3649)
* Update eslint.config.js for space after commas

* run eslint

* run eslint, again
2024-08-23 16:36:10 +08:00
Mumble
3cd1a60df8
[Bug] Giving gender to Dipplin (#3702)
Co-authored-by: frutescens <info@laptop>
2024-08-22 21:32:38 -07:00
chaosgrimmon
e286e5a317
[Sprite] Set Skiddo, Gogoat to variant maps 2024-08-22 23:42:13 -04:00
chaosgrimmon
5034ad836f
Delete public/images/pokemon/variant/exp/back/673_2.json 2024-08-22 23:40:59 -04:00
chaosgrimmon
6f8c232dba
Delete public/images/pokemon/variant/exp/back/672_2.json 2024-08-22 23:40:52 -04:00
chaosgrimmon
7895170bc7
Delete public/images/pokemon/variant/exp/back/673_2.png 2024-08-22 23:40:45 -04:00
chaosgrimmon
2022f43e0d
Delete public/images/pokemon/variant/exp/back/672_2.png 2024-08-22 23:40:38 -04:00
chaosgrimmon
fa1798f30b
[Sprite] Add rare Gogoat exp back
Palette taken from png
2024-08-22 23:39:49 -04:00
chaosgrimmon
1424c5dc2f
[Sprite] Add rare Skiddo exp back
Palette taken from png
2024-08-22 23:38:26 -04:00
Enoch
de5d645847
[Localization] Add localization hard-coded message in move, pokemon. (#3639)
* Add localization missing messages.

* Apply suggestions from code review

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

* Apply suggestions from code review

Co-authored-by: Niccolò <123510358+NicusPulcis@users.noreply.github.com>

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

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

* Update src/locales/fr/battle.ts

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

* Apply suggestions from code review

Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>
Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>

* Apply suggestions from code review - ES

Co-authored-by: Asdar <asdargmng@gmail.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: 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>
Co-authored-by: Asdar <asdargmng@gmail.com>
2024-08-23 09:59:35 +09:00
schmidtc1
3baa1400cc
[Bug] Fixes Moody increasing and decreasing the same stat (#3694)
* Replaces selectableStats array with the proper decreaseStatArray

* Adds docs to MoodyAbAttr

* Updates docs, creates unit tests for moody
2024-08-22 13:57:38 -07:00
Frederico Santos
4455a0e4eb
Merge pull request #3693 from pagefaultgames/main
Main to Beta sync
2024-08-22 18:39:56 +01:00
Adrian T.
03ee764e23
[QoL] Settings Option: Shop Cursor Target (#3666)
* [QoL] Post Reroll UI Targeting

* removed hasRolled from battlescene and handled in UI

* Added getter for reroll count and ternary

* Explicit catch instead of falsy

* Fixed Settings errors with proper labeling

* changed setting label to translate as well

* translations and fixes

* move option further down

* change integer to number

* change integer to number

* update implementation

* remove unused method

* change name set to update

* Update src/ui/modifier-select-ui-handler.ts

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

* Update src/system/settings/settings.ts

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

* Update src/locales/fr/settings.ts

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

* 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: sodam <66295123+sodaMelon@users.noreply.github.com>

* Update src/locales/zh_CN/settings.ts

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

* Update src/locales/it/settings.ts

Co-authored-by: Niccolò <123510358+NicusPulcis@users.noreply.github.com>

* Revert "Update src/locales/ko/settings.ts"

This reverts commit 08c0b89f4caf7c33f49722200d7aeb20b79b0ba5.

* Update src/locales/ko/settings.ts

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

* Revert "Revert "Update src/locales/ko/settings.ts""

This reverts commit a57d8777f2.

---------

Co-authored-by: Matthew Kroeger <mattk932009@gmail.com>
Co-authored-by: flx-sta <50131232+flx-sta@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: sodam <66295123+sodaMelon@users.noreply.github.com>
Co-authored-by: Yonmaru40 <47717431+40chyan@users.noreply.github.com>
Co-authored-by: Niccolò <123510358+NicusPulcis@users.noreply.github.com>
2024-08-22 09:26:10 -07:00
Enoch
a7acf752db
[Localization] Add localization hard-coded message in ability (AIR_LOCK, CLOUD_NINE) (#3641)
* localize ability message "The effects of the weather disappeared."

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

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

* Apply suggestions from code review

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

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

Co-authored-by: Niccolò <123510358+NicusPulcis@users.noreply.github.com>

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

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

* Apply suggestions from code review

Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>
Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>

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

Co-authored-by: Asdar <asdargmng@gmail.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: 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>
Co-authored-by: Asdar <asdargmng@gmail.com>
2024-08-23 01:23:47 +09:00
Mumble
0cd52b86d2
[Refactor] Move Daily Pokerus Start Generation to its own function in data/pokemon-species (#3501)
* Moving daily Pokerus generation to game-data

* Moved pokerus starter generation to pokemon-species

* Added JsDocs

* Update src/data/pokemon-species.ts

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

* boo typedocs boo

---------

Co-authored-by: Frutescens <info@laptop>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-08-23 00:20:14 +08:00
NightKev
828897316e
[Test] Replace doAttack() with move.select() in tests (#3567)
* Consolidate `doSelectTarget()` into `doAttack()`

* Fix ternary

* Add error message to aid in debugging tests

* Update docs

* [Test] Change `doAttack()` to `selectMove()`

* Add `select()` to `src/test/utils/helpers/moveHelper.ts`

* Replace instances of `game.selectMove()` with `game.move.select()`

* Fix imports

* Replace `selectMove()` with `move.select()` helper

Fix broken tests for Pastel Veil and Sweet Veil

* Update tsdocs
2024-08-22 06:49:33 -07:00
Mumble
10f1a96ed6
Increase Target Select UI Opacitiy (#3683)
Co-authored-by: frutescens <info@laptop>
2024-08-22 14:04:26 +02:00
Leo Kim
b1d4037a57
[Bug] Fix some damage formulas processed with ceil instead of floor (#3557)
* fix damage calculations. add test code

* define toIntValue function to replace every repeatitive min floor function.

* revert unnecessary minimum boundary

* update function name `toIntValue` -> `toDmgValue`. update comments.

* add missing updates for changing function name

* Update src/utils.ts

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

* remove redundant comment

* update import code for test with phase

---------

Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
2024-08-21 22:39:11 -07:00
Lugiad
61d659d8bb
[Localization] Localizable owned money symbol on battle UI (#3646)
Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
Co-authored-by: Enoch <enoch.jwsong@gmail.com>
Co-authored-by: frutescens <info@laptop>
2024-08-21 20:57:46 -07:00
sodam
6ea0f3f18b
[Enhancement] Support for special characters(♪.★,♥,♣) in game font (issue#3180) (#3535)
* added  specialCharacters: "♪.★,♥,♣"

* did refactoring...maybe

* added note
2024-08-21 20:32:03 -07:00
chaosgrimmon
34bf932722
[Sprite] Trim exp Rellor palette (#3674)
* [Sprite] Trim exp Rellor palette

* [Sprite] Trim Rellor exp Palette

* [Sprite] Trim Rellor exp palette
2024-08-21 18:48:39 -07:00
innerthunder
051d38e0a2
[Enhancement] Add support for simulated calls to Abilities (#3529)
* Adds simulated tag support to all abilities

* Fix compiler errors in ability.ts

Most things are still on fire 😢

* Fix errors left over after merge

* Another pass through simulated ability call logic

* Fix leftover errors from merge resolution

* Another gh pages issue :pikamad:

* Simulated call fixes based on Kev's feedback

* RIP phases.ts

---------

Co-authored-by: Xavion3 <xavion333@gmail.com>
2024-08-21 18:29:21 -07:00
flx-sta
7bea5eb86e
Revert "W Event (Classic and Translations) (#3583)" (#3685)
This reverts commit 96302a9a55.
2024-08-22 01:31:08 +01:00
cgyu7
1487d7f51c
[Move] Some more implementation for Tera Blast (#3469)
* terablast updated

* terablast update

* terablast

* fix trailing spaces

* fixed misspelling in a comment

* split tera blast dmg calc and type calc into different classes

* terablastpowerattr update

removed dupe code and added user terastallized check to conditional

* Update src/data/move.ts

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

* Update src/data/move.ts

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

* removed spaces and added missing semicolon

* added tsdocs for tera blast

* deleted extra spaces

* tsdoc update

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

* tsdoc update

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

* tsdoc update

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

* Add files via upload

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

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

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

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

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

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

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

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

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

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

* remove trailing spaces

* The style police are here

* Fixed conflict resolution issues

---------

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: innerthunder <brandonerickson98@gmail.com>
2024-08-21 16:33:33 -07:00
Jannik Tappert
0241a0a086
Translated missing DE files (#3650) 2024-08-22 00:49:22 +02:00
flx-sta
3a167610cf
[Bug] Fix: Gravity tag removes flying type during damage calculation (#3670)
* add `hasTag` to arena

* fix flying type damage calculation for grounded states

Before the grounded state would make e.g. electric moves no more very-effective. This is invalid

Co-authored-by: Tristan D Gant <tgant2017@outlook.com>

* add tests for gravity v. ground v. electric

* Update src/test/arena/arena_gravity.test.ts

fix typo

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

* use `arena` instead of this.scene.arena

* use `const arena = this.scene.arean` instead of destructoring

* Apply suggestions from code review

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

* fix es-lint

---------

Co-authored-by: Tristan D Gant <tgant2017@outlook.com>
Co-authored-by: Adrian T. <68144167+torranx@users.noreply.github.com>
Co-authored-by: Mumble <171087428+frutescens@users.noreply.github.com>
2024-08-21 15:40:55 -07:00
chaosgrimmon
6b21a777a1
[Sprite] Index Rookidee, remove stray pixel (#3653)
* [Sprite] Index front static Rookidee

* [Sprite] Index front exp Rookidee

* [Sprite] Index back static Rookidee

* [Sprite] Index shiny front static Rookidee

* [Sprite] Index back exp Rookidee

* [Sprite] Index shiny back static Rookidee

* [Sprite] Index shiny back static Rookidee

* [Sprite] Index shiny back exp Rookidee
2024-08-21 15:27:25 -07:00
Mumble
0e59e74197
Merge pull request #3633 from EnochG1/localization/fix-wrong-line-break
[Localization][KO] Fix wrong line break character
2024-08-21 14:55:34 -07:00
Pancakes
0aedf63685
Create FUNDING.yml 2024-08-21 14:03:46 -04:00
Niccolò
e9d17f0605
Update move.ts (IT) (#3575) 2024-08-21 08:08:34 +01:00
Niccolò
98df8a39bf
Update move-trigger.ts (IT) (#3572) 2024-08-21 08:08:14 +01:00
Niccolò
0ff94d832e
Update modifier.ts (IT) (#3565)
* Update modifier.ts (IT)

* Update src/locales/it/modifier.ts

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

---------

Co-authored-by: Enoch <enoch.jwsong@gmail.com>
2024-08-21 08:07:55 +01:00
Niccolò
9ecebb942c
Update modifier-type.ts (IT) (#3564) 2024-08-21 08:07:39 +01:00
Niccolò
3e44c4552c
Update menu.ts (IT) (#3563) 2024-08-21 08:07:25 +01:00
Niccolò
742b5432aa
Update menu-ui-handler.ts (IT) (#3562) 2024-08-21 08:07:15 +01:00
Niccolò
548f7fce6f
Update battler-tags.ts (IT) (#3561) 2024-08-21 08:07:00 +01:00
Niccolò
2dc9900522
Update battle.ts (IT) (#3560) 2024-08-21 08:06:44 +01:00
Niccolò
767d802b94
Update challenges.ts (IT) (#3559) 2024-08-21 08:06:34 +01:00
Niccolò
6773312218
Update achv.ts (IT) (#3558) 2024-08-21 08:06:18 +01:00
Niccolò
f162c6af89
Update ability-trigger.ts (IT) (#3546)
* Update ability-trigger.ts (IT)

* Update ability-trigger.ts
2024-08-21 08:06:01 +01:00
NightKev
6defc8c8f9
Fix Rollout test (#3660) 2024-08-21 08:28:10 +10:00
innerthunder
3a9d24c49a
[Bug] Fix Jaw Lock leaving the user trapped after the target faints (#3450)
* Fix Jaw Lock not removing TRAPPED tag after enemy faints

* Create tests for Jaw Lock

* Fix overrides import

* Clean up implementation + tests

* minor style change to phases

* Update src/data/move.ts

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

* Jaw Lock no longer overlaps its trapping effect

* Friendship ended with JAW_LOCK tag type

Now TRAPPED is my new best friend

---------

Co-authored-by: EmberCM <kooly213@hotmail.com>
Co-authored-by: Adrian T. <68144167+torranx@users.noreply.github.com>
2024-08-20 18:44:37 +01:00
Frederico Santos
c846f552bb
Merge pull request #3659 from pagefaultgames/main
[Localization] Portuguese hotfix of dialogue.ts and more (#3658)
2024-08-20 06:07:31 +01:00
José Ricardo Fleury Oliveira
7946382817
[Localization] Portuguese hotfix of dialogue.ts and more (#3658)
* [Localization] Portuguese hotfix of dialogue.ts and more

* menu fixes

* fix wrong message key of curse
2024-08-20 06:06:49 +01:00
damocleas
e39ebb68f2
[Balance] Dark Void 80% Accurate (#1836)
* Dark Void 80% Accurate

* updated comment
2024-08-20 05:59:23 +01:00
Frederico Santos
ae2ab120dc
Deleted phases.ts (#3618) 2024-08-19 03:23:52 +01:00
Frederico Santos
550974d5c3
Merge pull request #3636 from pagefaultgames/main
Main -> Beta sync
2024-08-19 02:22:40 +01:00
NightKev
098811c006
Main -> Beta (#3635)
* Fixed issue with falsy issue within condition to get a stat for IV scanner

* add fix setting code to prevent form/variant bug when default form/variant setting is wrong.
in addition, that fix code include gender fix, so i revert old gender fix.
update wrong log message.

* [Hotfix] Fix Memory Mushroom not showing relearner moves (#3619)

* Fix Memory Mushroom not showing relearner moves

* Fix rollout test

* Rewrite player faint logic in FaintPhase (#3614)

* 867 runerigus sprite (#3629)

cropped static frames, fixed cropped sprite
set runerigus exp to use the shiny exp's animation
verified all hex colors are unchanged

- fixed ultra necrozma exp front variant swapped arrays.
- xatu female eye color fix

* [Bug] Preventing the MBH from being stolen in Endless (#3630)

* Endless MBH Fix

* add import

* Revert "add import"

This reverts commit 814a4059c2.

* Revert "Endless MBH Fix"

This reverts commit 8eb4481301.

* removed newline

---------

Co-authored-by: Frederico Santos <frederico.f.santos@tecnico.ulisboa.pt>
Co-authored-by: frutescens <info@laptop>

* [Bug] Fix type-hints for immunity (#3620)

* enable mock containers to be found by name

* enable mock text to be found by name

* add test coverage for type-hints

Only for "immunity" and "status moves"

* fix wrong message key of curse(ghost type) (#3631)

Co-authored-by: Frederico Santos <frederico.f.santos@tecnico.ulisboa.pt>

* [Hotfix] Steal-able Mini Black Hole Pt 2  (#3632)

* Still have no idea where Eternatus is given the MBH....

* typedocs

---------

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

* [Hotfix] Abilities that prevent ATK drops no longer stop other stat drops (#3624)

* Abilities that prevent ATK drops no longer stop other stat drops

* Apply suggestions from code review

Co-authored-by: Mumble <kimjoanne@protonmail.com>

* Add `isNullOrUndefined()` utility function

---------

* Grip Claw now shows the proper pokemon nickname (#3634)

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

---------

Co-authored-by: Opaque02 <66582645+Opaque02@users.noreply.github.com>
Co-authored-by: KimJeongSun <leo@atlaslabs.ai>
Co-authored-by: Frederico Santos <frederico.f.santos@tecnico.ulisboa.pt>
Co-authored-by: innerthunder <168692175+innerthunder@users.noreply.github.com>
Co-authored-by: cam <lrlrliwoo@gmail.com>
Co-authored-by: Mumble <kimjoanne@protonmail.com>
Co-authored-by: frutescens <info@laptop>
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
Co-authored-by: Enoch <enoch.jwsong@gmail.com>
Co-authored-by: Mumble <171087428+frutescens@users.noreply.github.com>
2024-08-19 02:18:43 +01:00
Mumble
bdde03b0d5
Grip Claw now shows the proper pokemon nickname (#3634)
Co-authored-by: frutescens <info@laptop>
2024-08-19 02:06:52 +01:00
NightKev
747e4f9360
[Hotfix] Abilities that prevent ATK drops no longer stop other stat drops (#3624)
* Abilities that prevent ATK drops no longer stop other stat drops

* Apply suggestions from code review

Co-authored-by: Mumble <kimjoanne@protonmail.com>

* Add `isNullOrUndefined()` utility function

---------
2024-08-19 01:05:53 +01:00
Mumble
a46e35b8dd
[Hotfix] Steal-able Mini Black Hole Pt 2 (#3632)
* Still have no idea where Eternatus is given the MBH....

* typedocs

---------

Co-authored-by: frutescens <info@laptop>
2024-08-19 00:59:18 +01:00
Enoch
1db26dab96
fix wrong message key of curse(ghost type) (#3631)
Co-authored-by: Frederico Santos <frederico.f.santos@tecnico.ulisboa.pt>
2024-08-19 00:50:31 +01:00
EnochG1
cd489c6a60 fix wrong line break character 2024-08-19 08:46:49 +09:00
flx-sta
a97803b99b
[Bug] Fix type-hints for immunity (#3620)
* enable mock containers to be found by name

* enable mock text to be found by name

* add test coverage for type-hints

Only for "immunity" and "status moves"
2024-08-18 22:27:38 +01:00
Mumble
65af7a5699
[Bug] Preventing the MBH from being stolen in Endless (#3630)
* Endless MBH Fix

* add import

* Revert "add import"

This reverts commit 814a4059c2.

* Revert "Endless MBH Fix"

This reverts commit 8eb4481301.

* removed newline

---------

Co-authored-by: Frederico Santos <frederico.f.santos@tecnico.ulisboa.pt>
Co-authored-by: frutescens <info@laptop>
2024-08-18 21:51:08 +01:00
cam
c8ed89e186
867 runerigus sprite (#3629)
cropped static frames, fixed cropped sprite
set runerigus exp to use the shiny exp's animation
verified all hex colors are unchanged

- fixed ultra necrozma exp front variant swapped arrays.
- xatu female eye color fix
2024-08-18 19:44:50 +01:00
innerthunder
67da795611
Rewrite player faint logic in FaintPhase (#3614) 2024-08-18 18:29:11 +01:00
NightKev
1b7a161934
[Hotfix] Fix Memory Mushroom not showing relearner moves (#3619)
* Fix Memory Mushroom not showing relearner moves

* Fix rollout test
2024-08-18 17:52:32 +01:00
Frederico Santos
c2b79a803d
Merge pull request #3616 from Opaque02/iv-scanner-stats-fix
[Bug] Fixed issue with falsy issue within condition to get a stat for IV scanner
2024-08-18 17:46:47 +01:00
Frederico Santos
c40717fd33
Merge pull request #3617 from KimJeongSun/fix-only-variant-form-bugs
[Hotfix] Fixed a bug occurring when only single rare/epic variant or a single rare form in Starter UI
2024-08-18 07:43:11 +01:00
KimJeongSun
69c1389ec4 add fix setting code to prevent form/variant bug when default form/variant setting is wrong.
in addition, that fix code include gender fix, so i revert old gender fix.
update wrong log message.
2024-08-18 15:12:20 +09:00
Frederico Santos
d61c8f2870
Merge pull request #3613 from pagefaultgames/main
Merge main into beta
2024-08-18 06:50:45 +01:00
Opaque02
58bf18af88 Fixed issue with falsy issue within condition to get a stat for IV scanner 2024-08-18 15:39:08 +10:00
NightKev
0e6c2952ca
Make Disguise properly reset form on arena reset when fainted (#3612) 2024-08-18 05:05:04 +01:00
Mumble
192aa63635
[Bug][Hotfix] Final Boss MBH no longer transferrable (#3611)
* Should fix it.

* typedocs fixes

---------

Co-authored-by: Frutescens <info@laptop>
2024-08-18 04:28:06 +01:00
cam
abced6cf02
[Sprite] Lumineon female spritesheet fix (#3608)
fix from Vari
2024-08-18 04:17:21 +01:00
cam
5f6cb6ce00
[Sprite] Floette animation fix - Xatu female variant fix (#3610)
* 177-178 icons, variant icons

* 178 icons

* [HotFix][Sprite] Xatu female variants added

* [HotFix][Sprite] Floette json: update to match images

* Xatu variant- reverted _masterlist

reverted _masterlist.json
added anim files for both female variants

* [fix] Xatu female: show variants, added back sprite anim

Edited _masterlist on correct keys
added anim json for back sprites
2024-08-18 04:14:25 +01:00
AJ Fontaine
0e92366cac
Fixed egg moves being relearnable in daily runs (#3604) 2024-08-18 02:23:02 +01:00
innerthunder
8704723c9c
Fix missing form change logic for Cramorant (#3603) 2024-08-18 02:22:21 +01:00
Mumble
5ede6a54c6
[Hotfix] End Biome Catch Problems (#3605)
* Needs more testing.

* removed debugging

---------

Co-authored-by: Frutescens <info@laptop>
2024-08-18 01:09:28 +01:00
innerthunder
2b853bae25
[Hotfix] Fix Pokemon info not fully appearing after switch-out (#3596)
* Add hideInfo param to leaveField

* Update docs for leaveField
2024-08-17 23:25:03 +01:00
Leo Kim
b59cb128bf
fix female bug. refine variable name also (#3601) 2024-08-17 22:01:35 +01:00
Mumble
616219d17e
[Hotfix] Removed isFreshStartChallenge() check (#3599)
* Removed isFreshStartChallenge() check

* Better conditional

---------

Co-authored-by: Frutescens <info@laptop>
2024-08-18 05:50:50 +10:00
damocleas
e192e57c63
[Balance] Balance Hotfixes for August 17 Update (#3594)
* [Balance] Balance Hotfixes for August 17 Update

* Eternatus Moveset fix

* fixed Cresselia passive

* fixed Jirachi Egg Moves

* fixed Doduo and Arctozolt egg moves
2024-08-17 20:48:16 +01:00
Leo Kim
15584f8f1e
fix typecast to BigInt (#3598) 2024-08-17 20:47:45 +01:00
Leo Kim
54460405b1
[Hotfix] Fixed the bug where Pokémon with only rare/epic shiny but no common shiny were unable to use cycle shiny (#3593)
* Fixed the bug where Pokémon with only rare/epic shiny but no common shiny were unable to use cycle shiny

* remove unecessary log

* fix condition
2024-08-17 19:36:25 +01:00
8617 changed files with 1042176 additions and 1814678 deletions

View File

@ -2,92 +2,86 @@
module.exports = {
forbidden: [
{
name: 'no-circular-at-runtime',
severity: 'warn',
name: "no-circular-at-runtime",
severity: "warn",
comment:
'This dependency is part of a circular relationship. You might want to revise ' +
'your solution (i.e. use dependency inversion, make sure the modules have a single responsibility) ',
"This dependency is part of a circular relationship. You might want to revise " +
"your solution (i.e. use dependency inversion, make sure the modules have a single responsibility) ",
from: {},
to: {
circular: true,
viaOnly: {
dependencyTypesNot: [
'type-only'
]
}
}
dependencyTypesNot: ["type-only"],
},
},
},
{
name: 'no-orphans',
name: "no-orphans",
comment:
"This is an orphan module - it's likely not used (anymore?). Either use it or " +
"remove it. If it's logical this module is an orphan (i.e. it's a config file), " +
"add an exception for it in your dependency-cruiser configuration. By default " +
"this rule does not scrutinize dot-files (e.g. .eslintrc.js), TypeScript declaration " +
"files (.d.ts), tsconfig.json and some of the babel and webpack configs.",
severity: 'warn',
severity: "warn",
from: {
orphan: true,
pathNot: [
'(^|/)[.][^/]+[.](?:js|cjs|mjs|ts|cts|mts|json)$', // dot files
'[.]d[.]ts$', // TypeScript declaration files
'(^|/)tsconfig[.]json$', // TypeScript config
'(^|/)(?:babel|webpack)[.]config[.](?:js|cjs|mjs|ts|cts|mts|json)$' // other configs
]
"(^|/)[.][^/]+[.](?:js|cjs|mjs|ts|cts|mts|json)$", // dot files
"[.]d[.]ts$", // TypeScript declaration files
"(^|/)tsconfig[.]json$", // TypeScript config
"(^|/)(?:babel|webpack)[.]config[.](?:js|cjs|mjs|ts|cts|mts|json)$", // other configs
],
},
to: {},
},
{
name: 'no-deprecated-core',
name: "no-deprecated-core",
comment:
'A module depends on a node core module that has been deprecated. Find an alternative - these are ' +
"A module depends on a node core module that has been deprecated. Find an alternative - these are " +
"bound to exist - node doesn't deprecate lightly.",
severity: 'warn',
severity: "warn",
from: {},
to: {
dependencyTypes: [
'core'
],
dependencyTypes: ["core"],
path: [
'^v8/tools/codemap$',
'^v8/tools/consarray$',
'^v8/tools/csvparser$',
'^v8/tools/logreader$',
'^v8/tools/profile_view$',
'^v8/tools/profile$',
'^v8/tools/SourceMap$',
'^v8/tools/splaytree$',
'^v8/tools/tickprocessor-driver$',
'^v8/tools/tickprocessor$',
'^node-inspect/lib/_inspect$',
'^node-inspect/lib/internal/inspect_client$',
'^node-inspect/lib/internal/inspect_repl$',
'^async_hooks$',
'^punycode$',
'^domain$',
'^constants$',
'^sys$',
'^_linklist$',
'^_stream_wrap$'
"^v8/tools/codemap$",
"^v8/tools/consarray$",
"^v8/tools/csvparser$",
"^v8/tools/logreader$",
"^v8/tools/profile_view$",
"^v8/tools/profile$",
"^v8/tools/SourceMap$",
"^v8/tools/splaytree$",
"^v8/tools/tickprocessor-driver$",
"^v8/tools/tickprocessor$",
"^node-inspect/lib/_inspect$",
"^node-inspect/lib/internal/inspect_client$",
"^node-inspect/lib/internal/inspect_repl$",
"^async_hooks$",
"^punycode$",
"^domain$",
"^constants$",
"^sys$",
"^_linklist$",
"^_stream_wrap$",
],
}
},
},
{
name: 'not-to-deprecated',
name: "not-to-deprecated",
comment:
'This module uses a (version of an) npm module that has been deprecated. Either upgrade to a later ' +
'version of that module, or find an alternative. Deprecated modules are a security risk.',
severity: 'warn',
"This module uses a (version of an) npm module that has been deprecated. Either upgrade to a later " +
"version of that module, or find an alternative. Deprecated modules are a security risk.",
severity: "warn",
from: {},
to: {
dependencyTypes: [
'deprecated'
]
}
dependencyTypes: ["deprecated"],
},
},
{
name: 'no-non-package-json',
severity: 'error',
name: "no-non-package-json",
severity: "error",
comment:
"This module depends on an npm package that isn't in the 'dependencies' section of your package.json. " +
"That's problematic as the package either (1) won't be available on live (2 - worse) will be " +
@ -95,87 +89,75 @@ module.exports = {
"in your package.json.",
from: {},
to: {
dependencyTypes: [
'npm-no-pkg',
'npm-unknown'
]
}
dependencyTypes: ["npm-no-pkg", "npm-unknown"],
},
},
{
name: 'not-to-unresolvable',
name: "not-to-unresolvable",
comment:
"This module depends on a module that cannot be found ('resolved to disk'). If it's an npm " +
'module: add it to your package.json. In all other cases you likely already know what to do.',
severity: 'error',
"module: add it to your package.json. In all other cases you likely already know what to do.",
severity: "error",
from: {},
to: {
couldNotResolve: true
}
couldNotResolve: true,
},
},
{
name: 'no-duplicate-dep-types',
name: "no-duplicate-dep-types",
comment:
"Likely this module depends on an external ('npm') package that occurs more than once " +
"in your package.json i.e. bot as a devDependencies and in dependencies. This will cause " +
"maintenance problems later on.",
severity: 'warn',
severity: "warn",
from: {},
to: {
moreThanOneDependencyType: true,
// as it's pretty common to have a type import be a type only import
// as it's pretty common to have a type import be a type only import
// _and_ (e.g.) a devDependency - don't consider type-only dependency
// types for this rule
dependencyTypesNot: ["type-only"]
}
dependencyTypesNot: ["type-only"],
},
},
/* rules you might want to tweak for your specific situation: */
{
name: 'not-to-spec',
name: "not-to-spec",
comment:
'This module depends on a spec (test) file. The sole responsibility of a spec file is to test code. ' +
"This module depends on a spec (test) file. The sole responsibility of a spec file is to test code. " +
"If there's something in a spec that's of use to other modules, it doesn't have that single " +
'responsibility anymore. Factor it out into (e.g.) a separate utility/ helper or a mock.',
severity: 'error',
"responsibility anymore. Factor it out into (e.g.) a separate utility/ helper or a mock.",
severity: "error",
from: {},
to: {
path: '[.](?:spec|test)[.](?:js|mjs|cjs|jsx|ts|mts|cts|tsx)$'
}
path: "[.](?:spec|test)[.](?:js|mjs|cjs|jsx|ts|mts|cts|tsx)$",
},
},
{
name: 'not-to-dev-dep',
severity: 'error',
name: "not-to-dev-dep",
severity: "error",
comment:
"This module depends on an npm package from the 'devDependencies' section of your " +
'package.json. It looks like something that ships to production, though. To prevent problems ' +
"package.json. It looks like something that ships to production, though. To prevent problems " +
"with npm packages that aren't there on production declare it (only!) in the 'dependencies'" +
'section of your package.json. If this module is development only - add it to the ' +
'from.pathNot re of the not-to-dev-dep rule in the dependency-cruiser configuration',
"section of your package.json. If this module is development only - add it to the " +
"from.pathNot re of the not-to-dev-dep rule in the dependency-cruiser configuration",
from: {
path: '^(src)',
pathNot: [
'[.](?:spec|test|setup|script)[.](?:js|mjs|cjs|jsx|ts|mts|cts|tsx)$',
'src/test'
]
path: "^(src)",
pathNot: ["[.](?:spec|test|setup|script)[.](?:js|mjs|cjs|jsx|ts|mts|cts|tsx)$", "./test"],
},
to: {
dependencyTypes: [
'npm-dev',
],
dependencyTypes: ["npm-dev"],
// type only dependencies are not a problem as they don't end up in the
// production code or are ignored by the runtime.
dependencyTypesNot: [
'type-only'
],
pathNot: [
'node_modules/@types/'
]
}
dependencyTypesNot: ["type-only"],
pathNot: ["node_modules/@types/"],
},
},
{
name: 'optional-deps-used',
severity: 'info',
name: "optional-deps-used",
severity: "info",
comment:
"This module depends on an npm package that is declared as an optional dependency " +
"in your package.json. As this makes sense in limited situations only, it's flagged here. " +
@ -183,33 +165,28 @@ module.exports = {
"dependency-cruiser configuration.",
from: {},
to: {
dependencyTypes: [
'npm-optional'
]
}
dependencyTypes: ["npm-optional"],
},
},
{
name: 'peer-deps-used',
name: "peer-deps-used",
comment:
"This module depends on an npm package that is declared as a peer dependency " +
"in your package.json. This makes sense if your package is e.g. a plugin, but in " +
"other cases - maybe not so much. If the use of a peer dependency is intentional " +
"add an exception to your dependency-cruiser configuration.",
severity: 'warn',
severity: "warn",
from: {},
to: {
dependencyTypes: [
'npm-peer'
]
}
}
dependencyTypes: ["npm-peer"],
},
},
],
options: {
/* Which modules not to follow further when encountered */
doNotFollow: {
/* path: an array of regular expressions in strings to match against */
path: ['node_modules']
path: ["node_modules"],
},
/* Which modules to exclude */
@ -271,7 +248,7 @@ module.exports = {
defaults to './tsconfig.json'.
*/
tsConfig: {
fileName: 'tsconfig.json'
fileName: "tsconfig.json",
},
/* Webpack configuration to use to get resolve options from.
@ -345,7 +322,7 @@ module.exports = {
collapses everything in node_modules to one folder deep so you see
the external modules, but their innards.
*/
collapsePattern: 'node_modules/(?:@[^/]+/[^/]+|[^/]+)',
collapsePattern: "node_modules/(?:@[^/]+/[^/]+|[^/]+)",
/* Options to tweak the appearance of your graph.See
https://github.com/sverweij/dependency-cruiser/blob/main/doc/options-reference.md#reporteroptions
@ -367,7 +344,8 @@ module.exports = {
dependency graph reporter (`archi`) you probably want to tweak
this collapsePattern to your situation.
*/
collapsePattern: '^(?:packages|src|lib(s?)|app(s?)|bin|test(s?)|spec(s?))/[^/]+|node_modules/(?:@[^/]+/[^/]+|[^/]+)',
collapsePattern:
"^(?:packages|src|lib(s?)|app(s?)|bin|test(s?)|spec(s?))/[^/]+|node_modules/(?:@[^/]+/[^/]+|[^/]+)",
/* Options to tweak the appearance of your graph. If you don't specify a
theme for 'archi' dependency-cruiser will use the one specified in the
@ -375,10 +353,10 @@ module.exports = {
*/
// theme: { },
},
"text": {
"highlightFocused": true
text: {
highlightFocused: true,
},
}
}
},
},
};
// generated: dependency-cruiser@16.3.3 on 2024-06-13T23:26:36.169Z

12
.editorconfig Normal file
View File

@ -0,0 +1,12 @@
# EditorConfig is awesome: https://EditorConfig.org
# top-most EditorConfig file
root = true
[src/*.{js,ts}]
indent_style = space
indent_size = 2
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true

View File

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

View File

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

1
.gitattributes vendored
View File

@ -1,2 +1,3 @@
# Auto detect text files and perform LF normalization
* text=auto
* -crlf

22
.github/CODEOWNERS vendored Normal file
View File

@ -0,0 +1,22 @@
# Order is important; the last matching pattern takes the most precedence.
# everything (whole code-base) - Junior Devs
* @pagefaultgames/junior-dev-team
# github actions/templates etc. - Dev Leads
/.github @pagefaultgames/senior-dev-team
# Art Team
/public/**/*.png @pagefaultgames/art-team
/public/**/*.json @pagefaultgames/art-team
/public/images @pagefaultgames/art-team
/public/battle-anims @pagefaultgames/art-team
# Audio files
*.mp3 @pagefaultgames/composer-team
*.wav @pagefaultgames/composer-team
*.ogg @pagefaultgames/composer-team
/public/audio @pagefaultgames/composer-team
# Balance Files; contain actual code logic and must also be owned by dev team
/src/data/balance @pagefaultgames/balance-team @pagefaultgames/junior-dev-team

1
.github/FUNDING.yml vendored Normal file
View File

@ -0,0 +1 @@
github: pagefaultgames

View File

@ -1,7 +1,8 @@
name: Bug Report
description: Create a report to help us improve
title: "[Bug] "
labels: ["Bug"]
type: bug
labels: ["Bug", "Triage"]
body:
- type: markdown
attributes:
@ -19,21 +20,12 @@ body:
value: |
---
- type: textarea
id: session-file
id: repro
attributes:
label: Session export file
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/)).
placeholder: Focus me and then drop your file here (or use the upload button at the bottom)
label: Reproduction
description: Describe the steps to reproduce this bug. If applicable attach user/session data at the bottom
validations:
required: false
- 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
required: true
- type: markdown
attributes:
value: |
@ -60,48 +52,20 @@ body:
attributes:
value: |
---
- type: dropdown
id: os
- type: textarea
id: session-file
attributes:
label: What OS did you observe the bug on?
multiple: true
options:
- PC/Windows
- Mac/OSX
- Linux
- iOS
- Android
- Other
validations:
required: true
- type: input
id: os-other
attributes:
label: If other please specify
label: Session export file
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/)).
placeholder: Focus me and then drop your file here (or use the upload button at the bottom)
validations:
required: false
- type: markdown
- type: textarea
id: data-file
attributes:
value: |
---
- type: dropdown
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
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

View File

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

View File

@ -1,37 +1,76 @@
<!-- Make sure the title includes categorization (i.e. [Bug], [QoL], [Localization]) -->
<!-- Make sure that this PR is not overlapping with someone else's work -->
<!-- Please try to keep the PR self-contained (and small) -->
<!-- (Once you have read these comments, you are free to remove them) -->
<!-- Feel free to look at other PRs for examples -->
<!--
Make sure the title includes categorization (choose the one that best fits):
- [Bug]: If the PR is primarily a bug fix
- [Move]: If a move has new or changed functionality
- [Ability]: If an ability has new or changed functionality
- [Item]: For new or modified items
- [Mystery]: For new or modified Mystery Encounters
- [Test]: If the PR is primarily adding or modifying tests
- [UI/UX]: If the PR is changing UI/UX elements
- [Audio]: If the PR is adding or changing music/sfx
- [Sprite]: If the PR is adding or changing sprites
- [Balance]: If the PR is related to game balance
- [Challenge]: If the PR is adding or modifying challenges
- [Refactor]: If the PR is primarily rewriting existing code
- [Docs]: If the PR is just adding or modifying documentation (such as tsdocs/code comments)
- [GitHub]: For changes to GitHub workflows/templates/etc
- [Misc]: If no other category fits the PR
-->
<!--
Make sure that this PR is not overlapping with someone else's work
Please try to keep the PR self-contained (and small)
-->
## What are the changes the user will see?
<!-- Summarize what are the changes from a user perspective on the application -->
## Why am I making these changes?
<!-- Explain why you decided to introduce these changes -->
<!-- Does it come from an issue or another PR? Please link it -->
<!-- Explain why you believe this can enhance user experience -->
<!--
Explain why you decided to introduce these changes
Does it come from an issue or another PR? Please link it
Explain why you believe this can enhance user experience
-->
<!--
If there are existing GitHub issues related to the PR that would be fixed,
you can add "Fixes #[issue number]" (ie: "Fixes #1234") to link an issue to your PR
so that it will automatically be closed when the PR is merged.
-->
## What are the changes from a developer perspective?
<!-- Explicitly state what are the changes introduced by the PR -->
<!-- You can make use of a comparison between what was the state before and after your PR changes -->
<!--
Explicitly state what are the changes introduced by the PR
You can make use of a comparison between what was the state before and after your PR changes
Ex: What files have been changed? What classes/functions/variables/etc have been added or changed?
-->
### Screenshots/Videos
<!-- If your change is changing anything on the user experience, please provide visual proofs of it -->
<!-- Please take screenshots/videos before and after your changes, to show what is brought by this PR -->
## Screenshots/Videos
<!--
If your changes are changing anything on the user experience, please provide visual proofs of it
Please take screenshots/videos before and after your changes, to show what is brought by this PR
-->
## How to test the changes?
<!-- How can a reviewer test your changes once they check out on your branch? -->
<!-- Did you just make use of the `src/overrides.ts` file? -->
<!-- Did you introduce any automated tests? -->
<!-- Do the reviewer need to do something special in order to test your change? -->
<!--
How can a reviewer test your changes once they check out on your branch?
Did you make use of the `src/overrides.ts` file?
Did you introduce any automated tests?
Do the reviewers need to do something special in order to test your changes?
-->
## Checklist
- [ ] **I'm using `beta` as my base branch**
- [ ] There is no overlap with another PR?
- [ ] The PR is self-contained and cannot be split into smaller PRs?
- [ ] Have I provided a clear explanation of the changes?
- [ ] Have I considered writing automated tests for the issue?
- [ ] If I have text, did I add placeholders for them in locales?
- [ ] Have I tested the changes (manually)?
- [ ] Are all unit tests still passing? (`npm run test`)
- [ ] Are the changes visual?
- [ ] Have I provided screenshots/videos of the changes?
- [ ] Have I tested the changes manually?
- [ ] Are all unit tests still passing? (`npm run test:silent`)
- [ ] Have I created new automated tests (`npm run create-test`) or updated existing tests related to the PR's changes?
- [ ] Have I provided screenshots/videos of the changes (if applicable)?
- [ ] Have I made sure that any UI change works for both UI themes (default and legacy)?
Are there any localization additions or changes? If so:
- [ ] Has a locales PR been created on the [locales](https://github.com/pagefaultgames/pokerogue-locales) repo?
- [ ] If so, please leave a link to it here:
- [ ] Has the translation team been contacted for proofreading/translation?

73
.github/workflows/create-release.yml vendored Normal file
View File

@ -0,0 +1,73 @@
name: Create Release Branch
on:
workflow_dispatch:
inputs:
versionName:
description: "Name of version (i.e. 1.9.0)"
type: string
required: true
confirmVersion:
type: string
required: true
description: "Confirm version name"
# explicitly specify the necessary scopes
permissions:
pull-requests: write
actions: write
contents: write
jobs:
create-release:
if: github.repository == 'pagefaultgames/pokerogue' && (vars.BETA_DEPLOY_BRANCH == '' || ! startsWith(vars.BETA_DEPLOY_BRANCH, 'release'))
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed for github cli commands
runs-on: ubuntu-latest
steps:
- name: Validate provided version
# Ensure version matches confirmation and conforms to expected pattern.
run: |
if [[ "${{ github.event.inputs.versionName }}" != "${{ github.event.inputs.confirmVersion }}" ]]; then
echo "Version name does not match confirmation. Exiting."
exit 1
fi
if [[ ! "${{ github.event.inputs.versionName }}" =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
echo "Version name must follow the format X.Y.Z where X, Y, and Z are all numbers. Exiting..."
exit 1
fi
shell: bash
- name: Check out code
uses: actions/checkout@v4
with:
submodules: "recursive"
# Always base off of beta branch, regardless of the branch the workflow was triggered from.
ref: beta
- name: Create release branch
run: git checkout -b release
# In order to be able to open a PR into beta, we need the branch to have at least one change.
- name: Overwrite RELEASE file
run: |
git config --local user.name "github-actions[bot]"
git config --local user.email "41898282+github-actions[bot]@users.noreply.github.com"
echo "Release v${{ github.event.inputs.versionName }}" > RELEASE
git add RELEASE
git commit -m "Stage release v${{ github.event.inputs.versionName }}"
- name: Push new branch
run: git push origin release
# The repository variable is used by the deploy-beta workflow to determine whether to deploy from beta or release.
- name: Set repository variable
run: GITHUB_TOKEN="${{ secrets.RW_VARS_PAT }}" gh variable set BETA_DEPLOY_BRANCH --body "release"
- name: Create pull request to main
run: |
gh pr create --base main \
--head release \
--title "Release v${{ github.event.inputs.versionName }} to main" \
--body "This PR is for the release of v${{ github.event.inputs.versionName }}, and was created automatically by the GitHub Actions workflow invoked by ${{ github.actor }}" \
--draft
- name: Create pull request to beta
run: |
gh pr create --base beta \
--head release \
--title "Release v${{ github.event.inputs.versionName }} to beta" \
--body "This PR is for the release of v${{ github.event.inputs.versionName }}, and was created automatically by the GitHub Actions workflow invoked by ${{ github.actor }}" \
--draft

View File

@ -4,16 +4,23 @@ on:
push:
branches:
- beta
- release
workflow_run:
types: completed
workflows: ["Post Release Deleted"]
jobs:
deploy:
if: github.repository == 'pagefaultgames/pokerogue'
if: github.repository == 'pagefaultgames/pokerogue' && github.ref_name == ${{ vars.BETA_DEPLOY_BRANCH || 'beta' }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
submodules: "recursive"
ref: ${{ vars.BETA_DEPLOY_BRANCH || 'beta'}}
- uses: actions/setup-node@v4
with:
node-version: "20"
node-version-file: ".nvmrc"
- name: Install dependencies
run: npm ci
- name: Build
@ -28,5 +35,5 @@ jobs:
chmod 600 ~/.ssh/*
ssh-keyscan -H ${{ secrets.BETA_SSH_HOST }} >> ~/.ssh/known_hosts
- name: Deploy build on server
run: |
rsync --del --no-times --checksum -vrm dist/* ${{ secrets.BETA_SSH_USER }}@${{ secrets.BETA_SSH_HOST }}:${{ secrets.BETA_DESTINATION_DIR }}
run: |
rsync --del --no-times --checksum -vrm dist/* ${{ secrets.BETA_SSH_USER }}@${{ secrets.BETA_SSH_HOST }}:${{ secrets.BETA_DESTINATION_DIR }}

View File

@ -1,8 +1,12 @@
name: Deploy
name: Deploy Main
on:
push: {}
pull_request: {}
push:
branches:
- main
pull_request:
branches:
- main
jobs:
deploy:
@ -10,9 +14,11 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
submodules: 'recursive'
- uses: actions/setup-node@v4
with:
node-version: "20"
node-version-file: '.nvmrc'
- name: Install dependencies
run: npm ci
- name: Build
@ -20,7 +26,7 @@ jobs:
env:
NODE_ENV: production
- name: Set up SSH
if: github.event_name == 'push' && github.ref_name == github.event.repository.default_branch
if: github.event_name == 'push' && github.ref_name == 'main'
run: |
mkdir ~/.ssh
echo "${{ secrets.SSH_PUBLIC_KEY }}" > ~/.ssh/id_ed25519.pub
@ -28,12 +34,12 @@ jobs:
chmod 600 ~/.ssh/*
ssh-keyscan -H ${{ secrets.SSH_HOST }} >> ~/.ssh/known_hosts
- name: Deploy build on server
if: github.event_name == 'push' && github.ref_name == github.event.repository.default_branch
if: github.event_name == 'push' && github.ref_name == 'main'
run: |
rsync --del --no-times --checksum -vrm dist/* ${{ secrets.SSH_USER }}@${{ secrets.SSH_HOST }}:${{ secrets.DESTINATION_DIR }}
ssh -t ${{ secrets.SSH_USER }}@${{ secrets.SSH_HOST }} "~/prmanifest --inpath ${{ secrets.DESTINATION_DIR }} --outpath ${{ secrets.DESTINATION_DIR }}/manifest.json"
- name: Purge Cloudflare Cache
if: github.event_name == 'push' && github.ref_name == github.event.repository.default_branch
if: github.event_name == 'push' && github.ref_name == 'main'
id: purge-cache
uses: NathanVaughn/actions-cloudflare-purge@v3.1.0
with:

View File

@ -1,33 +0,0 @@
name: ESLint
on:
# Trigger the workflow on push or pull request,
# but only for the main branch
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"
name: Run linters # Human-readable name for the job
runs-on: ubuntu-latest # Specify the latest Ubuntu runner for the job
steps:
- name: Check out Git repository # Step to check out the repository
uses: actions/checkout@v2 # Use the checkout action version 2
- name: Set up Node.js # Step to set up Node.js environment
uses: actions/setup-node@v1 # Use the setup-node action version 1
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: eslint # Step to run linters
run: npm run eslint-ci

View File

@ -8,6 +8,8 @@ on:
branches:
- main
- beta
merge_group:
types: [checks_requested]
jobs:
pages:
@ -22,8 +24,9 @@ jobs:
steps:
- name: Checkout repository for Typedoc
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
submodules: 'recursive'
path: pokerogue_docs
- name: Install OS package
@ -31,14 +34,14 @@ jobs:
sudo apt update
sudo apt install -y git openssh-client
- name: Setup Node 20.13.1
uses: actions/setup-node@v1
- name: Setup Node 22.14.1
uses: actions/setup-node@v4
with:
node-version: 20
node-version-file: "pokerogue_docs/.nvmrc"
- name: Checkout repository for Github Pages
if: github.event_name == 'push'
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
path: pokerogue_gh
ref: gh-pages

View File

@ -0,0 +1,12 @@
name: Post Release Deleted
on:
delete:
jobs:
# Set the BETA_DEPLOY_BRANCH variable to beta when a release branch is deleted
update-release-var:
if: github.repository == 'pagefaultgames/pokerogue' && github.event.ref_type == 'branch' && github.event.ref == 'release'
runs-on: ubuntu-latest
steps:
- name: Set BETA_DEPLOY_BRANCH to beta
run: GITHUB_TOKEN="${{ secrets.RW_VARS_PAT }}" gh variable set BETA_DEPLOY_BRANCH --body "beta" --repo "pagefaultgames/pokerogue"

41
.github/workflows/quality.yml vendored Normal file
View File

@ -0,0 +1,41 @@
name: Biome Code Quality
on:
# Trigger the workflow on push or pull request,
# but only for the main branch
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
merge_group:
types: [checks_requested]
jobs:
run-linters: # Define a job named "run-linters"
name: Run linters # Human-readable name for the job
runs-on: ubuntu-latest # Specify the latest Ubuntu runner for the job
steps:
- name: Check out Git repository # Step to check out the repository
uses: actions/checkout@v4 # Use the checkout action version 4
with:
submodules: 'recursive'
- 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-file: '.nvmrc'
cache: 'npm'
- name: Install Node.js dependencies # Step to install Node.js dependencies
run: npm ci # Use 'npm ci' to install dependencies
- name: eslint # Step to run linters
run: npm run eslint-ci
- name: Lint with Biome # Step to run linters
run: npm run biome-ci

View File

@ -0,0 +1,33 @@
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.2.2
with:
submodules: 'recursive'
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version-file: '.nvmrc'
cache: 'npm'
- name: Install Node.js dependencies
run: npm ci
- name: Run tests
run: npx vitest --project ${{ inputs.project }} --no-isolate --shard=${{ inputs.shard }}/${{ inputs.totalShards }} ${{ !runner.debug && '--silent' || '' }}

View File

@ -5,29 +5,65 @@ on:
# but only for the main branch
push:
branches:
- main # Trigger on push events to the main branch
- main # Trigger on push events to the main branch
- beta # Trigger on push events to the beta branch
- release # Trigger on push events to the release branch
# go upvote https://github.com/actions/runner/issues/1182 and yell at microsoft until they fix this or ditch yml for workflows
paths:
# src and test files
- "src/**"
- "test/**"
- "public/**"
# Workflows that can impact tests
- ".github/workflows/test*.yml"
# top-level files
- "package*.json"
- ".nvrmc" # Updates to node version can break tests
- "vite.*.ts" # vite.config.ts, vite.vitest.config.ts, vitest.workspace.ts
- "tsconfig*.json" # tsconfig.json tweaking can impact compilation
- "global.d.ts"
- ".env.*"
# Blanket negations for files that cannot impact tests
- "!**/*.py" # No .py files
- "!**/*.sh" # No .sh files
- "!**/*.md" # No .md files
- "!**/.git*" # .gitkeep and family
pull_request:
branches:
- main # Trigger on pull request events targeting the main branch
- main # Trigger on pull request events targeting the main branch
- beta # Trigger on pull request events targeting the beta branch
- release # Trigger on pull request events targeting the release branch
paths: # go upvote https://github.com/actions/runner/issues/1182 and yell at microsoft because until then we have to duplicate this
# src and test files
- "src/**"
- "test/**"
- "public/**"
# Workflows that can impact tests
- ".github/workflows/test*.yml"
# top-level files
- "package*.json"
- ".nvrmc" # Updates to node version can break tests
- "vite*" # vite.config.ts, vite.vitest.config.ts, vitest.workspace.ts
- "tsconfig*.json" # tsconfig.json tweaking can impact compilation
- "global.d.ts"
- ".env.*"
# Blanket negations for files that cannot impact tests
- "!**/*.py" # No .py files
- "!**/*.sh" # No .sh files
- "!**/*.md" # No .md files
- "!**/.git*" # .gitkeep and family
merge_group:
types: [checks_requested]
jobs:
run-tests: # Define a job named "run-tests"
name: Run tests # Human-readable name for the job
runs-on: ubuntu-latest # Specify the latest Ubuntu runner for the job
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: tests # Step to run tests
run: npm run test:silent
run-tests:
name: Run Tests
strategy:
matrix:
shard: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
uses: ./.github/workflows/test-shard-template.yml
with:
project: main
shard: ${{ matrix.shard }}
totalShards: 10

7
.gitignore vendored
View File

@ -13,7 +13,8 @@ dist-ssr
*.local
# Editor directories and files
.vscode/*
.vscode
*.code-workspace
.idea
.DS_Store
*.suo
@ -41,3 +42,7 @@ coverage
/dependency-graph.svg
/.vs
# Script outputs
./*.csv

3
.gitmodules vendored Normal file
View File

@ -0,0 +1,3 @@
[submodule "public/locales"]
path = public/locales
url = https://github.com/pagefaultgames/pokerogue-locales

1
.nvmrc Normal file
View File

@ -0,0 +1 @@
v22.14.0

624
CREDITS.md Normal file
View File

@ -0,0 +1,624 @@
# 🎵 Music
## BGM
- Pokémon Mystery Dungeon: Explorers of Sky
- Arata Iiyoshi
- Hideki Sakamoto
- Keisuke Ito
- Ken-ichi Saito
- Yoshihiro Maeda
- Pokémon Black/White
- Go Ichinose
- Hitomi Sato
- Shota Kageyama
- Pokémon Mystery Dungeon: Rescue Team DX
- Keisuke Ito
- Arata Iiyoshi
- Atsuhiro Ishizuna
- Pokémon HeartGold/SoulSilver
- Pokémon Black/White 2
- Pokémon X/Y
- Pokémon Omega Ruby/Alpha Sapphire
- Pokémon Sun/Moon
- Pokémon Ultra Sun/Ultra Moon
- Pokémon Sword/Shield
- Pokémon Legends: Arceus
- Pokémon Scarlet/Violet
- Firel (Custom Graveyard, Ice Cave, Laboratory, Metropolis, Plains, Power Plant, Seabed, Space, and Volcano biome music)
- Lmz (Custom Ancient Ruins, Jungle, and Lake biome music)
- Andr06 (Custom Forest, Slum and Sea biome music)
- _tresnoir
- unveiler
## Sound Effects
- Pokémon Emerald
- Pokémon Black/White
# 🎨 Art
## Backgrounds
- Squip (Paid Commissions)
- Contributions by Someonealive-QN
## UI
- GAMEFREAK
- LJ Birdman
## Pagefault Games Intro
- Spectremint
## Game Logo
- Gonstar (Paid Commission)
## Trainer Sprites
- GAMEFREAK (Pokémon Black/White 2, Pokémon Diamond/Pearl)
- kyledove
- Brumirage
- pkmn_realidea (Paid Commissions)
- IceJkai
- Leparagon
- wormhood
## Mystery Event Sprites
- chrysomelinae
- koda_want_to_sleep
- “🐺Kieran/YJ 🐍” rival_kieran aka thedreadedden
- ImperialSympathizer
- wormhood
- gerolau
- otterwatch
## Trainer Portraits
- pkmn_realidea (Paid Commissions)
## Pokémon Sprites and Animation
In addition to the lists below, please check [the PokéRogue wiki](https://wiki.pokerogue.net/credits:credits) for a more detailed list of Pokémon Sprite credits.
- GAMEFREAK (Pokémon Black/White 2)
- Smogon Sprite Project (Various Artists)
- Skyflyer
- Nolo33
- Ebaru
- EricLostie
- kiriaura
- Caruban
- Sopita_Yorita
- Azrita
- AshnixsLaw
- Hellfire0raptor
- RetroNC
- Franark122k
- OldSoulja
- PKMarioG
- ItsYugen
- lucasomi
- Pkm Sinfonia
- Poki Papillon
- Fleimer_
- bizcoeindoloro
- mangalos810
- selstar
### Static Sprites and Base Shiny Replacements Credits
- AMVictory
- Antiant
- Arhops
- arinoelle
- Arkeis
- aXl
- BananaToast
- Basic Vanillite
- BlackWhiteRobin
- Blaquaza
- Branflakes325
- Brylark
- Buna
- Bynine
- Corson
- Cynda
- “Diashi” diazhi
- Dleep
- doomchaos
- Espeon Scientist
- Farriella
- fishbowlsoul90
- “Follower” rulerofthesea11
- Galifia
- GeoisEvil
- G.E.Z.
- Glustora
- Harrie
- HealnDeal
- Hematite
- HM100
- Ice-cold Claws
- Involuntary Twitch
- “Jay” itsamejay
- KattenK
- KingOfThe-X-Roads
- KyleDove
- Kyleo
- Kyuzeth
- Larryturbo
- Layell
- Legitimate Username
- leParagon
- “LJ” lj_birdman
- Luigi Player
- Madmadness65
- Mega-Pokebattlerz
- Mintly
- mjco
- “Momo” sphinx_sage
- MrDollSteak
- MyMarshlands
- N-Kin
- Noscium
- “Nova” fabunova
- “Omniv” omniv
- paintseagull
- princessofmusic
- PumpkinPastel
- Quanyails
- RadicalCharizard
- RedRooster
- “♂ROMEO⚧” gerolau
- ruleroftheseas11
- SelenaArmorclaw
- “serif” serifaizawa
- Siiilver
- Sleet
- Snivy101
- Speed-X
- Sphex
- Spook
- Squip
- TeraVolt
- TheAetherPlayer
- TheCynicalPoet
- Tooni
- TrainerSplash
- Travis
- Turtleye
- Tyrell D. Barnes
- “Vari” \_vari\_
- Wobblebuns
- WolfPP
- WPS
- Wyverii
- “zan” smtif
- Zerudez
- Z-nogyroP
### Animated Sprites Credits
- Antiant
- arinoelle
- Blaquaza
- Claire Starsword
- Coyotango
- DanEx
- “Diashi” diazhi
- GalacticArtistMuffin
- G.E.Z.
- hexagonereal
- HM100
- Katten
- LeParagon
- localghost
- MallowOut
- mattiwarden
- “Momo” sphinx_sage
- N-Kin
- NoelleMBrooks
- Nyx
- “Omniv” omniv
- princessofmusic
- PumpkinPastel
- RadicalCharizard
- seleccion
- SelenaArmorclaw
- TheAetherPlayer
- Tinkatooni
- Typhlito
- uppa
- “Vari” \_vari\_
### Rare/Epic Shiny Variants Credits
- “Andr06” andr06
- “Appo” appo
- “Ashhawk” k_redacted
- “Auralite” _auralite
- “Awesome_Soul” awesome_soul
- “Bagon” bagonganda
- “Bibble” nuts_.
- “BloomOfWoods” bloomofwoods
- “Buge” buge
- “bun” bunove
- “bukie” bukie
- cameranian
- “Caramel” saltedcarriemel
- “Chocolate Niblets” choconibs
- “CKC” ckc_
- “ClawsHDi” clawshdi
- “Clown Princess” clown_princess
- “Cmac2173” cmac2173
- “Corsola” corsola_bandit
- “Criminon” criminon
- “Cryptican Gogoat Enthusiast” crypticanexe
- “Diashi” diazhi
- “deviant.daffodil, bug enthusiast” deviant.daffodil
- “DigitalVaporeon” digitalvaporeon
- dingosig
- “Eku” ekusas00
- “Elefante”
- “Esca” colossalsquid
- “Folf” folf.
- “Follower” ruleroftheseas11
- “Fontbane” fontbane
- “Gallow” gallowhound
- “Giojoe” giojoe10
- “Gonfold” gonfold
- greenninja757
- “Grassy_Storm” grassy_storm
- “GreenMegaMan” greenmegaman
- “GROWL” myflixer.to
- “guy claiming to work on a guide” 7thatlas
- “h. 🍄” letterh.
- “hamez” .hamez
- “Hanniel” hanniel.15
- “ImaginaryNeon” imaginaryneon
- “Jay” itsamejay
- “Jelke” jelke
- kalikimothy
- “🐺Kieran/YJ 🐍” rival_kieran aka thedreadedden
- “Koda” Koda_want_to_sleep
- “Lana” smogonian
- “LJ” lj_birdman
- “Long Girl” docamakesart
- “Lucky” luckyluckylucky
- “MissingNo.” clickonflareblitz
- “Momo” sphinx_sage
- monkehestman
- “Nexxus” nexxus_
- “Nik :3” realniktrustme
- “Nikolatsu”
- “nora” ora.n
- “NOVA” fabunova
- officerporkchops
- “Omniv” omniv
- “Otterwatch” otterwatch_
- “Pandoraz” pandoraz
- “Papa Pepsm An” papapepsman
- “Penguin” peng06
- “Prodigy” lorekeeperprodigy
- “Purpenigma” purpenigma
- “Rage” ragerevival
- “♂ROMEO⚧” gerolau
- “Sagrell D'Arcadia” coffeerequired
- “serif” serifaizawa
- “SillyTopplingGoose” sillytopplinggoose
- “Splash Damage” splashceles
- “Sweg1b01” sweg1b01
- “SyntheGrim” synthegrim
- “TaMenace” tamariontherestless
- “TheTRUEgge” thetruegge
- “Thorn” crownofthorns
- “Togepi” togepimax
- “Toopy” .toopy
- “Tristan” tristan.w
- “Umbreon” umbreon\_.\_
- “Vari” \_vari\_
- “Waasephi”
- wormhood
- “Yep, it's Caio” yepitscaio
- “Ymri” ymri
- “zaccie” zaccie
- “zan” smtif
## Move Animations
- Pokémon Reborn
# ⚖️ Balance
## Balance Team
- damocleas
- Blitzy aka Kazapple
- Cynthia_calliope
- Esca
- Fontbane
- Plasto
- Sethcurry
- Starkrieg
## Past Members
- Swizzo
- Zaccie
## Past Contributors
- chrysomelinae (Mystery Events)
- AsdarDevelops (Mystery Events)
# 💻 Development
## Server Developers
- pancakes aka patapancakes
## Current and former Development Team members
- bennybroseph
- Brain Frog
- CodeTappert
- Dakurei
- flx-sta
- frutescens
- Greenlamp
- ImperialSympathizer
- innerthunder
- KimJeongSun
- Madmadness65
- Moka
- Navori
- NightKev
- Opaquer
- OrangeRed
- Sam aka Flashfyre (initial developer, started PokéRogue)
- SirzBenjie
- sirzento
- SN34KZ
- Swain aka torranx
- Temp aka Tempo-anon
- Walker
- Wlowscha (aka Curbio)
- Xavion
## Bug/Issue Managers
- Daleks
- Lily
- PigeonBar
- Snailman
## Other Code Contributors
- Admiral-Billy
- allen925
- arColm
- Arxalc
- AsdarDevelops
- Corrade
- DustinLin
- ElizaAlex
- EmberCM
- EmoUsedHM01
- EvasiveAce
- Fontbane
- francktrouillez
- FredeX
- geeilhan
- happinyz
- hayuna
- InfernoVulpix
- j-diefenbach
- jaimefd
- JakubHanko
- JonStudders
- karl-police
- lucfd
- Lugiadrien
- madibye
- mattrossdev
- mcmontag
- meepen
- Mewtwo2387
- muscode
- Neverblade
- NxKarim
- okimin
- PigeonBar
- PrabbyDD
- prateau
- prime-dialga
- PyGaVS
- rationality6
- RedstonewolfX
- ReneGV
- rnicar245
- schmidtc1
- shayebeadling
- snoozbuster
- sodaMelon
- td76099
- Vassiat
- Xiaphear
- zaccie
- zacharied
- Zé Ricardo
# 🌎 Translation
## In-Game Translators
### 🇩🇪 German (de)
- CodeTappert
### 🇪🇸 Spanish (es-ES)
- Dan Stevenson
- Javi
- Lily Alterni
- Qyxgames
### 🇫🇷 French (fr)
- Lugiadrien
### 🇮🇹 Italian (it)
- Nicus
### 🇯🇵 Japanese (ja)
- 6mozuke9
- Chapybara
- PeachFresca
### 🇰🇷 Korean (ko)
- Enoch
- KimJeongSun
- Returntoice
- sodamelon
### 🇧🇷 Portuguese (pt-BR)
- Zé Ricardo
### 🇨🇳 Chinese (zh-CN)
- dddsenic
- mercurius
- VittorioVeneto
- Yonmaru
### 🇹🇼 Chinese (zh-TW)
- mercurius
- Seagull
### Past contributors
- Asdar (es-ES)
- Rafa (es-ES)
- GINK-SS (ko)
- prostagma (pt-BR)
- Ei (zh-TW)
## Wiki Translators
### 🇪🇸 Spanish (es-ES)
- victorcooler
### 🇫🇷 French (fr)
- Evan
- Mitsue
- Papier
- Sangara
- Voltarix
### 🇮🇹 Italian (it)
- Purce
- T-reds
### 🇰🇷 Korean (ko)
- LeKaaN
- Returntoice
- sodamelon
### 🇵🇱 Polish (pl)
- Talo
### 🇧🇷 Portuguese (pt-BR)
- Beast
- Sushi
- Zé Ricardo
### 🇨🇳 Chinese (zh-CN)
- jw-0-
### Past contributors
- Dietaube (de)
- Gnorpelltroll (de)
- xRegix (de)
- Broly Ikari (fr)
- Leo Edgar_Zimmer (fr)
- Telor (fr)
- dorri (ko)
- Little Moder_eldenring (ko)
- Andy (zh-CN)
- Black Feather (zh-CN)
- itschili (zh-CN)
- RimKnight (zh-CN)
- Yubari (zh-CN)
## 🇺🇸 English Proofreaders
- Cheyu
- Faust
- HaywiredUp
- Irridescence
- Ke'ahi
- Louie
- Nully
- PeD
- The Programmer
### Past contributors
- I...
# 📰 Wiki
## Wiki Head
- H.A.R.V.
## Wiki Lead
- Sangara
- Zac
- Smew
- Brain Frog
- Hannah
## Editor
- Prodigy
- Akuma
- Dan Gioia
- Shimizoki
- Stave
- NalysArbur
- Ceimir
- Solanum Tuberosum
- Pom
## Artist
- dub
- SmashMania
- Wren
- Lugiadrien
## Contributor
- Daleks <3
- Inferno Vulpix
- Embri
- Nekod
- P0kemonY
- Scoom
- BlueVaron
# ☎️ Discord
## Head Moderator
- leah
## Senior Moderators
- Solanum Tuberosum
- Madmadness65
- Necrowmancer
- lana
## Moderators
- Sethcurry
## Junior Moderators
- chacolah
- ChaosGrimmon
- Cynthia
- Kat
- lyn
- Pom
# ✨ Special Thanks
## Reddit Moderators
- TheZigglez
- Vicksin
- Sapphire
- Javi
- roi
## External Tools
- Ydarissep (creator of the now defunct "Yda's Dex")
- Admiral-Billy (Offline App - Desktop)
- Red aka StonedModder (iOS App)

112
README.md
View File

@ -3,117 +3,51 @@
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.
### 💻 Environment Setup
#### Prerequisites
- node: 20.13.1
- node: 22.14.0
- npm: [how to install](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm)
#### Running Locally
1. Clone the repo and in the root directory run `npm install`
- *if you run into any errors, reach out in the **#dev-corner** channel in discord*
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 Biome 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 biome` script. To view the complete rules, check out the [biome.jsonc](./biome.jsonc) file.
### 📚 Documentation
You can find the auto-generated documentation [here](https://pagefaultgames.github.io/pokerogue/main/index.html).
For information on enemy AI, check out the [enemy-ai.md](./docs/enemy-ai.md) file.
For detailed guidelines on documenting your code, refer to the [comments.md](./docs/comments.md) file.
### ❔ 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
**How do I retrieve the translations?**
- The translations were moved to the [dedicated translation repository](https://github.com/pagefaultgames/pokerogue-locales) and are now applied as a submodule in this project.
- The command to retrieve the translations is `git submodule update --init --recursive`. If you still struggle to get it working, please reach out to #dev-corner channel in Discord.
## 🪧 To Do
Check out [Github Issues](https://github.com/pagefaultgames/pokerogue/issues) to see how can you help us!
# 📝 Credits
> If this project contains assets you have produced and you do not see your name here, **please** reach out.
>
> If this project contains assets you have produced and you do not see your name, **please** reach out, either [here on GitHub](https://github.com/pagefaultgames/pokerogue/issues/new) or via [Discord](https://discord.gg/pokerogue).
### 🎵 BGM
- Pokémon Mystery Dungeon: Explorers of Sky
- Arata Iiyoshi
- Hideki Sakamoto
- Keisuke Ito
- Ken-ichi Saito
- Yoshihiro Maeda
- Pokémon Black/White
- Go Ichinose
- Hitomi Sato
- Shota Kageyama
- Pokémon Mystery Dungeon: Rescue Team DX
- Keisuke Ito
- Arata Iiyoshi
- Atsuhiro Ishizuna
- Pokémon HeartGold/SoulSilver
- Pokémon Black/White 2
- Pokémon X/Y
- Pokémon Omega Ruby/Alpha Sapphire
- Pokémon Sun/Moon
- Pokémon Ultra Sun/Ultra Moon
- Pokémon Sword/Shield
- 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
- Pokémon Black/White
### 🎨 Backgrounds
- Squip (Paid Commissions)
- Contributions by Someonealive-QN
### 🎨 UI
- GAMEFREAK
- LJ Birdman
### 🎨 Pagefault Games Intro
- Spectremint
### 🎨 Game Logo
- Gonstar (Paid Commission)
### 🎨 Trainer Sprites
- GAMEFREAK (Pokémon Black/White 2, Pokémon Diamond/Pearl)
- kyledove
- Brumirage
- pkmn_realidea (Paid Commissions)
- IceJkai
### 🎨 Trainer Portraits
- pkmn_realidea (Paid Commissions)
### 🎨 Pokemon Sprites and Animation
- GAMEFREAK (Pokémon Black/White 2)
- Smogon Sprite Project (Various Artists)
- Skyflyer
- Nolo33
- Ebaru
- EricLostie
- KingOfThe-X-Roads
- kiriaura
- Caruban
- Sopita_Yorita
- Azrita
- AshnixsLaw
- Hellfire0raptor
- RetroNC
- Franark122k
- OldSoulja
- PKMarioG
- ItsYugen
- lucasomi
- Pkm Sinfonia
- Poki Papillon
- Fleimer_
- bizcoeindoloro
- mangalos810
- Involuntary-Twitch
- selstar
- koda_want_to_sleep
### 🎨 Move Animations
- Pokémon Reborn
Thank you to all the wonderful people that have contributed to the PokéRogue project! You can find the credits [here](./CREDITS.md).

117
biome.jsonc Normal file
View File

@ -0,0 +1,117 @@
{
"$schema": "https://biomejs.dev/schemas/1.9.4/schema.json",
"vcs": {
"enabled": false,
"clientKind": "git",
"useIgnoreFile": true,
"defaultBranch": "beta"
},
"formatter": {
"enabled": true,
"useEditorconfig": true,
"indentStyle": "space",
"ignore": ["src/enums/*", "src/data/balance/*"],
"lineWidth": 120
},
"files": {
"ignoreUnknown": true,
// Adding folders to the ignore list is GREAT for performance because it prevents biome from descending into them
// and having to verify whether each individual file is ignored
"ignore": [
"**/*.d.ts",
"dist/*",
"build/*",
"coverage/*",
"public/*",
".github/*",
"node_modules/*",
".vscode/*",
"*.css", // TODO?
"*.html", // TODO?
"src/overrides.ts",
// TODO: these files are too big and complex, ignore them until their respective refactors
"src/data/moves/move.ts",
"src/data/abilities/ability.ts",
"src/field/pokemon.ts",
// this file is just too big:
"src/data/balance/tms.ts"
]
},
// While it'd be nice to enable consistent sorting, enabling this causes issues due to circular import resolution order
// TODO: Remove if we ever get down to 0 circular imports
"organizeImports": { "enabled": false },
"linter": {
"ignore": [
"src/phases/move-effect-phase.ts" // TODO: unignore after move-effect-phase refactor
],
"enabled": true,
"rules": {
"recommended": true,
"correctness": {
"noUndeclaredVariables": "off",
"noUnusedVariables": "error",
"noSwitchDeclarations": "warn", // TODO: refactor and make this an error
"noVoidTypeReturn": "warn", // TODO: Refactor and make this an error
"noUnusedImports": "error"
},
"style": {
"noVar": "error",
"useEnumInitializers": "off", // large enums like Moves/Species would make this cumbersome
"useBlockStatements": "error",
"useConst": "error",
"useImportType": "error",
"noNonNullAssertion": "off", // TODO: Turn this on ASAP and fix all non-null assertions in non-test files
"noParameterAssign": "off",
"useExponentiationOperator": "off", // Too typo-prone and easy to mixup with standard multiplication (* vs **)
"useDefaultParameterLast": "off", // TODO: Fix spots in the codebase where this flag would be triggered, and then enable
"useSingleVarDeclarator": "off",
"useNodejsImportProtocol": "off",
"useTemplate": "off", // string concatenation is faster: https://stackoverflow.com/questions/29055518/are-es6-template-literals-faster-than-string-concatenation
"noNamespaceImport": "error"
},
"suspicious": {
"noDoubleEquals": "error",
// While this would be a nice rule to enable, the current structure of the codebase makes this infeasible
// due to being used for move/ability `args` params and save data-related code.
// This can likely be enabled for all non-utils files once these are eventually reworked, but until then we leave it off.
"noExplicitAny": "off",
"noAssignInExpressions": "off",
"noPrototypeBuiltins": "off",
"noFallthroughSwitchClause": "error", // Prevents accidental automatic fallthroughs in switch cases (use disable comment if needed)
"noImplicitAnyLet": "warn", // TODO: Refactor and make this an error
"noRedeclare": "info", // TODO: Refactor and make this an error
"noGlobalIsNan": "off",
"noAsyncPromiseExecutor": "warn" // TODO: Refactor and make this an error
},
"complexity": {
"noExcessiveCognitiveComplexity": "warn", // TODO: Refactor and make this an error
"useLiteralKeys": "off",
"noForEach": "off", // Foreach vs for of is not that simple.
"noUselessSwitchCase": "off", // Explicit > Implicit
"noUselessConstructor": "warn", // TODO: Refactor and make this an error
"noBannedTypes": "warn" // TODO: Refactor and make this an error
}
}
},
"javascript": {
"formatter": { "quoteStyle": "double", "arrowParentheses": "asNeeded" }
},
"overrides": [
{
"include": ["test/**/*.test.ts"],
"javascript": { "globals": [] },
"linter": {
"rules": {
"performance": {
"noDelete": "off" // TODO: evaluate if this is necessary for the test(s) to function
},
"style": {
"noNamespaceImport": "off" // this is required for `vi.spyOn` to work in some tests
}
}
}
}
]
}

172
create-test-boilerplate.js Normal file
View File

@ -0,0 +1,172 @@
/**
* This script creates a test boilerplate file in the appropriate
* directory based on the type selected.
* @example npm run create-test
*/
import fs from "fs";
import inquirer from "inquirer";
import path from "path";
import { fileURLToPath } from "url";
// Get the directory name of the current module file
const __filename = fileURLToPath(import.meta.url);
const __dirname = path.dirname(__filename);
const typeChoices = ["Move", "Ability", "Item", "Mystery Encounter"];
/**
* Prompts the user to select a type via list.
* @returns {Promise<{selectedOption: string}>} the selected type
*/
async function promptTestType() {
const typeAnswer = await inquirer.prompt([
{
type: "list",
name: "selectedOption",
message: "What type of test would you like to create:",
choices: [...typeChoices, "EXIT"],
},
]);
if (typeAnswer.selectedOption === "EXIT") {
console.log("Exiting...");
return process.exit();
}
if (!typeChoices.includes(typeAnswer.selectedOption)) {
console.error(`Please provide a valid type (${typeChoices.join(", ")})!`);
return await promptTestType();
}
return typeAnswer;
}
/**
* Prompts the user to provide a file name.
* @param {string} selectedType
* @returns {Promise<{userInput: string}>} the selected file name
*/
async function promptFileName(selectedType) {
const fileNameAnswer = await inquirer.prompt([
{
type: "input",
name: "userInput",
message: `Please provide the name of the ${selectedType}:`,
},
]);
if (!fileNameAnswer.userInput || fileNameAnswer.userInput.trim().length === 0) {
console.error("Please provide a valid file name!");
return await promptFileName(selectedType);
}
return fileNameAnswer;
}
/**
* Runs the interactive create-test "CLI"
* @returns {Promise<void>}
*/
async function runInteractive() {
const typeAnswer = await promptTestType();
const fileNameAnswer = await promptFileName(typeAnswer.selectedOption);
const type = typeAnswer.selectedOption.toLowerCase();
// Convert fileName from kebab-case or camelCase to snake_case
const fileName = fileNameAnswer.userInput
.replace(/-+/g, "_") // Convert kebab-case (dashes) to underscores
.replace(/([a-z])([A-Z])/g, "$1_$2") // Convert camelCase to snake_case
.replace(/\s+/g, "_") // Replace spaces with underscores
.toLowerCase(); // Ensure all lowercase
// Format the description for the test case
const formattedName = fileName.replace(/_/g, " ").replace(/\b\w/g, char => char.toUpperCase());
// Determine the directory based on the type
let dir;
let description;
switch (type) {
case "move":
dir = path.join(__dirname, "test", "moves");
description = `Moves - ${formattedName}`;
break;
case "ability":
dir = path.join(__dirname, "test", "abilities");
description = `Abilities - ${formattedName}`;
break;
case "item":
dir = path.join(__dirname, "test", "items");
description = `Items - ${formattedName}`;
break;
case "mystery encounter":
dir = path.join(__dirname, "test", "mystery-encounter", "encounters");
description = `Mystery Encounter - ${formattedName}`;
break;
default:
console.error(`Invalid type. Please use one of the following: ${typeChoices.join(", ")}.`);
process.exit(1);
}
// Define the content template
const content = `import { Abilities } from "#enums/abilities";
import { Moves } from "#enums/moves";
import { Species } from "#enums/species";
import GameManager from "#test/testUtils/gameManager";
import Phaser from "phaser";
import { afterEach, beforeAll, beforeEach, describe, expect, it } from "vitest";
describe("${description}", () => {
let phaserGame: Phaser.Game;
let game: GameManager;
beforeAll(() => {
phaserGame = new Phaser.Game({
type: Phaser.HEADLESS,
});
});
afterEach(() => {
game.phaseInterceptor.restoreOg();
});
beforeEach(() => {
game = new GameManager(phaserGame);
game.override
.moveset([ Moves.SPLASH ])
.ability(Abilities.BALL_FETCH)
.battleType("single")
.disableCrits()
.enemySpecies(Species.MAGIKARP)
.enemyAbility(Abilities.BALL_FETCH)
.enemyMoveset(Moves.SPLASH);
});
it("should do X", async () => {
await game.classicMode.startBattle([ Species.FEEBAS ]);
game.move.select(Moves.SPLASH);
await game.phaseInterceptor.to("BerryPhase");
expect(true).toBe(true);
});
});
`;
// Ensure the directory exists
if (!fs.existsSync(dir)) {
fs.mkdirSync(dir, { recursive: true });
}
// Create the file with the given name
const filePath = path.join(dir, `${fileName}.test.ts`);
if (fs.existsSync(filePath)) {
console.error(`File "${fileName}.test.ts" already exists.`);
process.exit(1);
}
// Write the template content to the file
fs.writeFileSync(filePath, content, "utf8");
console.log(`File created at: ${filePath}`);
}
runInteractive();

View File

@ -10,4 +10,4 @@ for await (const chunk of process.stdin) {
const file = Buffer.concat(inputFile).toString("utf-8");
const svg = graphviz.dot(file, "svg");
process.stdout.write(svg);
process.stdout.write(svg);

View File

@ -1,64 +1,107 @@
## How do I comment my code?
# Commenting code
### While we're not enforcing a strict standard, there are some things to keep in mind:
People spend more time reading code than writing it (sometimes substantially more so). As such, comments and documentation are **vital** for any large codebase like this.
## General Guidelines
While we're not enforcing a strict standard, here are some things to keep in mind:
- Make comments meaningful
- Comments should be explaining why a line or block of code exists and what the reason behind it is
- Comments should not be repeating chunks of code or explaining what 'true' and 'false' means in typescript
- Comments should **NOT** repeat _what_ code _does_[^1] or explain concepts obvious to someone with a basic understanding of the language at hand. Instead, focus on explaining _why_ a line or block of code exists.
- Anyone with basic reading comprehension and a good IDE can figure out what code does; gaining a _post hoc_ understanding of the _reasons_ behind its existence takes a lot more digging, effort and bloodshed.
- Keep comments readable
- A comment's verbosity should roughly scale with the complexity of its subject matter. Some people naturally write shorter or longer comments as a personal style, but summarizing a 300 line function with "does a thing" is about as good as writing nothing. Conversely, writing a paragraph-level response where a basic one-liner would suffice is no less undesirable.
- Long comments should ideally be broken into multiple lines at around the 100-120 character mark. This isn't _mandatory_, but avoids unnecessary scrolling in terminals and IDEs.
- Make sure comments exist on Functions, Classes, Methods, and Properties
- This may be the most important things to comment. When someone goes to use a function/class/method/etc., having a comment reduces the need to flip back and forth between files to figure out how something works. Peek Definition is great until you're three nested functions deep.
- The best example of this is JSDoc-style comments as seen below:
- When formatted this way, the comment gets shown by intellisense in VS Code or similar IDEs just by hovering over the text!
- Functions also show each the comment for parameter as you type them, making keeping track of what each one does in lengthy functions much more clear
```js
/**
* Changes the type-based weather modifier if this move's power would be reduced by it
* @param user {@linkcode Pokemon} using this move
* @param target {@linkcode Pokemon} target of this move
* @param move {@linkcode Move} being used
* @param args [0] {@linkcode Utils.NumberHolder} for arenaAttackTypeMultiplier
* @returns true if the function succeeds
*/
apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean {
}
- These may be the most important things to comment. When someone goes to use a function/class/method/etc., having a comment reduces the need to flip back and forth between files to figure out what XYZ does. Peek Definition is great until you're three nested levels deep.
/** Set to true when experimental animated sprites from Gen6+ are used */
public experimentalSprites: boolean = false;
[^1]: With exceptions for extremely long, convoluted or unintuitive methods (though an over-dependency on said comments is likely a symptom of poorly structured code).
# TSDoc
The codebase makes extensive use of [TSDoc](https://tsdoc.org), which is a TypeScript-specific version of [JSDoc](https://jsdoc.app/about-getting-started)
that uses similar syntax and attaches to functions, classes, etc.
When formatted correctly, these comments are shown within VS Code or similar IDEs just by hovering over the function or object.
- Functions also show the comment for each parameter as you type them, making keeping track of arguments inside lengthy functions much more clear.
They can also be used to generate a commentated overview of the codebase. There is a GitHub action that automatically updates [this docs site](https://pagefaultgames.github.io/pokerogue/main/index.html)
and you can generate it locally as well via `npm run docs` which will generate into the `typedoc/` directory.
## Syntax
For an example of how TSDoc comments work, here are some TSDoc comments taken from `src/data/moves/move.ts`:
```ts
/**
* Cures the user's party of non-volatile status conditions, ie. Heal Bell, Aromatherapy
* @extends MoveAttr
* @see {@linkcode apply}
* Attribute to put in a {@link https://bulbapedia.bulbagarden.net/wiki/Substitute_(doll) | Substitute Doll} for the user.
*/
export class DontHealThePartyPlsAttr extends MoveAttr {
export class AddSubstituteAttr extends MoveEffectAttr {
/** The ratio of the user's max HP that is required to apply this effect */
private hpCost: number;
/** Whether the damage taken should be rounded up (Shed Tail rounds up) */
private roundUp: boolean;
constructor(hpCost: number, roundUp: boolean) {
// code removed
}
/**
* Removes 1/4 of the user's maximum HP (rounded down) to create a substitute for the user
* @param user - The {@linkcode Pokemon} that used the move.
* @param target - n/a
* @param move - The {@linkcode Move} with this attribute.
* @param args - n/a
* @returns `true` if the attribute successfully applies, `false` otherwise
*/
apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean {
// code removed
}
getUserBenefitScore(user: Pokemon, target: Pokemon, move: Move): number {
// code removed
}
getCondition(): MoveConditionFunc {
// code removed
}
/**
* Get the substitute-specific failure message if one should be displayed.
* @param user - The pokemon using the move.
* @returns The substitute-specific failure message if the conditions apply, otherwise `undefined`
*/
getFailedText(user: Pokemon, _target: Pokemon, _move: Move): string | undefined {
// code removed
}
}
```
You'll notice this contains an `{@linkcode Object}` tag for each parameter. This provides an easy type denomination and hyperlink to that type using VS Code's Intellisense. `@linkcode` is used instead of `@link` so that the text appears in monospace which is more obviously a `type` rather than a random hyperlink.
If you're interested in going more in depth, you can find a reference guide for how comments like these work [here](https://jsdoc.app)
Looking at the example given, you'll notice this contains an `{@linkcode XYZ}` tag in some of the parameters. This provides a clickable hyperlink to that type or object in most modern IDEs. (`@linkcode` is used here instead of `@link` so that the text appears in monospace which is more obviously a `type` rather than a random hyperlink.) \
Also note the dashes (` - `) between the parameter names and descriptions - these are **mandatory** under the TSDoc spec[^2].
If you're interested in going more in depth, you can find a reference guide for how comments like these work [on the TSDoc website](https://tsdoc.org).
The [playground page](https://tsdoc.org/play/) there can also be used for live testing of examples.
[^2]: Incidentally, this is also the only place dashes are explicitly _required_.
### What not to do:
- Don't leave comments for code you don't understand
- Incorrect information is worse than no information. If you aren't sure how something works, don't make something up to explain it. Ask for help instead.
- Incorrect information is worse than no information. If you aren't sure how something works, don't make something up to explain it - ask for help and/or mark it as TODO.
- Don't over-comment
- Not everything needs an explanation. Try to summarize blocks of code instead of singular lines where possible. Single line comments should call out specific oddities.
- Not everything needs a comment. Try to summarize blocks of code instead of singular lines where possible, always preferring giving a reason over stating a fact. Single line comments should call out specific oddities or features.
## How do Abilities and Moves differ from other classes?
While other classes should be fully documented, Abilities and Moves heavily incoperate inheritance (i.e. the `extends` keyword). Because of this, much of the functionality in these classes is duplicated or only slightly changed between classes.
### With this in mind, there's a few more things to keep in mind for these:
- Do not document any parameters if the function mirrors the one they extend.
- Keep this in mind for functions that are not the `apply` function as they are usually sparce and mostly reused
- The class itself must be documented
- This must include the `@extends BaseClass` and `@see {@linkcode apply}` tags
- Keep this in mind for functions that are not the `apply` function as they are usually sparse and mostly reused
- Class member variables must be documented
- You can use a single line documentation comment for these `/** i.e. a comment like this */`
- `args` parameters must be documented if used
- This should look something like this when there are multiple:
- This should look something vaguely like this when there are multiple:
```ts
/**
...
* @param args [0] {@linkcode Utils.NumberHolder} of arenaAttackTypeMultiplier
* [1] {@linkcode Utils.BooleanHolder} of cancelled
* [2] {@linkcode Utils.BooleanHolder} of rWeDoneYet
* @param args -
* `[0]` The {@linkcode Move} being used
* `[1]` A {@linkcode BooleanHolder} used to track XYZ
* `[2]` {@linkcode BooleanHolder} `paramC` - paramC description here
...
*/
```
```

View File

@ -37,12 +37,12 @@ The `EnemyCommandPhase` follows this process to determine whether or not an enem
1. If the Pokémon has a move already queued (e.g. they are recharging after using Hyper Beam), or they are trapped (e.g. by Bind or Arena Trap), skip to resolving a `FIGHT` command (see next section).
2. For each Pokémon in the enemy's party, [compute their matchup scores](#calculating-matchup-scores) against the active player Pokémon. If there are two active player Pokémon in the battle, add their matchup scores together.
3. Take the party member with the highest matchup score and apply a multiplier to the score that reduces the score based on how frequently the enemy trainer has switched Pokémon in the current battle.
- The multiplier scales off of a counter that increments when the enemy trainer chooses to switch a Pokémon and decrements when they choose to use a move.
- The multiplier scales off of a counter that increments when the enemy trainer chooses to switch a Pokémon and decrements when they choose to use a move.
4. Compare the result of Step 3 with the active enemy Pokémon's matchup score. If the party member's matchup score is at least three times that of the active Pokémon, switch to that party member.
- "Boss" trainers only require the party member's matchup score to be at least two times that of the active Pokémon, so they are more likely to switch than other trainers. The full list of boss trainers in the game is as follows:
- All gym leaders, Elite 4 members, and Champions
- All Evil Team leaders
- The last three Rival Fights (on waves 95, 145, and 195)
- "Boss" trainers only require the party member's matchup score to be at least two times that of the active Pokémon, so they are more likely to switch than other trainers. The full list of boss trainers in the game is as follows:
- All gym leaders, Elite 4 members, and Champions
- All Evil Team leaders
- The last three Rival Fights (on waves 95, 145, and 195)
5. If the enemy decided to switch, send a switch `turnCommand` and end this `EnemyCommandPhase`; otherwise, move on to resolving a `FIGHT` enemy command.
## Step 2: Selecting a Move
@ -54,34 +54,41 @@ At this point, the enemy (a wild or trainer Pokémon) has decided against switch
In `getNextMove()`, the enemy Pokémon chooses a move to use in the following steps:
1. If the Pokémon has a move in its Move Queue (e.g. the second turn of a charging move), and the queued move is still usable, use that move against the given target.
2. Filter out any moves it can't use within its moveset. The remaining moves make up the enemy's **move pool** for the turn.
1. A move can be unusable if it has no PP left or it has been disabled by another move or effect
2. If the enemy's move pool is empty, use Struggle.
1. A move can be unusable if it has no PP left or it has been disabled by another move or effect.
2. If the enemy's move pool is empty, use Struggle.
3. Calculate the **move score** of each move in the enemy's move pool.
1. A move's move score is equivalent to the move's maximum **target score** among all of the move's possible targets on the field ([more on this later](#calculating-move-and-target-scores)).
2. A move's move score is set to -20 if at least one of these conditions are met:
- The move is unimplemented (or, more precisely, the move's name ends with "&nbsp;(N)").
- Conditions for the move to succeed are not met (unless the move is Sucker Punch, Upper Hand, or Thunderclap, as those moves' conditions can't be resolved before the turn starts).
- The move's target scores are 0 or `NaN` for each target. In this case, the game assumes the target score calculation for that move is unimplemented.
1. A move's move score is equivalent to the move's maximum **target score** among all of the move's possible targets on the field ([more on this later](#calculating-move-and-target-scores)).
2. A move's move score is set to -20 if at least one of these conditions are met:
- The move is unimplemented (or, more precisely, the move's name ends with "(N)").
- Conditions for the move to succeed are not met (unless the move is Sucker Punch, Upper Hand or Thunderclap, as those moves' conditions can't be resolved until after the turn starts).
- The move's target scores are 0 or `NaN` for each target. In this case, the game assumes the target score calculation for that move is unimplemented.
4. Sort the move pool in descending order of move scores.
5. From here, the enemy's move selection varies based on its `aiType`. If the enemy is a Boss Pokémon or has a Trainer, it uses the `SMART` AI type; otherwise, it uses the `SMART_RANDOM` AI type.
1. Let $m_i$ be the *i*-th move in the sorted move pool $M$:
- If `aiType === SMART_RANDOM`, the enemy has a 5/8 chance of selecting $m_0$ and a 3/8 chance of advancing to the next best move $m_1$, where it then repeats this roll. This process stops when a move is selected or the last move in the move pool is reached.
- If `aiType === SMART`, a similar loop is used to decide between selecting the move $m_i$ and advancing to the next iteration with the move $m_{i+1}$. However, instead of using a flat probability, the following conditions need to be met to advance from selecting $m_i$ to $m_{i+1}$:
- $\text{sign}(s_i) = \text{sign}(s_{i+1})$, where $s_i$ is the move score of $m_i$.
- $\text{randInt}(0, 100) < \text{round}(\frac{s_{i+1}}{s_i}\times 50)$. In other words: if the scores of $m_i$ and $m_{i+1}$ have the same sign, the chance to advance to the next iteration with $m_{i+1}$ is proportional to how close the scores are to each other. The probability to advance to the next iteration is at most 50 percent (when $s_i$ and $s_{i+1}$ are equal).
1. Let $m_i$ be the *i*-th move in the sorted move pool $M$:
- If `aiType === SMART_RANDOM`, the enemy has a 5/8 chance of selecting $m_0$ and a 3/8 chance of advancing to the next best move $m_1$, where it then repeats this roll. This process stops when a move is selected or the last move in the move pool is reached.
- If `aiType === SMART`, a similar loop is used to decide between selecting the move $m_i$ and advancing to the next iteration with the move $m_{i+1}$. However, instead of using a flat probability, the following conditions need to be met to advance from selecting $m_i$ to $m_{i+1}$:
- $\text{sign}(s_i) = \text{sign}(s_{i+1})$, where $s_i$ is the move score of $m_i$.
- $\text{randInt}(0, 100) < \text{round}(\frac{s_{i+1}}{s_i}\times 50)$. In other words: if the scores of $m_i$ and $m_{i+1}$ have the same sign, the chance to advance to the next iteration with $m_{i+1}$ is proportional to how close the scores are to each other. The probability to advance to the next iteration is at most 50 percent (when $s_i$ and $s_{i+1}$ are equal).
6. The enemy will use the move selected in Step 5 against the target(s) with the highest [**target selection score (TSS)**](#choosing-targets-with-getnexttargets)
### Calculating Move and Target Scores
As part of the move selection process, the enemy Pokémon must compute a **target score (TS)** for each legal target for each move in its move pool. The base target score for all moves is a combination of the move's **user benefit score (UBS)** and **target benefit score (TBS)**.
As part of the move selection process, the enemy Pokémon must compute a **target score (TS)** for each legal target for each move in its move pool. The base target score is a combination of the move's **user benefit score (UBS)** and **target benefit score (TBS)**, representing how much the move helps or hinders the user and/or its target(s).
![equation](https://latex.codecogs.com/png.image?%5Cinline%20%5Cdpi%7B100%7D%5Cbg%7Bwhite%7D%5Ctext%7BTS%7D=%5Ctext%7BUBS%7D&plus;%5Ctext%7BTBS%7D%5Ctimes%5Cleft%5C%7B%5Cbegin%7Bmatrix%7D-1&%5Ctext%7Bif%20target%20is%20an%20opponent%7D%5C%5C1&%5Ctext%7Botherwise%7D%5C%5C%5Cend%7Bmatrix%7D%5Cright.)
$$
\text{TS} = \text{UBS} + \left( \text{TBS} \times
\begin{cases}
-1 & \text{if target is an opponent} \\
1 & \text{otherwise}
\end{cases}
\right)
$$
A move's UBS and TBS are computed with the respective functions in the `Move` class:
```ts
getUserBenefitScore(user: Pokemon, target: Pokemon, move: Move): integer;
getTargetBenefitScore(user: Pokemon, target: Pokemon, move: Move): integer;
getUserBenefitScore(user: Pokemon, target: Pokemon, move: Move): number;
getTargetBenefitScore(user: Pokemon, target: Pokemon, move: Move): number;
```
Logically, these functions are very similar &ndash; they add up their respective benefit scores from each of the move's attributes (as determined by `attr.getUserBenefitScore`, and `attr.getTargetBenefitScore`, respectively) and return the total benefit score. However, there are two key functional differences in how the UBS and TBS of a move are handled:
@ -96,19 +103,38 @@ In addition to the base score from `Move.getTargetBenefitScore()`, attack moves
- The move's category (Physical/Special), and whether the user has a higher Attack or Special Attack stat.
More specifically, the following steps are taken to compute the move's `attackScore`:
1. Compute a multiplier based on the move's type effectiveness:
1. Compute a multiplier based on the move's type effectiveness:
![typeMultEqn](https://latex.codecogs.com/png.image?%5Cdpi%7B110%7D%5Cbg%7Bwhite%7D%5Ctext%7BtypeMult%7D=%5Cleft%5C%7B%5Cbegin%7Bmatrix%7D2&&%5Ctext%7Bif%20move%20is%20super%20effective(or%20better)%7D%5C%5C-2&&%5Ctext%7Botherwise%7D%5C%5C%5Cend%7Bmatrix%7D%5Cright.)
$$
\text{typeMult} =
\begin{cases}
2 & \text{if move is super effective (or better)} \\
-2 & \text{otherwise}
\end{cases}
$$
2. Compute a multiplier based on the move's category and the user's offensive stats:
1. Compute the user's offensive stat ratio:
![statRatioEqn](https://latex.codecogs.com/png.image?%5Cinline%20%5Cdpi%7B100%7D%5Cbg%7Bwhite%7D%5Ctext%7BstatRatio%7D=%5Cleft%5C%7B%5Cbegin%7Bmatrix%7D%5Cfrac%7B%5Ctext%7BuserSpAtk%7D%7D%7B%5Ctext%7BuserAtk%7D%7D&%5Ctext%7Bif%20move%20is%20physical%7D%5C%5C%5Cfrac%7B%5Ctext%7BuserAtk%7D%7D%7B%5Ctext%7BuserSpAtk%7D%7D&%5Ctext%7Botherwise%7D%5C%5C%5Cend%7Bmatrix%7D%5Cright.)
2. Compute the stat-based multiplier:
1. Compute the user's offensive stat ratio:
![statMultEqn](https://latex.codecogs.com/png.image?%5Cinline%20%5Cdpi%7B100%7D%5Cbg%7Bwhite%7D%5Ctext%7BstatMult%7D=%5Cleft%5C%7B%5Cbegin%7Bmatrix%7D2&%5Ctext%7Bif%20statRatio%7D%5Cle%200.75%5C%5C1.5&%5Ctext%7Bif%5C;%7D0.75%5Cle%5Ctext%7BstatRatio%7D%5Cle%200.875%5C%5C1&%5Ctext%7Botherwise%7D%5C%5C%5Cend%7Bmatrix%7D%5Cright.)
$$
\text{statRatio} =
\begin{cases}
\frac{\text{userSpAtk}}{\text{userAtk}} & \text{if move is physical} \\
\frac{\text{userAtk}}{\text{userSpAtk}} & \text{otherwise}
\end{cases}
$$
2. Compute the stat-based multiplier:
$$
\text{statMult} =
\begin{cases}
2 & \text{if statRatio} \leq 0.75 \\
1.5 & \text{if } 0.75 \leq \text{statRatio} \leq 0.875 \\
1 & \text{otherwise}
\end{cases}
$$
3. Calculate the move's `attackScore`:
$\text{attackScore} = (\text{typeMult}\times \text{statMult})+\lfloor \frac{\text{power}}{5} \rfloor$
$\text{attackScore} = (\text{typeMult}\times \text{statMult})+\lfloor \frac{\text{power}}{5} \rfloor$
The maximum total multiplier in `attackScore` ($\text{typeMult}\times \text{statMult}$) is 4, which occurs for attacks that are super effective against the target and are categorically aligned with the user's offensive stats (e.g. the move is physical, and the user has much higher Attack than Sp. Atk). The minimum total multiplier of -4 occurs (somewhat confusingly) for attacks that are not super effective but are categorically aligned with the user's offensive stats.
@ -125,18 +151,31 @@ The final step to calculate an attack move's target score (TS) is to multiply th
The enemy's target selection for single-target moves works in a very similar way to its move selection. Each potential target is given a **target selection score (TSS)** which is based on the move's [target benefit score](#calculating-move-and-target-scores) for that target:
![TSSEqn](https://latex.codecogs.com/png.image?%5Cinline%20%5Cdpi%7B100%7D%5Cbg%7Bwhite%7D%5Ctext%7BTSS%7D=%5Ctext%7BTBS%7D%5Ctimes%5Cleft%5C%7B%5Cbegin%7Bmatrix%7D-1&%5Ctext%7Bif%20target%20is%20an%20opponent%7D%5C%5C1&%5Ctext%7Botherwise%7D%5C%5C%5Cend%7Bmatrix%7D%5Cright.)
$$
\text{TSS} = \text{TBS} \times
\begin{cases}
-1 & \text{if target is an opponent} \\
1 & \text{otherwise}
\end{cases}
$$
Once the TSS is calculated for each target, the target is selected as follows:
1. Sort the targets (indexes) in decreasing order of their target selection scores (or weights). Let $t_i$ be the index of the *i*-th target in the sorted list, and let $w_i$ be that target's corresponding TSS.
2. Normalize the weights. Let $w_n$ be the lowest-weighted target in the sorted list, then:
![normWeightEqn](https://latex.codecogs.com/png.image?%5Cinline%20%5Cdpi%7B100%7D%5Cbg%7Bwhite%7DW_i=%5Cleft%5C%7B%5Cbegin%7Bmatrix%7Dw_i&plus;%7Cw_n%7C&%5Ctext%7Bif%5C;%7Dw_n%5C;%5Ctext%7Bis%20negative%7D%5C%5Cw_i&%5Ctext%7Botherwise%7D%5C%5C%5Cend%7Bmatrix%7D%5Cright.)
$$
W_i =
\begin{cases}
w_i + |w_n| & \text{if } w_n \text{ is negative} \\
w_i & \text{otherwise}
\end{cases}
$$
3. Remove all weights from the list such that $W_i < \frac{W_0}{2}$
4. Generate a random integer $R=\text{rand}(0, W_{\text{total}})$ where $W_{\text{total}}$ is the sum of all the remaining weights after Step 3.
5. For each target $(t_i, W_i)$,
1. if $R \le \sum_{j=0}^{i} W_i$, or if $t_i$ is the last target in the list, **return** $t_i$
2. otherwise, advance to the next target $t_{i+1}$ and repeat this check.
1. if $R \le \sum_{j=0}^{i} W_i$, or if $t_i$ is the last target in the list, **return** $t_i$
2. otherwise, advance to the next target $t_{i+1}$ and repeat this check.
Once the target is selected, the enemy has successfully determined its next action for the turn, and its corresponding `EnemyCommandPhase` ends. From here, the `TurnStartPhase` processes the enemy's commands alongside the player's commands and begins to resolve the turn.
@ -145,15 +184,15 @@ Once the target is selected, the enemy has successfully determined its next acti
Suppose you enter a single battle against an enemy trainer with the following Pokémon in their party:
1. An [Excadrill](https://bulbapedia.bulbagarden.net/wiki/Excadrill_(Pok%C3%A9mon)) with the Ability Sand Force and the following moveset
1. Earthquake
2. Iron Head
3. Crush Claw
4. Swords Dance
1. Earthquake
2. Iron Head
3. Crush Claw
4. Swords Dance
2. A [Heatmor](https://bulbapedia.bulbagarden.net/wiki/Heatmor_(Pok%C3%A9mon)) with the Ability Flash Fire and the following moveset
1. Fire Lash
2. Inferno
3. Hone Claws
4. Shadow Claw
1. Fire Lash
2. Inferno
3. Hone Claws
4. Shadow Claw
The enemy trainer leads with their Heatmor, and you lead with a [Dachsbun](https://bulbapedia.bulbagarden.net/wiki/Dachsbun_(Pok%C3%A9mon)) with the Ability Well-Baked Body. We'll cover the enemy's behavior over the next two turns.
@ -172,13 +211,13 @@ Based on the enemy party's matchup scores, whether or not the trainer switches o
Now that the enemy Pokémon with the best matchup score is on the field (assuming it survives Dachsbun's attack on the last turn), the enemy will now decide to have Excadrill use one of its moves. Assuming all of its moves are usable, we'll go through the target score calculations for each move:
- **Earthquake**: In a single battle, this move is just a 100-power Ground-type physical attack with no additional effects. With no additional benefit score from attributes, the move's base target score against the player's Dachsbun is just the `attackScore` from `AttackMove.getTargetBenefitScore()`. In this case, Earthquake's `attackScore` is given by
$\text{attackScore}=(\text{typeMult}\times \text{statMult}) + \lfloor \frac{\text{power}}{5} \rfloor = -2\times 2 + 20 = 16$
Here, `typeMult` is -2 because the move is not super effective, and `statMult` is 2 because Excadrill's Attack is significantly higher than its Sp. Atk. Accounting for STAB thanks to Excadrill's typing, the final target score for this move is **24**
- **Iron Head**: This move is an 80-power Steel-type physical attack with an additional chance to cause the target to flinch. With these properties, Iron Head has a user benefit score of 0 and a target benefit score given by
$\text{TBS}=\text{getTargetBenefitScore(FlinchAttr)}-\text{attackScore}$
Under its current implementation, the target benefit score of `FlinchAttr` is -5. Calculating the move's `attackScore`, we get:
@ -191,15 +230,15 @@ Now that the enemy Pokémon with the best matchup score is on the field (assumin
We then need to apply a 2x multiplier for the move's type effectiveness and a 1.5x multiplier since STAB applies. After applying these multipliers, the final score for this move is **75**.
- **Swords Dance**: As a non-attacking move, this move's benefit score is derived entirely from the sum of its attributes' benefit scores. Swords Dance's `StatChangeAttr` has a user benefit score of 0 and a target benefit score that, in this case, simplifies to
- **Swords Dance**: As a non-attacking move, this move's benefit score is derived entirely from the sum of its attributes' benefit scores. Swords Dance's `StatStageChangeAttr` has a user benefit score of 0 and a target benefit score that, in this case, simplifies to
$\text{TBS}=4\times \text{levels} + (-2\times \text{sign(levels)})$
where `levels` is the number of stat stages added by the attribute (in this case, +2). The final score for this move is **6** (Note: because this move is self-targeted, we don't flip the sign of TBS when computing the target score).
- **Crush Claw**: This move is a 75-power Normal-type physical attack with a 50 percent chance to lower the target's Defense by one stage. The additional effect is implemented by the same `StatChangeAttr` as Swords Dance, so we can use the same formulas from before to compute the total TBS and base target score.
$\text{TBS}=\text{getTargetBenefitScore(StatChangeAttr)}-\text{attackScore}$
- **Crush Claw**: This move is a 75-power Normal-type physical attack with a 50 percent chance to lower the target's Defense by one stage. The additional effect is implemented by the same `StatStageChangeAttr` as Swords Dance, so we can use the same formulas from before to compute the total TBS and base target score.
$\text{TBS}=\text{getTargetBenefitScore(StatStageChangeAttr)}-\text{attackScore}$
$\text{TBS}=(-4 + 2)-(-2\times 2 + \lfloor \frac{75}{5} \rfloor)=-2-11=-13$
@ -221,4 +260,4 @@ When implementing a new move attribute, it's important to override `MoveAttr`'s
- A move's **user benefit score (UBS)** incentivizes (or discourages) the move's usage in general. A positive UBS gives the move more incentive to be used, while a negative UBS gives the move less incentive.
- A move's **target benefit score (TBS)** incentivizes (or discourages) the move's usage on a specific target. A positive TBS indicates the move is better used on the user or its allies, while a negative TBS indicates the move is better used on enemies.
- **The total benefit score (UBS + TBS) of a move should never be 0.** The move selection algorithm assumes the move's benefit score is unimplemented if the total score is 0 and penalizes the move's usage as a result. With status moves especially, it's important to have some form of implementation among the move's attributes to avoid this scenario.
- **Score functions that use formulas should include comments.** If your attribute requires complex logic or formulas to calculate benefit scores, please add comments to explain how the logic works and its intended effect on the enemy's decision making.
- **Score functions that use formulas should include comments.** If your attribute requires complex logic or formulas to calculate benefit scores, please add comments to explain how the logic works and its intended effect on the enemy's decision making.

View File

@ -1,40 +1,65 @@
# ESLint
## Key Features
# Linting & Formatting
1. **Automation**:
- A pre-commit hook has been added to automatically run ESLint on the added or modified files, ensuring code quality before commits.
> "Any fool can write code that a computer can understand. Good programmers write code that humans can understand."
>
> — Martin Fowler
2. **Manual Usage**:
- If you prefer not to use the pre-commit hook, you can manually run ESLint to automatically fix issues using the command:
```sh
npx eslint --fix . or npm run eslint
```
- Running this command will lint all files in the repository.
Writing clean, readable code is important, and linters and formatters are an integral part of ensuring code quality and readability.
It is for this reason we are using [Biome](https://biomejs.dev), an opinionated linter/formatter (akin to Prettier) with a heavy focus on speed and performance.
3. **GitHub Action**:
- A GitHub Action has been added to automatically run ESLint on every push and pull request, ensuring code quality in the CI/CD pipeline.
### Installation
You probably installed Biome already without noticing it - it's included inside `package.json` and should've been downloaded when you ran `npm install` after cloning the repo (assuming you followed proper instructions, that is). If you haven't done that yet, go do it.
## Summary of ESLint Rules
# Using Biome
1. **General Rules**:
- **Equality**: Use `===` and `!==` instead of `==` and `!=` (`eqeqeq`).
- **Indentation**: Enforce 2-space indentation (`indent`).
- **Quotes**: Use doublequotes for strings (`quotes`).
- **Variable Declarations**:
- Disallow `var`; use `let` or `const` (`no-var`).
- Prefer `const` for variables that are never reassigned (`prefer-const`).
- **Unused Variables**: Allow unused function parameters but enforce error for other unused variables (`@typescript-eslint/no-unused-vars`).
- **End of Line**: Ensure at least one newline at the end of files (`eol-last`).
- **Curly Braces**: Enforce the use of curly braces for all control statements (`curly`).
- **Brace Style**: Use one true brace style (`1tbs`) for TypeScript-specific syntax (`@typescript-eslint/brace-style`).
For the most part, Biome attempts to stay "out of your hair", letting you write code while enforcing a consistent formatting standard and only notifying for errors it can't automatically fix.\
On the other hand, if Biome complains about a piece of code, **there's probably a good reason why**. Disable comments should be used sparingly or when readabilty demands it - your first instinct should be to fix the code in question, not disable the rule.
2. **TypeScript-Specific Rules**:
- **Semicolons**:
- Enforce semicolons for TypeScript-specific syntax (`@typescript-eslint/semi`).
- Disallow unnecessary semicolons (`@typescript-eslint/no-extra-semi`).
## Editor Integration
Biome has integration with many popular code editors. See [these](https://biomejs.dev/guides/editors/first-party-extensions/) [pages](https://biomejs.dev/guides/editors/third-party-extensions/) for information about enabling Biome in your editor of choice.
## Benefits
## Automated Runs
Generally speaking, most users shouldn't need to run Biome directly; in addition to editor integration, [pre-commit hook](../lefthook.yml) will periodically run Biome before each commit.
You will **not** be able to push code with `error`-level linting problems - fix them beforehand.
- **Consistency**: Ensures consistent coding style across the project.
- **Code Quality**: Helps catch potential errors and improve overall code quality.
- **Readability**: Makes the codebase easier to read and maintain.
We also have a [Github Action](../.github/workflows/quality.yml) to verify code quality each time a PR is updated, preventing bad code from inadvertently making its way upstream.
### Why am I getting errors for code I didn't write?
<!-- TODO: Remove this if/when we perform a project wide linting spree -->
To save time and minimize friction with existing code, both the pre-commit hook and workflow run will only check files **directly changed** by a given PR or commit.
As a result, changes to files not updated since Biome's introduction can cause any _prior_ linting errors in them to resurface and get flagged.
This should occur less and less often as time passes and more files are updated to the new standard.
## Running Biome via CLI
If you want Biome to check your files manually, you can run it from the command line like so:
```sh
npx biome check --[flags]
```
A full list of flags and options can be found on [their website](https://biomejs.dev/reference/cli/), but here's a few useful ones to keep in mind:
- `--write` will cause Biome to write all "safe" fixes and formatting changes directly to your files (rather than just complaining and doing nothing).
- `--changed` and `--staged` will only perform checks on all changed or staged files respectively. Biome sources this info from the relevant version control system (in this case Git).
- `diagnostic-level=XXX` will only show diagnostics with at least the given severity level (`info/warn/error`). Useful to only focus on errors causing a failed workflow run or similar.
## Linting Rules
We primarily use Biome's [recommended ruleset](https://biomejs.dev/linter/rules/) for linting JS/TS, with some customizations to better suit our project's needs[^1].
Some things to consider:
- We have disabled rules that prioritize style over performance, such as `useTemplate`.
- Some rules are currently disabled or marked as warnings (`warn`) to allow for gradual refactoring without blocking development. **Do not write new code that triggers these warnings.**
- The linter is configured to ignore specific files and folders (such as excessively large files or ones in need of refactoring) to improve performance and focus on actionable areas.
Any questions about linting rules should be brought up in the `#dev-corner` channel in the discord.
[^1]: A complete list of rules can be found in the `biome.jsonc` file in the project root.
## What about ESLint?
<!-- Remove if/when we finally ditch eslint for good -->
Our project migrated away from ESLint around March 2025 due to it simply not scaling well enough with the codebase's ever-growing size. The [existing eslint rules](../eslint.config.js) are considered _deprecated_, only kept due to Biome lacking the corresponding rules in its current ruleset.
No additional ESLint rules should be added under any circumstances - even the few currently in circulation take longer to run than the entire Biome formatting/linting suite combined.

View File

@ -1,44 +1,43 @@
import tseslint from '@typescript-eslint/eslint-plugin';
import stylisticTs from '@stylistic/eslint-plugin-ts'
import parser from '@typescript-eslint/parser';
// import imports from 'eslint-plugin-import'; // Disabled due to not being compatible with eslint v9
/** @ts-check */
import tseslint from "typescript-eslint";
import stylisticTs from "@stylistic/eslint-plugin-ts";
import parser from "@typescript-eslint/parser";
import importX from "eslint-plugin-import-x";
export default [
{
files: ["src/**/*.{ts,tsx,js,jsx}"],
ignores: ["dist/*", "build/*", "coverage/*", "public/*", ".github/*", "node_modules/*", ".vscode/*"],
languageOptions: {
parser: parser
},
plugins: {
// imports: imports.configs.recommended // Disabled due to not being compatible with eslint v9
'@stylistic/ts': stylisticTs,
'@typescript-eslint': tseslint
},
rules: {
"eqeqeq": ["error", "always"], // Enforces the use of === and !== instead of == and !=
"indent": ["error", 2], // Enforces a 2-space indentation
"quotes": ["error", "double"], // Enforces the use of double quotes for strings
"no-var": "error", // Disallows the use of var, enforcing let or const instead
"prefer-const": "error", // Prefers the use of const for variables that are never reassigned
"no-undef": "off", // Disables the rule that disallows the use of undeclared variables (TypeScript handles this)
"@typescript-eslint/no-unused-vars": [ "error", {
"args": "none", // Allows unused function parameters. Useful for functions with specific signatures where not all parameters are always used.
"ignoreRestSiblings": true // Allows unused variables that are part of a rest property in object destructuring. Useful for excluding certain properties from an object while using the rest.
}],
"eol-last": ["error", "always"], // Enforces at least one newline at the end of files
"@stylistic/ts/semi": ["error", "always"], // Requires semicolons for TypeScript-specific syntax
"semi": "off", // Disables the general semi rule for TypeScript files
"no-extra-semi": ["error"], // Disallows unnecessary semicolons for TypeScript-specific syntax
"brace-style": "off", // Note: you must disable the base rule as it can report incorrect errors
"curly": ["error", "all"], // Enforces the use of curly braces for all control statements
"@stylistic/ts/brace-style": ["error", "1tbs"],
"no-trailing-spaces": ["error", { // Disallows trailing whitespace at the end of lines
"skipBlankLines": false, // Enforces the rule even on blank lines
"ignoreComments": false // Enforces the rule on lines containing comments
}],
"space-before-blocks": ["error", "always"], // Enforces a space before blocks
"keyword-spacing": ["error", { "before": true, "after": true }] // Enforces spacing before and after keywords
}
}
]
export default tseslint.config(
{
name: "eslint-config",
files: ["src/**/*.{ts,tsx,js,jsx}", "test/**/*.{ts,tsx,js,jsx}"],
ignores: ["dist/*", "build/*", "coverage/*", "public/*", ".github/*", "node_modules/*", ".vscode/*"],
languageOptions: {
parser: parser,
},
plugins: {
"import-x": importX,
"@stylistic/ts": stylisticTs,
"@typescript-eslint": tseslint.plugin,
},
rules: {
"no-undef": "off", // Disables the rule that disallows the use of undeclared variables (TypeScript handles this)
"no-extra-semi": "error", // Disallows unnecessary semicolons for TypeScript-specific syntax
"import-x/extensions": ["error", "never", { json: "always" }], // Enforces no extension for imports unless json
},
},
{
name: "eslint-tests",
files: ["test/**/**.test.ts"],
languageOptions: {
parser: parser,
parserOptions: {
project: ["./tsconfig.json"],
},
},
plugins: {
"@typescript-eslint": tseslint.plugin,
},
rules: {
"@typescript-eslint/no-floating-promises": "error", // Require Promise-like statements to be handled appropriately. - https://typescript-eslint.io/rules/no-floating-promises/
"@typescript-eslint/no-misused-promises": "error", // Disallow Promises in places not designed to handle them. - https://typescript-eslint.io/rules/no-misused-promises/
},
},
);

14
global.d.ts vendored Normal file
View File

@ -0,0 +1,14 @@
import type { SetupServerApi } from "msw/node";
export {};
declare global {
/**
* Only used in testing.
* Can technically be undefined/null but for ease of use we are going to assume it is always defined.
* Used to load i18n files exclusively.
*
* To set up your own server in a test see `game_data.test.ts`
*/
var server: SetupServerApi;
}

231
index.css
View File

@ -11,31 +11,55 @@ html {
body {
margin: 0;
display:flex;
display: flex;
flex-direction: column;
align-items: center;
background: #484050;
}
#links {
width: 90%;
text-align: center;
position: fixed;
bottom: 0;
display: flex;
justify-content: space-around;
@media (display-mode: fullscreen) {
body {
background: #000000;
}
}
#app {
display: flex;
justify-content: center;
align-items: center;
}
#app > div:first-child {
transform-origin: top !important;
transform-origin: center !important;
}
#layout:fullscreen #dpad, #layout:fullscreen {
/*
Supports automatic vertical centering as suggested in PR#1114, but only via CSS
Condition factorized to deduce CSS rules:
true if (isLandscape && !isMobile() && !hasTouchscreen() || (hasTouchscreen() && !isTouchControlsEnabled))
*/
/* isLandscape && !isMobile() && !hasTouchscreen() */
@media (orientation: landscape) and (pointer: fine) {
#app {
align-items: center;
}
}
@media (pointer: coarse) {
/* hasTouchscreen() && !isTouchControlsEnabled */
body:has(> #touchControls[class="visible"]) #app {
align-items: start;
}
body:has(> #touchControls[class="visible"]) #app > div:first-child {
transform-origin: top !important;
}
}
#layout:fullscreen #dpad,
#layout:fullscreen {
bottom: 6rem;
}
@ -44,6 +68,10 @@ input:-internal-autofill-selected {
background-clip: text;
}
input:-webkit-autofill {
-webkit-text-fill-color: #a1a1a1;
}
/* Need adjust input font-size */
input {
font-size: 3.2rem;
@ -53,7 +81,6 @@ input {
display: none !important;
}
input:-internal-autofill-selected {
-webkit-background-clip: text;
background-clip: text;
@ -68,18 +95,33 @@ input:-internal-autofill-selected {
--controls-padding: 1rem;
--controls-size-with-padding: calc(var(--controls-size) + var(--controls-padding));
--controls-size-with-wide-padding: calc(var(--controls-size) *1.2 + var(--controls-padding));
--controls-size-with-padding: calc(
var(--controls-size) +
var(--controls-padding)
);
--controls-size-with-wide-padding: calc(
var(--controls-size) *
1.2 +
var(--controls-padding)
);
--control-group-extra-size: calc(var(--controls-size) * 0.8);
--control-group-extra-wide-size: calc(var(--controls-size) * 1.2);
--control-group-extra-2-offset: calc(var(--controls-size-with-padding) + (var(--controls-size) - var(--control-group-extra-size)) / 2);
--control-group-extra-1-offset: calc(var(--controls-padding) + (var(--controls-size) - var(--control-group-extra-size)) / 2);
--control-group-extra-2-offset: calc(
var(--controls-size-with-padding) +
(var(--controls-size) - var(--control-group-extra-size)) /
2
);
--control-group-extra-1-offset: calc(
var(--controls-padding) +
(var(--controls-size) - var(--control-group-extra-size)) /
2
);
--small-control-size: calc(var(--controls-size) / 3);
--rect-control-size: calc(var(--controls-size) * 0.74);
font-family: 'emerald';
font-family: "emerald";
font-size: var(--controls-size);
text-shadow: var(--color-dark) var(--text-shadow-size) var(--text-shadow-size);
color: var(--color-light);
@ -87,7 +129,7 @@ input:-internal-autofill-selected {
@media (orientation: landscape) {
#touchControls {
--controls-size: 20vh;
--controls-size: 20vh;
--text-shadow-size: 1.3vh;
--small-button-offset: 4vh;
}
@ -123,32 +165,69 @@ input:-internal-autofill-selected {
/* Hide buttons on specific UIs */
/* Show #apadPreviousTab and #apadNextTab only in settings, except in touch configuration panel */
#touchControls:not([data-ui-mode^='SETTINGS']) #apadPreviousTab,
#touchControls:not([data-ui-mode^='SETTINGS']) #apadNextTab,
#touchControls:not([data-ui-mode^="SETTINGS"]) #apadPreviousTab,
#touchControls:not([data-ui-mode^="SETTINGS"]) #apadNextTab,
#touchControls:is(.config-mode) #apadPreviousTab,
#touchControls:is(.config-mode) #apadNextTab {
display: none;
}
/* Show #apadInfo only in battle */
#touchControls:not([data-ui-mode='COMMAND']):not([data-ui-mode='FIGHT']):not([data-ui-mode='BALL']):not([data-ui-mode='TARGET_SELECT']) #apadInfo {
#touchControls:not([data-ui-mode="COMMAND"]):not([data-ui-mode="FIGHT"]):not(
[data-ui-mode="BALL"]
):not([data-ui-mode="TARGET_SELECT"])
#apadInfo {
display: none;
}
/* Show #apadStats only in battle and shop */
#touchControls:not([data-ui-mode='COMMAND']):not([data-ui-mode='FIGHT']):not([data-ui-mode='BALL']):not([data-ui-mode='TARGET_SELECT']):not([data-ui-mode='MODIFIER_SELECT']) #apadStats {
#touchControls:not([data-ui-mode="COMMAND"]):not([data-ui-mode="FIGHT"]):not(
[data-ui-mode="BALL"]
):not([data-ui-mode="TARGET_SELECT"]):not([data-ui-mode="MODIFIER_SELECT"])
#apadStats {
display: none;
}
/* Show cycle buttons only on STARTER_SELECT and on touch configuration panel */
#touchControls:not(.config-mode):not([data-ui-mode='STARTER_SELECT']) #apadOpenFilters,
#touchControls:not(.config-mode):not([data-ui-mode='STARTER_SELECT']) #apadCycleForm,
#touchControls:not(.config-mode):not([data-ui-mode='STARTER_SELECT']) #apadCycleShiny,
#touchControls:not(.config-mode):not([data-ui-mode='STARTER_SELECT']) #apadCycleNature,
#touchControls:not(.config-mode):not([data-ui-mode='STARTER_SELECT']) #apadCycleAbility,
#touchControls:not(.config-mode):not([data-ui-mode='STARTER_SELECT']) #apadCycleGender,
#touchControls:not(.config-mode):not([data-ui-mode='STARTER_SELECT']) #apadCycleVariant {
display: none;
#touchControls:not(.config-mode):not(
[data-ui-mode="STARTER_SELECT"],
[data-ui-mode="POKEDEX"],
[data-ui-mode="POKEDEX_PAGE"]
)
#apadOpenFilters,
#touchControls:not(.config-mode):not(
[data-ui-mode="STARTER_SELECT"],
[data-ui-mode="POKEDEX"],
[data-ui-mode="POKEDEX_PAGE"],
[data-ui-mode="RUN_INFO"]
)
#apadCycleForm,
#touchControls:not(.config-mode):not(
[data-ui-mode="STARTER_SELECT"],
[data-ui-mode="POKEDEX"],
[data-ui-mode="POKEDEX_PAGE"],
[data-ui-mode="RUN_INFO"]
)
#apadCycleShiny,
#touchControls:not(.config-mode):not([data-ui-mode="STARTER_SELECT"])
#apadCycleNature,
#touchControls:not(.config-mode):not(
[data-ui-mode="STARTER_SELECT"],
[data-ui-mode="POKEDEX_PAGE"],
[data-ui-mode="RUN_INFO"]
)
#apadCycleAbility,
#touchControls:not(.config-mode):not(
[data-ui-mode="STARTER_SELECT"],
[data-ui-mode="POKEDEX_PAGE"]
)
#apadCycleGender,
#touchControls:not(.config-mode):not(
[data-ui-mode="STARTER_SELECT"],
[data-ui-mode="POKEDEX"]
)
#apadCycleTera {
display: none;
}
/* Configuration toolbar */
@ -194,16 +273,18 @@ input:-internal-autofill-selected {
font-size: var(--small-control-size);
border-radius: 8px;
padding: 2px 8px;
text-shadow: var(--color-dark) calc(var(--text-shadow-size) / 3) calc(var(--text-shadow-size) / 3);
text-shadow: var(--color-dark) calc(var(--text-shadow-size) / 3)
calc(var(--text-shadow-size) / 3);
}
#configToolbar .button:active {
opacity: var(--touch-control-opacity)
opacity: var(--touch-control-opacity);
}
#configToolbar .orientation-label {
font-size: var(--small-control-size);
text-shadow: var(--color-dark) calc(var(--text-shadow-size) / 3) calc(var(--text-shadow-size) / 3);
text-shadow: var(--color-dark) calc(var(--text-shadow-size) / 3)
calc(var(--text-shadow-size) / 3);
}
/* dpad */
@ -247,7 +328,8 @@ input:-internal-autofill-selected {
.apad-small > .apad-label {
font-size: var(--small-control-size);
text-shadow: var(--color-dark) calc(var(--text-shadow-size) / 3) calc(var(--text-shadow-size) / 3);
text-shadow: var(--color-dark) calc(var(--text-shadow-size) / 3)
calc(var(--text-shadow-size) / 3);
}
.apad-rectangle {
@ -297,7 +379,8 @@ input:-internal-autofill-selected {
/* Layout */
#layout:fullscreen #dpad, #layout:fullscreen #apad {
#layout:fullscreen #dpad,
#layout:fullscreen #apad {
bottom: 6rem;
}
@ -330,55 +413,55 @@ a {
/* Firefox old*/
@-moz-keyframes blink {
0% {
opacity:1;
}
50% {
opacity:0;
}
100% {
opacity:1;
}
0% {
opacity: 1;
}
50% {
opacity: 0;
}
100% {
opacity: 1;
}
}
@-webkit-keyframes blink {
0% {
opacity:1;
}
50% {
opacity:0;
}
100% {
opacity:1;
}
0% {
opacity: 1;
}
50% {
opacity: 0;
}
100% {
opacity: 1;
}
}
/* IE */
@-ms-keyframes blink {
0% {
opacity:1;
}
50% {
opacity:0;
}
100% {
opacity:1;
}
0% {
opacity: 1;
}
50% {
opacity: 0;
}
100% {
opacity: 1;
}
}
/* Opera and prob css3 final iteration */
@keyframes blink {
0% {
opacity:1;
}
50% {
opacity:0;
}
100% {
opacity:1;
}
0% {
opacity: 1;
}
50% {
opacity: 0;
}
100% {
opacity: 1;
}
}
.blink-image {
-moz-animation: blink normal 4s infinite ease-in-out; /* Firefox */
-webkit-animation: blink normal 4s infinite ease-in-out; /* Webkit */
-ms-animation: blink normal 4s infinite ease-in-out; /* IE */
animation: blink normal 4s infinite ease-in-out; /* Opera and prob css3 final iteration */
-moz-animation: blink normal 4s infinite ease-in-out; /* Firefox */
-webkit-animation: blink normal 4s infinite ease-in-out; /* Webkit */
-ms-animation: blink normal 4s infinite ease-in-out; /* IE */
animation: blink normal 4s infinite ease-in-out; /* Opera and prob css3 final iteration */
}

View File

@ -39,7 +39,6 @@
</style>
<link rel="stylesheet" type="text/css" href="./index.css" />
<link rel="manifest" href="./manifest.webmanifest">
<script type="text/javascript" src="https://app.termly.io/resource-blocker/c5dbfa2f-9723-4c0f-a84b-2895124e851f?autoBlock=on"></script>
<script>
if ("serviceWorker" in navigator) {
window.addEventListener("load", function () {
@ -130,11 +129,11 @@
<div id="apadCycleNature" class="apad-button apad-square apad-small" data-key="CYCLE_NATURE">
<span class="apad-label">N</span>
</div>
<div id="apadCycleVariant" class="apad-button apad-square apad-small" data-key="V">
<div id="apadCycleTera" class="apad-button apad-square apad-small" data-key="CYCLE_TERA">
<span class="apad-label">V</span>
</div>
<!-- buttons to display battle-specific information -->
<div id="apadInfo" class="apad-button apad-rectangle apad-small" data-key="V">
<div id="apadInfo" class="apad-button apad-rectangle apad-small" data-key="CYCLE_TERA">
<span class="apad-label">V</span>
</div>
<div id="apadStats" class="apad-button apad-rectangle apad-small" data-key="STATS">
@ -144,13 +143,6 @@
</div>
</div>
<div id="tnc-links">
<a href="#" class="termly-display-preferences" style="display: none;" target="_blank" rel="noreferrer noopener">Consent Preferences</a>
<a href="https://app.termly.io/policy-viewer/policy.html?policyUUID=bc96778b-3f04-4d25-bafc-0deba53e8bec" target="_blank" rel="noreferrer noopener">Privacy Policy</a>
<a href="https://app.termly.io/policy-viewer/policy.html?policyUUID=8b523c05-7ec2-4646-9534-5bd61b386e2a" target="_blank" rel="noreferrer noopener">Cookie Disclaimer</a>
<a href="https://app.termly.io/policy-viewer/policy.html?policyUUID=b01e092a-9721-477f-8356-45576702ff9e" target="_blank" rel="noreferrer noopener">Terms & Conditions</a>
<a href="https://app.termly.io/policy-viewer/policy.html?policyUUID=3b5d1928-3f5b-4ee1-b8df-2d6c276b0bcc" target="_blank" rel="noreferrer noopener">Acceptable Use Policy</a>
</div>
<script type="module" src="./src/main.ts"></script>
<script src="./src/touch-controls.ts" type="module"></script>
<script src="./src/debug.js" type="module"></script>

View File

@ -1,7 +1,14 @@
pre-commit:
parallel: true
commands:
eslint:
glob: '*.{js,jsx,ts,tsx}'
run: npx eslint --fix {staged_files}
stage_fixed: true
biome-lint:
run: npx biome check --write --reporter=summary --staged --no-errors-on-unmatched
stage_fixed: true
skip:
- merge
- rebase
post-merge:
commands:
update-submodules:
run: git submodule update --init --recursive

14176
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -1,64 +1,72 @@
{
"name": "pokemon-rogue-battle",
"private": true,
"version": "1.0.4",
"type": "module",
"scripts": {
"start": "vite",
"start:dev": "vite --mode development",
"build": "vite build",
"build:beta": "vite build --mode beta",
"preview": "vite preview",
"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",
"typecheck": "tsc --noEmit",
"eslint": "eslint --fix .",
"eslint-ci": "eslint .",
"docs": "typedoc",
"depcruise": "depcruise src",
"depcruise:graph": "depcruise src --output-type dot | node dependency-graph.js > dependency-graph.svg"
},
"devDependencies": {
"@eslint/js": "^9.3.0",
"@hpcc-js/wasm": "^2.18.0",
"@stylistic/eslint-plugin-ts": "^2.6.0-beta.0",
"@types/jsdom": "^21.1.7",
"@types/node": "^20.12.13",
"@typescript-eslint/eslint-plugin": "^8.0.0-alpha.54",
"@typescript-eslint/parser": "^8.0.0-alpha.54",
"@vitest/coverage-istanbul": "^2.0.4",
"dependency-cruiser": "^16.3.10",
"eslint": "^9.7.0",
"jsdom": "^24.0.0",
"lefthook": "^1.6.12",
"phaser3spectorjs": "^0.0.8",
"typedoc": "^0.26.4",
"typescript": "^5.5.3",
"typescript-eslint": "^8.0.0-alpha.54",
"vite": "^5.3.5",
"vite-tsconfig-paths": "^4.3.2",
"vitest": "^2.0.4",
"vitest-canvas-mock": "^0.3.3"
},
"dependencies": {
"@material/material-color-utilities": "^0.2.7",
"crypto-js": "^4.2.0",
"i18next": "^23.11.1",
"i18next-browser-languagedetector": "^7.2.1",
"i18next-korean-postposition-processor": "^1.0.0",
"json-stable-stringify": "^1.1.0",
"phaser": "^3.70.0",
"phaser3-rex-plugins": "^1.1.84"
},
"engines": {
"node": ">=20.0.0"
},
"imports": {
"#enums/*": "./enums/*",
"#app": "./src/main.js",
"#app/*": "./src/*",
"#test/*": "./src/test/*"
}
"name": "pokemon-rogue-battle",
"private": true,
"version": "1.9.6",
"type": "module",
"scripts": {
"start": "vite",
"start:dev": "vite --mode development",
"build": "vite build",
"build:beta": "vite build --mode beta",
"preview": "vite preview",
"test": "vitest run --no-isolate",
"test:cov": "vitest run --coverage --no-isolate",
"test:watch": "vitest watch --coverage --no-isolate",
"test:silent": "vitest run --silent --no-isolate",
"typecheck": "tsc --noEmit",
"eslint": "eslint --fix .",
"eslint-ci": "eslint .",
"biome": "biome check --write --changed --no-errors-on-unmatched",
"biome-ci": "biome ci --diagnostic-level=error --reporter=github --changed --no-errors-on-unmatched",
"docs": "typedoc",
"depcruise": "depcruise src",
"depcruise:graph": "depcruise src --output-type dot | node dependency-graph.js > dependency-graph.svg",
"create-test": "node ./create-test-boilerplate.js",
"postinstall": "npx lefthook install && npx lefthook run post-merge",
"update-version:patch": "npm version patch --force --no-git-tag-version",
"update-version:minor": "npm version minor --force --no-git-tag-version",
"update-locales:remote": "git submodule update --progress --init --recursive --force --remote"
},
"devDependencies": {
"@biomejs/biome": "1.9.4",
"@eslint/js": "^9.23.0",
"@hpcc-js/wasm": "^2.22.4",
"@stylistic/eslint-plugin-ts": "^4.1.0",
"@types/jsdom": "^21.1.7",
"@types/node": "^22.13.14",
"@typescript-eslint/eslint-plugin": "^8.28.0",
"@typescript-eslint/parser": "^8.28.0",
"@vitest/coverage-istanbul": "^3.0.9",
"dependency-cruiser": "^16.3.10",
"eslint": "^9.23.0",
"eslint-plugin-import-x": "^4.9.4",
"inquirer": "^12.4.2",
"jsdom": "^26.0.0",
"lefthook": "^1.11.5",
"msw": "^2.7.3",
"phaser3spectorjs": "^0.0.8",
"typedoc": "^0.28.1",
"typescript": "^5.8.2",
"typescript-eslint": "^8.28.0",
"vite": "^6.3.4",
"vite-tsconfig-paths": "^5.1.4",
"vitest": "^3.0.9",
"vitest-canvas-mock": "^0.3.3"
},
"dependencies": {
"@material/material-color-utilities": "^0.2.7",
"compare-versions": "^6.1.1",
"crypto-js": "^4.2.0",
"i18next": "^24.2.2",
"i18next-browser-languagedetector": "^8.0.4",
"i18next-http-backend": "^3.0.2",
"i18next-korean-postposition-processor": "^1.0.0",
"json-stable-stringify": "^1.2.0",
"jszip": "^3.10.1",
"phaser": "^3.88.2",
"phaser3-rex-plugins": "^1.80.15"
},
"engines": {
"node": ">=22.0.0"
}
}

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