* Add destroy function to ui handlers
* Implement destroy() for StarterSelectUiHandler
* Update battlescene to free memory when resetting
* Document destroy for starter select
---------
Co-authored-by: damocleas <damocleas25@gmail.com>
* Combine moveset from allies and uses it to get a move
* Clearer implementation of combining user and teammates' moves
* Refactor assist and sleep talk to use metronome's attribute for calling a move
* Refactor move filtering in RandomMovesetMoveAttr, creates arrays with invalid moves for assist/sleep talk
* Refactor RandomMoveAttr to set moveId in condition, places reused code in callMove in RandomMoveAttr
* Correct invalid move lists, adds Max/Z moves to metronome's list
* Remove ignoresVirtual from beta merge
* Remove Max/Z moves per frutescens' comment
* Fix bug with metronome/copycat/assist/sleep talk targeting ally
* Experimental async/await to be tested
* Refactor other attributes to extend CallMoveAttr
* Replace QueuedMove with TurnMove, refactor to attempt two-turn move fix for metronome
* Fix Swallow test due to TurnMove refactor
* Further fixes for TurnMove refactor
* Fix metronome two turn moves for enemy pokemon
* Replace nested ternary with if-else block per DayKev's comment
* Minor fixes
* Adjust command phase args handling
* Create metronome test, refactor RandomMoveAttr for easier testing
* Add unit test for recharge moves
* Refactor Copycat and Mirror Move, adjust move targeting
* Add unit test for ally targeting with Aromatic Mist
* Add tests for secondary effects and recharge moves for metronome
* Add test for Roar, remove test for Acupressure
* Create test for Assist
* Add test for assist failing
* Add sleep talk unit test coverage
* Adjust move-phase to better track last move for copycat, write and update unit tests for assist/copycat
* Create moveHistory in Battle to track all moves used, adjust mirror move to use this, writes unit tests
* Correct mirror move implementation, rewrite unit test to adjust
* Add docs to attrs, update assist to only grab allies sets
* Update assist unit test to match expected functionality
* Update metronome unit test to use getMoveOverride
* Update copycat unit test to use metronome getMoveOverride mock
* Fix phase interception
* Add docs from missed conversations
* Update assist tests to use manual moveset overrides
Minor fixes to other tests
* Remove `export` from `CallMoveAttr`
* Add missing `.unimplemented()` to some Max- and Z-Moves
---------
Co-authored-by: Tempoanon <163687446+Tempo-anon@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* [Balance] Allow Island and Laboratory in Generate Random Biome
* [Bug] Fix off by one error in Generate Random Biome
* [Balance] Daily Mode now has its own Generate Random Starting Biome
* [Misc] Filtering out Town and End specifically instead of assuming enum value stays consistent forever
---------
Co-authored-by: Jimmybald1 <147992650+IBBCalc@users.noreply.github.com>
* Replace various `scene` pass-arounds with global scene variable
* Modify tests
* Add scene back to `fade[in|out]()` calls
Co-authored-by: Moka <54149968+MokaStitcher@users.noreply.github.com>
* Fix Bug Superfan ME test
Co-authored-by: Moka <54149968+MokaStitcher@users.noreply.github.com>
* Re-enable fixed test
Co-authored-by: Moka <54149968+MokaStitcher@users.noreply.github.com>
* Rename `gScene` to `globalScene`
* Move `globalScene` to its own file to fix import/async issues
* Fix `SelectModifierPhase` tests
* Fix ME tests by removing `scene` from `expect()`s
* Resolve merge issues
* Remove tsdocs referencing `scene` params
Remove missed instances of `.scene`
* Remove unnecessary `globalScene` usage in `loading-scene.ts`
* Fix merge conflicts
* Attempt to fix circular import issue
* Found the source of the import issue
* Fix merge issues
---------
Co-authored-by: Moka <54149968+MokaStitcher@users.noreply.github.com>
* Fixed defog not removing the target's Safeguard and Mist
* Made requested changes and added unit test
* Remove stray newline
---------
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Adding a new key determining whether the command cursor resets at the beginning of each new battle.
* Allowing user to toggle commandCursorReset on and off.
* Changing option name to commandCursorMemory
* Fixed caps in settings.ts
* Moved Command_Cursor_Memory from Display settings to General settings
* Change gyms accessible before wave 30
* Prevent wave 20 gym leader from evolving
* Check game mode for wave 20 trainer evo ban
* Add Whitney Girafarig Crasher Wake Magikarp
* beginning immplementation of lunar dance
* adding tests
* changing in game message and making full hp message not display
* Reuse Healing Wish's move attr, update test
---------
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* [Move][Beta] Powder edge cases
* Fix Heavy Rain check to account for weather suppression
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* "{Pokemon} used {Fire-type move}!" now displays before Powder activation
Co-authored-by: innerthunder <168692175+innerthunder@users.noreply.github.com>
* Make `showMoveText()` and `showFailedText()` public for now
---------
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: innerthunder <168692175+innerthunder@users.noreply.github.com>
* Powder basic implementation
* Add Powder integration tests
* Fix thaw test
* Use new test utils and type check function
* More edge case tests
* Make Powder (P)
* Add locale keys
* Add placeholder common anim
* Use CommonAnimPhase instead of async animation
* Add comments with new English text
* Make Powder `edgeCase` instead
* ESLint
* Fix imports
* Add `moveName` key arg for other languages
* ESLint
* Update locales
* Fix pages issues
* Update Powder explosion animation
* Update common-powder.json
* Update src/test/moves/powder.test.ts
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Remove lingering TIMEOUTs
* More test cleanup
---------
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* new function
* weak attempt of documentation
* mysterious chest handled...? maybe.
* override comments
* one more instruction
* fixing up the logging lol
* lah
* fixing it up
* coommrent
* lalal
* run info fixes
* Addressed PigeonBar's comments
* Centered run info text + fixed trainer sprites.
* Fixed function name.
* Update tsdoc in `overrides.ts`
Co-authored-by: Moka <54149968+MokaStitcher@users.noreply.github.com>
* Fix tsdoc comment
* sligthly rewrite centering of biome and wave text in run info
---------
Co-authored-by: frutescens <info@laptop>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: Moka <54149968+MokaStitcher@users.noreply.github.com>
Co-authored-by: Moka <millennium.stitcher@gmail.com>
* Added checks for Sheer Force interactions currently in the code.
* Test for Relic Song interaction
* Test for Shell Bell interaction
* Created new Modifier class MoveEffectModifier
* Applied new modifier class.
* Revert "Applied new modifier class."
This reverts commit 222bc8d428.
* Revert "Created new Modifier class MoveEffectModifier"
This reverts commit 0e57ed03ff.
* Added checks for Shell Bell, Scope Lens, Wide Lens, Leek, and Golden Punch
* Fixing function calls.
* Fixed getSecondaryChanceMultiplier to just look at sheer force.
* Rewrote old Sheer Force tests in accordance to current testing standards.
* Resetting modifiers.ts
* Update src/data/pokemon-forms.ts
Co-authored-by: innerthunder <168692175+innerthunder@users.noreply.github.com>
* Moved getSecondaryChanceMultiplier to FlinchChanceModifier and revised Serene Grace tests
* Adding an additional override to prevent test failures.
* Removed Serene Grace factor from modifier.
* Added forgotten conditional.
* Added comment
---------
Co-authored-by: frutescens <info@laptop>
Co-authored-by: innerthunder <168692175+innerthunder@users.noreply.github.com>