* 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.
* Redo moveset generation
* Decrease the weight of lower power moves and egg moves
* More weight tweaking
Trainers never get OHKO moves, are less likely to get self KO and multiturn moves, and more likely to get stat buffing moves. All pokemon are less likely to get offstat moves.
* Implemented Snipe Shot and Stalwart/Propeller Tail
* Remove Testing Overrides
I don't know why these got pushed, they are in the gitignore file.
* Snipe Shot also has a high crit rate
* Add Comment
* Add TsDoc documentation to BypassRedirectAttr
* Add ability pop-up for when Propeller Tail/Stalwart proc.
* Fix Formatting
* Tab align comment
* added settings to manage how to display party experience at the end of fight
* added back stats changes support when setting is on but ignored when on skip
* removed a useless parameter
* added new level in the text
* only Lv. UP if level is greated than 200
* cleanup
* added some comment
* TSDoc comment block
* EXP_Party -> EXP_Party_Display, Only Up -> Level Up Notification
* better duration for the level up notification
* typo
Co-authored-by: Samuel H <flashfireex@gmail.com>
---------
Co-authored-by: Samuel H <flashfireex@gmail.com>
* fix "lost focus behaviour" when disabling gamepad and thus repeating RIGHT key
* added some comment
* added full TSDoc, helped by chatGPT, refined every entry manually of course
* Hydro Steam, Spirit Shackle, U-turn fix
Match formatting to project style
Co-authored-by: Samuel H <flashfireex@gmail.com>
* Fix Hydro Steam power up in Sun, even harsh sun if type changes
* Fix issue with Hydro Steam outside sun
* Add comments to IgnoreWeatherTypeDebuffAttr for documentation
* Move U-turn fix to another PR
---------
Co-authored-by: Samuel H <flashfireex@gmail.com>
* adds frame for StatusCureAttr
* heal bell and aromatherapy functioning as intended
* refactor attr to solely handle party cure, party interaction unique enough to justify
* adds header to PartyStatusCureAttr
* code comment
* comment formatting improvement
* checks for passives as well
* code comment
* shows ability bar if immune
* Save battler tags
Also saves the rest of the summonData except for transform specific things.
* Add missing values for type boost tag.
* Add intellisense comments
* Implements healer
* adds an ally check to the condition
* done testing, changes chance back to 30%
* adds comment header for PostTurnResetStatusAbAttr
* adds override to resetStatus to not allow revive
* dont revive
* override revert
* implements cursed body
* 30 percent chance to proc
* check if max
* removes unimplemented tag
* bypasses faint
* un-disable message specifies pokemon name
* adds prefix to un-disable message
* space issue
Each individual token heals 1 percent less, but now stacks to 15 instead of 10, to maintain the current maximum of 30% recovered per turn.
The purpose of this change is to make the healing more gradual, and just generally less painful if you get multiple early on.
* fix scrappy and mindseye working as passive ability
* update apply for ignoretypeimmunityabattr
* simplify logic for ignoretypeimmunityabattr
---------
Co-authored-by: contra1337 <jpbastyr@gmail.com>
* Fixed Crash Moves and Reckless
Added a new MoveFlags flag 'RECKLESS_MOVE' to make crash and recoil moves in line with other move flag boosting attacks.
Modified how flags were defined so they are easier to maintain.
Added the appropriate flag to all mvoes listed as being affected by Reckless. Steel Beam and Mind Blown do not count according to source:
https://bulbapedia.bulbagarden.net/wiki/Reckless_(Ability)
* Update move.ts
* Update abilities.ts
* Added hyperlinks to Moves enum
Yes, I'm aware of what this looks like in the file itself, but it enables a nice neat little hyperlink shown below to the bulbapedia page when you hover over a move. I feel like the added convenience is worth making the file harder to read considering nobody is ever going to touch that file anyway. I plan on adding a python script to finish the rest of them, but didn't want to actually sink time into this if we absolutely despise it.
* Added Python Script
Created a python script to add comments with a url to abilities.ts, moves.ts, and species.ts using regex
* adds the ribbon asset, hooking it up
* works if override. need to add field on server side I imagine
* moves count to starterData, increments on win
* formatting
* increment works properly
* recursively check for prevolution
* cleaned up to use getRootSpeciesId()
* changes ribbon to gold medal version
* adds Akuma's ribbon achievements
* ribbons increment correctly
* missed ui handler update
* reorder achievements
* ribbon correct, vouchers not. currently investigating
* increments properly, but voucher reward phase not appearing
* some cleanup
* works great, need to better reflect who is getting ribbon in message and cry
* plays level fanfare, tabling cry for now
* reran items.bat
* Minor fixes
---------
Co-authored-by: Flashfyre <flashfireex@gmail.com>
* add hazard removal for Rapid Spin, Defog, Tidy Up, Mortal Spin
* Updated templating and fixed some errors
support for either pokemon using it
added better templating
* revert logic, and remove partial tags
---------
Co-authored-by: kenwang <kenwang@umich.edu>
Co-authored-by: Gwen Valentine <gwenvalentine@starshine.dev>
* Updated Learnset of Gen1 to Indigo Disc
Not many changes here for how much time it takes to comb through, but here it is.
Only notable change is Power-Up Punch got removed this gen so it had to be removed from Hitmonchan's learnset. Are we okay with this change? If so, this is good to go for Gen 1.
* Updated Learnset of Gen2 to Indigo Disc
Notable changes:
Porygon 2 loses Magic Coat with no replacement.
Ho-oh loses Burn Up but gains Overheat.
The rest seems better or neutral.
* Update Learnsets for Gen3 to Indigo Disk
A good chunk of these changes is just reordering the moves to match bulbapedia so that it's easier to see what changed in the future. Otherwise, it's really just replacing moves that don't exist anymore.
Also, Zangoose got a ton of new moves that work with a move relearner, but not by level-up. Weird, but good if you like Zangoose.
* Fix Duplicates
* Spanish translations for intro messages and some menus. Added Empty (save file) to lang files
* Spanish translations + new literals in all langs
* Spanish translations, new literals for all langs (starter-select-ui-handler)
* Two translations
* Resolving accidental overwrite in french menu.ts
* New starter-select-ui-handler lang files for all langs
---------
Co-authored-by: rnicar <rj.nieto.car@gmail.com>
* Fixes Struggle Softlock
Fixed an issue where moves marked as (N) would prevent you from being able to Struggle.
Also fixes messaging so that a message shows when you are out of PP, Disabled, or trying to use an unimplemented move consistently.
* Update phases.ts
Mind Blown targets all users and was triggering recoil every time it hit. Changed so that it only applies once after all targets take damage by adding a new MoveEffectTrigger, POST_TARGET. This also fixes an issue where dying to recoil stopped the rest of the damage from hitting the remaining targets.
This change also applies fixes for Steel Beam since they are have the same effect but is single target.
Also added missing messages for Damp and Recoil. All messaging is in line with Pokémon Showdown.
* abilities: implement guard dog, abilities that give intimidate immunity
* abilities: implement rattled's second effect, remove refs to mold breaker
* abilities: fix rattled not giving the attack drop still
* abilities: make ability bars pop in to some success
* abilities: implement suction cups since it has the same effect
* moves: add custom fail text, fix animation issues with Guard Dog/Roar
* abilities: manually show intimidate ability bar to prevent weirdness
* Removing forms names in Italian pokemon.ts
Forms names aren't supposed to be specified in the name of the Pokémon
* Removing forms names in Italian pokemon.ts
* rework of the input handling, including different gamepad and keyboard
* rework of the input handling, including different gamepad and keyboard
* first version of a too complex inputHandler based on phaser3-merged-input
* removed useless control management and kept it simple for our use case, investigating to put out button_XX()
* renamed inputHandler to inputController
* aggregate directions and some action into a same method + fix menu return value
* added back repeated input feature on keeping down a key
* cleanup + return type
* fix submit/action doing two things simultaneously, still same behaviour as before
* extracted UI inputs out of battle-scene
* tab -> spaces
* tab -> spaces what about now github ?
* tab -> spaces final (maybe)
* tried to fix the plugin loading issue on prod
* remove Plugins things as it's too uncertain how it works on prod
* seems old code source is indented with tab
* cleanup
* cleanup
* cleanup
* putting in an enum file the enum buttons
* fix repeating stats button + change message in event when the key is repeating
* added return type for ui-inputs
* added return type for inputs-controller
* adapted the code to integrate changes of bennybroseph