Commit Graph

2211 Commits

Author SHA1 Message Date
Dean
f928ca9bdf Update enum filename 2025-10-31 16:23:57 -07:00
Dean
c33f9723f5 Update enum name 2025-10-31 16:21:38 -07:00
Dean
5c8c2151a8
Update src/data/moves/move.ts
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-10-31 15:58:35 -07:00
Dean
a0d3e42f3b
Merge branch 'hotfix-1.11.2' into quick-claw 2025-10-31 15:34:04 -07:00
damocleas
76453a31d1 [Balance][Bug] Rival Fight 3 Fix, Move Noibat in Biomes
Electivire corrected to be Electabuzz in Slot 3 on Fight 3 (55)

Noibat has been moved from Uncommon -> Rare in Grassy Field
2025-10-31 00:47:07 -04:00
Dean
9a4381c776 Re-Add MovePriorityModifier 2025-10-30 18:58:06 -07:00
damocleas
a48952e354
[Balance] [Bug] Fix Rhydon not being a Rhyhorn in Rival 2 2025-10-30 21:08:00 -04:00
damocleas
3e3b4173f1
balance fixes (#6716)
* Update passives.ts

revert zygarde because it doesn't work right now

* Update tms.ts

* shoot gholdengo

* filtering duraludon
2025-10-30 18:31:48 -04:00
Fabi
8650aebd40
[Misc] Allow setting daily boss variant via custom seed (#6714)
* Add option to set shiny boss

* Update src/data/daily-run.ts

Co-authored-by: Bertie690 <136088738+Bertie690@users.noreply.github.com>
2025-10-30 18:11:30 -04:00
Austin Fontaine
79148452e9
[Refactor] Refactor ME mon generation and event encounters, add to Safari Zone & GTS (#6695)
* Refactor event encounters

* Fix safari test

* Apply biome fixes

* Cleanup, 100% event chance for WT

* Fix Safari Zone

* Fix shiny chance

* Run biome

* Apply suggestions from code review

Co-authored-by: Fabi <192151969+fabske0@users.noreply.github.com>
Co-authored-by: Bertie690 <136088738+Bertie690@users.noreply.github.com>

* Documentation for randomEncParams

* other

* Updated doc comments on interface to be less jank

* >'less janky'>look inside>linting error

* Update encounter-phase-utils.ts doc comment

* Update encounter-phase-utils.ts

* Update src/data/mystery-encounters/encounters/global-trade-system-encounter.ts

Co-authored-by: Bertie690 <136088738+Bertie690@users.noreply.github.com>

* thing

---------

Co-authored-by: Fabi <192151969+fabske0@users.noreply.github.com>
Co-authored-by: Bertie690 <136088738+Bertie690@users.noreply.github.com>
Co-authored-by: damocleas <damocleas25@gmail.com>
2025-10-30 15:46:35 -04:00
Bertie690
24e9dcdadc
[Feature] Allow setting movesets via custom daily seed (#6712)
* Clean up Daily Run custom seed gen; add moveset post-processing

* Remove redundant `fetchDailyRunSeed` function

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-10-30 16:15:20 +00:00
Wlowscha
20615bcd21
[Bug] Fix awarded ribbon in limited support (#6713)
Fixed awarded ribbon in limited support
2025-10-30 09:24:04 -04:00
Blitzy
12b57836b2
literally just an egg move change
Update egg-moves.ts
2025-10-29 18:03:58 -04:00
damocleas
075679eba1
[Balance] More 1.11 stuff (#6680)
* Update trash-to-treasure-encounter.test.ts
* Update trash-to-treasure-encounter.ts
* pain and suffering is lessened
* rotom is just gonna be random now (arena.ts)
* looked at biomes.ts a lot today, not a fan (of rotom, fan)
* stares at weather.ts intensely (lots of small changes)
* Update init-biomes, slight tweaks to encounters
* yay so many more biome.ts please be the last until biome rework
* oh I also changed dudunsparce and maushold to 1/16 to match the others
* ok, biomes.ts one final I think
* minor fixes for biomes.ts
* Update init-biomes.ts
* Adjust Minimum Party Size and Max Allowed Encounters for some ME's
2025-10-29 12:51:00 -04:00
Bertie690
3c41b26045
[Bug] Sheer Force now disables Wimp Out, Emergency Exit (#6692) 2025-10-29 09:23:03 +00:00
Dean
c048b34425
[Misc] Add dynamic ordering to non-phase interactions (#6581)
* Update interactions to use generator

* Fix triggerWeatherBasedFormChanges

* Update documentation

* Fix arena tag file

* Update src/field/pokemon.ts

Co-authored-by: NightKev <34855794+DayKev@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>
2025-10-29 04:03:32 +00:00
Blitzy
eea07e15f7
[Balance] 1.11 Eggs, Passives, and Starter Cost updates (#6699)
Eggs, Passives, and Starter Cost updates
2025-10-27 21:21:01 -04:00
Austin Fontaine
41b2f2f4fc
[Balance] Shiny mons get a 2x catch bonus, can be boosted by events (#6694)
* Shiny mons get a 2x catch bonus

* Add catch bonus to safari zone as well

* Add logging for catch rate calculation

* Disabled debug catch % logging during tests
2025-10-27 17:47:23 -04:00
Fabi
3d5a46b1ec
[BUG] Fix quick claw being blocked by Psychic terrain (#6684)
* Fix quick claw being blocked

* Add tests

* Apply suggestions from code review

Co-authored-by: Bertie690 <136088738+Bertie690@users.noreply.github.com>

* fix test + run biome

* Update comments in `terrain.ts`

* Apply test suggestions

* added newlines

---------

Co-authored-by: Bertie690 <136088738+Bertie690@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-10-27 18:37:33 +00:00
Fabi
2acf73e8cb
[i18n] [Beta] Fix arena tag message typos (#6659)
fix `onRemove` keys
2025-10-27 14:15:05 -04:00
Bertie690
3cfbb695e9
[Docs] Update battler-tags.ts module doc comment for clarity (#6658)
---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-10-26 13:01:20 -05:00
Fabi
08e6bba2db
[Refactor] Only use first active timedEvent (#6679)
* rename `getShinyMultiplier`

* simplify methods to use first active event instead of sometimes using all active events

* change remaining methods to use first event

* use `ModifierTypeKeys` instead of `string` for wave rewards

* rename `shinyMultiplier` to `shinyEncounterMultiplier` and add `shinyCatchMultiplier`

* update comments

* add comment

* Fix capitalization of variable, remove comment

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-10-23 01:27:38 -07:00
damocleas
2109aace1d
[Balance] 1.11 Extra Changes (#6651)
* Add extra EXP Charm to Classic, Add 1 Ability 1 Shiny Charm to Daily

* Update Delibird moveset in pokemon-level-moves.ts based off of PLA

* Dragon Claw TM Ultra -> Great

* some gmax changes Update pokemon-species.ts

* X items - Update modifier.ts

* (Beta) Milotic and Golisopod slot 3 -> 4 Update rival-party-config.ts

* test fix for x items Update temp-stat-stage-booster.test.ts

* Update tms.ts air cutter and sky drop

* Update tms.ts water pulse and brutal swing

* (beta) fix for admins Update fixed-battle-configs.ts

* (beta) fix Update challenge.ts too
2025-10-21 20:45:02 -04:00
NightKev
ffbaf311c6
[Beta] Pixilate/etc no longer affect non-Normal type moves (#6661) 2025-10-16 14:27:13 -07:00
Blitzy
8ada380d4d
[Balance] Reduce Meltan Custom Evo Requirement (#6646)
* Update pokemon-evolutions.ts
---------
Co-authored-by: damocleas <damocleas25@gmail.com>
2025-10-09 18:54:18 -04:00
Blitzy
218beb72b2
[Balance] PR #6608 Fix (#6640)
Update trainer-config.ts

Co-authored-by: damocleas <damocleas25@gmail.com>
2025-10-09 15:58:13 -04:00
Blitzy
120f8a2f33
[Balance] Expert Breeder ME tweaks (#6643)
* Change Strength Template

* Add friendship value to EnemyPokemonConfig, set Cleffa friendship values

Custom friendship values can now be set within Mystery Encounters. Set the Expert Pokemon Breeder's Cleffas to max friendship.

* Set all items as 3 Soothe Bells and nothing else

---------

Co-authored-by: Madmadness65 <blaze.the.fireman@gmail.com>
Co-authored-by: damocleas <damocleas25@gmail.com>
2025-10-09 15:52:36 -04:00
Blitzy
dacf71151a
[Balance] Evil Team Admin Rework + Misc Trainer Changes (#6608)
* Update trainer-config.ts

* Update trainer-config.ts

* Revert "Update trainer-config.ts"

This reverts commit 6243592913.

* Revert "Update trainer-config.ts"

This reverts commit 6243592913.

* Update Admins, Add Admin 3

* Update Admins, Add Admin 3

* Update trainer-config.ts

* Update trainer-config.ts

* Initial Pool Updates

* Initial Pool Updates

* allow evil team admins to use subpools

* allow evil team admins to use subpools

* Remove trainer pool tier stairs

* freedom motif

* Remove trainer pool tier stairs

* freedom motif

* fix: missing import in trainer-config.ts

* Fix incorrect Starmobile forms

* Pool Updates + Boss additions

* Misc Changes

* Reorder p functions in Trainer Config

This let move gen properly account for Boss Health, Form Changes, and Abilities for future functions

* Ensure evil admins are uniquely selected in different fights

* Ensure evil admins are uniquely selected in different fights

* Implement evil team admin instant tera for slot 4

* Revert Starmobile Changes

* Minor Grunt Pool Changes

* Champion Adjustments

* Update trainer-config.ts

* Update trainer-config.ts

* Update challenge.ts

---------

Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
Co-authored-by: Madmadness65 <blaze.the.fireman@gmail.com>
2025-10-08 00:08:50 -05:00
Bertie690
15b6877a86
[Bug/i18n] Added type safety to Arena.applyTags; fixed arena tag addition/removal messages (#6304)
* 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>
2025-10-07 23:38:51 -05:00
Sirz Benjie
07c1491649
[Misc] fix error throwing in forewarn 2025-10-07 23:23:25 -05:00
Dean
a4b27eb05e
[Bug] Use InitEncounterPhase to queue PSPs for new encounters (#6614)
* Use InitEncounterPhase to queue PSPs for new encounters

* Add doc

* Add manual PSP queues
2025-10-07 22:09:17 -05:00
Bertie690
d32e112194
[Bug/Ability] Fix Forewarn not triggering + add randomized selection (#6623)
* [Ability] Fix Forewarn not triggering + add randomized selection

* Fix typo

* Comment fix

* Fix name oops

* Fix `slice` instead of `splice`

* Fix missing continue

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>

* Apply Biome

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-10-07 22:08:57 -05:00
Sirz Benjie
e5e0835a96
[Misc][Refactor] Add scaffolding for TypedArrays and improve typing on methods related to arrays (#6547)
* make IVs use Uint8Array

* Add many typed array helpers

* Move array utils to its own file

* Add suppression comment

* Adjust type of `getStats`

* Adjust test mocks to use typed arrays

* Adjust signatures of some phases to use ArrayLike<T>

* Adjust signature of src/ui/containers/stats-container#updateIvs

* Remove comment gap to try to satisfy typedoc

* Ensure ivs are always set

* fix: fun-and-games me to use typed array

* Add new tests for array utilities

* Update type of ivs in save-data.ts

* Update part-timer-encounter.test.ts

* Convert uses of StatusEffect[] to Uint8Array

* Update ssui to use uint8array for ivs

* Revert use of typed arrays

* Move `nil` to @types/common

* Make more arrays readonly

* fix: remnant change to immune effects

* Even more array improvements

* Apply kev's suggestions from code review

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>

* address Bertie's comments from code review

* tests: remove undefined check for bigint array types

* fixup abilities.ts

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-10-06 12:21:58 -05:00
Dean
7ce2aa3ed9
[Bug] Liquid Ooze can now properly be suppressed (#5535)
* Fix applying even when suppressed

* Rewrite move/ability effects

* Fix using defender instead of attacker when applying magic guard

* Add test

* Unchange move effect phase

* Kev fixes

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>

* Fix liquid ooze test

* Fix hithealattr apply method

* Fix test

* Move checks to canApply

---------

Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-10-06 11:00:08 -05:00
Sirz Benjie
219cfb04cb
[Refactor] [Ability] Initializing abilities now uses a builder class (#6534) 2025-10-06 10:40:26 -05:00
Sirz Benjie
f4456f6c7c
[Dev] Improve typescript performance and version bump node and dependencies (#6627)
* Add caching for test matchers types to improve ts performance

* add skipLibCheck to tsconfig.json

* Bump package versions

* Move tm species map to its own file

* Turn on ts-nocheck in pokemon-level-moves

* Move initBiomes to own file

* Add types to methods in ME encounter phase utils

* Fix spacing

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-10-04 19:29:23 -05:00
Sirz Benjie
35da617d0b
[Bug][Ability] Tangling Hair / Gooey now work when its user faints
https://github.com/pagefaultgames/pokerogue/pull/6618

fix: add bypass faint to tangling hair and gooey
2025-10-02 23:01:11 -07:00
Bertie690
8db3f2c4fd
[Refactor] Cleaned up various battler/arena tag move attributes (#6201)
* Removed Mortal-spin exclusive `LapseTagAttr`

* Removed unused parameter from `addBattlerTagAttr`

* Actually removed mortal spin attribute

* De-janked params of `addBattlerTagAttr`

* Significantly cleaned up `RemoveArenaTrapAttr` and `RemoveScreensAttr`

* Added `toHaveArenaTagMatcher`

* Finished up fixing up tidy up tests; removed matcher to go to its own PR

* Reverted file

* Update move.ts

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>

* Update move.ts

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>

* Fix `RemoveScreensAttr`

* Update move.ts

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>

* Update move.ts

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>

* Update move.ts

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>

* Update move.ts

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>

* Fixed type error

* Ran Biome

* Update arena.ts

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>

* Ran biome

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-10-02 19:59:33 -07:00
damocleas
0da202c26e
[Balance] Rival Fight Rework (#6603)
* Basic Implementation of new Rival Fights

* Set abilities for birds, Set levels for slots 3-5

* Left an accidental TODO

* Remove duplicate Paldea Tauros

* Allow species in getRandomPartyMemberFunc to be an array

* Use switch statement instead of if/else chain

* docs: add doc comments

* Misc cleanup

* Misc cleanup

* Implement superior rival fight teamgen

* Remove latent console logs from other PR

* Fix unrelated typo in pokemon-move-no-pp

* Tweak type overlap logic

* Fix off-by-one-error for limits

* Address Kev's comments from code review

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>

* Fix typo

* Fix docs in `rival-party-config.ts`

* Add missing default in doc in `rival-team-gen.ts`

* Update src/ai/rival-team-gen.ts

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>

* Update src/ai/rival-team-gen.ts

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>

* Address Kev's comments from code review

Co-authored-by: NightKev <34855794+DayKev@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: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-10-01 23:45:50 -04:00
Madmadness65
68f65da233
[P2 Bug] [Balance] Fit initBiomes incorrectly getting evo level threshold (#6612)
* [P2 Bug] Fit initBiomes incorrectly getting evo level threshold

The evolution level threshold wasn't applying correctly to the biome entries of Pokemon that evolved via evolution items (so anything with a level 1 "requirement"), this has been fixed. The evolution delay for certain Pokemon has been lowered, as it it was compounding with their existing level requirements, making their evolutions take way too long to happen. The values were lowered to match the intended levels the Balance Team desired. The outputPools function has also been run, updating all the levels of the Pokemon with set evolution delays.

* Remove evo delay

* Improve clarity for mantyke evo level

---------

Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
2025-10-01 22:34:58 -05:00
Sirz Benjie
1a0cfaf13d
[Balance] Adjust evolution delay requirements (#6595)
* balance: adjust evolution delay requirements

* Remove evo delay test

* Update mystery encounter test matcher

* fix: callsite errors

* Fix desynced edit in ai-species-gen.ts

* Formatting

So the linter stops complaining

* [WIP] Add temporary logging statements and address evolution

* Fix off by one error related to species ID

* Fix issue with pokemon species

* Fix biome outputs generating with NaN for evolution levels

Co-authored-by: Madmadness65 <59298170+Madmadness65@users.noreply.github.com>
2025-09-30 12:59:08 -05:00
Blitzy
5745213257
[Balance] Add Stored Power / Power Trip to STAB blacklist (#6607)
Update moveset-generation.ts
2025-09-29 15:04:26 -04:00
Sirz Benjie
7e40bb24ec
[Bug][Balance] Make type boost items consider moves that have a variable type when rolling one for rewards (#6578)
* Make type boost items consider moves that have a variable, but static type

* fix: type boost item not spawning for moves without variable type

* make tera blast consider a tera-capable user's tera type

* Adjust tera blast's getTypesForItemSpawn method

* Address comments from code review

* docs: clarify `canTerastallize`
2025-09-29 13:00:18 -05:00
Sirz Benjie
ec4ddab8be
[Bug] [Refactor] [Move] Add selection prevention and move failures (#6276)
* 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>
2025-09-29 12:08:42 -05:00
NightKev
49e9976328
Revert "[Refactor] Add TIME_OF_DAY_OVERRIDE & refactor arena tint code"
https://github.com/pagefaultgames/pokerogue/pull/6597

Revert "[Refactor] Add `TIME_OF_DAY_OVERRIDE` & refactor arena tint code"

This reverts commit 4349ee82b9.
2025-09-27 14:55:59 -07:00
Bertie690
4349ee82b9
[Refactor] Add TIME_OF_DAY_OVERRIDE & refactor arena tint code
https://github.com/pagefaultgames/pokerogue/pull/6554

* Removed `ARENA_TINT_OVERRIDE` + minor cleanup of arena tint code

* Added `TIME_OF_DAY_OVERRIDE` to replace tint override

* Fixed visual bug with time of day override

* Fixed the frag stuff and blah blah blah

* Update sprite-types.ts
2025-09-27 14:41:56 -07:00
Wlowscha
62109bdaf9
[Challenge][Bug] Restrict starters with gender-based evolutions in challenges (#6564)
* Added gender restrictions

* No male Ralts in mono fairy challenge
2025-09-25 08:48:47 -05:00
Wlowscha
2fe99cc3bf
[Refactor] Refactor Starter and its handling (#6477)
* Reworked `Starter` interface with more explicit information

* Use Starter in ssui

* Fixed some bugs

* Passing starter.ivs to playerPokemon

* Using speciesIds

* Fixed getTestRunStarters

* Reverted some parameter changes

* Initialize starters in ssui

* Don't clear starters before starting run

* Fix to game manager

* Apply suggestions from code review

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>

* Set ivs to 0 in part timer test

* Setting the right ivs

* Moved ssui to handlers folder

* Ran biome all

* Fixed broken imports

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-09-21 11:07:08 -07:00
Dean
87e6095a00
[Misc/Feature] Add dynamic turn order (#6036)
* Add new priority queues

* Add dynamic queue manager

* Add timing modifier and fix post speed ordering

* Make `phaseQueue` private

* Fix `gameManager.setTurnOrder`

* Update `findPhase` to also check dynamic queues

* Modify existing phase manager methods to check dynamic queues

* Fix move order persisting through tests

* Fix magic coat/bounce

* Use append for magic coat/bounce

* Remove `getSpeedOrder` from `TurnStartPhase`, fix references to `getCommandOrder` in tests

* Fix round queuing last instead of next

* Add quick draw application

* Add quick claw activation

* Fix turn order tracking

* Add move header queue to fix ordering

* Fix abilities activating immediately on summon

* Fix `postsummonphases` being shuffled (need to handle speed ties differently here)

* Update speed order function

* Add `StaticSwitchSummonPhase`

* Fix magic coat/bounce error from conflict resolution

* Remove conditional queue

* Fix dancer and baton pass tests

* Automatically queue consecutive Pokémon phases as dynamic

* Move turn end phases queuing back to `TurnStartPhase`

* Fix `LearnMovePhase`

* Remove `PrependSplice`

* Move DQM to phase manager

* Fix various phases being pushed instead of unshifted

* Remove `StaticSwitchSummonPhase`

* Ensure the top queue is always at length - 1

* Fix encounter `PostSummonPhase`s and Revival Blessing

* Fix move headers

* Remove implicit ordering from DQM

* Fix `PostSummonPhase`s in encounters running too early

* Fix `tryRemovePhase` usages

* Add `MovePhase` after `MoveEndPhase` automatically

* Implement an `inSpeedOrder` function

* Merge fixes

* Fix encounter rewards

* Defer `FaintPhase`s where splice was used previously

* Separate speed order utils to avoid circular imports

* Temporarily disable lunar dance test

* Simplify deferral

* Remove move priority modifier

* Fix TS errors in code files

* Fix ts errors in tests

* Fix more test files

* Fix postsummon + checkswitch ability activations

* Fix `removeAll`

* Reposition `positionalTagPhase`

* Re-add `startCurrentPhase`

* Avoid overwriting `currentPhase` after `turnStart`

* Delete `switchSummonPhasePriorityQueue`

* Update `phase-manager.ts`

* Remove uses of `isNullOrUndefined`

* Rename deferral methods

* Update docs and use `getPlayerField(true)` in turn start phase

* Use `.getEnemyField(true)`

* Update docs for post summon phase priority queue (psppq)

* Update speed order utils

* Remove null from `nextPhase`

* Update move phase timing modifier docs

* Remove mention of phases from base priority queue class

* Remove and replace `applyInSpeedOrder`

* Don't sort weather effect phases

* Order priority queues before removing

- Add some `readonly` and `public` modifiers

- Remove unused `queuedPhases` field from `MoveEffectPhase`

* Fix linting in `phase-manager.ts`

* Remove unnecessary turn order modification in Rage Fist test

---------

Co-authored-by: Bertie690 <136088738+Bertie690@users.noreply.github.com>
Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-09-20 17:49:40 -05:00
Dean
d02980dd4e
[Move] Fully implement Healing wish (/Lunar Dance) and remove nextCommandPhaseQueue (#6027)
* Remove NCPQ

* Implement PendingHealTag

* Fix test

* Code review

* Use message directly instead of as key in tag

* Update tag for serialization

* Update test import

* Update src/data/arena-tag.ts

Co-authored-by: Bertie690 <136088738+Bertie690@users.noreply.github.com>

* Remove isNullOrUndefined uses

* Fix arena tag type(o)

* Fix pendinghealtag

* Fix hwish tests

* Arena tag denesting

---------

Co-authored-by: Bertie690 <136088738+Bertie690@users.noreply.github.com>
Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
2025-09-20 17:32:31 -05:00