* 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.
* 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
* Add @types/node to the package lock to resolve node_module errors
Devs will need to run npm install --save-dev @types/node on their end as well
* Final Various Fixes
* Add korean locale without translation
* Translate ability,move,pokemon to Korean
* Translate miscellaneous to Korean
* Add Accuracy in the fight ui to Korean
* Apply nature,growth rate lang files to Korean
* Add missed file import to Korean config.ts
* Add font and its license for Korean then Apply it
pokemon-dppt from FontStruction and its license
* Translate any other lang file to Korean
* Cleanup Korean locale files
Indentation for pokemon and starter-select-ui-handler
Make config shoft
* Update Korean translation for the latest commits
ToggleSize dependency e4d3f73d,
+ Align togglesize locale text
Frisk description 6d73500a
Starter select UI 34a4f869, 74ee3329
Add ability triggers locale file 1c56efc8
Zippy Zap description 4e279224
* Implement locale font loading
Revert multiple font usage from style fe7fe845
Dynamic font loading on language changed
* Translate new localization parts to Korean
Return to title become save and quit
menu-ui-handler.ts ac2e7812
Generation text added
starter-select-ui-handler.ts afcffab9
Missing translations for learning move
battles.ts:countdownPoof, learnMoveAnd 44c0d29c
Weather & evolution texts translated
config.ts, weather.ts, menu.ts b8dff030
Added modifier type file for item translate
config.ts, modifier-type.ts b5ae8330, b82b8c31
Egg gatcha machine is now Korean
config.ts, egg.ts 975d1ed5
Add splash message literals to locales
config.ts, splash-messages.ts 8dce9fa2
Trainers are also localized
config.ts, trainers.ts b06190c4, 7f003d46, 364b19df
Double battle trainers appeared
battle.ts:trainerAppearedDouble f1e97f3b
* Small patches to Korean translations
Include generation consistency (learnMovePrompt, eggHatching),
wrong space (learnMoveReplaceQuestion),
missing word (learnMoveNotLearned),
match to modifier-type.ts (ivScannerUseQuestion),
and match to english and else (bossAppeared)
* Apply edits to Korean translation
Re-order config.ts 3f571a36
Fix splash message attribute to fixed config 429e6635
* Corrections and new text for Korean translations
Trainer misstypo correction 0cd305d7
trainer.ts
BerryType localization 25014208
config.ts, berry.ts
IV scanner updated 96af567c
config.ts, battle-message-ui-handler.ts
Melt stat and type into info 3cc9c93
config.ts, modifier-type.ts pokemon-stat.ts -> pokemon-info.ts
* Update Korean locale up to date
Larry and Lance are now unique 93dee06e
Trainer names errors about 'poké' 49adedbc, 13f2cafe
Wrong text edit for maylene
trainers.ts
Egg voucher translation 7216990d
config.ts, voucher.ts
Cleanup starter select ui handler ca1ae4b5, b95a59c0
starter-select-ui-handler.ts
Correct text overflow
tutorial.ts
* Modify loadFont to fit in nonExplicitSupportedLngs
'ko-KR' or 'ko' is loaded browser by browser, in any case font will be loaded.
* Update Korean translations
* Apply updated text
Berry pouch 8b4aa872
modifier-type.ts
Acrobatics 0d614526
move.ts
failedToLoadSaveData 32fadf8c
menu.ts
HoneyGather caeb22c2
ability.ts
* Apply added Text
Plates and Memories f914b8fe
modifier-type.ts
trainerSendOut, moneyWon, partyFull 79af1152
battle.ts
gym_leader_double, champion_double, Double Names aaa95ebe
elite_four_female, champion_female ac2f7755
trainers.ts
* Apply new locale category implement
Biomes de1c2b2b
config.ts, biome.ts
Trainer dialogue ac2f7755, d23d8356
config.ts, dialogue.ts
Statistics 6d2b8ef2
config.ts, game-stats-ui-handler
Info Container fb26b6d5
config.ts, pokemon-info-container.ts
* Recover coding style
include 2-space-indentation
* Add Korean Font
No more license text file
* Add missing config to Korean
* Fix ESLint failure on Korean
* Fix ESLint failure on Korean 2
* Update to Main Localization Changes
---------
Co-authored-by: Benjamin Odom <bennybroseph@gmail.com>
* Add possibility to override foe level
* Override foe level
* Update code styling
* Replace null with 0 as init value
* Replace null with 0 as init value
* Update order of constants
* Implements Magnet Pull and lets Levitate/Flying Pokemon ignore Arena Trap
* using isGrounded() instead of checking for Flying/Levitate
* MR feedback to use condtions for trapping instead of having it in the class
* Making Shadow Tag Pokemon immune to Shadow Tag
* Updated to make sure Tera Stellar Pokemon are checked against their original type as well
* Implement Triple Kick/Triple Axel/Population Bomb
* Add maximum allowed base power increments
* Add documentation
* Fix Population Bomb, Account for Skill Link
* Change multi-hit power increment behavior
* Fix Typo
* Fixes Issue #993 by changing from base stats to include summonBattleStats
* Added TODO with Substitute
* Fix conflicts
* Unsure why true was put through for passive, probably just a mistake on my end
* !== fix
* Conflict fix
* Eslint Fix
* Implement Double Battle average to take in stats from both Pkmn
* #1326: add touchstart event to dpadCenter to prevent zoom behavior
* #1326: improve variable naming for preventElementZoom
* #1326: change selector to "#dpad"
instead of just "#dpadCenter"
* initial implementation
* updated logic
* reverse retTint
* added candy overlays and colors
* added settings and minor fixes
* german changes
* logic fix
* german changes pt2
* german changes pt3
* setting name changed
* Update battle-scene.ts
* initial animation implementation
* minor fixes
* main compatibility
* minor fix
* logic for animations
* eslint fixes
* final generation logic
* Pause Animation when Selected or Purchased
* Disable Indicator if not Root Species
* Add to Reload and Add Anchor
* Fix Animation on Change
* Fix Icon on Change
* Code Cleanup
* fix
---------
Co-authored-by: Benjamin Odom <bennybroseph@gmail.com>
* Partially implement Cheek Pouch ability
* add cheek pouch trigger to EatBerryAttr class
* Partially implement Cheek Pouch ability
* add cheek pouch trigger to EatBerryAttr class
* add cheek pouch trigger to new berry phase, remove partial tag
* run auto formatter because I forgot
* hotfix berries triggering before status effects
* Revert "hotfix berries triggering before status effects"
This reverts commit 3fbbc9a165.
* add partial tags to abilities that would be blocked by Heal Block
* 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
* Add setting to change money format
This setting can currently be set either on "normal" or "abbreviated". "normal" will show all the numbers, while "abbreviated" will abbreviate to the most significant numbers and use a suffix to show the power-10.
A new enum has been added for MoneyFormat as well.
* Update src/battle-scene.ts
Co-authored-by: Franck TROUILLEZ <57403591+francktrouillez@users.noreply.github.com>
---------
Co-authored-by: Benjamin Odom <bennybroseph@gmail.com>
* Changed How is local is checked and how serverURL is build to prevent errros in offline mode
* Added window.location.hostname === ''; back as a check
* Removed any line breaks in the isLocal Condition
* 3rd time is the charme
* Update utils.ts
---------
Co-authored-by: Benjamin Odom <bennybroseph@gmail.com>
Also now only the current language type image is loaded. If it doesnt exist for a language it will load the english one as a fallback
Tested with all lanugages
* Update i18n.ts
* Update config.ts
* Update game-stats-ui-handler.ts
* Add files via upload
* Cleanup code
+ Modification of the interface to manage labels dynamically (without this, the language change was not reflected until the page was completely refreshed)
* Apply ESLint after rebase on upstream/main
* Remove useless initStatsKeys
* Adds german localization
+ Changes font size in german only (because otherwise it overflows :D)
* Adds an additional method of formatting large numbers to make it a little more pleasant to read
+ The other was a little too barbaric in what it truncated, but is still useful in certain cases
+ Use abbreviations from 10^0 to 10^33
* Use of the new 'formatFancyLargeNumber' method to display money owned in combat and the highest sum of money obtained in statistics
---------
Co-authored-by: Lugiad <adrien.grivel@hotmail.fr>
Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
* Started Dialogue Loc. This is very much WIP
* Done with the trainer dialogue except the rival(s). And the special dialogue...
* Added Rival Dialogue
* Added final boss and ending dialogue
* Added Dialogue to all languages (just copied the english file). And updates the config.ts
* Added chinese splash
* Lint
* Added the new dialogue for the galar elite 4
* The dobule dialogue is now also localizable (also added dialogue localization files at all to chinese TW
* Added german dialouge for the named doubles
* Added Endboss translation for german
* Added rival dialogue in german (and yes i checked that every of them fits)
* Dialogue for trainer classes (As good as possible since the english text at some parts doesnt make a lot of sense)
* Start Gym Leaders
* Finished Kanto Gym Leaders
(Added missing dialogue to all other languages)
* Hoenn Gym Leaders
* Some more
* The Rest
* Marshal was missing something
* Partial French translation to dialogue.ts
* Added gender specific titles for elite 4, gym leaders and champs
* Readded import that was removed by a merge
* The dialogue can now be localized based on the players gender (male or female). unset uses the male dialogue. Can be easily adopted when we add non binary options later
---------
Co-authored-by: Lugiad <adrien.grivel@hotmail.fr>
This adds Partner Eevee and Partner Pikachu, as well as all Cosplay Pikachu variants. Also included are some minor trainer-related formatting clean ups.
• Partner Pikachu and Eevee have their boosted base stats from the Let's Go games, but are otherwise identical in function and appearance to their regular variants.
• Cosplay Pikachus have their special moves as "evolution" moves and can be relearned if desired.
• Unlike the canon games, Partner Pikachu and Eevee are able to evolve like normal.
Simply changing Marshal to have 2 evolved pokemon on his list rather than their unevolved forms, just in case there's another hiccup like with Iris having an Aron on her champion team.
* Fix incorrectly unselectable starter formes
* Fix linter issue that got merged upstream
* Remove battle-bond key from form key overrides based on feedback
* Fixes being able to select forms that shouldn't be startable
* Add Minior Cores as cycleable
* Remove unused code from previous implementation
* Added localization to the biomes.
German Localization by me. (Native German).
French Localiztation by sangara42 from Discord
* Changed End back to ??? and Space is now Space again it all but German and French
* Changed english biome names according to https://wiki.pokerogue.net/biomes:biomes
* And we are back to grassy field since apparently the wiki is wrong...
* Fix incorrectly unselectable starter formes
* Fix linter issue that got merged upstream
* Remove battle-bond key from form key overrides based on feedback
* WIP: Adding the option to have named trainers be able to have a double battle together
* The team generation now works.
Also changed it so the special pools are now seperatly defined so we can access it for the team generation of the doubles.
They will happen at a 33% chance.
TODO: Option for seperate double dialogue (because for example the dialogue for tate and liza dont make sense since they reference their other sibling not beeing there...)
* Obviously didnt mean to push changes to battle.ts... (I made this change for a test)
* The doubles now have victory and encounter dialogue (the dialogue itself isnt THAT good since english isnt my first language)
* Changed signatureSpecies for the new galar elite 4
* Added Marnie & Piers as a double
* ESLint
---------
Co-authored-by: Benjamin Odom <bennybroseph@gmail.com>
This fixes an issue where this.baseY and this.y were not sync anymore, leading to unexpected behavior while using both values, especially during the selectTargetPhase, where the UI was not working for the first player pokemon.
On light coloured biomes this change should be similar readability
In darker biomes it's has much easier readability
+ now becomes more consistent colour with the rest of the game text which just looks better imo
* Added ability to get hex colour from type, added biome text, added functionality for querying biomeType with object.
* Revert "Added ability to get hex colour from type, added biome text, added functionality for querying biomeType with object."
This reverts commit 0f87000aa4.
* Reverted changes, added biome text to line one and renamed wavecounttext to a more standard name.
* Update battle-scene.ts
* Update Formatting
* Update Enums
* Revert
* Update overrides.ts
* Update battle-scene.ts
---------
Co-authored-by: Jon Studders <jonstudders1@gmail.com>
* Added ability to get hex colour from type, added biome text, added functionality for querying biomeType with object.
* Revert "Added ability to get hex colour from type, added biome text, added functionality for querying biomeType with object."
This reverts commit 0f87000aa4.
* Reverted changes, added biome text to line one and renamed wavecounttext to a more standard name.
* Update battle-scene.ts
---------
Co-authored-by: Benjamin Odom <bennybroseph@gmail.com>
* Changed the move Acrobatics so it doesn't include
non-held items on it's damage calculations
* Changed exception so it includes within_party
items, and updated the move description
* Small typo e_e'
* Change Description of Move
---------
Co-authored-by: Benjamin Odom <bennybroseph@gmail.com>
* 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
* Added a champion ribbon on enemy pokemon if they have a classic win.
* Refactored to check for other non-root starterDex entities.
* Check for caughtIcon, if false then move ribbon to the left.
* Fixed Merge.
* Bit of refactoring, added check for classic mode.
* Removed random newline and removed unused import.
* Removed overlapping ribbon.
When the wild evolution delays were updated, the biomes file wasn't updated to match, so that has been fixed.
Additionally, the previous refactor removed the commented-out outputPools function. It is where it is because it allows for easily filling out the biomes file for an update.
* Update battle.ts
update some lines of translation
make some translation more official
* Update egg-list-ui-handler.ts
make text position more accurate
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.
* 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>
* Give certain Pokemon who start without a damage dealing move a Level 1 option.
A simple QOL change to certain Pokemon who otherwise didn't start with any sort of damage dealing move, or started out with unreliable moves that made the first biome a chore to get through such as Wrap/Bind or Astonish/Flail. The move choices were simply to help early game for these Pokemon and majority of these moves were moves the Pokemon had access to at some point save for some special cases. The following Pokemon were affected: Abra, Gastly, Lickitung, Dunsparce, Slugma, Wailmer, Spoink, Shuppet, Duskull, Burmy, Chingling, Bonsly, Carnivine, Giratina, Darkrai, Throh, Vanillite, Pumpkaboo, Bounsweet, Pyukumuku, Cosmog, Magearna, Applin, Sinistea, Poltchageist.
* Give certain Pokemon a level 1 damage dealing move
* Added Formatting to indicate what is custom, changed Spoink to pull from Confusion 2 levels earlier
* Drop Shadow Adjustments
Adding support for x,y axis on dropshadow and adjusting the values to be less bad
* Further Refined New Shadow Positons
- Reverted MOVE_INFO_CONTENT to the old default
- Slight adjustments to other values
* Fixed Broken Drop Shadows
Fixed a case where the dropshadow became worse
---------
Co-authored-by: Benjamin Odom <bennybroseph@gmail.com>
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.
It was causing some Pokémon to be unevolved in later Classic mode trainer battles (notably the fifth and sixth rival fights). Lowering their evolution delay *should* mean they are fully evolved by these fights now.
* Adds in the accuracy and evasion bypass for Mind's Eye
* Added comment to new IgnoreOpponentEvasionAbAttr class
* Added docs to apply so that it is actually complete
* Drop Shadow Adjustments
Adding support for x,y axis on dropshadow and adjusting the values to be less bad
* Further Refined New Shadow Positons
- Reverted MOVE_INFO_CONTENT to the old default
- Slight adjustments to other values
* test commit
* de modified readme
* first implementation, needs testing with healer
* fixed beahviour if 2+ opponents are on field, also added message
* further fixed
* reset of overrides.ts before merge to main
* fixed grammar
Co-authored-by: Jonas Pinson <jonas.pinson@gmail.com>
* Implemented changes suggested by @bennybroseph and @TempsRay
* Added more docs to the class
* removed old comments
* fixed ability name in comments
* added translation and made message localized
* fixed ability name
* added missing bracket
---------
Co-authored-by: Jonas Pinson <jonas.pinson@gmail.com>
* Move Pokemon info screen when confirming
Prevents the yes/no confirm menu from getting in the way when the Pokemon Info screen is open when catching a new Pokemon
* Greatly sped up makeRoomForConfirmUi()
* 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
* 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
* Set the name for the ace trainer female class
* Wrote out the name for all females trainer classes explicitly so they are always used.
Also made some changes (added missing classes) to languages
* Checks if Pokemon is Ghost type when determining if it is trapped
* Adding doc comments based on new standard
* Update ability.ts
---------
Co-authored-by: Benjamin Odom <bennybroseph@gmail.com>
* Implemented Ball Fetch
* Added once per battle condition
* Ability only functions on player side
* Update ability.ts
---------
Co-authored-by: SamuelHudson <samuel.hudson2017@gmail.com>
Co-authored-by: Benjamin Odom <bennybroseph@gmail.com>
* 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.
* So currently if you meet someone with a title it only shows there name and only then the title (not like trainer classes). So i wanted to change that
* The title is not set again to its own value. It is just got differenlty for the nametag (includeTitle true)
* Added the ; as well as some comments that are hopefully helpful for others (i am terrible at writing comments)
* Forgot getTitle for comments
* 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
* Translate 'trainer' into Simplified Chinese.
* fixed translate 'hau'、 ‘diantha’ 、‘leon’ into Simplified Chinese.
* Fixed the replace method that was not executed in check female version exists; And fixed pokefan key in localization;
---------
Co-authored-by: Junhan <junhan.wu@nexttao.com>
* Fix Entry Hazard Miss
Made Entry Hazards bypass the accuracy check as they cannot miss a target. There's still one more bug to fix with this but it requires way more code changes. This change needed to be done as well, so I'm getting it out early.
* Update move.ts
* Add files via upload
* Update zh-CN translation
Adjusted some Chinese translations and added line breaks to some item descriptions in modifier-type.ts
* Add files via upload
Updated the check in place when attempting to play a trainer sprite. Separated it into a separate function to reduce reusing code and to make it easier to exit early when failures occur.
* Some translations (battle, modifier-type, trainer)
* More translations and fixes
* Minor fixes
* finished translations
* minor fix
* removed tera type
Corrected the TrappedTag class so no Ghosts can be trapped
Added special canAdd function to IngrainTag so all Ghosts can use Ingrain not just Trevenant and Phantump.
* Use getBattleStat instead of getStat in BattleStatRatioPowerAttr
* Change unnecessary let into const
* Refactor BattleStatRatioPowerAttr into two distinct classes
* Add TSDoc for the new classes
Took a look at some of the entries for trainers and adjusted accordingly. it looks like all of these trainer types were grabbed from an online source as a sort of future-proofing which is good, but resulted in some errors. Some of which have already been fixed, and some which are included here.
Also prevents an issue if there is a missing image and displays a warning in the console instead of a crash.
* Added localisation for workers class to all languages but german (which already had it...)
* Added missing entries to fr and br.
Now they all have the same keys.
* Added german egg localization
* Changed pull back to english since there isnt enough space for a german word that makes sense and most if not all german players understand "pull"
* This comma was too much
* Issue #745 - Added the option to localize titles, trainer names (for important trainers like elite 4, champs etc) and trainer classes.
- Also i already did the whole localization for german (sorry thats the only language is speak other then english...)
- Also renamed the trainer Type "student" to school_kid (because there apparently really is a trainer class called student since the gen 9 dlc)
- And i changed it so it makes sure that i18 only gets initalized once (it may be needed to initalize it before the loading phase so the elite 4 titles etc can be localized)
* Issue #745 - Removed stuff that wasnt meant for this branch
* Translation of French trainers.ts
* Translation of French trainers.ts
* Translation of French trainers.ts
* Fixed spelling on german translation
* Fixed name of Hex Maniac
* ADded missing "," that were lost in the merge
* For Trainer Classes that have a female and male variant the correct name is now choosen. (If a language has both).
Also added a safety net that if the female version does not exist it uses the one without the suffix
* Reverting override.ts
* Added ptBR trainers.ts (thanks to zé ricardo on discord)
* Updates Pokefan to reflect the correct english spelling (in all languages that still have the english defaults)
* Updated Rich_kid trainer typ to named correctly as "Rich Boy" in english and all non yet localized languages
* Added that the title will get made lower case so the rival is correctly set
* Reverted a formatting change that i didnt make intentionally
---------
Co-authored-by: Lugiad <adrien.grivel@hotmail.fr>
* Added splash messages literals for all languages
* Removed debug code + fixed function casing
---------
Co-authored-by: Benjamin Odom <bennybroseph@gmail.com>
* feat: added localisation for eggs and french translations
* fixes on french translations after review
---------
Co-authored-by: Madmadness65 <59298170+Madmadness65@users.noreply.github.com>
Co-authored-by: Benjamin Odom <bennybroseph@gmail.com>
* Added german modifier-type.ts
* Fixed Text that was to long and added missing formatting
* Fixed a key that was wrong
* Changed never_melt_ice again. Now it the same as in other languages
Fixed an issue where targeting the user of a Semi-Invulnerable move caused the move to cancel. These moves now miss instead.
No Guard and other accuracy locking moves still function as they were already duplicating their check in hitCheck. Fixed an issue where IGNORE_ACCURACY was checking against the current move for targets instead of Lock-On's target
* Implements localization on ModifierType
* All languages' translation fallback to EN locale
* Fixed some typos
* Add missing QUICK_CLAW translation entry
* Added Gen names localizations in Starter Selection UI
* Added Gen names localizations in Starter Selection UI
* Added Gen names localizations in Starter Selection UI
* Added Gen names localizations in Starter Selection UI
* Added Gen names localizations in Starter Selection UI
* Added Gen names localizations in Starter Selection UI
* Added Gen names localizations in Starter Selection UI
* Added Gen names localizations in Starter Selection UI
* Added Gen names localizations in Starter Selection UI
* Added Gen names localizations in Starter Selection UI
* Added Gen names localizations in Starter Selection UI
* Update starter-select-ui-handler.ts
* Update starter-select-ui-handler.ts
* Added Gen names localizations in Starter Selection UI
* Added Gen names localizations in Starter Selection UI
* Updated with recent pt BR edits
* Fixes the ptBR text in starter menu popping out of the info box and added language personalization, changed some ptBR natures and ordered thw switch case in alphabetic order
* Small fix
* 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>
* 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>
* Sacrifical Moves (that dont require a target like explosion or self destruct) now also work if the target is flying, diving etc.
There is also a new catagorie of moves. "SacrificalMovesOnHit" for all moves that need to hit for them to be sacrifical like MEMENTO
* Added comments, added (what i think is TSDoc) to functions and classes. Removed empty lines i introduced
* .
* Added fixes for the Review by TempsRay.
* Added missing *
* Remove Target Requirement of SacrificialAttr
* Update move.ts
---------
Co-authored-by: Benjamin Odom <bennybroseph@gmail.com>
* Implement client session and re-implement hybrid saving (WiP)
* Fixes for hybrid saving
* Add local data clears where applicable
* Include client session ID in system update
* Change save threshold from 5 waves to 10 waves or 5 minutes
Replacing Cave's Beach link with Lake would weaken the "water loop", a situation where players get continually routed back to Beach, leading to frustration. Lake is a crossroads biome that connects to much of the rest of the game, while still connecting to Beach, making it not a drastic detour.
Infernal Vulpix simulated a hypothetical 10k wave endless run for me to see the difference this change would have on biome frequencies. Apologies for the broken formatting from me copying this from Discord:
Odds Alt
Abyss 1.98% 2.40%
Badlands 3.57% 3.46%
Beach 6.30% 4.06%
Cave 5.87% 5.91%
Construction Site 3.90% 4.83%
Desert 1.70% 1.70%
Dojo 2.05% 2.58%
Factory 2.03% 2.57%
Fairy Cave 0.86% 0.59%
Forest 5.79% 5.64%
Grass 2.12% 2.48%
Graveyard 2.03% 2.39%
Ice Cave 4.00% 2.68%
Island 0.79% 0.53%
Jungle 2.80% 2.72%
Laboratory 0.13% 0.13%
Lake 3.37% 6.26%
Meadow 2.93% 2.74%
Metropolis 2.33% 2.55%
Mountain 2.86% 2.40%
Plains 5.96% 6.94%
Power Plant 2.06% 2.63%
Ruins 2.51% 2.59%
Sea 6.16% 4.07%
Seabed 2.90% 2.04%
Slum 2.58% 2.67%
Snowy Forest 3.79% 2.60%
Space 0.37% 0.41%
Swamp 3.79% 4.64%
Tall Grass 4.18% 4.73%
Temple 2.98% 3.06%
Town 0.00% 0.00%
Volcano 2.58% 2.29%
Wasteland 0.72% 0.72%
End 2.00% 2.00%
* 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
* 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>
Deoxys, Victini, and Genesect should not be in the Legendary egg pool, to make them consistent with the other mythicals.
Also additional learnset changes for a couple mythicals with no/lacking starting moves.
No longer is it stuck with just two moves via level up. It now has a thematic set of level up moves based on other similar Pokémon and its TM compatibility.
This primarily just affects Zippy Zap, as it loses its always crit attribute for an evasion increase (Associated localization strings will need updating). Also implemented Sparkly Swirl's status curing attribute.
Also included is a wild evolution delay for some stone evolution Pokémon that was previously overlooked.
* Airlock ability now properly announces when it is
in field when the pokemon with it is switched in
* Set message as in the original games, also created
a new attribute for in switch messages to not have
the pokemon name required to be on it.
* Committing language changes (i18n function)
* Revert "Committing language changes (i18n function)"
This reverts commit 2a3152003b.
* Changed message variable name
* 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>
* Add support for Portuguese (Brazil) locale, except for moves and abilities.
* All ptBR translations, names of moves and abilities maintained in english.
* Small fixes
* Updated Frisk and fixed Plus and Minus descriptions
* Changed the settings label to "Português (BR)"
* Added passives to the Summary Screen
Adds the ability to view passives on the Summary screen. Just like in the starter select, you can only see the passive once it is unlocked.
There is a small pixel button prompt which helps indicate you are able to press the button to view the passive. This buttons shows an A when gamepad support is enabled and a Z otherwise.
* Update summary-ui-handler.ts
* Updated for Legacy Support
* changed nonfunctioning rockruff form check to ability check for own tempo for dusk form evos
* testing changes
* rockruff OT uses formIndex for dusk form evolution, removed temporary debug rockruff getFormIndex changes
* reverted overrides
* fixed spacing issue
* evolution times revised
* revised dawn and dusk evos for rockruff
* reordering evo times for consistency
* removed unused imports (abilities, attackTypeBoosterModifierType)
---------
Co-authored-by: James Diefenbach <z5421232@ad.unsw.edu.au>
* Fixes sturdy to stop popping up even if not used
* Made changes to better the code, also added
a check for wonder_guard 1hp
* Refined code, as requested by bennybroseph
* Made a small fix and added better comments in
relation to interaction with Wonder_guard ability
* added more german translations
* added german translation for move.ts
* more german translations
* ability.ts wih german translation updated
* added missing german translation for abilites.ts
* added more missing translations
* changed description of frisk
The Vivillon forms can all be encountered properly now, and Calyrex's forms have since been removed from the wild encounter pool, requiring a form change item to obtain.
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.
With egg moves factoring in to trainer Pokémon's learnsets now, Oblivion Wing was too problematic for a common egg move. So it has been swapped with V-create to make fights with it more tolerable.
* Heart Swap implementation.
Simply switches the values in 3 arrays.
* Fixed missing space
* Removed some lines.
Removed a for loop.
* Removed an unneccesary line
* TSDoc commentation added
* Changed message method to be more descriptive
* Adjusted message line to be consistent with Pokemon Showdown
* Adjusted priorBoostArray to priorBoost integer
Only one values is relevant at a time, so the array was pointless, woops.