Commit Graph

624 Commits

Author SHA1 Message Date
innerthunder
7473c31c77
[P2] Fix Tera Shell to apply to all hits of multi-strike moves (#4541)
* Apply Tera Shell to all hits for multi-hit moves

* fix undefined property error

* ugh

* Remove obsolete bangs
2024-10-01 21:58:56 -04:00
flx-sta
95386861bb
[Qol][Refactor] i18n lazy-loading (#4327)
* 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
2024-10-01 21:55:16 +01:00
NightKev
7d2df53c51
Add waveTurnCount to PokemonBattleData (#4168)
Swap `FirstMoveCondition` to use the new `waveTurnCount` field
2024-09-29 23:45:44 -07:00
innerthunder
1bae87fa56
[Move] Fully Implement Plasma Fists (#4446)
* Implement Plasma Fists

* Update arena-tag.json

* Update arena-tag.json

* Update arena-tag.json

* Update arena-tag.json

* Update arena-tag.json

* Update arena-tag.json

* Update arena-tag.json

* Update arena-tag.json

* Update arena-tag.json

* Update arena-tag.json

---------

Co-authored-by: Lugiad <adrien.grivel@hotmail.fr>
2024-09-29 22:30:33 -04:00
PrabbyDD
d99dbf4955
[P2] Fix for Pokemon Forms have Access to Other Forms' TM Movepools (#4398)
* 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>
2024-09-29 22:00:29 -04:00
AJ Fontaine
d620b5c7fa
[Refactor] Move base shiny/HA chance to constants outside functions (#4407) 2024-09-29 21:56:05 -04:00
Xavion3
edbb09f4d6
[Beta][P2 Bug] Fix macho brace stat calculation for HP (#4467) 2024-09-27 13:11:08 -04:00
ImperialSympathizer
5997744aa2
[Beta][Bug] Major/minor ME bug fixes (#4451)
* 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>
2024-09-26 18:43:28 -04:00
RedstonewolfX
06331ccdf6
[Daily] Daily standardization (#3776)
* 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>
2024-09-26 01:39:59 -07:00
flx-sta
67d8ec1d42
[P1 Bug] Fix freeze after replacing first pokemon (#4427)
* 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>
2024-09-25 22:33:30 -04:00
innerthunder
a6a61b2984
[Move] Implement Shed Tail (#4382)
* Implement Shed Tail

* Fix leftover batonPass reference in docs

* Fix ChillyReceptionAttr

* oops

* Remove unneeded default arg in ReturnPhase

* Fix imports per Kev's suggestions

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>

* Docs and Shed Tail on-add message

* Remove mixin attribute

* Update battler-tags.json

* Update battler-tags.json

* Update battler-tags.json

* Update battler-tags.json

* Update battler-tags.json

* Update battler-tags.json

* Update battler-tags.json

* Update battler-tags.json

* Update battler-tags.json

* Update battler-tags.json

* Fix indents

* More nit fixes

* Make Switch[Summon]Phase params readonly

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: Lugiad <adrien.grivel@hotmail.fr>
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
2024-09-25 17:17:46 -07:00
ImperialSympathizer
d52f691d43 account for undefined egg moves 2024-09-24 14:06:59 -04:00
ImperialSympathizer
219215f54c fix getEggMoves() helper function 2024-09-24 13:51:02 -04:00
ImperialSympathizer
24bbb0931c change return type of isNullOrUndefined 2024-09-24 13:15:18 -04:00
Tempoanon
b9b69ad834
[Move] Implement autotomization weight effects (#4228)
* 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>
2024-09-23 11:42:17 -04:00
innerthunder
f2fe430f8a
[Balance] Ability-ignoring effects no longer ignore the source's own Abilities (#3556)
* Ability-ignoring effects no longer ignore the source's Abilities

* Update src/field/arena.ts

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>

* RIP `phases.ts`

* `ignoreAbilitySource` --> `ignoringEffectSource`

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
2024-09-22 19:54:19 -07:00
Yiling Kang
b9b2491f95
[Ability] (Partially) Implement synchronize ability with old psycho shift interaction (#2746)
* Initial changes for Synchronize ability

* Fix psycho shift interaction causing buggy behaviour

* Update to show ability even if opponent pokemon does not get statused

* Fix some spacing

* Update tests

* Formatting change

* Remove impossible `if` statement

* Add `simulated` support

* Apply suggestions from code review

Co-authored-by: innerthunder <168692175+innerthunder@users.noreply.github.com>

* Don't need those comments

---------

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: innerthunder <168692175+innerthunder@users.noreply.github.com>
2024-09-22 19:38:09 -07:00
ImperialSympathizer
1c87532e64
[Bugs/Balance] Fix various ME bugs and small balance adjustments (#4369)
* 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>
2024-09-22 05:47:32 +02:00
Mumble
4fb76fd117
[Move] Implement Heal Block (#4120)
* Heal Block on new branch

* Add/update code from previous PR

* Re-add i18n from previous PR

Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>
Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>
Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
Co-authored-by: Asdar <asdargmng@gmail.com>

* Disabling Moves

* Still need to update tests and write docs

* removing partial tags from abilities to feel better

* Pollen Puff works now

* Implemented Psychic Noise

* typedocs

* Documentation

* Update src/data/battler-tags.ts

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>

* Update src/data/battler-tags.ts

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>

* Update src/data/battler-tags.ts

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>

* Turns out the old condition wasn't buggy. Probably mixed up another change I made.

* changed array clear

---------

Co-authored-by: frutescens <info@laptop>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>
Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>
Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
Co-authored-by: Asdar <asdargmng@gmail.com>
2024-09-21 13:15:32 -07:00
Madmadness65
f2a042c3f0
[Enhancement] Add Team Star as potential evil team (#4019)
* 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>
2024-09-20 18:17:44 -07:00
MokaStitcher
5f5b439e42
[P2 Bug] Fix sturdy and endure causing an extra stat boost to boss Pokemon (#4347)
* [bug] fix sturdy and endure causing an extra stat boost to boss Pokemon

* [doc] add doc for handleBossSegmentCleared
2024-09-20 17:19:33 -04:00
DustinLin
0eea2031fb
[Bug] Fixing seed sower uturn switchout bug for trainer battles (#4113)
* refactor wildFlee for seed sower animation bug

* better naming functions

* review suggestions

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-09-20 10:27:43 -04:00
Tempoanon
63fba0dcae
[P3 Bug] Update pokemon-info-container ability highlighting to match tinted ball ability check (#4307)
* Update pokemon-info-container ability highlighting to match tinted ball ability check

* Fix typo

Co-authored-by: MokaStitcher <54149968+MokaStitcher@users.noreply.github.com>

---------

Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
Co-authored-by: MokaStitcher <54149968+MokaStitcher@users.noreply.github.com>
2024-09-19 23:30:21 -04:00
Tempoanon
714630c9de
[Refactor] Renamed the HitsTagAttr back to how it was (#4324) 2024-09-19 10:25:00 -04:00
innerthunder
605ae9e1c3
[Move] Improved damage forecasting for Shell Side Arm (#4310) 2024-09-18 19:03:01 -04:00
flx-sta
6030b780f2
[Move][Mirror] Update HitTagAttr attributes v2 (#4297)
* [Move] Updated HitAttr tags

Affects Whirlwind/Fly, Steamroller/Minimize, and Malicious Moonsault/Minimize

* [Move] Update for MinimizeAccuracyAttr

Affects Steamroller and Malicious Moonsault

* add: whirlwind test

* add: steamroller test

* rename: `AlwaysHitMinimizeAttr` (from `MinimizeAccuracyAttr`)

* rename: `DealsDoubleDamageToTagAttr` (from `HitsTagAttr`)

---------

Co-authored-by: chaosgrimmon <31082757+chaosgrimmon@users.noreply.github.com>
2024-09-17 22:41:46 -04:00
flx-sta
4389bff5d0
[Bug] Fix stat-protection-attribute not taking inverts (e.g. Contrary) into account (#4031)
* 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
2024-09-17 19:14:41 -07:00
AJ Fontaine
3ed2c74f38
[Enhancement] Add Met Wave to Pokemon Data (#4271)
Co-authored-by: Lugiad <adrien.grivel@hotmail.fr>
Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
Co-authored-by: Chapybara-jp <charlie.beer@hotmail.com>
2024-09-16 15:44:03 -07:00
AJ Fontaine
540a1c3e21
[Balance] Rework some evolutions (#2732)
* 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
2024-09-15 02:32:43 +01:00
innerthunder
79fa80cfd8
[Bug][Beta] Fix error in message sequencing on critical hits (#4259) 2024-09-14 19:14:37 -04:00
innerthunder
d8dbc471af
[Bug][Beta] Fix Pokemon info flyout being offset on switchout after double battle (#4260) 2024-09-14 19:13:32 -04:00
innerthunder
bdc7c95c1c
[Misc][AI] Fix KO filter not accounting for move conditions (#4245)
* Only filter KO moves that won't fail

* Add Last Resort enemy command test
2024-09-14 12:35:36 -04:00
innerthunder
a7b3344c6d
Fix missing key in "No Effect" message (#4244) 2024-09-14 05:21:31 -07:00
Opaque02
783b9d85ee
[Bug] Golden punch bug fix (#4246)
* 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
2024-09-14 10:56:28 +02:00
innerthunder
77f0fe6e4b
[Enhancement][EnemyAI] Add support for simulated damage calculations and "Search for KO" move filtering (#3975)
* 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>
2024-09-13 22:54:22 -07:00
ImperialSympathizer
acb2b66be4
[Feature] Add Mystery Encounters to the game (#3938)
* 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>
2024-09-14 03:05:58 +01:00
seanrmon
a085d3d416
[Bug] Fix for unpausing evolutions for secondary Pokémon in a fusion (#4007)
* [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>
2024-09-13 13:03:11 -04:00
innerthunder
70295280da
[Move] Implement Substitute (#2559)
* Implement Substitute

Squashed commit from working branch

* Fix integration test imports

* Use Override Helper utils + Fix Baton Pass test

* Update src/test/moves/substitute.test.ts

Co-authored-by: Adrian T. <68144167+torranx@users.noreply.github.com>

* Fix test imports + nits

* Document RemoveAllSubstitutesAttr

* Fix some strict-null issues

* more strict-null fixes

* Fix baton pass test

* Reorganized Substitute translation keys

* Added checks for substitute in contact logic

* Clean up Unseen Fist contact logic

* Remove misleading comment in Download attr

* RIP phases.ts

* Fix imports post-phase migration

* Rewrite `move.canIgnoreSubstitute` to `move.hitsSubstitute`

* Also fixed interactions with Shell Trap and Beak Blast

* Removed some leftover `canIgnoreSubstitute`s

* fix issues after beta merge

* Status move effectiveness now accounts for substitute

* More edge case tests (Counter test failing)

* Fix Counter + Trap edge cases + add Fail messagesd

* Fix leftover nit

* Resolve leftover test issues

* Fix Sub offset carrying over to Trainer fights

* Hide substitute sprite during catch attempts

* Make substitutes baton-passable again

* Remove placeholder locale keys and SPLASH_ONLY

* Fix imports and other nits

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>

* ESLint

* Fix imports

* Fix incorrect `resetSprite` timing

* Fix substitute disappearing on hit (maybe?)

* More animation fixes (mostly for Roar)

---------

Co-authored-by: Adrian T. <68144167+torranx@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>
2024-09-13 12:46:22 -04:00
NightKev
9f82d796d3 Merge branch 'main' into beta 2024-09-11 07:29:18 -07:00
NightKev
11d912bad8
[Dev] Make OPP_MOVESET_OVERRIDE fully override the enemy's moveset (#4062)
* 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
2024-09-09 12:55:11 -04:00
AJ Fontaine
16fc3a87b7
Fix usedTMs crash (#4132) 2024-09-09 14:07:05 +01:00
Adrian T.
f5bf766ff7
[Move] Fully implement Tar Shot (#4043) 2024-09-09 00:42:53 -07:00
innerthunder
c710f85fd3
Fix Pokemon.isTrapped only checking enemy Pokemon for trapping abilities (#4124) 2024-09-09 14:19:59 +08:00
flx-sta
39b6a72517
[Bug] Fix #762: All Pokemon become invisible when capturing then switching with your only pokemon that was not fainted (#4025)
* fix #762 by using slotIndex to add to party

for now the new pokemon was ALWAYS just pushed to the party array. Now it's put into the slot that was also previously selected as the mon to release

* add docs for `Pokemon.addToParty()`

* add simple tests for addToParty

* update `isBetween` docs. Remove `.js` imports
2024-09-09 01:10:47 -04:00
innerthunder
68b956cbe6
[Bug] Fix incorrect defensive properties on Terastallized Pokemon (#4070)
* Fix incorrect defensive properties on Terastallized Pokemon

* Add tests to `effectiveness.test.ts`

* Suppress errors from Tera achievement validation
2024-09-08 20:48:09 -07:00
Mumble
021f31b589
[Hotfix] Retrieve the right cry when alternate-form Pokemon faint + retrieve the correct sprite key (#4117)
* [DOCS] adding JSDocs to `arena.ts` (#3590)

* adding some docs

* Update src/field/pokemon.ts

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>

* seems like battleStats changed to statStages

* Apply suggestions from code review

editing doc text

Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>

* Update tsdocs, convert comment to tsdoc in `pokemon.ts`

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>

* [Bug] Fix scrappy (+ some immunity move and ability) in inverse battle (#4067)

* fix scrappy + etc. update inverse battle test code

* update test code following request from swain

* fix and optimize imports (#4061)

- remove any `.js` extension imports
- remove unncessary dynamic imports of `modifier.ts` file. The file was being imported statically & dynamically. Made it pure static
- increase vite chunk-size warning limit

Co-authored-by: Mumble <171087428+frutescens@users.noreply.github.com>

* Fusion hotfix

* returned main

* Faint cry properly retrieved for non fused Pokemon with forms

* Revert "[DOCS] adding JSDocs to `arena.ts` (#3590)"

This reverts commit b73fd97760.

* Revert "[Bug] Fix scrappy (+ some immunity move and ability) in inverse battle (#4067)"

This reverts commit 31fcbf49f4.

* Revert "fix and optimize imports (#4061)"

This reverts commit d1bd6974e4.

* Fixed sprite key generation

---------

Co-authored-by: DustinLin <39450497+DustinLin@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>
Co-authored-by: Leo Kim <47556641+KimJeongSun@users.noreply.github.com>
Co-authored-by: frutescens <info@laptop>
2024-09-09 00:03:37 +01:00
Mumble
22c60ab532
[Hotfix][Bug] Retrieves the correct cry for Fused Pokemon (#4116)
* [DOCS] adding JSDocs to `arena.ts` (#3590)

* adding some docs

* Update src/field/pokemon.ts

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>

* seems like battleStats changed to statStages

* Apply suggestions from code review

editing doc text

Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>

* Update tsdocs, convert comment to tsdoc in `pokemon.ts`

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>

* [Bug] Fix scrappy (+ some immunity move and ability) in inverse battle (#4067)

* fix scrappy + etc. update inverse battle test code

* update test code following request from swain

* fix and optimize imports (#4061)

- remove any `.js` extension imports
- remove unncessary dynamic imports of `modifier.ts` file. The file was being imported statically & dynamically. Made it pure static
- increase vite chunk-size warning limit

Co-authored-by: Mumble <171087428+frutescens@users.noreply.github.com>

* Fusion hotfix

* Revert "fix and optimize imports (#4061)"

This reverts commit 287d671cfd.

* Revert "[Bug] Fix scrappy (+ some immunity move and ability) in inverse battle (#4067)"

This reverts commit 9fd34c95d5.

* Revert "[DOCS] adding JSDocs to `arena.ts` (#3590)"

This reverts commit 0742efd196.

* typo

* Fixed fusionFaintCry to return correct cry

---------

Co-authored-by: DustinLin <39450497+DustinLin@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>
Co-authored-by: Leo Kim <47556641+KimJeongSun@users.noreply.github.com>
Co-authored-by: frutescens <info@laptop>
2024-09-08 21:42:11 +01:00
Leo Kim
2fc3179bd9
[Bug] Fix scrappy (+ some immunity move and ability) in inverse battle (#4067)
* fix scrappy + etc. update inverse battle test code

* update test code following request from swain
2024-09-07 21:37:14 -07:00
DustinLin
f73a830f77
[DOCS] adding JSDocs to arena.ts (#3590)
* adding some docs

* Update src/field/pokemon.ts

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>

* seems like battleStats changed to statStages

* Apply suggestions from code review

editing doc text

Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>

* Update tsdocs, convert comment to tsdoc in `pokemon.ts`

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
2024-09-07 21:36:47 -07:00
NightKev
57a3efd9e2
[Bug] Fix off-by-one errors in some random number calls (#3665)
* Fix off-by-one error in some random number calls

* Fix mock RNG function used by tests

Also remove unnecessary extra RNG mock from Glaive Rush test

* Just some github UI manipulation don't mind me

* Update Glaive Rush test

* Remove unnecessary `Math.floor()`

* Remove resolved comment

* Add tsdocs to various functions

* Remove `src/rng.md` file

* Update tsdoc
2024-09-05 23:51:05 +00:00
Zach Day
13f38dce8d
[Move] Use BattlerTag for move-disabling effects (#2051)
* Use BattlerTag for move-disabling effects

* Fix RUN command causing freeze

* Improve documentation

* Clean up and document PokemonMove.isUsable

* Fix isMoveDisabled missing return

* Tags define the message shown when disabling interrupts a move

* Fix -1 duration on Disable effect

* Add tests for Disable

* En loc and fix message functions

* Fix Disable test

* Fix broken imports

* Fix test

* All disable tests passing

* Localize remaining strings

* Move cancellation logic out of lapse; use use TURN_END for lapse type

* Prevent disabling STRUGGLE

* Inline struggle check function

* Restore RechargingTag docs

* Move cancellation logic back to tag

Wanted to increase similarity to the existing code base to avoid that stupid hyper beam error but it's still happening here

* Fix hyper beam test

* Remove erroneous shit

* Fill movesets with SPLASH for disable test

* More robust condition for disable checking

* Remove DisabledTag lapse

* Simplify DisablingBattlerTag lapse

* Cancel disable-interrupted moves instead of failing them

* Avoid disabling virtual moves

* Consistent access modifiers across Disable tags

* Add abstract function for message when player tries to select the disabled move

* Fix syntax mistake

* Always disable last-used non-virtual move

* Overhaul tests + add tests

* Implement loadTag for DisabledTag

* Update translations

* Update translations

* Reimplement phase changes

* fix battlertag strings

* Fix disable test not running

* Update name of base class

* Rename "disabling" to "restriction"

* Fix sneaky string fuckup

* Fix test failure

* fix merge problems

* fix merge problems

* Update tests

* rerun RNG test

* Properly mock stats in test

* Document everything in battlertag

* More docs + typo fix

* Update tests

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-09-05 08:44:22 +00:00
NightKev
fde32cea6c
[Misc][Bug] Add isBatonPassable property to BattlerTags (#3472)
* Add `isTransferrable` property to `BattlerTag`s

* Update Baton Pass to check `isTransferrable` for `BattlerTag`s

* Don't mark Salt Cure as transferrable

* Add Destiny Bond, remove `GroundedTag` and `ExposedTag`

* Fix daily mode test

* Add test

* Rename `isTransferrable` to `isBatonPassable`
2024-09-04 17:58:35 +00:00
Amani H.
89e80f3deb
[Refactor/Bug/Move] Overhaul Stats and Battle Items, Implement Several Stat Moves (#2699)
* Create Getters, Setters, and Types

* Work on `pokemon.ts`

* Adjust Types, Refactor `White Herb` Modifier

* Migrate `TempBattleStat` Usage

* Refactor `PokemonBaseStatModifier` Slightly

* Remove `BattleStat`, Use "Stat Stages" & New Names

* Address Phase `integers`

* Finalize `BattleStat` Removal

* Address Minor Manual NITs

* Apply Own Review Suggestions

* Fix Syntax Error

* Add Docs

* Overhaul X Items

* Implement Guard and Power Split with Unit Tests

* Add Several Unit Tests and Fixes

* Implement Speed Swap with Unit Tests

* Fix Keys in Summary Menu

* Fix Starf Berry Raising EVA and ACC

* Fix Contrary & Simple, Verify with Unit Tests

* Implement Power & Guard Swap with Unit Tests

* Add Move Effect Message to Speed Swap

* Add Move Effect Message to Power & Guard Split

* Add Localization Entries

* Adjust Last X Item Unit Test

* Overhaul X Items Unit Tests

* Finish Missing Docs

* Revamp Crit-Based Unit Tests & Dire Hit

* Address Initial NITs

* Apply NIT Batch

Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>

* Fix Moody Test

* Address Multiple Messages for `ProtectStatAbAttr`

* Change `ignoreOverride` to `bypassSummonData`

* Adjust Italian Localization

Co-authored-by: Niccolò <123510358+NicusPulcis@users.noreply.github.com>

* Fix Moody

---------

Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
Co-authored-by: Niccolò <123510358+NicusPulcis@users.noreply.github.com>
2024-09-02 22:12:34 -04:00
ckincaid17
234d617464
[Bug] Let Shedinja relearn egg moves when evolved from a starter (#3915)
* [Bug] Let Shedinja relearn egg moves when evolved from a starter

* Copy met level as well
2024-09-02 19:10:33 -07:00
AJ Fontaine
b0360123e0
[Balance] [QoL] [Feature] Allow mons to track and relearn used TMs (#3656)
* Allow mons to track and relearn used TMs

* Fix issue getting level moves

* Apply suggested safety measures
2024-09-02 16:25:41 -07:00
MokaStitcher
89a1ff7b5b
[Bug] Fix Inconsistency with stat boost when breaking through boss shields + tests (#3785)
* fix boss shield stats up calculation and add tests

* update test to remove usage of deprecated startBattle
2024-09-03 00:29:15 +02:00
NightKev
84ef7f0683
[Balance] Double base shiny odds, adjusted Shiny Charm to match (#3964)
* Double shiny odds

"anyone wanna double the base shiny odds for me" - damo, 2024

* Adjust Shiny Charm to compensate for increased base odds

* Remove magic number

* Update tsdoc and remove unneeded `console.log()`

* Clarify tsdoc
2024-09-02 00:26:47 -04:00
NightKev
f54846f735
[Move] Implement Safeguard (#3447)
* Implemented safeguard and tests

* Update tests

* Add i18n placeholders

* Implement Safeguard for non-volatile statuses

* Implement protection from confusion and Yawn

* Replace `target instanceof EnemyPokemon` with `target.isPlayer()`

* Minor capitalization change

* First batch of i18n

Adds fr, pt_BR, zh_CN, zh_TW

Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>
Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>
Co-authored-by: mercurius-00 <80205689+mercurius-00@users.noreply.github.com>

* Add more translations

+ de, es, ko

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
Co-authored-by: Asdar <asdargmng@gmail.com>
Co-authored-by: sodam <66295123+sodaMelon@users.noreply.github.com>

* Fix broken character in es translation

* Update test with new function definition

* Add Italian translation

Co-authored-by: Niccolò <123510358+NicusPulcis@users.noreply.github.com>

* Add move category check for message display

Co-authored-by: innerthunder <168692175+innerthunder@users.noreply.github.com>

* Update phase imports in Safeguard test

* Fix test imports

* Update tests

---------

Co-authored-by: Joshua Keegan <keeganjosh@vuw.ac.nz>
Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>
Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>
Co-authored-by: mercurius-00 <80205689+mercurius-00@users.noreply.github.com>
Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
Co-authored-by: Asdar <asdargmng@gmail.com>
Co-authored-by: sodam <66295123+sodaMelon@users.noreply.github.com>
Co-authored-by: Niccolò <123510358+NicusPulcis@users.noreply.github.com>
Co-authored-by: innerthunder <168692175+innerthunder@users.noreply.github.com>
2024-09-02 00:26:20 -04:00
Mumble
c4c9cf939e
[Bug] Moved RNG call if the Pokemon's ability hasn't been determined (#3966)
Co-authored-by: frutescens <info@laptop>
2024-09-02 00:09:46 -04:00
innerthunder
e29f1fe5fd
[Bug] Fix some trapping moves' interactions with Ghost-type Pokemon (#3936)
* Fix secondary effects to trapping moves not applying to Ghost types

* Docs for `isTrapped`

* more `isTrapped` cleanup

* Remove .js from imports
2024-09-01 23:39:26 -04:00
NightKev
709066bd1a
[Move] Finish Alluring Voice, Burning Jealousy and Lash Out (#3508)
* Implement Alluring Voice and Burning Jealousy

* Fix Alluring Voice and add tests

* Replace `BattlerTag.STATS_BOOSTED` with `PokemonTurnData` field

* Work around bug with turn data

* Remove unused variable

* Replace nearby instances of `integer` with `number`

* Fix imports

* Implement Lash Out

* Rename `battleStats(In|De)crease` -> `battleStats(In|De)creased`

* Fix copy/paste error

Co-authored-by: schmidtc1 <62030095+schmidtc1@users.noreply.github.com>

* Update tests

---------

Co-authored-by: ElliottSimmonds <simmonds.elliott@yahoo.co.uk>
Co-authored-by: schmidtc1 <62030095+schmidtc1@users.noreply.github.com>
Co-authored-by: Mumble <171087428+frutescens@users.noreply.github.com>
2024-09-01 22:57:07 -04:00
Adrian T.
3bcee779e2
[Move] Fully implement dragon cheer (#3959) 2024-09-01 22:39:12 -04:00
innerthunder
7755f798fd
[Ability] Implement Tera Shell (#3856)
* Implement Tera Shell

* Apply suggestions from code review

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>

* Update src/data/ability.ts

Co-authored-by: Adrian T. <68144167+torranx@users.noreply.github.com>

* Add comments and fixed damage condition to `applyPreDefend`

* Fix speed tie breaking things in tera shell test

* Change deprecated `startBattle` calls

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: Adrian T. <68144167+torranx@users.noreply.github.com>
2024-09-02 02:21:11 +01:00
NightKev
642b18e747
[Bug] Fix Pokemon not gaining HP when evolving (#3569)
* Don't recalculate stats that already exist

* add test to cover hp update after evo (#4)

- add evolution phase to phase interceptor
- add mock for video game object
- add returning video mock on add.video()

* add test to make sure pkm are not healed on evolve

* Stop on `EndEvolutionPhase` to prevent game state leak in tests

* Fix imports

* Remove `.js` from import

Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>

* Add docs to mock class

---------

Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
2024-08-30 20:21:56 -07:00
damocleas
db9434ac11
[Balance] Biome Changes / Minor Passive Changes / Minor Egg Move Changes / Beta GMax form adjustments (#3852)
* [Balance] Previous Egg/Passive/Eternatus Update Adjustments

* Update pokemon-species.ts

* Updated Eternatus, src/field/pokemon.ts

* Update egg-moves.ts for Drowzee and Darkrai

* Update biomes.ts

* Update biomes.ts to screw over Dojo!

* Update pokemon-species.ts gmax adjustments
2024-08-29 20:29:06 +01:00
Leo Kim
c112abbcd2
[Challenge] Inverse battle challenge (#3525)
* add inverse battle challenge. refactoring type.ts for inverse battle challenge

* update type integer -> number

* add inverse battle condition to thunder wave, conversion 2.

* add inverse_battle test code, add checking gameMode in runToSummon not to overwrite gameMode to CLASSIC always

* update startBattle with isClassicMode default = true

* add inverse achievement

* fix achv validation condition

* remove unnecessary new line

* update defaultWidth 160 -> 200

* update locales

* fix korean translation

* fix korean translation2

* Update src/locales/de/achv.ts

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>

* Update src/locales/de/challenges.ts

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>

* Update src/locales/de/challenges.ts

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>

* resize challenge description 96 -> 84

* update challenge select UI size.

* revert font size to 84. update de translation

* Update src/locales/fr/challenges.ts

Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>

* Update src/locales/fr/achv.ts

Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>

* Update src/locales/es/challenges.ts

Co-authored-by: Asdar <asdargmng@gmail.com>

* Update src/locales/fr/challenges.ts

Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>

* Update src/locales/fr/achv.ts

Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>

* Update src/locales/es/achv.ts

Co-authored-by: Asdar <asdargmng@gmail.com>

* Update src/locales/fr/achv.ts

Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>

* shrink de font size on achivement

* set middle align to achv title

* Update src/locales/zh_CN/achv.ts

Co-authored-by: mercurius-00 <80205689+mercurius-00@users.noreply.github.com>

* Update src/locales/zh_TW/achv.ts

Co-authored-by: mercurius-00 <80205689+mercurius-00@users.noreply.github.com>

* Update src/locales/zh_CN/challenges.ts

Co-authored-by: mercurius-00 <80205689+mercurius-00@users.noreply.github.com>

* Update src/locales/zh_TW/challenges.ts

Co-authored-by: mercurius-00 <80205689+mercurius-00@users.noreply.github.com>

* fix zh_TW ahiv.ts

* fix import code on inverse battle test for updated phase

* Update src/data/type.ts

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>

* update requested changes

* Update src/locales/pt_BR/achv.ts

Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>

* Update src/locales/pt_BR/achv.ts

Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>

* Update src/locales/pt_BR/challenges.ts

Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>

* [draft] update inverse battle apply function

* change the way how to use applyChallenge for inverse type

* resolve confilct

* fix test codes

* remove unnecessary multiplier variable and break codes

* update getTypeDamageMultiplier argument type from `number` to `Type`

* Fix inverse types tests (#1)

* Fix Inverse Battle tests

* Add timeout parameter to tests

* update requested changes

* update requested changes

* update requested changes2

* update comments

* Update src/test/utils/helpers/challengeModeHelper.ts

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>

* Update src/test/utils/helpers/challengeModeHelper.ts

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>

* fix mis pasted code

* revert loadChallenge code for  FreshStartChallenge

* code refactoring

* restore challenge.json lost translations

* revert UI changes

* revert unreverted newlines

* Run History inclusion

* requested changes from torranx

* update WaterSuperEffectTypeMultiplierAttr for inverse battle matchup.

* fix test code. adding flying press test code

* update requested change from xavion3

* updated requested change from xavion 2

* update requested changes from xavion 3

* remove exception code which is not valid

* attach partial mark to Freeze dry. requested by xavion

* add missing game over phase code when we delete old phases.ts

* fix test codes

* merge conflict

* fix achv condition

* updated achv block condition. we don't want to change desc now

* resolve conflict

* Eternatus Moveset Tinkering

* Cleaning it up

---------

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>
Co-authored-by: Asdar <asdargmng@gmail.com>
Co-authored-by: mercurius-00 <80205689+mercurius-00@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
Co-authored-by: frutescens <info@laptop>
2024-08-29 19:59:33 +01:00
Adrian T.
5f3383ff04
[Dev] Cleanup some opponent overrides + add new opp form override (#3733)
* replace interger types, add opp form override

* move code to EnemyPokemon class

* Update src/field/pokemon.ts

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-08-27 17:34:16 -07:00
Mumble
c52f439dc1
Corrections and adjustments (#3831)
Co-authored-by: frutescens <info@laptop>
2024-08-26 21:50:19 +01:00
innerthunder
0221c9faba
[Ability][Move] Rewrite Type Resolution and Effectiveness Calculation Functions (#3704)
* Make type/category read-only

* Fix protean/libero tests

* Refactor Pokemon type effectiveness calculation

* Merge getMoveEffectiveness and getAttackMoveEffectiveness

* Move priority-blocking ability check

* Fix incorrect early stopping implementation in MultiHitAttr

* Fix Aerilate, etc. affecting variable-type moves

* Thunder Wave now respects Attack type immunities

* Use final move types for pre-defend abilities

* Steal some things from flx's PR hehe

* Fix Thousand Arrows + "No effect" messages

* Fix status type effectiveness check

* Another status move effectiveness update + some docs

* changing status logic again...

* Fix unnecessary "No Effect" message for Volt Absorb, etc

* Add type effectiveness unit test

* Add Galvanize integration tests

* Add multi-hit test to galvanize tests

* Add power check to first Galvanize test

* Add missing doc line

Co-authored-by: Amani H. <109637146+xsn34kzx@users.noreply.github.com>

* Resolve torranx's nits

* Apply suggestions from Kev's code review

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>

* More suggestions I missed

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>

* Optimize effectiveness test and make others more stylish (#3)

* Resolve Kev's remaining nits and some test issues

---------

Co-authored-by: Amani H. <109637146+xsn34kzx@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: flx-sta
Co-authored-by: frutescens
2024-08-25 19:11:01 -07:00
NightKev
443e4bd24c
Multi-target damage reduction is now properly calculated (#3734) 2024-08-25 17:40:43 -07:00
Mumble
933cfcbad3
[Refactor][QoL] Game Audio + New Settings (#3527)
* Changed how non-BGM are loaded into the game + moved into directories

* some leftovers

* Apply suggestions from code review

Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>

* Added setting for Field Volume + rewrote playSound() and updateSoundVolume() functions to reflect the new settings.

* Main -> Beta (#3635)

* Fixed issue with falsy issue within condition to get a stat for IV scanner

* add fix setting code to prevent form/variant bug when default form/variant setting is wrong.
in addition, that fix code include gender fix, so i revert old gender fix.
update wrong log message.

* [Hotfix] Fix Memory Mushroom not showing relearner moves (#3619)

* Fix Memory Mushroom not showing relearner moves

* Fix rollout test

* Rewrite player faint logic in FaintPhase (#3614)

* 867 runerigus sprite (#3629)

cropped static frames, fixed cropped sprite
set runerigus exp to use the shiny exp's animation
verified all hex colors are unchanged

- fixed ultra necrozma exp front variant swapped arrays.
- xatu female eye color fix

* [Bug] Preventing the MBH from being stolen in Endless (#3630)

* Endless MBH Fix

* add import

* Revert "add import"

This reverts commit 814a4059c2.

* Revert "Endless MBH Fix"

This reverts commit 8eb4481301.

* removed newline

---------

Co-authored-by: Frederico Santos <frederico.f.santos@tecnico.ulisboa.pt>
Co-authored-by: frutescens <info@laptop>

* [Bug] Fix type-hints for immunity (#3620)

* enable mock containers to be found by name

* enable mock text to be found by name

* add test coverage for type-hints

Only for "immunity" and "status moves"

* fix wrong message key of curse(ghost type) (#3631)

Co-authored-by: Frederico Santos <frederico.f.santos@tecnico.ulisboa.pt>

* [Hotfix] Steal-able Mini Black Hole Pt 2  (#3632)

* Still have no idea where Eternatus is given the MBH....

* typedocs

---------

Co-authored-by: frutescens <info@laptop>

* [Hotfix] Abilities that prevent ATK drops no longer stop other stat drops (#3624)

* Abilities that prevent ATK drops no longer stop other stat drops

* Apply suggestions from code review

Co-authored-by: Mumble <kimjoanne@protonmail.com>

* Add `isNullOrUndefined()` utility function

---------

* Grip Claw now shows the proper pokemon nickname (#3634)

Co-authored-by: frutescens <info@laptop>

---------

Co-authored-by: Opaque02 <66582645+Opaque02@users.noreply.github.com>
Co-authored-by: KimJeongSun <leo@atlaslabs.ai>
Co-authored-by: Frederico Santos <frederico.f.santos@tecnico.ulisboa.pt>
Co-authored-by: innerthunder <168692175+innerthunder@users.noreply.github.com>
Co-authored-by: cam <lrlrliwoo@gmail.com>
Co-authored-by: Mumble <kimjoanne@protonmail.com>
Co-authored-by: frutescens <info@laptop>
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
Co-authored-by: Enoch <enoch.jwsong@gmail.com>
Co-authored-by: Mumble <171087428+frutescens@users.noreply.github.com>

* [Bug] Preventing the MBH from being stolen in Endless (#3630)

* Endless MBH Fix

* add import

* Revert "add import"

This reverts commit 814a4059c2.

* Revert "Endless MBH Fix"

This reverts commit 8eb4481301.

* removed newline

---------

Co-authored-by: Frederico Santos <frederico.f.santos@tecnico.ulisboa.pt>
Co-authored-by: frutescens <info@laptop>

* [Hotfix] Steal-able Mini Black Hole Pt 2  (#3632)

* Still have no idea where Eternatus is given the MBH....

* typedocs

---------

Co-authored-by: frutescens <info@laptop>

* Deleted phases.ts (#3618)

* Updated sound terms

* Added space for localization

* Update src/locales/ko/settings.ts

Co-authored-by: Enoch <enoch.jwsong@gmail.com>

* Update src/locales/zh_TW/settings.ts

Co-authored-by: mercurius-00 <80205689+mercurius-00@users.noreply.github.com>

* Update src/locales/pt_BR/settings.ts

Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>

* Update src/locales/zh_CN/settings.ts

Co-authored-by: mercurius-00 <80205689+mercurius-00@users.noreply.github.com>

* Update src/locales/de/settings.ts

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>

* Update src/locales/ko/settings.ts

Co-authored-by: returntoice <dieandbecome@gmail.com>

* Update src/locales/fr/settings.ts

Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>

* Update src/locales/it/settings.ts

Co-authored-by: Niccolò <123510358+NicusPulcis@users.noreply.github.com>

* Include sound effects that were loaded in as BGM.

* Removed stray placeholder localization

---------

Co-authored-by: Frutescens <info@laptop>
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: Opaque02 <66582645+Opaque02@users.noreply.github.com>
Co-authored-by: KimJeongSun <leo@atlaslabs.ai>
Co-authored-by: Frederico Santos <frederico.f.santos@tecnico.ulisboa.pt>
Co-authored-by: innerthunder <168692175+innerthunder@users.noreply.github.com>
Co-authored-by: cam <lrlrliwoo@gmail.com>
Co-authored-by: Enoch <enoch.jwsong@gmail.com>
Co-authored-by: mercurius-00 <80205689+mercurius-00@users.noreply.github.com>
Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>
Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
Co-authored-by: returntoice <dieandbecome@gmail.com>
Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>
Co-authored-by: Niccolò <123510358+NicusPulcis@users.noreply.github.com>
2024-08-25 17:40:14 +01:00
Adrian T.
03de6cfe36
[Ability] Implement Forecast (#3534)
* initial forecast implementation

* updates

* bug fixes and add tests

* bug fixes

* update docs

* fix issues post-merge

* add show ability

* add support for simulated abilities

* add simulated conditions and fix tests

* fix simulated conditions
2024-08-25 17:23:09 +08:00
Adrián T.
f417a262de
[Misc] Update eslint.config.js for space after commas (#3649)
* Update eslint.config.js for space after commas

* run eslint

* run eslint, again
2024-08-23 16:36:10 +08:00
Enoch
de5d645847
[Localization] Add localization hard-coded message in move, pokemon. (#3639)
* Add localization missing messages.

* Apply suggestions from code review

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
Co-authored-by: mercurius-00 <80205689+mercurius-00@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: Niccolò <123510358+NicusPulcis@users.noreply.github.com>

* Update src/locales/fr/move-trigger.ts

Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>

* Update src/locales/fr/battle.ts

Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>

* Apply suggestions from code review

Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>
Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>

* Apply suggestions from code review - ES

Co-authored-by: Asdar <asdargmng@gmail.com>

---------

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
Co-authored-by: mercurius-00 <80205689+mercurius-00@users.noreply.github.com>
Co-authored-by: Niccolò <123510358+NicusPulcis@users.noreply.github.com>
Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>
Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>
Co-authored-by: Asdar <asdargmng@gmail.com>
2024-08-23 09:59:35 +09:00
Leo Kim
b1d4037a57
[Bug] Fix some damage formulas processed with ceil instead of floor (#3557)
* fix damage calculations. add test code

* define toIntValue function to replace every repeatitive min floor function.

* revert unnecessary minimum boundary

* update function name `toIntValue` -> `toDmgValue`. update comments.

* add missing updates for changing function name

* Update src/utils.ts

Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>

* remove redundant comment

* update import code for test with phase

---------

Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
2024-08-21 22:39:11 -07:00
innerthunder
051d38e0a2
[Enhancement] Add support for simulated calls to Abilities (#3529)
* Adds simulated tag support to all abilities

* Fix compiler errors in ability.ts

Most things are still on fire 😢

* Fix errors left over after merge

* Another pass through simulated ability call logic

* Fix leftover errors from merge resolution

* Another gh pages issue :pikamad:

* Simulated call fixes based on Kev's feedback

* RIP phases.ts

---------

Co-authored-by: Xavion3 <xavion333@gmail.com>
2024-08-21 18:29:21 -07:00
flx-sta
3a167610cf
[Bug] Fix: Gravity tag removes flying type during damage calculation (#3670)
* add `hasTag` to arena

* fix flying type damage calculation for grounded states

Before the grounded state would make e.g. electric moves no more very-effective. This is invalid

Co-authored-by: Tristan D Gant <tgant2017@outlook.com>

* add tests for gravity v. ground v. electric

* Update src/test/arena/arena_gravity.test.ts

fix typo

Co-authored-by: Adrian T. <68144167+torranx@users.noreply.github.com>

* use `arena` instead of this.scene.arena

* use `const arena = this.scene.arean` instead of destructoring

* Apply suggestions from code review

Co-authored-by: Mumble <171087428+frutescens@users.noreply.github.com>

* fix es-lint

---------

Co-authored-by: Tristan D Gant <tgant2017@outlook.com>
Co-authored-by: Adrian T. <68144167+torranx@users.noreply.github.com>
Co-authored-by: Mumble <171087428+frutescens@users.noreply.github.com>
2024-08-21 15:40:55 -07:00
Frederico Santos
ae2ab120dc
Deleted phases.ts (#3618) 2024-08-19 03:23:52 +01:00
NightKev
098811c006
Main -> Beta (#3635)
* Fixed issue with falsy issue within condition to get a stat for IV scanner

* add fix setting code to prevent form/variant bug when default form/variant setting is wrong.
in addition, that fix code include gender fix, so i revert old gender fix.
update wrong log message.

* [Hotfix] Fix Memory Mushroom not showing relearner moves (#3619)

* Fix Memory Mushroom not showing relearner moves

* Fix rollout test

* Rewrite player faint logic in FaintPhase (#3614)

* 867 runerigus sprite (#3629)

cropped static frames, fixed cropped sprite
set runerigus exp to use the shiny exp's animation
verified all hex colors are unchanged

- fixed ultra necrozma exp front variant swapped arrays.
- xatu female eye color fix

* [Bug] Preventing the MBH from being stolen in Endless (#3630)

* Endless MBH Fix

* add import

* Revert "add import"

This reverts commit 814a4059c2.

* Revert "Endless MBH Fix"

This reverts commit 8eb4481301.

* removed newline

---------

Co-authored-by: Frederico Santos <frederico.f.santos@tecnico.ulisboa.pt>
Co-authored-by: frutescens <info@laptop>

* [Bug] Fix type-hints for immunity (#3620)

* enable mock containers to be found by name

* enable mock text to be found by name

* add test coverage for type-hints

Only for "immunity" and "status moves"

* fix wrong message key of curse(ghost type) (#3631)

Co-authored-by: Frederico Santos <frederico.f.santos@tecnico.ulisboa.pt>

* [Hotfix] Steal-able Mini Black Hole Pt 2  (#3632)

* Still have no idea where Eternatus is given the MBH....

* typedocs

---------

Co-authored-by: frutescens <info@laptop>

* [Hotfix] Abilities that prevent ATK drops no longer stop other stat drops (#3624)

* Abilities that prevent ATK drops no longer stop other stat drops

* Apply suggestions from code review

Co-authored-by: Mumble <kimjoanne@protonmail.com>

* Add `isNullOrUndefined()` utility function

---------

* Grip Claw now shows the proper pokemon nickname (#3634)

Co-authored-by: frutescens <info@laptop>

---------

Co-authored-by: Opaque02 <66582645+Opaque02@users.noreply.github.com>
Co-authored-by: KimJeongSun <leo@atlaslabs.ai>
Co-authored-by: Frederico Santos <frederico.f.santos@tecnico.ulisboa.pt>
Co-authored-by: innerthunder <168692175+innerthunder@users.noreply.github.com>
Co-authored-by: cam <lrlrliwoo@gmail.com>
Co-authored-by: Mumble <kimjoanne@protonmail.com>
Co-authored-by: frutescens <info@laptop>
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
Co-authored-by: Enoch <enoch.jwsong@gmail.com>
Co-authored-by: Mumble <171087428+frutescens@users.noreply.github.com>
2024-08-19 02:18:43 +01:00
AJ Fontaine
0e92366cac
Fixed egg moves being relearnable in daily runs (#3604) 2024-08-18 02:23:02 +01:00
innerthunder
2b853bae25
[Hotfix] Fix Pokemon info not fully appearing after switch-out (#3596)
* Add hideInfo param to leaveField

* Update docs for leaveField
2024-08-17 23:25:03 +01:00
damocleas
e192e57c63
[Balance] Balance Hotfixes for August 17 Update (#3594)
* [Balance] Balance Hotfixes for August 17 Update

* Eternatus Moveset fix

* fixed Cresselia passive

* fixed Jirachi Egg Moves

* fixed Doduo and Arctozolt egg moves
2024-08-17 20:48:16 +01:00
damocleas
bf1c634f34
[Balance] Replaced Dragon Dance on Eternatus for Flamethrower (#3536) 2024-08-13 22:16:37 +01:00
Mason S
bbca34bfcd
[Feature] Updated Smeargle learnset to pre gen-9 implementation (#2986)
Updated Pokemon.getLevelMoves()
Now enforces uniqueness AFTER filtering moves within the given range. This allows a pokemon to learn the same move at two different levels.

Updated pokemon-level-moves.ts
Changed Smeargle to learn Sketch at levels 11, 21, 31, ..., 91, instead of only at level 1.
2024-08-13 22:09:21 +01:00
wnhlee
452fbbb345
refactor: improve typing (#2501) 2024-08-13 21:49:06 +01:00
NightKev
0d3fcd82bb
[Bug] Fix daily run generated movesets (#3519)
* Fix daily run generated movesets

* add unit-tests for `fix-daily-run` (#3)

* add `daily` and `classic` helper. split `runToSummon`

there is now a `classicMode.runToSummon` which represents the old one used.
There is now a `dailyMode.runToSummon` too

* add daily_mode.test.ts

covers the occured issue

---------

Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
2024-08-13 21:48:56 +01:00
innerthunder
a760022c77
[Move] Refactor Conditional Protection and Protect interactions (#2731)
* Refactor protection moves

* Revert Protected move result change

* Fix typo in documentation

* Fix merge conflicts in integration tests

* Improve readability of apply function

* Fix effects applying through Protect

* Fix typos in `src/data/egg.ts` comments

* [Localization(it)] Added Honey Gather translation (#2301)

* Update ability.ts [Localization(it)]

* Update ability.ts [Localization(it)]

Fixed capitalization

* Hitting into protect now records a move as failed

* Add check for move success before applying additional effects (Stone Axe)

* `Overrides` should be capitalized

* Add fail conditions for `RechargeAttr` and Jaw Lock

* Update protect test

* Add check for protect in Glaive Rush

* Update tests to use new overrides helpers

* Account for Mat Block and add protect test for Glaive Rush

---------

Co-authored-by: Niccolò <123510358+NicusPulcis@users.noreply.github.com>

* Crafty Shield now blocks ALL protect-ignoring moves

* Crafty Shield test + Fix blocking ally-target moves

* ESLint

* Mat Block and Wide Guard integration tests

* Fix strict-null errors in integration tests

* Fix strict-null issue in arena-tag

* Fix strict-null in unrelated test :pikamad:

* Fix conflicting AbAttr

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: Niccolò <123510358+NicusPulcis@users.noreply.github.com>
2024-08-13 21:47:32 +01:00
Amani H.
d2c6aa5df8
[Bug] Prevent Relearnable Egg Moves in Fresh Start (#3466)
* [Bug] Prevent Relearnable Egg Moves in Fresh Start

* Mention Condition in Docs

* Use `isFreshStartChallenge()`
2024-08-12 01:49:32 -04:00
allen925
c078e5d612
[Bug][Test] Fix minor bug of ability Flash Fire, added test file (#3458)
* fix: let flash fire hit after frozen, and baton pass not passing it. added: flash fire test file

* added more tests and made small adjustments

* Update src/test/abilities/flash_fire.test.ts

Co-authored-by: Adrian T. <68144167+torranx@users.noreply.github.com>

---------

Co-authored-by: Adrian T. <68144167+torranx@users.noreply.github.com>
2024-08-12 01:26:37 -04:00
ImperialSympathizer
988ec664e9
Disable endless boss passives (#3451)
* fix strict null broken

* disable endless boss passives

* jsdocs on mock objects and move helper function to gameManager.ts

* Apply suggestions from flx's review

Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>

* fix broken test

* fix lint

---------

Co-authored-by: ImperialSympathizer <imperialsympathizer@gmail.com>
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
2024-08-11 19:40:47 +01:00
flx-sta
30cc6aba89
[Bug] Fix DNA splicers broken from the strictnull check (#3454)
This makes DNA-splicer work again
2024-08-09 09:33:31 -04:00
ImperialSympathizer
ba9378d1d8
disables final boss passive (#3393)
Co-authored-by: ImperialSympathizer <imperialsympathizer@gmail.com>
2024-08-08 20:59:23 +01:00
DustinLin
8faf27efc9
[BUG] - dragon tail switchout ability in wild battles proc crashes game (#3346)
* fixing switchout ability doubles bug, refactor move redirect code

* added unit test for dragon tail

* updating test

* addressing errors from pages deployment

* pages deployment still failing

* typedoc

* please let this be the one

* formatting and test fixing

* await starting battle should go after overrides
2024-08-07 20:44:34 -04:00
flx-sta
a07d2c57a4
[Refactor] use typescript strict-null (#3259)
* TS: enable strict-null

* fix battle-scene.ts

* fix voucher.ts

* adapt more files to strict-null

* adapt more files to strict-null ( 2)

* adapt ability.ts to strict-null

* adapt `arena.ts` to strict-null

* adapt TagAddedEvent constructor to strict-null

* adapt phases.ts.to strict-null

* adapt status-effect.ts to strict-null

* adapt `account.ts` to strict-null

* adapt `configHandler.ts` to strict-null

* adapt `ability.ts` to strict-null

* adapt `biomes.ts` to strict-null

* adapt `challenge.ts` to strict-null

* adapt `daily-run.ts` to strict-null

* adapt `nature.ts` to strict-null

* adapt `pokemon-forms.ts` to strict-null

* adapt `tainer-names.ts` to strict-null

* adapt `types.ts` to strict-null

* adapt `weather.ts` to strict-null

* adapt `egg-hatch-phase.ts` to strict-null

* adapt `evolution-phase.ts` to strict-null

* adapt `pokemon-sprite-sparkle-handler.ts` to strict-null

* adapt `evolution-phase.ts` to strict-null

* adapt `game-mode.ts` to strict-null

* adapt `utils.ts` to strict-null

* adapt `voucher-ui-handler.ts` to strict-null

* adapt `src/ui/unavailable-modal-ui-handler.ts` to strict-null

* adapt `src/ui/ui.ts` to strict-null

* adapt `src/ui/ui-theme.ts` to strict-null

* adapt `src/ui/title-ui-handler.ts` to strict-null

* adapt `src/ui/time-of-day-widget.ts` to strict-null

* adapt `src/ui/text.ts` to strict-null

* adapt `src/ui/target-select-ui-handler.ts` to strict-null

* adapt `src/ui/settings/settings-keyboard-ui-handler.ts` to strict-null

* adapt more files to strict-null (3)

* adapt more files to strict-null (4)

* adapt more files (mostly tests) to strict-null (5)

* adapt more files to strict-null (6)

* adapt more files to strict-null (7)

* Update `src/data/pokemon-evolutions.ts` for strict-null

Partial update `src/data/pokemon-species.ts` for strict-null

* adapt more files to strict-null (8)

* adapt more files to strict-null (9)

* Strict some more nulls (still a few errors remaining)

* adapt rest of the files to strict-null (9)

* fix tests (check for null instead of undefined)

* repalce a lot of `??` with bangs

And added TODO notice as usual

* fix more tests

* all tests pass now

* fix broken game-loop after trainer battle

add some console.warn for missing cases and falling back to default

* remove guessed fallback from utils.rgbHexToRgba

* add TODO for this.currentBattle = null

* adjust   getPokemonById() return to include `null`

* fix compilation errors

* add test for pokemon.trySetStatus

* `chanceMultiplier` shouldn't be optional

* allow `null` for currentPhase

* adjust hasExpSprite logic for no keymatch found

* reduce bang usage in account.updateUserInfo()

* fix new strict-null issues after merge

* fix `strict-null` issues in dropdown.ts

and sand_spit.test.ts

* fix egg-gacha

* adapt gul_missile.test.ts to strict-null

* fix move.ts strict-null

* fix i18n.ts strict-null

* fix strict-null issues

* fix baton_pass test

after accidentially breaking it

* chore: fix compiler errors

* revert accidential changes in baton_pass.test.ts

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-08-07 17:23:12 +01:00
NightKev
548bd8978f
[Move] Add type immunity removal moves (Foresight, Odor Sleuth, Miracle Eye) (#3379)
* Update Foresight PR to current beta

Implements Foresight, Miracle Eye, and Odor Sleuth

* Add placeholder i18n strings

* Minor tsdoc updates

* Fix placement of evasion level modifier, add tests

* Add first batch of translations

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>
Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>

* Second batch of translations

Co-authored-by: Enoch <enoch.jwsong@gmail.com>
Co-authored-by: mercurius-00 <80205689+mercurius-00@users.noreply.github.com>

* Add Catalan and Japanese translation placeholder strings

* Fix issue caused by merge

---------

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>
Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>
Co-authored-by: Enoch <enoch.jwsong@gmail.com>
Co-authored-by: mercurius-00 <80205689+mercurius-00@users.noreply.github.com>
2024-08-07 10:59:28 -04:00
innerthunder
a4c913d963
[Move] Implement (or re-implement?) Lucky Chant (#3352)
* Implement Lucky Chant

* Add i18n keys for NoCritTag messages

* Add Lucky Chant message translations (DE, FR, KO, PT-BR)

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>
Co-authored-by: Enoch <enoch.jwsong@gmail.com>
Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>

* Add ZH translations

Co-authored-by: Sonny Ding <93831983+sonnyding1@users.noreply.github.com>

* Add keys for JA locale

---------

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>
Co-authored-by: Enoch <enoch.jwsong@gmail.com>
Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>
Co-authored-by: Sonny Ding <93831983+sonnyding1@users.noreply.github.com>
2024-08-07 02:31:54 -04:00
NightKev
063e6dbd2d
[Bug] Player pokemon shouldn't generate an NPC moveset (#3356)
* Player pokemon shouldn't generate an NPC moveset

* Make sure Keldeo starts new runs in the correct form
2024-08-05 10:22:06 -04:00
Alex Van Liew
a2a1f3ec24
[Refactor] Refactored duplicated code into a common Pokemon#leaveField() function (#3310)
* refactor duplicated code into leaveField function

* replace bugfix code
2024-08-03 15:13:42 -04:00
Amani H.
302f1e51a0
[Enhancement] Allow Starters to Remember Egg Moves (#2482)
* Allow Starters to Remember Egg Moves

* Adjust Documentation

* Minor NIT
2024-08-02 17:51:20 +01:00
innerthunder
ffb7f17be1
[Documentation] Document EnemyCommandPhase and Enemy AI functions (#3092)
* Create enemy-ai.md

* Finish enemy-ai doc

* Fix outspeed logic + document enemy command functions

* Fix errors in target score formula

* Add example section and implementation guidelines

* Add info on matchup score range

* Fix GitHub rendering issues (maybe)

* Add types to function comments

* Trying to fix GitHub rendering issues again

* Use images for "cases" equations instead
2024-08-02 00:51:18 -04:00
Amani H.
aeafe0fddd
[Refactor/Bug] Use Bit Shifting & Masking (#3278) 2024-08-01 22:20:27 -04:00
Adrian T.
e416a26cfc
add missing changes from Sweet Veil PR part 2 (#3267) 2024-07-31 11:44:12 +01:00
Adrian T.
5b4a24824f
[Ability] Fully implement Pastel Veil, update Sweet Veil (after beta fix) (#3208)
* ful implement pastel veil, update sweet veil

* improve docs

* update docs

* cleanup attrs
2024-07-30 10:06:31 -04:00
Tempoanon
e9c48ef865
Sync beta with changes to main (#3235)
* [Hotfix] Fix interactions of some moves not changing types (#3183)

* [Hotfix] Fix wild spawns not having their HA (#3190)

* [Hotfix] Allow to hatch pokemon with Hidden Ability again (#3222)

* chore: Update TNC links layout and position in index.html

* chore: Update TNC links font size in index.css (#3230)

---------

Co-authored-by: Adrian T. <68144167+torranx@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: Frederico Santos <frederico.f.santos@tecnico.ulisboa.pt>
2024-07-30 00:23:47 -04:00
NxKarim
e3fb55834f
[Bug] [Fix] Metal Burst always hitting left target. (#3182)
* [Fix] Metal Burst always hitting left target.

Fixed Metal Burst always hitting left target, and the related freeze/crash.

* Prevent enemy redirection to their ally.

Co-Authored-By: innerthunder <168692175+innerthunder@users.noreply.github.com>

* Rename attackingPosition per chriSS's comment

---------

Co-authored-by: innerthunder <168692175+innerthunder@users.noreply.github.com>
2024-07-29 19:31:30 -04:00
Steven Chan
b573076789
[Bug] disallow ghost-type curse to bypass crafty shield (#3228)
Co-authored-by: Steven Chan <online@stevenchan.me>
2024-07-29 19:11:14 -04:00
Amani H.
b5d77c3d15
[Move] Implement Fusion Flare and Fusion Bolt (#1774) 2024-07-29 17:32:02 -04:00
Enoch
95242e463c
[Localization] Localize arena-tag messages & texts (#3011)
* feat: Add Google and Discord login functionality

feat: Add link to Discord in menu UI

feat: Add Discord and Google login functionality

Add container around discord and google icons

refactor: Update environment variable names for Discord and Google client IDs

feat: Add "Or use" translation for login options in multiple languages

feat: Update menu UI translations for multiple languages

Code review fixes

refactor: Update Discord and Google client IDs in environment variables

* refactor: Add missing properties to initLoggedInUser function

* Update src/locales/de/menu-ui-handler.ts

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>

* make i18n debugging an optional env setting

this also reduces output noise in tests

* set development default also to "0"

* fix inaccurate docs for TypeImmunityAbAttr (#2957)

* chore: Add beta branch to GitHub Actions tests workflow

* chore: Add beta branch to GitHub Actions linter and gh-pages workflow

* Update src/locales/ko/menu-ui-handler.ts

Co-authored-by: lnuvy <lnuvy.code@gmail.com>

* Update src/locales/ko/menu.ts

Co-authored-by: lnuvy <lnuvy.code@gmail.com>

* Localization(pt): translated bgm-name.ts (#2955)

* Localization(pt): translated bgm-name.ts

* fix

* update VITE_I18N_DEBUG in .env files

* chore: Update environment variables for beta and production environments

* chore: Add beta branch to GitHub Actions deploy workflow

* Hardcoded Pokemon should have proper names (#2941)

* Refactor challenges and add fresh start (#2963)

* [Balance] Update many TM learnsets (#2879)

* Update TMs for more Indigo Disk changes

* Fix typo, more Stored Power

* Refactor challenges and add fresh start (#2964)

* Refactor challenges and add fresh start

* Add achievement for fresh start challenge

* [Bug] Fix off-by-one error in damage calc (#2970)

* Fix random damage roll to be 85-100% instead of 85-99%

* Update battle.test.ts to reflect the fix

* [Bug] Grounded on Terrain fixes (#2969)

* [Help] [Move/Bug] Patches Psychic Terrain applicability edge cases

Was cancelling moves even if targeted mons weren't on the terrain.

* [Bug `]Pokemon.isGrounded` does not exist

Replaced with `Pokemon.isGrounded()`, which does.

* [Bug] Psychic Terrain priority move cancel ignoring ungrounded

* [Bug] Semi-invulnerable should not be grounded

* Update game-stats-ui-handler.ts (italian) (#2965)

* [Bugfix] Fix a bug during bgm-bar initialization (#2822)

* 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

* [Mirror][Localization] Translate game victory sentences #2254 (#2906)

* Translate forgotten sentences on phases

* Translate to de forgotten sentences on phases

* Translate to es forgotten sentences on phases

* Translate to fr forgotten sentences on phases

* Translate to it forgotten sentences on phases

* Translate to ko forgotten sentences on phases

* Translate to pt br forgotten sentences on phases

* Translate to zh cn forgotten sentences on phases

* Translate to zh tw forgotten sentences on phases

* remove duplicate message

* remove duplicate message

* Update src/locales/pt_BR/battle.ts

Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>

* Update src/locales/de/battle.ts

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>

* Update src/locales/de/battle.ts

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>

* Update battle.ts [Localization(it)]

* Update src/locales/zh_CN/battle.ts

Co-authored-by: Yonmaru40 <47717431+40chyan@users.noreply.github.com>

---------

Co-authored-by: Alexis <alexis.faizeau@animedigitalnetwork.fr>
Co-authored-by: 송지원 <jiwsong@gmarket.com>
Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>
Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
Co-authored-by: Niccolò <123510358+NicusPulcis@users.noreply.github.com>
Co-authored-by: Yonmaru40 <47717431+40chyan@users.noreply.github.com>

* [Mirror][Localization] Translate summary #2336 (#2907)

* Translate pokemon summary

* Translate pokemon summary to fr

* Translate pokemon summary to de

* Translate pokemon summary to es

* Translate pokemon summary to it

* Translate pokemon summary to ko

* Translate pokemon summary to pt br

* Translate pokemon summary to zh cn

* Translate pokemon summary to zh tw

* Fix import

* Update partially for en and ko

* Update interface name for en

* Merge trainerLabel&Text and calculate typeLabel width

* Update src/locales/es/pokemon-summary.ts

Co-authored-by: GoldTra <162721984+GoldTra@users.noreply.github.com>

* Apply translations key to all languages with interface TranslationEtries

* Update ko/translationKey of status

* Update ko/translationKey of pokemonInfo

* Update de/translationKeys of memostring and metFragment

* Update de/translationKeys of memostring and metFragment 2

* Update src/locales/ko/pokemon-summary.ts

Co-authored-by: Enoch <enoch.jwsong@gmail.com>

* Update src/locales/ko/pokemon-summary.ts

Co-authored-by: returntoice <dieandbecome@gmail.com>

* Update src/locales/pt_BR/pokemon-summary.ts

Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>

* Update src/locales/ko/pokemon-summary.ts

* Update src/locales/pt_BR/pokemon-summary.ts

Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>

* Update pokemon-summary.ts [Localization(it)]

* remove unused code

* Update src/locales/zh_CN/pokemon-summary.ts

Co-authored-by: Yonmaru40 <47717431+40chyan@users.noreply.github.com>

* Update src/locales/zh_CN/pokemon-summary.ts

Co-authored-by: Yonmaru40 <47717431+40chyan@users.noreply.github.com>

* Update src/locales/zh_CN/pokemon-summary.ts

Co-authored-by: Yonmaru40 <47717431+40chyan@users.noreply.github.com>

* Update src/locales/es/pokemon-summary.ts

Co-authored-by: Arxxer <javiptn7@gmail.com>

* Update src/locales/es/pokemon-summary.ts

Co-authored-by: Arxxer <javiptn7@gmail.com>

---------

Co-authored-by: Alexis <alexis.faizeau@animedigitalnetwork.fr>
Co-authored-by: Mr.WaterT <water.t.works@gmail.com>
Co-authored-by: Alexis Faizeau <faizeau.alexis@gmail.com>
Co-authored-by: GoldTra <162721984+GoldTra@users.noreply.github.com>
Co-authored-by: returntoice <dieandbecome@gmail.com>
Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>
Co-authored-by: 송지원 <jiwsong@gmarket.com>
Co-authored-by: Niccolò <123510358+NicusPulcis@users.noreply.github.com>
Co-authored-by: Yonmaru40 <47717431+40chyan@users.noreply.github.com>
Co-authored-by: Arxxer <javiptn7@gmail.com>

* [Localization] Localization arena flyout (Active Battle Effects) (#2932)

* localizing Active Battle Effects (working)

* Localize Active Battle Effects

* Change return value

* Modify arena terrain desc

* Update src/locales/zh_CN/arena-flyout.ts

Co-authored-by: Yonmaru40 <47717431+40chyan@users.noreply.github.com>

* Update src/locales/de/arena-flyout.ts

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>

* Update src/locales/fr/arena-flyout.ts

Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>

* Update arena-flyout.ts (IT)

* Update src/locales/pt_BR/arena-flyout.ts

Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>

* Update src/locales/es/arena-flyout.ts

Co-authored-by: Arxxer <javiptn7@gmail.com>

* Change util function name

---------

Co-authored-by: 송지원 <jiwsong@gmarket.com>
Co-authored-by: Yonmaru40 <47717431+40chyan@users.noreply.github.com>
Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>
Co-authored-by: Niccolò <123510358+NicusPulcis@users.noreply.github.com>
Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>
Co-authored-by: Arxxer <javiptn7@gmail.com>

* This should prevent gym leaders appear as doubles (marnie & piers) when they arent fixed battles (#2904)

* The stat messages can now be plural (#2600)

* The stat messages are now plural

* "And" can now be localized

* Revert Override

* Update src/locales/fr/battle.ts

Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>

* Update src/locales/fr/battle.ts

Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>

* Update src/locales/fr/battle.ts

Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>

* Update src/locales/zh_CN/battle.ts

Co-authored-by: Yonmaru40 <47717431+40chyan@users.noreply.github.com>

* Update src/locales/ko/battle.ts

Co-authored-by: Enoch <enoch.jwsong@gmail.com>

* Update src/locales/ko/battle.ts

Co-authored-by: Enoch <enoch.jwsong@gmail.com>

* Update src/locales/es/battle.ts

Co-authored-by: GoldTra <162721984+GoldTra@users.noreply.github.com>

* Update src/locales/es/battle.ts

Co-authored-by: GoldTra <162721984+GoldTra@users.noreply.github.com>

* Update src/locales/de/battle.ts

* Update src/locales/pt_BR/battle.ts

Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>

* Update src/locales/pt_BR/battle.ts

Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>

* Update src/data/battle-stat.ts

* Update src/locales/zh_CN/battle.ts

Co-authored-by: Yonmaru40 <47717431+40chyan@users.noreply.github.com>

* Changed the way the multiple is handeled to use the i18n way

* Missed one file

* Apply suggestions from code review

* Apply suggestions from code review

* Changed the tests so they work now with the i18n hting

* Fixed some other tests (chinese still makes problems...

* Fix tests for chinese

* Tests

* Update src/test/battle-stat.spec.ts

* Update src/locales/zh_CN/battle.ts

Co-authored-by: Yonmaru40 <47717431+40chyan@users.noreply.github.com>

* Apply suggestions from code review

---------

Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>
Co-authored-by: Yonmaru40 <47717431+40chyan@users.noreply.github.com>
Co-authored-by: Enoch <enoch.jwsong@gmail.com>
Co-authored-by: GoldTra <162721984+GoldTra@users.noreply.github.com>
Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>

* [Enhancement][QoL] Add option to adjust shop overlay opacity (#2622)

* add option to adjust shop overlay opacity

* add localization

* fix bug

* Update src/locales/fr/settings.ts

Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>

* Update src/locales/zh_CN/settings.ts

Co-authored-by: Yonmaru40 <47717431+40chyan@users.noreply.github.com>

* Update src/locales/fr/settings.ts

Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>

* update default value

* update setting values

* re-add value 10

* Update src/locales/pt_BR/settings.ts

Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>

* Update src/locales/ko/settings.ts

Co-authored-by: Enoch <enoch.jwsong@gmail.com>

* Update src/locales/es/settings.ts

Co-authored-by: InnocentGameDev <asdargmng@gmail.com>

* Update settings.ts

---------

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: InnocentGameDev <asdargmng@gmail.com>
Co-authored-by: Niccolò <123510358+NicusPulcis@users.noreply.github.com>

* [Bug] Fix battler tags lapsing at incorrect times (#2944)

* Fix battler tags lapsing at incorrect times

* Document FlinchedTag

* Update French pokemon-summary.ts (#2976)

* [Test] Prevent tests from running if overrides are different from the default values (#2110)

* mock default overrides in test setup

* change beforeEach to beforeALl

* move some more enums into the enums directory

* replace modules that import i18n into overrides with modules that don't

* add pre tests and update vitest configs, scripts

* replace tabs with spaces

* fix vitest server port overlap warning

* add missing overrides and clean up workspace config

* change test name

* include spec files in main test suite

* [QoL] Highlight targets of multitarget moves instead of immediate execution (#2863)

* show targets for move targeting multiple pokemon

* dont allow selecting target if multiple

* fix targeting

* cleanup

* more cleanup

* only highlight targets is move is not status

* fix tests failing

* fix tests

* change "immediately" to "auto"

* nevermind just remove auto

* remove status move condition

* [Refactor] rewrite applyAbAttrsInternal to use an iterator. (#1832)

* initial rewrite of applyAbAttrsInternal

* clean up applyAbAttrsInternal

* remove the await because it wraps non Promises in a promise

* add TODO comment about promises

* fix broken costar test, hopefully

* Update typescript and typedoc (#2988)

* update typescript and typedoc to latest versions

* forgot to add the package-lock

* add fixes for breaking type gen

* update workflow (#2989)

* [Qol/Balance] Dynamax cannon tweak (#2540)

* Dynamax Cannon fix

* Update src/locales/fr/move.ts

Added fr translation.

Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>

* Update src/locales/fr/move.ts

Adding an important missing precision in French description

Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>

* Update src/locales/de/move.ts

German locale commit.

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>

* Update src/locales/zh_CN/move.ts

Chinese locale commit, checked by a native speaker

Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>

* Update src/locales/ko/move.ts

Korean locale added

Co-authored-by: returntoice <dieandbecome@gmail.com>

* fixed trailing space in Chinese locale

* added es locale

* Different Dynamax Cannon fix. This one is the one

* Dynamax Cannon fix localisations

* Update src/locales/fr/move.ts

Added fr locale

Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>

* Update src/locales/de/move.ts

German translation ^^

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>

* Update src/locales/pt_BR/move.ts

pt-BR translation

Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>

* Update src/locales/de/move.ts

Eslint fix, good catch @Enoch

Co-authored-by: Enoch <enoch.jwsong@gmail.com>

* Update src/locales/ko/move.ts

Korean locale ^^

Co-authored-by: sodam <66295123+sodaMelon@users.noreply.github.com>

* Update src/locales/zh_CN/move.ts

zh_CN locale

Co-authored-by: RimKnight <rimknight852@gmail.com>

* Update src/locales/zh_TW/move.ts

zh_TW locale

Co-authored-by: RimKnight <rimknight852@gmail.com>

* Update move.ts

linting mistake due to how my comment was written

* Update move.ts

linting mistake due to how my comment was written

* Update move.ts [Localization(it)]

* WIP test

* WIP test part 2

* [Test] Add Unit Tests for Dynamax Cannon

* removed some unnecessary cases in the test to reduce testing overhead

* Update src/locales/ko/move.ts

Updated kr locale

Co-authored-by: Enoch <enoch.jwsong@gmail.com>

* [Test] Adjust Unit Tests for Dynamax Cannon

---------

Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>
Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
Co-authored-by: returntoice <dieandbecome@gmail.com>
Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>
Co-authored-by: Enoch <enoch.jwsong@gmail.com>
Co-authored-by: sodam <66295123+sodaMelon@users.noreply.github.com>
Co-authored-by: RimKnight <rimknight852@gmail.com>
Co-authored-by: Niccolò <123510358+NicusPulcis@users.noreply.github.com>
Co-authored-by: xsn34kzx <xsn34kzx@gmail.com>

* [Test] Fix/Extend Unit Test for Hard Press (#2992)

* [Test] Update tests to enable no-crits override (#2971)

* Update tests to enable no-crits override

* Rename variable maxHP to initialHP

* [Localization]Localized move-trigger text (#2913)

* [Localization]Localized move-trigger text

* [Localization]Localized zh-cn move-trigger text

* [Localization]fix typo

* [Localization]fix typo

* Update src/locales/pt_BR/move-trigger.ts

Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>

* [Localization]add pokemonName to move-trigger.ts

* [Localization]add pokemonName to move-trigger.ts

* Update zh_TW move-trigger.ts

* Update zh_CN move-trigger.ts

* Update move.ts

* Update src/locales/ko/move-trigger.ts

Co-authored-by: Enoch <enoch.jwsong@gmail.com>

* Update src/locales/ko/move-trigger.ts

Co-authored-by: Enoch <enoch.jwsong@gmail.com>

* Update move-trigger.ts

* Update src/locales/de/move-trigger.ts

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>

* [Localization]add affix to target pokemon names

* Update src/locales/fr/move-trigger.ts

Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>

* localized type

---------

Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>
Co-authored-by: Enoch <enoch.jwsong@gmail.com>
Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>

* [Bug] Fix description of rare candy to have proper amount of level (#2903)

* [Bug] Fix description of rare candy to have proper amount of level

* Update en locales

* Add locales

* Add locales

* Update src/locales/de/modifier-type.ts

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>

* Update src/locales/de/modifier-type.ts

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>

* Update src/locales/fr/modifier-type.ts

Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>

* Update src/locales/fr/modifier-type.ts

Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>

* Update src/locales/ko/modifier-type.ts

Co-authored-by: Enoch <enoch.jwsong@gmail.com>

* Update src/locales/ko/modifier-type.ts

Co-authored-by: Enoch <enoch.jwsong@gmail.com>

* Update src/locales/zh_CN/modifier-type.ts

Co-authored-by: Yonmaru40 <47717431+40chyan@users.noreply.github.com>

* Update src/locales/zh_CN/modifier-type.ts

Co-authored-by: Yonmaru40 <47717431+40chyan@users.noreply.github.com>

* Update src/locales/pt_BR/modifier-type.ts

Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>

* Update src/locales/pt_BR/modifier-type.ts

Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>

* Update modifier-type.ts (IT)

* Update src/locales/es/modifier-type.ts

Co-authored-by: Arxxer <javiptn7@gmail.com>

* Update src/locales/es/modifier-type.ts

Co-authored-by: Arxxer <javiptn7@gmail.com>

---------

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>
Co-authored-by: Enoch <enoch.jwsong@gmail.com>
Co-authored-by: Yonmaru40 <47717431+40chyan@users.noreply.github.com>
Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>
Co-authored-by: Niccolò <123510358+NicusPulcis@users.noreply.github.com>
Co-authored-by: Arxxer <javiptn7@gmail.com>

* move status effect enum into separate file (#2998)

* add .env.test (#2997)

block i18n debug output by default

* [QoL] Create default overrides class and export that with custom overrides (#2999)

* 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

* [Feature][FUN] add breedersInSpace splash message (#2631)

* add spaceBreeder splash message

* fix typo (whops)

* Add pt_BR translation

Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>

* replace text & key with breedersInSpace

* add french tanslation

Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>

* remove obsolete array split in splash-messages.ts

* Update src/locales/pt_BR/splash-messages.ts

Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>

* Update src/locales/es/splash-messages.ts

Co-authored-by: Asdar <asdargmng@gmail.com>

* Update splash-messages.ts (Italian)

* Update src/locales/zh_CN/splash-messages.ts

Co-authored-by: Yonmaru40 <47717431+40chyan@users.noreply.github.com>

* Update src/locales/ko/splash-messages.ts

Co-authored-by: sodam <66295123+sodaMelon@users.noreply.github.com>

---------

Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>
Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>
Co-authored-by: Asdar <asdargmng@gmail.com>
Co-authored-by: Niccolò <123510358+NicusPulcis@users.noreply.github.com>
Co-authored-by: Yonmaru40 <47717431+40chyan@users.noreply.github.com>
Co-authored-by: sodam <66295123+sodaMelon@users.noreply.github.com>

* [Enhancement] Pokemon generation number tooltip (#2642)

* Create tooltip to show Pokemon generation

* Add option to toggle generation tooltip

* Use roman numeral for generation tooltip

* Revert "Add option to toggle generation tooltip"

This reverts commit 414b2366fc.

* Update src/locales/de/battle-info.ts

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>

* Update src/locales/fr/battle-info.ts

Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>

* Update src/locales/pt_BR/battle-info.ts

Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>

* Update src/locales/zh_TW/battle-info.ts

Co-authored-by: RimKnight <rimknight852@gmail.com>

* Update src/locales/zh_CN/battle-info.ts

Co-authored-by: RimKnight <rimknight852@gmail.com>

* Update src/locales/ko/battle-info.ts

Co-authored-by: Enoch <enoch.jwsong@gmail.com>

* Update battle-info.ts (IT)

---------

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>
Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>
Co-authored-by: RimKnight <rimknight852@gmail.com>
Co-authored-by: Enoch <enoch.jwsong@gmail.com>
Co-authored-by: Niccolò <123510358+NicusPulcis@users.noreply.github.com>

* [Beta] Updating the manage data->unlock all option to work with all abilities, natures, forms and passives (#2967)

* Updated code to allow user to unlock all pokemon from the manage data menu option

* Added code to Utils to allow it to check for a beta env, and hid the unlock all code behind that. This should stop it from being accessed in prod envs

* Updated another section to be locked behind beta check, and also updated the everything.prsv to have everything unlocked going forward

* Fixed some code reviews

* [Bug] vite port (for development) (#3003)

* make vite-port configurable

and make it default 8000

* add retries for `does not trigger by non damage moves` test

* feat: Update isBeta check in utils.ts to use import.meta.env.MODE

The current implementation of the isBeta check in utils.ts is using import.meta.env.DEV, which gives the same value for both beta and dev environments. This commit updates the check to use import.meta.env.MODE === "beta" to accurately determine if the environment is beta. This ensures that the unlock all code is only accessible in the beta environment and not in production environments.

* refactor: Update trainerId and secretId in game data

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.

* Adds bg glow behind starters with unlocked passives (#2497)

* [Localization] Localize missed things in battlers-tag.ts (#3004)

* Localize missed things in battlers-tag

* Change orders of configs

* Add missed phase

* Update src/locales/zh_CN/battle.ts

Co-authored-by: RimKnight <rimknight852@gmail.com>

* Update src/locales/zh_CN/battle.ts

Co-authored-by: RimKnight <rimknight852@gmail.com>

* Update src/locales/zh_TW/battle.ts

Co-authored-by: RimKnight <rimknight852@gmail.com>

* Update src/locales/zh_TW/battle.ts

Co-authored-by: RimKnight <rimknight852@gmail.com>

* Update src/locales/zh_TW/battler-tags.ts

Co-authored-by: RimKnight <rimknight852@gmail.com>

* Update src/locales/zh_CN/battler-tags.ts

Co-authored-by: RimKnight <rimknight852@gmail.com>

---------

Co-authored-by: RimKnight <rimknight852@gmail.com>

* [Feature] Fully implement Octolock (#2985)

* implement octolock

* Add tests

* Add localization of arena tag (TODO : config add)

* [Bug] Fix import of overrides in a test (#3009)

* [BUG] Fixes Sketch copying the first move used by the opponent instead of the last (#2759)

* Changes getMoveHistory to getLastXMoves to fix sketch copying first move used instead of last

* Optimizes move search and early return

* Reverts check for virtual moves

* [Bug] Making FormChangeItems Untransferrable (#2695)

* Made FormChangeItems untransferrable. Replaced getTransferrable()

* Made isTransferrable readonly. Removed unnecessary 'm as PokemonHeldItemModifier'.

* [Bug] Fix Clear terrains upon Trainer Battle (#2027)

* Clear terrains upon Trainer Battle

* Adjusted comment

* Fix item reward overrides going out of bounds (#3012)

* [Localization] Localize Berry Heal message (#2996)

* Localize berry heal message (HP/PP)

* Change location of translation

* conflict resolve

* Update src/locales/de/battle.ts

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>

Update src/locales/de/battle.ts

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>

Update src/locales/de/battle.ts

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>

* Update src/locales/zh_CN/battle.ts

Co-authored-by: mercurius-00 <80205689+mercurius-00@users.noreply.github.com>

* Update src/locales/zh_TW/battle.ts

Co-authored-by: mercurius-00 <80205689+mercurius-00@users.noreply.github.com>

* Update src/locales/fr/battle.ts

Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>

* Update src/locales/pt_BR/battle.ts

Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>

* Update src/locales/pt_BR/battle.ts

Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>

* Update battle.ts (Berries ITALIAN)

---------

Co-authored-by: 송지원 <jiwsong@gmarket.com>
Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
Co-authored-by: mercurius-00 <80205689+mercurius-00@users.noreply.github.com>
Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>
Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>
Co-authored-by: Niccolò <123510358+NicusPulcis@users.noreply.github.com>

* Adds a check to the bgm-bar display to prevent it from being displayed in case of an empty value (#3007)

* Update src/locales/fr/arena-tag.ts

Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>

* Update src/locales/de/arena-tag.ts

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>

* [Sprite] Improves Corviknight Palette usage (#3020)

* [Sprite] Compress Corviknight exp

* [Sprite] Compress Corviknight exp

* [Sprite] Compress Corviknight exp

* [Sprite] Compress Corviknight exp

* [Sprite] Compress Corviknight exp

* [Beta][Localization] Update French battler-tags.ts and battle.ts (#3015)

* Update French battler-tags.ts

* Update battle.ts

* [Bug] Fix Lock-On and Mind Reader not working on the first turn (#3001)

* [Bug] Struggle Recoil should ignore Magic Guard (#3017)

* Drafted testable conditions for Magic Guard

* Weather Test

* Update src/test/abilities/magic_guard.test.ts

InnerThunder

Co-authored-by: innerthunder <168692175+innerthunder@users.noreply.github.com>

* Implemented checks for poison/toxic/burn

* Added tests for recoil moves and volatile status

* Updated Rock Head, Magic Guard, and Reckless interactions with Struggle

* Removed stray file

* Fixed Typedoc errors

* Implemented innerthunder's feedback

---------

Co-authored-by: Frutescens <info@laptop>
Co-authored-by: innerthunder <168692175+innerthunder@users.noreply.github.com>

* [Enhancement] Decouple move power calculation from Pokemon.apply(), Fixes Power Spot & Battery not boosting ally's move (#2984)

* refactor power calc, fix battery & power spot

* fix hard press unit test

* fix hard press

* refactor tests

* use sypOn hp instead

* rename method

* cleanup tests

* improve tests

* use slow vs fast pokemon

* fix steely spirit test

* fix steely spirit for real this time

* remove unnecessary test

* address pr feedback

* add removed code

* [QoL] Offset the status indicator to keep pokeball in view (#2966)

* Offset the status indicator to keep pokeball in view

* Only use offsetX when the Pokemon is the enemy

* Adjust position to accomodate boss health bar

* [Bug] Fix to epic shiny Yungoos icon (#2991) (#3016)

Fixed a floating pixel in epic shiny Yungoos' icon. Caused by Mimikyu's epic shiny sprite being placed too high on the sprite sheet. Moved Mimikyu's sprite down and updated json to reflect the change.

* [Localization(ko)] Change line-break position of ghost type curse add message (#3022)

* Update src/locales/de/arena-tag.ts

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>

* Revert "[Localization]Localized move-trigger text (#2913)" (#3026)

This reverts commit 39bdfea0c8.

* [Localization(ko)] Fixed typo in Bertha's dialogue (#3025)

* [Bug] Prevent fixed-damage and OHKO moves from being modified by damage-reducing abilities (#2703)

* ReceivedMoveDamageMultiplierAbAttr patch: WIP refactored damage calculation, reordered ReceivedMoveDamageMultiplierAbAttr to avoid issues with fixed damage and OHKO moves, stubbed unit tests for dragon rage (fixed damage) and fissure (OHKO)

* ReceivedMoveDamageMultiplierAbAttr patch: commented concerns regarding EnemyDamageBooster/ReducerModifier for others' reference in WIP branch

* ReceivedMoveDamageMultiplierAbAttr patch: reordered ReceivedMoveDamageMultiplierAbAttr and EnemyDamageBooster/ReducerModifier to not trigger for fixed damage and OHKO moves, completed relevant tests for dragon rage and fissure

* ReceivedMoveDamageMultiplierAbAttr patch: removed newline

* ReceivedMoveDamageMultiplierAbAttr patch: in the unit test, extracted hard-coded Dragon Rage damage to a variable

* ReceivedMoveDamageMultiplierAbAttr patch: naming consistency

* ReceivedMoveDamageMultiplierAbAttr patch: replaced awaiting DamagePhase with TurnEndPhase as the former assumes damage will be done

* ReceivedMoveDamageMultiplierAbAttr patch: removed redundant overrides in Fissure tests

* ReceivedMoveDamageMultiplierAbAttr patch: tests: refactored crit removal, removed berries, fixed bug associated with Porygon sometimes getting Trace and copying the opponent's ability, which would override the manual ability override

* Fixed unit tests

* Added a comment and cleaned up an existing one

* Update src/locales/zh_CN/arena-tag.ts

Co-authored-by: Yonmaru40 <47717431+40chyan@users.noreply.github.com>

* [Localization] Brought german localization up to date (#3010)

* Fixed errors in the german localization

* Fresh Start Challenge

* Update src/locales/de/move-trigger.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>

* [Bug] Remove redundant damage number popups (#3024)

* Remove magic number from Belly Drum's attr

* Remove redundant damage number popup

* Fix merge issue and remove another duplicate damage number instance

* [Move] Implements Conversion 2 (#2943)

* Creates function to get type resistances, implements conversion 2

* Removes unimplemented tag, adds condition for move history to exist

* Cleans up type selection, creates i18n entries for typeChanged

* Uses typeChanged i18n in Conversion move

* More detailed docs, early return with stellar/unknown type

* Adds note that it wont track type-changing moves properly

* Rephrases doc description, adds partial since it can't track type-changing moves

* Updates localization, removes typeChanged entry to use move-trigger entry

* Missed locale de entry in last commit

* Adds comment for reason of .partial()

* Fixes localization error due to revert, removes improper merge conflict from prior commit

* [BUG] Fixes bug with Metronome freezing the game (#2819)

* Tests MovePhase with new PokemonMove instead of moveset search

* Accounts for metronome call on charging moves

* Update comment in ChargeAttr to be clearer

* Add missing passive background graphic for legacy UI

Relating to #2497 , this adds an identical graphic to the legacy UI files, as it will show up as a missing texture otherwise.

* [Localization] Localize ability messages in ability.ts (trigger, apply...) (#2972)

* localize ability messages

* Update src/locales/de/ability-trigger.ts

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>

* Modify parameter name, fix eslint

* Korean Translation, modify some wrong param

* Add missed message

* Update src/locales/de/ability-trigger.ts

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>

* Update ability-trigger.ts (Partial) (Italian)

* Localize type name

* Localize type name > Libero, Protean

* param bug fix

* Update src/data/ability.ts

* Update zh-cn

* Update ability-trigger.ts (Partial part 2, still not completed) (Italian)

* Update src/locales/fr/ability-trigger.ts

Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>

* Update src/locales/pt_BR/ability-trigger.ts

Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>

* Update src/locales/fr/ability-trigger.ts

Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>

---------

Co-authored-by: 송지원 <jiwsong@gmarket.com>
Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
Co-authored-by: Niccolò <123510358+NicusPulcis@users.noreply.github.com>
Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>
Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>

* Update egg.ts (italian) (#3038)

* [Sprite] Revert Larvesta, fixing stray pixels (#3042)

* [Sprite] Remove normal Larvesta stray pixels

Taken from original commit

* [Sprite] Revert shiny Larvesta stray pixels

Taken from original commit

* [Sprite] Match variant Larvesta colours

* [Bug] Fix level 100 moves being skipped if leveled past 100 (#3040)

* [Bug][Fix][Surf][Muddy Water][Sludge Wave][Animation] Added image to move animations. (#3044)

* Update muddy-water.json

* Update sludge-wave.json

* Update surf.json

* [Sprite] Fix Cofagrigus sprite (#3045)

* Fix Cofagrigus sprite

* Base sprite fix

* Created json variant file... manually

* Fix FR typo (#3051)

* [Beta][Localization] Update Portuguese battler-tags.ts and battle.ts (#3050)

* [Music/BGM] Fix bgm file & loop for battle_rival (#3053)

* stop loading pride-update banner (#3057)

* [Item] Add Scope Lens and Leek (#2666)

* [Item] Add Scope Lens and Leek

* Add Entry to pt_BR

* Localize for pt_BR

Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>

* Fix & Clean Unit Tests

---------

Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>

* [Music/BGM] New music added for the "Slum" biome, composed by Andr06 (#3000)

* Replacement of the BGM in the slum biome (by Andr06)

* Modification of BGM credits in README.md

* Replacement of the BGM name by the title chosen by its composer in all languages

* Update BGM loop point for biome 'SLUM'

* [Bug] implemented multi target damage penalty (#2329)

* fix: damage multiplier by  the number of targets

* fix: used actual number value rather than the number holder

* test: added unit test for counting targets

* multi-target: fixed names of the unit tests.

* test: simple-test changes

* test: changed multi-target test code

* test: testing damage decreasement

* test: multi-target test fix

* resolved conflicts in test

---------

Co-authored-by: Tempoanon <163687446+Tempo-anon@users.noreply.github.com>

* [BUG] Uturn faint switch bug fix (#2980)

* reordering adding switch phases for u-turn

* reverting some temp changes

* generalizing function

* adding PR suggestions

* nit indenting

* [Sprite] Remove extra Oinkologne sprites (#3067)

* Delete public/images/pokemon/female/916.png

* Delete public/images/pokemon/exp/female/916.json

* Delete public/images/pokemon/exp/female/916.png

* Delete public/images/pokemon/female/916.json

* [Sprite] Mega Mewtwo sprite fixes (#3065)

* [Sprite] Add static epic Mega Mewtwo Y

Colours taken from exp, as consistent/exp rare backs share palettes.

* [Sprite] Fix transparent pixels on Mega Mewtwo X

* [Sprite] Fix transparent pixels on Mega Mewtwo X

* [Sprite] Add static epic Mega Mewtwo Y

Now exists, and is a paletteswap

* [Music/BGM] New music added for the "Sea" biome, composed by Andr06 (#3063)

* Replacement of the BGM in the sea biome (by Andr06)

* Modification of BGM credits in README.md

* Replacement of the BGM name by the title chosen by its composer in all languages

* Update BGM loop point for biome 'SEA'

* [Balance] Add 12 new TMs and remove 3 (#2733)

* Added Counter TM

* Counter, Aqua Tail, Gastro Acid, Pluck, Secret Power, Aurora Veil, Incinerate

* Placed TMs in proper order, added to pool

* Add Secret Power to the pool

* Add TM for Synthesis

* Covet, Heal Bell, PUPunch, Recycle, Volt Tackle, Worry Seed

* Remove species specific TMs

* Remove Secret Power TM until implementation

* [Refactor/Test] Update Dynamax Cannon Unit Tests (#3074)

* [Refactor/Test] Update Dynamax Cannon Unit Tests

* Adjust Test Names

* fix: update SameSite attribute in setCookie function to None

* fix: update SameSite attribute in setCookie function to Strict

* feat: Add prompt=none to Discord OAuth authorization URL

* fix: Remove unnecessary cookie setting in LoginPhase and MenuUiHandler

* feat: Improve cookie handling in getCookie function

* feat: Delete duplicate cookies with the same name in getCookie function

* [Localization] Add minor Korean translations to ability-trigger file (trace) (#3093)

* modify trace trigger description (refered from official translation)

modify trace trigger description (refered from official translation)

* modify trace trigger description (refered from official translation)

modify trace trigger description (refered from official translation)

* Fix broken `multi_target` tests and remove RNG-based failures (#3095)

* Prevent RNG from breaking the Quick Draw tests (#3096)

* Make EXP boosting items stack additively and not multiplicatively (#3094)

Fixes #2040

* [Bug] Fixes Encore bug with multi-target moves missing (#3060)

* Pushes move history even when multi target move misses

* Move pushMoveHistory out of Move Pending condition

* Add remaining relearn moves (#2894)

* [Enhancement] Decouple move accuracy and accuracy multiplier calculation from phases.ts (#2899)

* refactor accuracy calc

* update doc

* move accuracy multiplier calculation outside phases

* update wonder skin unit test

* rename method

* add docs

* add unit tests

* address feedback

* rename method

* fix imports

* improve tests

* add test for ohko move accuracy

* [Sprite] Fix a number of sprite issues including the Zubat line, Goldeen, Golett, Dudunsparce, H-Sneasel, Garchomp, Sylveon, Marshadow (#3069)

* Batfix, Goldeen, Chomp, Golett, genies

* Fix Dudunsparce using Reborn shiny backsprite for whatever reason

* Fix female Hisuian Sneasel missing variants

* Marshadow epic front and Zenith, Sylveon back

* Fix Zubat line back sprite inconsistencies

* Fix Noivern shiny back

* [Move] Finish implementation of Glaive Rush (#2720)

* Finish implementation of Glaive Rush

* Fix test RNG

* Add code/test for Multi-Lens interaction

* Fix off-by-one error in test caused by rounding issues

* Update for code changes

* Fix BattlerTag name

* [Bug] fix not changing moveset after add to starter #1932 (#2396)

* [Bug] Enemies can properly use stuff cheeks (#3090)

* [Feature] Added pokemon nicknames/renaming (#2570)

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

* [Sprite] Show Partner Eevee variants (#3097)

* [Sprite] Show Partner Eevee variants

Taken from non-partner Eevee

* [Sprite] Show Partner Eevee variants

Taken from non-partner Eevee

* [Sprite] Show Partner Eevee variants

* Allow Necrozma forms to play their special music (#3054)

* [BUG] fixing multi-hit and move messages on faint (#2981)

* fixing order of messages, scences, to render messages before fainting

* updated fix for effectiveness text rendering order for multi hit moves

* fixing messages not appearing for multi-hit moves on faint

* updated multi-hit condition)

* fixing PR conflicts

* adding comments and FaintPhase setPhaseQueueSplice bug, fixing overrides merge conflict

* writing better comments

* removing space diff in overrides

* adding fainting check for self damage moves

* emergency fixing broken last commit

* additional comments for multi-hit problem

* updating comments, jsdoc style

* fixing linter, destiny bond errors

* splitting up varaible comments to be in JSDoc format

* fixing tests and merge mistakes

* adding rendering of multihit moves that only hit once

* fixing comment formatting_tabs and spaces

---------

Co-authored-by: Benjamin Odom <bennybroseph@gmail.com>

* [Bug] Sheer Force/Serene Grace Flyout Bugfix (#2496)

* Disable Show Ability for Serene Grace and Sheer Force when opponent calculates targetBenefitScore

* Add comment and definition to argument

* [Visual] Achievement icons (#2617)

* Text Changes to MonoGen Challenges

* Item Texture Files

* MonoGen Ribbons added

* Resolving merge conflict

* Updated texture files? I think

* Changed image names and added new localizations for  syntax

* Removed unused ribbons

* [Feature] replace bug-report template with form (#2772)

* replace bug-report template with form

* update bug_report.yml

* add palceholders for data & session file

* Update item atlas

* Update item atlas again

This time, after merging main into the PR.

* [Sprite] Show Partner Eevee variants (#3097)

* [Sprite] Show Partner Eevee variants

Taken from non-partner Eevee

* [Sprite] Show Partner Eevee variants

Taken from non-partner Eevee

* [Sprite] Show Partner Eevee variants

* Merged with beta's new items

* Fixed typedoc issues

* Removing localizations

* Text Changes to MonoGen Challenges

* Item Texture Files

* MonoGen Ribbons added

* Resolving merge conflict

* Updated texture files? I think

* Changed image names and added new localizations for  syntax

* Removed unused ribbons

* Update item atlas

* [Feature] replace bug-report template with form (#2772)

* replace bug-report template with form

* update bug_report.yml

* add palceholders for data & session file

* Update item atlas again

This time, after merging main into the PR.

* Merged with beta's new items

* Fixed typedoc issues

* Removing localizations

* Allow Necrozma forms to play their special music (#3054)

* Allow Necrozma forms to play their special music (#3054)

* MonoGen Ribbons added

* Text Changes to MonoGen Challenges

* Item Texture Files

* MonoGen Ribbons added

* Updated texture files? I think

* Changed image names and added new localizations for  syntax

* Fixed typedoc issues

* Revert "Text Changes to MonoGen Challenges"

This reverts commit 3bf79acc6a.

* Text Changes to MonoGen Challenges

* Item Texture Files

* MonoGen Ribbons added

* Resolving merge conflict

* Updated texture files? I think

* Changed image names and added new localizations for  syntax

* Removed unused ribbons

* Update item atlas

* [Feature] replace bug-report template with form (#2772)

* replace bug-report template with form

* update bug_report.yml

* add palceholders for data & session file

* Update item atlas again

This time, after merging main into the PR.

* Merged with beta's new items

* Fixed typedoc issues

* Removing localizations

* Text Changes to MonoGen Challenges

* Item Texture Files

* MonoGen Ribbons added

* Resolving merge conflict

* Updated texture files? I think

* Changed image names and added new localizations for  syntax

* Removed unused ribbons

* Update item atlas

* Update item atlas again

This time, after merging main into the PR.

* Merged with beta's new items

* Fixed typedoc issues

* Removing localizations

* MonoGen Ribbons added

* Text Changes to MonoGen Challenges

* Item Texture Files

* MonoGen Ribbons added

* Updated texture files? I think

* Changed image names and added new localizations for  syntax

* Fixed typedoc issues

* Revert "Text Changes to MonoGen Challenges"

This reverts commit 3bf79acc6a.

* Please fix this.

* Revert "[Feature] replace bug-report template with form (#2772)"

This reverts commit aa69b10777.

---------

Co-authored-by: Frutescens <info@laptop>
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
Co-authored-by: Madmadness65 <blaze.the.fireman@gmail.com>
Co-authored-by: chaosgrimmon <31082757+chaosgrimmon@users.noreply.github.com>
Co-authored-by: Madmadness65 <59298170+Madmadness65@users.noreply.github.com>

* Re-add changes accidentally deleted by #2617

* Fix some broken images in item atlas & achievement

Fixed the broken sprites in the item atlas, and fixed the Baton Pass achievement to use the Baton item now (it was broken by the Leek being renamed). Also resized the Baton item image to 32*32, like all the other items.

* fix: Remove unnecessary cookie setting in removeCookie function

* fix: Update removeCookie function to use Max-Age=-1 instead of Expires header

The removeCookie function was updated to use the Max-Age=-1 attribute instead of setting the Expires header to a past date. This change ensures that the cookie is immediately expired when removed, preventing any potential login loops. Additionally, a legacy cookie without a domain was added to handle older cookies. This commit resolves the unnecessary cookie setting in the removeCookie function.

* [QoL] Starter UI selection update to allow removing specific pokemon from party  (#1983)

* Initial commits with logic to remove starters if they're in your party. Still need to make it work so that the starter selection cursor disappears when a starter is unselected

* Updated code to be able to remove pokemon, including the side icons and cursor locations

* Fixed popstarter to work with any index

* Updating code to allow navigation of starter icons

* Updating code to allow navigation of party starter icons

* Updaing navigation of party icons

* Updated logic to fix incorrect icon in top left of pokemon options when navigating the starter icons

* Updated logic to include the ability to navigate and interact with the starter icons

* Forgot to push the actual starter-select-ui-handler. Might be a bit hard to test things out without that :)

* Removed some unnecessary comments

* Fixed small bug with not being able to move from the far right to the gen selection when the starter icons were empty

* Updated code to not be using a method to generate the party menu and made it more like it used to be. This should help with merge conflicts in the future

* I committed the merged version but forgot to make the starter-select-ui-handler staged after making the changes

* Accidentally broke challenges that had a specific typing requirement with last commit. This should fix it

* Changed how navigation worked based on popular demand

* Fixed code review comments

* Accidentally left in a whole block of commented code. Intentionally removing it now

* Started adding logic for mono type challenge runs to not break the game if the user tries to start a run with an invalid party

* Updated the text to say the party is invalid

* Updated logic to make invalid pokemon greyed out when no valid pokemon are in your party

* Added comments on some code

* Updated locales to include the key for trying to start with invalid parties during a challenge

* Fixed some code from a bad merge where a challenge related param that was previously a number now needed to be a boolean and wasn't

* Removed comment as per review

* [Bug] Ability changing on evolution fix (#2995)

* Prevent Pokemon with their second ability from evolving into their HA

* Add check for fusions too

* Localization(pt): Updated move.ts (#3078)

* Localization(pt): Updated move.ts and fixed King's Shield

* more fixes

* [Bug] Enemy pokemon's Harvest creates berry icons on the player's side when triggered (#3077)

* [Bug] Fix hustle not applying attack boost (#3101)

* [Sprite] Mega Latis using opposite's eye colour (#3102)

* [Sprite] Mega Latis using opposite eyes

Taken from counterpart Lati

* [Sprite] Update Mega Latios eyes

* [Sprite] Update Mega Latias eyes

* [Sprite] Mega Latias duplicated palette value

Colour taken from non-exp Mega Latias

* [Bug] Fix Thousand Arrows not hitting targets under the effects of Magnet Rise (#3100)

* Fix Thousand Arrows not hitting through Magnet Rise

* Add integration test for Thousand Arrows vs. Magnet Rise

* ESLint

* Remove unnecessary checks in integration tests

* [Move] Aeroblast is a wind move (#3109)

* Hardcoded Pokemon should have proper names

* Aeroblast is a wind move

* [Refactor] Replaces the single and double battles overrides with a single override (#3104)

`SINGLE_BATTLE_OVERRIDE` and `DOUBLE_BATTLE_OVERRIDE` are now `BATTLE_TYPE`

Also updates all uses of the old overrides with the new one

* fix `Overrides` capitalization (#3111)

* [Balance] More TM fixes (#3081)

* More TM fixes

* Leaf Storm

* Removed sexy matcha

* [Refactor] Code readability update (#3085)

* Clean up/clarify `src/field/pokemon.ts` a bit

Code provided by DerTapp on Discord

* Update `PokemonSpeciesForm.getAbilityCount()`

* Update `PokemonSpeciesForm.getAbility()`

* Add explicit `Abilities.NONE` checks

* Add tests

* Add jsdoc and implement test suggestions

* [Move] Implement Stockpile, Spit Up, Swallow (#2960)

* feat: Implement Stockpile, Spit Up, Swallow

* chore: Minor, likely unnecessary null checks

* feat: Localization

* Undo non-English localizations (unsure if they went through proper channels)

* ko localization

from @EnochG1

Co-authored-by: Enoch <enoch.jwsong@gmail.com>

* linting fix

* add tests, tiny (non-functional) tweaks

* Remove unnecessary cast

* Update src/data/move.ts

(oops)

* remove some unnecessary comments, rename something for clarity

---------

Co-authored-by: Enoch <enoch.jwsong@gmail.com>

* [Bug] Remove ability swap code in `PlayerPokemon.evolve()` (#3113)

* [Test] Add test for rollout move (#3114)

* add test for rollout move

Co-authored-by: Zach Day <zachdayz@gmail.com>

* fix tests still using `SINGLE_BATTLE_OVERRIDE`

---------

Co-authored-by: Zach Day <zachdayz@gmail.com>

* [Bug][Beta] Fix Hyper Beam, etc. permanently recharging (#3115)

* Fix Hyper Beam, etc. permanently recharging

* Fix override in hyper beam test

* [QoL] New Starter Select UI with Filter (#2916)

* update images for new UI

* add updated starter UI with filter code

* update starter-select test code

* update win filter condition to pass test

* remove unnecessary console log

* update test code to match current filter UI

* merge update

* apply bugfix & chrry-pick small issues fix which are handled beta branch

* resolve conflicts

* fix lint errors

* Fixed a bug where the target location for escaping using the left and right buttons on the starter button did not account for scrolling

* update filter bar label color change when activated

* fix lint error

* fix lint

* fix octolock.text.ts. it looks override import error. idk why it is happend in this PR. but it looks ok now

* add passive dropdown in unlocks filter

* fix lint

* fix double button sound bug. refactoring genSpecies -> allSpecies, starterContainers -> starterContainer which are remove unnecessary generation axis

* optimize updateStarterValueLabel function which is bottleneck of UI update latency

* apply translation of gen filter label. fix lint

* add # candies sort option

* merge beta

* resolve confilcts

* fix offset of starter and start cursor

* make compatible with starter UI

* add missing feature

* add images for legacy UI. adjust the position and size of the starterContainerWindow

* [Localization] Implement Form localization (#3030)

* Implement Pokemon forms localization

* Update French pokemon-form.ts

* Update French pokemon-form.ts

* Update pokemon-form.ts

* Add battle forms korean translation from returntoice

Co-authored-by: returntoice <dieandbecome@gmail.com>

* Add cosplay forms korean translation from returntoice

Co-authored-by: returntoice <dieandbecome@gmail.com>

* Add pichu form korean translation from returntoice

Co-authored-by: returntoice <dieandbecome@gmail.com>

* Add castform forms korean translation by returntoice

Co-authored-by: returntoice <dieandbecome@gmail.com>

* Add remaining forms korean translation by returntoice

Co-authored-by: returntoice <dieandbecome@gmail.com>

* French typo corrections pokemon-form.ts

* Update Korean pokemon-form.ts

* Modify froakiBattleBond

like rockruff of OwnTempo case, it is froakie, not greninja.

* Modify zygardePc

Power construct is more important information
Switch its position to 50% or 10% to avoid overlapping with the sprite

* Modify mispelling

* Added german forms

* Changed Gigadynamax and Unendynamax so it fits at all

* Add partner pikachu and eevee form localization

* Add mimikyu forms localization

* Partner Pikachu, Partner Evoli und Mimikyu Formen hinzugefügt

* Update pokemon-form.ts

* Update partners

* Fix conflicts

* Fix useless ? by flx-sta

Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>

* Fix switch use by flx-sta

* Fix conflicts

* Please work !!!!!!!

* Update src/locales/fr/pokemon-form.ts

Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>

* Update src/locales/fr/pokemon-form.ts

Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>

* Add pt_br primal localization

Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>

* Add pt_br pikachu localization

Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>

* Add pt_br castform localization

Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>

* Add pt_br 3g localization

Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>

* Add zh_cn localization

Co-authored-by: Yonmaru40 <47717431+40chyan@users.noreply.github.com>

* Add pt_br other localization

Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>

* Add es castform localization

Co-authored-by: InnocentGameDev <asdargmng@gmail.com>

* Add es burmy localization

Co-authored-by: InnocentGameDev <asdargmng@gmail.com>

* Add es shellos localization

Co-authored-by: InnocentGameDev <asdargmng@gmail.com>

* Add es rotom localization

Co-authored-by: InnocentGameDev <asdargmng@gmail.com>

* Add es basculin localization

Co-authored-by: InnocentGameDev <asdargmng@gmail.com>

* Add es deerling localization

Co-authored-by: InnocentGameDev <asdargmng@gmail.com>

* Add es froakie localization

Co-authored-by: InnocentGameDev <asdargmng@gmail.com>

* Add es scatterbug localization

Co-authored-by: InnocentGameDev <asdargmng@gmail.com>

* Add es furfrou localization

Co-authored-by: InnocentGameDev <asdargmng@gmail.com>

* Add es xerneas localization

Co-authored-by: InnocentGameDev <asdargmng@gmail.com>

* Add es zygarde localization

Co-authored-by: InnocentGameDev <asdargmng@gmail.com>

* Add es pumpkaboo localization

Co-authored-by: InnocentGameDev <asdargmng@gmail.com>

* Add es flabebe localization

Co-authored-by: InnocentGameDev <asdargmng@gmail.com>

* Add es oricorio localization

Co-authored-by: InnocentGameDev <asdargmng@gmail.com>

* Add es minior localization

Co-authored-by: InnocentGameDev <asdargmng@gmail.com>

* Add es magearna localization

Co-authored-by: InnocentGameDev <asdargmng@gmail.com>

* Add es marshadow localization

Co-authored-by: InnocentGameDev <asdargmng@gmail.com>

* Add es sinistea ocalization

Co-authored-by: InnocentGameDev <asdargmng@gmail.com>

* Add es eiscue localization

Co-authored-by: InnocentGameDev <asdargmng@gmail.com>

* Add es indeedee localization

Co-authored-by: InnocentGameDev <asdargmng@gmail.com>

* Add es rockruff localization

Co-authored-by: InnocentGameDev <asdargmng@gmail.com>

* Add es mimikyu localization

Co-authored-by: InnocentGameDev <asdargmng@gmail.com>

* Add es zarude localization

Co-authored-by: InnocentGameDev <asdargmng@gmail.com>

* Add es squawkabilly localization

Co-authored-by: InnocentGameDev <asdargmng@gmail.com>

* Add es tatsugiri localization

Co-authored-by: InnocentGameDev <asdargmng@gmail.com>

* Add es gimmighoul localization

Co-authored-by: InnocentGameDev <asdargmng@gmail.com>

* Add es poltchageit localization

Co-authored-by: InnocentGameDev <asdargmng@gmail.com>

* Add es paldeaTauros localization

Co-authored-by: InnocentGameDev <asdargmng@gmail.com>

* Add es primal localization

Co-authored-by: InnocentGameDev <asdargmng@gmail.com>

* Add es pikachu localization

Co-authored-by: InnocentGameDev <asdargmng@gmail.com>

* Add es partner localization

Co-authored-by: InnocentGameDev <asdargmng@gmail.com>

* Fix typedocs error

* Fix typedocs error

* cn form prefix added

Co-authored-by: Yonmaru40 <47717431+40chyan@users.noreply.github.com>

* Fix german translate error

* Fix typo Zh_CN

Co-authored-by: mercurius-00 <80205689+mercurius-00@users.noreply.github.com>

* Update pokemon-form.ts [Localization(it)]

* Update src/locales/es/pokemon-form.ts

Co-authored-by: InnocentGameDev <asdargmng@gmail.com>

* Fix megas forms bug and add forgotten forms

* Fix wrong ko config

* Add fr localization for new forms

Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>

* Add de localization for new forms

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>

* Remove forgotten debug line

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>

* Optimize battle forms

* Update pokemon-form.ts (additional forms, italian localization)

* The same typo is in the zh_TW placeholder text too.

Co-authored-by: Madmadness65 <59298170+Madmadness65@users.noreply.github.com>

* Fix forgotten megaY

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>

* Add capitalizeString to utils

* Fix typedoc error

* Update src/data/pokemon-species.ts

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>

* Add ko localization for new forms

Co-authored-by: MrWaterT <87186129+MrWaterT@users.noreply.github.com>

---------

Co-authored-by: Lugiad <adrien.grivel@hotmail.fr>
Co-authored-by: returntoice <dieandbecome@gmail.com>
Co-authored-by: Mr.WaterT <water.t.works@gmail.com>
Co-authored-by: MrWaterT <87186129+MrWaterT@users.noreply.github.com>
Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
Co-authored-by: Benjamin Odom <bennybroseph@gmail.com>
Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>
Co-authored-by: Yonmaru40 <47717431+40chyan@users.noreply.github.com>
Co-authored-by: InnocentGameDev <asdargmng@gmail.com>
Co-authored-by: EnochG1 <enoch.jwsong@gmail.com>
Co-authored-by: mercurius-00 <80205689+mercurius-00@users.noreply.github.com>
Co-authored-by: Niccolò <123510358+NicusPulcis@users.noreply.github.com>
Co-authored-by: Madmadness65 <59298170+Madmadness65@users.noreply.github.com>

* [Move] Fully implement Jungle Healing/Lunar Blessing status heal (#2785)

* [Bug] Fix tags not resetting on switch (#3119)

Fixes #2982

* [Move] Water Shuriken guarantees 3 hits with battle bond (#2687)

* [Bug] Make on-summon abilities trigger after the switch check (#3118)

* Make on-summon abilities trigger after the switch check

* Add test

* [Ability] Cloud Nine now displays a message on activation

Maintains parity with Air Lock. Both of these probably need to be localized. Should fix issue 491 though

* [QoL] Summary Option for Caught Pokemon (#2921)

* Option to view Summary before adding new Pokemon to party

* Fixed issues described by HopsWas

* Adjusted makeRoomForConfirmUi to improve window spacing

* Fixed ESLint issue + addressed OrangeRed review

* Fixed Github pages issue

* Removed duplicate unshiftPhase

* Fixed phase order

* Don't start from beginning of catch function

* Option to view Summary before adding new Pokemon to party

* Fixed issues described by HopsWas

* Adjusted makeRoomForConfirmUi to improve window spacing

* Fixed Github pages issue

* Fixed phase order

* Quick fix

* This should fix the summaryOption feature without bugging confirm-ui-handler in other cases

* Revert "Merge remote-tracking branch 'origin/summaryOption1' into summaryOption1"

This reverts commit ea7d0ce59e, reversing
changes made to 4c565958da.

* Added a better conditional that reflects its source and purpose

---------

Co-authored-by: Frutescens <info@laptop>
Co-authored-by: AJ Fontaine <fontbane@gmail.com>

* [Bug] Fix HP rounding issues (#2968)

* [Bug] Fixes bug with frenzy moves keeping the confusion counter despite disruption (#3041)

* Adds frenzyMissFunc trigger on NO_EFFECT hit result

* Refactors FrenzyAttr to properly lapse tags each turn and remove tags on disrupt

* Makes comment on CONFUSED tag clearer

* Changes all integer usages to number in battler-tags

* Update getBattlerTag function to use number instead of integer

* [Tests] Updating Leftovers test (#3123)

* Bug Fix

* Update src/system/game-stats.ts

Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>

* Fixing a test

* Fixed import

* Revert "Bug Fix"

This reverts commit 834844978e.

---------

Co-authored-by: Frutescens <info@laptop>
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>

* [Localization] Correctly Localized German names of the BGM for Evil Teams (#3124)

* [Bug] Game Stats Sub-Legendary NaN bug for new game files (#3122)

* Bug Fix

* Update src/system/game-stats.ts

Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>

* Fixing a test

* Revert "Fixing a test"

This reverts commit 1bdbe2da5a.

* Test Re-Run

---------

Co-authored-by: Frutescens <info@laptop>
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>

* [Bug] Adjust how counter attacks target to account for uturn/voltswitch and double battles (#2462)

* Adjust how counter attacks target to account for uturn/voltswitch

* Creates move flag for metal burst/comeuppance to redirect in some cases

* Remove debug printing

* Bit shifts the redirect counter flag

* Removes extraneous class from prior testing

* Remove vitest timestamp file that was accidentally added

* [Misc] Change fresh start achievement icon to reviver seed

Mystic ticket icons in the achievements just confuse players

* [Balance] Fix N-Solarizer etc appearing without secondary mon registered in dex (#2713)

* Fix reins et al being available without unlocking second mon

* Small fix

* Parentheses for safety

* Add documentation to new function

* Bug Fix (#3129)

Co-authored-by: Frutescens <info@laptop>

* [Bug] Fixed OHKO moves being affected by accuracy and evasion battle stats (#3117)

* Fixed OHKO moves being affected by accuracy and evasion battle stats

* Added related tests for Fissure, unskipped related test for Hustle

* Tweaked fissure accuracy and evasion tests to use spyOn() for getAccuracyMultiplier() as per feedback

* Fixed accuracy test for Fissure

* [Fix][Sprite] Politoed Back Sprites (#3130)

* [Fix][Sprite] Politoed Back Sprites

Retrieved first version from history.
Rearranged frames to make jump a little less floaty.
Set same anim length for all variations.
Json is identical for all variations.
Spritesheet frame position is identical for all variations.
Trimmed the frame of extra space
Reduced file size of spritesheets and JSON due to less unique frames needed.

* [Fix][Sprite] Politoed Back Sprites  - Reformatted JSON to texturepacker standard

Reformatted json.

* [Bug] Hotfix for Starter select UI with Filter (#3121)

* fix remove pokemon menu

* fix dropdown all is not changing bug

* fix bug when go down with no starter on start button

* fix starter corsor bug on deletion. out of screen cursor bug

* fix challenge log

* fix lint error

* [Bug] fix and condition of shiny and passive (#3136)

* change param name (because beta was changed)

* add config and fix message main key

* change message key in pokemon.ts

* modify test message (also same as og game)

* Fixed form names not working in starter select (#3139)

* [Bug] Prevent evolution causing a swap from the second ability to the HA (#3138)

* Prevent evolution causing a swap from the second ability to the HA

* Add tests

* Update `starter-select-ui-handler.ts`

* [Feature] [Item] Add White Herb item (#2719)

* More work

* More work

* Should be finished

* Fixed an error in checking target

* Moved white herb effect to StatChangePhase, 50% chance of consumption

* Added graphics for White Herb

* Balance and documentation

* Add localization entry for White Herb apply msg

* Add new keys to other localization files

* German translations

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>

* Update item sprite atlas

* Redo item atlas

* Remove whitespace in move.ts

* Moved decrement outside conditional

* Fix item atlas

---------

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>

* [Localization] Translated missing portuguese entries and some fixes (#3142)

* [Bug] Caught Pokemon Summary-Modifier Display Fix (#3145)

* Fixed modifiers not displaying on summary screen

* Addressed Typedoc issues

* Documentation added

---------

Co-authored-by: Frutescens <info@laptop>

* add missing text key

* [BUG] Fixes bug that prevents pokemon with froms from hatching as rare/epic shiny variant and preventing illegal variants from legendary gacha (#2940)

* Changed PokemonSpecies hasVariants function to also include for pokemon with differend forms

* Added check to prevent illegal shiny variants from happening if the egg rolls the gacha legendary and has no variants

* Simplified variant check. Fixed spelling on unit test

* Bugfix for legacy eggs

* Removed formIndex variable

* Changed unit test

* Added new line to unit test function

Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>

---------

Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>

* [Unittest] remove held item rng (white herb) from intimidate.test.ts (#3151)

* Emergency delete unlock all functionality - should remove the unlock all functionality but keeps the isBeta utils function for future stuff (#3153)

* Update `getAbility()` and `getAbilityCount()` for the ability changes (#3157)

* Update src/data/arena-tag.ts

Co-authored-by: sirzento <sirzento@gmx.de>

* Update src/locales/zh_CN/arena-tag.ts

Co-authored-by: Yonmaru40 <47717431+40chyan@users.noreply.github.com>

* change message key of stickyWebActivateTrap (due to change of original)

* Update src/locales/fr/arena-tag.ts

Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>

---------

Co-authored-by: Frederico Santos <frederico.f.santos@tecnico.ulisboa.pt>
Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
Co-authored-by: Felix Staud <felix.staud@headwire.com>
Co-authored-by: Adrian T <68144167+torranx@users.noreply.github.com>
Co-authored-by: lnuvy <lnuvy.code@gmail.com>
Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>
Co-authored-by: Tempoanon <163687446+Tempo-anon@users.noreply.github.com>
Co-authored-by: Xavion3 <xavion333@gmail.com>
Co-authored-by: AJ Fontaine <36677462+Fontbane@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: chaosgrimmon <31082757+chaosgrimmon@users.noreply.github.com>
Co-authored-by: Niccolò <123510358+NicusPulcis@users.noreply.github.com>
Co-authored-by: Dakurei <maxime.palanchini@gmail.com>
Co-authored-by: Alexis <alexis.faizeau@animedigitalnetwork.fr>
Co-authored-by: 송지원 <jiwsong@gmarket.com>
Co-authored-by: Yonmaru40 <47717431+40chyan@users.noreply.github.com>
Co-authored-by: Mr.WaterT <water.t.works@gmail.com>
Co-authored-by: Alexis Faizeau <faizeau.alexis@gmail.com>
Co-authored-by: GoldTra <162721984+GoldTra@users.noreply.github.com>
Co-authored-by: returntoice <dieandbecome@gmail.com>
Co-authored-by: Arxxer <javiptn7@gmail.com>
Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>
Co-authored-by: InnocentGameDev <asdargmng@gmail.com>
Co-authored-by: innerthunder <168692175+innerthunder@users.noreply.github.com>
Co-authored-by: Dmitriy K <kagno.dmitriy@gmail.com>
Co-authored-by: sodam <66295123+sodaMelon@users.noreply.github.com>
Co-authored-by: RimKnight <rimknight852@gmail.com>
Co-authored-by: xsn34kzx <xsn34kzx@gmail.com>
Co-authored-by: Amani H <109637146+xsn34kzx@users.noreply.github.com>
Co-authored-by: mercurius-00 <80205689+mercurius-00@users.noreply.github.com>
Co-authored-by: hayuna <marek.kowalonek@gmail.com>
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
Co-authored-by: EmberCM <emberdevteam@gmail.com>
Co-authored-by: Opaque02 <66582645+Opaque02@users.noreply.github.com>
Co-authored-by: mcmontag <54485715+mcmontag@users.noreply.github.com>
Co-authored-by: schmidtc1 <62030095+schmidtc1@users.noreply.github.com>
Co-authored-by: Arxalc <63990624+Arxalc@users.noreply.github.com>
Co-authored-by: Mumble <kimjoanne@protonmail.com>
Co-authored-by: Frutescens <info@laptop>
Co-authored-by: EmberCM <kooly213@hotmail.com>
Co-authored-by: Zoruu <113668528+ArielStevens@users.noreply.github.com>
Co-authored-by: Corrade <49605314+Corrade@users.noreply.github.com>
Co-authored-by: Madmadness65 <blaze.the.fireman@gmail.com>
Co-authored-by: cam <lrlrliwoo@gmail.com>
Co-authored-by: 송영진 <36808515+bucket1582@users.noreply.github.com>
Co-authored-by: DustinLin <39450497+DustinLin@users.noreply.github.com>
Co-authored-by: 서명인 (Myungin, SEO) <65226760+smee6@users.noreply.github.com>
Co-authored-by: gjeodnd12165 <61226524+gjeodnd12165@users.noreply.github.com>
Co-authored-by: sirzento <sirzento@gmx.de>
Co-authored-by: Madmadness65 <59298170+Madmadness65@users.noreply.github.com>
Co-authored-by: Benjamin Odom <bennybroseph@gmail.com>
Co-authored-by: Daniel Gaston <danielgaston6@gmail.com>
Co-authored-by: Zach Day <zachdayz@gmail.com>
Co-authored-by: Leo Kim <47556641+KimJeongSun@users.noreply.github.com>
Co-authored-by: Kiriox <66013753+Kiriox94@users.noreply.github.com>
Co-authored-by: MrWaterT <87186129+MrWaterT@users.noreply.github.com>
Co-authored-by: AJ Fontaine <fontbane@gmail.com>
2024-07-29 16:58:42 -04:00
Amani H.
9ce5453054
[Refactor/Documentation] Beta Merge 27/07 Cleanup (#3163)
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
Co-authored-by: torranx <68144167+torranx@users.noreply.github.com>
Co-authored-by: DustinLin <39450497+DustinLin@users.noreply.github.com>
2024-07-29 16:47:37 -04:00
Tempoanon
09e7192046
[Bug] Tinted Pokeball for Pokemon with only 1 ability (#3174)
* Add hasSameAbilityInRootForm function to Pokemon class

* Add HA check

* Try not using a dependency
2024-07-28 00:22:51 -04:00
Frederico Santos
e98ef1c757
Beta Merge 27/07 (#3141)
* feat: Add Google and Discord login functionality

feat: Add link to Discord in menu UI

feat: Add Discord and Google login functionality

Add container around discord and google icons

refactor: Update environment variable names for Discord and Google client IDs

feat: Add "Or use" translation for login options in multiple languages

feat: Update menu UI translations for multiple languages

Code review fixes

refactor: Update Discord and Google client IDs in environment variables

* refactor: Add missing properties to initLoggedInUser function

* Update src/locales/de/menu-ui-handler.ts

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>

* make i18n debugging an optional env setting

this also reduces output noise in tests

* set development default also to "0"

* fix inaccurate docs for TypeImmunityAbAttr (#2957)

* chore: Add beta branch to GitHub Actions tests workflow

* chore: Add beta branch to GitHub Actions linter and gh-pages workflow

* Update src/locales/ko/menu-ui-handler.ts

Co-authored-by: lnuvy <lnuvy.code@gmail.com>

* Update src/locales/ko/menu.ts

Co-authored-by: lnuvy <lnuvy.code@gmail.com>

* Localization(pt): translated bgm-name.ts (#2955)

* Localization(pt): translated bgm-name.ts

* fix

* update VITE_I18N_DEBUG in .env files

* chore: Update environment variables for beta and production environments

* chore: Add beta branch to GitHub Actions deploy workflow

* Hardcoded Pokemon should have proper names (#2941)

* Refactor challenges and add fresh start (#2963)

* [Balance] Update many TM learnsets (#2879)

* Update TMs for more Indigo Disk changes

* Fix typo, more Stored Power

* Refactor challenges and add fresh start (#2964)

* Refactor challenges and add fresh start

* Add achievement for fresh start challenge

* [Bug] Fix off-by-one error in damage calc (#2970)

* Fix random damage roll to be 85-100% instead of 85-99%

* Update battle.test.ts to reflect the fix

* [Bug] Grounded on Terrain fixes (#2969)

* [Help] [Move/Bug] Patches Psychic Terrain applicability edge cases

Was cancelling moves even if targeted mons weren't on the terrain.

* [Bug `]Pokemon.isGrounded` does not exist

Replaced with `Pokemon.isGrounded()`, which does.

* [Bug] Psychic Terrain priority move cancel ignoring ungrounded

* [Bug] Semi-invulnerable should not be grounded

* Update game-stats-ui-handler.ts (italian) (#2965)

* [Bugfix] Fix a bug during bgm-bar initialization (#2822)

* 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

* [Mirror][Localization] Translate game victory sentences #2254 (#2906)

* Translate forgotten sentences on phases

* Translate to de forgotten sentences on phases

* Translate to es forgotten sentences on phases

* Translate to fr forgotten sentences on phases

* Translate to it forgotten sentences on phases

* Translate to ko forgotten sentences on phases

* Translate to pt br forgotten sentences on phases

* Translate to zh cn forgotten sentences on phases

* Translate to zh tw forgotten sentences on phases

* remove duplicate message

* remove duplicate message

* Update src/locales/pt_BR/battle.ts

Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>

* Update src/locales/de/battle.ts

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>

* Update src/locales/de/battle.ts

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>

* Update battle.ts [Localization(it)]

* Update src/locales/zh_CN/battle.ts

Co-authored-by: Yonmaru40 <47717431+40chyan@users.noreply.github.com>

---------

Co-authored-by: Alexis <alexis.faizeau@animedigitalnetwork.fr>
Co-authored-by: 송지원 <jiwsong@gmarket.com>
Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>
Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
Co-authored-by: Niccolò <123510358+NicusPulcis@users.noreply.github.com>
Co-authored-by: Yonmaru40 <47717431+40chyan@users.noreply.github.com>

* [Mirror][Localization] Translate summary #2336 (#2907)

* Translate pokemon summary

* Translate pokemon summary to fr

* Translate pokemon summary to de

* Translate pokemon summary to es

* Translate pokemon summary to it

* Translate pokemon summary to ko

* Translate pokemon summary to pt br

* Translate pokemon summary to zh cn

* Translate pokemon summary to zh tw

* Fix import

* Update partially for en and ko

* Update interface name for en

* Merge trainerLabel&Text and calculate typeLabel width

* Update src/locales/es/pokemon-summary.ts

Co-authored-by: GoldTra <162721984+GoldTra@users.noreply.github.com>

* Apply translations key to all languages with interface TranslationEtries

* Update ko/translationKey of status

* Update ko/translationKey of pokemonInfo

* Update de/translationKeys of memostring and metFragment

* Update de/translationKeys of memostring and metFragment 2

* Update src/locales/ko/pokemon-summary.ts

Co-authored-by: Enoch <enoch.jwsong@gmail.com>

* Update src/locales/ko/pokemon-summary.ts

Co-authored-by: returntoice <dieandbecome@gmail.com>

* Update src/locales/pt_BR/pokemon-summary.ts

Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>

* Update src/locales/ko/pokemon-summary.ts

* Update src/locales/pt_BR/pokemon-summary.ts

Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>

* Update pokemon-summary.ts [Localization(it)]

* remove unused code

* Update src/locales/zh_CN/pokemon-summary.ts

Co-authored-by: Yonmaru40 <47717431+40chyan@users.noreply.github.com>

* Update src/locales/zh_CN/pokemon-summary.ts

Co-authored-by: Yonmaru40 <47717431+40chyan@users.noreply.github.com>

* Update src/locales/zh_CN/pokemon-summary.ts

Co-authored-by: Yonmaru40 <47717431+40chyan@users.noreply.github.com>

* Update src/locales/es/pokemon-summary.ts

Co-authored-by: Arxxer <javiptn7@gmail.com>

* Update src/locales/es/pokemon-summary.ts

Co-authored-by: Arxxer <javiptn7@gmail.com>

---------

Co-authored-by: Alexis <alexis.faizeau@animedigitalnetwork.fr>
Co-authored-by: Mr.WaterT <water.t.works@gmail.com>
Co-authored-by: Alexis Faizeau <faizeau.alexis@gmail.com>
Co-authored-by: GoldTra <162721984+GoldTra@users.noreply.github.com>
Co-authored-by: returntoice <dieandbecome@gmail.com>
Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>
Co-authored-by: 송지원 <jiwsong@gmarket.com>
Co-authored-by: Niccolò <123510358+NicusPulcis@users.noreply.github.com>
Co-authored-by: Yonmaru40 <47717431+40chyan@users.noreply.github.com>
Co-authored-by: Arxxer <javiptn7@gmail.com>

* [Localization] Localization arena flyout (Active Battle Effects) (#2932)

* localizing Active Battle Effects (working)

* Localize Active Battle Effects

* Change return value

* Modify arena terrain desc

* Update src/locales/zh_CN/arena-flyout.ts

Co-authored-by: Yonmaru40 <47717431+40chyan@users.noreply.github.com>

* Update src/locales/de/arena-flyout.ts

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>

* Update src/locales/fr/arena-flyout.ts

Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>

* Update arena-flyout.ts (IT)

* Update src/locales/pt_BR/arena-flyout.ts

Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>

* Update src/locales/es/arena-flyout.ts

Co-authored-by: Arxxer <javiptn7@gmail.com>

* Change util function name

---------

Co-authored-by: 송지원 <jiwsong@gmarket.com>
Co-authored-by: Yonmaru40 <47717431+40chyan@users.noreply.github.com>
Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>
Co-authored-by: Niccolò <123510358+NicusPulcis@users.noreply.github.com>
Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>
Co-authored-by: Arxxer <javiptn7@gmail.com>

* This should prevent gym leaders appear as doubles (marnie & piers) when they arent fixed battles (#2904)

* The stat messages can now be plural (#2600)

* The stat messages are now plural

* "And" can now be localized

* Revert Override

* Update src/locales/fr/battle.ts

Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>

* Update src/locales/fr/battle.ts

Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>

* Update src/locales/fr/battle.ts

Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>

* Update src/locales/zh_CN/battle.ts

Co-authored-by: Yonmaru40 <47717431+40chyan@users.noreply.github.com>

* Update src/locales/ko/battle.ts

Co-authored-by: Enoch <enoch.jwsong@gmail.com>

* Update src/locales/ko/battle.ts

Co-authored-by: Enoch <enoch.jwsong@gmail.com>

* Update src/locales/es/battle.ts

Co-authored-by: GoldTra <162721984+GoldTra@users.noreply.github.com>

* Update src/locales/es/battle.ts

Co-authored-by: GoldTra <162721984+GoldTra@users.noreply.github.com>

* Update src/locales/de/battle.ts

* Update src/locales/pt_BR/battle.ts

Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>

* Update src/locales/pt_BR/battle.ts

Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>

* Update src/data/battle-stat.ts

* Update src/locales/zh_CN/battle.ts

Co-authored-by: Yonmaru40 <47717431+40chyan@users.noreply.github.com>

* Changed the way the multiple is handeled to use the i18n way

* Missed one file

* Apply suggestions from code review

* Apply suggestions from code review

* Changed the tests so they work now with the i18n hting

* Fixed some other tests (chinese still makes problems...

* Fix tests for chinese

* Tests

* Update src/test/battle-stat.spec.ts

* Update src/locales/zh_CN/battle.ts

Co-authored-by: Yonmaru40 <47717431+40chyan@users.noreply.github.com>

* Apply suggestions from code review

---------

Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>
Co-authored-by: Yonmaru40 <47717431+40chyan@users.noreply.github.com>
Co-authored-by: Enoch <enoch.jwsong@gmail.com>
Co-authored-by: GoldTra <162721984+GoldTra@users.noreply.github.com>
Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>

* [Enhancement][QoL] Add option to adjust shop overlay opacity (#2622)

* add option to adjust shop overlay opacity

* add localization

* fix bug

* Update src/locales/fr/settings.ts

Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>

* Update src/locales/zh_CN/settings.ts

Co-authored-by: Yonmaru40 <47717431+40chyan@users.noreply.github.com>

* Update src/locales/fr/settings.ts

Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>

* update default value

* update setting values

* re-add value 10

* Update src/locales/pt_BR/settings.ts

Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>

* Update src/locales/ko/settings.ts

Co-authored-by: Enoch <enoch.jwsong@gmail.com>

* Update src/locales/es/settings.ts

Co-authored-by: InnocentGameDev <asdargmng@gmail.com>

* Update settings.ts

---------

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: InnocentGameDev <asdargmng@gmail.com>
Co-authored-by: Niccolò <123510358+NicusPulcis@users.noreply.github.com>

* [Bug] Fix battler tags lapsing at incorrect times (#2944)

* Fix battler tags lapsing at incorrect times

* Document FlinchedTag

* Update French pokemon-summary.ts (#2976)

* [Test] Prevent tests from running if overrides are different from the default values (#2110)

* mock default overrides in test setup

* change beforeEach to beforeALl

* move some more enums into the enums directory

* replace modules that import i18n into overrides with modules that don't

* add pre tests and update vitest configs, scripts

* replace tabs with spaces

* fix vitest server port overlap warning

* add missing overrides and clean up workspace config

* change test name

* include spec files in main test suite

* [QoL] Highlight targets of multitarget moves instead of immediate execution (#2863)

* show targets for move targeting multiple pokemon

* dont allow selecting target if multiple

* fix targeting

* cleanup

* more cleanup

* only highlight targets is move is not status

* fix tests failing

* fix tests

* change "immediately" to "auto"

* nevermind just remove auto

* remove status move condition

* [Refactor] rewrite applyAbAttrsInternal to use an iterator. (#1832)

* initial rewrite of applyAbAttrsInternal

* clean up applyAbAttrsInternal

* remove the await because it wraps non Promises in a promise

* add TODO comment about promises

* fix broken costar test, hopefully

* Update typescript and typedoc (#2988)

* update typescript and typedoc to latest versions

* forgot to add the package-lock

* add fixes for breaking type gen

* update workflow (#2989)

* [Qol/Balance] Dynamax cannon tweak (#2540)

* Dynamax Cannon fix

* Update src/locales/fr/move.ts

Added fr translation.

Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>

* Update src/locales/fr/move.ts

Adding an important missing precision in French description

Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>

* Update src/locales/de/move.ts

German locale commit.

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>

* Update src/locales/zh_CN/move.ts

Chinese locale commit, checked by a native speaker

Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>

* Update src/locales/ko/move.ts

Korean locale added

Co-authored-by: returntoice <dieandbecome@gmail.com>

* fixed trailing space in Chinese locale

* added es locale

* Different Dynamax Cannon fix. This one is the one

* Dynamax Cannon fix localisations

* Update src/locales/fr/move.ts

Added fr locale

Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>

* Update src/locales/de/move.ts

German translation ^^

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>

* Update src/locales/pt_BR/move.ts

pt-BR translation

Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>

* Update src/locales/de/move.ts

Eslint fix, good catch @Enoch

Co-authored-by: Enoch <enoch.jwsong@gmail.com>

* Update src/locales/ko/move.ts

Korean locale ^^

Co-authored-by: sodam <66295123+sodaMelon@users.noreply.github.com>

* Update src/locales/zh_CN/move.ts

zh_CN locale

Co-authored-by: RimKnight <rimknight852@gmail.com>

* Update src/locales/zh_TW/move.ts

zh_TW locale

Co-authored-by: RimKnight <rimknight852@gmail.com>

* Update move.ts

linting mistake due to how my comment was written

* Update move.ts

linting mistake due to how my comment was written

* Update move.ts [Localization(it)]

* WIP test

* WIP test part 2

* [Test] Add Unit Tests for Dynamax Cannon

* removed some unnecessary cases in the test to reduce testing overhead

* Update src/locales/ko/move.ts

Updated kr locale

Co-authored-by: Enoch <enoch.jwsong@gmail.com>

* [Test] Adjust Unit Tests for Dynamax Cannon

---------

Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>
Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
Co-authored-by: returntoice <dieandbecome@gmail.com>
Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>
Co-authored-by: Enoch <enoch.jwsong@gmail.com>
Co-authored-by: sodam <66295123+sodaMelon@users.noreply.github.com>
Co-authored-by: RimKnight <rimknight852@gmail.com>
Co-authored-by: Niccolò <123510358+NicusPulcis@users.noreply.github.com>
Co-authored-by: xsn34kzx <xsn34kzx@gmail.com>

* [Test] Fix/Extend Unit Test for Hard Press (#2992)

* [Test] Update tests to enable no-crits override (#2971)

* Update tests to enable no-crits override

* Rename variable maxHP to initialHP

* [Localization]Localized move-trigger text (#2913)

* [Localization]Localized move-trigger text

* [Localization]Localized zh-cn move-trigger text

* [Localization]fix typo

* [Localization]fix typo

* Update src/locales/pt_BR/move-trigger.ts

Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>

* [Localization]add pokemonName to move-trigger.ts

* [Localization]add pokemonName to move-trigger.ts

* Update zh_TW move-trigger.ts

* Update zh_CN move-trigger.ts

* Update move.ts

* Update src/locales/ko/move-trigger.ts

Co-authored-by: Enoch <enoch.jwsong@gmail.com>

* Update src/locales/ko/move-trigger.ts

Co-authored-by: Enoch <enoch.jwsong@gmail.com>

* Update move-trigger.ts

* Update src/locales/de/move-trigger.ts

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>

* [Localization]add affix to target pokemon names

* Update src/locales/fr/move-trigger.ts

Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>

* localized type

---------

Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>
Co-authored-by: Enoch <enoch.jwsong@gmail.com>
Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>

* [Bug] Fix description of rare candy to have proper amount of level (#2903)

* [Bug] Fix description of rare candy to have proper amount of level

* Update en locales

* Add locales

* Add locales

* Update src/locales/de/modifier-type.ts

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>

* Update src/locales/de/modifier-type.ts

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>

* Update src/locales/fr/modifier-type.ts

Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>

* Update src/locales/fr/modifier-type.ts

Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>

* Update src/locales/ko/modifier-type.ts

Co-authored-by: Enoch <enoch.jwsong@gmail.com>

* Update src/locales/ko/modifier-type.ts

Co-authored-by: Enoch <enoch.jwsong@gmail.com>

* Update src/locales/zh_CN/modifier-type.ts

Co-authored-by: Yonmaru40 <47717431+40chyan@users.noreply.github.com>

* Update src/locales/zh_CN/modifier-type.ts

Co-authored-by: Yonmaru40 <47717431+40chyan@users.noreply.github.com>

* Update src/locales/pt_BR/modifier-type.ts

Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>

* Update src/locales/pt_BR/modifier-type.ts

Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>

* Update modifier-type.ts (IT)

* Update src/locales/es/modifier-type.ts

Co-authored-by: Arxxer <javiptn7@gmail.com>

* Update src/locales/es/modifier-type.ts

Co-authored-by: Arxxer <javiptn7@gmail.com>

---------

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>
Co-authored-by: Enoch <enoch.jwsong@gmail.com>
Co-authored-by: Yonmaru40 <47717431+40chyan@users.noreply.github.com>
Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>
Co-authored-by: Niccolò <123510358+NicusPulcis@users.noreply.github.com>
Co-authored-by: Arxxer <javiptn7@gmail.com>

* move status effect enum into separate file (#2998)

* add .env.test (#2997)

block i18n debug output by default

* [QoL] Create default overrides class and export that with custom overrides (#2999)

* 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

* [Feature][FUN] add breedersInSpace splash message (#2631)

* add spaceBreeder splash message

* fix typo (whops)

* Add pt_BR translation

Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>

* replace text & key with breedersInSpace

* add french tanslation

Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>

* remove obsolete array split in splash-messages.ts

* Update src/locales/pt_BR/splash-messages.ts

Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>

* Update src/locales/es/splash-messages.ts

Co-authored-by: Asdar <asdargmng@gmail.com>

* Update splash-messages.ts (Italian)

* Update src/locales/zh_CN/splash-messages.ts

Co-authored-by: Yonmaru40 <47717431+40chyan@users.noreply.github.com>

* Update src/locales/ko/splash-messages.ts

Co-authored-by: sodam <66295123+sodaMelon@users.noreply.github.com>

---------

Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>
Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>
Co-authored-by: Asdar <asdargmng@gmail.com>
Co-authored-by: Niccolò <123510358+NicusPulcis@users.noreply.github.com>
Co-authored-by: Yonmaru40 <47717431+40chyan@users.noreply.github.com>
Co-authored-by: sodam <66295123+sodaMelon@users.noreply.github.com>

* [Enhancement] Pokemon generation number tooltip (#2642)

* Create tooltip to show Pokemon generation

* Add option to toggle generation tooltip

* Use roman numeral for generation tooltip

* Revert "Add option to toggle generation tooltip"

This reverts commit 414b2366fc.

* Update src/locales/de/battle-info.ts

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>

* Update src/locales/fr/battle-info.ts

Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>

* Update src/locales/pt_BR/battle-info.ts

Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>

* Update src/locales/zh_TW/battle-info.ts

Co-authored-by: RimKnight <rimknight852@gmail.com>

* Update src/locales/zh_CN/battle-info.ts

Co-authored-by: RimKnight <rimknight852@gmail.com>

* Update src/locales/ko/battle-info.ts

Co-authored-by: Enoch <enoch.jwsong@gmail.com>

* Update battle-info.ts (IT)

---------

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>
Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>
Co-authored-by: RimKnight <rimknight852@gmail.com>
Co-authored-by: Enoch <enoch.jwsong@gmail.com>
Co-authored-by: Niccolò <123510358+NicusPulcis@users.noreply.github.com>

* [Beta] Updating the manage data->unlock all option to work with all abilities, natures, forms and passives (#2967)

* Updated code to allow user to unlock all pokemon from the manage data menu option

* Added code to Utils to allow it to check for a beta env, and hid the unlock all code behind that. This should stop it from being accessed in prod envs

* Updated another section to be locked behind beta check, and also updated the everything.prsv to have everything unlocked going forward

* Fixed some code reviews

* [Bug] vite port (for development) (#3003)

* make vite-port configurable

and make it default 8000

* add retries for `does not trigger by non damage moves` test

* feat: Update isBeta check in utils.ts to use import.meta.env.MODE

The current implementation of the isBeta check in utils.ts is using import.meta.env.DEV, which gives the same value for both beta and dev environments. This commit updates the check to use import.meta.env.MODE === "beta" to accurately determine if the environment is beta. This ensures that the unlock all code is only accessible in the beta environment and not in production environments.

* refactor: Update trainerId and secretId in game data

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.

* Adds bg glow behind starters with unlocked passives (#2497)

* [Localization] Localize missed things in battlers-tag.ts (#3004)

* Localize missed things in battlers-tag

* Change orders of configs

* Add missed phase

* Update src/locales/zh_CN/battle.ts

Co-authored-by: RimKnight <rimknight852@gmail.com>

* Update src/locales/zh_CN/battle.ts

Co-authored-by: RimKnight <rimknight852@gmail.com>

* Update src/locales/zh_TW/battle.ts

Co-authored-by: RimKnight <rimknight852@gmail.com>

* Update src/locales/zh_TW/battle.ts

Co-authored-by: RimKnight <rimknight852@gmail.com>

* Update src/locales/zh_TW/battler-tags.ts

Co-authored-by: RimKnight <rimknight852@gmail.com>

* Update src/locales/zh_CN/battler-tags.ts

Co-authored-by: RimKnight <rimknight852@gmail.com>

---------

Co-authored-by: RimKnight <rimknight852@gmail.com>

* [Feature] Fully implement Octolock (#2985)

* implement octolock

* Add tests

* [Bug] Fix import of overrides in a test (#3009)

* [BUG] Fixes Sketch copying the first move used by the opponent instead of the last (#2759)

* Changes getMoveHistory to getLastXMoves to fix sketch copying first move used instead of last

* Optimizes move search and early return

* Reverts check for virtual moves

* [Bug] Making FormChangeItems Untransferrable (#2695)

* Made FormChangeItems untransferrable. Replaced getTransferrable()

* Made isTransferrable readonly. Removed unnecessary 'm as PokemonHeldItemModifier'.

* [Bug] Fix Clear terrains upon Trainer Battle (#2027)

* Clear terrains upon Trainer Battle

* Adjusted comment

* Fix item reward overrides going out of bounds (#3012)

* [Localization] Localize Berry Heal message (#2996)

* Localize berry heal message (HP/PP)

* Change location of translation

* conflict resolve

* Update src/locales/de/battle.ts

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>

Update src/locales/de/battle.ts

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>

Update src/locales/de/battle.ts

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>

* Update src/locales/zh_CN/battle.ts

Co-authored-by: mercurius-00 <80205689+mercurius-00@users.noreply.github.com>

* Update src/locales/zh_TW/battle.ts

Co-authored-by: mercurius-00 <80205689+mercurius-00@users.noreply.github.com>

* Update src/locales/fr/battle.ts

Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>

* Update src/locales/pt_BR/battle.ts

Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>

* Update src/locales/pt_BR/battle.ts

Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>

* Update battle.ts (Berries ITALIAN)

---------

Co-authored-by: 송지원 <jiwsong@gmarket.com>
Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
Co-authored-by: mercurius-00 <80205689+mercurius-00@users.noreply.github.com>
Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>
Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>
Co-authored-by: Niccolò <123510358+NicusPulcis@users.noreply.github.com>

* Adds a check to the bgm-bar display to prevent it from being displayed in case of an empty value (#3007)

* [Sprite] Improves Corviknight Palette usage (#3020)

* [Sprite] Compress Corviknight exp

* [Sprite] Compress Corviknight exp

* [Sprite] Compress Corviknight exp

* [Sprite] Compress Corviknight exp

* [Sprite] Compress Corviknight exp

* [Beta][Localization] Update French battler-tags.ts and battle.ts (#3015)

* Update French battler-tags.ts

* Update battle.ts

* [Bug] Fix Lock-On and Mind Reader not working on the first turn (#3001)

* [Bug] Struggle Recoil should ignore Magic Guard (#3017)

* Drafted testable conditions for Magic Guard

* Weather Test

* Update src/test/abilities/magic_guard.test.ts

InnerThunder

Co-authored-by: innerthunder <168692175+innerthunder@users.noreply.github.com>

* Implemented checks for poison/toxic/burn

* Added tests for recoil moves and volatile status

* Updated Rock Head, Magic Guard, and Reckless interactions with Struggle

* Removed stray file

* Fixed Typedoc errors

* Implemented innerthunder's feedback

---------

Co-authored-by: Frutescens <info@laptop>
Co-authored-by: innerthunder <168692175+innerthunder@users.noreply.github.com>

* [Enhancement] Decouple move power calculation from Pokemon.apply(), Fixes Power Spot & Battery not boosting ally's move (#2984)

* refactor power calc, fix battery & power spot

* fix hard press unit test

* fix hard press

* refactor tests

* use sypOn hp instead

* rename method

* cleanup tests

* improve tests

* use slow vs fast pokemon

* fix steely spirit test

* fix steely spirit for real this time

* remove unnecessary test

* address pr feedback

* add removed code

* [QoL] Offset the status indicator to keep pokeball in view (#2966)

* Offset the status indicator to keep pokeball in view

* Only use offsetX when the Pokemon is the enemy

* Adjust position to accomodate boss health bar

* [Bug] Fix to epic shiny Yungoos icon (#2991) (#3016)

Fixed a floating pixel in epic shiny Yungoos' icon. Caused by Mimikyu's epic shiny sprite being placed too high on the sprite sheet. Moved Mimikyu's sprite down and updated json to reflect the change.

* [Localization(ko)] Change line-break position of ghost type curse add message (#3022)

* Revert "[Localization]Localized move-trigger text (#2913)" (#3026)

This reverts commit 39bdfea0c8.

* [Localization(ko)] Fixed typo in Bertha's dialogue (#3025)

* [Bug] Prevent fixed-damage and OHKO moves from being modified by damage-reducing abilities (#2703)

* ReceivedMoveDamageMultiplierAbAttr patch: WIP refactored damage calculation, reordered ReceivedMoveDamageMultiplierAbAttr to avoid issues with fixed damage and OHKO moves, stubbed unit tests for dragon rage (fixed damage) and fissure (OHKO)

* ReceivedMoveDamageMultiplierAbAttr patch: commented concerns regarding EnemyDamageBooster/ReducerModifier for others' reference in WIP branch

* ReceivedMoveDamageMultiplierAbAttr patch: reordered ReceivedMoveDamageMultiplierAbAttr and EnemyDamageBooster/ReducerModifier to not trigger for fixed damage and OHKO moves, completed relevant tests for dragon rage and fissure

* ReceivedMoveDamageMultiplierAbAttr patch: removed newline

* ReceivedMoveDamageMultiplierAbAttr patch: in the unit test, extracted hard-coded Dragon Rage damage to a variable

* ReceivedMoveDamageMultiplierAbAttr patch: naming consistency

* ReceivedMoveDamageMultiplierAbAttr patch: replaced awaiting DamagePhase with TurnEndPhase as the former assumes damage will be done

* ReceivedMoveDamageMultiplierAbAttr patch: removed redundant overrides in Fissure tests

* ReceivedMoveDamageMultiplierAbAttr patch: tests: refactored crit removal, removed berries, fixed bug associated with Porygon sometimes getting Trace and copying the opponent's ability, which would override the manual ability override

* Fixed unit tests

* Added a comment and cleaned up an existing one

* [Localization] Brought german localization up to date (#3010)

* Fixed errors in the german localization

* Fresh Start Challenge

* Update src/locales/de/move-trigger.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>

* [Bug] Remove redundant damage number popups (#3024)

* Remove magic number from Belly Drum's attr

* Remove redundant damage number popup

* Fix merge issue and remove another duplicate damage number instance

* [Move] Implements Conversion 2 (#2943)

* Creates function to get type resistances, implements conversion 2

* Removes unimplemented tag, adds condition for move history to exist

* Cleans up type selection, creates i18n entries for typeChanged

* Uses typeChanged i18n in Conversion move

* More detailed docs, early return with stellar/unknown type

* Adds note that it wont track type-changing moves properly

* Rephrases doc description, adds partial since it can't track type-changing moves

* Updates localization, removes typeChanged entry to use move-trigger entry

* Missed locale de entry in last commit

* Adds comment for reason of .partial()

* Fixes localization error due to revert, removes improper merge conflict from prior commit

* [BUG] Fixes bug with Metronome freezing the game (#2819)

* Tests MovePhase with new PokemonMove instead of moveset search

* Accounts for metronome call on charging moves

* Update comment in ChargeAttr to be clearer

* Add missing passive background graphic for legacy UI

Relating to #2497 , this adds an identical graphic to the legacy UI files, as it will show up as a missing texture otherwise.

* [Localization] Localize ability messages in ability.ts (trigger, apply...) (#2972)

* localize ability messages

* Update src/locales/de/ability-trigger.ts

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>

* Modify parameter name, fix eslint

* Korean Translation, modify some wrong param

* Add missed message

* Update src/locales/de/ability-trigger.ts

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>

* Update ability-trigger.ts (Partial) (Italian)

* Localize type name

* Localize type name > Libero, Protean

* param bug fix

* Update src/data/ability.ts

* Update zh-cn

* Update ability-trigger.ts (Partial part 2, still not completed) (Italian)

* Update src/locales/fr/ability-trigger.ts

Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>

* Update src/locales/pt_BR/ability-trigger.ts

Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>

* Update src/locales/fr/ability-trigger.ts

Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>

---------

Co-authored-by: 송지원 <jiwsong@gmarket.com>
Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
Co-authored-by: Niccolò <123510358+NicusPulcis@users.noreply.github.com>
Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>
Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>

* Update egg.ts (italian) (#3038)

* [Sprite] Revert Larvesta, fixing stray pixels (#3042)

* [Sprite] Remove normal Larvesta stray pixels

Taken from original commit

* [Sprite] Revert shiny Larvesta stray pixels

Taken from original commit

* [Sprite] Match variant Larvesta colours

* [Bug] Fix level 100 moves being skipped if leveled past 100 (#3040)

* [Bug][Fix][Surf][Muddy Water][Sludge Wave][Animation] Added image to move animations. (#3044)

* Update muddy-water.json

* Update sludge-wave.json

* Update surf.json

* [Sprite] Fix Cofagrigus sprite (#3045)

* Fix Cofagrigus sprite

* Base sprite fix

* Created json variant file... manually

* Fix FR typo (#3051)

* [Beta][Localization] Update Portuguese battler-tags.ts and battle.ts (#3050)

* [Music/BGM] Fix bgm file & loop for battle_rival (#3053)

* stop loading pride-update banner (#3057)

* [Item] Add Scope Lens and Leek (#2666)

* [Item] Add Scope Lens and Leek

* Add Entry to pt_BR

* Localize for pt_BR

Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>

* Fix & Clean Unit Tests

---------

Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>

* [Music/BGM] New music added for the "Slum" biome, composed by Andr06 (#3000)

* Replacement of the BGM in the slum biome (by Andr06)

* Modification of BGM credits in README.md

* Replacement of the BGM name by the title chosen by its composer in all languages

* Update BGM loop point for biome 'SLUM'

* [Bug] implemented multi target damage penalty (#2329)

* fix: damage multiplier by  the number of targets

* fix: used actual number value rather than the number holder

* test: added unit test for counting targets

* multi-target: fixed names of the unit tests.

* test: simple-test changes

* test: changed multi-target test code

* test: testing damage decreasement

* test: multi-target test fix

* resolved conflicts in test

---------

Co-authored-by: Tempoanon <163687446+Tempo-anon@users.noreply.github.com>

* [BUG] Uturn faint switch bug fix (#2980)

* reordering adding switch phases for u-turn

* reverting some temp changes

* generalizing function

* adding PR suggestions

* nit indenting

* [Sprite] Remove extra Oinkologne sprites (#3067)

* Delete public/images/pokemon/female/916.png

* Delete public/images/pokemon/exp/female/916.json

* Delete public/images/pokemon/exp/female/916.png

* Delete public/images/pokemon/female/916.json

* [Sprite] Mega Mewtwo sprite fixes (#3065)

* [Sprite] Add static epic Mega Mewtwo Y

Colours taken from exp, as consistent/exp rare backs share palettes.

* [Sprite] Fix transparent pixels on Mega Mewtwo X

* [Sprite] Fix transparent pixels on Mega Mewtwo X

* [Sprite] Add static epic Mega Mewtwo Y

Now exists, and is a paletteswap

* [Music/BGM] New music added for the "Sea" biome, composed by Andr06 (#3063)

* Replacement of the BGM in the sea biome (by Andr06)

* Modification of BGM credits in README.md

* Replacement of the BGM name by the title chosen by its composer in all languages

* Update BGM loop point for biome 'SEA'

* [Balance] Add 12 new TMs and remove 3 (#2733)

* Added Counter TM

* Counter, Aqua Tail, Gastro Acid, Pluck, Secret Power, Aurora Veil, Incinerate

* Placed TMs in proper order, added to pool

* Add Secret Power to the pool

* Add TM for Synthesis

* Covet, Heal Bell, PUPunch, Recycle, Volt Tackle, Worry Seed

* Remove species specific TMs

* Remove Secret Power TM until implementation

* [Refactor/Test] Update Dynamax Cannon Unit Tests (#3074)

* [Refactor/Test] Update Dynamax Cannon Unit Tests

* Adjust Test Names

* fix: update SameSite attribute in setCookie function to None

* fix: update SameSite attribute in setCookie function to Strict

* feat: Add prompt=none to Discord OAuth authorization URL

* fix: Remove unnecessary cookie setting in LoginPhase and MenuUiHandler

* feat: Improve cookie handling in getCookie function

* feat: Delete duplicate cookies with the same name in getCookie function

* [Localization] Add minor Korean translations to ability-trigger file (trace) (#3093)

* modify trace trigger description (refered from official translation)

modify trace trigger description (refered from official translation)

* modify trace trigger description (refered from official translation)

modify trace trigger description (refered from official translation)

* Fix broken `multi_target` tests and remove RNG-based failures (#3095)

* Prevent RNG from breaking the Quick Draw tests (#3096)

* Make EXP boosting items stack additively and not multiplicatively (#3094)

Fixes #2040

* [Bug] Fixes Encore bug with multi-target moves missing (#3060)

* Pushes move history even when multi target move misses

* Move pushMoveHistory out of Move Pending condition

* Add remaining relearn moves (#2894)

* [Enhancement] Decouple move accuracy and accuracy multiplier calculation from phases.ts (#2899)

* refactor accuracy calc

* update doc

* move accuracy multiplier calculation outside phases

* update wonder skin unit test

* rename method

* add docs

* add unit tests

* address feedback

* rename method

* fix imports

* improve tests

* add test for ohko move accuracy

* [Sprite] Fix a number of sprite issues including the Zubat line, Goldeen, Golett, Dudunsparce, H-Sneasel, Garchomp, Sylveon, Marshadow (#3069)

* Batfix, Goldeen, Chomp, Golett, genies

* Fix Dudunsparce using Reborn shiny backsprite for whatever reason

* Fix female Hisuian Sneasel missing variants

* Marshadow epic front and Zenith, Sylveon back

* Fix Zubat line back sprite inconsistencies

* Fix Noivern shiny back

* [Move] Finish implementation of Glaive Rush (#2720)

* Finish implementation of Glaive Rush

* Fix test RNG

* Add code/test for Multi-Lens interaction

* Fix off-by-one error in test caused by rounding issues

* Update for code changes

* Fix BattlerTag name

* [Bug] fix not changing moveset after add to starter #1932 (#2396)

* [Bug] Enemies can properly use stuff cheeks (#3090)

* [Feature] Added pokemon nicknames/renaming (#2570)

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

* [Sprite] Show Partner Eevee variants (#3097)

* [Sprite] Show Partner Eevee variants

Taken from non-partner Eevee

* [Sprite] Show Partner Eevee variants

Taken from non-partner Eevee

* [Sprite] Show Partner Eevee variants

* Allow Necrozma forms to play their special music (#3054)

* [BUG] fixing multi-hit and move messages on faint (#2981)

* fixing order of messages, scences, to render messages before fainting

* updated fix for effectiveness text rendering order for multi hit moves

* fixing messages not appearing for multi-hit moves on faint

* updated multi-hit condition)

* fixing PR conflicts

* adding comments and FaintPhase setPhaseQueueSplice bug, fixing overrides merge conflict

* writing better comments

* removing space diff in overrides

* adding fainting check for self damage moves

* emergency fixing broken last commit

* additional comments for multi-hit problem

* updating comments, jsdoc style

* fixing linter, destiny bond errors

* splitting up varaible comments to be in JSDoc format

* fixing tests and merge mistakes

* adding rendering of multihit moves that only hit once

* fixing comment formatting_tabs and spaces

---------

Co-authored-by: Benjamin Odom <bennybroseph@gmail.com>

* [Bug] Sheer Force/Serene Grace Flyout Bugfix (#2496)

* Disable Show Ability for Serene Grace and Sheer Force when opponent calculates targetBenefitScore

* Add comment and definition to argument

* [Visual] Achievement icons (#2617)

* Text Changes to MonoGen Challenges

* Item Texture Files

* MonoGen Ribbons added

* Resolving merge conflict

* Updated texture files? I think

* Changed image names and added new localizations for  syntax

* Removed unused ribbons

* [Feature] replace bug-report template with form (#2772)

* replace bug-report template with form

* update bug_report.yml

* add palceholders for data & session file

* Update item atlas

* Update item atlas again

This time, after merging main into the PR.

* [Sprite] Show Partner Eevee variants (#3097)

* [Sprite] Show Partner Eevee variants

Taken from non-partner Eevee

* [Sprite] Show Partner Eevee variants

Taken from non-partner Eevee

* [Sprite] Show Partner Eevee variants

* Merged with beta's new items

* Fixed typedoc issues

* Removing localizations

* Text Changes to MonoGen Challenges

* Item Texture Files

* MonoGen Ribbons added

* Resolving merge conflict

* Updated texture files? I think

* Changed image names and added new localizations for  syntax

* Removed unused ribbons

* Update item atlas

* [Feature] replace bug-report template with form (#2772)

* replace bug-report template with form

* update bug_report.yml

* add palceholders for data & session file

* Update item atlas again

This time, after merging main into the PR.

* Merged with beta's new items

* Fixed typedoc issues

* Removing localizations

* Allow Necrozma forms to play their special music (#3054)

* Allow Necrozma forms to play their special music (#3054)

* MonoGen Ribbons added

* Text Changes to MonoGen Challenges

* Item Texture Files

* MonoGen Ribbons added

* Updated texture files? I think

* Changed image names and added new localizations for  syntax

* Fixed typedoc issues

* Revert "Text Changes to MonoGen Challenges"

This reverts commit 3bf79acc6a.

* Text Changes to MonoGen Challenges

* Item Texture Files

* MonoGen Ribbons added

* Resolving merge conflict

* Updated texture files? I think

* Changed image names and added new localizations for  syntax

* Removed unused ribbons

* Update item atlas

* [Feature] replace bug-report template with form (#2772)

* replace bug-report template with form

* update bug_report.yml

* add palceholders for data & session file

* Update item atlas again

This time, after merging main into the PR.

* Merged with beta's new items

* Fixed typedoc issues

* Removing localizations

* Text Changes to MonoGen Challenges

* Item Texture Files

* MonoGen Ribbons added

* Resolving merge conflict

* Updated texture files? I think

* Changed image names and added new localizations for  syntax

* Removed unused ribbons

* Update item atlas

* Update item atlas again

This time, after merging main into the PR.

* Merged with beta's new items

* Fixed typedoc issues

* Removing localizations

* MonoGen Ribbons added

* Text Changes to MonoGen Challenges

* Item Texture Files

* MonoGen Ribbons added

* Updated texture files? I think

* Changed image names and added new localizations for  syntax

* Fixed typedoc issues

* Revert "Text Changes to MonoGen Challenges"

This reverts commit 3bf79acc6a.

* Please fix this.

* Revert "[Feature] replace bug-report template with form (#2772)"

This reverts commit aa69b10777.

---------

Co-authored-by: Frutescens <info@laptop>
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
Co-authored-by: Madmadness65 <blaze.the.fireman@gmail.com>
Co-authored-by: chaosgrimmon <31082757+chaosgrimmon@users.noreply.github.com>
Co-authored-by: Madmadness65 <59298170+Madmadness65@users.noreply.github.com>

* Re-add changes accidentally deleted by #2617

* Fix some broken images in item atlas & achievement

Fixed the broken sprites in the item atlas, and fixed the Baton Pass achievement to use the Baton item now (it was broken by the Leek being renamed). Also resized the Baton item image to 32*32, like all the other items.

* fix: Remove unnecessary cookie setting in removeCookie function

* fix: Update removeCookie function to use Max-Age=-1 instead of Expires header

The removeCookie function was updated to use the Max-Age=-1 attribute instead of setting the Expires header to a past date. This change ensures that the cookie is immediately expired when removed, preventing any potential login loops. Additionally, a legacy cookie without a domain was added to handle older cookies. This commit resolves the unnecessary cookie setting in the removeCookie function.

* [QoL] Starter UI selection update to allow removing specific pokemon from party  (#1983)

* Initial commits with logic to remove starters if they're in your party. Still need to make it work so that the starter selection cursor disappears when a starter is unselected

* Updated code to be able to remove pokemon, including the side icons and cursor locations

* Fixed popstarter to work with any index

* Updating code to allow navigation of starter icons

* Updating code to allow navigation of party starter icons

* Updaing navigation of party icons

* Updated logic to fix incorrect icon in top left of pokemon options when navigating the starter icons

* Updated logic to include the ability to navigate and interact with the starter icons

* Forgot to push the actual starter-select-ui-handler. Might be a bit hard to test things out without that :)

* Removed some unnecessary comments

* Fixed small bug with not being able to move from the far right to the gen selection when the starter icons were empty

* Updated code to not be using a method to generate the party menu and made it more like it used to be. This should help with merge conflicts in the future

* I committed the merged version but forgot to make the starter-select-ui-handler staged after making the changes

* Accidentally broke challenges that had a specific typing requirement with last commit. This should fix it

* Changed how navigation worked based on popular demand

* Fixed code review comments

* Accidentally left in a whole block of commented code. Intentionally removing it now

* Started adding logic for mono type challenge runs to not break the game if the user tries to start a run with an invalid party

* Updated the text to say the party is invalid

* Updated logic to make invalid pokemon greyed out when no valid pokemon are in your party

* Added comments on some code

* Updated locales to include the key for trying to start with invalid parties during a challenge

* Fixed some code from a bad merge where a challenge related param that was previously a number now needed to be a boolean and wasn't

* Removed comment as per review

* [Bug] Ability changing on evolution fix (#2995)

* Prevent Pokemon with their second ability from evolving into their HA

* Add check for fusions too

* Localization(pt): Updated move.ts (#3078)

* Localization(pt): Updated move.ts and fixed King's Shield

* more fixes

* [Bug] Enemy pokemon's Harvest creates berry icons on the player's side when triggered (#3077)

* [Bug] Fix hustle not applying attack boost (#3101)

* [Sprite] Mega Latis using opposite's eye colour (#3102)

* [Sprite] Mega Latis using opposite eyes

Taken from counterpart Lati

* [Sprite] Update Mega Latios eyes

* [Sprite] Update Mega Latias eyes

* [Sprite] Mega Latias duplicated palette value

Colour taken from non-exp Mega Latias

* [Bug] Fix Thousand Arrows not hitting targets under the effects of Magnet Rise (#3100)

* Fix Thousand Arrows not hitting through Magnet Rise

* Add integration test for Thousand Arrows vs. Magnet Rise

* ESLint

* Remove unnecessary checks in integration tests

* [Move] Aeroblast is a wind move (#3109)

* Hardcoded Pokemon should have proper names

* Aeroblast is a wind move

* [Refactor] Replaces the single and double battles overrides with a single override (#3104)

`SINGLE_BATTLE_OVERRIDE` and `DOUBLE_BATTLE_OVERRIDE` are now `BATTLE_TYPE`

Also updates all uses of the old overrides with the new one

* fix `Overrides` capitalization (#3111)

* [Balance] More TM fixes (#3081)

* More TM fixes

* Leaf Storm

* Removed sexy matcha

* [Refactor] Code readability update (#3085)

* Clean up/clarify `src/field/pokemon.ts` a bit

Code provided by DerTapp on Discord

* Update `PokemonSpeciesForm.getAbilityCount()`

* Update `PokemonSpeciesForm.getAbility()`

* Add explicit `Abilities.NONE` checks

* Add tests

* Add jsdoc and implement test suggestions

* [Move] Implement Stockpile, Spit Up, Swallow (#2960)

* feat: Implement Stockpile, Spit Up, Swallow

* chore: Minor, likely unnecessary null checks

* feat: Localization

* Undo non-English localizations (unsure if they went through proper channels)

* ko localization

from @EnochG1

Co-authored-by: Enoch <enoch.jwsong@gmail.com>

* linting fix

* add tests, tiny (non-functional) tweaks

* Remove unnecessary cast

* Update src/data/move.ts

(oops)

* remove some unnecessary comments, rename something for clarity

---------

Co-authored-by: Enoch <enoch.jwsong@gmail.com>

* [Bug] Remove ability swap code in `PlayerPokemon.evolve()` (#3113)

* [Test] Add test for rollout move (#3114)

* add test for rollout move

Co-authored-by: Zach Day <zachdayz@gmail.com>

* fix tests still using `SINGLE_BATTLE_OVERRIDE`

---------

Co-authored-by: Zach Day <zachdayz@gmail.com>

* [Bug][Beta] Fix Hyper Beam, etc. permanently recharging (#3115)

* Fix Hyper Beam, etc. permanently recharging

* Fix override in hyper beam test

* [QoL] New Starter Select UI with Filter (#2916)

* update images for new UI

* add updated starter UI with filter code

* update starter-select test code

* update win filter condition to pass test

* remove unnecessary console log

* update test code to match current filter UI

* merge update

* apply bugfix & chrry-pick small issues fix which are handled beta branch

* resolve conflicts

* fix lint errors

* Fixed a bug where the target location for escaping using the left and right buttons on the starter button did not account for scrolling

* update filter bar label color change when activated

* fix lint error

* fix lint

* fix octolock.text.ts. it looks override import error. idk why it is happend in this PR. but it looks ok now

* add passive dropdown in unlocks filter

* fix lint

* fix double button sound bug. refactoring genSpecies -> allSpecies, starterContainers -> starterContainer which are remove unnecessary generation axis

* optimize updateStarterValueLabel function which is bottleneck of UI update latency

* apply translation of gen filter label. fix lint

* add # candies sort option

* merge beta

* resolve confilcts

* fix offset of starter and start cursor

* make compatible with starter UI

* add missing feature

* add images for legacy UI. adjust the position and size of the starterContainerWindow

* [Localization] Implement Form localization (#3030)

* Implement Pokemon forms localization

* Update French pokemon-form.ts

* Update French pokemon-form.ts

* Update pokemon-form.ts

* Add battle forms korean translation from returntoice

Co-authored-by: returntoice <dieandbecome@gmail.com>

* Add cosplay forms korean translation from returntoice

Co-authored-by: returntoice <dieandbecome@gmail.com>

* Add pichu form korean translation from returntoice

Co-authored-by: returntoice <dieandbecome@gmail.com>

* Add castform forms korean translation by returntoice

Co-authored-by: returntoice <dieandbecome@gmail.com>

* Add remaining forms korean translation by returntoice

Co-authored-by: returntoice <dieandbecome@gmail.com>

* French typo corrections pokemon-form.ts

* Update Korean pokemon-form.ts

* Modify froakiBattleBond

like rockruff of OwnTempo case, it is froakie, not greninja.

* Modify zygardePc

Power construct is more important information
Switch its position to 50% or 10% to avoid overlapping with the sprite

* Modify mispelling

* Added german forms

* Changed Gigadynamax and Unendynamax so it fits at all

* Add partner pikachu and eevee form localization

* Add mimikyu forms localization

* Partner Pikachu, Partner Evoli und Mimikyu Formen hinzugefügt

* Update pokemon-form.ts

* Update partners

* Fix conflicts

* Fix useless ? by flx-sta

Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>

* Fix switch use by flx-sta

* Fix conflicts

* Please work !!!!!!!

* Update src/locales/fr/pokemon-form.ts

Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>

* Update src/locales/fr/pokemon-form.ts

Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>

* Add pt_br primal localization

Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>

* Add pt_br pikachu localization

Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>

* Add pt_br castform localization

Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>

* Add pt_br 3g localization

Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>

* Add zh_cn localization

Co-authored-by: Yonmaru40 <47717431+40chyan@users.noreply.github.com>

* Add pt_br other localization

Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>

* Add es castform localization

Co-authored-by: InnocentGameDev <asdargmng@gmail.com>

* Add es burmy localization

Co-authored-by: InnocentGameDev <asdargmng@gmail.com>

* Add es shellos localization

Co-authored-by: InnocentGameDev <asdargmng@gmail.com>

* Add es rotom localization

Co-authored-by: InnocentGameDev <asdargmng@gmail.com>

* Add es basculin localization

Co-authored-by: InnocentGameDev <asdargmng@gmail.com>

* Add es deerling localization

Co-authored-by: InnocentGameDev <asdargmng@gmail.com>

* Add es froakie localization

Co-authored-by: InnocentGameDev <asdargmng@gmail.com>

* Add es scatterbug localization

Co-authored-by: InnocentGameDev <asdargmng@gmail.com>

* Add es furfrou localization

Co-authored-by: InnocentGameDev <asdargmng@gmail.com>

* Add es xerneas localization

Co-authored-by: InnocentGameDev <asdargmng@gmail.com>

* Add es zygarde localization

Co-authored-by: InnocentGameDev <asdargmng@gmail.com>

* Add es pumpkaboo localization

Co-authored-by: InnocentGameDev <asdargmng@gmail.com>

* Add es flabebe localization

Co-authored-by: InnocentGameDev <asdargmng@gmail.com>

* Add es oricorio localization

Co-authored-by: InnocentGameDev <asdargmng@gmail.com>

* Add es minior localization

Co-authored-by: InnocentGameDev <asdargmng@gmail.com>

* Add es magearna localization

Co-authored-by: InnocentGameDev <asdargmng@gmail.com>

* Add es marshadow localization

Co-authored-by: InnocentGameDev <asdargmng@gmail.com>

* Add es sinistea ocalization

Co-authored-by: InnocentGameDev <asdargmng@gmail.com>

* Add es eiscue localization

Co-authored-by: InnocentGameDev <asdargmng@gmail.com>

* Add es indeedee localization

Co-authored-by: InnocentGameDev <asdargmng@gmail.com>

* Add es rockruff localization

Co-authored-by: InnocentGameDev <asdargmng@gmail.com>

* Add es mimikyu localization

Co-authored-by: InnocentGameDev <asdargmng@gmail.com>

* Add es zarude localization

Co-authored-by: InnocentGameDev <asdargmng@gmail.com>

* Add es squawkabilly localization

Co-authored-by: InnocentGameDev <asdargmng@gmail.com>

* Add es tatsugiri localization

Co-authored-by: InnocentGameDev <asdargmng@gmail.com>

* Add es gimmighoul localization

Co-authored-by: InnocentGameDev <asdargmng@gmail.com>

* Add es poltchageit localization

Co-authored-by: InnocentGameDev <asdargmng@gmail.com>

* Add es paldeaTauros localization

Co-authored-by: InnocentGameDev <asdargmng@gmail.com>

* Add es primal localization

Co-authored-by: InnocentGameDev <asdargmng@gmail.com>

* Add es pikachu localization

Co-authored-by: InnocentGameDev <asdargmng@gmail.com>

* Add es partner localization

Co-authored-by: InnocentGameDev <asdargmng@gmail.com>

* Fix typedocs error

* Fix typedocs error

* cn form prefix added

Co-authored-by: Yonmaru40 <47717431+40chyan@users.noreply.github.com>

* Fix german translate error

* Fix typo Zh_CN

Co-authored-by: mercurius-00 <80205689+mercurius-00@users.noreply.github.com>

* Update pokemon-form.ts [Localization(it)]

* Update src/locales/es/pokemon-form.ts

Co-authored-by: InnocentGameDev <asdargmng@gmail.com>

* Fix megas forms bug and add forgotten forms

* Fix wrong ko config

* Add fr localization for new forms

Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>

* Add de localization for new forms

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>

* Remove forgotten debug line

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>

* Optimize battle forms

* Update pokemon-form.ts (additional forms, italian localization)

* The same typo is in the zh_TW placeholder text too.

Co-authored-by: Madmadness65 <59298170+Madmadness65@users.noreply.github.com>

* Fix forgotten megaY

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>

* Add capitalizeString to utils

* Fix typedoc error

* Update src/data/pokemon-species.ts

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>

* Add ko localization for new forms

Co-authored-by: MrWaterT <87186129+MrWaterT@users.noreply.github.com>

---------

Co-authored-by: Lugiad <adrien.grivel@hotmail.fr>
Co-authored-by: returntoice <dieandbecome@gmail.com>
Co-authored-by: Mr.WaterT <water.t.works@gmail.com>
Co-authored-by: MrWaterT <87186129+MrWaterT@users.noreply.github.com>
Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
Co-authored-by: Benjamin Odom <bennybroseph@gmail.com>
Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>
Co-authored-by: Yonmaru40 <47717431+40chyan@users.noreply.github.com>
Co-authored-by: InnocentGameDev <asdargmng@gmail.com>
Co-authored-by: EnochG1 <enoch.jwsong@gmail.com>
Co-authored-by: mercurius-00 <80205689+mercurius-00@users.noreply.github.com>
Co-authored-by: Niccolò <123510358+NicusPulcis@users.noreply.github.com>
Co-authored-by: Madmadness65 <59298170+Madmadness65@users.noreply.github.com>

* [Move] Fully implement Jungle Healing/Lunar Blessing status heal (#2785)

* [Bug] Fix tags not resetting on switch (#3119)

Fixes #2982

* [Move] Water Shuriken guarantees 3 hits with battle bond (#2687)

* [Bug] Make on-summon abilities trigger after the switch check (#3118)

* Make on-summon abilities trigger after the switch check

* Add test

* [Ability] Cloud Nine now displays a message on activation

Maintains parity with Air Lock. Both of these probably need to be localized. Should fix issue 491 though

* [QoL] Summary Option for Caught Pokemon (#2921)

* Option to view Summary before adding new Pokemon to party

* Fixed issues described by HopsWas

* Adjusted makeRoomForConfirmUi to improve window spacing

* Fixed ESLint issue + addressed OrangeRed review

* Fixed Github pages issue

* Removed duplicate unshiftPhase

* Fixed phase order

* Don't start from beginning of catch function

* Option to view Summary before adding new Pokemon to party

* Fixed issues described by HopsWas

* Adjusted makeRoomForConfirmUi to improve window spacing

* Fixed Github pages issue

* Fixed phase order

* Quick fix

* This should fix the summaryOption feature without bugging confirm-ui-handler in other cases

* Revert "Merge remote-tracking branch 'origin/summaryOption1' into summaryOption1"

This reverts commit ea7d0ce59e, reversing
changes made to 4c565958da.

* Added a better conditional that reflects its source and purpose

---------

Co-authored-by: Frutescens <info@laptop>
Co-authored-by: AJ Fontaine <fontbane@gmail.com>

* [Bug] Fix HP rounding issues (#2968)

* [Bug] Fixes bug with frenzy moves keeping the confusion counter despite disruption (#3041)

* Adds frenzyMissFunc trigger on NO_EFFECT hit result

* Refactors FrenzyAttr to properly lapse tags each turn and remove tags on disrupt

* Makes comment on CONFUSED tag clearer

* Changes all integer usages to number in battler-tags

* Update getBattlerTag function to use number instead of integer

* [Tests] Updating Leftovers test (#3123)

* Bug Fix

* Update src/system/game-stats.ts

Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>

* Fixing a test

* Fixed import

* Revert "Bug Fix"

This reverts commit 834844978e.

---------

Co-authored-by: Frutescens <info@laptop>
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>

* [Localization] Correctly Localized German names of the BGM for Evil Teams (#3124)

* [Bug] Game Stats Sub-Legendary NaN bug for new game files (#3122)

* Bug Fix

* Update src/system/game-stats.ts

Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>

* Fixing a test

* Revert "Fixing a test"

This reverts commit 1bdbe2da5a.

* Test Re-Run

---------

Co-authored-by: Frutescens <info@laptop>
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>

* [Bug] Adjust how counter attacks target to account for uturn/voltswitch and double battles (#2462)

* Adjust how counter attacks target to account for uturn/voltswitch

* Creates move flag for metal burst/comeuppance to redirect in some cases

* Remove debug printing

* Bit shifts the redirect counter flag

* Removes extraneous class from prior testing

* Remove vitest timestamp file that was accidentally added

* [Misc] Change fresh start achievement icon to reviver seed

Mystic ticket icons in the achievements just confuse players

* [Balance] Fix N-Solarizer etc appearing without secondary mon registered in dex (#2713)

* Fix reins et al being available without unlocking second mon

* Small fix

* Parentheses for safety

* Add documentation to new function

* Bug Fix (#3129)

Co-authored-by: Frutescens <info@laptop>

* [Bug] Fixed OHKO moves being affected by accuracy and evasion battle stats (#3117)

* Fixed OHKO moves being affected by accuracy and evasion battle stats

* Added related tests for Fissure, unskipped related test for Hustle

* Tweaked fissure accuracy and evasion tests to use spyOn() for getAccuracyMultiplier() as per feedback

* Fixed accuracy test for Fissure

* [Fix][Sprite] Politoed Back Sprites (#3130)

* [Fix][Sprite] Politoed Back Sprites

Retrieved first version from history.
Rearranged frames to make jump a little less floaty.
Set same anim length for all variations.
Json is identical for all variations.
Spritesheet frame position is identical for all variations.
Trimmed the frame of extra space
Reduced file size of spritesheets and JSON due to less unique frames needed.

* [Fix][Sprite] Politoed Back Sprites  - Reformatted JSON to texturepacker standard

Reformatted json.

* [Bug] Hotfix for Starter select UI with Filter (#3121)

* fix remove pokemon menu

* fix dropdown all is not changing bug

* fix bug when go down with no starter on start button

* fix starter corsor bug on deletion. out of screen cursor bug

* fix challenge log

* fix lint error

* [Bug] fix and condition of shiny and passive (#3136)

* Fixed form names not working in starter select (#3139)

* [Bug] Prevent evolution causing a swap from the second ability to the HA (#3138)

* Prevent evolution causing a swap from the second ability to the HA

* Add tests

* Update `starter-select-ui-handler.ts`

* [Feature] [Item] Add White Herb item (#2719)

* More work

* More work

* Should be finished

* Fixed an error in checking target

* Moved white herb effect to StatChangePhase, 50% chance of consumption

* Added graphics for White Herb

* Balance and documentation

* Add localization entry for White Herb apply msg

* Add new keys to other localization files

* German translations

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>

* Update item sprite atlas

* Redo item atlas

* Remove whitespace in move.ts

* Moved decrement outside conditional

* Fix item atlas

---------

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>

* [Localization] Translated missing portuguese entries and some fixes (#3142)

* [Bug] Caught Pokemon Summary-Modifier Display Fix (#3145)

* Fixed modifiers not displaying on summary screen

* Addressed Typedoc issues

* Documentation added

---------

Co-authored-by: Frutescens <info@laptop>

* [BUG] Fixes bug that prevents pokemon with froms from hatching as rare/epic shiny variant and preventing illegal variants from legendary gacha (#2940)

* Changed PokemonSpecies hasVariants function to also include for pokemon with differend forms

* Added check to prevent illegal shiny variants from happening if the egg rolls the gacha legendary and has no variants

* Simplified variant check. Fixed spelling on unit test

* Bugfix for legacy eggs

* Removed formIndex variable

* Changed unit test

* Added new line to unit test function

Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>

---------

Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>

* [Unittest] remove held item rng (white herb) from intimidate.test.ts (#3151)

* Emergency delete unlock all functionality - should remove the unlock all functionality but keeps the isBeta utils function for future stuff (#3153)

* Update `getAbility()` and `getAbilityCount()` for the ability changes (#3157)

* Update src/data/arena-tag.ts

Co-authored-by: sirzento <sirzento@gmx.de>
Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
Co-authored-by: Felix Staud <felix.staud@headwire.com>
Co-authored-by: Adrian T <68144167+torranx@users.noreply.github.com>
Co-authored-by: lnuvy <lnuvy.code@gmail.com>
Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>
Co-authored-by: Tempoanon <163687446+Tempo-anon@users.noreply.github.com>
Co-authored-by: Xavion3 <xavion333@gmail.com>
Co-authored-by: AJ Fontaine <36677462+Fontbane@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: chaosgrimmon <31082757+chaosgrimmon@users.noreply.github.com>
Co-authored-by: Niccolò <123510358+NicusPulcis@users.noreply.github.com>
Co-authored-by: Dakurei <maxime.palanchini@gmail.com>
Co-authored-by: Enoch <enoch.jwsong@gmail.com>
Co-authored-by: Alexis <alexis.faizeau@animedigitalnetwork.fr>
Co-authored-by: 송지원 <jiwsong@gmarket.com>
Co-authored-by: Yonmaru40 <47717431+40chyan@users.noreply.github.com>
Co-authored-by: Mr.WaterT <water.t.works@gmail.com>
Co-authored-by: Alexis Faizeau <faizeau.alexis@gmail.com>
Co-authored-by: GoldTra <162721984+GoldTra@users.noreply.github.com>
Co-authored-by: returntoice <dieandbecome@gmail.com>
Co-authored-by: Arxxer <javiptn7@gmail.com>
Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>
Co-authored-by: InnocentGameDev <asdargmng@gmail.com>
Co-authored-by: innerthunder <168692175+innerthunder@users.noreply.github.com>
Co-authored-by: Dmitriy K <kagno.dmitriy@gmail.com>
Co-authored-by: sodam <66295123+sodaMelon@users.noreply.github.com>
Co-authored-by: RimKnight <rimknight852@gmail.com>
Co-authored-by: xsn34kzx <xsn34kzx@gmail.com>
Co-authored-by: Amani H <109637146+xsn34kzx@users.noreply.github.com>
Co-authored-by: mercurius-00 <80205689+mercurius-00@users.noreply.github.com>
Co-authored-by: hayuna <marek.kowalonek@gmail.com>
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
Co-authored-by: EmberCM <emberdevteam@gmail.com>
Co-authored-by: Opaque02 <66582645+Opaque02@users.noreply.github.com>
Co-authored-by: mcmontag <54485715+mcmontag@users.noreply.github.com>
Co-authored-by: schmidtc1 <62030095+schmidtc1@users.noreply.github.com>
Co-authored-by: Arxalc <63990624+Arxalc@users.noreply.github.com>
Co-authored-by: Mumble <kimjoanne@protonmail.com>
Co-authored-by: Frutescens <info@laptop>
Co-authored-by: EmberCM <kooly213@hotmail.com>
Co-authored-by: Zoruu <113668528+ArielStevens@users.noreply.github.com>
Co-authored-by: Corrade <49605314+Corrade@users.noreply.github.com>
Co-authored-by: Madmadness65 <blaze.the.fireman@gmail.com>
Co-authored-by: cam <lrlrliwoo@gmail.com>
Co-authored-by: 송영진 <36808515+bucket1582@users.noreply.github.com>
Co-authored-by: DustinLin <39450497+DustinLin@users.noreply.github.com>
Co-authored-by: 서명인 (Myungin, SEO) <65226760+smee6@users.noreply.github.com>
Co-authored-by: gjeodnd12165 <61226524+gjeodnd12165@users.noreply.github.com>
Co-authored-by: sirzento <sirzento@gmx.de>
Co-authored-by: Madmadness65 <59298170+Madmadness65@users.noreply.github.com>
Co-authored-by: Benjamin Odom <bennybroseph@gmail.com>
Co-authored-by: Daniel Gaston <danielgaston6@gmail.com>
Co-authored-by: Zach Day <zachdayz@gmail.com>
Co-authored-by: Leo Kim <47556641+KimJeongSun@users.noreply.github.com>
Co-authored-by: Kiriox <66013753+Kiriox94@users.noreply.github.com>
Co-authored-by: MrWaterT <87186129+MrWaterT@users.noreply.github.com>
Co-authored-by: AJ Fontaine <fontbane@gmail.com>
2024-07-28 00:47:00 +01:00
Tempoanon
0f510996f0
[Bug] Fix strong winds calculation (#2423)
* Fix strong winds calculation

* add unit test

* Add strong winds effect message

* Update src/locales/de/weather.ts

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>

* Update src/locales/es/weather.ts

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>

* Update src/locales/fr/weather.ts

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>

* Update src/locales/it/weather.ts

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>

* Update src/locales/ko/weather.ts

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>

---------

Co-authored-by: torranx <torranicles@gmail.com>
Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
2024-07-05 19:59:53 +01:00
AJ Fontaine
34058a57ed
Don't apply Classic bonus to friendship decreases (#2552) 2024-07-03 14:36:00 -05:00
Xavion3
ef5a29f9b2
Implement support for relearner only moves (#1667)
Currently only used by Zangoose
2024-07-03 21:13:25 +02:00
Adrian T
dad065cbae
[Ability] Fully Implement Steely Spirit (#2749)
* implement steely spirit

* add unit test

* cleanup

* cleanup and add another test
2024-07-03 12:55:39 -04:00
hayuna
13b23289d1
[Bug] Fix incorrect move effectiveness (#2757)
* Fix incorrect move effectiveness

* Casting variable should be enough
2024-07-02 12:20:45 -04:00
innerthunder
f4c8f0080a
[Bug] Add user Pokemon check to multi-hit early stopping (#2726) 2024-06-30 15:21:23 -04:00
innerthunder
d278df8fef
[Bug] Fix multi-hit moves persisting after sleep/freeze (#2712) 2024-06-29 17:30:10 -04:00
flx-sta
d5b1459422
[Docs] add some inline docs for boss segments logic (#2678) 2024-06-27 23:20:42 -04:00
flx-sta
384f6e1fee
[Bug] add flag to know if pokemon was populated from data-source to fix boss segments for endless double bosses (#2672)
also reverted previous change as this was breaking for non-session-restored fights
2024-06-27 19:55:27 -04:00
innerthunder
e477fccaab
[Bug] Fix multi-hit early stopping (#2648) 2024-06-27 00:41:31 -04:00
innerthunder
55dd6b5100
[Bug] Fix Multi-Lens/PBond interaction for spread moves (#2633) 2024-06-26 21:05:03 -04:00
innerthunder
cd92d4d7d3
[Ability] Implement Parental Bond (#2384)
* Parental Bond basic implementation

* Parental Bond unit tests

* ESLint

* PBond AbAttr rework, documentation, and multi-target unit tests

* Update post-target move attribute logic

For Parental Bond interaction.

* AddSecondStrikeAbAttr now uses Constructor util

* Unit tests for PBond + Multi-Lens interaction

* Remove random damage spread in unit test

* Add null checks to PBond AbAttr

* Set player pokemon for unit test

* Fixed Post Target check to account for KO's

* Fix multi-strike moves applying effects at wrong times

* Test cases for updated effect timing

* Add Wake-Up Slap test case

* Fix Fury Cutter/Echoed Voice multi-hit interaction

* Fix Pay Day, Relic Song, and Fury Cutter (again)

* Add early stopping to multi-hit moves

* RecoilAttr now uses lastHitOnly

* Add faint check to last hit logic
2024-06-26 16:03:14 -04:00
Amani H
f7f8988cdb
[Item] Add Light Ball, Thick Club, Metal Powder, and Quick Powder (#1899)
* Add Light Ball, Thick Club, and Metal/Quick Powder

* Fix Typo, Account for Fusions

* Fix Errors with Fusions

* Group Items into Generator

* Refactor Generator and Type, Fix Localization (en)

* Adjust Generator, Add Override Type

* Fix Enum Import

* Localize for de, es, fr, it, ko, zh_CN, zh_TW

* Add Unit Tests

* Add Type

* Fix Items Atlas

* Change Cubone Passive Ability, Adjust Weight
2024-06-26 13:48:10 -05:00
flx-sta
74a7b1bb79
[Bug] fix boss-segment reload persistence: (#2613)
add boss-segments to into pokemon-data & load it in EnemyPokemon constructor
2024-06-26 13:19:24 -04:00
Corrade
e70113073f
[Bug] Fix Dry Skin and ReceivedMoveDamageMultiplierAbAttr abilities (#2592)
* Dry skin and ReceivedMoveDamageMultiplierAbAttr bug fix: first cut

* Dry skin and ReceivedMoveDamageMultiplierAbAttr bug fix: removed redundant branch

* Dry skin and ReceivedMoveDamageMultiplierAbAttr bug fix: reworded test cases that had typos anyway

* Dry skin and ReceivedMoveDamageMultiplierAbAttr bug fix: renamed PreDefendMovePowerToOneAbAttr (Disguise) to mention damage rather than power

* Dry skin and ReceivedMoveDamageMultiplierAbAttr bug fix: renamed powerMultiplier to damageMultiplier in ReceivedMoveDamageMultiplierAbAttr
2024-06-25 13:23:48 -04:00
Amani H
136652caa9
[Item] Implement Eviolite Behavior (#2161)
* Add Eviolite with Unit Tests

* Localize for de, es, fr, it, ko, zh_CN, zh_TW

* Adjust German Localization

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>

* Adjust Italian Localization

* Change Multiplier Type

* Adjust Unit Test Import

* Change Constructor

* Make Unit Tests Localized

* Comment Out of Reward Pool

---------

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
2024-06-24 21:00:59 -05:00
DustinLin
8c9603ab19
[Bug] fix softlock/runtime error after roar in doubles (#2553)
* added undefined runtime safeguard checks

* adding documentation

* fixing typos and logic

* removing operator bc i forgor
2024-06-24 01:06:15 -04:00
innerthunder
905ecd6576
[Bug] Remove grounding moves' arbitrary turn limits (#2526)
* Remove grounding moves' arbitrary turn limits

* Added documentation for GroundedTag

* Rename GROUNDED tag + add tag check to isGrounded

* Fix remaining GROUNDED reference

* Clean up calls to getTag
2024-06-23 12:48:49 -04:00
innerthunder
86cc1018e3
[Bug] Fix Thousand Arrows not hitting Pokemon with Levitate (#2493) 2024-06-21 14:04:11 -04:00
Adrian T
28b2dd15c2
[Bug] fix pre defend power multiplier (#2416) 2024-06-21 11:10:49 -04:00
Xavion3
a14128aece
Fix Minimize AI and add NaN AI score safeguard (#2460) 2024-06-21 09:26:32 +10:00
Dmitriy K
74aa5a8005
Create Class constructor utility type. (#2162) 2024-06-19 12:00:26 -04:00
innerthunder
21f1e077fa
[Featrue] Add Dark-type immunity to Prankster (#2355) 2024-06-18 11:21:54 -04:00
Matthew
d70dd16f8c
[Refactor] I18n Cleaning (#2348)
* I18n Cleaning

* pr comments

* appease typedoc

* moved types into src
2024-06-17 17:05:33 -04:00
Adrian T
fd1baef244
[Ability] Implement Power Spot & Battery (#2268)
* add battery

* add power spot

* refactor

* remove FieldVariableMovePowerAbAttr

* remove showing ability bar

* document + cleanup

* add unit tests

* update test name

* update variable names

* update multiplier
2024-06-17 16:12:11 -04:00
Dmitriy K
eab8db7d29
[Bug]: fix dark aura and fairy aura not applying to moves (#2246)
* fix dark aura and fairy aura not applying to moves

* use Set to prevent duplicate aura abilities from triggering

* switch to different AbAttr class
2024-06-17 20:52:33 +01:00
Frisk17
89eba349c9
[Move] Implemented Magnet Rise (#2081)
* Partially implemented Magnet Rise

* Implemented Magnet Rise

* Changed pokemon.ts so all TypeImmune tags work instead of just
MagnetRisen

* Magnet Risen is now removed when Gravity is used.

* Magnet Rise is ignored by Thousand Arrows
and Smack Down.

* Fixed a bug where status ground type moves
would also be ignored by Magnet Rise

* Added a message when Magnet Rise is removed

* Inserted TypeImmuneTag check in
getAttackMoveEffectiveness() for the AI

* Created a magnetRiseCondition separately

* Created a test for Magnet Rise

* Bug Fix in Magnet Rise test

* Created Magnet Rise test with Gravity

* Shifted the code from getAttackMoveEffectiveness
and apply into getAttackTypeEffectiveness instead

* Replaced onNextPrompt with doAttack

* Removed redundant runFrom(Phase)

* Replaced magnetRiseCondition with
battlerTags.every anonymous function

* Fixed import errors

* Added an undefined check for summonData
for TypeImmuneTag in getAttackTypeEffectiveness

* Replaced undefined-check with optional chaining
2024-06-17 17:35:06 +02:00
innerthunder
01435ed0e0
[Ability] Implement Unseen Fist (#1776)
* Implement Unseen Fist

* Add unit tests for Unseen Fist

* Fix unit test imports
2024-06-15 22:14:49 -04:00
Matthew Olker
02d5654be4 Pride Update 2024-06-14 12:42:37 -04:00
Matthew
dc30dd33b2
[QoL] Reorganize Enum Locations (#2185)
* moving enums

* import updates

* fix tsconfig paths importing (#2184)

* reverse index.ts addition

---------

Co-authored-by: Devin Korb <meepdarknessmeep@gmail.com>
2024-06-13 18:44:23 -04:00
Matthew Olker
e6c24dceab Revert "[QoL] Reorganize Enum Locations (#2142)"
This reverts commit cf06ff3b8d.
2024-06-13 11:30:47 -04:00
Matthew
cf06ff3b8d
[QoL] Reorganize Enum Locations (#2142)
* moving enums
2024-06-13 11:11:12 -04:00
Dmitriy K
819fe9b4a1
[Ability] Implement Protean and Libero abilities (#1309)
* 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
2024-06-13 10:54:23 -04:00
Dmitriy K
0970c2cd4e
[Refactor] Replace forceBypass with bypassFaint flag (#1839)
* replace forceBypass with bypassFaint flag

* add another path alias for src/test

* make form override work for the whole party instead of the first pokemon

* add tests for all abilities that are touched by this change

* remove unnecessary overrides from tests

* move SpeciesFormChangeTimeOfDayTrigger outside arena reset logic

* remove alll resetMock calls, rename it to test
2024-06-13 11:36:12 +02:00
Ei
589d06c15e
[Bug] Fixed reviving while transformed not resetting the sprite (#2152)
* Fixed reviving while transformed not resetting the sprite

* Made reload assets in resetStatus optional
2024-06-12 18:08:15 -04:00
Adrian T
8e8b006c49
[Bug] add condition before applying IgnoreTypeImmunityAbAttr (#2150) 2024-06-12 16:02:28 -04:00
Adrian T
fe7ed72afa
[Enhancement] add revealed ability flag (#2105) 2024-06-12 13:30:10 -04:00
DustinLin
e5d9cfd10f
[Bug] Fixing Baton Pass passing (#2058)
* skip yawn and infatuation for baton pass, and some docs along the way

* update yawn condition readability
2024-06-12 10:19:50 -04:00
innerthunder
670ea01cb4
[Ability] Implement Treasures of Ruin Abilities (#1637)
* Implement Treasures of Ruin abilities

* Reformat documentation

---------

Co-authored-by: Temps Ray <temps.ray@gmail.com>
2024-06-11 09:37:10 -04:00
Adrian T
bcfeaf0639
[Bug] add move effectiveness text color check to ignore ability (#2042) 2024-06-10 13:40:00 -04:00
Ei
c77508aef3
[Bug] Fixed getAttackMoveEffectiveness (#2006) 2024-06-09 12:37:50 -04:00
Xavion3
07f0a67c78
Make getTypes ignore transform when ignoring overrides (#1976) 2024-06-08 21:08:30 -04:00
Yentis
3f9eaf4a5d
Add setting for showing type effectiveness hints (#1061)
* 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
2024-06-08 15:33:13 -04:00
Xavion3
696ff6eae3
Add Challenges (#1459)
* 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
2024-06-08 01:07:23 -04:00
Greenlamp2
1a149bfa04
[Testing] Flexible Testing Wrapper for Phaser-Based Battle-Scenes (#1908)
* 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>
2024-06-07 18:33:45 -04:00
td76099
0a17c2495a
Bugfix: Abilities check final move type instead of default move type (#1440)
* Added check for move changing type before determining if defending is immune to it because of an ability

* Remove duplicate Ability change class and added getType() function under a move

* Reworking how moves get passed into hit calc

* Fixing exceptions and overreaching changes

* reverting forwarn and dancing move back to original since they are not being changed

* fixing some small move related bugs

* Fixing file permissions after testing

* Fixing move type not resetting after individual MoveEffectPhase

* Fixing move.ts permissions (again)

* Addressing some MR feedback and adding some documentation for PokemonMove class
2024-06-07 16:57:57 -04:00
Corrade
c177f3c1fb
[Bug] Ignored strong winds for stealth rock and anticipation (#1682) 2024-06-07 15:15:24 -04:00
Tempoanon
ac8ae6c724
Thunderclap should not let the AI read your inputs (#1884) 2024-06-06 12:59:22 -05:00
Dmitriy K
223d8a731d
[Feature] Implement Full Heal/Lum/Full Restore to heal Confusion #1658 (#1876)
* Added Confusion to be healed with Full Heals and Full Restores

* Semi-Colon oversight

* Changed resetStatus to have a condition whether to include confusion or not, defaults to false so you manually have to add

* Fixed spacing and semicolon

* Refactored the Lum Berry case

* Fix berry conflicts

* Update {}

* Fix PP Conflict

* Build fix?

* Fix Modifier

* Build Fix

* Fix

* Fix StatuHeal from eslint

* Fix revive (will show testing through everything again)

* Update documentation

---------

Co-authored-by: Ethan <hensley.ethan64@gmail.com>
Co-authored-by: Ethan <71776311+EvasiveAce@users.noreply.github.com>
2024-06-06 12:04:16 -04:00
c4vv
e0401a93aa
[Bug] Fix generateVariant to account for forms (#1783)
* Add form check to generateVaraint

* Add index check

* Fix for typedoc
2024-06-06 10:55:50 -04:00
Matthew
c5689dfc96
dont make api calls when no server is connected in local (#1847)
* dont make api calls in local without a server connected and fix fusionLuck not set by default
2024-06-05 21:24:47 -04:00
NightKev
395fa6e33d
[Bug] Allow second mon of a fusion to learn/remember on-evo moves (#1778)
Fixes #520
2024-06-05 10:36:42 -04:00
Benjamin Odom
6dbf99cc72
[Bug] Fix Circular Dependency with BerryType (#1802)
* Fix Potential Circular Dependency with BerryType

* remove .js
2024-06-04 19:03:02 +01:00
Tempoanon
1c73b3b084
Revert "[Feature] Add possibility to override whole user party (#1643)" (#1796)
This reverts commit ef8b6aa4f9.
2024-06-04 16:39:02 +01:00
hayuna
ef8b6aa4f9
[Feature] Add possibility to override whole user party (#1643)
* Add possibility to override whole user party

* Update species overriding

* Replace SPARTER_SPECIES_OVERRIDE with array

* Replace SPARTER_SPECIES_OVERRIDE with array

* Add possibility to override species forms

* Add possibility to override species forms

* Fix eslint styling

* Add possibility to override Abilities for party

* Override status, gender, moveset

* Add possibility to override shinies

* Fix CI
2024-06-04 11:29:38 -04:00
Dmitriy K
d052d444b6
[QoL] Add type inference to getAttrs methods and refactor accordingly (#1633)
* add type inference to getAttrs methods and refactor accordingly

* Tests/infer types for get attrs methods (#1)

* #1633: add spec/tests for coverage

* move ability/move tests into /src/tests and rename to *.test.ts to match common naming patterns

* use None in test cases to remove ambiguity

* revert back to before test cases were merged

---------

Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
2024-05-31 19:50:30 -05:00
innerthunder
2dff35c407
Fix Neutralizing Gas self-suppression (#1662) 2024-05-31 16:35:52 -05:00
Tempoanon
0c862839d3
Revert "[Bug] Full Heals and Full Restore cure confusion (#1112)" (#1653)
This reverts commit 6c4b60a2fa.
2024-05-31 15:56:39 +01:00
Ethan
6c4b60a2fa
[Bug] Full Heals and Full Restore cure confusion (#1112)
* Added Confusion to be healed with Full Heals and Full Restores

* Semi-Colon oversight

* Changed resetStatus to have a condition whether to include confusion or not, defaults to false so you manually have to add

* Fixed spacing and semicolon

* Refactored the Lum Berry case

* Fix berry conflicts

* Update {}

* Fix PP Conflict

* Build fix?

* Fix Modifier

* Build Fix

* Fix

* Fix StatuHeal from eslint
2024-05-31 10:31:15 -04:00
dielle000
bda3013c19
Allow selection of item quantity when transferring items (fixes #723) (#1394)
* Transferring item does not kick out of transfer menu

* Select simultaneously the item to transfer and the quantity

* eslint fix

* eslint fix

* Reset quantity on scroll

* Documentation

* eslint fix
2024-05-30 16:58:10 -05:00
Tempoanon
cb6a0b9973
Fix bug with variant rate (#1613) 2024-05-30 22:25:53 +01:00
Tempoanon
3e932ce2d0
Shinylock uncatchable Pokemon in endless mode (#1252)
* Shinylock uncatchable Pokemon

* Fix typos

* Pass the linter vibe check

* Remove 2 shinylock cases

* refactor
2024-05-30 16:20:27 -04:00
Dmitriy K
b1c208cd86
[Feature] Add status override (#1602) 2024-05-30 12:49:57 -04:00
Benjamin Odom
9b5c1cdadb
Adds a Small Flyout Panel to the Battle Info Object (#1377)
* Initial Commit

* Update pbinfo_enemy_boss_stats.png

* Move to Separate Key

* Add Separate Mobile Control for Flyout

* Add Setting to Enable/Disable

* Add to the Tutorial

* Change to BUTTON.V
2024-05-29 20:29:59 -04:00
Frederico Santos
89f58961cb
Implement Zero to hero (#1131)
* Implemented Zero-To-Hero

* Zero to Hero documentation and form reset on summon

* Zero to Hero: form reset on biome/trainer

* Updated documentation on PreSwitchOutFormChangeAbAttr apply

* Faint bypass on canApplyAbility

* revert zygarde

* zero to hero post-merge
2024-05-28 06:11:04 -05:00
innerthunder
4ffff8e1ee
Implement Quick Guard and other conditional team protection moves (#1275)
* Implement conditional protection arena tag

Affected moves:
- Quick Guard
- Wide Guard
- Mat Block
- Crafty Shield
- Feint (updated)

* Add support for moves that ignore Protect to conditional protection moves

* Comments for protect arena tags

* ESLint

---------

Co-authored-by: Benjamin Odom <bennybroseph@gmail.com>
2024-05-25 06:22:10 -05:00
Matthew Olker
1e283afc84 fix anmation duplicate warnings 2024-05-24 22:57:47 -04:00
Jakub Hanko
a48ba9864d
Implement Destiny Bond move (#1104)
* Use getBattleStat instead of getStat in BattleStatRatioPowerAttr

* Change unnecessary let into const

* Refactor BattleStatRatioPowerAttr into two distinct classes

* Add TSDoc for the new classes

* Implementation of Destiny Bond

* Add TSDocs

* Make the move fail in boss battles

* Fix boss immunity and ally fainting

* Update docs

* Add doc of return value of tag lapse

* Fix ESLint
2024-05-24 15:23:23 -05:00
Greenlamp2
622885767d
Enforce Consistent Spacing with ESLint's space-before-blocks and keyword-spacing Rules (#1308)
* added rule no-trailing-spaces

* added rule space-before-block

* added rule keyword spacing
2024-05-23 19:19:20 -05:00
Greenlamp2
e2be6ba002
added rule no-trailing-spaces (#1307) 2024-05-23 18:45:04 -05:00
Franck TROUILLEZ
68e94845ab
Add BattleInfo to TargetSelectUiHandler to move when target selected (#1255)
This change allows to move the box containing the battle info of the ennemy pokemons during double battle when the user has to choose a target. In addition to the pokemon opacity constantly changing, the battle info will also move up and down to indicate which Pokemon is targeted.

It exposes the BattleInfo object from the Pokemon object through an accessor method.
2024-05-23 18:28:53 -04:00
Greenlamp2
bac6c22973
ESLint - The Essential Linter and Formatter for JavaScript and TypeScript (#1224)
* eslint config + packages

* updated eslint config

* fix the issue eslint adding ;;;; at interfaces

* first round with eslint --fix .

* removed config for unused export

* Revert "first round with eslint --fix ."

This reverts commit 77a88e0895.

* removed config for camelCase

* for real this time, first round of eslint --fix .

* halfway to manual eslint fix

* eslint done

* added "how to setup" the hook to eslint --fix each new file before commit (if wanted)

* removed eslintrc config file duplicat

* fix human error + ignore build folder + merge overrides

* added curly brace style + eslint

* applied double quote linter rule

* added lefthook

* test precommit

* test precommit

* test precommit

* test precommit

* test precommit

* test precommit

* test precommit

* github action to run eslint

* added node_modules to ignore eslint

* different action for typescript

* no need for different glob (default src)

* node 20

* node 20

* removed no longer needed install file

* remove hooks part from README

* eslint fixes

---------

Co-authored-by: Frederico Santos <frederico.f.santos@tecnico.ulisboa.pt>
2024-05-23 11:03:10 -04:00
Xavion3
7ae09a31a5
Hotfix Sucker Punch and Upper Hand AI (#1237) 2024-05-22 07:13:39 -05:00
Franck TROUILLEZ
7ac4900a3e
Allow to explicitly ignore faint phase when damaging. (#1182)
This allows to skip the faint phase in the `#damage` method for physical and special moves, to ensure we first queue the messages for the effectiveness of the attack and the potential critical hit.
We then explicitly unshift the faint phase in this case.
2024-05-22 01:01:16 -05:00
Madmadness65
3c8b4550b6 End shiny event
I hope everyone enjoyed the extended shiny event this weekend.
2024-05-21 18:58:48 -05:00
LaukkaE
8c01403630
tie event to UTC (#1203)
correct time
2024-05-21 09:38:07 -05:00
Xavion3
3fd1ecf6a7
Update moveset logic to account for new sacrifice attr (#1192) 2024-05-21 02:40:53 -05:00
Greenlamp2
c454e2d232
Fix - shiny color swap (#1183)
* return a list of errors if something is wrong with the variant's sprite

* reformat

* added data in error message

* added read comfort + detection of missing json for existing variant

* fix an error of message display

* fix fetch color swap, missing a return
2024-05-20 19:17:21 -05:00
Matthew Olker
04045623a0 Update shiny event end to match discord announcement 2024-05-20 16:41:40 -04:00
arColm
80f6b62d1b
Implement Revival Blessing (#343) 2024-05-19 18:02:17 -05:00
rayanzmn
f1394307f4
Fixes recoil damage calculation (#1063)
Recoil damage previously used the total damage dealt by the user instead of using the damage dealt in the current turn.
2024-05-19 17:54:17 -05:00
NxKarim
1ae5847e49
Implements Merciless (#440)
* Implemented Merciless

Attribute CritIfTargetIsPoisonedAbAttr
Fix BlockCritAbAttr

* Changed CritIfTargetPoisonedAbAttr to ConditionalCritAbAttr

Now any condition related to user, target or the move used can be applied to guarantee a critical hit.
2024-05-19 09:06:58 -05:00
Benjamin Odom
6dc10f549f
Fix Crashes when Sprites for Pokémon are missing (#1021)
* Fix Crashes when Sprites for Pokémon are missing

Fixes an issue where a missing sprite will cause the game to crash instead of using the base sprite or the Substitute sprite.

Failsafes were already in place to load these backups, this code just allows a graceful fail and a simple error message instead of a crash.

* Check Against OK status
2024-05-18 18:29:09 -05:00
Matthew Olker
5dd017fa30 Begin shiny weekend 2024-05-17 18:13:12 -04:00
Xavion3
9197f9f070 Limit rare eggs to e4+ and fix trainer boss check
Also fixes weighting to account for adjusted level ranges
2024-05-15 11:55:47 -04:00
Flashfyre
3c8d919ef8 Revert "Implemented Power Split and Guard Split (#699)"
This reverts commit 0b75a5210a.
2024-05-15 10:13:29 -04:00
Frederico Santos
0b75a5210a
Implemented Power Split and Guard Split (#699)
* Implemented Power Split and Guard Split

* Update changeStat method to use summonData for Pokemon stats

This commit modifies the `changeStat` method in the `Pokemon` class to use the `summonData` object for updating Pokemon stats instead of directly modifying the `stats` object. This change ensures that the updated stats are correctly reflected in the `summonData` object, which is used for battle calculations and other related operations.

Refactor the `getStat` method to check if `summonData` exists and return the corresponding stat value from `summonData.stats` if it does. Otherwise, return the stat value from the `stats` object.

This change improves the accuracy of stat calculations during battles and ensures consistency between the `stats` and `summonData` objects.

* Added documentation for Power Split and Guard Split + linting

* removed incorrect files

* Removed incorrect folder

* removed unnecessary import

* Added documentation for getStat and changeSummonStat methods

* New description for getStat()

* Adjusting function descriptions

* adjusted descriptions according to guideline

---------

Co-authored-by: Frederico Santos <frederico.santos@fivedegrees.nl>
2024-05-15 07:41:40 -05:00
andrew-wilcox
1f5b2726b5
added auto hit and 2x damage from certain moves when targeting a pokemon that used minimize (#824)
* added auto hit and 2x damage from certain moves when targetting a pokemon who used minimize

* review fixes and bad merge

* review fixes and bad merge v2

* changed to be double damage instead of power for the minimize condition

* added TSdocs for function]

* remove ability to add minimize tag to dynamax-mons

* status cannot be applied to max-mons, and falls off if they dynamax

* updated doccumentation

* Update move.ts

---------

Co-authored-by: Cae Rulius <cae@polywhack.com>
Co-authored-by: Benjamin Odom <bennybroseph@gmail.com>
2024-05-15 07:36:34 -05:00
Ethan
7d3cf577a6
Implented Gen VII Sheer Cold Changes (#349)
* Made Sheer Cold not affect Ice Types, as well as implementing the Gen VII change of 20% for non ice types.

* Pushed accurancy change

* Updated and separated the accuracy attribute and the Ice no effect attribute

* Fixed the OHKO attribute (accidentally removed) and fixed multiplier

* Updated attribute names, as well as making the move cancelled instead of 0x multiplier

* Added TSDoc comments

* Updated accuracy logic

* Changed the text response for Sheer Cold immunity

* Added immune to the HitResult enum
2024-05-14 13:01:37 -05:00
Brandon Rodgers
06c3611d06
Ability Corrosion (#744)
* Ability Corrosion

Implemented Corrosion Partially.
Tested against:
- Poison Powder
- Toxic
- Dire Claw
- Sludge Bomb
- Psycho Shift

They all work as expected

Missing ability Magic Bounce to test against.

* Added TSDoc Documentation

Added documentation to the new IgnoreTypeStatusEffectImunnityAbAttr and added comments to the checks for this ability attribute.

* Added More Documentation

Add comment into Phases for what sourcePokemon is for.
Renamed source to sourcePokemon onto trySetStatus and canSetStatus.
Added TSDoc head for what sourcePokemon is and anything else I am aware of what they are used for.

* Removed unfinished TSDoc

Removed TSDoc headers due to not having enough understanding to fill out all of the parameters

* Fix Formatting and Reorder Parameters

* Update arena-tag.ts

* Update phases.ts

* Update ability.ts

Added access modifiers to my class and the class I compared to.

---------

Co-authored-by: Benjamin Odom <bennybroseph@gmail.com>
2024-05-14 13:00:37 -05:00
Flashfyre
7e5c7fb4f7 Don't allow trainer egg moves before level 60 and no rare egg moves at all 2024-05-13 17:03:53 -04:00
Matt Ross
4e6cf2a6ac
Facade should ignore burn damage reduction (#530)
* Facade should ignore burn damage reduction

* update order of burn conditions

* remove unnecessary space

* undo facade check in apply

* Rework facade bypassing burn as move attribute

* Only check ability attribute if move attribute was false

* Add missing semicolon

* Add tsdoc comment

* Add comment to burn damage reduction class

* Added changes from Discord thread

---------

Co-authored-by: Benjamin Odom <bennybroseph@gmail.com>
2024-05-13 13:06:15 -05:00
Matt Ross
fa60e002e8
Fixes some variable damage moves not working with tinted lens (#759)
* Fixes some variable damage moves not working with abilities

* Rework as new ability attribute

* Update variable base power check to original location

* formatting

* Add tsdoc comments

* add floor for potential non int multipliers

* Update pokemon.ts

---------

Co-authored-by: Benjamin Odom <bennybroseph@gmail.com>
2024-05-13 13:05:09 -05:00
Flashfyre
347972d103 Remove boosted shiny rate 2024-05-12 20:45:41 -04:00
Matthew
e195c6d799
Show Default Pokemon icon for missing shiny icon (#802) 2024-05-13 06:41:02 +10:00
Benjamin Odom
79a87e1c65 Update pokemon.ts 2024-05-12 10:27:54 -04:00
LaukkaE
ced74efc52
fix isGrounded check (#774) 2024-05-12 06:30:18 -05:00
Landon Lee
a27822b624
Fix cry when pokemon is fused with its own species (#615)
If the pokemon species and form is the same as the second fusion component, then skip the logic to make a fused cry and just use the cry of the primary component.
2024-05-12 03:01:59 -05:00
Thomas Huynh
d5f82611f5
added battle tag check in isGrounded method (#750)
Co-authored-by: unknown <t_huynh927@yahoo.com>
2024-05-12 02:28:30 -05:00
Xavion3
db6008d15c
Add tsdoc comments for ability getters (#764)
* Add tsdoc comments for ability getters

* Add links to the docs
2024-05-12 00:48:56 -05:00
Xavion3
34aa68df14
Fix fusion icon variant id (#747) 2024-05-11 13:15:01 -05:00
Benjamin Odom
ae7c1ef4f0
Fix Charge Move Infinites (#741)
Fixed an issue where two turn charge moves could be paused by status or Truant causing some infinite sequences if not careful.
2024-05-11 23:22:26 +10:00
Xavion3
d24762b5dc
Fix bug in moveset code (#735)
Pokemon with very limited movepools could sometimes generate with no moves
2024-05-11 00:46:36 -05:00
Xavion3
72467388fc
Redo moveset generation (#550)
* Redo moveset generation

* Decrease the weight of lower power moves and egg moves

* More weight tweaking

Trainers never get OHKO moves, are less likely to get self KO and multiturn moves, and more likely to get stat buffing moves. All pokemon are less likely to get offstat moves.
2024-05-11 00:20:21 -04:00
AJ Fontaine
7219556e77
Hydro Steam (#231)
* Hydro Steam, Spirit Shackle, U-turn fix

Match formatting to project style

Co-authored-by: Samuel H <flashfireex@gmail.com>

* Fix Hydro Steam power up in Sun, even harsh sun if type changes

* Fix issue with Hydro Steam outside sun

* Add comments to IgnoreWeatherTypeDebuffAttr for documentation

* Move U-turn fix to another PR

---------

Co-authored-by: Samuel H <flashfireex@gmail.com>
2024-05-09 21:21:57 -04:00
Flashfyre
2bc1cfb0fc Extend the temporary shiny chance increase by 1 day 2024-05-09 20:16:29 -04:00
Flashfyre
02cba0f741 Add temporary triple shiny chance 2024-05-09 19:59:21 -04:00
Matthew
10cf1cd94f
Cleanup overrides and imports (#603)
* cleanup overrides and imports

* Add GreenLamps Modifier Overrides

* added comments

* starting money and biome comments

* account for overriding empty move

* more override descriptions

* added generator held item names to override comment
2024-05-09 14:52:09 -05:00
Xavion3
e6ba60364e
Save battler tags (#516)
* Save battler tags

Also saves the rest of the summonData except for transform specific things.

* Add missing values for type boost tag.

* Add intellisense comments
2024-05-09 00:37:51 -05:00
Tempoanon
d16cb1202f
Fix charge (#614)
* Fix charge

* Remove console logs
2024-05-08 23:37:50 -05:00
alpaca
76ac86d2ae
Implements healer (#259)
* Implements healer

* adds an ally check to the condition

* done testing, changes chance back to 30%

* adds comment header for PostTurnResetStatusAbAttr

* adds override to resetStatus to not allow revive

* dont revive

* override revert
2024-05-08 20:21:55 -05:00
Benjamin Odom
ea5e535f9f
Fixed Failed Moves Not Using PP (#634)
Fixed an issue where if a move failed, it would not use power points.
2024-05-08 15:51:56 -05:00
Jeremy B
bb28d3599e
fix scrappy and mindseye working as passive ability (#567)
* fix scrappy and mindseye working as passive ability

* update apply for ignoretypeimmunityabattr

* simplify logic for ignoretypeimmunityabattr

---------

Co-authored-by: contra1337 <jpbastyr@gmail.com>
2024-05-08 00:32:38 -05:00
alpaca
36cde21ce3
Adds ribbon in starter screen if mon has beat classic mode (#370)
* adds the ribbon asset, hooking it up

* works if override. need to add field on server side I imagine

* moves count to starterData, increments on win

* formatting

* increment works properly

* recursively check for prevolution

* cleaned up to use getRootSpeciesId()

* changes ribbon to gold medal version

* adds Akuma's ribbon achievements

* ribbons increment correctly

* missed ui handler update

* reorder achievements

* ribbon correct, vouchers not. currently investigating

* increments properly, but voucher reward phase not appearing

* some cleanup

* works great, need to better reflect who is getting ribbon in message and cry

* plays level fanfare, tabling cry for now

* reran items.bat

* Minor fixes

---------

Co-authored-by: Flashfyre <flashfireex@gmail.com>
2024-05-07 00:44:41 -04:00
Xavion3
2d740f1952 Implement once per battle restriction on abilities
Currently just Intrepid Sword and Dauntless Shield
2024-05-07 00:39:16 -04:00
Reldnahc
84f6f06ca4 add override to force double battles.
add override for passive abilities.
2024-05-06 19:11:34 -04:00
lucfd
80b6001c77
Implemented Revelation Dance (#166)
* implemented Revelation Dance

* fixed steam engine activating on all water moves

* implemented typeless

* stellar handling for revelation dance

* removed testing lines

* changed to UNKNOWN implementation

* removed UNKNOWN RGB

* removed print debug + unnecessary logic

* simplified test condition further
2024-05-06 10:24:37 -05:00
Jeremy B
bc8cb51dc1
Add Scrappy ability handling (#473)
* partially implement scrappy

* add minds eye handling also

* remove unimplemented from minds eye

---------

Co-authored-by: jbastyr <jpbastyr@gmail.com>
Co-authored-by: Madmadness65 <59298170+Madmadness65@users.noreply.github.com>
2024-05-06 00:27:56 -05:00
Benjamin Odom
2b4dc9a4f0
Fixes Struggle Softlock (#531)
* Fixes Struggle Softlock

Fixed an issue where moves marked as (N) would prevent you from being able to Struggle.

Also fixes messaging so that a message shows when you are out of PP, Disabled, or trying to use an unimplemented move consistently.

* Update phases.ts
2024-05-06 00:02:52 -04:00
LaukkaE
67ee104178
Fix Protosynthesis and Quark Drive (#289)
* Fix Protosynthesis and Quark Drive

* add partial tags
2024-05-06 10:26:11 +10:00
Ivan Perez
3a218eb92b
Fixed a bug where a yawned target in a semi-vulnerable state would be stuck in that state (#396) 2024-05-05 00:35:47 -05:00
Benjamin Odom
daa6e3b3a8
Prevent Fusion Status Errors +Fix Double Battle Issue (#472)
* Reapply "Prevent Fusing Status Errors (#465)"

This reverts commit 18a1c152c0.

* Update phases.ts
2024-05-04 22:16:59 -05:00
Madmadness65
18a1c152c0 Revert "Prevent Fusing Status Errors (#465)"
This reverts commit 68eca464f7.
2024-05-04 20:50:48 -05:00
Benjamin Odom
68eca464f7
Prevent Fusing Status Errors (#465) 2024-05-04 20:37:31 -05:00
Benjamin Odom
5d6181926a Removed Hardcoded Values
Realized there was an enum for the -1 value which should help clear up confusion if someone has to mess with this code later
2024-05-03 23:26:56 -04:00
Tempoanon
5b44905b86
Fix Shedinja passive, mummy passive, acupressure, moody, and added a second move override (#369) 2024-05-04 12:30:23 +10:00
Benjamin Odom
e02b85629f Fix Enemy Counter Moves
The AI couldn't decide who to target with CounterDamageAttr  moves which don't need a target. This change makes an exception. Now functions the same as when the player selects one of these moves.
2024-05-03 21:00:56 -04:00
Xavion3
c7c4deb416 Implement Sniper 2024-05-03 12:05:20 -04:00
Benjamin Odom
b84a4b4ee5 Fix Shedinja PPused Share
Fixed having Shedinja share PP usage with the Ninjask it evolved from and vice versa.

The solution was to make a deep copy of each move in the moveset array rather than copying the array itself.
2024-05-03 08:33:33 -04:00
Flashfyre
b30ab6136e Starter friendship for candies is split between spliced species 2024-05-02 21:55:11 -04:00
Benjamin Odom
fec8771830 Fix Shedinja Luck and Crash
Shedinja wasn't taking the luck value from Ninjask so when it calculated its luck it just took the entire fused Pokemon's luck somehow. This has been fixed so it takes both the first and second part of the fusion's luck values instead.

Also fixes an issue where Shedinja crashed the game if it was the second part of a fusion combo. Now the correct pokemon species gets checked against and the correct pokemon evolution occurs to create Shedinja.
2024-05-02 17:55:45 -04:00
Flashfyre
991f097e9e Rebalance friendship and add starter friendship with candy reward 2024-05-02 17:48:08 -04:00
Benjamin Odom
9d8f7ddcf0
Implement Tailwind (#398)
Added a new ArenaTagType for Tailwind. Lasts 4 turns including the turn used.
2024-05-02 14:10:21 -05:00
Flashfyre
6ac224ab8a Refactor to split battle messages from menu 2024-05-01 18:54:35 -04:00
TeKrop
e34b204664 feat: added support for localisation on battle scene sentences 2024-05-01 18:54:35 -04:00
Flashfyre
7a418109c3 Fix not checking move conditions for AI 2024-05-01 18:17:12 -04:00
Xavion3
5a6ea40dae Implement Acrobatics
Currently scales from 0-5 items
2024-05-01 17:11:16 -04:00
Xavion3
d6ca09e431 Implement Belch 2024-05-01 16:52:48 -04:00
Flashfyre
93765d4121 Update battle info on stat change 2024-04-30 23:23:32 -04:00