* 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>
Added new biome entries for Type: Null, Silvally, Poipole, Naganadel, Kubfu, Urshifu, Scientist, and Swimmer to their respective init functions, and reran `outputPools`.
* Lower TM weight in moveset generation.
* Implement a cap on amount of TMs based on wave.
* Extract ai moveset generation to its own file
* Minor doc cleanup
* Move magic numbers to balance file and export them
* Tweak stab move weight generation
---------
Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
https://github.com/pagefaultgames/pokerogue/pull/6551
* [Balance] Change Happiny evolution method
Happiny now evolves into Chansey by using an Oval Stone during the Dawn or Day, instead of 160 friendship (Blissey's friendship requirement of 200 remains unchanged).
Also removed unnecessary comments from Gligar's and Sneasel's evolutions.
* Update Chansey -> Blissey 200 -> 180 Friendship Required (Base 140)
---------
Co-authored-by: damocleas <damocleas25@gmail.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
* Add blacklist of moves that can't be forced STAB.
* Add exploding moves to blacklist.
* Change blacklist from array to list.
* Sort blacklist and add steel beam
---------
Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
* 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
* Use pointer events instead of touch events in `TouchControl`
* Marked some touch-related tests as todo
* Changing test mocker to send pointer events
* Also updated the ui to change the position of touch controls
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Added egg move parse utility script
* Update interactive.js
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Update interactive.js
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Update interactive.js
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Applied kev's reviews
* Removed `basePath` from tsconfig
the docs literally recommend against using it so yeah
* Fixed up configs so that script folder has its own file
* Reverted changes to egg move contents
* renamed boilerplate so biome doesn't lint it
* Fix `jsconfig.json` so that it doesn't typecheck all of `node_modules`
See https://github.com/microsoft/TypeScript/issues/50862#issuecomment-1565175938 for more info
* Update tsconfig.json
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Updated workflows and fixed issues
* Removed eslint from linting workflow
* Fixed type error in d.ts file to shut up linters
* Reverted test-filters.yml
* Update biome.jsonc
* Update decrypt-save.js comment
* Update interactive.js
* Apply Biome
* Fixed type errors for scripts
* Fixed biome from removing tsdoc linkcodes
* Update test/@types/vitest.d.ts
---------
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Added mock console and fixed up many many things
* Cleaned up handling of colors and such
* Added minor comment
* Fix Focus Punch test
* Fix typo
* Remove redundant comment
* Update vitest.setup.ts
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Added color map inside new folder
* Made constants not object bc i was told to
* Update src/constants/colors.ts
* Removed all moves init check
* Removed import
* Fixed up some stuff + added aquamarine color to settings helper
* Added logging for test end
* Removed intentionally failing test
* Fixed console log to use inheritance to not override vitest's wrapping
* Added a custom Vitest reporter to not log the test name every 2 lines
* Moved coloration to a hook to prevent misplacing things
* Fixed import issue by copypasting vitest soure
* Removed intentionally failing test
look i need to check that `test:silent` works on github ok
* Added REUSE annotations to copied parts of source
* Fixed import issue
---------
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Check if items are able to transfer for `ALL` option
* show amount of transferable items in `ALL` option
* Show number of transferable items in the 'ALL' option
* Apply suggestions
- The constant `isLocal` now checks to see if `import.meta.env.MODE`
is `"development"` (which it is when running via `pnpm start:dev`)
instead of checking what URL is being used to access the client
(e.g. `"localhost"` or an IP address)
- Remove `start` from `package.json` and replace it with
`start:prod` (which runs `vite --mode production`) and
`start:beta` (which runs `vite --mode beta`)
`start:prod` -> `isBeta` and `isLocal` are both `false`
`start:beta` -> `isBeta` is `true` and `isLocal` is `false`
`start:dev` -> `isBeta` is `false` and `isLocal` is `true`
- Remove obsolete/unused `localServerUrl` and `apiUrl` constants
* Prevent an empty starterpreferences object from being saved
* Fix ssui nullish coalescing
* Update src/utils/data.ts
Co-authored-by: Dean <69436131+emdeann@users.noreply.github.com>
---------
Co-authored-by: Dean <69436131+emdeann@users.noreply.github.com>
* Ensure status effects from same source interaction cannot override each other
* Update test/status-effects/general-status-effect.test.ts
Co-authored-by: Bertie690 <136088738+Bertie690@users.noreply.github.com>
* Using seenCount in pokedex and game stats
* Species seen now also include caught data
---------
Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
* Prevent crash when attempting to select a move not in the user's moveset
* Fix typo in tsdoc
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
---------
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Change rare egg rate consts to array
* Update rates.ts
1/24 -> 1/16
* Make new arrays use readonly type hint
---------
Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
Co-authored-by: damocleas <damocleas25@gmail.com>
* 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>
* Block catching bosses in nuzlockes
* Changes to conditions to restrict master ball use
* Implemented new can't catch messages
* Fixed some bugs which prevented correct usage of balls
* Special casing full fresh start
* fix text Update command-phase.ts
* Added tests for failing catches
* Using `mockI18next`
* Shorten a couple of variable declarations
* Fixed bug that allowed catching trainer pokemon in end; showing double battle failure only if other failure messages do not apply
* Fixed order of error messages
* Changed description of tests with "in end biome" instead of "paradox mon(s)"
* Not override nature after selection
* Update test/field/catching.test.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>
Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
* Save after moveset changes
* Saving only when the moveset is actually changed
* Removed logs, added docs
* Update src/ui/starter-select-ui-handler.ts
---------
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
* Reworked status code, fixed bugs and added Rest tests
* Fixed rest bug
* Fixed bugs, split up status code, re-added required Rest parameter
* Cleaned up comments and such
* Added edge case to rest about locales
* Maybe did stuff
* Split up `trySetStatus` fully; fixed rest turn order display to match mainline
* Reverted healing changes to move to other PR
* Fixed message code a bit
* Condensed all status immunity tests under 1 roof
* Fixed the tests
* Added pollen puff tests back again
* Fixed swallow test
* Reverted swallow test
fixing in other prs
* Fixed pollen puff
* Fixed cirrc dep isuse
* fixed stockpile to no longer fail on stack full
* Fixed rest thing...?
* readded swallow conds
* Fixed tests
* wip
* Fixed tests
* Added pokemon heal phase to the turn queue
* ddddd
* Fixed the tests
* Fixed corrosion test
* Ran linting
* Fixed infiltrator bug
* Fix pokemon.ts
* Update move.ts
* Update corrosion.test.ts
* Update pokemon.ts documentation
* Remove missed line in TSDocs
* Update pokemon.ts
Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
* Update modifier.ts
Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
* Update modifier.ts
Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
* Update obtain-status-effect-phase.ts
* Fix merge issues and apply Biome
* Revert pokemon-heal-phase.ts
* ddddd
* Fixed test file syntax err
* Update toxic spikes status set text to be quiet
* ran biome
* ran boime
* Prevent rest failure message from displaying outside of move phase
---------
Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@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>
* Removed deprecated functions from phase interceptor
* Added minor docs to the phase manager + renamed `shift` to `shiftPhase`
* Added `selectStarterPhase` to the end by set mode collection
* Fixed issues and syntax errors
* somehow fixed reload bug by making things actively worse
* Perhaps fixed things?
* maybe fixed?
* Fixed tests
* fixed another dumb error bc me big dumb bozo
* dddddd
* Update phase-interceptor.ts
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Re-add `!` and add `TODO` comment instead
---------
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>
* changed ME `intro_dialogue` to camel case
* changed MEs part 1
* changed MEs part 2
* changed MEs part 3
* chnaged MEs part 4
* Update locales submodule
* [Test] Added `toHaveArenaTagMatcher` + fixed prior matchers
* Fixed imports and stuff
* Removed accidental test file addition
* More improvements and minor fixes
* More semantic changes
* Shuffled a few funcs around
* More fixups to strings
* Added `toHavePositionalTag` matcher
* Applied reviews and fixed my godawful penmanship
* Fix vitest.d.ts
* Fix imports in `vitest.d.ts`
---------
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: Sirz Benjie <142067137+SirzBenjie@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>
* constants for position of discard button
* Moved transfer/discard button up in doubles
* Fixed the various `.setOrigin(0,0)`
* Small clean up
* Added `isBenched` property to slots; x origin of `slotBg` is now 0
* Also set y origin to 0
* Offsets are relevant to the same thing
* Introducing const object to store ui magic numbers
* More magic numbers in const
* Laid out numbers for slot positions
* Added smaller main slots for transfer mode in doubles
* Changed background to fit new slot disposition
* Apply suggestions from code review
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: Bertie690 <136088738+Bertie690@users.noreply.github.com>
* Optimized PNGs
* Updated comment
* Removed "magicNumbers" container, added multiple comments
* Update src/ui/party-ui-handler.ts
Co-authored-by: Amani H. <109637146+xsn34kzx@users.noreply.github.com>
* Fainted pkmn slots displaying correctly
---------
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: Bertie690 <136088738+Bertie690@users.noreply.github.com>
Co-authored-by: Adri1 <adrien.grivel@hotmail.fr>
Co-authored-by: Amani H. <109637146+xsn34kzx@users.noreply.github.com>
Co-authored-by: Sirz Benjie <142067137+SirzBenjie@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>
* Modify custom starters and added boss, biome and luck custom seed overrides
* Added form index to boss custom seed
* Fix circular dependency in daily-run.ts
* Review for PR 6248
- Use early returns
- Update TSDocs
- Use `getEnumValues` instead of `Object.values` for `enum`s
- Add console logging for invalid seeds
---------
Co-authored-by: Jimmybald1 <147992650+IBBCalc@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>