* 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