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.
• The volume of Pikachu's cry has been lowered by 10 dB.
• Tarountula's starter value has been lowered to 1.
• Altered Whitney and Chuck's signature Pokémon (swapped Whitney's Clefairy for Girafarig, and gave Chuck Mankey).
• The alternate forms in Flabébé's evolution line can now be encountered.
* Implement Rivalry
* Implement Quick Feet, Liquid Voice, and Normalize
* Forgot paralysis is half speed instead of a quarter
* Remove log statements
* Fix minor edge case in rivalry for gendered vs genderless
* Add Maylene
* Edited Electro Shot to raise stat before attacking
Should be a fix to issue #85
* Updated ElectroShotChargeAttr
Moved the Sp Atk boost to be inside the ElectroShotChargeAttr function
* Updated ElectroShotChargeAttr to raise SPATK before the move fires
* Updated ElectroShotChargeAttr with comments on process
* Updated formatting
* Implement Rivalry
* Implement Quick Feet, Liquid Voice, and Normalize
* Forgot paralysis is half speed instead of a quarter
* Remove log statements
* Fix minor edge case in rivalry for gendered vs genderless
* Add wind abilities and charge
* Implement Charge and more abilities
* Add i18n support and Beedrill fury cutter
* Fix merge conflict in taunt
* More English strings removed
* Implemented barrier-breaking moves
* removed (P) from move names
* refactored to support defog
* Implements Burn Up & Double Shock
* Removed code irrelevant to current PR
* i18n for moves
* Remove extra comma from merge
* Fixed some missing moves description
* Infer move i18n keys
---------
Co-authored-by: Samuel H <flashfireex@gmail.com>
* Implements present, adds an override in the dmg calc to make 0 power moves do 0 dmg
* present doesn't make contact
* removes console log
* only === 0
* whirlwind should hit pokemon charging fly
* Thunder should hit flying
* magnitude and fissure should hit dig
* Add battle tag for underwater (dive), allow surf/whirlpool to hit diving
* reorder underwater in enums to match battler-tags order
* hurricane and thousand arrows should hit fly
Shields Down is only partially implemented; the form changing aspect is implemented, but the immunity to statuses is not yet.
Minior's alternate colored forms can now be encountered in the wild.
Rotom's appliance forms should *finally* appear in the wild correctly now.
And a minor fix for Zen Mode activating incorrectly.
Since Competitive is just Defiant but for SPATK, the code for Defiant was reused with the buff changed to special attack. This should mean the ability works the exact same way as Defiant for it's respective stat.
* Implement Rivalry
* Implement Quick Feet, Liquid Voice, and Normalize
* Forgot paralysis is half speed instead of a quarter
* Remove log statements
* Fix minor edge case in rivalry for gendered vs genderless
Removes its powerful coverage options in exchange for losing Slow Start, still gets walled by anything that resists/ignores Normal type moves but is no longer useless for 5 turns