Commit Graph

967 Commits

Author SHA1 Message Date
NightKev
4057de0950 Remove unnecessary type cast 2025-06-19 17:44:52 -07:00
NightKev
b62391ee82 Apply Biome unsafe fixes 2025-06-19 17:44:52 -07:00
NightKev
69ed6258b2 Apply Biome safe fixes 2025-06-19 17:44:52 -07:00
NightKev
6a8867abe1 Add a bunch of rules 2025-06-19 17:44:52 -07:00
NightKev
93ef225208 Fix some suppression comments and update config 2025-06-19 17:44:52 -07:00
NightKev
e017f135e1 Apply Biome and fix some suppression comments 2025-06-19 17:44:52 -07:00
Madmadness65
43aa772603
[UI/UX] Add Pokémon category flavor text to Pokédex (#5957)
* Add Pokémon category flavor text to Pokédex

* Append `_category` to locale entry
2025-06-20 00:04:57 +00:00
AJ Fontaine
e3108603e3
[Refactor] Rework evolution conditions and descriptions (#5679)
* Refactor evo conditions and descriptions

* Fix test

* Fix Shedinja

* Simplify Gimmighoul evolution

* Primeape and Stantler evolve by using their move 10 times

* Basculin white stripe evolves by taking 294 recoil damage

* Primeape and Stantler use modifiers for tracking

* Basculin uses modifier too

* Remove evo count from pokemon data

* No more evo counter data, Gallade/Froslass

* Fix allmoves import

* Clamperl

* Struggle shouldn't count for Basc recoil

* Change to nicer type

* Apply Benjie's suggestions

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

* Address formatting

* Undo new evolution changes

* Remove unused imports

* Fix speciesid

* Fixed up descriptions a little

* Change a key name

* Fix Gimmighoul

* Apply Biome

* Apply Biome unsafe fixes

* Review suggestions

- Convert `EvoCondKey` enum to `const` object

- Use early returns in `SpeciesEvolutionCondition#description`
and `SpeciesFormEvolution#description`

- Replace `!!x.find` with `x.some`
and `y.indexOf() > -1` with `y.includes()`

- Implement `coerceArray`

- Fix Shelmet evolution condition
checking for Shelmet and not Karrablast

- Remove unnecessary type casting in `battle-scene.ts`

* Remove leftover enforce func loop

* Fix circular imports issue

- `getPokemonSpecies` moved to `src/utils/pokemon-utils.ts`
- `allSpecies` moved to `src/data/data-lists.ts`

---------

Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-06-16 05:57:51 -07:00
Bertie690
5efdb0dc0b
[Refactor] Fix issues with "last move selected" vs "used" (#5810)
* Added `MoveUseType` and refactored MEP

* Fixed Wimp out tests & ME code

finally i think all the booleans are gone
i hope

* Added version migration for last resort and co.

buh gumbug

* Fixed various bugs and added tests for previous bugfixes

* Reverted a couple doc changes

* WIP

* Update pokemon-species.ts

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

* Update pokemon-phase.ts

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

* Fixed remaining tests (I think)

* Reverted rollout test changes

* Fixed command phase bug causing metronome test timeout

* Revert early_bird.test.ts

* Fix biome.jsonc

* Made `MoveUseType` start at 1

As per @DayKev's request

* Fixed a thing

* Fixed bolt beak condition to be marginally less jank

* Applied some review suggestions

* Reverted move phase operations

* Added helper functions complete with markdown tables

* Fixed things

* Update battler-tags.ts

* Fixed random issues

* Fixed code

* Fixed comment

* Fixed import issues

* Fix disable.test.ts conflicts

* Update instruct.test.ts

* Update `biome.jsonc`

* Renamed `MoveUseType` to `MoveUseMode`; applied review comments

* Fixed space

* Fixed phasemanager bugs

* Fixed instruct test to not bork

* Fixed gorilla tactics bug

* Battler Tags doc fixes

* Fixed formatting and suttff

* Minor comment updates and remove unused imports in `move.ts`

* Re-add `public`, remove unnecessary default value in `battler-tags.ts`

* Restore `{}` in `turn-start-phase.ts`

Fixes `lint/correctness/noSwitchDeclarations`

* Remove extra space in TSDoc in `move-phase.ts`

* Use `game.field` instead of `game.scene` in `instruct.test.ts`

Also `game.toEndOfTurn()` instead of
`game.phaseInterceptor.to("BerryPhase")`

* Use `game.field` instead of `game.scene` in `metronome.test.ts`

* Use `toEndOfTurn()` instead of `to("BerryPhase")` in `powder.test.ts`

* Convert `MoveUseMode` enum to `const` object

* Update move-phase.ts

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

* Add `enumValueToKey` utility function

* Apply Biome

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-06-15 10:52:44 -07:00
damocleas
73e0a2905b
[Beta] Revert "[UI/UX] Default cursor to no when stop trying to teach move" (#5990)
Revert "[UI/UX] Default cursor to no when stop trying to teach move"

This reverts commit ba2158ec64.
2025-06-14 17:40:18 -04:00
Bertie690
a41de39d4f
[Misc] Run biome on all files; update some rules to be errors now
https://github.com/pagefaultgames/pokerogue/pull/5962/

* Fixed lint issue; ran biome on entire repository

* Fixed biome.jsonc

* Trimmed trailing whitespace... again...

* Fixed PR template md

* Fixed package json

* Fixed void return issues + ran biome again

* ran biome
2025-06-14 00:59:34 -07:00
fabske0
9a525ac8fd
[UI/UX] Position setting Icons dynamically (#5969)
* position setting icons dynamically

* add comment for potential overlap
2025-06-14 03:19:05 +00:00
NightKev
7c6189e812
[Refactor] Create utility function coerceArray (#5723)
* [Refactor] Create utility function `makeArray`

This replaces the `if(!Array.isArray(var)) { var = [var] }` pattern

* Replace `if` with ternary, rename to `coerceArray`

* Add TSDocs

* Improve type inferencing

* Replace missed `Array.isArray` checks

* Apply Biome

* Re-apply changes to phase manager

* Re-apply to `SpeciesFormChangeStatusEffectTrigger` constructor

Apply to new instances in test mocks
2025-06-12 21:30:01 -07:00
Sirz Benjie
1029afcdbf
[Refactor] Remove circular dependencies (part 4) (#5964)
* Add abilityAttr.is methods

* [WIP] move modifier stuff around

* Untangle circular deps from modifiers

* Move unlockables to own file

* Untangle all circular deps outside of MEs

* Move constants in MEs to their own files

* Re-add missing import to battle.ts

* Add necessary overload for getTag

* Add missing type import in weather.ts

* Init modifier types and pools in loading-scene

* Remove stray commented code

* 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-06-11 19:42:04 -07:00
Dobin Shin
ba2158ec64
[UI/UX] Default cursor to no when stop trying to teach move
https://github.com/pagefaultgames/pokerogue/pull/5924

* [UI/UX] "Stop trying to teach move" Defaulting to "No"

* [Test] setCursor to 0, 'Yes' to end learning move

* Move confirmUIMode to its own file in enums, add docs

---------

Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
2025-06-11 16:24:27 -07:00
Sirz Benjie
48e911e03c
[Refactor] Remove circular deps 3 (#5959)
* Move game-mode to its own file

Reduces circular imports to 325

* Move battler-index to own file

Reduces circular deps to 314

* Move trainer-variant to own file

Reduces circ deps to 313

* Move enums in pokemon to their own file

* Move arena-tag-type to its own file

* Move pokemon-moves to its own file

* Move command to own file

* Move learnMoveType to own file

* Move form change item to own file

* Move battlerTagLapseType to own file

* Move anim enums to own shared file

* Move enums out of challenges

* Move species form change triggers to own file

Reduces circ imports to 291

* Update test importing pokemon move

* Replace move attribute imports with string names

* Untangle circular deps from game data

* Fix missing string call in switch summon phase

* Apply kev's suggestions from code review

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

* Ensure ChargeMove's is method calls super

* Use InstanceType for proper narrowing

* 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-06-09 16:24:13 -07:00
Sirz Benjie
1c4edabd1d
[Refactor] Ensure that new phases are created through the phase manager
https://github.com/pagefaultgames/pokerogue/pull/5955

* Add newPhase method to phase-manager

* Update calls to append/prepend phase to use string phase

* Replace instantiations of new phase with phase manager
2025-06-07 23:55:30 -07:00
Sirz Benjie
93745f14b7
[Refactor] Decouple phase system from battle-scene (#5953)
* Move phase logic into its own class

* Move ts ignore comment
2025-06-07 17:59:30 -07:00
Bertie690
1ff45687c5
[Refactor] Merged interfaces/ into @types/; removed runtime orphan modules
https://github.com/pagefaultgames/pokerogue/pull/5951
2025-06-07 17:28:01 -07:00
SmhMyHead
0336858708
[UI/UX] Legendary UP Gacha timer (#5921)
* [UI/UIX] Legendary UP Gacha timer

* Update egg-gacha-ui-handler.ts

Seems "fixedInt" was needed on the delay of the playTimeTimer so the game speed doesn't affect it.

* New timer container by damocleas.

* gacha_legendary.png second version from @damocleas

* Use phaser object chaining methods

---------

Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
2025-06-06 21:20:02 +00:00
Sirz Benjie
855868bfea
[Refactor] Cleanup achvs ui handler (#5919) 2025-06-06 21:15:13 +00:00
Sirz Benjie
1fc42b3231
[Misc] Add phase#is method to help reduce circular imports (#5868)
* Move phase types out of phase interceptor

* Create isXPhase method and add properties to each phase

* Replace instanceof phase with isXPhase

* Fix missing union types for phaseName

* Update doc comment in phase.ts

* Fix incomplete comment in encounter-phase

* Make phaseName as public and fix more uses

* Move phaseName property declaration before constructor in move anim phase

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

* Rename isXPhase to is

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-06-06 21:08:23 +00:00
Lugiad
9021e4b41e
[i18n] More Controller settings localization (#5920) 2025-06-06 19:52:35 +00:00
ShinigamiHolo
2a769e2733
[UI/UX] Adding more space in Egg Gacha for another languge (#5934) 2025-06-06 19:45:12 +00:00
Sirz Benjie
178de207f1
[Refactor] Cleanup egg list ui handler (#5890)
Cleanup egg list ui handler

Co-authored-by: Wlowscha <54003515+Wlowscha@users.noreply.github.com>
2025-06-06 21:34:38 +02:00
Lugiad
e82e182507
[UI/UX] [Localization] Russian Gatcha Text Resize (#5929)
Russian Gatch Text Resize

Co-authored-by: Wlowscha <54003515+Wlowscha@users.noreply.github.com>
2025-06-06 18:33:13 +02:00
Sirz Benjie
193c5ffb0c
[UI/UX] Move Reload Required text to bottom of settings (#5928)
* Move Reload Required text to bottom of settings

* Remove unneeded reloadRequiredText field
2025-06-05 15:18:07 -07:00
NightKev
9dcb904649
[Misc] Improve enum naming (#5933)
* Rename `Abilities` to `AbilityId`

* Rename `abilities.ts` to `ability-id.ts`

* Rename `Moves` to `MoveId`

* Rename `moves.ts` to `move-id.ts`

* Rename `Species` to `SpeciesId`

* Rename `species.ts` to `species-id.ts`

* Rename `Biome` to `BiomeId`

* Rename `biome.ts` to `biome-id.ts`

* Replace `Abilities` with `AbilityId` in comments

* Replace `Biome` with `BiomeId` in comments

* Replace `Moves` with `MoveId` in comments

* Replace `Species` with `SpeciesId` in comments
2025-06-04 14:54:27 -07:00
damocleas
7cd89cd4f7
Update Discord Invite Link 2025-06-02 14:33:39 -04:00
Sirz Benjie
9f892b906c
[Beta][Bug][UI/UX] Fix name position and types not being updated in battle info (#5913)
Fix name position and types not being updated in battle info
2025-06-02 12:59:10 +00:00
Lugiad
369b3307cd
[UI/UX] Moves menu position adjustments (#5917) 2025-06-01 15:40:57 -07:00
SmhMyHead
831381e4ce
[UI/UIX] Default cursor to new move when learning a move (#5908) 2025-05-31 11:54:02 -04:00
Lugiad
ccd9480240
[Localization] Secondary pending languages inclusion (#5903)
* Add files via upload

* Add files via upload

* Add files via upload

* Add files via upload

* Add files via upload

* Add files via upload

* Add files via upload

* Update mysterious-chest-dialogue.json

* Update mysterious-chest-dialogue.json

* Add files via upload

* Add files via upload

* Add files via upload

* Add files via upload

* Add files via upload

* Add files via upload

* Update i18n.ts

* Update settings.ts

* Update settings-display-ui-handler.ts

* Update starter-select-ui-handler.ts

* Update i18n.ts

* Update i18n.ts

* Update settings.ts

* Update settings-display-ui-handler.ts

* Update i18n.ts

* Update starter-select-ui-handler.ts

* Update utils.ts

* Update utils.ts

* Add files via upload

* Rename statuses_dk.json to statuses_da.json

* Update statuses_da.json

* Update and rename types_dk.json to types_da.json

* Rename statuses_dk.png to statuses_da.png

* Rename types_dk.png to types_da.png

* Delete src/locales/dk directory

* Add files via upload

* Apply suggestions from code review

* Delete src/locales/da directory

* Delete src/locales/tr directory

* Update i18n.ts

* Update i18n.ts

* Update utils.ts

* Main -> Beta (1.1.6) (#4751)

* Comment out startGame call on manifest fetch failure

* [Hotfix] Fix status damage triggering before berry usage (#4732)

* [Hotfix] Fix Eternatus egg tier (#4734)

* [Hotfix] Fix manifest getting loaded before the game is initialized (#4739)

* fix locales path for offline builds (#4739)

* [Sprite] Hotfix cut off Binacle sprite (#4741)

* [Sprite][hotfix] Fixed cropping on 658 static greninja and ash greninja (#4743)

* [Sprite][hotfix] Fixed cropping on static greninja and ash greninja

* [Hotfix] Fix crash when Mist would block a stat drop (#4746)

---------

Co-authored-by: Frederico Santos <frederico.f.santos@tecnico.ulisboa.pt>
Co-authored-by: innerthunder <168692175+innerthunder@users.noreply.github.com>
Co-authored-by: PigeonBar <56974298+PigeonBar@users.noreply.github.com>
Co-authored-by: chaosgrimmon <31082757+chaosgrimmon@users.noreply.github.com>
Co-authored-by: pom-eranian <lrlrliwoo@gmail.com>

* Update settings-display-ui-handler.ts

* Delete src/utils.ts

* Update common.ts

* Delete src/utils.ts

* Update common.ts

* Romanian workspace (#25)

* Russian workspace (#26)

* Update settings-display-ui-handler.ts

* Update settings-display-ui-handler.ts

* Update settings.ts

* Update settings-display-ui-handler.ts

* Update i18n.ts

* Update settings.ts

* Update settings-display-ui-handler.ts

* Update common.ts

* Update and rename statuses_ca-ES.json to statuses_ca.json

* Update and rename types_ca-ES.json to types_ca.json

* Add files via upload

* Delete public/images/statuses_ca-ES.png

* Delete public/images/types_ca-ES.png

* Update locales submodule

---------

Co-authored-by: Moka <54149968+MokaStitcher@users.noreply.github.com>
Co-authored-by: Frederico Santos <frederico.f.santos@tecnico.ulisboa.pt>
Co-authored-by: innerthunder <168692175+innerthunder@users.noreply.github.com>
Co-authored-by: PigeonBar <56974298+PigeonBar@users.noreply.github.com>
Co-authored-by: chaosgrimmon <31082757+chaosgrimmon@users.noreply.github.com>
Co-authored-by: pom-eranian <lrlrliwoo@gmail.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-05-30 23:54:17 +00:00
damocleas
0988cacc48
Merge branch 'beta' into cleanup-evolution-scene-handler 2025-05-30 19:29:00 -04:00
Sirz Benjie
9a60cc9c71
[Refactor] Cleanup filter bar (#5896)
* Cleanup filter bar

* Move DropDownColumn to its own file

---------

Co-authored-by: Amani H. <109637146+xsn34kzx@users.noreply.github.com>
2025-05-30 23:12:35 +00:00
Sirz Benjie
ed0251ea90
[Refactor] Cleanup egg-counter-container (#5892) 2025-05-30 23:08:52 +00:00
Sirz Benjie
901ed73247
Cleanup evolution scene handler 2025-05-29 22:51:36 -05:00
Sirz Benjie
8fcb33d11a
[Bug] Fix improperly named sprite key for enemy boss' battle UI (#5888) 2025-05-30 02:11:53 +02:00
Sirz Benjie
d5789105f3
[Refactor][UI/UX] Cleanup battle-info ui code (#5696)
* Create battle-info directory and move battle-info.ts to it

* Move player and enemy battle info to their own files

* Move subclass specific parts of constructor to subclass constructor

* Fixup mock gameobject methods to match phaser gameobject returns

* Make statOrder specific to subclass

* Create getShinyDescriptor function in utils

* Move icon construction to its own function

* Cleanup enemybattleinfo constructor to use chaining

* Make flyout exclusive to EnemyBattleInfo

* Move EnemyPokemon specific init Logic to its class

* Break up initInfo into different methods

* Remove hp bar segment dividers from base battle info

* Move setMini to pokemoninfo

* Breakup updateInfo into smaller parts

* Remove hp info handling from base updateInfo

* Use phaser object chaining methods

* Add some docs

* Add missing chain usage

* Use getShinyDescriptor in pokemon-info-container

* Minor cleanup of updatePokemonExp

* Fixup setSizeToFrame mock

* Ensure pokemon hp numbers are not visible during stat display

* Update src/utils/common.ts

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

* Make summary-ui-handler use new shinyDescriptor method

* Remove `undefined` parameter pass

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

* Address kev's review comments

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

* Ensure hp number display fades in/out

* Ensure ribbon and caught indicator fade with stat display

* Update src/ui/battle-info/battle-info.ts

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

* Move construction of stats and type icons to their own methods

* Make setPositionRelative return this

* Improve doc comment on paddingX param

* Fix mock sprite's setPositionRelative

---------

Co-authored-by: Wlowscha <54003515+Wlowscha@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>
2025-05-28 17:29:03 +00:00
Lugiad
c236996a02
[UI/UX] [Localization] starterInfoText adjustments and clean up (#5859)
* starterInfoText adjustments and clean up

* starterInfoText adjustments and clean up

* Update starter-select-ui-handler.ts

* Update starter-select-ui-handler.ts

---------

Co-authored-by: Wlowscha <54003515+Wlowscha@users.noreply.github.com>
2025-05-27 22:08:49 +00:00
NightKev
68dddbc424
[Dev] Enable Biome checking of pokemon.ts (#5720)
* [Dev] Enable biome parsing of `pokemon.ts`

* Apply unsafe fixes

* Add + apply rule disallowing the use of the `integer` type alias

* Fix typo in comment; remove unnecessary `!!`

* Re-apply Biome after merge

* Re-apply Biome "unsafe" fixes after merge

* Fix import

* Add comment to `getFusionIconAtlasKey` too
2025-05-27 07:50:54 -07:00
Wlowscha
65a90a3a8d
[UI/UX] Party UI handler refactor (part I) (#5821)
* Splitting process input for menu into its own function

* Making logic for return button more expressive

* Breaking up processOptionMenuInput

* Extracting filterResult logic from processInput

* Inverting order of several conditional checks (if the function always returns after seeing the summary option, may as well check for it straight away...)

* Moving edge case for release option into processReleaseOption

* Splitting up options for when selectCallback is present

* Added some TODOs for later

* Extracted setOptionsCursor function

* Extracted updateOptionsWindow()

* Changing options so that each case is completely separate (almost)

* Added some TODOs

* Reorganizing option processing

* Fixed Baton Pass; logging for testing

* Fixed case of switching out by selecting the Pokemon command

* Clearing options when switching out

* Changed condition on switch for clarity

* Updating TODO

* Fixed options not clearing after item transfer

* Splitting up processing of transfer and move recall mode; ensuring that the cancel option works properly

* Breaking up processInput()

* Removed some redundant playSelect

* Cleaned up some TODOs

* Added private to all new methods

* 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-05-27 04:12:29 -07:00
Lugiad
3b2753f27c
[i18n] Moved Ball "Cancel" label to a different locale file (#5866) 2025-05-22 20:14:52 -07:00
Sirz Benjie
f0e806c508
[Misc] Move allMoves to data-lists.ts (#5860) 2025-05-21 20:18:24 -07:00
damocleas
4a39adacf8
[UI/UX] Remove Redundant Unlock Passive text (#5845)
* Update starter-select-ui-handler.ts

* Update pokedex-page-ui-handler.ts
2025-05-21 03:05:39 +00:00
Lugiad
f01e7599ac
[UI/UX] [Localization] Update Japanese starterInfoText (#5852)
Update Japanese starterInfoText
2025-05-21 02:21:35 +00:00
Lugiad
9746f1a2a6
[UI/UX] [Localization] Update Korean starterInfoText 2025-05-19 17:39:17 -07:00
Lugiad
a9ec3b324c
[UI/UX] [i18n] Text ratio adjustment for es-MX Egg Gatcha (#5839) 2025-05-19 22:03:42 +00:00
Lugiad
bd14ed640c
[Localization] Localizable "Cancel" text in Ball selection menu (#5836)
"Cancel" text localizable
2025-05-19 17:00:51 -05: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