Implements AddArenaTrapTagHitAttr for moves like Stone Axe and Ceaseless Edge.
Fixes chance for selfstatus moves.
Added Comments For AddArenaTrapTagHitAttr
* Added german dialogue for alder and kieran (lauro & jo)
* Added zh_CN and it
* Added Korean
* Added tradtional Chinese
* Added spanish
* Added french! (thanks dakurei)
* Bug fixes for spite, creates class to extend spite for eerie spell
* Comments for clarity, creates class to extend ReducePpMoveAttr
* Resolve reference error with AttackReducePpMoveAttr
* Shows move failed in a clearer way with showMoveText
* Localization of pp reduction moves
* Fixes issue of eerie spell reducing pp when ratio is 0
* Removes unnecessary phase replacement
* Remove partial implementation from eerie spell
* Adds locale entry for ppReduced to other languages
* 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
* feat: Add Reddit link to menu UI
Added a new menu option for Reddit with a corresponding handler to open the Reddit page in a new tab. This enhances the user experience by providing easy access to the Pokerogue subreddit.
* feat: Update wiki URL in menu UI
The wiki URL in the menu UI has been updated to "https://wiki.pokerogue.net/start" to provide a more specific starting point for users.
* Added nature selection menu
Added a nature selection menu to the starter selection, as you can way too easily skip over the nature you want when cycling.
All nature selections are furthermore persistent and stored in the starterData.
Those changes are compatible with the current save format, but will increase the size, so, in case the size of the save file can't be increased, further changes will be needed.
* Sorted nature selection into sub-menus
The nature-selection menu is now, instead of one large list, multiple smaller menus.
Those menus will appear once at least one nature of the appropriate kind has been collected.
Translations partially required.
* Update French starter-select-ui-handler.ts
* Added support for updated save structure
Adds compatibility with updated save-data structure which supports more persistent starter attributes
* more persistent start data
Abilities, Variants and Forms are now also saved.
* added gender to stored information
* fixed typedoc issues
* Starter Preferences now stored locally
* removed deprecated import (due last merge)
* Sub menus removed
---------
Co-authored-by: Lugiad <adrien.grivel@hotmail.fr>
* add dependency cruiser and fix all default errors
* create svg render of dependencies in command
* move configs to ts files, await font loading
* fix i18n
* fix dependencies...
* fix typedoc generation and tsconfig exclusions
* revert github-pages fix for another pr
* no-circular -> no-circular-at-runtime for type imports (future)
* [Localization] Modification some code about battle stat for localization.
* Corrections to failed generating typedoc docs.
* [Localization] Modification some code about battle stat for localization.
* Corrections to failed generating typedoc docs.
* Corrections to change localized key for battle stat and level change description.
* Deleted battle-stat.ts file in Deutsch locales.
* Fixed build failure
* Move unit test file into localisation folder from battle folder.
* Fixed localization key
* Fixed build failure
* Fix merge conflict
* Fix merge conflict again
---------
Co-authored-by: Tempoanon <163687446+Tempo-anon@users.noreply.github.com>
Co-authored-by: Temps Ray <temps.ray@gmail.com>
* chore: add translation for dialogue of cilan
* chore: add translation for dialogue of chili
* chore: add translation for dialogue of cress
* fix: fix spelling errors and make it compatible with eslint
* Add ALL option to transfer menu
It adds a new attribute to the PartyUiHandler to track whether the transfer is meant for all items of only for a particular one
It also introduces translations for PartyUiHandler, even though only the 'ALL' option can be translated for now.
* Use updated translation key for i18n for partyUiHandler:ALL
* Fix duplicated import
* Use optionCursor instead of optionCursorWithScroll to check if we need to transfer ALL
* Force multi-hit moves to hit once if they are against an immune type
* Add test for multi-hit attacks against immune types
* Document MultiHitAttr
* Tiny change
* Wording fix
* Use shortcut methods in unit tests
* Fix leftover modifications from METRONOME testing
* Reorganize SAP SIPPER tests
* Fix extra imports
* 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
* Fix type immunity given by abilities only applying to attacking moves
* Add tests for type immunity granted by abilities
* Use Sap Sipper as base for testing
* Fix type-immunity abilities activating on self-targeted status moves
* Add tests for self-targeted moves on mons with type-immunity abilitiies
* Volt absorb tests
* added test for spikes + forceOpponentToSwitch
* fix conditional for intimidate in a double if there is only 1 pokemon available on our side
* fix variable naming and ternary condition
* added a fallback to clear the conditionalQueue if it's a new turn
* speed up tests by skipping LoginPhase
* 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
* Fix type immunity given by abilities only applying to attacking moves
* Add tests for type immunity granted by abilities
* Use Sap Sipper as base for testing
* golden chart for perfect IVs
The IVs chart is now golden in case all IVs are perfect.
A few overrides have also been added to make testing easier:
- the opponents IVs can be overridden
- the color can be modded via the window.perfectIVsChartColor variable.
* added perfectIVsChartColor to window
* added changes as requested
- removed global variable
- removed chart versatility
- changed color
* Ability Bar can now be localized. In a way that pokemonName abilityName and passive string can be ordered freely
* Update src/locales/ko/fight-ui-handler.ts
Co-authored-by: returntoice <dieandbecome@gmail.com>
* Update src/locales/de/fight-ui-handler.ts
* Update src/locales/de/fight-ui-handler.ts
---------
Co-authored-by: returntoice <dieandbecome@gmail.com>
* [Localization] Add localization of message when pokemon fainted in battle phase.
* Correction of Deutsch localization
* [Localization] Add localization of message when pokemon fainted in battle phase.
* Correction of Deutsch localization
* added test for spikes + forceOpponentToSwitch
* added conditionalQueue && pushConditionalPhase to fix entry hasard and abilities at post summon
* reduce timeout time to default
* fix postSummonPhase when opponent does not summon and fix the statsChange from push to unshift
* added switch pokemon helper method
* added on switch tests for intimidate
* fix test by overriding passive in tests
* remove a test not needed
* cleanup imports
* Update dialogue.ts
* Update text.ts
* Update dialogue.ts
* Update dialogue.ts
* ignore linting in zh_cn
* try renaming the .eslintrc
* ignoring lint did not work
* lint fix by replacing ` with "
* change eternaus dialogue string back to ` to prevent error
* indentation fixed
---------
Co-authored-by: Temps Ray <temps.ray@gmail.com>
* Move events to a central directory
* Update modifier import
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
* remove old battle-scene-events
* Move to field events
* Update battle-scene.ts
---------
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
Co-authored-by: Benjamin Odom <bennybroseph@gmail.com>
+ Choose colors adapted to provide a contrast that facilitates reading (ratio of 3.0 or more)
Tool used: https://webaim.org/resources/contrastchecker/
+ Refactoring of the condition to avoid unnecessarily assigning variable several times depending on the contents of 'ppPercentLeft'
* added tests for zen mode - change form in battle
* added tests to run some battle against trainer/rival & boss
* added a test with a method to kill a pokemon
* added an override in the clock mocked to reduce the time of fainting pokemon and thus reducing test time from 5s to less than 1s
* added some more tests + doAttack, doKillOpponents, toNextWave, toNextTurn helper
* added some more tests + doAttack, doKillOpponents, toNextWave, toNextTurn helper + fix some tests
* Implement Arceus Plates and Silvally Memories
* German localization for items
* Run linter on changes, add items to zh_TW localization
* linter cleanup
* Finish localization for other languages
Names for items sourced from Bulbapedia. Names for the items in Portuguese could not be reliably sourced, so they were as directly translated as possible.
* Add custom Blank Memory item
Currently does nothing, but the idea is that it would be used if the all-in-one form change item idea is followed through.
* Update item atlas
* Use move.type instead of type.value
The type effectiveness now works again.
* Update comments
* Fix type changing affecting only Silvally
* Condense switch cases down to a single line
As per Brain Frog's suggestion.
* Fixed bug where pokemon info container will show form of a pokemon that doesn't have it if the previously caught pokemon has a form
* Updated pokemonFormText to also disable interactive section if there was one
* Adding UI elements for new gender, ability and nature
* Added new indicators for shiny, gender, ability and nature
* Changed position of gender icon to top left
* Changes with logging and old (+) indicators for nature, form and ability
* Updated to remove old code and comments, as well as various console logs
* Updated commented code
* Addressing PR feedback
* Updated form to have a label and form name, along with cutting off the form name if it's too long
* Updated stats container to move some labels around so there's less text clumped together
* Removed some old commented code
* Fixed some issues with typing and naming
* Accidentally pushed my overrides.ts before :). Sorry!
* Updated the form name's hover over section to only work when the text is truncated
* Updating the gender check to work off DexAttr instead of a weird 2
---------
Co-authored-by: Temps Ray <temps.ray@gmail.com>
* refactored inputs-controller for better hold button management
* refactored the touch controls file to use a class and add holding button system
* added a method to deactivate pressed key for touch on focus lost
* better lost focus management
* Fix tinted caught icon false positive
* Remove unused import
* Rename and optimize
* Block comment
* Draft of evil team grunt pokemon pools
* Add graphics and music
* Add grunt spawn logic
* Add Giovanni
* Add team leader graphics
Giovanni and Ghetsis already have sprites, so they do not need added.
* Add teams for other evil team bosses
* Fix some typos and change hp bars to 2/2/2
* Fix sprites and add random team boss
* Add forced grunt encounter and update dialogue
* Update locales
* also lint en trainers
* More merge conflicts
* Deleted some duplicate images
* Correctly renamed the grunt files
* Forgot about team rocket
* New Magma Sprites
* Adjusted the trimming. Now they dont have as huge of a shadow bbelow them
* Fix grunt sprites
* Add real dialogue
* German Localization of the Dialogue
* Changes
* Tweak waves grunts spawn on
* Fix some typos in dialogue
* Y is canon
* Disable evil team spawns
* Fix another merge conflict
---------
Co-authored-by: Madmadness65 <blaze.the.fireman@gmail.com>
Co-authored-by: Jannik Tappert <tappertjannik@googlemail.com>
* Colorcode pp in fight ui if only half/quarter of maxPP is left
* Use three-level color coding for remaining pp
* use if/else for calculating pp color
---------
Co-authored-by: Kevin Greiner <greiner@infai.org>
* Achivments(localization of name and description) now depend on the player gender
* Fixed Name in ptBr config
* Now the achivments are also shown with a gender specific title
* Changed it so it checks if PlayerGender is undefined first
* Update src/locales/de/config.ts
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
* Update src/locales/en/config.ts
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
* Update src/locales/es/config.ts
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
* Update src/locales/fr/config.ts
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
* Update src/locales/it/config.ts
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
* Update src/locales/ko/config.ts
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
* Update src/locales/pt_BR/config.ts
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
* Update src/system/voucher.ts
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
* Update src/locales/zh_CN/config.ts
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
* Update src/locales/zh_TW/config.ts
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
* Update src/ui/achv-bar.ts
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
* Update src/ui/achv-bar.ts
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
* Update src/ui/achv-bar.ts
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
* Update src/ui/achv-bar.ts
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
* Update src/system/achv.ts
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
* Update src/system/achv.ts
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
* Update src/system/achv.ts
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
* Update src/ui/achvs-ui-handler.ts
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
* Update src/ui/achvs-ui-handler.ts
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
* Update src/ui/achvs-ui-handler.ts
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
* instantiate player gender on in AchvBar constructor
* Reverted the change made only for the tests. And adjusted the import to use the new enum file
* Changed a import to make vite build it again correctly
* Again some changes to the imports for the github docs that was complaining
* The new challenges are also now localized and gender based
* Readded getDescription
---------
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
Co-authored-by: ImperialSympathizer <imperialsympathizer@gmail.com>
* show currently bound controls on starter menu for last active device
* add special handling for touch controls
* remove hardcoded controls for all locales
* better phase management in tests
* cleanup runFrom/to
* first step of async error handling
* second step of async error handling, halt await, still an issue with select-starter test
* added back whenAboutToRun
* added back full run suite for starter-select.test.ts
* Added fix for Run Away ability being trapped by trapping abilities.
Added fix for ghost type pokemon not having a 100% chance to run from battles.
* Removed log statement
* Removed commented out code
* Removed ghost type run away mechanics
* 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