* 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
* 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
* Added a new BattlerTagType and support for Laser Focus
BattlerTagType.ALWAYS_CRIT
* Updated battler-tags to support ALWAYS_CRIT
* Added ALWAYS_CRIT = "ALWAYS_CRIT", for the updated battler-tag-type
* Updated the crit formula to include the new critAlways
* Updated crit logic to include critAlways, fixed indents
* Updated ForceSwitchOutAttr
Should fix issue #83
* Removed the additional indents
* Updated the import and fixed the ForceSwitchOutAttr coding errors
* Removed the rest of the indents
* Updated formatting
* Snow Cloak Hail Condition Fix
Snow Cloak's evasion wasn't actually checking for hail, so the condition has been added.
* Snow Cloak
getWeatherCondition is not meant to have a capital.
* Implement Shed Skin (and Hydration!)
Implemented Shed Skin, with a 1/3 chance to remove a non-volatile status condition if inflicted with it at the end of each turn. While doing this I noticed Hydration is the same effect but in Rain/Heavy Rain, so I implemented that too.
* Update to ability.ts based on changes.
Formatting errors should be largely fixed, and we've switched from Math.rand to Utils.
* Update src/data/ability.ts
---------
Co-authored-by: Samuel H <flashfireex@gmail.com>
Rapid Spin now removes the tags for trapping moves and seeds rather than having them lapse. Re-added the (P) to the move since clearing arena hazards hasn't been implemented yet.
This adds Cut, Strength, Flash, Rock Smash, Rock Climb, and Defog as new potential TMs.
Also adds Spiky-eared Pichu into the game for implementation at a later time.
Changed Counterdamage attribute to include a multiplier for metal burst and comeuppance. Changed logic for Comeuppance that caused it to always fail, no matter if a physical or special move hit it. Implemented Metal Burst.
This was affecting its ability to appear as forms in the wild and should now be fixed. Nymble's initial value change was an overcorrection and has been lowered from 4 to 3.
* Fix checking the wrong Pokemon for statuses when determining if abilities such as Static should activate.
* Implement Rough Skin
* Implement Iron Barbs and make Rough Skin code reusable for other abilities
* Remove unused import
* Changes for consistency
* Add missing ceiling function to damage
---------
Co-authored-by: Flashfyre <flashfireex@gmail.com>
* Recharge checked earlier, Move Tags not checked if move cancelled
Recharge is now checked at the start of doMove to determine if other Tags need to be checked or if the pokemon is recharging. If the move is already cancelled, Move lapse tags are no longer checked (To account for Sleep/Paralyze happening before hand, so confusion would never trigger)
* PRE_MOVE Lapse added for Recharge, Recharge now cancels
Added a PRE_MOVE Identifier for Recharge specifically, which now cancels the move and shifts the move queue (since this will no longer occur in doMove. This prevents Confusion/Infatuation from also being triggered after a Pokemon is recharging.
* Changed spacing
* Added Flinch to PRE_MOVE Lapse
Added Flinch to PRE_MOVE Lapse tag like recharge so that confusion and infatuation aren't checked if the mon is already flinched
* Recharge checked earlier, Move Tags not checked if move cancelled
Recharge is now checked at the start of doMove to determine if other Tags need to be checked or if the pokemon is recharging. If the move is already cancelled, Move lapse tags are no longer checked (To account for Sleep/Paralyze happening before hand, so confusion would never trigger)
* PRE_MOVE Lapse added for Recharge, Recharge now cancels
Added a PRE_MOVE Identifier for Recharge specifically, which now cancels the move and shifts the move queue (since this will no longer occur in doMove. This prevents Confusion/Infatuation from also being triggered after a Pokemon is recharging.
* Changed spacing