* fix: damage multiplier by the number of targets
* fix: used actual number value rather than the number holder
* test: added unit test for counting targets
* multi-target: fixed names of the unit tests.
* test: simple-test changes
* test: changed multi-target test code
* test: testing damage decreasement
* test: multi-target test fix
* resolved conflicts in test
---------
Co-authored-by: Tempoanon <163687446+Tempo-anon@users.noreply.github.com>
* ReceivedMoveDamageMultiplierAbAttr patch: WIP refactored damage calculation, reordered ReceivedMoveDamageMultiplierAbAttr to avoid issues with fixed damage and OHKO moves, stubbed unit tests for dragon rage (fixed damage) and fissure (OHKO)
* ReceivedMoveDamageMultiplierAbAttr patch: commented concerns regarding EnemyDamageBooster/ReducerModifier for others' reference in WIP branch
* ReceivedMoveDamageMultiplierAbAttr patch: reordered ReceivedMoveDamageMultiplierAbAttr and EnemyDamageBooster/ReducerModifier to not trigger for fixed damage and OHKO moves, completed relevant tests for dragon rage and fissure
* ReceivedMoveDamageMultiplierAbAttr patch: removed newline
* ReceivedMoveDamageMultiplierAbAttr patch: in the unit test, extracted hard-coded Dragon Rage damage to a variable
* ReceivedMoveDamageMultiplierAbAttr patch: naming consistency
* ReceivedMoveDamageMultiplierAbAttr patch: replaced awaiting DamagePhase with TurnEndPhase as the former assumes damage will be done
* ReceivedMoveDamageMultiplierAbAttr patch: removed redundant overrides in Fissure tests
* ReceivedMoveDamageMultiplierAbAttr patch: tests: refactored crit removal, removed berries, fixed bug associated with Porygon sometimes getting Trace and copying the opponent's ability, which would override the manual ability override
* Fixed unit tests
* Added a comment and cleaned up an existing one
* refactor power calc, fix battery & power spot
* fix hard press unit test
* fix hard press
* refactor tests
* use sypOn hp instead
* rename method
* cleanup tests
* improve tests
* use slow vs fast pokemon
* fix steely spirit test
* fix steely spirit for real this time
* remove unnecessary test
* address pr feedback
* add removed code
* Updated code to allow user to unlock all pokemon from the manage data menu option
* Added code to Utils to allow it to check for a beta env, and hid the unlock all code behind that. This should stop it from being accessed in prod envs
* Updated another section to be locked behind beta check, and also updated the everything.prsv to have everything unlocked going forward
* Fixed some code reviews
* Create default overrides class and export that with custom overrides
* add comment to mock import and replace typecast with type narrowing
* change modifier override type to pick keys from modifierTypes
* initial rewrite of applyAbAttrsInternal
* clean up applyAbAttrsInternal
* remove the await because it wraps non Promises in a promise
* add TODO comment about promises
* fix broken costar test, hopefully
* show targets for move targeting multiple pokemon
* dont allow selecting target if multiple
* fix targeting
* cleanup
* more cleanup
* only highlight targets is move is not status
* fix tests failing
* fix tests
* change "immediately" to "auto"
* nevermind just remove auto
* remove status move condition
* mock default overrides in test setup
* change beforeEach to beforeALl
* move some more enums into the enums directory
* replace modules that import i18n into overrides with modules that don't
* add pre tests and update vitest configs, scripts
* replace tabs with spaces
* fix vitest server port overlap warning
* add missing overrides and clean up workspace config
* change test name
* include spec files in main test suite
* Removes firstHitOnly from AddArenaTagAttr to allow multi hit set up with ceaseless edge
* Creates initial test file with basic cases for ceaseless edge
* Fixes ceaseless edge unit test and expands on case 3
* Adds truthy/falsy expectations prior to use
* 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>
* Add red color to the quantity if the item is at it's held limit
* Add shadow back to option text
* Attempt to fix transfer item crash and add tests for transferring items
* remove .js file extensions from test file imports
* Fix import paths for transfer-item.test
* add test coverage for battle-stat.getBattleStatName()
* add test coverage for battle-stat
* apply mockI18next() to status-effect.test.ts
* add testUtils jsdocs and optimize imports
* add unit tests for accounts
* only import from vitest (not node:test)
* resolve comments
* improve test coverage for accounts.updateUserInfo
* add test coverage for account.initLoggedInUser()
* code style improvements
* 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