28 Commits

Author SHA1 Message Date
MokaStitcher
267772c043
[qol][ui] add cursor wrap around to option select menus (#3518) 2024-08-13 21:33:59 +01:00
flx-sta
f9d7b71fd6
[Refactor] allow null for ui mode constructor argument (#3407) 2024-08-07 14:31:57 -04:00
flx-sta
a07d2c57a4
[Refactor] use typescript strict-null (#3259)
* TS: enable strict-null

* fix battle-scene.ts

* fix voucher.ts

* adapt more files to strict-null

* adapt more files to strict-null ( 2)

* adapt ability.ts to strict-null

* adapt `arena.ts` to strict-null

* adapt TagAddedEvent constructor to strict-null

* adapt phases.ts.to strict-null

* adapt status-effect.ts to strict-null

* adapt `account.ts` to strict-null

* adapt `configHandler.ts` to strict-null

* adapt `ability.ts` to strict-null

* adapt `biomes.ts` to strict-null

* adapt `challenge.ts` to strict-null

* adapt `daily-run.ts` to strict-null

* adapt `nature.ts` to strict-null

* adapt `pokemon-forms.ts` to strict-null

* adapt `tainer-names.ts` to strict-null

* adapt `types.ts` to strict-null

* adapt `weather.ts` to strict-null

* adapt `egg-hatch-phase.ts` to strict-null

* adapt `evolution-phase.ts` to strict-null

* adapt `pokemon-sprite-sparkle-handler.ts` to strict-null

* adapt `evolution-phase.ts` to strict-null

* adapt `game-mode.ts` to strict-null

* adapt `utils.ts` to strict-null

* adapt `voucher-ui-handler.ts` to strict-null

* adapt `src/ui/unavailable-modal-ui-handler.ts` to strict-null

* adapt `src/ui/ui.ts` to strict-null

* adapt `src/ui/ui-theme.ts` to strict-null

* adapt `src/ui/title-ui-handler.ts` to strict-null

* adapt `src/ui/time-of-day-widget.ts` to strict-null

* adapt `src/ui/text.ts` to strict-null

* adapt `src/ui/target-select-ui-handler.ts` to strict-null

* adapt `src/ui/settings/settings-keyboard-ui-handler.ts` to strict-null

* adapt more files to strict-null (3)

* adapt more files to strict-null (4)

* adapt more files (mostly tests) to strict-null (5)

* adapt more files to strict-null (6)

* adapt more files to strict-null (7)

* Update `src/data/pokemon-evolutions.ts` for strict-null

Partial update `src/data/pokemon-species.ts` for strict-null

* adapt more files to strict-null (8)

* adapt more files to strict-null (9)

* Strict some more nulls (still a few errors remaining)

* adapt rest of the files to strict-null (9)

* fix tests (check for null instead of undefined)

* repalce a lot of `??` with bangs

And added TODO notice as usual

* fix more tests

* all tests pass now

* fix broken game-loop after trainer battle

add some console.warn for missing cases and falling back to default

* remove guessed fallback from utils.rgbHexToRgba

* add TODO for this.currentBattle = null

* adjust   getPokemonById() return to include `null`

* fix compilation errors

* add test for pokemon.trySetStatus

* `chanceMultiplier` shouldn't be optional

* allow `null` for currentPhase

* adjust hasExpSprite logic for no keymatch found

* reduce bang usage in account.updateUserInfo()

* fix new strict-null issues after merge

* fix `strict-null` issues in dropdown.ts

and sand_spit.test.ts

* fix egg-gacha

* adapt gul_missile.test.ts to strict-null

* fix move.ts strict-null

* fix i18n.ts strict-null

* fix strict-null issues

* fix baton_pass test

after accidentially breaking it

* chore: fix compiler errors

* revert accidential changes in baton_pass.test.ts

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-08-07 17:23:12 +01:00
Tempoanon
98ae2bc665
[Localization] Add Japanese Localization (#3332)
* Update fonts

* Add locales/ja files

* Add some more files

* Add more ui stuff

* Fix failing typescript doc being generated

* Add the 4 ui handlers

* Add i18n.ts

* Try something in text.ts

* Fix some more errors

* Add ja type icons

* Add missed message keys

* Update src/plugins/i18n.ts

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

* Update src/ui/text.ts

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

* Update src/plugins/i18n.ts

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

* Apply TLs from xsn34kzx

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

* Translate essential text (move, ability descriptions)

* Translate missed move/ability

* Translated battle.ts

- All phrases are taken from USUM script via Poké Corpus https://abcboy101.github.io/poke-corpus/ 
(I used the USUM script because it is in hiragana/katakana. If we decide to change these phrases to Kanji later, I will refer to the SV script to modify them again.)
-

* Update battle.ts

* Update battle.ts

* Update src/locales/ja/battle.ts

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

* Update battle.ts

---------

Co-authored-by: EnochG1 <enoch.jwsong@gmail.com>
Co-authored-by: Amani H. <109637146+xsn34kzx@users.noreply.github.com>
Co-authored-by: Chapybara-jp <charlie.beer@hotmail.com>
2024-08-06 20:36:07 -04:00
Matthew
d2f4c5b59c
[UI] UI Small Adjustments (#2525)
* UI Small Adjustments

* Fix Unit Tests

* Null check event display before clear

* better empty move placeholder debug name
2024-06-23 12:09:23 -04:00
Matthew
dc30dd33b2
[QoL] Reorganize Enum Locations (#2185)
* moving enums

* import updates

* fix tsconfig paths importing (#2184)

* reverse index.ts addition

---------

Co-authored-by: Devin Korb <meepdarknessmeep@gmail.com>
2024-06-13 18:44:23 -04:00
Matthew Olker
e6c24dceab Revert "[QoL] Reorganize Enum Locations (#2142)"
This reverts commit cf06ff3b8d3bca1195150533b9f72f46271b167f.
2024-06-13 11:30:47 -04:00
Matthew
cf06ff3b8d
[QoL] Reorganize Enum Locations (#2142)
* moving enums
2024-06-13 11:11:12 -04:00
prime
1c98106642
[QoL] Move Info Overlay (#1585)
* move info implemented for starter selection

a move info box is displayed when editing the starter moveset.

also menus have now onHover triggers.

todo:
- show ui when selecting TMs
- show ui when selecting moves to remember (memory mushroom)

* More Move Info Overlays

Added overlays during Memory Mushroom use and when viewing TMs.
Furthermore a settings option can enable/disable those overlays.

* Added missing ko language entry

... though translation still remains necessary

* updated ui

also added overrides for item rewards

* minor ui update

moved values to the right in the tm move info box

* fixed typedoc issues

* removed settings in to prepare for merge

* updated settings option

added settings option to new settings implementation

* minor changes

removed unused graphic
moved settings option to accessibility
2024-06-05 20:28:12 -05:00
Greenlamp2
e2be6ba002
added rule no-trailing-spaces (#1307) 2024-05-23 18:45:04 -05:00
Greenlamp2
c86a51ba89
prevent opening the menu on confirm dialog + fix config error message on crash (#1278) 2024-05-23 13:26:12 -05:00
Greenlamp2
bac6c22973
ESLint - The Essential Linter and Formatter for JavaScript and TypeScript (#1224)
* eslint config + packages

* updated eslint config

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

* first round with eslint --fix .

* removed config for unused export

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

This reverts commit 77a88e0895f7c3389cb223651b90d918af778fe9.

* removed config for camelCase

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

* halfway to manual eslint fix

* eslint done

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

* removed eslintrc config file duplicat

* fix human error + ignore build folder + merge overrides

* added curly brace style + eslint

* applied double quote linter rule

* added lefthook

* test precommit

* test precommit

* test precommit

* test precommit

* test precommit

* test precommit

* test precommit

* github action to run eslint

* added node_modules to ignore eslint

* different action for typescript

* no need for different glob (default src)

* node 20

* node 20

* removed no longer needed install file

* remove hooks part from README

* eslint fixes

---------

Co-authored-by: Frederico Santos <frederico.f.santos@tecnico.ulisboa.pt>
2024-05-23 11:03:10 -04:00
Greenlamp2
d98f7733d4
Rework - Inputs management to include all gamepad mapping V2 (#429)
* rework of the input handling, including different gamepad and keyboard

* rework of the input handling, including different gamepad and keyboard

* first version of a too complex inputHandler based on phaser3-merged-input

* removed useless control management and kept it simple for our use case, investigating to put out button_XX()

* renamed inputHandler to inputController

* aggregate directions and some action into a same method + fix menu return value

* added back repeated input feature on keeping down a key

* cleanup + return type

* fix submit/action doing two things simultaneously, still same behaviour as before

* extracted UI inputs out of battle-scene

* tab -> spaces

* tab -> spaces what about now github ?

* tab -> spaces final (maybe)

* tried to fix the plugin loading issue on prod

* remove Plugins things as it's too uncertain how it works on prod

* seems old code source is indented with tab

* cleanup

* cleanup

* cleanup

* putting in an enum file the enum buttons

* fix repeating stats button + change message in event when the key is repeating

* added return type for ui-inputs

* added return type for inputs-controller

* adapted the code to integrate changes of bennybroseph
2024-05-05 10:30:00 -04:00
Flashfyre
9fc6bdde21 Revert "Rework - Inputs management to include all gamepad mapping (#390)"
This reverts commit 70324c415955477a3f569a5c342df4561537da56.
2024-05-03 13:04:32 -04:00
Greenlamp2
70324c4159
Rework - Inputs management to include all gamepad mapping (#390)
* rework of the input handling, including different gamepad and keyboard

* rework of the input handling, including different gamepad and keyboard

* first version of a too complex inputHandler based on phaser3-merged-input

* removed useless control management and kept it simple for our use case, investigating to put out button_XX()

* renamed inputHandler to inputController

* aggregate directions and some action into a same method + fix menu return value

* added back repeated input feature on keeping down a key

* cleanup + return type

* fix submit/action doing two things simultaneously, still same behaviour as before

* extracted UI inputs out of battle-scene

* tab -> spaces

* tab -> spaces what about now github ?
2024-05-03 12:59:10 -04:00
Flashfyre
824a73ef71 Add candy system for passives and value reductions 2024-04-13 18:59:58 -04:00
Flashfyre
689d4700c1 Add 2 second confirmation delay when overwriting save 2024-04-07 10:28:23 -04:00
Flashfyre
6a62ae1b5a Only block confirm and cancel inputs with delayed option UI 2024-04-04 18:07:24 -04:00
Flashfyre
326918a5f1 Add retry option (easy mode) 2024-04-04 15:22:05 -04:00
Flashfyre
70d61700d0 Re-implement UI reskin with working legacy toggle
Re-implement UI reskin with working legacy toggle; add return to title option to menu
2024-03-31 21:14:35 -04:00
Flashfyre
00255cb09a Fully implement save slots and ""title"" screen changes
Fully implement save slots and ""title"" screen changes; fix issues with slots including clear data not working on game over and export/import not working; fix session play time not being recorded correctly
2024-03-15 15:13:32 -04:00
Flashfyre
e4bac55d75 Add indicator for additional starter moves and initial egg moves UI
Add indicator for additional starter moves and initial egg moves UI; port scrolling to abstract options UI
2024-02-21 15:47:44 -05:00
Flashfyre
05f114c8a4 Minor UI changes 2024-02-06 23:11:00 -05:00
Flashfyre
fcf1c4f574 Rework option select and add game stats 2024-01-11 12:26:32 -05:00
Flashfyre
8063472bac Add accounts, login, and registration 2023-12-30 20:19:33 -05:00
Flashfyre
e07e267ddc Refactor windows and add alternate window skins 2023-12-20 22:22:15 -05:00
Flashfyre
cb71e543a8 Rename UiHandler file to fit conventions 2023-12-20 19:19:23 -05:00
Flashfyre
16b580451c Add IV display on starter screen 2023-11-13 22:29:03 -05:00