* 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>
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>
* 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
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
* 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)
* 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>
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>
* 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.
* 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>
* 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>