* Move trainer-config.ts
* move TeraAIMode enum to its own file
* Move TrainerPoolTier enum to its own file
* Move TrainerSlot enum to its own file
* Reorder and group imports
* Move TrainerPartyTemplate to its own file
* Remove speciesPoolPerEvilTeamAdmin method
* Apply kev's suggestions from code review
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Fix typo in zinzolin's name
---------
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>
* 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
* Remove Promises from moves and abilities
* Fix `PostSummonPhase`
* Apply suggestions from Kev's review
* More suggestions
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Cleaning up some updated functions
* Remove Promise from `addEnemyModifier`
+ fixes to some extraneous `await`s
* Test fixes
* Fix missing import in revival blessing test
Co-authored-by: innerthunder <brandonerickson98@gmail.com>
* Add back applyPreLeaveFieldAttrs
Attribute was removed due to absence in a cherry-pick
* Make applyPostApplyEffects work
* Fix move-effect-phase.ts applications
Some applyX methods were missed in the cherry pick commit and were still returning functions instead of running the function themselves
* Mock `BattleScene.addPokemonIcon` in tests
* Revival Blessing condition and tests
* Incorporate Despair-Games/poketernity/pull/48
* Break up imports
* Remove enemy modifier chance dead code
* Remove async from applyAbAttrsInternal
Stray async leftover from merge
* Remove docs and comments referencing promises
* Add `user.setTempAbility` to transform phase
---------
Co-authored-by: innerthunder <brandonerickson98@gmail.com>
Co-authored-by: innerthunder <168692175+innerthunder@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: PigeonBar <56974298+PigeonBar@users.noreply.github.com>
* Commit old stashed changes
* Complete basic implementation of Tera
* Fix effectiveness test
* Make tera retain until forced recall or faint, regain on biome change
* Experimental sparkle fix
* Fix champion teras
* Attempted fix for double battles tera UI bug
* Fix the fix
* Fix linting and test issues
* Fix more tests
* Change int type
* Implement tera for ME trainers
* Cleanup species inclusivity check
* Make tera instant recharge if terapagos in party
* Make useless tera shards not generate
* Implement stellar tera damage boost
* Improve tera selection UI
* Tidy up animation and localisation
* Improve tera button sprite
* Fix Lance tera
* Make tera instant recharge during E4 in classic modes.
* Fix formatting in the tera common animation
The animation was also not playing due to `frameTimedEvents` being missing as well.
* Make tera effect start after animation
* Implement save migration
* Update version number for migration code
---------
Co-authored-by: Madmadness65 <blaze.the.fireman@gmail.com>
Co-authored-by: Madmadness65 <59298170+Madmadness65@users.noreply.github.com>
* Add unit tests for magic bounce
* Add reflectable tag and apply to moves
* Add BattlerTagType for Magic Coat
* Add more magic bounce tests
* Add magic bounce test for sticky web source
* Mostly working magic bounce and magic coat
* Fix missing negation on mayBounce check
* Move onto the next target after bouncing
* Fix magic bounce accuracy check test
* Finish magic bounce impl
* Make spikes use leftmost magic bounce target
* Add magic coat tests
* Add MagicCoatTag to battler-tags.ts
* Add final set of tests for Magic Coat / Bounce
* Fix semi invulnerbale check in hitCheck
* Fix magic bounce semi-invulnerable interaction
This was based on smogon's incorrect handling of this situation
* Magic bounce should not bounce anything during semi-invulnerable state
* Activate mirror armor interaction test
Also update i18 locales key to `magicCoatActivated`
* full implementation of supreme overlord + test
* removed unused import
* changed documentation since Battle.playerFaints is not used in supreme overlord
* Update faint-phase.ts
* changed supreme overlords power calculation function and adjusted tests
* added changes to Last Respects too
* added playerFaints to SessionSaveData to make the counter saveable
* Apply Kev's suggestions
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Reset enemy faint counter per battle
* Re-mark supreme overlord as partial
* added automated test case
* moved playerFaints reset to resetArenaEffects
* removed resetEnemyFaintCount() function since it is unused
---------
Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Working ui, missing logic, logs
* Filtering starters by name is working
* Filtering moves and abilities correctly
* Opening starter page on button.action
* Removed ugly leftover from title
* Added container for text with different colors and titles
* Showing all species in pokedex with no decorations and shinies
* Filtering includes extra forms; moving cursor from filterText to starters does not reset scrollIndex; toggle button for decorations
* Can access evolution page
* Abilities are colored properly (still missing info overlay)
* Biome filter; displays for baseStats, biomes and evolutions
* Removed lockable select ui handler, replaced by changes to standard ui handler.
* Evolutions are selectable from list and displayed properly
* Keeps shiny variant, gender and form when switching to evolutions; show ability descriptions; properly displaying sprites for megas and other forms
* Listing prevolutions and base forms
* Fixed filtering of baby forms with no biome assigned; Caught filter is ALL by default
* Highlighting text filters, resetting all filters when starting up
* No error messag when cursor on uncaught species, showing sprite again after toggling stats
* Simplified Pokemon Scan logic, accepts separate words as input
* Dynamically resizing ability box, showing ability description on first hover. Removed debug logs.
* Removed some more debug messages.
* Filter bar can adjust cursorOffset and x padding
* Fixed some type definitions
* Fixed more warnings; added localization strings in the pokedex scan overlay.
* Fixed fatal bug due to using Object.keys
* Removed debug messages
* Added try catch construct to prevent error that was breaking reloadHelper tests
* Added filter for starters / evolutions
* Biome filter option for uncatchable mons
* C and V buttons snap cursor to filters
* Changing background to make instructions visible
* Can buy candy upgrades through pokedex
* Displaying base stats as bars in an overlay
* Including baby forms among uncatchable mons
* Including evolutions when filtering by biome
* Working logic for select ui handler with skips and scroll
* -Pokedex page showing biomes from prevolutions; displaying correct biomes for forms of Rotom, Burmy and Lycanroc
* Fixed bug in base stats overlay
* Regional forms display name of region in evolutions and prevolutions
* Better messages for evolution conditions
* Showing proper descriptions for menu
* Adding sound effects to menu, and pokemon cry when opening page
* Changing menu colors to textstyle options supporting a legacy version.
* Fix to getStarterSpeciesId to work with all-unlocks files
* Passing a TextStyle to option select ui handler to allow for shadowed text
* Fixed bug of overlapping labels in text filters
* Fixed bug with supportHover and skipped indices in option select ui handler
* Localization of pokemon number label
* Fix to pokemon number localization
* Fix to pokemon number localization
* Adding some comments, removing useless elements
* More cleanup
* Removed candy upgrade instructions from evolved pokemon; attempting to buy candies from evolution now gives error sound instead of crashing the game
* Attempting to exit from filter text is now allowed if current option is empty
* UI changes to make dex pages work in legacy style
* Pokemon name shown while in alt form is no more capitalized
* Handling uncaught pokemon
* Showing types on Pokémon page
* Introducing globalScene everywhere
* Showing evolution requirements in message box
* Displaying form changing items; now using pokemonFormChanges to only show reachable forms
* Playing correct cry
* Pokemon cry in setSpeciesDetails
* Left and right buttons to turn previous or next pokedex page
* Cleaned up "last" from this.species; turning pages now preserves memories of unlocks
* Pokerus cursor is now treated as decoration
* Correctly displaying prevolutions for Pikachu and Gholdengo
* Uncaught forms can be cycled through (with black sprite and no options available)
* Filtering by moves now shows icons to distinguish egg and tm moves
* Added icons for passive abilities
* Added icons to legacy mode; fixed bug that caused game to hang when switching to or from legacy mode
* Pokedex entries are accessible through party screen
* Adding sort criteria for consistency with starter select screen
* Added options to cost reduction filter for consistency with starter select screen
* Updating optionSelectUiHandler to simplify logic and fix bug of autocomplete showing options incorrectly
* Adding Pokedéx option in starter select screen
* Prevolutions are shown properly again; battle forms are considered caught as long as the base form is caught
* Small fixes to evolution and form change descriptions
* Reworked evolutions menu to incorporate condition descriptions
* Moving evolution condition description logic entirely to the SpeciesEvolution class
* Removed extra Miraidon and Koraidon forms
* Properly showing evolution text for Dunsparce and Maushold
* Displaying uncaught forms for Dudunsparce and Maushold properly
* Displaying correct forms for Urshifu and Toxicitry after evolution
* Cleared up comments
* Updating test for tandemaus evolution
* Localized labels for egg moves and abilities
* Added button to show back sprites
* Back to showing only caught battleforms; added dexForDevs option
* Merging shiny and variant buttons
* Uncaught battle forms options are shown in dark text, like evolutions
* Showing proper gender for mons that can only be (or have only caught in) one gender
* Apply suggestions from code review
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Removed unused options from base-stats-overlay
* Fixed import of BaseStatsOverlay
* Displaying form-specific TMs properly; adjusting for passives rework
* Removed logging messages
* resetting containers to prevent memory leaks
* Updating integer to number in pokedex
* Implemented suggestion
* Removed some stray comments
* Fixed logic for cursor coming down from filter bar
* Transition from filters to dex box now works in a visually pleasing way
---------
Co-authored-by: Lugiad <2070109+Adri1@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: damocleas <damocleas25@gmail.com>
* Replace Title BGM with custom BGM by Firel
Also added descriptions for the battle scene and arena's getBgmLoopPoint methods.
---------
Co-authored-by: damocleas <damocleas25@gmail.com>
* Refactor timed event changes
* Use getWeather function
* Add mystery encounter tier change/disabling to timed events
* Event luck boost, event encounter helper function
* Events without shiny boost shouldn't give shiny charm
* globalScene -> this in battle scene class
* Change event pools
* 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>
* [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>
* 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
* [ME] Fix GTS Wonder Trade shiny not giving luck
* [ME] Shiny Magikarp from Pokemon Salesman can have any variant
* [ME] Shiny lock MEs with custom or special sprites
* [ME] GTS shows shiny sparkle for received Pokemon
* [ME] Shiny lock 'Slumbering Snorlax' and 'The Strong Stuff'
* [ME] Dancing Lessson: show shiny sparkle for Oricorio in intro
* [ME] Show shiny sparkles for Pokemon in ME intro
* fix tests
* Ensure shiny sparkle animation is initialized before playing it (Fixes#3924)
* make loading variant assets cleaner
* cleanup EnemyPokemon shiny initialization
* test fixes and final cleanup
* Make 'getSpeciesFilterRandomPartyMemberFunc' more readable
---------
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Remove Pika/Eevee forms from Trainers before wave 30, and BB Gren
* Fix `egg` test
* Ban hidden ability from Rival starter
---------
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Added double battle exclusion to Endless bosses.
* Brought Endure token RNG in line with game RNG formatting.
* Corrected incorrect modulo condition in isEndlessBoss
* Moved new doubles conditional to be above overrides.
* Fixed bad RNG calls for Covet and Thief too.
* Updated unburden test.
* Revert "Updated unburden test."
This reverts commit 01788d40c2.
* Revert "Fixed bad RNG calls for Covet and Thief too."
This reverts commit c7fcfd195d.
---------
Co-authored-by: frutescens <info@laptop>
* [Dev] Add overrides for alternating between single and double battles
* PR feedback
* Add type `DoubleType`
* Fixed Gastro Acid test using `game.override.battleType(null)`
* Changed new type name to `SingleOrDoubleType`
* `SingleOrDoubleType` is now `BattleStyle`
* Update src/test/utils/helpers/overridesHelper.ts
---------
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: Moka <54149968+MokaStitcher@users.noreply.github.com>
* [P2][Beta] Several Unburden bug fixes
* Unburden test adjustments
* Some further test cleanup
* Add suggested `.bypassFaint()` to Unburden
---------
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* Adding to window.gameInfo
Added
type -> not working
currentHP -> not working
maxHP
status
* Adding to updateGameInfo()
* Update pokemon.ts
* Modifying battle-scene.ts
Added code to get Form and Tera Type
Typo fixed in pokemon.ts
* Output type names/etc instead of numbers
---------
Co-authored-by: ThePsychedelicSeal <trevorlrichfield@gmail.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
* Implement Order Up (mostly untested)
* Commander unit tests + bug fixes
* Implement Order Up (misnamed the other commit...)
* Order Up unit tests
* applying Temp's suggestions + other bugfixes
* add TODO comment
* Reviver Seed reapplies Commander
* ESLint woes
* Some animation fixes
* Update locales
* Order Up now uses attr option
* Prevent semi-invulnerability lapsing out while Commanding
* semi-invulnerability test
* Add `edgeCase`
* unburden implemented
* Used tag instead of stat changes for Unburden
* added documentation and neutralizing gas test
* accounted for unburden in getEffectiveStat
* fixed doubling speed in two places
* merge conflict resolve
* changed documentation wording, added test for stuff cheeks
* refactor unburden
* merge
* remove console logs
* Update src/data/ability.ts
Co-authored-by: innerthunder <168692175+innerthunder@users.noreply.github.com>
* add neut gas check
Co-authored-by: innerthunder <168692175+innerthunder@users.noreply.github.com>
* Added test for NeutGas user entering while unburden activated
* add spaces to tests, removed passive and [] from applyPostItemLostAbAttrs
* added line breaks after test cases
---------
Co-authored-by: innerthunder <168692175+innerthunder@users.noreply.github.com>
* Update `battle-scene.ts` and `data/field/pokemon.ts`
`battle-scene.ts` changes:
- `getParty()` renamed to `getPlayerParty()` for clarity
- `getNonSwitchedXPokemon()` consolidated into `getXPokemon()`
- Some tsdocs were added/updated for
`getXParty()`, `getXField()` and `getXPokemon()`;
and those functions were explicitly marked as `public`
- Helper function `getPokemonAllowedInBattle()` added
`pokemon.ts` changes:
- `isAllowed()` renamed to `isAllowedInChallenge()` for clarity
- A redundant check for an active scene is removed in `isActive()`
- Some tsdocs were added/updated for `isFainted()`,
`isAllowedInChallenge()`, `isAllowedInBattle()` and `isActive()`;
and those functions were explicitly marked as `public`
- `isFainted()` now checks for `hp <= 0` instead of `!hp`
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
* Backport eslint change to reduce merge conflicts
* Fix merge issues
---------
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
Co-authored-by: Tempoanon <163687446+Tempo-anon@users.noreply.github.com>
* Mystery Encounter bugfixes
* more ME bug fixes
* update allowed pokemon in ME requirements
* some unit test cleanup and general tidying
* fix null exception on isBattleMysteryEncounter
* clean up tsdocs and fix pokemon hasAbility check
* fix double battle crash in challenge mode with a single eligible pokemon
* apply suggestions from PR#4619's code reviews
* revert fix for Keldeo crashes + implement fix suggestion from PR #4619
* fix session migration for PokemonCustomData
* prevent test failure due to keldeo fix
---------
Co-authored-by: ImperialSympathizer <imperialsympathizer@gmail.com>
* Refactor `MovePhase` to improve readability/maintainability
Add tsdocs/comments all over
Mark all functions/fields with public/etc
Fix multi-hit moves called from Metronome/etc, fixes#3914
Remove unused function `BattleScene.pushMovePhase`
Don't use failure text as a condition for move success
A move defining potential failure text doesn't mean it failed
Replace relative imports with absolute imports in `battle-scene.ts`
Change some fields from optional to default `false`
* Fix Whirlwind test
* Fix linting
* major/minor ME bug fixes
* potential fix for failed save with rental pokemon
* Update src/system/game-data.ts
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
* Update src/system/game-data.ts
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
* more bug fix cleanup and PR feedback
* fix Uncommon Breed ME crash
* real fix to Fun and Games force switch issues
* add isBattleMysteryEncounter() helper function
* add isBattleMysteryEncounter() helper function
* fix unintentional replace all errors
* fix catches not updating dex
---------
Co-authored-by: ImperialSympathizer <imperialsympathizer@gmail.com>
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
* Disable Luck in Daily Runs
If the Game Mode is Daily Run, the player's Luck is set to 0, and the Luck value is hidden.
* Give free map in daily
Adds a Map to the player's pool of starting items for Daily Runs.
* Disable Eviolite in Daily Runs
Disables Eviolite spawning in Daily Run mode.
* Write shop test and add new overrides
Adds new overrides that allow you to force content to be locked or unlocked
These overrides were also added to the OverridesHelper to make them available to tests
Adds a new check function for content unlocks, which returns `true` if it is overrode to be unlocked, `false` if it is overrode to be locked, and the unlock data mapped to a Boolean otherwise
All existing checks (other than the ones that involve actually unlocking things) for unlockables have been changed to use this
Added a pair of new exporting booleans, specifically for my test, that check if Eviolite or Mini Black Hole are in the loot table
* Prevent shinies from altering runs
Places variant rolls inside of an ExecuteWithSeedOffset block, using the current floor's RNG seed as the seed and the Pokémon's ID as the offset.
---------
Co-authored-by: Leo Kim <47556641+KimJeongSun@users.noreply.github.com>
Co-authored-by: flx-sta <50131232+flx-sta@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>
Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
* various bug fixes for MEs
* various bug fixes for MEs
* fix final isTransferable rename that was missed
* change Trainer's test vouchers for second option
* change unit test skips
* cut down excess ME track length and loop properly
* ME bug fix cleanup
* updating AI for Slumbering Snorlax ME, and small ME balance changes
* fix ts error
* fix bug type superfan dialogue discrepancy
* ME bug fixes PR feedback
* ME PR nits and fixes
* update naming convention of sprites
* ME balance changes and bug fixes
* fix tests
* fix An Offer You Can't Refuse ME requirements
* clean up post-battle logic for Breeder ME
* party size requirement cleanup
* clean up challenge requirements for disabling certain MEs
---------
Co-authored-by: ImperialSympathizer <imperialsympathizer@gmail.com>
* Add Team Star (WIP)
Still missing dialogue for all new trainer types, team compositions will need refining, and Starmobile graphics still do not exist yet.
* Add dialogue for all Team Star trainers
Dialogue put together courtesy of @Blitz425
* Add additional Macro Grunt dialogue lines
As suggested to be included by @Blitz425
* Add dialogue entries in dialogue.ts
Forgot them with my last commit, whoops
* Add back Team Star trainer types
Latest merge of beta into this PR deleted them for some reason
* Update Team Star boss team compositions
Bunch up Eeveelutions more in first fight, move random Rotom form to first fight. Remove Espeon, Umbreon, and Rotom from second fight, add legendary beasts and paradox beasts in their place, remove Zacian chance from second fight.
Co-authored-by: Tempoanon <163687446+Tempo-anon@users.noreply.github.com>
* fix missing semicolon
* Guarantee Sylveon is always Terastallized
* Guarantee Starmobiles on admin's teams
Also resizing the Starmobiles by 1.5 like Gigantamax Pokémon (it is still just regular Revavroom visually for now).
* Adjust trainer pools for Grunts and Admins
* Add new custom sprites for Starmobiles
This adds front and shiny front sprites made by Kieran. Party icons and back sprites are still placeholders for now.
* Minor pool adjustments
Eevee moved to Uncommon on grunts, Varoom replaced with Hisui Qwilfish for Atticus, and Heracross replaced with Pawmi for Eri.
* Remove Leon's Zamazenta, rename Team Star Boss
As to not have overlap between the champion and Star boss teams.
Also doubled the weights of the Starmobile forms.
* Force movesets for Starmobiles
Also fix accidentally giving Mela a Venusaur instead of a Revavroom. (it was just a testing thing, I swear)
* Correct movesets
Didn't realize copied movesets were desired, ech
---------
Co-authored-by: Tempoanon <163687446+Tempo-anon@users.noreply.github.com>
* various bug fixes for MEs
* various bug fixes for MEs
* fix final isTransferable rename that was missed
* change Trainer's test vouchers for second option
* change unit test skips
* cut down excess ME track length and loop properly
* ME bug fix cleanup
* updating AI for Slumbering Snorlax ME, and small ME balance changes
* fix ts error
* fix bug type superfan dialogue discrepancy
* ME bug fixes PR feedback
* ME PR nits and fixes
---------
Co-authored-by: ImperialSympathizer <imperialsympathizer@gmail.com>
* add .github/workflows/mystery-event.yml
* update mystery-event.yml
* mystery encounters: resolve review comments:
Lost at Sea:
-fix typo in handlePokemonGuidingYouPhase function
Mysterious Chest:
- remove obsolete commented code
mystery-encounter.ts
- remove unused `onDone` field from MysteryEncounterBuilder
* fix typo in CanLearnMoveRequirementOptions
* remove redundance from Pokemon.isAllowedInBattle()
* chore: jsdoc formatting
* fix lost-at-sea tests
* add fallback for biomeMysteryEncounters if empty
* lost-at-sea-encounter: fix and extend tests
* move "battle:fainted" into `koPlayerPokemon`
* add retries to quick-draw tests
* fix lost-at-sea-encounter tests
* clean up battle animation logic
* Update and rename mystery-event.yml to mystery-events.yml
* Update mystery-events.yml
* Fix typo
* Update mystery-events.yml
Fix debug runs
* clean up unit tests and utils
* attach github issues to all encounter jsdocs
* start dialogue refactor
* update sleeping snorlax encounter
* migrate encounters dialogue to new format
* cleanup and add jsdocs
* finish fiery fallout encounter
* fix unit test breaks
* add skeleton tests to fiery fallout
* commit latest test changes
* finish unit tests for fiery fallout
* bug fix for empty modifier shop
* stash working changes
* stash changes
* Update src/data/mystery-encounters/encounters/fiery-fallout-encounter.ts
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
* Update src/test/utils/overridesHelper.ts
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
* Update src/test/utils/overridesHelper.ts
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
* Update src/test/utils/overridesHelper.ts
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
* Update src/test/utils/overridesHelper.ts
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
* Update src/data/mystery-encounters/encounters/fiery-fallout-encounter.ts
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
* Update src/data/battle-anims.ts
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
* nit updates and cleanup
* Update src/data/mystery-encounters/encounters/fiery-fallout-encounter.ts
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
* Apply suggestions from code review
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
* add jsdocs and more cleanup
* add more jsdoc
* add the strong stuff encounter
* add the strong stuff encounter and more unit tests
* cleanup container length checks in ME ui
* add retries to tests
* add retries to tests
* fix trainer wave disable override
* add shuckle juice modifier
* add dialogue bug fixes
* add dialogue bug fixes
* add pokemon salesman encounter and affects pokedex UI display
* add unit tests for pokemon salesman
* temp stash
* add offer you can't refuse
* add unit tests for offer you can't refuse encounter
* remove unnecessary prompt handlers
* add tests for disabled encounter options
* add delibird-y encounter
* add delibird-y encounter
* add absolute avarice encounter
* finish absolute avarice encounter
* add unit tests and enhancements for item overrides in tests
* fix unit test
* cleanup absolute avarice PR
* small bug fixes with latest sync from main
* update visuals loading for safari and stat trainer visuals
* update visuals loading for safari and stat trainer visuals
* update a trainer's test encounter and add unit tests
* add Trash to Treasure encounter
* clean up trash to treasure encounter
* clean up trash to treasure encounter
* add berries abound encounter
* start clowning around encounter
* first implementation pass at clowning around
* add unit tests for clowning around
* add unit tests for clowning around
* clean up ME unit tests
* clean up unit tests
* update unit tests
* add part timer and dancing lessons encounters
* add unit tests for Dancing Lessons and Part-Timer
* reordered biome list and adjusted redirection for project and labels
* Add Weird Dream encounter and slight reworks to Berries Abound/Fight or Flight
* adjusting yml to match new labels
* fix yml whoopsie
* Expanded 'Weird Dream' banlist and fixed a bug with the BST bump range
* adds Winstrate Challenge mystery encounter
* small cleanup for winstrates
* add unit tests for Winstrate Challenge
* fix pokemon not returning after winstrate battle
* commit latest beta merge updates
* fix ME null checks and unit tests with beta update
* fix ME null checks and unit tests with beta update
* MEs to pokerogue beta branch
* test dialogue changes
* test patch fix
* test patch fix
* test patch fix
* adds teleporting hijinks encounter
* add unit tests for Teleporting Hijinks
* small change to teleporting hijinks dialogue
* migrate ME translations to json
* add retries to berries-abound.Option1: should reward the player with X berries based on wave
* add missing ME dialogue back in
* revert template changes
* add ME unique trainer dialogue to both dialogue jsons
* fix hanging comma in json
* fix broken imports
* resolve lint issues
* fix flaky test
* balance tweaks to a few MEs, updates to bug superfan
* add unit tests for Bug-Type Superfan and clean up dialogue
* Adds Fun and Games mystery encounter
* add unit tests for Fun and Games encounter
* update jsdoc
* small ME balance changes
* small ME balance changes
* Adds Uncommon Breed ME and misc. ME bug fixes
* Update getFinalSessionData() to collect Mystery Encounter data
* adds GTS encounter
* various ME bug fixes and balance changes
* latest ME bug fixes
* clean up GTS Encounter and add unit tests
* small cleanup to MEs branch
* add BGM music names for ME music
* bug fixes and balance changes for MEs
* ME data schema updates
* balance changes and bug fixes to MEs
* balance changes and bug fixes to MEs
* update tests for MEs
* add jsdoc to party exp function
* dialogue updates and test fixes for MEs
* dialogue updates and test fixes for MEs
* PR suggestions and fixees
* stash PR feedback and bugfixes
* fix all tests for MEs and cleanup
* PR feedback
* update flaky ME test
* update tests, bug fix MEs, and sprite assets
* remove unintentional console log
* re-enable stubbed function for Phaser text styling
* handle undefined introVisuals properly
* PR feedback from NightKev
* disable Uncommon Breed tests
* locales updates and bug fixes for safari zone
* more PR feedback and update field trip with Rarer Candy
* fix unit test
* Change how reroll button gets disabled in Modifier Shop Phase
* update continue button text logic
* Update src/ui/modifier-select-ui-handler.ts
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
* fix money formatting and some nits
* more nits
* more nits
* update ME tsdocs with links
* update ME tsdocs with links
---------
Co-authored-by: Felix Staud <felix.staud@headwire.com>
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
Co-authored-by: ImperialSympathizer <imperialsympathizer@gmail.com>
Co-authored-by: InnocentGameDev <asdargmng@gmail.com>
Co-authored-by: Mumble <171087428+frutescens@users.noreply.github.com>
* add option for egg skip
* change eggSkip variable name more descriptive to eggSkipPreference
* update requested changes from opaquer and tinylad and walker
* update requested change from tinylad
* update comment
* Complete after you implementation (no localization)
* reset override changes
* Remove hardcoded English text, add tests
* Fix test
* Make sure phases occur in the correct order
* fix after-you issues
- fix i18n interpolation ot state "target name" and not "pokemon name" as the target takes the offer, not the user
- fix some tsdocs
- add override to apply
- update scene.findPhase to be able to use generic types. Add tsdocs
* add move-trigger.afterYou for DE
* fix after_you.test.ts
---------
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
* [DOCS] adding JSDocs to `arena.ts` (#3590)
* adding some docs
* Update src/field/pokemon.ts
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
* seems like battleStats changed to statStages
* Apply suggestions from code review
editing doc text
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
* Update tsdocs, convert comment to tsdoc in `pokemon.ts`
---------
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
* [Bug] Fix scrappy (+ some immunity move and ability) in inverse battle (#4067)
* fix scrappy + etc. update inverse battle test code
* update test code following request from swain
* fix and optimize imports (#4061)
- remove any `.js` extension imports
- remove unncessary dynamic imports of `modifier.ts` file. The file was being imported statically & dynamically. Made it pure static
- increase vite chunk-size warning limit
Co-authored-by: Mumble <171087428+frutescens@users.noreply.github.com>
* Fusion hotfix
* returned main
* Faint cry properly retrieved for non fused Pokemon with forms
* Revert "[DOCS] adding JSDocs to `arena.ts` (#3590)"
This reverts commit b73fd97760.
* Revert "[Bug] Fix scrappy (+ some immunity move and ability) in inverse battle (#4067)"
This reverts commit 31fcbf49f4.
* Revert "fix and optimize imports (#4061)"
This reverts commit d1bd6974e4.
* Fixed sprite key generation
---------
Co-authored-by: DustinLin <39450497+DustinLin@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
Co-authored-by: Leo Kim <47556641+KimJeongSun@users.noreply.github.com>
Co-authored-by: frutescens <info@laptop>
- remove any `.js` extension imports
- remove unncessary dynamic imports of `modifier.ts` file. The file was being imported statically & dynamically. Made it pure static
- increase vite chunk-size warning limit
Co-authored-by: Mumble <171087428+frutescens@users.noreply.github.com>
* Fix off-by-one error in some random number calls
* Fix mock RNG function used by tests
Also remove unnecessary extra RNG mock from Glaive Rush test
* Just some github UI manipulation don't mind me
* Update Glaive Rush test
* Remove unnecessary `Math.floor()`
* Remove resolved comment
* Add tsdocs to various functions
* Remove `src/rng.md` file
* Update tsdoc
* cherry picked commits / manual copy
* better dex tracking for summary after regular egg hatching
* ui changes
* updated egg hatch bg, added candy tracker, icon anims for new shiny or new form unlock
* added i18 line, reset overrides
* touchup
* code cleanup, documentation and slight refactor
* sprite display fix
* load interrupts, simple sfx and no summary for small egg amounts
* Garbage Collection + Eslint/Docs approved.
* time logging and optimisation
* skip redundant load
* more time logs and fix pre-load issues
* more detailed loading logs
* changed loading to be on demand from cursor nav
* fix missing variant icon fallback
* removing redundant time logs and code touchup
* code cleanup
* Comments so developer doesn't get bugged about garbage collecton
* remove logs n stuff
* lang settings touchup and final touchup plus uploading blank egg summary bg
* fix nits, js imports, extra docs, magic numbers changed
* extra docs and spacing nits
* Update Github
---------
Co-authored-by: James Diefenbach <z5421232@ad.unsw.edu.au>
Co-authored-by: Frederico Santos <frederico.f.santos@tecnico.ulisboa.pt>
Co-authored-by: frutescens <info@laptop>
Co-authored-by: Mumble <171087428+frutescens@users.noreply.github.com>
* [Bug] Fix eggs having exploitable RNG
* Fix Wind Rider test having random chance to fail
* Revert egg's ID back to its own unseeded generation
* Remove change from wind rider test
---------
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: Mumble <171087428+frutescens@users.noreply.github.com>
* Added settings option to toggle UI sound effects
* Added text to other locales
* Localizations except es and it
* New language locales
* Added italian translation
Co-authored-by: Niccolò <123510358+NicusPulcis@users.noreply.github.com>
* Refactored on top of PR #3527
* Rebased and updated setting name
* Added comments for the included sound effects
---------
Co-authored-by: Niccolò <123510358+NicusPulcis@users.noreply.github.com>
* Changed how non-BGM are loaded into the game + moved into directories
* some leftovers
* Apply suggestions from code review
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
* Added setting for Field Volume + rewrote playSound() and updateSoundVolume() functions to reflect the new settings.
* Main -> Beta (#3635)
* Fixed issue with falsy issue within condition to get a stat for IV scanner
* add fix setting code to prevent form/variant bug when default form/variant setting is wrong.
in addition, that fix code include gender fix, so i revert old gender fix.
update wrong log message.
* [Hotfix] Fix Memory Mushroom not showing relearner moves (#3619)
* Fix Memory Mushroom not showing relearner moves
* Fix rollout test
* Rewrite player faint logic in FaintPhase (#3614)
* 867 runerigus sprite (#3629)
cropped static frames, fixed cropped sprite
set runerigus exp to use the shiny exp's animation
verified all hex colors are unchanged
- fixed ultra necrozma exp front variant swapped arrays.
- xatu female eye color fix
* [Bug] Preventing the MBH from being stolen in Endless (#3630)
* Endless MBH Fix
* add import
* Revert "add import"
This reverts commit 814a4059c2.
* Revert "Endless MBH Fix"
This reverts commit 8eb4481301.
* removed newline
---------
Co-authored-by: Frederico Santos <frederico.f.santos@tecnico.ulisboa.pt>
Co-authored-by: frutescens <info@laptop>
* [Bug] Fix type-hints for immunity (#3620)
* enable mock containers to be found by name
* enable mock text to be found by name
* add test coverage for type-hints
Only for "immunity" and "status moves"
* fix wrong message key of curse(ghost type) (#3631)
Co-authored-by: Frederico Santos <frederico.f.santos@tecnico.ulisboa.pt>
* [Hotfix] Steal-able Mini Black Hole Pt 2 (#3632)
* Still have no idea where Eternatus is given the MBH....
* typedocs
---------
Co-authored-by: frutescens <info@laptop>
* [Hotfix] Abilities that prevent ATK drops no longer stop other stat drops (#3624)
* Abilities that prevent ATK drops no longer stop other stat drops
* Apply suggestions from code review
Co-authored-by: Mumble <kimjoanne@protonmail.com>
* Add `isNullOrUndefined()` utility function
---------
* Grip Claw now shows the proper pokemon nickname (#3634)
Co-authored-by: frutescens <info@laptop>
---------
Co-authored-by: Opaque02 <66582645+Opaque02@users.noreply.github.com>
Co-authored-by: KimJeongSun <leo@atlaslabs.ai>
Co-authored-by: Frederico Santos <frederico.f.santos@tecnico.ulisboa.pt>
Co-authored-by: innerthunder <168692175+innerthunder@users.noreply.github.com>
Co-authored-by: cam <lrlrliwoo@gmail.com>
Co-authored-by: Mumble <kimjoanne@protonmail.com>
Co-authored-by: frutescens <info@laptop>
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
Co-authored-by: Enoch <enoch.jwsong@gmail.com>
Co-authored-by: Mumble <171087428+frutescens@users.noreply.github.com>
* [Bug] Preventing the MBH from being stolen in Endless (#3630)
* Endless MBH Fix
* add import
* Revert "add import"
This reverts commit 814a4059c2.
* Revert "Endless MBH Fix"
This reverts commit 8eb4481301.
* removed newline
---------
Co-authored-by: Frederico Santos <frederico.f.santos@tecnico.ulisboa.pt>
Co-authored-by: frutescens <info@laptop>
* [Hotfix] Steal-able Mini Black Hole Pt 2 (#3632)
* Still have no idea where Eternatus is given the MBH....
* typedocs
---------
Co-authored-by: frutescens <info@laptop>
* Deleted phases.ts (#3618)
* Updated sound terms
* Added space for localization
* Update src/locales/ko/settings.ts
Co-authored-by: Enoch <enoch.jwsong@gmail.com>
* Update src/locales/zh_TW/settings.ts
Co-authored-by: mercurius-00 <80205689+mercurius-00@users.noreply.github.com>
* Update src/locales/pt_BR/settings.ts
Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>
* Update src/locales/zh_CN/settings.ts
Co-authored-by: mercurius-00 <80205689+mercurius-00@users.noreply.github.com>
* Update src/locales/de/settings.ts
Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
* Update src/locales/ko/settings.ts
Co-authored-by: returntoice <dieandbecome@gmail.com>
* Update src/locales/fr/settings.ts
Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>
* Update src/locales/it/settings.ts
Co-authored-by: Niccolò <123510358+NicusPulcis@users.noreply.github.com>
* Include sound effects that were loaded in as BGM.
* Removed stray placeholder localization
---------
Co-authored-by: Frutescens <info@laptop>
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: Opaque02 <66582645+Opaque02@users.noreply.github.com>
Co-authored-by: KimJeongSun <leo@atlaslabs.ai>
Co-authored-by: Frederico Santos <frederico.f.santos@tecnico.ulisboa.pt>
Co-authored-by: innerthunder <168692175+innerthunder@users.noreply.github.com>
Co-authored-by: cam <lrlrliwoo@gmail.com>
Co-authored-by: Enoch <enoch.jwsong@gmail.com>
Co-authored-by: mercurius-00 <80205689+mercurius-00@users.noreply.github.com>
Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>
Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
Co-authored-by: returntoice <dieandbecome@gmail.com>
Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>
Co-authored-by: Niccolò <123510358+NicusPulcis@users.noreply.github.com>