* 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
* Fix Thousand Arrows not hitting through Magnet Rise
* Add integration test for Thousand Arrows vs. Magnet Rise
* ESLint
* Remove unnecessary checks in integration tests
* 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>
* 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
* Tests MovePhase with new PokemonMove instead of moveset search
* Accounts for metronome call on charging moves
* Update comment in ChargeAttr to be clearer
* 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
* Remove magic number from Belly Drum's attr
* Remove redundant damage number popup
* Fix merge issue and remove another duplicate damage number instance
* 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
* Made FormChangeItems untransferrable. Replaced getTransferrable()
* Made isTransferrable readonly. Removed unnecessary 'm as PokemonHeldItemModifier'.
* 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
* [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
* Removes firstHitOnly from AddArenaTagAttr to allow multi hit set up with ceaseless edge
* Creates initial test file with basic cases for ceaseless edge
* Fixes ceaseless edge unit test and expands on case 3
* Adds truthy/falsy expectations prior to use
* Adjusts bug bite functionality when stealing from opponent with three berry pouches
* Adjusts bug bite functionality when stealing from opponent with three berry pouches
* Adjusts bug bite to remove berry pouch preservation on opponent berries
* Remove Promise<Boolean> where unnecessary
Leftover code removed from previous testing of the EatBerryAttr class.
* Remove undefined check on chosenBerry
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
* Update StealEatBerryAttr if-clause readability
Decrementing inside of an if-clause removed for readability. Changed to check: if count is 1, then remove modifier.
* Localization of StealEatBerryAttr battle message
* Fixes berry incrementing after improper adjustment to readability
* Fixes berry decrementing after improper adjustment to readability
* Update battle.ts
* Update src/locales/fr/battle.ts
Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>
* Update battle.ts properly
Incorrectly added localization in previous commit
* Remove unnecessary space
* Update src/locales/ko/battle.ts
I do not have experience with Korean, so this may need other review.
Co-authored-by: Enoch <enoch.jwsong@gmail.com>
* Rewrites EatBerryAttr to combine with StealEatBerryAttr
* Removes excess lines
* Revert and refactor StealEatBerry and EatBerryAttr
* Refactor for early returns instead of nesting
---------
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>
Co-authored-by: Enoch <enoch.jwsong@gmail.com>
* 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