* 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>
* 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>
* destroy containers when processing external containers
* make form buttons uninteractible until tweens finished instead
* fix holding enter spam
* fix conflicts
* 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>
* Move ability.ts to subfolder
* Extract types out of ability.ts
* Update imports in ability.ts and friends
* Cleanup imports in ability.ts
* Re-add imports lost during sort
* Update imports forgotten during rebase
* Re-import proper type from enums
* Update biome.jsonc
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Add commit to force tests to rerun
---------
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Move LearnMoveSituation to its own file
* Remove unused selfStatLowerMoves array
* Move all-moves to its own file
* Move TurnMove interface to its own file
* move AiType to its own file
* Move PokemonMove to its own file
* Move DamageCalculationResult interface to its own file
* Move fieldPosition to its own file
* Move hit-result to its own file
* Move DamageResult to its own file
* Move SpeciesWildEvolutionDelay to its own file
* move EvolutionItem to its own file
* Move exp to its own masterlist, simplify initVariantData
* Update test/sprites/pokemonSprite.test.ts
* Extract loadPokemonVariantAssets out of BattleScene
* move variant.ts and update pokemon.loadAssets
* Add fuzzy matching for applying variant recolors
* Move glsl shaders to their own files
* Remove extra variants from shader masterlist
Their exp sprites have since been removed.
Co-authored-by: Unicorn_Power <189861924+Unicornpowerstar@users.noreply.github.com>
* Make exp sprite keys a set instead of an array
* Remove outdated exp sprite jsons
Co-authored-by: Unicorn_Power <189861924+Unicornpowerstar@users.noreply.github.com>
---------
Co-authored-by: Unicorn_Power <189861924+Unicornpowerstar@users.noreply.github.com>
* Fix pokedex entry after catching
* Allow turning pages
* Using isSeen in more places
* Evolutions show up as seen after catching
* Apply suggestions from code review
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Showing battle forms correctly for seen mons
---------
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Reuse global scene between tests
Co-authored-by: PigeonBar <56974298+PigeonBar@users.noreply.github.com>
* Add missing each method to mockContainer
* Fix select-modifier-phase test
* Sanitize overrides before tests
Co-authored-by: PigeonBar <56974298+PigeonBar@users.noreply.github.com>
* Sanitize overrides before tests
Co-authored-by: PigeonBar <56974298+PigeonBar@users.noreply.github.com>
* [WIP] fix things
* Fix tests not working with --no-isolate
* Update npm tests to use no isolate
* Update test-shard-template
* Update package.json
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
---------
Co-authored-by: PigeonBar <56974298+PigeonBar@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Options in Pokédex page are dark if unselectable
* Fixed docstring
* Changing display of seen Pokémon in the dex
* Changed visibility of icons in main Pokédex page
* Update splash-messages.ts 1
* Add Pokemon name splash text
This will display a random Pokemon's name, followed by an exclamation point (ex. "Bulbasaur!").
* Make Pokemon name splash message weighted
* Update splash-messages.ts
* Update splash-messages.ts
* fix trailing spaces
* Update splash-messages.ts
* Update splash-messages.ts
* Add splashes which use random Pokemon
* Update splash message tests
* Update splash-messages.ts
* Update splash-messages.ts
* Missing comma
* Fix length on test
It even says to do so whenever weight multipliers are adjusted...
* Update splash-messages.ts
* add missing prefix thing
* adjusted comment in splash_messages.test.ts
* Update splash-messages.ts
* fix blank line
* Add gender splash message code
This makes the specific April Fools splash message functional.
Also fixed a linter issue with the randomPokemon code.
* Update title-ui-handler.ts changed battles won fallback number to -1
* Update splash-messages.ts
* changed afd to 2 days
* Update splash_messages.test.ts
* Update src/data/splash-messages.ts
Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
---------
Co-authored-by: Madmadness65 <blaze.the.fireman@gmail.com>
Co-authored-by: Madmadness65 <59298170+Madmadness65@users.noreply.github.com>
Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
* Filtering correctly when combining gen and monotype challenges
* Clean-up
* Apply suggestions from code review
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Always check requested form first
* Fixing Basculin
* Only check forms which are starter selectable
* Exclude form changes that are not triggered by an item
---------
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Fix#5082: Nicknames not properly sanitized
When a player changes the name of the pokemon
to one that uses one of the following combination
of letters: "@c{}", "@s{}", "@d{}", "@f{}" and "$"
the game shows the name of the pokemon incorrectly in a battle.
Changes made:
- on message-ui-handler.ts file I updated the "showTextInternal"
function to get the original name of the pokemon
or pokemons (in case it's a double battle) saving it in a list
named "pokename" and change it in the text for their
correspondent placeholder which is saved in the list "repname"
(e.g "#POKEMON1" for the first pokemon and "#POKEMON2" for the
second pokemon). After the text is properly modified because
of the special characters ("@c{}", "@s{}", "@d{}", "@f{}")
the name of the pokemons is replaced to it's original value.
- on message-phase.ts file I updated the "start" function to use a
similar approach but only change the pokemon name to it's original
form after the "pageIndex" (which checks the index of the "$")
is updated, so the text is cut properly.
- on ui.ts file I updated the "showtext" function to use same
approach of the previous files, ensuring that the pokemon names
were only replaced back to their original values after all text
processing on "$" was completed.
* Replace `let` with `const`
---------
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Stop ShowAbilityPhase from ending until the bar has popped out
* Remove ability bar hiding from messagePhase
* Remove abilityBar reference from base Phase class
* Add HideAbilityPhase to hide ability bar after effects
* Add willSucceed to ability attrs
* Update AbAttrs and PostInitAbAttrs
* Update PreDefendAbAttrs
* Update postDefend, postMoveUsed, StatStage, postSetStatus, and PostDamage
* Update preAttack and fieldStat
* Partially implement postAttack
* Finish PostAttack
* Update PostSummon
* Update PreSwitchOut
* Update preStatStageChange
* Update PostStatStageChange, PreSetStatus, PreApplyBattlerTag
* Update postTurn and preWeatherEffect
* Update postWeatherChange
* Update postWeatherChange
* Update PostTerrainChange
* Update CheckTrapped and PostBattle
* Update postFaint
* Update PostItemLost
* Bug fixes from test cases
* Fix intimidate display
* Stop trace from displaying itself
* Rename to canApply
* Fix ability displays using getTriggerMessage
* Ensure abilities which are mistakenly shown are still hidden
* Fix ability bar showing the wrong ability with imposter
* Add canApply for imposter
* Update abilities using promises and `trySet...` functions
* Committing overrides changes is bad
* Document apply and canApply
* Update PreLeaveFieldAbAttr
* Remove boolean return type apply functions
* Remove redundant assignment
* Remove ability display from abilities that shouldn't have it
* Move queueAbilityDisplay to battlescene
* Remove unused shown variable
* Minor changes
* Fix using id instead of battlerindex in queueAbilityDisplay
* Fix PostBattleInitFormChangeAbAttr displaying
* Prevent crashes in case an ability for a pokemon not on the field is shown
* Stop more abilities from displaying
* Move enemy ability bar to the right side
* Automatically reload bar if shown while already out, fix specific abilities
* Remove duplicate call to clearPhaseQueueSplice
* Remove ShowAbilityPhase import from ability.ts
* Update PostDefendTypeChangeAbAttr to use PokemonType
* Update PostSummonAddArenaTagAbAttr
* Minor changes
* Make dropdown update selection when reset to default
* Function to resect selection in filter bar
* Pressing B on filter now closes it or resets instead of going to top of starters
* Filter changes to starter select screen
* Method to get column at a given index in filter bar
* Specific reset behavior for caught filter in starter select menu
* Apply suggestions from code review
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Update src/ui/starter-select-ui-handler.ts
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
---------
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: damocleas <damocleas25@gmail.com>
Co-authored-by: Madmadness65 <59298170+Madmadness65@users.noreply.github.com>