* 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
* Add Setting to Swap A and B on Gamepad
Added a new setting to swap the A and B button on controller. Defaults to off which retains the current behavior on live.
* Add comments
* 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.
* abilities: implement opportunist
* abilities: make it not infinitely loop like a dummy
* abilities: properly ignore only opportunist on opportunist boosts
* abilities: rename some things to make a bit more sense
* Expanding Force Implementation
Added target change attribute based on terrain
* Class change I guess
* Expanding Force Implementation
Added target change attribute based on terrain
Class change I guess
Squashed weird split commit
* Fixed removed commits
My bad
* ACTUALLY fixed removed commits
* Expanding Force Hotfix
Fixes a bug where Expanding Force would not act as a multi-target move in the MoveEffectPhase while in psychic terrain
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.
* Expanding Force Implementation
Added target change attribute based on terrain
* Class change I guess
* Expanding Force Implementation
Added target change attribute based on terrain
Class change I guess
Squashed weird split commit
* Fixed removed commits
My bad
* ACTUALLY fixed removed commits
* Add Form Text to Starter UI
Adds text to the starter screen UI which indicates which Form you are currently selecting. This helps with Pokémon who don't have a sprite change for their form because it doesn't affect them until later.
* Make Title Case
The AI couldn't decide who to target with CounterDamageAttr moves which don't need a target. This change makes an exception. Now functions the same as when the player selects one of these moves.
Changes some of the more problematic passives some Pokémon had. As usual, if there's any that you may have a problem with, we are always up for suggestions.
* Spanish translations for intro messages and some menus. Added Empty (save file) to lang files
* Spanish translations + new literals in all langs
---------
Co-authored-by: rnicar <rj.nieto.car@gmail.com>
* abilities: implement anger shell and berserk
* abilities: fix small typo causing berserk to raise speed instead of spatk
* abilities: condense battlestats into an array instead of multiple attrs
* 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 ?
Fixed having Shedinja share PP usage with the Ninjask it evolved from and vice versa.
The solution was to make a deep copy of each move in the moveset array rather than copying the array itself.
* Smack down and thousand arrows should cancel charging fly
* Remove console log
* Update interruptible check to use flying tag instead of move history
* Remove extra comma
Shedinja wasn't taking the luck value from Ninjask so when it calculated its luck it just took the entire fused Pokemon's luck somehow. This has been fixed so it takes both the first and second part of the fusion's luck values instead.
Also fixes an issue where Shedinja crashed the game if it was the second part of a fusion combo. Now the correct pokemon species gets checked against and the correct pokemon evolution occurs to create Shedinja.
Moves that deal half of a target's HP were not able to deal damage if the target had 1 HP. Used Math.max to ensure 1 is the lowest this value ever evaluates to.
* Fix effect spore, tera blast distribution, and IVs shown on catch
* Forgot to add tms
* Unown does not learn any TMs
* Fix some tera blast learns
* delelele whooooop
* Implemented Synchronoise's effect
Tested with Soak, Forest's Curse, and a variety of attacker and defender types.
* Fixed Synchronoise double battle functionality
It now does zero damage only to targets who do not share any types with it, while correctly damaging any who do. It also fails entirely if the user is UNKNOWN type.
* Add color for the IV scanner
add a new color SUMMARY_GREEN in text.js, add the green color if the iv of the pokemon is better than the iv on the starter of that pokemon
Co-authored-by: EmoUsedHM01 <131687820+emousedhm01@users.noreply.github.com>
* fix battle-message-ui-handler.ts formatting
* fix missing similicon battle-message-ui-handler.ts
* modified so it take a boolean instead of doing lot of else if battle-message-ui-handler.ts
* Fix iv scanner only doing color for the right pokemon in double fight
---------
Co-authored-by: EmoUsedHM01 <131687820+emousedhm01@users.noreply.github.com>
* Select move UI shows PP
* Removed testing forced max pp
* PP only shows when using PP restoring items
* Removed testing max pp again
* Update src/phases.ts
* Update src/ui/party-ui-handler.ts
---------
Co-authored-by: Samuel H <flashfireex@gmail.com>
* Add color for the IV scanner
add a new color SUMMARY_GREEN in text.js, add the green color if the iv of the pokemon is better than the iv on the starter of that pokemon
Co-authored-by: EmoUsedHM01 <131687820+emousedhm01@users.noreply.github.com>
* fix battle-message-ui-handler.ts formatting
* fix missing similicon battle-message-ui-handler.ts
* modified so it take a boolean instead of doing lot of else if battle-message-ui-handler.ts
---------
Co-authored-by: EmoUsedHM01 <131687820+emousedhm01@users.noreply.github.com>
* bug fix: updates move description correctly
viewing the description of move slot 1 in a pokemon's move summary UI only updated the first time it was viewed per session, exiting the party UI and re-entering caused the moves in a pokemon's summary screen to not automatically populate the description box unless you moved the cursor down to move 2 and then back up to move 1
* slight logic changes to fix party UI controls
when battlerCount = 2 (double battle), starting in party slot 1 and pressing DOWN -> UP -> RIGHT would move the cursor back down when it should be moving it to the right: these changes fix that
* finalised the minor UI changes
* finalising
* refactor
* removed console logs used for testing
* bug fix: updates move description correctly
viewing the description of move slot 1 in a pokemon's move summary UI only updated the first time it was viewed per session, exiting the party UI and re-entering caused the moves in a pokemon's summary screen to not automatically populate the description box unless you moved the cursor down to move 2 and then back up to move 1
* slight logic changes to fix party UI controls
when battlerCount = 2 (double battle), starting in party slot 1 and pressing DOWN -> UP -> RIGHT would move the cursor back down when it should be moving it to the right: these changes fix that
* finalised the minor UI changes
* finalising
* refactor
* removed console logs used for testing
* implement wish move
* Serene grace implementation idea
* only do the thingy if it actually gets effected.
* Revert "only do the thingy if it actually gets effected."
This reverts commit 4b084658d2.
* Revert "Serene grace implementation idea"
This reverts commit 4dd2504bc7.
* Fixes for Wish implementation
---------
Co-authored-by: Flashfyre <flashfireex@gmail.com>
* Some Fixes
- HP ratio related checks (`getHpRatio`): Added rounding to 2 decimals for non-precise option.
- Hustle (`BattleStatMultiplierAbAttr`): added optional condition; Hustle now works only for physical attacks.
- Imposter (`PostSummonTransformAbAttr`): Switch in a double battle after both foes have been defeated no longer crashes the game.
- Sleep Talk (`RandomMovesetMoveAttr`): Single target moves no longer target allies.
* Formatting changes for consistency
---------
Co-authored-by: Flashfyre <flashfireex@gmail.com>
* Added missing menu translations
* Added missing translations to other languages
---------
Co-authored-by: Raphael van der Woude <raphael.van.der.woude@dias.nl>
Both abilities are still not fully functional yet (Battle Bond does not interact with Water Shuriken yet, Power Construct does not interact with 10% Power Construct Zygarde, and both forms do not revert after a battle yet), but this is a step to having them both completed.
Battle Bond Froakie line and Power Construct 50% Zygardes (as well as Aura Break 10% Zygardes) can now randomly appear in the wild.
Expect Battle Bond to potentially change to its Gen 9 version at some point in the future, rendering Ash-Greninja inaccessible.
...But not all evolution sweets. This way, you can get all the differently colored Alcremies without there being like ~60 different forms.
There currently is an unintended side-effect with Gigantamaxing, where the Alcremie flavor will always switch to Vanilla Cream when reverting to normal, but aside from that, it works fine.
These revisions spans across all generations with vastly different moves. Once again, if moves seem weird or too overpowered, please bring it up in the egg move discussion thread.
Adds 3 separate form changing items to switch between the various Deoxys forms.
All Rotom forms can now know their respective typed moved at the start (and can be relearned via Memory Mushroom if you already have one).
+ Modification of data layout
+ Adds "power" to visible data
+ No longer uses a "command_fight_labels" image, but directly text (allowing translation by the way)
+ Added i18n
+ Creation of "en" and "fr" locales for fight-ui-handler
- Reduction of "MANAGE_DATA" and "LOG_OUT" strings to avoid overflowing the window border
- Added missing space for "losingProgressionWarning".
- Inversion of words in "importSlotSelect" and "exportSlotSelect" strings + sentence completion to make it clearer
* Added the move category icon to the fight ui
* Added a way to see the pokemon stats in the Learn Move Phase
-Pressing Button.LEFT now shows the stats summary page
-Pressing Button.RIGHT goes back to move selection page
* Minor nitpicks
---------
Co-authored-by: Silvestre Emmanuel <silvestre.ramirez@wundertec.com>
Co-authored-by: Flashfyre <flashfireex@gmail.com>
* Minor text corrections to item descriptions.
* Update modifier-type.ts; minor text correction updates
* Update modifier-type.ts; further text re-corrections.
* Update modifier-type.ts; leftover re-corrections.
* Minor text corrections in modifier menu.
* Support localization of Pokemon abilities
* Reload ability localization when language is changed
* Add Spanish localization for abilities
* Add missing French abilities localization
* Add missing localize call on abilities
---------
Co-authored-by: Flashfyre <flashfireex@gmail.com>
There is now an alternate easier evolution method for Mantyke into Mantine, that being having Remoraid simply being registered as caught and be level 32.
* Minor text corrections to item descriptions.
* Update modifier-type.ts; minor text correction updates
* Update modifier-type.ts; further text re-corrections.