* Allow Meloetta's starting form to be selected
* Meloetta won't change forms during a monotype challenge
Also removes reversion to Aria form when arena resets
* double checking tests on a new made branch for bug 3984
* roost test update
* added roost test file
* Roost test update
* removed random stackdump
* cleaned up message for roost
* fixed test file for linter
* cleaning up code and fixing some desync test issues
* Cleaned up more code and added case for double shock
* fixing some messages and putting burn up and double shock in same class
---------
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Resolves bugs with freezy frost vs ally, and freezy frost fainting opp
* Adjusts unit tests, adds one more for doubles
* Refactor apply function to follow the async/await pattern
* Eslint fix attempt
* Update freezy_frost.test.ts
Remove js file extension
* Obstruct et al no longer protect against status moves
* Remove `.js` from import
Co-authored-by: ImperialSympathizer <110984302+ben-lear@users.noreply.github.com>
* Add tsdocs for new/modified classes
* List relevant moves in tsdocs
---------
Co-authored-by: ImperialSympathizer <110984302+ben-lear@users.noreply.github.com>
* Complete after you implementation (no localization)
* reset override changes
* Remove hardcoded English text, add tests
* Fix test
* Make sure phases occur in the correct order
* fix after-you issues
- fix i18n interpolation ot state "target name" and not "pokemon name" as the target takes the offer, not the user
- fix some tsdocs
- add override to apply
- update scene.findPhase to be able to use generic types. Add tsdocs
* add move-trigger.afterYou for DE
* fix after_you.test.ts
---------
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
* Add ability and passive tooltips to starter select screen
* Remove explicit casts to BattleScene
* Increase tooltip size, reverse y when necessary, and always show passive tooltip
* Add ability name to tooltip title and persist tooltips between Pokemon
* Use vi function mocks
* Fixed Delta Stream remaining active when last mon dies to indirect damage
* Rebasing changes
* Linting fix
* Combined if statements
* Changed params to optional
* Added unit test
* Apply suggestions from code review
* Fix test and remove `.js` from import
---------
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Make `OPP_MOVESET_OVERRIDE` fully override the enemy's moveset
* Update tests with new override behavior
* Fix tests
* Fix another test
* Move overrides no longer required to be arrays
* Remove `SPLASH_ONLY` test utility variable
* Update moveset override helper functions
* Missed some tests
* Learn Move Phase rewrite
* Typedocs
* messages with confirm do not need an extra button press no more
* Added Documentation
* This does not work
* so sad
* Some updates
* Eslint issues + clean up
* Additions to handle learning during evolution + test fixes
* some more checks
* Update src/overrides.ts
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Update src/test/phases/learn-move-phase.test.ts
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Added new function and updated tests
* Fixed bracketing and added parameter types
* Added Sketch to the conditional
* Added some fixes. Weird stuff going on.
* Whoops
* async implementation done
* Update src/phases/learn-move-phase.ts
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Apply suggestions from code review
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Made showText=> summary a promise
* adapt learn-move-phase to `async-await`
* await add
---------
Co-authored-by: frutescens <info@laptop>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
* fix#762 by using slotIndex to add to party
for now the new pokemon was ALWAYS just pushed to the party array. Now it's put into the slot that was also previously selected as the mon to release
* add docs for `Pokemon.addToParty()`
* add simple tests for addToParty
* update `isBetween` docs. Remove `.js` imports
- remove any `.js` extension imports
- remove unncessary dynamic imports of `modifier.ts` file. The file was being imported statically & dynamically. Made it pure static
- increase vite chunk-size warning limit
Co-authored-by: Mumble <171087428+frutescens@users.noreply.github.com>
* Refactor Lapsing Modifiers, Lerp Hue of Count
* Fix Unit Tests
* Add Documentation to `hslToHex` Function
* Change Descriptions for New Behavior
* Add Documentation to Lapsing Modifiers
* Add Unit Tests for Lures
* Update Unit Tests for X Items and Lures
* Update Boilerplate Error Message
* Update Boilerplate Docs
* fix username-finder issues & refactor `login-form-ui-handler`
- reduce redundancy
- add hover effect for interactable game objects
- add error handler for "No save files found!"
- Make user finder errors support i18n
* add `disableInteractive` to mockContainer
* Fix off-by-one error in some random number calls
* Fix mock RNG function used by tests
Also remove unnecessary extra RNG mock from Glaive Rush test
* Just some github UI manipulation don't mind me
* Update Glaive Rush test
* Remove unnecessary `Math.floor()`
* Remove resolved comment
* Add tsdocs to various functions
* Remove `src/rng.md` file
* Update tsdoc
* Use BattlerTag for move-disabling effects
* Fix RUN command causing freeze
* Improve documentation
* Clean up and document PokemonMove.isUsable
* Fix isMoveDisabled missing return
* Tags define the message shown when disabling interrupts a move
* Fix -1 duration on Disable effect
* Add tests for Disable
* En loc and fix message functions
* Fix Disable test
* Fix broken imports
* Fix test
* All disable tests passing
* Localize remaining strings
* Move cancellation logic out of lapse; use use TURN_END for lapse type
* Prevent disabling STRUGGLE
* Inline struggle check function
* Restore RechargingTag docs
* Move cancellation logic back to tag
Wanted to increase similarity to the existing code base to avoid that stupid hyper beam error but it's still happening here
* Fix hyper beam test
* Remove erroneous shit
* Fill movesets with SPLASH for disable test
* More robust condition for disable checking
* Remove DisabledTag lapse
* Simplify DisablingBattlerTag lapse
* Cancel disable-interrupted moves instead of failing them
* Avoid disabling virtual moves
* Consistent access modifiers across Disable tags
* Add abstract function for message when player tries to select the disabled move
* Fix syntax mistake
* Always disable last-used non-virtual move
* Overhaul tests + add tests
* Implement loadTag for DisabledTag
* Update translations
* Update translations
* Reimplement phase changes
* fix battlertag strings
* Fix disable test not running
* Update name of base class
* Rename "disabling" to "restriction"
* Fix sneaky string fuckup
* Fix test failure
* fix merge problems
* fix merge problems
* Update tests
* rerun RNG test
* Properly mock stats in test
* Document everything in battlertag
* More docs + typo fix
* Update tests
---------
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Fix inconsistencies with ability triggers on variable-type moves
* Fix aura effects not accounting for the move user
* Fix Wonder Guard evaluating move type as if the defender used the move
* Some additional test coverage for move-type-changing effects
* Add `isTransferrable` property to `BattlerTag`s
* Update Baton Pass to check `isTransferrable` for `BattlerTag`s
* Don't mark Salt Cure as transferrable
* Add Destiny Bond, remove `GroundedTag` and `ExposedTag`
* Fix daily mode test
* Add test
* Rename `isTransferrable` to `isBatonPassable`
* [Bug] Fix reloads causing RNG inconsistencies
* Minor revisions
* Allow reload helper to directly access getSessionSaveData()
* Changed Moody and Acupressure to use seeded RNG
* Fix broken unit test
* [Bug] Fix eggs having exploitable RNG
* Fix Wind Rider test having random chance to fail
* Revert egg's ID back to its own unseeded generation
* Remove change from wind rider test
---------
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: Mumble <171087428+frutescens@users.noreply.github.com>
* Create Getters, Setters, and Types
* Work on `pokemon.ts`
* Adjust Types, Refactor `White Herb` Modifier
* Migrate `TempBattleStat` Usage
* Refactor `PokemonBaseStatModifier` Slightly
* Remove `BattleStat`, Use "Stat Stages" & New Names
* Address Phase `integers`
* Finalize `BattleStat` Removal
* Address Minor Manual NITs
* Apply Own Review Suggestions
* Fix Syntax Error
* Add Docs
* Overhaul X Items
* Implement Guard and Power Split with Unit Tests
* Add Several Unit Tests and Fixes
* Implement Speed Swap with Unit Tests
* Fix Keys in Summary Menu
* Fix Starf Berry Raising EVA and ACC
* Fix Contrary & Simple, Verify with Unit Tests
* Implement Power & Guard Swap with Unit Tests
* Add Move Effect Message to Speed Swap
* Add Move Effect Message to Power & Guard Split
* Add Localization Entries
* Adjust Last X Item Unit Test
* Overhaul X Items Unit Tests
* Finish Missing Docs
* Revamp Crit-Based Unit Tests & Dire Hit
* Address Initial NITs
* Apply NIT Batch
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
* Fix Moody Test
* Address Multiple Messages for `ProtectStatAbAttr`
* Change `ignoreOverride` to `bypassSummonData`
* Adjust Italian Localization
Co-authored-by: Niccolò <123510358+NicusPulcis@users.noreply.github.com>
* Fix Moody
---------
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
Co-authored-by: Niccolò <123510358+NicusPulcis@users.noreply.github.com>