* 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
* Stop trainer spawns on evil team and E4 floors
* Thanks Xavion
* change "floors" to "wave" in coment
* at test for not spawning 3 waves within fixed trainer battle
* remove out-commented code
* apply code formatting
* Updated test and make sure isWaveTrainer returns a boolean
* Update comment
---------
Co-authored-by: Felix Staud <felix.staud@headwire.com>
* Adds TextStyle for bgm-bar ui
* Makes the ui bgm-bar truly dynamic + cleans up unused code
+ Removes all hard-coded characters from the string to allow for different typographical rules in different languages
* Applies the necessary modifications to locales following the deletion of the hard-coded character to form strings
* Use same style as above + reduce shadow offset
* Creates and loads a resource for the bgm-bar ui
+ Can be redesigned by someone with more talent if needed, since it won't affect the ability bar
* Using the new resource in bgm-bar ui
* Use of more space by default following deletion of the 'noteText' text zone
* Add red color to the quantity if the item is at it's held limit
* Add shadow back to option text
* Attempt to fix transfer item crash and add tests for transferring items
* remove .js file extensions from test file imports
* Fix import paths for transfer-item.test
* add test coverage for battle-stat.getBattleStatName()
* add test coverage for battle-stat
* apply mockI18next() to status-effect.test.ts
* add testUtils jsdocs and optimize imports
* replace `-1` and with `RELEARN_MOVE` and `0` with `EVOLVE_MOVE`
* add documentation for RELEARN_MOVE & EVOLVE_MOVE
* Update src/data/pokemon-level-moves.ts
* feat: Add deployment workflow for beta environment
This commit adds a new GitHub Actions workflow file, deploy-beta.yml, which is responsible for deploying the application to the beta environment. The workflow is triggered on push and pull request events. It checks if the repository is 'pagefaultgames/pokerogue' before running the deployment steps. The deployment includes checking out the code, setting up the Node.js environment, installing dependencies, building the application, setting up SSH for secure communication, deploying the build on the server using rsync, and purging the Cloudflare cache. The deployment is only performed when the push event is triggered on the default branch.
It also changes the deploy.yml workflow to be triggered only when a release is generated.
* feat: Update deployment workflow for beta environment
* Update deploy-beta name
* chore: Update deploy-beta.yml to use 'f-fsantos:beta-environment' as the ref name
* chore: Update deploy-beta.yml to use 'f-fsantos:beta-environment' as the ref name
* chore: Update deploy-beta.yml to use '2595/merge' as the ref name
* chore: Update deploy-beta.yml to include event name in deployment message
* chore: Update deploy-beta.yml to use 'pull_request' event and '2595/merge' as the ref name
* chore: Update deploy-beta.yml to include SSH public key
* chore: Update deploy-beta.yml to include SSH public key
---------
Co-authored-by: Temps Ray <temps.ray@gmail.com>
* add unit tests for accounts
* only import from vitest (not node:test)
* resolve comments
* improve test coverage for accounts.updateUserInfo
* add test coverage for account.initLoggedInUser()
* code style improvements
* 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>
* [Sprite] Gives Disguised form explicit identifier
`null` defaults to `disguised`, as is desired.
* [Sprite] Renamed Disguised form has exp sprites
* [Sprite] Add Busted Mimikyu to masterlist
* Rename static non-shiny front 778.png to 778-disguised.png
* static non-shiny front
* exp non-shiny front
* static non-shiny back
* exp non-shiny front
* static non-shiny back
* static shiny front
* static shiny front
* non-shiny icon
* exp non-shiny back
* shiny icon
* static var front
* exp non-shiny back
* exp shiny front
* exp shiny front
* exp shiny back
* static shiny back
* exp var front
* static var back
* Delete public/images/pokemon/variant/exp/778_3.png
* Delete public/images/pokemon/variant/exp/778_3.json
* exp shiny back
* exp shiny back
* rare icon
* epic icon
* exp var back
* static var front BUSTED
* static var back BUSTED
* exp var front BUSTED
* exp var back BUSTED
* [Sprite] Static Mimikyu Busted sprite fix
Fixes eyeholes on torso
* [Sprite] Exp Mimikyu sprite fixes
Fixes eyeholes on torsos
* Trim static shiny front sprite size
Addresses issue #2683
* [Sprite] Match static shiny Disguised w non-shiny
Addresses issue #2683
* Don't offer ball rewards past floor 189
* Remove balls from reward pool when you have max
* Change only applies to classic
* Function to weigh the player's balls
* Documented hasMaxBalls function
* More specific comment
* Giovannis Dialogue is no longer cut off in english
* Fixed the rest of the evil team dialogue
* Update src/locales/en/dialogue.ts
* Update French dialogue.ts
* Update French dialogue.ts
---------
Co-authored-by: Lugiad <adrien.grivel@hotmail.fr>
* 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
* Test changes to change variant label color based on Tint
* Revert "Test changes to change variant label"
This reverts commit 0ad0f62930.
* minimal recovery changes
* Finalized recovery and implemented ShinyIcon
* add setY in MockSprite
* added back some unintentional removed code
* added shiny_icons
* Initial test for tier change
* implemented Shiny Icon full functionality
* slight setY change for non-Base starters
* 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
* 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>
* waveIndex trainer team config generatoin is cursed
* Updated grunt pools
* Removed a comma that was bothering me
* Add locales for es, fr, it, pt, zh for translators
* Update src/locales/zh_CN/dialogue.ts
Co-authored-by: Yonmaru40 <47717431+40chyan@users.noreply.github.com>
* Fix lint issue
* Update src/locales/pt_BR/dialogue.ts
Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>
* Last min team tweaks
---------
Co-authored-by: Yonmaru40 <47717431+40chyan@users.noreply.github.com>
Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>
* Prevent lures from stacking different tiers
* Fix existing stacks of lures only applying once
* Revert "Fix existing stacks of lures only applying once"
This reverts commit c954a56b41.
* Document lure modifier code
* Added a bgmBar to show the name of the track once music is played
* Even more close to ability bar
* It now shows. And also shows already for a couple of them a readable name
* Now the queue actually works
* Create locales for bgmName (bgm-bar ui)
+ Most of the music has only Japanese and English names
But there are a number of tracks with official translations following OST commercialization
* Add i18n and use it to retrieve OST names (avoids a giga switch case)
+ A fallback key is implemented in the case of adding tracks not referenced in the translation files, its value being just the name of the bgm itself
* FormatText is now in Utils and not arena-flyout
BGM Names for non-localized music will be formatted to have capitalized letters and no _
* It is now a setting. It can be even changed mid fight
* Update src/ui/ability-bar.ts
* Apply suggestions from code review
Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>
* Update src/locales/de/bgm-name.ts
* Apply suggestions from code review
Co-authored-by: sodam <66295123+sodaMelon@users.noreply.github.com>
* Added the rest of the music names
* Changed PMD EoS to PMD ETH in german (Pokemon Mystery Dungeon Erkundungsteam Himmel)
* Due to feedback it is now "PMD ET-Himmel"
* Corrected the encounter theme names (and some missed trainer class names)
* Background is now a nicneslice. And it is at the top of the screen and above everything else
* The bar now scales with the text.
* Revert override
* Update src/locales/fr/bgm-name.ts
Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>
* It now only appears when V is pressed (in all but starter select)
* Cleared the cod eup
* Update src/locales/zh_CN/bgm-name.ts
Co-authored-by: Yonmaru40 <47717431+40chyan@users.noreply.github.com>
* Update src/locales/zh_CN/settings.ts
Co-authored-by: Yonmaru40 <47717431+40chyan@users.noreply.github.com>
* Update src/locales/ko/bgm-name.ts
Co-authored-by: sodam <66295123+sodaMelon@users.noreply.github.com>
* The bgmBar now appears in the pause menu instead.
* Should react better on settings change
* To be safe this required a reload now
* Update src/locales/fr/bgm-name.ts
Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>
* Update src/locales/fr/bgm-name.ts
Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>
* Write out pokemon mystery dungeon names in german
* Update src/locales/es/bgm-name.ts
Co-authored-by: GoldTra <162721984+GoldTra@users.noreply.github.com>
* Update src/locales/zh_CN/bgm-name.ts
Co-authored-by: Yonmaru40 <47717431+40chyan@users.noreply.github.com>
* Update src/battle-scene.ts
---------
Co-authored-by: Dakurei <maxime.palanchini@gmail.com>
Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>
Co-authored-by: sodam <66295123+sodaMelon@users.noreply.github.com>
Co-authored-by: Yonmaru40 <47717431+40chyan@users.noreply.github.com>
Co-authored-by: GoldTra <162721984+GoldTra@users.noreply.github.com>
* Corrected all English punctuation into Chinese in zh_TW
* Merged battle.ts and biome.ts translations into this branch
* abilitiy-trigger.ts and achv.ts
* battle.ts egg.ts fight-ui-handler.ts game-mode.ts
* a bunch of minor changes
* Fixed bug that legendary egg pity only increased by one if egg pulled out of legendary gacha
* Removed debug logs
* Added new unit tests. Fixed bug that sometimes common eggs do count as manaphy eggs.
* Update French ability-trigger.ts
* Update French fight-ui-handler.ts
* Update French menu.ts
* Update French settings.ts
* Update French egg.ts
* Update French modifier-type.ts
* Update modifier-type.ts
* Update modifier-type.ts
* Add unthaw to moves that are missing it
Add unthaw to all damaging fire moves
Add Status Effect overrides for easier testing
clean up comments and readd status cure before fainting
* implement Costar ability, refactor TraceAbAttr to be more generic
* format code, clean up comments
* Revert "Add unthaw to moves that are missing it"
This reverts commit 89494fa0c8.
* clean up comments, remove unused call
* ability now copies negatives changes as well
* separate PostSummonCopy into two different classes
* small refactor of copy ability attrs
* add costar to test suite
* remove abstract declaration from comments
* remove broken import statement
* actually fix broken imports
* add i18n calls
* add en keys to other locales and sort by alpha
* Add unthaw to moves that are missing it
Add unthaw to all damaging fire moves
Add Status Effect overrides for easier testing
clean up comments and readd status cure before fainting
* implement Costar ability, refactor TraceAbAttr to be more generic
* format code, clean up comments
* Revert "Add unthaw to moves that are missing it"
This reverts commit 89494fa0c8.
* clean up comments, remove unused call
* ability now copies negatives changes as well
* separate PostSummonCopy into two different classes
* small refactor of copy ability attrs
* add costar to test suite
* remove abstract declaration from comments
* remove broken import statement
* actually fix broken imports
* Localize hp phases and translate in Korean
* Change codeName for distinguish other HP restore message
* Update src/locales/fr/battle.ts
Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>
---------
Co-authored-by: 송지원 <jiwsong@gmarket.com>
Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>
* Fix - Avoids 'flashbanging' for players playing at x5 speed by making the transition time constant regardless of the speed chosen
* Forgot to delete a debugging value
* Hotfix: Override varaint tier if species was given. Fixed that some common egg where displayed as manaphy egg.
* Fixes wrong manaphy egg pulled stat count
* Create variant-tiers enum
* Added variant tier override property to the egg class
* Added hasVariants function to pokemon species
* Implement variant override logic to egg hatching phase
* Delete src/enums/variant-tiers
* Create variant-tiers enum
* Added egg shiny and variant overrides
* fixed egg comment in overrides.ts
* Added override logic to egg hatch phase
* Added species pool filter logic when global override is set
* Added global egg tier override logic
* Added global egg tier override
* Added global gacha pull count override logic
* Added global gacha pull count override
* Renamed egg hatch override
* Renamed egg hatch override
* Added gacha pull without voucher global override
* Renamed free gacha pull global override
* Added free gacha pull override logic
* Gacha pull count override name fix
* Bugfix
* restored defaults + savegame bugfix
* eggOptions added to parameterize eggs. Added option to buy eggs of the same species.
* Small Bugfix for same species egg generation
* Removed translation from translator
* Improved the isManaphyEgg() check
* Fixed manaphy egg hatch wave count
* Added comments to IEggOptions
* Added eggOptions for hidden ability and rare egg move override
* Merge Fix: Update egg-hatch-phase.ts
* Fixed manaphy rates back to 1/256 like in PR #2182
* Renamed override, same species egg unlocks after passive is bought. Added code as comment for custom shiny, HA and rare egg move rates.
* Merge fix. Moved enums.
* quick fix for the commented out code
* Fixed that you can't buy an egg over the 99 egg limit
* Fix that you can't buy eternatus
* Use already existing randSeedShuffle instead of my own function
* Eternatus buyable again. Changed overrides to be able to set common tier/variants. Moved getGuaranteedEggTierFromPullCount().
* Changed eggOption gachaType to sourceType. Replaced eggOption overrideRareEggMove with eggMoveIndex to exatly specify an egg move. Moved egg move unlock logic into the egg class. Simplified shiny calculation. Added same species egg type descriptor. Moved custom rates for same species egg code into egg.ts.
* Added 19 unit tests for eggs
* Changed unit test description
* Added higher rates for same species eggs
* Adjusted same species egg cost for 1-3 cost starters and HA rates
* Added legacy egg loading unit test. Fixed gachaType legacy value loaded from DB and legacy tier loading
* Legacy egg loading from server DB fixed
* Change Rouge Text Color to green, add black shadow behind name text
* Also added shader to cost text
* Update src/ui/modifier-select-ui-handler.ts
* Changed colors that didnt fit the contrast scaling thanks to @dakurai on discord.
* Removed a useless line and added a comment
* Apply suggestions from code review
Co-authored-by: Dakurei <maxime.palanchini@gmail.com>
* Revert changes
* Change colors for better contrast score (makes reading easier)
+ Corrects colors that were totally white when they should have been f8f8f8 like the others
* Created a new overlay especially for the shop
+ This one is an almost black color with a higher opacity. This makes the shop elements easier to read, as they blend much less into the UI underneath
* Add a filter on modifiers displayed in the shop
+ Add a getModifierBar() getter to retrieve the battle-scene bar directly
+ Modified the updateModifiers() method to filter the items displayed (modifiers held by Pokémon can be hidden)
+ Shop overlay hidding transition lengthened to the same duration as its showing
* Apply suggestion from @bennybroseph
* Apply suggestion from @brain-frog
* Fix - Removal of a warning in the generation of the typedoc for which my modification is responsible
---------
Co-authored-by: Dakurei <maxime.palanchini@gmail.com>
* localized dialouges in Hana region (1)
* localized elite-4 with chamion (in Hana region)
* localized other hana's trainer
* modified spaces after the sentence sign
Co-authored-by: Enoch <enoch.jwsong@gmail.com>
* Update src/locales/ko/dialogue.ts
Co-authored-by: Enoch <enoch.jwsong@gmail.com>
* Update src/locales/ko/dialogue.ts
---------
Co-authored-by: Enoch <enoch.jwsong@gmail.com>
* Make ability suppression fail if ability is already suppressed
* Document SuppressAbilitiesAttr
* Add gastro acid unit tests
* Fix rng broken unit test
* Fix it for both tests
* [Localization] Add missed manageNature entry in Korean for starter-select-ui-handler.ts
* [Localization] Add missed selectNature entry in Korean for starter-select-ui-handler.ts
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
* 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
* Add more legendary battle music; add music preference setting
* Replace BDSP tracks
"Souless", they say. Naysayers, I say.
* Update for settings menu refactor
* Remove unnecessary Reshiram/Zekrom music calls
The default legendary battle music is the Reshiram & Zekrom battle theme anyways, so removing these lines make it functionally identical.
* Update for settings menu refactor AGAIN
* [Localization] #1761 Korean trainer dialogue(Gym leader in Johto with Elite-4)
* [Localization] #1761 Korean trainer dialogue(Gym leader in Johto with Elite-4)
* fixed word (by korean grammer)
* made chuck's dialogue clear
Co-authored-by: returntoice <dieandbecome@gmail.com>
* made lorelei's dialogue clear
Co-authored-by: returntoice <dieandbecome@gmail.com>
* fixed the spacing at dialogue.ts
Co-authored-by: returntoice <dieandbecome@gmail.com>
* fixed the spacing at dialogue.ts (with GINK-SS)
* Modified Karen's dialouge more characteristic
---------
Co-authored-by: returntoice <dieandbecome@gmail.com>
* 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>
* 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
* fixed wrongly stacking overlay issues
- starter selection
- IVs are now behind the overlay
- the overlay should clear when exiting it via controller (requires tests as i don't have a controller)
- TM
- will prevent C/Shift from showing the overlay until the next item selection, when selecting a TM as item reward.
- will prevent C/Shift from showing the overlay when canceling item selection
* removed reference to previously deleted resource
* fixed override
This also necessitated giving them unique front & back sprites too, even if they are currently just duplicates of the normal forms. This change will help players identify when they are using/have encountered a Partner Pikachu or Eevee.
* [Move] Implemented Court Change
* Returned overides to normal
* Added recommended changes
* Removed an unnecessary if statement for swaparenatagsattr
* Move the swaptags array to the call as well as changes to the quiet boolean
---------
Co-authored-by: Juan <jmora279@fiu.edu>
* [Localization] Apply Korean to update
ability-trigeer.ts
windPowerCharged: Wind Power/Wind Rider #1566
Perish Body #1554
Poison Heal #1245
menu.ts
Loading screen disclaimer 7c9e5e9
modifier-type.ts
TM description with overlay key notice #1585
* Correct wrong text and align text width
change RV
remove space from FGEN
* Edit wrong space
* Use special color(official) rather than unofficial shiny
* Translate iceFaceAvoidedDamage
* [Localization] #1761 Translation to Korean about some trainers
### trainer list
- ace_trainer
- parasol_lady
- twins
- cyclist
- black_belt
* fixed the grammar of some sentences. and changed Korean about ace trainer.
* Modify translation dialogue with parasol lday and cyclist
* Sort items in summary screen by type then name.
* Use modifierSortFunc from modifier.ts
* Implement proper sort function which also applies to the battle scene.
* Implement proper sort function which also applies to the battle scene.
* Run linter.
* Fix type assertions.
* 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>
* implement ice face ability
* remove showing ability bar
* fixes
* add documentations
* move code out of phases.ts
* add hardcoded eiscue check, localization
* add KO locale
* remove unnecessary constructor
* use && instead of || to specify ice form on eiscue
* [Feature] Move to start button when you can't add party anymore
* Add comment about #1673
* Update starter-select-ui-handler.ts
---------
Co-authored-by: Benjamin Odom <bennybroseph@gmail.com>
* Refactored settings UI menu options and added the battle style setting
* Removed the new Battle Style setting. It will be added in a seperate PR.
* Fixed typo and spacing
* Added "Skip Dialogues" option (if at least 1 classic win)
* Removed error sound and hide option instead when classic wins = 0
* Add skip dialogues option to Unlockables and show unlocked message on first classic win
* Only skips seen dialogues, removed dialogue option from unlockables, seen dialogues get saved to local storage
* oops
* dont show charSprite when skipping a dialogue, small fixes
* correctly reset move description scrolling when changing move
* override fix
---------
Co-authored-by: Frederik Hobein <frederik.hobein@nterra.com>
* Fix tokens not actually updating
* Remove changes to getArgs
* Added parentheses around conditional for safety
* Laid a space betwixt the two and its respective one at the behest of Temp
* move info implemented for starter selection
a move info box is displayed when editing the starter moveset.
also menus have now onHover triggers.
todo:
- show ui when selecting TMs
- show ui when selecting moves to remember (memory mushroom)
* More Move Info Overlays
Added overlays during Memory Mushroom use and when viewing TMs.
Furthermore a settings option can enable/disable those overlays.
* Added missing ko language entry
... though translation still remains necessary
* updated ui
also added overrides for item rewards
* minor ui update
moved values to the right in the tm move info box
* fixed typedoc issues
* removed settings in to prepare for merge
* updated settings option
added settings option to new settings implementation
* minor changes
removed unused graphic
moved settings option to accessibility
* move PlayerGender enum into src/data/enums/player-gender.ts
this is necessary to avoid circular dependencies which did crash tests in the past (in PRs)
* Update settings.ts
* Update game-data.ts
* Update summary-ui-handler.ts
* Update ui.ts
* move Passive & GameDataType enums into own files
* Update Cosplay Pikachu stats
* Give Partner Pikachu its signature moves in its learnset
* Added a "custom" note next to stats
* Spread out signatures per Brain Frog's request
* Added "Skip Dialogues" option (if at least 1 classic win)
* Removed error sound and hide option instead when classic wins = 0
* Add skip dialogues option to Unlockables and show unlocked message on first classic win
* Only skips seen dialogues, removed dialogue option from unlockables, seen dialogues get saved to local storage
* oops
* dont show charSprite when skipping a dialogue, small fixes
* pokemonInfoContainer always on top of battle UI when shown
* removed setDepth and rather hide enemyModifierBar
---------
Co-authored-by: Frederik Hobein <frederik.hobein@nterra.com>
* Voucher Item tier changes/addition
- Voucher moved from Ultra -> Great Tier, given a weight of 1 and disappears after first reroll, should still appear more often with a healthy team than in ultra tier at all.
- Voucher Plus moved from Master -> Rogue Tier, with weight starting at 9 -> 5 and decreasing with each reroll with 3 -> 2
Should appear just a bit more often than before.
- Voucher Premium added to Master (based on suggestion from Madmadness) with same weight as new Voucher Plus, and disabled in Endless / Endless Spliced
Should appear ~20% of the time with *perfect luck* in a whole average classic run.
Overall would be a 40-45% increase in total eggs in perfect conditions (luck, healthy team, etc.)
* fixed an extra spacebar at the end of 1303
* fixed an extra spacebar at the end of 1360
* fixed to account for Wide Lens being added
* Added "Skip Dialogues" option (if at least 1 classic win)
* Removed error sound and hide option instead when classic wins = 0
* Add skip dialogues option to Unlockables and show unlocked message on first classic win
* Only skips seen dialogues, removed dialogue option from unlockables, seen dialogues get saved to local storage
* oops
* dont show charSprite when skipping a dialogue, small fixes
* pokemonInfoContainer always on top of battle UI when shown
---------
Co-authored-by: Frederik Hobein <frederik.hobein@nterra.com>
* Balanced tokens
* Remove existing tokens, all 10 stack limit
* Linter complained
* Sorry Mr. Lint I’ll do better next time
* Removed redundant min
* Used a version system to update tokens
* The linter has peculiar tastes
* See if this works
* I'm at my limit omg wtf Sam
* Call me Swoobat the way I keep it Simple
* Clean up some log statements
* Adjust token weights to make up for removal of sleep and freeze
* Be so fr GitHub that’s not a real merge conflict
* Handle if the browser gives a long form of a language (like "de-DE") for cases where we only have the short form "de".
* Changed it so that now resolved Language is now used anywhere. This is basically what i orignally did manually but provided from i18next directly
* Updated champion teams
* Forgot Alder's legendary
* Give Alder Genesect
* Merge and update
* Update teams a bit more
* Red now leads with Pikachu, fixed Iris dialogue
* Add champ leads
* 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
They do not have sprite differences currently, so they won't be able to be identified at a glance, but they do have the canon stat differences between "sizes".
In Korean, postpositional particles vary depending on whether the
preceding syllable ends in a consonant or a vowel. Currently there
is no ability differentiate between the two types of particles, so both
forms are being used at the same time.
To remedy this problem, I added the relevant i18next processor to
properly select and print the correct form of the particle.
* fixed translations and started dialogues
* ptBR translations
* fixes
* minor fix
* minor fixes 2
* firebreather
* minor translations
* minor translations
* Added "Skip Dialogues" option (if at least 1 classic win)
* Removed error sound and hide option instead when classic wins = 0
* Add skip dialogues option to Unlockables and show unlocked message on first classic win
* Only skips seen dialogues, removed dialogue option from unlockables, seen dialogues get saved to local storage
* oops
* dont show charSprite when skipping a dialogue, small fixes
---------
Co-authored-by: Frederik Hobein <frederik.hobein@nterra.com>
* Voucher and Wide Lens item table Changes
- Wide Lens moved from Rogue -> Ultra Tier, same weight
- Voucher moved from Ultra -> Great Tier, same weight
- Voucher Plus moved from Master -> Rogue Tier, with weight starting at 9 -> 6 and decreasing with each reroll with 3 -> 2
- Voucher Premium added to Master (based on suggestion from Madmadness) with same weight as new Voucher Plus, and disabled in Endless / Endless Spliced
* Added Berry Count limiter
2 count for Lum, Leppa, Sitrus, Enigma
3 count for all else
* fix test 1
* fix test 2
I blame browser coding for this
* fix test 3
I BLAME BROWSER CODING
* Changed Berry Pouch to 30% > 33*%, max stack 90% > 100%
* fix test 4!!!!
oops
* english.
* german.
* spanish.
* french.
* italian
* portugese.
* simplified chinese.
* traditional chinese.
* Removed voucher changes, making separate PR for them to be discussed.
* Swapped switch statement to .includes statement
* Update modifier-type.ts
* thank you cheek pouch pr
* organizing, translations and achv localization
* localized for all languages
* minor fix
* minor fix 2
* minor fix 3
* Fixed Achivment Localization, Added german localization and fixes some issues with german localization at other parts
* fix pickup description
* Update French achv.ts
* French typo correction achv.ts
* eslint fixes
* added zhTW
* minor fix
* Achivment Bar is localized and gets bigger when using german
* Changed some things to make it not as Big
* The Achivment Bar now grows with the context
* Updated Achivment Names in german
* Update French achv.ts
* Vouchers now will show the correct descrption again
* minor fix
* minor fixes
* "sub" to "semi"
* minor fix
* fixes warning and organizes some files
* forgot about english
* korean translations
* test fix
---------
Co-authored-by: Jannik Tappert <tappertjannik@googlemail.com>
Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
Co-authored-by: Lugiad <adrien.grivel@hotmail.fr>
* Fixing Liquid Ooze to turn move user and not one with the ability as well as converted strength sap to use same logic instead of making it a separate class
* Replaced "undefined" with "null"
* Updated based on feedback + fix file permissions
* Fixing file permission on battler-tags
* Adding localization for drain message
* Apparently this file is 755 unlike the others
* Removed ability for custom message in exchange for getting to pass Pokemon name
* Once again changing moves from 644 to 755 like it is in repo right now :)
* putting ability back to 755 (why are file permissions all over the place)
* toxic and flame orb odds tweak and localisation
* Update modifier-type.ts
German name, but English description
* Update modifier-type.ts
Spanish done, in this regard!
* Update src/locales/fr/modifier-type.ts
French translation, thanks @Dakurei
Co-authored-by: Dakurei <maxime.palanchini@gmail.com>
* Update src/locales/fr/modifier-type.ts
French translation, thanks @Dakurei
Co-authored-by: Dakurei <maxime.palanchini@gmail.com>
* Update modifier-type.ts
Missed eliminating the "."
* Update modifier-type.ts
* Update modifier-type.ts
"it" gets proper English description, waiting on an Italian localisation
* Update modifier-type.ts
fixed the english desc.
* Update src/locales/it/modifier-type.ts
it localisation
Co-authored-by: Dakurei <maxime.palanchini@gmail.com>
* Update src/locales/it/modifier-type.ts
GoaTed translator
Co-authored-by: Dakurei <maxime.palanchini@gmail.com>
* Update modifier-type.ts
English in pt
* Update modifier-type.ts
English everywhere zzz
* Update modifier-type.ts
Final English, ready for translation by whoever sees it fit!
* Update src/locales/pt_BR/modifier-type.ts
Fixed a mixup
Co-authored-by: Dakurei <maxime.palanchini@gmail.com>
* Update src/locales/pt_BR/modifier-type.ts
Fixed a mixup
Co-authored-by: Dakurei <maxime.palanchini@gmail.com>
* Update modifier-type.ts
Added DerTapp translations without the "Ein Item zum Tragen." part for consistency throughout the file and with the rest of the locales, and according to what was briefly discussed in the Discord last night.
* Update modifier-type.ts
Missed taking out the "." in the /de, to keep it consistent with all other descriptions
* Delete src/locales/ko/modifier-type.ts
Korean localisation is already done
* Add back ko modifier-type
---------
Co-authored-by: Dakurei <maxime.palanchini@gmail.com>
Co-authored-by: Benjamin Odom <bennybroseph@gmail.com>
Co-authored-by: Temps Ray <temps.ray@gmail.com>
* squased merge rebind_menu
* azerty to qwerty
* add a check to preven a crash in firefox
* reset navigation menu on quit
* removed dual lock mekanism
* navigation display update icons on new bind
* added submit binding
* removed attribute no longer used
* change protected to abstract
* remove last bind protection since action and cancel are protected + renamed default controller to controller
* removed default alt qwerty keys in config
* fix some errors for doc
* fix tests
* fix some more errors for docs
* fix some more errors for docs final ?
* added alt bind for menu navigation + update icons on delete/home
* 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>
* Add Toxic Orb and Flame Orb
* Change Weighting Logic & Functions
* Adjust Party Filter during Weighting
* Add Dynamic Weight Ceilings
* Refactor for Performance/Cleanliness
* Adjust Party Filter to Check Status Applicability
* Cover Same & Different Status Cases
* Adjust Full Heal & Restore Weighting
* Cover Unwanted Status Case
* Fix Wrong Status Effect on Reload
* 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
* Implement Poison Heal Ability
* Removed unneeded import
* Fix some comments, as well as make Poison Heal only notify when healing
* Eslint fix
* Revert Phases
* Pushing for sake of reviewing; PR IS NOT DONE IT NEEDS TO BE TESTED AND COMMENTED AGAIN
* Changed the way healing is done, through a heal phase instead of heal(); Also added better documentation
* Changed healing, as well as making abilityTriggers updated
* 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
* Update small Korean locales
* Translate Korean classic story conversation
* Minor translation edit in Korean
3: translate 'not the same back home'
from 'atmosphere of home is not like before'
to 'returning to previous state is impossible'
3_female: now 'home' clearly means their hometown, not only player's house
6, 6_female: simple nuance-of-sentence modification
* Add unthaw to moves that are missing it
* Add unthaw to all damaging fire moves
* Add Status Effect overrides for easier testing
* clean up comments and readd status cure prefaint
* use helper instead of accessing attrs directly
* remove status overrides
Apparently its Meteor forms couldn't be selected if you caught it while it was in its Core form, so the change to this Pokémon specifically had to be reverted. It still immediately transforms back into Meteor form when starting a run, so this change should be harmless.
* Added Perish Body ability
* fix linting issues
* Documentation + Checking if either pokemon has perish song tag
* Fixed typo and improved TriggerMessage
* Added german translation for the descriptions of thunderclap, blazing torque, wicked torque, noxious torque, combat torque and magical torque
* fixed typo in german splash message
---------
Co-authored-by: Frederik Hobein <frederik.hobein@nterra.com>
This was initially intended to correct Minior's Core forms being selectable when they shouldn't have been ( #1594 ), but was expanded to marking all forms that should be selectable as such, even if an evolved Pokémon, just in case.