* [Help] [Move/Bug] Patches Psychic Terrain applicability edge cases
Was cancelling moves even if targeted mons weren't on the terrain.
* [Bug `]Pokemon.isGrounded` does not exist
Replaced with `Pokemon.isGrounded()`, which does.
* [Bug] Psychic Terrain priority move cancel ignoring ungrounded
* [Bug] Semi-invulnerable should not be grounded
* Stop trainer spawns on evil team and E4 floors
* Thanks Xavion
* change "floors" to "wave" in coment
* at test for not spawning 3 waves within fixed trainer battle
* remove out-commented code
* apply code formatting
* Updated test and make sure isWaveTrainer returns a boolean
* Update comment
---------
Co-authored-by: Felix Staud <felix.staud@headwire.com>
* Parental Bond basic implementation
* Parental Bond unit tests
* ESLint
* PBond AbAttr rework, documentation, and multi-target unit tests
* Update post-target move attribute logic
For Parental Bond interaction.
* AddSecondStrikeAbAttr now uses Constructor util
* Unit tests for PBond + Multi-Lens interaction
* Remove random damage spread in unit test
* Add null checks to PBond AbAttr
* Set player pokemon for unit test
* Fixed Post Target check to account for KO's
* Fix multi-strike moves applying effects at wrong times
* Test cases for updated effect timing
* Add Wake-Up Slap test case
* Fix Fury Cutter/Echoed Voice multi-hit interaction
* Fix Pay Day, Relic Song, and Fury Cutter (again)
* Add early stopping to multi-hit moves
* RecoilAttr now uses lastHitOnly
* Add faint check to last hit logic
* Dry skin and ReceivedMoveDamageMultiplierAbAttr bug fix: first cut
* Dry skin and ReceivedMoveDamageMultiplierAbAttr bug fix: removed redundant branch
* Dry skin and ReceivedMoveDamageMultiplierAbAttr bug fix: reworded test cases that had typos anyway
* Dry skin and ReceivedMoveDamageMultiplierAbAttr bug fix: renamed PreDefendMovePowerToOneAbAttr (Disguise) to mention damage rather than power
* Dry skin and ReceivedMoveDamageMultiplierAbAttr bug fix: renamed powerMultiplier to damageMultiplier in ReceivedMoveDamageMultiplierAbAttr
* Add Eviolite with Unit Tests
* Localize for de, es, fr, it, ko, zh_CN, zh_TW
* Adjust German Localization
Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
* Adjust Italian Localization
* Change Multiplier Type
* Adjust Unit Test Import
* Change Constructor
* Make Unit Tests Localized
* Comment Out of Reward Pool
---------
Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
* Partially implemented Magnet Rise
* Implemented Magnet Rise
* Changed pokemon.ts so all TypeImmune tags work instead of just
MagnetRisen
* Magnet Risen is now removed when Gravity is used.
* Magnet Rise is ignored by Thousand Arrows
and Smack Down.
* Fixed a bug where status ground type moves
would also be ignored by Magnet Rise
* Added a message when Magnet Rise is removed
* Inserted TypeImmuneTag check in
getAttackMoveEffectiveness() for the AI
* Created a magnetRiseCondition separately
* Created a test for Magnet Rise
* Bug Fix in Magnet Rise test
* Created Magnet Rise test with Gravity
* Shifted the code from getAttackMoveEffectiveness
and apply into getAttackTypeEffectiveness instead
* Replaced onNextPrompt with doAttack
* Removed redundant runFrom(Phase)
* Replaced magnetRiseCondition with
battlerTags.every anonymous function
* Fixed import errors
* Added an undefined check for summonData
for TypeImmuneTag in getAttackTypeEffectiveness
* Replaced undefined-check with optional chaining
* Add generic to util holders to reduce manual type casting
* implement protean and libero abilities
* remove use only once per turn trigger
* Revert Attack Attribute Conditions back to requiring unused vars
* Remove conditional before invoking type change ability
* update protean to properly trigger and skip certain moves
* remove some dangerous typecasts
* revert autoformatting changes
* not all autoformatting changes were reverted
* Revert "Add generic to util holders to reduce manual type casting"
This reverts commit 3ee7f1d5ff.
* change some variable names
* remove incorrect comment
* update abilities so they use gen 9 logic
* fix typescript error from missing Terrain type
* update gameManager switchPokemon to match other menu utilities
* add test cases for protean and libero
* replace forceBypass with bypassFaint flag
* add another path alias for src/test
* make form override work for the whole party instead of the first pokemon
* add tests for all abilities that are touched by this change
* remove unnecessary overrides from tests
* move SpeciesFormChangeTimeOfDayTrigger outside arena reset logic
* remove alll resetMock calls, rename it to test
* Move events to a central directory
* Update modifier import
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
* remove old battle-scene-events
* Move to field events
* Update battle-scene.ts
---------
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
Co-authored-by: Benjamin Odom <bennybroseph@gmail.com>