Commit Graph

2258 Commits

Author SHA1 Message Date
fabske0
2a1e0c4373 - Add option for shiny starter
- change how the starter part of the seed is parsed
2025-10-31 14:23:41 +01: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
Dean
405b1d389d
[Bug] Apply Supreme Overlord only once on summon (#6575)
* Implement supreme overlord as a battler tag

* Make ability a conditionalattr

* Add tag to map

* Update test

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

* Add edgeCase marker

* Extend from AbilityBattlerTag

* Run biome

---------

Co-authored-by: Bertie690 <136088738+Bertie690@users.noreply.github.com>
2025-09-19 23:08:02 -05:00
Sirz Benjie
16a903b975
[Bug][Ability] Remove flyout for rivalry (#6577)
Remove flyout for rivalry
2025-09-19 20:47:35 -07:00
Fabi
7d83a3a24a
[UI/UX] Show correct max duration in flyout (#6566)
* Fix terrain & weather max duration flyout

* show correct max duration for tags

* maka maxDuration optional in arenaEvent constructor

* 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>
2025-09-18 13:35:22 -07:00
Madmadness65
0e87391b20
[Misc] Update biome pools in init functions (#6572)
Added new biome entries for Type: Null, Silvally, Poipole, Naganadel, Kubfu, Urshifu, Scientist, and Swimmer to their respective init functions, and reran `outputPools`.
2025-09-18 14:13:52 -05:00
Sirz Benjie
0c921cdb4a
[Tests][Bug][Beta] Fix ditto bug and add unit tests (#6559)
* Fix ditto bug and add unit tests

Co-authored-by: Bertie690 <136088738+Bertie690@users.noreply.github.com>
2025-09-15 23:26:57 -05:00
Sirz Benjie
8013093513
[Bug] Secondary fusions with gender evo condition can now evolve (#6510) 2025-09-15 14:04:13 -05:00
NightKev
de94e738fb [Docs] Add blank space to prevent incorrect comment attachment
Biome will "attach" comments to imports if there is no space between
them when it sorts imports (this allows suppression comments to work)
2025-09-14 20:45:01 -07:00
Sirz Benjie
793dea0024
[Bug] [Docs] Fix @module tags (#6557)
Fix `@module` tags
2025-09-14 22:35:12 -05:00
Xavion3
25a2fb4266
[Balance] Tweak trainer moveset TM generation. (#6533)
* Lower TM weight in moveset generation.

* Implement a cap on amount of TMs based on wave.

* Extract ai moveset generation to its own file

* Minor doc cleanup

* Move magic numbers to balance file and export them

* Tweak stab move weight generation

---------

Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
2025-09-14 21:44:58 -05:00
Madmadness65
24a0ca95f4
[Balance] Change Happiny evolution method, update Chansey happiness req
https://github.com/pagefaultgames/pokerogue/pull/6551

* [Balance] Change Happiny evolution method

Happiny now evolves into Chansey by using an Oval Stone during the Dawn or Day, instead of 160 friendship (Blissey's friendship requirement of 200 remains unchanged).
Also removed unnecessary comments from Gligar's and Sneasel's evolutions.

* Update Chansey -> Blissey 200 -> 180 Friendship Required (Base 140)

---------

Co-authored-by: damocleas <damocleas25@gmail.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-09-14 14:58:56 +00:00
Bertie690
465f0c2ced
[Refactor] getPokemonById returns undefined instead of null
https://github.com/pagefaultgames/pokerogue/pull/6544

* [Refactor] Make `BattleScene.getPokemonById` return `undefined` instead of `null`

* fixed substitute unit test :(

* Update src/phases/obtain-status-effect-phase.ts

Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>

* Update src/phases/pokemon-phase.ts

Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>

* Update battle-scene.ts comment for dean

* Add todo comment

---------

Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-09-12 22:19:48 -07:00
Sirz Benjie
c7a2c666af
[Refactor] Remove isNullOrUndefined in favor of loose check against null (#6549)
* Remove `isNullOrUndefined` in favor of loose check against null

* Fix missing method call

* Remove isNullOrUndefined import
2025-09-12 14:53:27 -05:00
Wlowscha
559ca8610a
[Misc] Simplifying imports of UI files (#6542) 2025-09-11 00:30:17 -07:00
Fabi
e4a6a3de82
[Bug] Allow catch in limted catch during teleporter ME (#6531)
Allow catch in teleporter ME
2025-09-11 06:07:49 +00:00
Fabi
328cc0221e
[i18n] Camel case remaining keys (#6508)
* fix egg gacha keys

* fix battle keys

* fix game stats

* fix splash texts
2025-09-10 18:45:01 -05:00
Wlowscha
9a92f98f63
[Refactor] Move type definitions away from game-data.ts (#6487)
* Move type definitions away from game-data.ts

* Update src/@types/data-types.ts

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

* Renamed file to save-data.ts

* Fixed broken import

* Moved some ui files

* Run biome, fix broken import

* Fixed one more broken input
2025-09-10 14:09:33 -05:00
Bertie690
496d9a10d7
[Test] Added matcher to check message contents; added tests for Splash, Celebrate, Laser Focus (#6299)
* Fixed laser focus test to not whiff instruct

* fix test checking last hit twice in row lul
2025-09-10 13:40:21 -05:00
Sirz Benjie
e75c8e5691
[Bug] [Ability] Fix stat boost message timing for quark drive / protosynthesis (#6529)
Make proto and quark drive stat boost happen after proc instead of at end
2025-09-10 13:37:00 -05:00
Sirz Benjie
c0b3b0c55e
[Docs] Fixup typedoc warnings (#6540)
* Replace `@return` with `@returns`

* Remove extends tags

* Remove `@overrides` tag

* Remove `@abstract` tags

* Remove `@overload` tags

* Remove `@description` tags

* Remove `@static` tags

* Remove `@private` tags

* Remove `@warning`

* Remove `@PokemonSpecies`

* Remove {} appearing after `@returns`

* Remove {} appearing after `@param`

* Bump typedoc version

* Remove ...args in `@param` and replace with args

* Cleanup docs in challenge.ts

* Adjust hyphens

* Remove parenthesis in `@see` tags

* Remove old `@see` references
2025-09-10 13:35:55 -05:00
Bertie690
c0da686ba0
[Dev] Migrated to Biome 2.2.3, added more rules (#6259)
* Added more biome rules

* Fixes

* Added a few more rules

* Added global phaser to biome

* Fix tpyo

* Updated biome to 2.1.4; improved docs on linting/localization; added vcs support

Also added `.build` to gitignore cuz reasons

* Fixed tpyo

* dd

* Applied linter fixes

* Partially fixed some private property issues

* Upgraded to Biome 2.2.0; added `operatorLinebreak` and a few new rules

* Moved operator linebreaks before lines

* Applied kev's suggestions

* Update biome.jsonc

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

* added like all the rules and then some

* modify biome.jsonc

* apply biome formatting

* Reverted changes to balance folder

* fixed stuff

* Fixed biome stripping trailing globstars from everything

* made `noInvertedElse` an error rule

* Add & apply fixes for `useExplicitLengthCheck`, `useAtIndex` and `noNonNullAssertedOptionalChain`

* Bumped biome to 2.2.3

* Fixed a few syntax errors

* Removed trailing globstars since biome actually fixed their shit

* Final clean up

* foobarbaz

* Fixed remaining issues

* Fixed a few errors in SSUI

* fixed rounding issue

* Fixed test to not round funky

* Fixed biome false positive for vitest hooks

* Apply biome:all

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
2025-09-08 10:35:18 -05:00
NightKev
d8fa0ff083 Merge branch 'beta' into hotfix-1.10.7 2025-09-07 18:21:37 -07:00
Sirz Benjie
8fdd5043c3
[Bug] [Ability] Prevent message flyout spam for sturdy, damp, and a few other abilities (#6507)
* fix: prevent message spam for many abilities

* Update src/data/abilities/ability.ts
---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-09-07 18:39:52 -05:00
Wlowscha
d0f5b3f613
[Refactor][UI/UX] Reorganize UI files (#6503) 2025-09-07 13:05:40 -07:00
Bertie690
8b95361d61
[Dev] Added egg move parse script & script type checking (#6116)
* Added egg move parse utility script

* Update interactive.js

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

* Update interactive.js

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

* Update interactive.js

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

* Applied kev's reviews

* Removed `basePath` from tsconfig

the docs literally recommend against using it so yeah

* Fixed up configs so that script folder has its own file

* Reverted changes to egg move contents

* renamed boilerplate so biome doesn't lint it

* Fix `jsconfig.json` so that it doesn't typecheck all of `node_modules`

See https://github.com/microsoft/TypeScript/issues/50862#issuecomment-1565175938 for more info

* Update tsconfig.json

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

* Updated workflows and fixed issues

* Removed eslint from linting workflow

* Fixed type error in d.ts file to shut up linters

* Reverted test-filters.yml

* Update biome.jsonc

* Update decrypt-save.js comment

* Update interactive.js

* Apply Biome

* Fixed type errors for scripts

* Fixed biome from removing tsdoc linkcodes

* Update test/@types/vitest.d.ts

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-09-07 11:35:52 -07:00
Anthony
ad61a28e88
[Bug] Moody Can't Lower Stats at +6 (#6481) 2025-09-06 06:46:13 +00:00
Bertie690
d630c106e0
[Test] Improved typing on BattlerTagData and ArenaTagData; improved test matchers (#6338)
* Improved typing on `BattlerTagData` and `ArenaTagData`
* Added dragon cheer/focus energy tests
* Cleaned up descs
2025-09-05 21:50:37 -05:00
Bertie690
309e31e196
[Bug] Future Sight no longer crashes after catching the user (#6479) 2025-09-05 14:38:01 -04:00
Bertie690
d5e6670456
[Refactor] Remove null from PhaseManager.currentPhase signature
https://github.com/pagefaultgames/pokerogue/pull/6243

* Added `toBeAtPhase` + removed `null` from phase manager current phase signature

* Removed bangs from various calls to phase manager

* Update phase-manager.ts

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

* ran biome

* Fix missing bang

* Simplify TSDoc

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-09-05 09:28:35 -07:00
Wlowscha
fce317a87a
[Documentation][Move] Add edge case to helping hand (#6340) 2025-09-05 09:21:28 -07:00
Bertie690
669ed76daf
[Misc] Cleaned up implementation of ChargeMove mixin (#6466)
Co-authored-by: Wlowscha <54003515+Wlowscha@users.noreply.github.com>
2025-09-04 11:01:24 +02:00
Wlowscha
1a06010820
[UI/UX][Refactor] Remove redundant references to globalScene.uiTheme (#6472)
Removed most references to globalScene.uiTheme
2025-09-03 19:17:19 +02:00
Sirz Benjie
4a28773929
[Bug] [Move] Fix poltergeist crash when no remaining enemies (#6473)
* fix: poltergeist crash with no target

* fix: adjust move phase history
2025-09-03 02:44:43 +00:00
Fabi
9fc31350f8
[Bug] Fix monotype selector image (#6471) 2025-09-03 02:07:40 +00:00
Xavion3
bd7de61a56 Improve error handling when playing unloaded sounds 2025-09-02 06:53:55 +10:00
Bertie690
17c28c4024
[Bug] Fix monotype challenge using unlocalized type names (#6438) 2025-09-01 05:57:46 -07:00
AJ Fontaine
231cfd040c
[Balance] TM tier changes 1.10.6 (#6461)
* TM tier changes 1.10.6
2025-08-31 13:47:53 -04:00
Fabi
58ba29a1be
[Bug] Fix soak message i18n key (#6443) 2025-08-27 01:23:37 -07:00
Bertie690
1f2788a438
[Bug] Fix Soak message key not being in camel (#6439) 2025-08-26 20:47:12 -07:00
Wlowscha
63c1c34746
[Hotfix] Fix tyrogue evo (#6414)
* Fixed tyrogue evo condition

* Added test for tyrogue evolution

* Update src/data/balance/pokemon-evolutions.ts

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

* Update src/data/balance/pokemon-evolutions.ts

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

* Update src/data/balance/pokemon-evolutions.ts

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

* Added missing typeof in suggestion

---------

Co-authored-by: Bertie690 <136088738+Bertie690@users.noreply.github.com>
2025-08-26 06:57:11 +00:00
Sirz Benjie
88e42ba4c4
[Balance][ME]Tweak weird dream do a party heal in option 1, random tera, and no longer revive pokemon in hardcore (#6409)
* Tweak weird dream option 1

Transfer HP ratio and status onto transformed pokemon

* Make weird dream randomize tera type
2025-08-26 06:54:26 +00:00
Sirz Benjie
4b8c064335
[Bug] [Ability] Fix berserk multi proc (#6402)
* Fix berserk activating multiple times with multi strike

* Apply kev's suggestions from code review

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

* Update doc comments

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-08-24 19:47:52 -05:00
Sirz Benjie
6fac1a5052
[Bug] [Ability] Fix cute charm (#6399)
Fix cute charm not working
2025-08-24 17:49:28 -05:00
Sirz Benjie
cd610ff2c5
[Bug] [Ability] Fix trace's RNG (#6398)
* Fix rng in trace

* Fix undefined var
2025-08-24 16:24:12 -05:00
Bertie690
0f8b1f63b5
[Bug/Ability] Fixed bugs with Intimidate triggers after reload/initial switch (#6212)
* Added TODO test case + documentation for failing intim test

* Fixed comment

* Fixed intimidate bugs fr fr

* Update src/data/phase-priority-queue.ts

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

* Update src/data/phase-priority-queue.ts

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

* Cleanup remove phase logic

* Do not add unnecessary activateAbilityPhases for pokemon that do not have their passive enabled

* Remove leftover log messages

* Add TODO comment

Co-authored-by: Bertie690 <136088738+Bertie690@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-08-24 14:09:16 -05:00
Sirz Benjie
049932c001
[Bug] Fix status effects overwriting each other (#6392)
* Ensure status effects from same source interaction cannot override each other

* Update test/status-effects/general-status-effect.test.ts

Co-authored-by: Bertie690 <136088738+Bertie690@users.noreply.github.com>
2025-08-24 12:51:16 -05:00
Wlowscha
ae58f9de4f
[Hotfix] Leech Seed does not get cleared when user faints (#6388)
Lapsing leech seed tag even when source has left field
2025-08-24 08:58:27 -05:00
Fabi
1b2c694084
[bug/i18n] Fix stealth rock message (#6377)
replace pokemonName with pokemonNameWithAffix
2025-08-23 17:26:12 -05:00
Bertie690
af963c7902
[Bug] Fixed delayed attacks pushing to move history twice on charging turn (#6371) 2025-08-23 16:00:00 -05:00
damocleas
cd137062ea
Fix Option 1 Leftovers text in Trash to Treasure encounter 2025-08-23 13:28:09 -04:00
Sirz Benjie
99bf639ea7
[Bug] [Move] Fix pollen puff (#6363)
* Ensure pollen puff does not heal enemy after damage

* Add test to ensure pollen puff does not heal enemy
2025-08-23 11:42:10 -05:00
Blitzy
873e12f9ad
[Balance] Clamperl Egg Moves / Passive Tweaks (#6365)
Clamperl changes
2025-08-23 11:42:02 -05:00
Sirz Benjie
3dd1948634
[Misc] Fix circular dep (#6361) 2025-08-23 10:00:00 -05:00
NightKev
8b371395bc
[Bug] Fix typo in i18n key for second Berries Abound ME option (#6354) 2025-08-23 09:43:56 -05:00