* Fixed up arena tags `apply` with type safety; removed unused parameters from tags
* Enforced member visibility on a few methods
* Made arena tag layers readonly; cleaned up callsites
* Added tests for stone axe
* Fixed mat block + removed unused file
* Fixed up the tests for locale messages + fixed lucky chant
* Reverted change to light screen DR%
* Fixed tests to not check neutralizing gas msgs
* Fixed inverted conditional in test file
* Update doc comments for type-helpers.ts
* Added util to make `it.each` test cases from a bunch of enums
* Fixed up tsdocs
* Fixed type error + removed broken util
* Fixed TR signature
* FIxed type errors caused by pending heal tags
* Remove `undefined` from `onOverlap`'s signature
* allow sourceless arena tags once again
---------
Co-authored-by: Lugiad <adrien.grivel@hotmail.fr>
Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Add failure conditions and move failures part 1
* Add second and third failure sequences
* Refactor mostly complete, need to recheck tests
* Adjust status checks to respect ignoreStatus useModes
* Adjust restriction for stuff cheeks
* Address bertie's review comments
* Add counterRedirectAttr to other counter-like moves
* Adjust some documentation for new methods
* Make substitute use the move tag
* Adjust counter attr to use array.find
* Adjust move condition check that occurs in the third failure check sequence
* Insert move failure check sequence part 4 into move phase
* Revert type adjustment to getBattlerIndex
* Make charging moves deduct pp on use instead of on release
* Fix first move condition not using 1 based starting wave
* Tweak charge move handling and protean timing
* Adjust fly tests to expect pp reduction properly
* Add missing attribute to counter
* Adjust revival blessing hardcore test to respect new return value of isUsable
* Adjust copycat test to account for how it actually works
* Play sleep animation and message
* Remove BYPASS_SLEEP battler tag in favor of boolean holder
* Finish unfinished docs
* Ensure move restrictions are only checked for players
* Adjust pollen puff condition, fix docs on `isOpponent`
* Fix failAgainstFinalBossCondition
* Fix dig test
* Adjust dive's test
* Fix missing break in applyConditions
* Fix getBattlerIndex for enemyPokemon
* Adjust type hint test to not rely on teleport
* Minor adjustments from code review
Co-authored-by: Bertie690 <136088738+Bertie690@users.noreply.github.com>
* Add tests for teleport
* Minor adjustments from code review
Co-authored-by: Bertie690 <136088738+Bertie690@users.noreply.github.com>
* PR review changes
Fix type hints test name
Update Dig/Dive test name
Separate TSDoc imports in `pokemon-utils.ts`
Add missing `@returns` in `move-phase.ts`
Fix comment typos
Separate TSDoc imports in `move-phase.ts`
Add return hints to `trySelectMove`
Minor formatting
Remove duplicate `.affectedByGravity()` on Telekinesis
Fix docs for `checkRestrictions`
Manually format method definition
Fix comment spacing
Fix variable naming
* Address kev's review comments
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Minor adjustments from code review
Co-authored-by: Bertie690 <136088738+Bertie690@users.noreply.github.com>
* Remove optional chaining
* fix: type for InferKeys
* chore: apply biome
* chore: fix merge conflicts from Biome update
* Remove latent isNullOrUndefined
* Drop readonly on timingModifier
* docs: Add class comment
* Address comments from code review
* Drop readonly from timingModifier
* Cleanup proc chance computation
* Move `cureStatus` into the Pokemon class
* Final touchups
---------
Co-authored-by: Bertie690 <136088738+Bertie690@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Implement supreme overlord as a battler tag
* Make ability a conditionalattr
* Add tag to map
* Update test
Co-authored-by: Bertie690 <136088738+Bertie690@users.noreply.github.com>
* Add edgeCase marker
* Extend from AbilityBattlerTag
* Run biome
---------
Co-authored-by: Bertie690 <136088738+Bertie690@users.noreply.github.com>
* Added more biome rules
* Fixes
* Added a few more rules
* Added global phaser to biome
* Fix tpyo
* Updated biome to 2.1.4; improved docs on linting/localization; added vcs support
Also added `.build` to gitignore cuz reasons
* Fixed tpyo
* dd
* Applied linter fixes
* Partially fixed some private property issues
* Upgraded to Biome 2.2.0; added `operatorLinebreak` and a few new rules
* Moved operator linebreaks before lines
* Applied kev's suggestions
* Update biome.jsonc
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* added like all the rules and then some
* modify biome.jsonc
* apply biome formatting
* Reverted changes to balance folder
* fixed stuff
* Fixed biome stripping trailing globstars from everything
* made `noInvertedElse` an error rule
* Add & apply fixes for `useExplicitLengthCheck`, `useAtIndex` and `noNonNullAssertedOptionalChain`
* Bumped biome to 2.2.3
* Fixed a few syntax errors
* Removed trailing globstars since biome actually fixed their shit
* Final clean up
* foobarbaz
* Fixed remaining issues
* Fixed a few errors in SSUI
* fixed rounding issue
* Fixed test to not round funky
* Fixed biome false positive for vitest hooks
* Apply biome:all
---------
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
* Added mock console and fixed up many many things
* Cleaned up handling of colors and such
* Added minor comment
* Fix Focus Punch test
* Fix typo
* Remove redundant comment
* Update vitest.setup.ts
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Added color map inside new folder
* Made constants not object bc i was told to
* Update src/constants/colors.ts
* Removed all moves init check
* Removed import
* Fixed up some stuff + added aquamarine color to settings helper
* Added logging for test end
* Removed intentionally failing test
* Fixed console log to use inheritance to not override vitest's wrapping
* Added a custom Vitest reporter to not log the test name every 2 lines
* Moved coloration to a hook to prevent misplacing things
* Fixed import issue by copypasting vitest soure
* Removed intentionally failing test
look i need to check that `test:silent` works on github ok
* Added REUSE annotations to copied parts of source
* Fixed import issue
---------
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Reworked status code, fixed bugs and added Rest tests
* Fixed rest bug
* Fixed bugs, split up status code, re-added required Rest parameter
* Cleaned up comments and such
* Added edge case to rest about locales
* Maybe did stuff
* Split up `trySetStatus` fully; fixed rest turn order display to match mainline
* Reverted healing changes to move to other PR
* Fixed message code a bit
* Condensed all status immunity tests under 1 roof
* Fixed the tests
* Added pollen puff tests back again
* Fixed swallow test
* Reverted swallow test
fixing in other prs
* Fixed pollen puff
* Fixed cirrc dep isuse
* fixed stockpile to no longer fail on stack full
* Fixed rest thing...?
* readded swallow conds
* Fixed tests
* wip
* Fixed tests
* Added pokemon heal phase to the turn queue
* ddddd
* Fixed the tests
* Fixed corrosion test
* Ran linting
* Fixed infiltrator bug
* Fix pokemon.ts
* Update move.ts
* Update corrosion.test.ts
* Update pokemon.ts documentation
* Remove missed line in TSDocs
* Update pokemon.ts
Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
* Update modifier.ts
Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
* Update modifier.ts
Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
* Update obtain-status-effect-phase.ts
* Fix merge issues and apply Biome
* Revert pokemon-heal-phase.ts
* ddddd
* Fixed test file syntax err
* Update toxic spikes status set text to be quiet
* ran biome
* ran boime
* Prevent rest failure message from displaying outside of move phase
---------
Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Removed deprecated functions from phase interceptor
* Added minor docs to the phase manager + renamed `shift` to `shiftPhase`
* Added `selectStarterPhase` to the end by set mode collection
* Fixed issues and syntax errors
* somehow fixed reload bug by making things actively worse
* Perhaps fixed things?
* maybe fixed?
* Fixed tests
* fixed another dumb error bc me big dumb bozo
* dddddd
* Update phase-interceptor.ts
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Re-add `!` and add `TODO` comment instead
---------
Co-authored-by: Wlowscha <54003515+Wlowscha@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
* Removed bangs from `getEnemyParty` and `getPlayerParty`
* Replaced instances of consecutive `game.scene.getPlayerParty` with destructuring
* More array destructuring!!!
* Replaced `game.scene.getXXXParty()[0]` with `game.field.getEnemyPokemon`
* Deleted duplicate sturdy test case
* Fiexd syntax errors
* Fixed remaining issues; removed direct assignment to `Pokemon.moveset`
* Fixed remaining error
* Added arena trap tests and such
* hopefullt fixed tests
* Marked test as todo since me smol brain
---------
Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
https://github.com/pagefaultgames/pokerogue/pull/6178
* Replaced all instances of `game.scene.getXXXPokemon()!`
inside tests with `game.field.getXXXPokemon()`
* Fixed tests
* Fixed oblivious test
* Fix Grudge test
* Standardize filenames to kebab-case
Co-authored-by: pymilkmaiden <cassiopeiamahler56@gmail.com>
* Move script outside of public folder
* Move update_exp_sprites to scripts
* Add ls-lint to lint file and directory names
* Update lefthook.yml to skip merge / rebase on all pre-commit commands
---------
Co-authored-by: pymilkmaiden <cassiopeiamahler56@gmail.com>
* [Test] Removed unnecessary calls to `PhaseInterceptor.to("CommandPhase")`
* minor cleanup to final_boss.test.ts
* Made run to final boss encounter actually go to command phase
* fix final_boss.test.ts select bug
* actually fixed test fr this time
* Fix magnet_rise.test.ts
* Fixed test
* Update test/moves/stockpile.test.ts
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Update stockpile.test.ts
---------
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Fixed tests for Magic Guard, Battle phase; fixed innards out stuff
* Fixde magic guard aftermath
* fixed tests
* Fixed innards out
* fixed using sizzly slide instead of will o wisp to inflict burn
* ran boime
* Readd simulated oopsie
* Fix HJK test to use protect + docs and such
* Apply Biome
---------
Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* [Balance] Add faint trigger to Battle Bond Greninja's form change
The form change functionality will now be slightly closer to Generation 7/8, as the Greninja will now revert from Ash form to Battle Bond form upon fainting.
* Change how the form change on faint is triggered
It is no longer directly handled by the faint phase, and is instead part of the abilities now, as more than Battle Bond Greninja revert via this method (Disguise Mimikyu, Power Construct Zygarde).
* Adjust Disguise test
* Fixed Transform and Imposter Bug
* Updated Comments
* Revised Comments
* Revised Changes on how tranformed pokemon are referenced to align with reviewer's suggestions
* Removed unused BattlerTag type for transform
* Removed addition of the transform tag to a pokemon in the PokemonTransformPhase
* Moved the check for whether Transform can be used within the TransformAttr class as suggested and removed uneccesary moveId check
* Consolidated if statement regarding isTransformed
* Removed overrides
* Added move condition to Transform + fixed up imposter target selection
* Condensed tests into 1 file + added more automated tests
This includes a couple regression tests for the fusion shenanigans
* Fixed comment
* Updated override typo for unimplemented methods
* Remove redundant parentheses
* Apply suggestions from code review
Co-authored-by: Bertie690 <136088738+Bertie690@users.noreply.github.com>
---------
Co-authored-by: Bertie690 <taylormw163@gmail.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
Co-authored-by: Bertie690 <136088738+Bertie690@users.noreply.github.com>
https://github.com/pagefaultgames/pokerogue/pull/6067
* Fix anger point always procing on multi-hit
when first strike was a crit
* Fix comment spacing
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Rename PostDefendCritStatStageChangeAbAttr
---------
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Made `game.phaseInterceptor` fail if move not in moveset
also added a few assorted doc fixes
* Fixed fail comment
* added `map` statement
* Fixed tests
* Fixed test
* Fixed test and comment
* Fixed tests
* Fixed test v2
* Fixed various tests
* Update error msg to not use fullcaps
* Fixed remaining tests
* Fixed test 0.5
* Fixed up tetss
* Fixed test
* Fixed imposter tests
* Fixed imposter tests
* Fiexd remainig tests
* Marked test as TODO
wasn't as if it was doing anything beforehand but w/e
* Update moveHelper.ts
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Update moveHelper.ts
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Apply Biome
* Update comment in `spikes.test.ts`
* Add faint checks to Spikes test
---------
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Minor Attempt run phase rework to abstract logic to whole team
* Decoupled individual pokemon from run phase logic
* Formatting
* Completed run phase refactor implementation and updated tests
* Updated run phase to extend field phase instead of pokemon phase
* Removed unused phase decleration in tests
* Removed unecessary arg in turn start phase as refactor no longer needs it
* Cleaned up getPlayerField
* Made adjustments based on reviewer suggestions
* Reintrocuded calculateEscapeChance into AttemptRunPhase and removed run utils
* Resolve merge issues
* Minor TSDoc improvement to `BattleScene#getPlayerField`
* Moved early override check to top of calculateEscapeChance
---------
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* [WIP] Refactor ability attribute apply args
* [WIP] update ability signatures
* Update callsites in pokemon.ts
* Update callsites in moves.ts
* Update abattr callsites in move-phase
* Update abattr callsites in battler-tags
Also removed stat drop ability application from cancelling ME stat boost effects
* format with biome and remove cancelled from weather lapse
* Update abattr callsites in MEP
* Update callsites in turn-start-phase
* Update abAttr callsites in misc phases
* Remove latent test functionality
* update ability attribute callsite in shield dust test
* update abattr callsite in winstrate challenge encounter
* Fix some tests to mock proper methods
* Remove improper condition in mimicry's ability application
* Fix improper simulated check in moody's apply method
* Pass source to postApplyDamage in pokemon.ts
* [wip] fix cud chew tests
* Make cud chew consumption not subclass postTurnAbAttr
* Fix regression in flower veil
* Update trySetStatus test in pokemon to respect new return value for undefined
* Remove empty, unused file
* Fix blockCrit method broken in merge
* Fix unnecessary attr type cast in move phase
* Address typing issue in safeguard test
* Improve documentation and get rid of ts-expect-error directive
* Minor comment/TSDoc updates and fixes
* Apply suggestions from code review
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>