* Create battle-info directory and move battle-info.ts to it
* Move player and enemy battle info to their own files
* Move subclass specific parts of constructor to subclass constructor
* Fixup mock gameobject methods to match phaser gameobject returns
* Make statOrder specific to subclass
* Create getShinyDescriptor function in utils
* Move icon construction to its own function
* Cleanup enemybattleinfo constructor to use chaining
* Make flyout exclusive to EnemyBattleInfo
* Move EnemyPokemon specific init Logic to its class
* Break up initInfo into different methods
* Remove hp bar segment dividers from base battle info
* Move setMini to pokemoninfo
* Breakup updateInfo into smaller parts
* Remove hp info handling from base updateInfo
* Use phaser object chaining methods
* Add some docs
* Add missing chain usage
* Use getShinyDescriptor in pokemon-info-container
* Minor cleanup of updatePokemonExp
* Fixup setSizeToFrame mock
* Ensure pokemon hp numbers are not visible during stat display
* Update src/utils/common.ts
Co-authored-by: Wlowscha <54003515+Wlowscha@users.noreply.github.com>
* Make summary-ui-handler use new shinyDescriptor method
* Remove `undefined` parameter pass
Co-authored-by: Amani H. <109637146+xsn34kzx@users.noreply.github.com>
* Address kev's review comments
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Ensure hp number display fades in/out
* Ensure ribbon and caught indicator fade with stat display
* Update src/ui/battle-info/battle-info.ts
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Move construction of stats and type icons to their own methods
* Make setPositionRelative return this
* Improve doc comment on paddingX param
* Fix mock sprite's setPositionRelative
---------
Co-authored-by: Wlowscha <54003515+Wlowscha@users.noreply.github.com>
Co-authored-by: Amani H. <109637146+xsn34kzx@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Allow gastro acid to suppress passives if main ability is unsuppressable
* Update gastro_acid.test.ts
* Update src/data/moves/move.ts
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Add test to ensure unsuppressable main ability is not suppressed
---------
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* [Dev] Enable biome parsing of `pokemon.ts`
* Apply unsafe fixes
* Add + apply rule disallowing the use of the `integer` type alias
* Fix typo in comment; remove unnecessary `!!`
* Re-apply Biome after merge
* Re-apply Biome "unsafe" fixes after merge
* Fix import
* Add comment to `getFusionIconAtlasKey` too
* Splitting process input for menu into its own function
* Making logic for return button more expressive
* Breaking up processOptionMenuInput
* Extracting filterResult logic from processInput
* Inverting order of several conditional checks (if the function always returns after seeing the summary option, may as well check for it straight away...)
* Moving edge case for release option into processReleaseOption
* Splitting up options for when selectCallback is present
* Added some TODOs for later
* Extracted setOptionsCursor function
* Extracted updateOptionsWindow()
* Changing options so that each case is completely separate (almost)
* Added some TODOs
* Reorganizing option processing
* Fixed Baton Pass; logging for testing
* Fixed case of switching out by selecting the Pokemon command
* Clearing options when switching out
* Changed condition on switch for clarity
* Updating TODO
* Fixed options not clearing after item transfer
* Splitting up processing of transfer and move recall mode; ensuring that the cancel option works properly
* Breaking up processInput()
* Removed some redundant playSelect
* Cleaned up some TODOs
* Added private to all new methods
* Apply suggestions from code review
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
---------
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Add Deep Sea Scale & Tooth items
Also changes Clamperl's evolution method from gender-specific to requiring one of the Deep Sea items to be held.
* Move Deep Sea items to Great tier
Also gives every species stat booster item a `rare` boolean to split these items from the rest of the species stat booster items. Updated the existing tests accordingly to account for the split.
* Reduce Great tier species booster item weight
* Fix global scene on evolution conditions
* Merge branch 'beta' into deep-sea-items
* Change how the held item is found in evolution condition
It should no longer look through the entire party's modifiers when seeing if Clamperl is eligible to use a Linking Cord.
* Fix wrong type being boosted
---------
Co-authored-by: damocleas <damocleas25@gmail.com>
Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
* [BUG] Fixes#5010 Roar and Whirlwind don´t display a fail message
Roar and Whirlwind should now display a fail message when
used against a trainer with only one pokémon left
* Apply suggestions from code review made by SirzBenjie
* Fixed IVs of trainers using the Battle Seed.
* Renamed the randSeedInt functions that use the Battle Seed to randBattleSeedInt functions
* Incorrectly used this in common
* Fixed tests that were still calling the old function name
---------
Co-authored-by: damocleas <damocleas25@gmail.com>
Co-authored-by: Bertie690 <136088738+Bertie690@users.noreply.github.com>
Co-authored-by: AJ Fontaine <36677462+Fontbane@users.noreply.github.com>
Co-authored-by: Dean <69436131+emdeann@users.noreply.github.com>
Co-authored-by: lxy-lxy-lxy <55084073+lxy-lxy-lxy@users.noreply.github.com>
Co-authored-by: Xavion3 <xavion333@gmail.com>
Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
Co-authored-by: Lylian BALL <131535108+PyGaVS@users.noreply.github.com>
Co-authored-by: Jimmybald1 <147992650+IBBCalc@users.noreply.github.com>
* Fix firstTarget calculation when a target was fainted
* Update type annotation in applyMoveEffects
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
---------
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* fix revelation dance using the type of the illusion instead of the actual type
* fix other move that might get the illusion type as well
* fix other move that might get the illusion type as well
* fix abilities that might get the illusion type as well
* fix illusion icon in party ui handler
* Fix TSDoc for `Pokemon#getTypes`
* Remove now-unnecessary changes to `.getTypes()` calls
Revert `overrides.ts` changes
* Replace `|| false` with `!!`
---------
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Make type changing moves change type after abilities but before ion deluge/electrify
* Create unified test file for galvanize, pixilate, and refrigerate
* Make type boost items like silk scarf affect the move after its type change
* Add tests for type boost item interaction
* Remove leftover log messages
* Update spies in type-change ability tests
* Add automated tests for normalize
* Fix test name injection for tera blast
* Add automated test for tera blast normalize interaction
* Restore pokemon as a type-only import in moves.ts
* Add aerilate to type changing tests
* Rename galvanize test file
* Fix utils import
* Apply suggestions from code review
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Remove unnecessary mockRestore
* Remove unnecessary nullish coalescing
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Update src/field/pokemon.ts
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
---------
Co-authored-by: Madmadness65 <59298170+Madmadness65@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Added changes to markdown files, reworked test boilerplate code + comment fixes
* Update comments.md
Removed references to jsdoc.
Removed mention of @extends which doesn't even exist in tsdoc
Increased clarity of documenting `args` parameter.
Moved to using active voice instead of passive voice
* Fix truncated sentence in returns example
* fix create-test-boilerplate.js
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Update gameManager.ts
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Update comments.md
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Update gameManager.ts
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Update gameManager.ts
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Update gameManager.ts
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Update gameManager.ts
* Fixed doc thing
* Fixed the things
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Fixde boilerplate to use snake case
* Update .gitignore to include workspace files
* Update linting.md, fix lefthook etc.
* Fix tpyo
* Update create-test-boilerplate.js
Co-authored-by: Dean <69436131+emdeann@users.noreply.github.com>
* Update create-test-boilerplate.js
Co-authored-by: Dean <69436131+emdeann@users.noreply.github.com>
* Update create-test-boilerplate.js
Co-authored-by: Dean <69436131+emdeann@users.noreply.github.com>
* Reverted boilerplate code fixes and applied review comments
Will now be handled by milkmaiden
* Fixed up documentation for comments.md and linting.md
Comments.md added info pertaining to Kev's review
linting.md i just stopped spouting misinformation
* Update `biome.jsonc` comments
Update `comments.md`
Update docs for `AddSubstituteAttr` in `move.ts` to match example
* Apply suggestions to the suggestions
---------
Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: Dean <69436131+emdeann@users.noreply.github.com>
* isCaught function in Dex now returns the correct result
* Removed log messages
* Added tests to check caught status of battle forms
* Update src/ui/pokedex-page-ui-handler.ts
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
---------
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Loading data now checks statusCode not error string
* Bump version to 1.8.5
---------
Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
* Fix#5085 Moves dont play a No Effect Message Against Immune Type
When using non-volatile status move like: Will-O-Wisp, Thunder
Wave, Toxic, or Poison Gas against a Pokémon whose type is immune
to that Status condition, no "It doesn't affect" message plays.
My proposed fixes:
In move.ts:
Removed a redudant if statement in StatusEffectAttr class
In pokemon.ts:
Renamed the "messageIsImmune" function to "queueImmuneMessage"
* Move fixed boss waves enum to file, adjust GL templates
* Move post return to default case
* Address comment
---------
Co-authored-by: Wlowscha <54003515+Wlowscha@users.noreply.github.com>
* Remove unneeded fields from src/ui/filter-text.ts
* Add setOverlayMode to phaseInterceptor
* initialize pokemon starters before running tests
* Add getWrappedText to mockText
* Add initial pokedex test
* Add test for wrapping cursor in pokedex view
* Make pokedex use getPassiveAbility instead of checking passive map
Allows for tests to mock passives
* Add test for filtering double ability combinations
* Add test for filtering by types
* Mark failing test as TODO
* Apply suggestions from code review
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: Madmadness65 <59298170+Madmadness65@users.noreply.github.com>
* Use ts-expect-error instead of ts-ignore in comments
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Add save for pokedex tests
* Add test for filtering by cost reduction
* Add test for filtering by shiny
* Add tests for filtering by cost reductions
* Fix typo in test name
* Update test/ui/pokedex.test.ts
Co-authored-by: Wlowscha <54003515+Wlowscha@users.noreply.github.com>
* Update Mode import in pokedex test
* Replace reference to Mode with UiMode
---------
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: Madmadness65 <59298170+Madmadness65@users.noreply.github.com>
Co-authored-by: Wlowscha <54003515+Wlowscha@users.noreply.github.com>
* Moved SelectBiomePhase in front of NewBattlePhase
* disguise test now has to go to QuietFormChangePhase
---------
Co-authored-by: Jimmybald1 <147992650+IBBCalc@users.noreply.github.com>
* order of operations in creating boss battleInfo
fixed a bug where because of an order of operations error in this file it ignored the position update of the boss life value set in battle-info.ts (around line 562)
* Update Gym Leader Teams
* Set Tera slots for Gym Leaders
* Change Giovanni's Specialty Type to Ground
---
Co-authored-by: damocleas <damocleas25@gmail.com>
* destroy containers when processing external containers
* make form buttons uninteractible until tweens finished instead
* fix holding enter spam
* fix conflicts
* Fix type hint after enemy disappears
* Add automated test for type hint bugfix
* Make onField default to true
* Replace reference to Mode with UiMode and battleType with BattleStyle
* Extract Mode enum out of UI and into its own file
Reduces circular imports from 909 to 773
* Move around utility files
Reduces cyclical dependencies from 773 to 765
* Remove starterColors and bypassLogin from battle-scene
Reduces cyclical dependencies from 765 to 623
* Fix test runner error
* Update import for bypassLogin in test
* Update mocks for utils in tests
* Fix broken tests
* Update selectWithTera override
* Update path for utils in ab-attr.ts
* Update path for utils in ability-class.ts
* Fix utils import path in healer.test.ts
* Add isPartner method to trainer class
* Ensure force switches cannot pull pokemon from the wrong trainer
* Add override for battle type
* Fixup tests and broken assumptions
* Make move fail override semi-invuln check
Bandaid fix because move effect phase does not allow for the move to fail if all of its conditions fail
* Restore overrides
* Apply kev's suggestions from code review
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Fix illusion test battle type invocation
* Update struggle and healer tests to use battleStyle
---------
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>