* Added basic temp renaming
* Made nickname persistant after reloading
* Localization and cancel button
* Fixed instant rename on active pokemon
* Small bugfix to prevent console errors
* Changed logic to use the new nickname field. Replaced most .name with getNameToRender() for display.
* Changed evolution message. Removed log messagesc
* Added localization keys for other languages
* Removed empty lines
* French translation
Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>
* Chinese translation
Co-authored-by: Yonmaru40 <47717431+40chyan@users.noreply.github.com>
* Portuguese (Brazil) translation
Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>
* Korean translation
Co-authored-by: Enoch <enoch.jwsong@gmail.com>
* Update menu.ts
* Update menu.ts [Localization(it)]
* Changed most .getNameToRender() instance to getPokemonNameWithAffix()
* Changed wild encounter messages back to just use the name without affix.
* Added localization for the party ui rename selection
* Escaping nickname characters to support all characters
* Better Error handling
* Update src/field/pokemon.ts
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
---------
Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>
Co-authored-by: Yonmaru40 <47717431+40chyan@users.noreply.github.com>
Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>
Co-authored-by: Enoch <enoch.jwsong@gmail.com>
Co-authored-by: Niccolò <123510358+NicusPulcis@users.noreply.github.com>
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
This commit updates the `trainerId` and `secretId` properties in the `GameData` class. The values are replaced with the corresponding values from the `this.trainerId` and `this.secretId` variables. This change ensures that the `trainerId` and `secretId` are correctly updated in the game data.
* Create default overrides class and export that with custom overrides
* add comment to mock import and replace typecast with type narrowing
* change modifier override type to pick keys from modifierTypes
* Prevent sizing error
* Make reboot not necessary for show BGM
* Makes the BGM Bar active by default
+ It had originally been decided that this would not be active by default because it was to be displayed outside the pause menu, but since its behavior has changed between this decision and its integration, the default deactivation is no longer necessary
* Added a bgmBar to show the name of the track once music is played
* Even more close to ability bar
* It now shows. And also shows already for a couple of them a readable name
* Now the queue actually works
* Create locales for bgmName (bgm-bar ui)
+ Most of the music has only Japanese and English names
But there are a number of tracks with official translations following OST commercialization
* Add i18n and use it to retrieve OST names (avoids a giga switch case)
+ A fallback key is implemented in the case of adding tracks not referenced in the translation files, its value being just the name of the bgm itself
* FormatText is now in Utils and not arena-flyout
BGM Names for non-localized music will be formatted to have capitalized letters and no _
* It is now a setting. It can be even changed mid fight
* Update src/ui/ability-bar.ts
* Apply suggestions from code review
Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>
* Update src/locales/de/bgm-name.ts
* Apply suggestions from code review
Co-authored-by: sodam <66295123+sodaMelon@users.noreply.github.com>
* Added the rest of the music names
* Changed PMD EoS to PMD ETH in german (Pokemon Mystery Dungeon Erkundungsteam Himmel)
* Due to feedback it is now "PMD ET-Himmel"
* Corrected the encounter theme names (and some missed trainer class names)
* Background is now a nicneslice. And it is at the top of the screen and above everything else
* The bar now scales with the text.
* Revert override
* Update src/locales/fr/bgm-name.ts
Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>
* It now only appears when V is pressed (in all but starter select)
* Cleared the cod eup
* Update src/locales/zh_CN/bgm-name.ts
Co-authored-by: Yonmaru40 <47717431+40chyan@users.noreply.github.com>
* Update src/locales/zh_CN/settings.ts
Co-authored-by: Yonmaru40 <47717431+40chyan@users.noreply.github.com>
* Update src/locales/ko/bgm-name.ts
Co-authored-by: sodam <66295123+sodaMelon@users.noreply.github.com>
* The bgmBar now appears in the pause menu instead.
* Should react better on settings change
* To be safe this required a reload now
* Update src/locales/fr/bgm-name.ts
Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>
* Update src/locales/fr/bgm-name.ts
Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>
* Write out pokemon mystery dungeon names in german
* Update src/locales/es/bgm-name.ts
Co-authored-by: GoldTra <162721984+GoldTra@users.noreply.github.com>
* Update src/locales/zh_CN/bgm-name.ts
Co-authored-by: Yonmaru40 <47717431+40chyan@users.noreply.github.com>
* Update src/battle-scene.ts
---------
Co-authored-by: Dakurei <maxime.palanchini@gmail.com>
Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>
Co-authored-by: sodam <66295123+sodaMelon@users.noreply.github.com>
Co-authored-by: Yonmaru40 <47717431+40chyan@users.noreply.github.com>
Co-authored-by: GoldTra <162721984+GoldTra@users.noreply.github.com>
* Create variant-tiers enum
* Added variant tier override property to the egg class
* Added hasVariants function to pokemon species
* Implement variant override logic to egg hatching phase
* Delete src/enums/variant-tiers
* Create variant-tiers enum
* Added egg shiny and variant overrides
* fixed egg comment in overrides.ts
* Added override logic to egg hatch phase
* Added species pool filter logic when global override is set
* Added global egg tier override logic
* Added global egg tier override
* Added global gacha pull count override logic
* Added global gacha pull count override
* Renamed egg hatch override
* Renamed egg hatch override
* Added gacha pull without voucher global override
* Renamed free gacha pull global override
* Added free gacha pull override logic
* Gacha pull count override name fix
* Bugfix
* restored defaults + savegame bugfix
* eggOptions added to parameterize eggs. Added option to buy eggs of the same species.
* Small Bugfix for same species egg generation
* Removed translation from translator
* Improved the isManaphyEgg() check
* Fixed manaphy egg hatch wave count
* Added comments to IEggOptions
* Added eggOptions for hidden ability and rare egg move override
* Merge Fix: Update egg-hatch-phase.ts
* Fixed manaphy rates back to 1/256 like in PR #2182
* Renamed override, same species egg unlocks after passive is bought. Added code as comment for custom shiny, HA and rare egg move rates.
* Merge fix. Moved enums.
* quick fix for the commented out code
* Fixed that you can't buy an egg over the 99 egg limit
* Fix that you can't buy eternatus
* Use already existing randSeedShuffle instead of my own function
* Eternatus buyable again. Changed overrides to be able to set common tier/variants. Moved getGuaranteedEggTierFromPullCount().
* Changed eggOption gachaType to sourceType. Replaced eggOption overrideRareEggMove with eggMoveIndex to exatly specify an egg move. Moved egg move unlock logic into the egg class. Simplified shiny calculation. Added same species egg type descriptor. Moved custom rates for same species egg code into egg.ts.
* Added 19 unit tests for eggs
* Changed unit test description
* Added higher rates for same species eggs
* Adjusted same species egg cost for 1-3 cost starters and HA rates
* Added legacy egg loading unit test. Fixed gachaType legacy value loaded from DB and legacy tier loading
* Legacy egg loading from server DB fixed
* Added nature selection menu
Added a nature selection menu to the starter selection, as you can way too easily skip over the nature you want when cycling.
All nature selections are furthermore persistent and stored in the starterData.
Those changes are compatible with the current save format, but will increase the size, so, in case the size of the save file can't be increased, further changes will be needed.
* Sorted nature selection into sub-menus
The nature-selection menu is now, instead of one large list, multiple smaller menus.
Those menus will appear once at least one nature of the appropriate kind has been collected.
Translations partially required.
* Update French starter-select-ui-handler.ts
* Added support for updated save structure
Adds compatibility with updated save-data structure which supports more persistent starter attributes
* more persistent start data
Abilities, Variants and Forms are now also saved.
* added gender to stored information
* fixed typedoc issues
* Starter Preferences now stored locally
* removed deprecated import (due last merge)
* Sub menus removed
---------
Co-authored-by: Lugiad <adrien.grivel@hotmail.fr>
* Add generic to util holders to reduce manual type casting
* implement protean and libero abilities
* remove use only once per turn trigger
* Revert Attack Attribute Conditions back to requiring unused vars
* Remove conditional before invoking type change ability
* update protean to properly trigger and skip certain moves
* remove some dangerous typecasts
* revert autoformatting changes
* not all autoformatting changes were reverted
* Revert "Add generic to util holders to reduce manual type casting"
This reverts commit 3ee7f1d5ff.
* change some variable names
* remove incorrect comment
* update abilities so they use gen 9 logic
* fix typescript error from missing Terrain type
* update gameManager switchPokemon to match other menu utilities
* add test cases for protean and libero
* Move events to a central directory
* Update modifier import
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
* remove old battle-scene-events
* Move to field events
* Update battle-scene.ts
---------
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
Co-authored-by: Benjamin Odom <bennybroseph@gmail.com>
* Achivments(localization of name and description) now depend on the player gender
* Fixed Name in ptBr config
* Now the achivments are also shown with a gender specific title
* Changed it so it checks if PlayerGender is undefined first
* Update src/locales/de/config.ts
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
* Update src/locales/en/config.ts
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
* Update src/locales/es/config.ts
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
* Update src/locales/fr/config.ts
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
* Update src/locales/it/config.ts
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
* Update src/locales/ko/config.ts
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
* Update src/locales/pt_BR/config.ts
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
* Update src/system/voucher.ts
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
* Update src/locales/zh_CN/config.ts
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
* Update src/locales/zh_TW/config.ts
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
* Update src/ui/achv-bar.ts
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
* Update src/ui/achv-bar.ts
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
* Update src/ui/achv-bar.ts
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
* Update src/ui/achv-bar.ts
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
* Update src/system/achv.ts
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
* Update src/system/achv.ts
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
* Update src/system/achv.ts
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
* Update src/ui/achvs-ui-handler.ts
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
* Update src/ui/achvs-ui-handler.ts
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
* Update src/ui/achvs-ui-handler.ts
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
* instantiate player gender on in AchvBar constructor
* Reverted the change made only for the tests. And adjusted the import to use the new enum file
* Changed a import to make vite build it again correctly
* Again some changes to the imports for the github docs that was complaining
* The new challenges are also now localized and gender based
* Readded getDescription
---------
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
Co-authored-by: ImperialSympathizer <imperialsympathizer@gmail.com>
* type hints
* fix overwritten change
* don't set color to white, just leave it unchanged
* remove unrelated code
* don't show hints if no opponents, use type effectiveness instead of move effectiveness
* fix color not going back to white when new opponent is sent
* move effectiveness to move info container
* add effectiveness overlay, partial hints only show move effectiveness, improve colors
* lint
* docs
* remove full hints, move container to right of enemy info box
* hide effectiveness while flyout is visible
* move setting to display, use default style color instead of white
* Initial challenge framework
* Add type localisation
* Change how challenges are tracked
Also fixes the difficulty total text
* MVP
Renames challenge types, temporarily hides difficulty, and implements challenge saving.
* Attempt to fix one legal pokemon in a double battle
* Make monotype ignore type changing effects
* Make isOfType correctly detect normal types
* Try to fix double battles again
* Make challenge function more like classic
* Add helper function for fainted or not allowed
* Add framework for fresh start challenge and improve comments
* Try to fix evolution issues
* Make form changing items only usable from rewards screen
* Update localisation
* Additional localisation change
* Add achievements for completing challenges
* Fix initialisation bug with challenge achievements
* Add support for gamemode specific fixed battles
Also make monogen challenges face the e4 of their generation
* Add better support for mobile in challenges
* Localise illegal evolution/form change message
* Update achievement names
* Make alternate forms count for monogen
* Update monotype achievement icons
* Add more comments
* Improve comments
* Fix mid battle form changes
* Reorder mode list
* Remove currently unused localisation entry
* Add type overrides for monotype challenges
Meloetta always counts for psychic and castform always counts for normal
* Change how form changes are handled
Now attempts a switch at the start of each turn instead of immediately
* Add start button to challenge select screen
* Make starter select back out to challenge screen if using challenges
* Fix daily runs
* Update tests to new game mode logic
* Add more legendary battle music; add music preference setting
* Replace BDSP tracks
"Souless", they say. Naysayers, I say.
* Update for settings menu refactor
* Remove unnecessary Reshiram/Zekrom music calls
The default legendary battle music is the Reshiram & Zekrom battle theme anyways, so removing these lines make it functionally identical.
* Update for settings menu refactor AGAIN
* refactor executed code while importing and initializing all of these in loading-scene
* reset to main
* fix server url
* added rule no-trailing-spaces
* made progress
* test somme data from a session save is working
* trying to launch a battle
* added fetch wrapper to load data locally
* trying to mockAllSettled
* pushPhase & shiftPhase
* check integrity of exported session
* set toke + loggedInUser in tests
* progress on starting new battle
* tring to test phase but it's async
* mocking fetch
* working mock fetch
* need to handle pile of data
* attempt to use real phaser classes
* reorder overrides
* refactored to use some real classes from phaser
* removed useless things
* started to work on some container mock
* finished the mockContainer time to add some logic
* some more mock containers
* removed addMethods since there is the mock classes now
* commented issues
* attempt to create mockTextureManager
* fix tests
* mockSprite & mockText
* yes but not really
* yes but not really
* fix tutorial callback
* reached mode title
* added achievement tests
* fix test achievements with current state of mock
* correct sequence loading for BattleScene with mockLoader !
* deep dive into next step
* working wait until starter selection screen
* added newGame method into wrapper
* expect to save_slot
* trying to manage pokemon sprite for getAll without success yet
* added test for egg output
* fixed egg test for June
* fix tests + locate next issue to fix
* we are in battle baby
* added new game in one-line
* export is working but export only what's in the fetch
* fix start game as guest
* refactored how we start a battle + cleanup
* overrided mewtwo but issue with currentBattle
* refactor: rename InitAchievements to initAchievements
* added missing mock method
* override level and pokemon forms working as intended
* bringToTop Obj
* remove launch battle in achivement test
* fix getIndex when same pokemon
* can run all tests
* first attack, faint, and shop modifiers, MockClock
* on method for container
* added doAttack one-liner
* one-line export data
* removed throw error
* feat: Make `scenes` property of `GameWrapper` class public
The `scenes` property of the `GameWrapper` class was changed from private to public. This change allows external access to the `scenes` map, which is used to store Phaser scenes. This modification was made to enable easier manipulation and interaction with the scenes in the game.
* correction
* removed CanvasRenderer
* added a param to remove console.log and added a param to preven scene create call
* fix encounter wave 30 when it's a trainer
* test double-battle
* test fight without KO
* test double fight no ko
* fix crashing texture + added Text wrapper to log fight
* fix tests on boss - trainer - rival
* chore: Refactor BattleScene initialization and add new phases
Refactor the BattleScene initialization code to remove unnecessary delay and improve performance. Also, add new phases for the title and unavailable states to enhance the game experience.
* rework of Game tests
* skipFn is working
* added onNextPrompt and restore Og Start
* better newGame
* added skipFN in remove
* not yet working test but updated interceptors
* do attack work but not on PostSummonPhase phase when there is mention of silcoon and wurmple
* error located, it's just a double fight, i was not there yet
* single OHKO & double no OHKO
* added expirationFn into next prompt
* all tests are passing
* working test on non damaging move from opponent
* cleaned a bit
* removed phaser initialisation on every tests
* renamed test file
* added load system data
* added some ability support
* added onKill & onSummon abilities test
* removed useless test + cleanup
* removed useless test + cleanup
* fixed tests after merge main
* added itemHeld endTurn trigger test (toxic orb)
* added runFrom..To
* added mustRun to assert currentPhase
* added no-miss move to test things
* cleaner restore mock
* fix test
* fix moxie test + game speed
* improve test speed
* added onOurself and onOpponent mvoe test
* added onDamage test for tackle
* removed timeout in intervals to run tests faster
* cleanup
* added never crit override + separate file per test + remove randomness in randBattleSeedInt
* move folders
* better org
* renamed itemHeld folder to items
* fix deploy.yml
* cleanup
* simplified the gameManager start battle and allow single pokemon in party
* remove the need of mode development
* added input handler to test inputs + remove time from phaser into inputController
* added keyboard support
* added fakeMobile support
* added details
* removed a console.log + added logUp
* move test to folder
* fixed canvas issue
* added starter select tests
* added some more test on starter-select
* added battle-order tests
* added battle-order tests
* fixing Phaser RNG
* ordering stats for better reading
* fix tests for main
* adapt battle-order test to be more readable
* fix merge
* fix some errors and silent all errors from gameWrapper since it's not possible to avoid them
* fix mocks to manage childs & stuffs
* added some docs
* fix achievement test
* removed an unused file
* separate misc tests to clean battle.test file
* added a basic french lokalization test
* added i18n where it needs to be used only
* revers extracted method
* removed unused method
* removed handler fetch since we do not test anything server related
* fix test with handlers removed
* added intrepid sword test
* fix enum exp party
---------
Co-authored-by: Frederico Santos <frederico.f.santos@tecnico.ulisboa.pt>
* Refactored settings UI menu options and added the battle style setting
* Removed the new Battle Style setting. It will be added in a seperate PR.
* Fixed typo and spacing
* 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
* move PlayerGender enum into src/data/enums/player-gender.ts
this is necessary to avoid circular dependencies which did crash tests in the past (in PRs)
* Update settings.ts
* Update game-data.ts
* Update summary-ui-handler.ts
* Update ui.ts
* move Passive & GameDataType enums into own files
* Balanced tokens
* Remove existing tokens, all 10 stack limit
* Linter complained
* Sorry Mr. Lint I’ll do better next time
* Removed redundant min
* Used a version system to update tokens
* The linter has peculiar tastes
* See if this works
* I'm at my limit omg wtf Sam
* Call me Swoobat the way I keep it Simple
* Clean up some log statements
* Adjust token weights to make up for removal of sleep and freeze
* Be so fr GitHub that’s not a real merge conflict