* add: i18n backend support
the backend is being supported by using msw which will import the correct file from the local locales folder
* fix: tests to no longer rely on static i18n keys
* Update src/test/mystery-encounter/encounters/teleporting-hijinks-encounter.test.ts
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Update src/test/mystery-encounter/encounters/teleporting-hijinks-encounter.test.ts
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Update src/test/ui/type-hints.test.ts
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Update src/test/mystery-encounter/encounters/a-trainers-test-encounter.test.ts
Co-authored-by: MokaStitcher <54149968+MokaStitcher@users.noreply.github.com>
* Fix typos
Co-authored-by: Adrian T. <68144167+torranx@users.noreply.github.com>
* Fix linting
* update locales submodule
update reference to `56eeb809eb5a2de40cfc5bc6128a78bef14deea9` (from `3ccef8472dd7cc7c362538489954cb8fdad27e5f`)
---------
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: MokaStitcher <54149968+MokaStitcher@users.noreply.github.com>
Co-authored-by: Adrian T. <68144167+torranx@users.noreply.github.com>
* Triple Arrows effect chance for stat change is now properly 50%
* Add tsdocs to `StatStageChangeAttr`
* Add test for Serene Grace interaction
* Fix linting
---------
Co-authored-by: Mumble <171087428+frutescens@users.noreply.github.com>
* Diamond Storm should only trigger once when hitting multiple pokemon
* Also fix Clangorous Soulblaze just in case
* Fix linting
* Fix linting
Oops missed this one
* Implement Fire/Grass Pledge combo
* Add other Pledge combo effects (untested)
* Fix missing enums
* Pledge moves integration tests
* Add turn order manipulation + more tests
* Safeguarding against weird Instruct interactions
* Update src/test/moves/pledge_moves.test.ts
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Fix style issues
* Delete arena-tag.json
* Update package-lock.json
* Use `instanceof` for all arg type inference
* Add Pledge Move sleep test
* Fix linting
* Fix linting
Apparently GitHub has a limit on how many errors it will show
* Pledges now only bypass redirection from abilities
---------
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Fix TM compatibility on forms, Tera Blast on Indigo Disk mons
* Additional single strike moves
---------
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Refactor `MovePhase` to improve readability/maintainability
Add tsdocs/comments all over
Mark all functions/fields with public/etc
Fix multi-hit moves called from Metronome/etc, fixes#3914
Remove unused function `BattleScene.pushMovePhase`
Don't use failure text as a condition for move success
A move defining potential failure text doesn't mean it failed
Replace relative imports with absolute imports in `battle-scene.ts`
Change some fields from optional to default `false`
* Fix Whirlwind test
* Fix linting
Ensure that a Pokémon's animation speed is reset properly after saving
and quitting. Previously, if a Pokémon was put to sleep, which slows
its framerate, saving and quitting would result in the slower framerate
persisting even though the Pokémon was no longer asleep. This fix adds
an else condition to reset the frameRate to 12 if the sprite is already
loaded upon resuming the game.
Fixes#4465
* Fixes bug with Status Cure moves only curing player pokemon, refactors PartyStatusCureAttr, removes PartyStatusCurePhase
* Adds check for user ID, since user always cures its own status regardless of ability
* Adds unit tests for sparkly swirl
* Merge and fix conflicts
* Fix conflicts with SPLASH_ONLY
* Fix failing sparkly swirl test due to splash_only
* Adds unit tests for heal bell and aromatherapy
* Update src/data/move.ts
---------
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
* Fix Toxic to bypass semi-invulnerability when used by a Poison-type.
* Apply suggestion to refactor BerryPhase in Toxic move tests.
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Corrected missing quotes on a BerryPhase in Toxic.test.
---------
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Have Friendship Value be shown in summary
* Fix how "fill" of icon is calced
* Update src/locales/de/pokemon-summary.json
* Actually add the images
* Add correct image files
* Update src/ui/summary-ui-handler.ts
Co-authored-by: Adrian T. <68144167+torranx@users.noreply.github.com>
* Update src/ui/summary-ui-handler.ts
Co-authored-by: Adrian T. <68144167+torranx@users.noreply.github.com>
* Update src/ui/summary-ui-handler.ts
* Update src/ui/summary-ui-handler.ts
Co-authored-by: MokaStitcher <54149968+MokaStitcher@users.noreply.github.com>
* Made changed suggested in code review
* Update src/locales/en/pokemon-summary.json
---------
Co-authored-by: Adrian T. <68144167+torranx@users.noreply.github.com>
Co-authored-by: MokaStitcher <54149968+MokaStitcher@users.noreply.github.com>
* Removed local translation files
added translations submodule
[Enhancement] Add post-merge command to update submodules in lefthook configuration
[Enhancement] Add postinstall script to install lefthook after package installation
[Enhancement] Update postinstall script to run post-merge command after lefthook installation
* Add subproject commit for locales directory
* Remove translation team assignments from CODEOWNERS
* Add recursive submodule checkout to workflow files and update README for translations
* fix: run without locales present (#4539)
some code was hard-wired with locales having to be present. This is no longer the case now
---------
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
* move: locales files to `/public` (from `/src`)
* install: i18next-http-backend module
* implement: i18next language lazy-loading
* remove: all `config.ts` files (for locales)
* disable: enConfig import in i18next.d.ts
* remove: console.log from utils.camelCaseToKebabCase()
* remove localization tests
we don't need to test if i18next is working.
This is the job of i18next itself
* mock i18next for tests
* fix: tests that have to use the i18next key now
instead of the english translation
* fix: absolute-avarice-encounter test
* fix: loading mystery-encounter translations
with lazy-load
* fix: 2 mystery encounter translation loading
* replace: i18next mocks any vi.fn() calls
* fix: new namespace usage in ME tests
now using "mysteryEncounters/..."
* fix: delibirdy encounter not being language specific
the encounter was checking if the modifier name includes `Berry` which is only true for english. Instead it has to check if the modifier is an instance of BerryModifier
* fix: the-expert-pokemon-breeder
the new i18n pattern requires a different namespacing which has been adopted
* fix: GTS encounter tests
* add: `MockText.on()`
* fix: berries abound test
* chore: apply review suggestion
from @DayKev
* update i18next.d.ts
* chore: fix i18next.d.ts
* fix: `dialogue-misc` switchup between `en` and `ja`
* move: `SpeciesFormKey` into enum
there was an issue with circular dependencies
* replace: `#app/enums/` with `#enums/` for `SpeciesFormKey` imports
* re-sync locales from `beta`
* rename: `ca_ES` -> `ca-ES`
* rename: `pt_BR` -> `pt-BR`
* rename: `zh_CN` -> `zh-CN`
* rename: `zh_TW` -> `zh-TW`
* fix loading Species-Form-Key in poemon-evo.
* update: i18next `supporterLngs` ...
and remove `nonExplicitSupportedLngs`
* fix: `${namespace}.` -> `${namespace}:`
thanks @MokaStitcher
* fixing form issues generating tms pokemon shouldnt have
* cleaning up some code
* fixing tests and allowing rotom unique moves to be learned as tms for that rotom form
* Update src/test/field/pokemon.test.ts
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
* making tests simpler
---------
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
* feat: show app version on title screen
* fix: adjust app version positions
* update app version text
---------
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
* sanitize all money when saving session data to server
* update money sanitization
---------
Co-authored-by: ImperialSympathizer <imperialsympathizer@gmail.com>
* Fix tag lapsing on battle start in MEs with free enemy moves
* lapse endure tag as well
* fix black sludge item money calculation
* Update src/modifier/modifier.ts
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
---------
Co-authored-by: ImperialSympathizer <imperialsympathizer@gmail.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Fix tag lapsing on battle start in MEs with free enemy moves
* lapse endure tag as well
---------
Co-authored-by: ImperialSympathizer <imperialsympathizer@gmail.com>
Remove Meloetta from the `TYPE_OVERRIDES` array so wrong-form
Meloetta can't be sent into battle.
This was missed when Meloetta was changed in a previous PR
Also disallow Meloetta from being added to the party in
starter select if it's in the wrong form
for the current mono-type challenge
* major/minor ME bug fixes
* potential fix for failed save with rental pokemon
* Update src/system/game-data.ts
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
* Update src/system/game-data.ts
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
* more bug fix cleanup and PR feedback
* fix Uncommon Breed ME crash
* real fix to Fun and Games force switch issues
* add isBattleMysteryEncounter() helper function
* add isBattleMysteryEncounter() helper function
* fix unintentional replace all errors
* fix catches not updating dex
---------
Co-authored-by: ImperialSympathizer <imperialsympathizer@gmail.com>
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
* Gmax Changes for Venusaur, Blastoise, Lapras, Regenerator Mega Audino, Darkrai and Cosmog upped 6 -> 7 cost
* Changed Heal Order to 5pp to match other Recovery options
* Updated Ursaluna-BM and Eternal-Floette to Sub-Legend for easier handling, Adjust catchrates to Metagross to match Baxcalibur line, and Iron Leaves/Walking Wake catchrate to match the other paradox legends
* Actually updated catchrate for Iron Leaves and Walking Wake
* Added comments for all changes
* part 2 passive changes for the update, Pidgey, Lickitung, Stantler, Regigigas, Frillish, Litten, Chien Pao
* fix space
* Updated Meloetta Cost, Updated Krabby Passive
* Disable Luck in Daily Runs
If the Game Mode is Daily Run, the player's Luck is set to 0, and the Luck value is hidden.
* Give free map in daily
Adds a Map to the player's pool of starting items for Daily Runs.
* Disable Eviolite in Daily Runs
Disables Eviolite spawning in Daily Run mode.
* Write shop test and add new overrides
Adds new overrides that allow you to force content to be locked or unlocked
These overrides were also added to the OverridesHelper to make them available to tests
Adds a new check function for content unlocks, which returns `true` if it is overrode to be unlocked, `false` if it is overrode to be locked, and the unlock data mapped to a Boolean otherwise
All existing checks (other than the ones that involve actually unlocking things) for unlockables have been changed to use this
Added a pair of new exporting booleans, specifically for my test, that check if Eviolite or Mini Black Hole are in the loot table
* Prevent shinies from altering runs
Places variant rolls inside of an ExecuteWithSeedOffset block, using the current floor's RNG seed as the seed and the Pokémon's ID as the offset.
---------
Co-authored-by: Leo Kim <47556641+KimJeongSun@users.noreply.github.com>
Co-authored-by: flx-sta <50131232+flx-sta@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>
Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
* fix: new pokemon not being hidden initially
When switching the active pokemon (slot 1) with the new one, the new ones visibility is `true` causing a crash with animation frames
* chore: fix typo
Co-authored-by: Adrian T. <68144167+torranx@users.noreply.github.com>
---------
Co-authored-by: Adrian T. <68144167+torranx@users.noreply.github.com>
* Added Snow Worker Dialogue Keys and Dialogue
Includes en, fr, it, es, de, ko
-placeholders for ja, pt_br, zh_cn, and zh_tw
* Update dialogue.json
* Added \n$ in Spanish and German so the textboxes don't overflow
* Fixed "defeat" Formatting for Singles and Doubles English, and Doubles Korean, Italian, French, Japanese, and German
* Fixed Formatting for English Singles "defeat", and Japanese Doubles "defeat"
* Update src/locales/ko/dialogue.json
Turns the periods into ellipses for Korean Snow worker Doubles
Co-authored-by: returntoice <171243264+returntoice@users.noreply.github.com>
* Update src/locales/ko/dialogue.json
Adds a period to Korean Singles Defeat
Co-authored-by: returntoice <171243264+returntoice@users.noreply.github.com>
* Update dialogue.json
* Update src/locales/ko/dialogue.json
Adds a space on line 310
Co-authored-by: returntoice <171243264+returntoice@users.noreply.github.com>
* Update src/locales/ja/dialogue.json
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
* Update src/locales/zh_TW/dialogue.json
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
* Update src/locales/zh_CN/dialogue.json
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
* Update src/locales/pt_BR/dialogue.json
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
---------
Co-authored-by: Lugiad <adrien.grivel@hotmail.fr>
Co-authored-by: returntoice <171243264+returntoice@users.noreply.github.com>
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
* remove: `StatusEffect.NONE` from displaying any messages
even thougn this case will never occur, by code definition it should be covered
* remove: obsolete `statusEffect:none.` translation keys
* fix: status-effect test
* chore: undo overrides commit (whops)
* remove: manual timeout setting
some more sneaked in after changing the default-timeout to 20s. Possibly older PRs.
* remove: manual test timeouts from chilly reception tests
* Remove unnecessary loading of trainer sprites in loading scene
* load trainer assets on demand for run history UI
---------
Co-authored-by: ImperialSympathizer <imperialsympathizer@gmail.com>
* adding immunity check
* making tests
* modifying and adding tests
* making tests more rigorous
* changing hitcheck return to be what it was originally, no significant effect
---------
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* extend: log in encounter phase for better debugging
* fix: `the storng stuff` test flakiness
The enemy pokemon could get contrary or other abilities that cause the expected values to be ... not as expected
* remove accidental it.each
tests were being executed 30-100 times. This is a debugging tool but was never supposed to make it to merge.
* Implement Autotomize
* Another linting
* Fix unit tests
* Add nonnull after checking for null
* Update autotomize test
---------
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
* Update move.json
Translated the zippy move since it got lost in the gitlocalize disaster.
* Update move.json
---------
Co-authored-by: Lugiad <adrien.grivel@hotmail.fr>
Arrows allow for dynamic placement based on language
---------
Co-authored-by: MokaStitcher <54149968+MokaStitcher@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
* various bug fixes for MEs
* various bug fixes for MEs
* fix final isTransferable rename that was missed
* change Trainer's test vouchers for second option
* change unit test skips
* cut down excess ME track length and loop properly
* ME bug fix cleanup
* updating AI for Slumbering Snorlax ME, and small ME balance changes
* fix ts error
* fix bug type superfan dialogue discrepancy
* ME bug fixes PR feedback
* ME PR nits and fixes
* update naming convention of sprites
* ME balance changes and bug fixes
* fix tests
* fix An Offer You Can't Refuse ME requirements
* clean up post-battle logic for Breeder ME
* party size requirement cleanup
* clean up challenge requirements for disabling certain MEs
---------
Co-authored-by: ImperialSympathizer <imperialsympathizer@gmail.com>
* Add Team Star (WIP)
Still missing dialogue for all new trainer types, team compositions will need refining, and Starmobile graphics still do not exist yet.
* Add dialogue for all Team Star trainers
Dialogue put together courtesy of @Blitz425
* Add additional Macro Grunt dialogue lines
As suggested to be included by @Blitz425
* Add dialogue entries in dialogue.ts
Forgot them with my last commit, whoops
* Add back Team Star trainer types
Latest merge of beta into this PR deleted them for some reason
* Update Team Star boss team compositions
Bunch up Eeveelutions more in first fight, move random Rotom form to first fight. Remove Espeon, Umbreon, and Rotom from second fight, add legendary beasts and paradox beasts in their place, remove Zacian chance from second fight.
Co-authored-by: Tempoanon <163687446+Tempo-anon@users.noreply.github.com>
* fix missing semicolon
* Guarantee Sylveon is always Terastallized
* Guarantee Starmobiles on admin's teams
Also resizing the Starmobiles by 1.5 like Gigantamax Pokémon (it is still just regular Revavroom visually for now).
* Adjust trainer pools for Grunts and Admins
* Add new custom sprites for Starmobiles
This adds front and shiny front sprites made by Kieran. Party icons and back sprites are still placeholders for now.
* Minor pool adjustments
Eevee moved to Uncommon on grunts, Varoom replaced with Hisui Qwilfish for Atticus, and Heracross replaced with Pawmi for Eri.
* Remove Leon's Zamazenta, rename Team Star Boss
As to not have overlap between the champion and Star boss teams.
Also doubled the weights of the Starmobile forms.
* Force movesets for Starmobiles
Also fix accidentally giving Mela a Venusaur instead of a Revavroom. (it was just a testing thing, I swear)
* Correct movesets
Didn't realize copied movesets were desired, ech
---------
Co-authored-by: Tempoanon <163687446+Tempo-anon@users.noreply.github.com>
* add: mystery encounter to create-test
* remove: leftover `TIMEOUT`
in boss-pokemon.test
* add regex to replace ` ` with `_`
This was never done before. for any
* remove: manual test timeout overwrites
* make `berries-abound` test more robust
the "should reward the player with X berries based on wave" test was failing due to berry max stacks and the party only having 1 pokemone.
Increased it to 3 to reduce that probability
* berries abound test: change `defaultParty`
increase size of default-party to 3
* add: some missing types in berries-abound encounter
for ease of reading
* fix: berries abound tests
the "Should skip battle when fastest pokemon is faster than boss" test was failing due to the party being more than 1 pokemon.
The expects didn't account for the possible shiny, which appends a `_shiny` to some dialogue tokens.
I've added regexes to account for that possibility
* add: seasonsl splash messages logic + scaffolding
* refactor: settin up and displaying splash messages.
They are now stored with their i18next keys and only get translated as soon as they are displayed. This also allows for better display of the `battlesWon` parameter which now supports better number formatting and the count is an interpolation
* fix: updateTitleStats not checking the namespace of battlesWon
* add tests for splash_messages
* test: always use UTC time
* fix: time-pattern to MM-DD
* fix splash_messages test
* add: const to control usage of seasonal splash messages
* fix tests (splashj)
* Update src/locales/ja/splash-messages.json
Co-authored-by: Chapybara-jp <charlie.beer@hotmail.com>
* Update src/locales/es/splash-messages.json
Add missing `number` format for battlesWon message
---------
Co-authored-by: Chapybara-jp <charlie.beer@hotmail.com>
* Adds Expert Breeder Mystery Encounter to the game
* add achievement for Breeders in Space and remove redundant tests
* rename to Expert Pokemon Breeder
* remove unintentional test code
* remove unintentional test code
* test fix with breeder rename
---------
Co-authored-by: ImperialSympathizer <imperialsympathizer@gmail.com>
Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
* Fix - need to test though
* New Line for Personal Best
* Run History basic Interpretation
* Stray console log
* Added personal best message fix
* argh
* removed a stray log
---------
Co-authored-by: frutescens <info@laptop>
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
* various bug fixes for MEs
* various bug fixes for MEs
* fix final isTransferable rename that was missed
* change Trainer's test vouchers for second option
* change unit test skips
* cut down excess ME track length and loop properly
* ME bug fix cleanup
* updating AI for Slumbering Snorlax ME, and small ME balance changes
* fix ts error
* fix bug type superfan dialogue discrepancy
* ME bug fixes PR feedback
* ME PR nits and fixes
---------
Co-authored-by: ImperialSympathizer <imperialsympathizer@gmail.com>
* [bug] fix scrollable elements not resetting properly
* [ui] add wrap around and scrolling bar to the achievements menu
* [ui] add scrollbar to the settings
* Have English Status Symbols show up again :)
* It now uses the function instead
---------
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
* add generic types to`Pokemon.getAbilityAttrs()`
* add invert check to `ProtectStatAbAttr.apply...`
This makes sure that a stat is only protected if no other ability inverts the change. E.g. `Contrary` inverts any decrease to an increase
* migrate contrary.test.ts to game.classicMode
* move `StatStageChangeMultiplierAbAttr` resolve above `ProtectStatAbAttr`
The effect of StatStageChangeMultiplierAbAttr is now applied before resolving any ProtectStatAbAttr. Thus the stage (level) of the BattleStat change was properly altered at the time of resolving the protection
* revert ability.ts changes
* add automated tests for `Clear Body` + `Contrary`
* StateStageChangePhase replace ~~`IntegerHolder`~~ with `NumberHolder`
Update Utils import and replace all occurcences of `Utils.`
* contrary.test.ts: remove `js` import
* [Bug] Fix reloads erasing weather on first wave of biome
* Minor revisions
* Minor revisions 2
* Update test
---------
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* [ui] add prompt icon to the message boxes that don't have it
* [ui] add background overlay during tutorials
* add missing doc
* Improve documentation based on suggestions
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
---------
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Resize and Reallocate to IV graph in new game
* decrease moveset container size
* fix to font shadow
* fix to shadows
* Remove unused variable
* Revert IV text back to original size
* fix eslint error check post merge
* Update src/ui/stats-container.ts
Reformat statLabel line.
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
---------
Co-authored-by: tomasrggm <tomasrggm@gmail.com>
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* EQ, magnitude, and bulldoze do half damage in grassy terrain
* Fix more styling issues in grassy glide
* lol unit tests
* Add test :pikastare:
---------
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Update pokemon-species.ts Pokerus starters 3 -> 5
* Update starter-select-ui-handler.ts
* Updated pokemon-species.ts, changes from frutescens to make Pokerus # a constant that imports into starter select ui
* Update starter-select-ui-handler.ts to continue the other changes
* Update src/data/pokemon-species.ts
---------
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Changes some evolutions
* more work
* Give Onix Iron Defense at 30
* Sirfetch'd and Gholdengo, pause any evolutions
* Fix pause evolution text
* adjust wild evolution delay
* Add localization keys, clean up evo pausing
* Clean up evo delays
* Adjust friendship evos, Leader's Crest sprite by chaosgrimmon
* Fix Nugget crash
* Fixed Gimmighoul fr
* Move Charcadet armors to common
* Locale migration, Lilligant shiny stone
* Cleanup
* Fix language migration error
* Change Cosmog line evo method
* Undo Ursaluna being night only
* Evo items roll during evo pause on Eevee
* Make all time based evos use dusk and dawn times
* Fix paused and unpaused evolution texts being reversed
* Fixed evolution delays
* Moved up Mimic in Mime Jr's moveset
* Remove Cosmoem time conditions, add Gimmighoul tracker
* Remove tracker after Gimmighoul evo
* Change Scyther Steel Wing back to 30, mark custom
* added various tests for protect based moves, reset protect test file bc no easy way to test specifically with protect, and changes in move-effect to fix the issue
* adding another non contact move test for baneful bunker
* Update src/test/moves/obstruct.test.ts
Co-authored-by: innerthunder <168692175+innerthunder@users.noreply.github.com>
* Update src/test/moves/baneful_bunker.test.ts
Co-authored-by: innerthunder <168692175+innerthunder@users.noreply.github.com>
* Update src/test/moves/baneful_bunker.test.ts
Co-authored-by: innerthunder <168692175+innerthunder@users.noreply.github.com>
* Update src/test/moves/baneful_bunker.test.ts
Co-authored-by: innerthunder <168692175+innerthunder@users.noreply.github.com>
* better descriptions for baneful bunker test
---------
Co-authored-by: innerthunder <168692175+innerthunder@users.noreply.github.com>
* Fixed SURF and FLY not beeing localized in "lost at sea"
Fixed Mysterious Challenger Title not beeing correct
Fixed Winstrate Names not beeing localized
* Revert the winstrate fix. It breaks other trainer battles for some reason...
* A new way of giving the winstrates localized names (and for the future all named trainers that dont use a "initFor" method)
* Updated test (with ok from ImperialSympathizer)
* Made the expected value simpler
* FLY and SURF can be localized much simpler
* Fixes damage within pokemon.ts for golden punch, since it has changed from a IntegerHolder (main) to a number (beta). This updates it to pass through the damage as an integer holder instead of a number
* Updated integer holder to number holder as per PR comment
* Create getAttackDamage function
* Add ignoreAbility params to getBattleStat
* Rewrite Pokemon.apply
* renamed damage variables
* Add `ignoreSourceAbility` arg to `getAttackDamage`
* Enemy AI now searches for KO moves
* Add probabilistic test for KO search
* Add tests to `damage_calculation`
* "killMoves" --> "koMoves"
* Clean up `randomMultiplier`
* Clean up damage calculation test
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Fix stabMultiplier using base type for Tera bonus
* Restore simulation capabilities for Unaware
* move sourceTeraType closer to where it's used
* Add base damage test
* Exclude counter moves from KO search
---------
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Undo egg skip event
* Readded vouchers to original weights
* Gmax Adjustments - Charizard Berserk, Stats for Eevee and Duraludon
* Set weight of 999.9kg for all Gigantamax forms
---------
Co-authored-by: Frederico Santos <frederico.f.santos@tecnico.ulisboa.pt>
* add .github/workflows/mystery-event.yml
* update mystery-event.yml
* mystery encounters: resolve review comments:
Lost at Sea:
-fix typo in handlePokemonGuidingYouPhase function
Mysterious Chest:
- remove obsolete commented code
mystery-encounter.ts
- remove unused `onDone` field from MysteryEncounterBuilder
* fix typo in CanLearnMoveRequirementOptions
* remove redundance from Pokemon.isAllowedInBattle()
* chore: jsdoc formatting
* fix lost-at-sea tests
* add fallback for biomeMysteryEncounters if empty
* lost-at-sea-encounter: fix and extend tests
* move "battle:fainted" into `koPlayerPokemon`
* add retries to quick-draw tests
* fix lost-at-sea-encounter tests
* clean up battle animation logic
* Update and rename mystery-event.yml to mystery-events.yml
* Update mystery-events.yml
* Fix typo
* Update mystery-events.yml
Fix debug runs
* clean up unit tests and utils
* attach github issues to all encounter jsdocs
* start dialogue refactor
* update sleeping snorlax encounter
* migrate encounters dialogue to new format
* cleanup and add jsdocs
* finish fiery fallout encounter
* fix unit test breaks
* add skeleton tests to fiery fallout
* commit latest test changes
* finish unit tests for fiery fallout
* bug fix for empty modifier shop
* stash working changes
* stash changes
* Update src/data/mystery-encounters/encounters/fiery-fallout-encounter.ts
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
* Update src/test/utils/overridesHelper.ts
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
* Update src/test/utils/overridesHelper.ts
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
* Update src/test/utils/overridesHelper.ts
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
* Update src/test/utils/overridesHelper.ts
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
* Update src/data/mystery-encounters/encounters/fiery-fallout-encounter.ts
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
* Update src/data/battle-anims.ts
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
* nit updates and cleanup
* Update src/data/mystery-encounters/encounters/fiery-fallout-encounter.ts
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
* Apply suggestions from code review
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
* add jsdocs and more cleanup
* add more jsdoc
* add the strong stuff encounter
* add the strong stuff encounter and more unit tests
* cleanup container length checks in ME ui
* add retries to tests
* add retries to tests
* fix trainer wave disable override
* add shuckle juice modifier
* add dialogue bug fixes
* add dialogue bug fixes
* add pokemon salesman encounter and affects pokedex UI display
* add unit tests for pokemon salesman
* temp stash
* add offer you can't refuse
* add unit tests for offer you can't refuse encounter
* remove unnecessary prompt handlers
* add tests for disabled encounter options
* add delibird-y encounter
* add delibird-y encounter
* add absolute avarice encounter
* finish absolute avarice encounter
* add unit tests and enhancements for item overrides in tests
* fix unit test
* cleanup absolute avarice PR
* small bug fixes with latest sync from main
* update visuals loading for safari and stat trainer visuals
* update visuals loading for safari and stat trainer visuals
* update a trainer's test encounter and add unit tests
* add Trash to Treasure encounter
* clean up trash to treasure encounter
* clean up trash to treasure encounter
* add berries abound encounter
* start clowning around encounter
* first implementation pass at clowning around
* add unit tests for clowning around
* add unit tests for clowning around
* clean up ME unit tests
* clean up unit tests
* update unit tests
* add part timer and dancing lessons encounters
* add unit tests for Dancing Lessons and Part-Timer
* reordered biome list and adjusted redirection for project and labels
* Add Weird Dream encounter and slight reworks to Berries Abound/Fight or Flight
* adjusting yml to match new labels
* fix yml whoopsie
* Expanded 'Weird Dream' banlist and fixed a bug with the BST bump range
* adds Winstrate Challenge mystery encounter
* small cleanup for winstrates
* add unit tests for Winstrate Challenge
* fix pokemon not returning after winstrate battle
* commit latest beta merge updates
* fix ME null checks and unit tests with beta update
* fix ME null checks and unit tests with beta update
* MEs to pokerogue beta branch
* test dialogue changes
* test patch fix
* test patch fix
* test patch fix
* adds teleporting hijinks encounter
* add unit tests for Teleporting Hijinks
* small change to teleporting hijinks dialogue
* migrate ME translations to json
* add retries to berries-abound.Option1: should reward the player with X berries based on wave
* add missing ME dialogue back in
* revert template changes
* add ME unique trainer dialogue to both dialogue jsons
* fix hanging comma in json
* fix broken imports
* resolve lint issues
* fix flaky test
* balance tweaks to a few MEs, updates to bug superfan
* add unit tests for Bug-Type Superfan and clean up dialogue
* Adds Fun and Games mystery encounter
* add unit tests for Fun and Games encounter
* update jsdoc
* small ME balance changes
* small ME balance changes
* Adds Uncommon Breed ME and misc. ME bug fixes
* Update getFinalSessionData() to collect Mystery Encounter data
* adds GTS encounter
* various ME bug fixes and balance changes
* latest ME bug fixes
* clean up GTS Encounter and add unit tests
* small cleanup to MEs branch
* add BGM music names for ME music
* bug fixes and balance changes for MEs
* ME data schema updates
* balance changes and bug fixes to MEs
* balance changes and bug fixes to MEs
* update tests for MEs
* add jsdoc to party exp function
* dialogue updates and test fixes for MEs
* dialogue updates and test fixes for MEs
* PR suggestions and fixees
* stash PR feedback and bugfixes
* fix all tests for MEs and cleanup
* PR feedback
* update flaky ME test
* update tests, bug fix MEs, and sprite assets
* remove unintentional console log
* re-enable stubbed function for Phaser text styling
* handle undefined introVisuals properly
* PR feedback from NightKev
* disable Uncommon Breed tests
* locales updates and bug fixes for safari zone
* more PR feedback and update field trip with Rarer Candy
* fix unit test
* Change how reroll button gets disabled in Modifier Shop Phase
* update continue button text logic
* Update src/ui/modifier-select-ui-handler.ts
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
* fix money formatting and some nits
* more nits
* more nits
* update ME tsdocs with links
* update ME tsdocs with links
---------
Co-authored-by: Felix Staud <felix.staud@headwire.com>
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
Co-authored-by: ImperialSympathizer <imperialsympathizer@gmail.com>
Co-authored-by: InnocentGameDev <asdargmng@gmail.com>
Co-authored-by: Mumble <171087428+frutescens@users.noreply.github.com>
* [Bug] Cannot unpause evolutions for secondary Pokémon in fusion
* [Bug] Fusion Pokémon now inherit "Pause Evolutions" from both Pokémon
---------
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
* Allow Meloetta's starting form to be selected
* Meloetta won't change forms during a monotype challenge
Also removes reversion to Aria form when arena resets
* double checking tests on a new made branch for bug 3984
* roost test update
* added roost test file
* Roost test update
* removed random stackdump
* cleaned up message for roost
* fixed test file for linter
* cleaning up code and fixing some desync test issues
* Cleaned up more code and added case for double shock
* fixing some messages and putting burn up and double shock in same class
---------
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* add option for egg skip
* change eggSkip variable name more descriptive to eggSkipPreference
* update requested changes from opaquer and tinylad and walker
* update requested change from tinylad
* update comment
* Fixes confirmation issues in SAVE_AND_QUIT and LOG_OUT
* Added LOADING mode to prevent spamming from SAVE_AND_QUIT and LOG_OUT buttons, and added option to set black background for LOADING mode
* Fixed conditional statement to ensure robustness in live environments to avoid potential issues in production
* Good overlay position
* Resolves bugs with freezy frost vs ally, and freezy frost fainting opp
* Adjusts unit tests, adds one more for doubles
* Refactor apply function to follow the async/await pattern
* Eslint fix attempt
* Update freezy_frost.test.ts
Remove js file extension
* Obstruct et al no longer protect against status moves
* Remove `.js` from import
Co-authored-by: ImperialSympathizer <110984302+ben-lear@users.noreply.github.com>
* Add tsdocs for new/modified classes
* List relevant moves in tsdocs
---------
Co-authored-by: ImperialSympathizer <110984302+ben-lear@users.noreply.github.com>
* update instruction for pad in run history UI
* move getGamepadType function to ui.ts
* Update src/ui/ui.ts
Co-authored-by: Adrian T. <68144167+torranx@users.noreply.github.com>
---------
Co-authored-by: Adrian T. <68144167+torranx@users.noreply.github.com>
* Complete after you implementation (no localization)
* reset override changes
* Remove hardcoded English text, add tests
* Fix test
* Make sure phases occur in the correct order
* fix after-you issues
- fix i18n interpolation ot state "target name" and not "pokemon name" as the target takes the offer, not the user
- fix some tsdocs
- add override to apply
- update scene.findPhase to be able to use generic types. Add tsdocs
* add move-trigger.afterYou for DE
* fix after_you.test.ts
---------
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
* Add ability and passive tooltips to starter select screen
* Remove explicit casts to BattleScene
* Increase tooltip size, reverse y when necessary, and always show passive tooltip
* Add ability name to tooltip title and persist tooltips between Pokemon
* Use vi function mocks
* Fixed Delta Stream remaining active when last mon dies to indirect damage
* Rebasing changes
* Linting fix
* Combined if statements
* Changed params to optional
* Added unit test
* Apply suggestions from code review
* Fix test and remove `.js` from import
---------
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Make `OPP_MOVESET_OVERRIDE` fully override the enemy's moveset
* Update tests with new override behavior
* Fix tests
* Fix another test
* Move overrides no longer required to be arrays
* Remove `SPLASH_ONLY` test utility variable
* Update moveset override helper functions
* Missed some tests