* Added various ribbon utils
* Added ribbon tray to pokédex page
* V button in Pokédex toggles IVs
* Introduced visibility toggle
* Added ribbons (and full ivs) to unlocks file
* For real this time
* Added descriptions to the ribbons
* Fixed bug of tray not opening with visibility option on
* Minor cleanup of ribbon tray
* Use unique ribbon icons
* Make achv use image instead of sprite
* Tweak size of ribbons
* Improve clarity on comment
---------
Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
* Game stats ui handler takes save data as input
* Make admin panel functional for local testing
* Added button to show stats; mocking for local testing with current save data
* Adding pokédex to admin panel
* Many nice things
* Fixed typo
* Add backend support
* Fixed button width in admin panel
* Apply suggestions from code review
---------
Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
* Fix terrain & weather max duration flyout
* show correct max duration for tags
* maka maxDuration optional in arenaEvent constructor
* 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>
* Move type definitions away from game-data.ts
* Update src/@types/data-types.ts
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Renamed file to save-data.ts
* Fixed broken import
* Moved some ui files
* Run biome, fix broken import
* Fixed one more broken input
* add language selection
* Move language option up
* Move language list to seperate file
* fix circular dependency
* Move language selection to own icon
* run biome
* add icon
* add icon to legacy ui
* Added more biome rules
* Fixes
* Added a few more rules
* Added global phaser to biome
* Fix tpyo
* Updated biome to 2.1.4; improved docs on linting/localization; added vcs support
Also added `.build` to gitignore cuz reasons
* Fixed tpyo
* dd
* Applied linter fixes
* Partially fixed some private property issues
* Upgraded to Biome 2.2.0; added `operatorLinebreak` and a few new rules
* Moved operator linebreaks before lines
* Applied kev's suggestions
* Update biome.jsonc
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* added like all the rules and then some
* modify biome.jsonc
* apply biome formatting
* Reverted changes to balance folder
* fixed stuff
* Fixed biome stripping trailing globstars from everything
* made `noInvertedElse` an error rule
* Add & apply fixes for `useExplicitLengthCheck`, `useAtIndex` and `noNonNullAssertedOptionalChain`
* Bumped biome to 2.2.3
* Fixed a few syntax errors
* Removed trailing globstars since biome actually fixed their shit
* Final clean up
* foobarbaz
* Fixed remaining issues
* Fixed a few errors in SSUI
* fixed rounding issue
* Fixed test to not round funky
* Fixed biome false positive for vitest hooks
* Apply biome:all
---------
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
* Store session id in session data to prevent somehow deleting wrong slot
* Only log session / system if beta or local; fix promise
* Fix serialization/deserialization when logging session/system data
* Force loadSaveSlot to set the logged in user's last session
* No longer add slotId to session data
* Introduced `getSpeciesData` function
* Saving and loading starter preferences as intended without conflicts
* Hiding shiny star and hidden ability icon, showing correct nature
* Forcing first tera type always
* Fixed bug which prevented tera from displaying the saved preference; tera resets in fresh start
* Ensuring that label text updates correctly
* Removed large commented code, plus lock on hardy nature.
* Excluded specific forms from fresh start, fixed bug with default nature
* Removed Rockruff from restricted forms
* Moves update correctly when switched around
* Making tera type persist in preferences
* Saving starter preferences after every change
* Tera type not resetting randomly
* Removed some log messages
* Incorporated suggestions from review
* Only allowing unlocked neutral natures, or default to hardy if no natures are unlocked
* Capping ivs at 15 instead of setting them at 15
* Apply suggestions from code review
Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
* Hiding various things
* Ran biome
---------
Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
* Grabbed matchers from other branch
* Cleaned up entry hazard arena tags; merged tests into 1 file
* Marked test as TODO because IDK how to make it pass
* Re-added test file + ran biome
* Sort imports in `vitest.d.ts`
* Fix Stealth Rocks test
* Renamed arena traps to entry hazards fr fr
* fixed matcher to have default value
* Fixed errors
* Update arena-tag.ts
Co-authored-by: Wlowscha <54003515+Wlowscha@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>
Co-authored-by: Wlowscha <54003515+Wlowscha@users.noreply.github.com>
* Add tracking for nuzlocke completion
* Add ribbon to legacy ui folder
* Add tracking for friendship ribbon
* fix overlapping flag set
* Replace mass getters with a single method
* Add tracking for each generational ribbon
* Add ribbons for each challenge
* 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>
* Enforced a few usages of `toCamelCase`
* Removed `map(x => x)`
* Removed more maps and sufff
* Update test/mystery-encounter/encounters/weird-dream-encounter.test.ts
* Update game-data.ts types to work
* Implement Name Run Feat
Modified load session ui component, adding a submenu when selecting a 3
slot. This menu has 4 options:
Load Game -> Behaves as before, allowing the player to continue
progress from the last saved state in the slot.
Rename Run -> Overlays a rename form, allowing the player to type a
name for the run, checking for string validity, with the option to
cancel or confirm (Rename).
Delete Run -> Prompts user confirmation to delete save data, removing
the current save slot from the users save data.
Cancel -> Hides menu overlay.
Modified game data to implement a function to accept and store
runNameText to the users data.
Modified run info ui component, to display the chosen name when
viewing run information.
Example: When loading the game, the user can choose the Load Game
menu option, then select a save slot, prompting the menu, then choose
"Rename Run" and type the name "Monotype Water Run" then confirm,
thus being able to better organize their save files.
Signed-off-by: Matheus Alves <matheus.r.noya.alves@tecnico.ulisboa.pt>
Co-authored-by: Inês Simões <ines.p.simoes@tecnico.ulisboa.pt>
* Implement Rename Input Design and Tests for Name Run Feat
Created a test to verify Name Run Feature behaviour in the
backend (rename_run.test.ts), checking possible errors and
expected behaviours.
Created a UiHandler RenameRunFormUiHandler
(rename-run-ui-handler.ts), creating a frontend input
overlay for the Name Run Feature.
Signed-off-by: Matheus Alves <matheus.r.noya.alves@tecnico.ulisboa.pt>
Co-authored-by: Inês Simões <ines.p.simoes@tecnico.ulisboa.pt>
* Fixed formating and best practices issues:
Rewrote renameSession to be more inline with other
API call funtions, removed debugging comments and
whitespaces.
Signed-off-by: Matheus Alves <matheus.r.noya.alves@tecnico.ulisboa.pt>
Co-authored-by: Inês Simões <ines.p.simoes@tecnico.ulisboa.pt>
* Minor Sanitization for aesthetics
Deleting the input when closing the overlay for
aesthetics purpose
Signed-off-by: Matheus Alves <matheus.r.noya.alves@tecnico.ulisboa.pt>
Co-authored-by: Inês Simões <ines.p.simoes@tecnico.ulisboa.pt>
* Fixed minor rebase alterations.
Signed-off-by: Matheus Alves matheus.r.noya.alves@tecnico.ulisboa.pt
Co-authored-by: Inês Simões ines.p.simoes@tecnico.ulisboa.pt
* Implemented Default Name Logic
Altered logic in save-slot-select-ui-handler.ts to
support default naming of runs based on the run
game mode with decideFallback function.
In game-data.ts, to prevent inconsistent naming,
added check for unfilled input, ignoring empty
rename requests.
Signed-off-by: Matheus Alves matheus.r.noya.alves@tecnico.ulisboa.pt
Co-authored-by: Inês Simões ines.p.simoes@tecnico.ulisboa.pt
* Replace fallback name logic: use first active challenge instead
of game mode
Previously used game mode as the fallback name, updated to use the
first active challenge instead (e.g. Monogen or Mono Type), which
better reflects the run's theme.
Signed-off-by: Matheus Alves <matheus.r.noya.alves@tecnico.ulisboa.pt>
Co-authored-by: Inês Simões <ines.p.simoes@tecnico.ulisboa.pt>
* Rebasing and conflict resolution
Signed-off-by: Matheus Alves <matheus.r.noya.alves@tecnico.ulisboa.pt>
Co-authored-by: Inês Simões <ines.p.simoes@tecnico.ulisboa.pt>
* Lint fix
Signed-off-by: Matheus Alves <matheus.r.noya.alves@tecnico.ulisboa.pt>
Co-authored-by: Inês Simões <ines.p.simoes@tecnico.ulisboa.pt>
* Minor compile fix
* Dependency resolved
* Format name respected
* Add all active challenges to default challenge session name if possible
If more than 3 challenges are active, only the first 3 are added
to the name (to prevent the text going off-screen)
and then "..." is appended to the end to indicate
there were more challenges active than the ones listed
* Allow deleting malformed sessions
---------
Signed-off-by: Matheus Alves <matheus.r.noya.alves@tecnico.ulisboa.pt>
Signed-off-by: Matheus Alves matheus.r.noya.alves@tecnico.ulisboa.pt
Co-authored-by: Matheus Alves <matheus.r.noya.alves@tecnico.ulisboa.pt>
Co-authored-by: Wlowscha <54003515+Wlowscha@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>
* fix comment typos
* fix typos in variable/parameter/class names
* fix typos in object names
* fix typos in `console.log()` and i18n key use
* fix typo in filename `abstact-option-select-ui-handler.ts`
* fix casing of `@privateremarks` to `@privateRemarks`
* fix use of `cancelControllerChoice`
* Added string utility package to replace util functions
* Changed string manipulation functions fully over to `change-case`
* Fixed missing comma in package.json
trailing commas when :(
* fixed lockfile
* Hopefully re-added all the string utils
* fixed package json
* Fixed remaining cases of regex + code dupliation
* Fixed more bugs and errors
* Moved around functions and hopefully fixed the regex issues
* Minor renaming
* Fixed incorrect casing on setting strings
pascal snake case 💀
* ran biome
* Standardize filenames to kebab-case
Co-authored-by: pymilkmaiden <cassiopeiamahler56@gmail.com>
* Move script outside of public folder
* Move update_exp_sprites to scripts
* Add ls-lint to lint file and directory names
* Update lefthook.yml to skip merge / rebase on all pre-commit commands
---------
Co-authored-by: pymilkmaiden <cassiopeiamahler56@gmail.com>