* 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.