Commit Graph

289 Commits

Author SHA1 Message Date
NightKev
9bfe5f02d8
[Deps] Update packages and add 1d min age for package updates (#6804)
* [Deps] Update packages and add 1d min age for package updates

* Fix tests
2025-11-29 18:49:20 +01:00
NightKev
4f52627146 [Misc] Fix param typing for OverridesHelper#startingLevel 2025-11-27 20:58:36 -08:00
Bertie690
0a1cad4814
[Test] Fix incorrect path join logic in test-end-log.ts (#6756)
* [Test] Fix incorrect path join logic in `test-end-log`.ts

* Update test-end-log.ts

* remove unused import

* Apply Biome

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-11-15 08:20:50 +00:00
Bertie690
4e080465b9
[Bug] Fix Ball Fetch activating on enemy Pokemon (#6777) 2025-11-14 08:27:53 +00:00
damocleas
e438536dc3
Hotfix 1.11.3 to Beta
Hotfix 1.11.3 to beta
2025-11-08 10:31:28 -05:00
Bertie690
d8d5c12bbc
[Bug] Fix 2-turn/charging moves breaking on lack of targets (#6759) 2025-11-07 04:27:07 +00:00
Bertie690
e1aded9504
[Bug] Fix Parental Bond reducing damage of spread moves on 2nd pokemon
https://github.com/pagefaultgames/pokerogue/pull/6743

* Fix Pollen Puff interaction with Parental Bond

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-11-06 18:03:32 -08:00
Bertie690
84dc143f74
[Misc] Improve type inference on PositionalTagManager#addTag (#6676)
* Improve type inference on `PositionalTagManager#addTag`

- Remove unused `AddPositionalTagAttr`

* Improved tests

* fixed type errors

* Update move.ts

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

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-11-02 04:51:35 +00:00
Bertie690
d3088c1729
[Dev] Add more Biome rules (#6604)
* Added `noBannedTypes` as a biome rule

* Added `useShorthandAssign` rule

* Added `useConsistentArrayType`

* Update src/field/pokemon.ts

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

* Update src/data/pokeball.ts

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

* Apply Biome after merge

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-11-01 20:38:04 -07:00
Bertie690
4b9ccf5408
[Bug] Fix NoTransformAbilityAttr not doing anything (#6693)
[Bug] Fix `NoTransformAbilityAttr` not doing anythin
2025-11-01 23:18:04 +00:00
Wlowscha
f2f8cc67ba
Merge branch 'beta' into cached-fetch 2025-11-02 00:13:59 +01:00
Bertie690
f41752c3f9
[Test] Fix test end log check mark (#6726)
* [Test] Fix test end log check mark

heavy check mark looks weird on more fonts than the normal one

* Added variant selector codepoint to force rendering as thin version

* Update test/test-utils/setup/test-end-log.ts

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

* Changed checkmark back to normal one

idfk how this works maaaan

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-11-01 23:09:36 +00:00
Wlowscha
e92ae80b7d
Merge branch 'hotfix-1.11.2' into disable-illusion 2025-11-01 00:56:18 +01:00
Wlowscha
a4b11d901e
Merge branch 'hotfix-1.11.2' into shiny-daily-starters 2025-11-01 00:37:57 +01:00
Bertie690
fb274077c2 Reworked regex to use matchAll, added error handling + tests 2025-10-31 19:01:51 -04:00
Dean
525ba57461 Review changes 2025-10-31 15:46:43 -07:00
Dean
a0d3e42f3b
Merge branch 'hotfix-1.11.2' into quick-claw 2025-10-31 15:34:04 -07:00
Dean
e78796077b Disable Illusion 2025-10-31 13:22:40 -07:00
Dean
df98e506ad
[Bug] Prevent self speed ties (#6719)
* Prevent self speed ties

* Remove outdated parameter doc

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-10-31 00:38:49 -04:00
Dean
9a4381c776 Re-Add MovePriorityModifier 2025-10-30 18:58:06 -07:00
NightKev
3159846c50 [Test] Update some sprite tests to give useful errors on fail 2025-10-30 16:00:28 -07: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
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
ab2d5bcfb5 [Tests] Cleaned up cachedFetch test stub 2025-10-27 21:12:14 -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
Bertie690
64176a0920
[Test] Cleaned up enum test utils (#6653)
* added type tests
* Update test/test-utils/string-utils.ts
* Update docs

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-10-26 13:03:46 -05:00
Bertie690
82181c5264
[Test] Remove duplicate fake out test (#6691) 2025-10-25 17:55:36 -07: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
Anthony
7d8ccfb745
[Bug] Stats that were reset from moves display properly as being reset
https://github.com/pagefaultgames/pokerogue/pull/6650

* Stats display properly after moves reset stats

* Update test/moves/clear-smog.test.ts

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

* Removed unnecessary test for Clear Smog

---------

Co-authored-by: Bertie690 <136088738+Bertie690@users.noreply.github.com>
2025-10-22 23:25:14 +00:00
NightKev
71c1f44f91 [Test] Fix typo in Mat Block test 2025-10-22 16:22:59 -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
Fabi
bcc79a6118
[UI/UX] Add option to release Pokemon in shop phase (#6665)
* add `release` option to shop phase

* Fix test

* Don't show `release` option during switch
2025-10-17 22:52:25 -04:00
NightKev
ffbaf311c6
[Beta] Pixilate/etc no longer affect non-Normal type moves (#6661) 2025-10-16 14:27:13 -07:00
Bertie690
112963637a
[Test] Improved liquid ooze test file to use updated test utils (#6633) 2025-10-07 23:42:27 -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
Wlowscha
06fe3c7b76
[UI/UX] Add option to see ribbons in Pokédex (#6596)
* Added various ribbon utils

* Added ribbon tray to pokédex page

* V button in Pokédex toggles IVs

* Introduced visibility toggle

* Added ribbons (and full ivs) to unlocks file

* For real this time

* Added descriptions to the ribbons

* Fixed bug of tray not opening with visibility option on

* Minor cleanup of ribbon tray

* Use unique ribbon icons

* Make achv use image instead of sprite

* Tweak size of ribbons

* Improve clarity on comment

---------

Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
2025-10-07 23:29:19 -05:00
NightKev
b76ecf55fd
[Dev] Add isApp & build:app for AdmiralBilly's offline app (#6632)
- Consolidate `isBeta`/etc into `src/constants/app-constants.ts`

- Rename `isLocal` to `isDev`

- Replace `import.meta.env.DEV` with `isBeta || isDev`
2025-10-06 18:51:33 -07: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
Sirz Benjie
bbd5aefc81
fix: camel case liquid ooze 2025-10-06 11:36:46 -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
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
Bertie690
a13ea90e46
[Misc] Rename Pokemon.isMoveRestricted to hasRestrictingTag (#6628) 2025-10-04 18:41:18 -05:00
NightKev
c31adf9e7b
[Balance] Enemy trainer Pokemon will have friendship based on the wave
https://github.com/pagefaultgames/pokerogue/pull/6617

The formula is `round(max friendship * (current wave / 200))`
where the max friendship value a Pokemon can have is `255`
and `current wave / 200` represents a % value based on
how far in the game you are
2025-10-03 12:09:35 -04: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
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
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
Sirz Benjie
3d69fc3b30
[AI][Beta][Bug] Ensure AI always spawns with 4 moves if it can (#6563)
* Fix minimum move count threshold and utilize baseWeights

* Mark a flaky test as TODO

* Add regression test to ensure pokemon generates with sufficient move counts
2025-09-28 22:57:01 -05:00
Wlowscha
f8edaeb1ae
[Misc][UI/UX] See stats of other users in admin panel (#6579)
* Game stats ui handler takes save data as input

* Make admin panel functional for local testing

* Added button to show stats; mocking for local testing with current save data

* Adding pokédex to admin panel

* Many nice things

* Fixed typo

* Add backend support

* Fixed button width in admin panel

* Apply suggestions from code review

---------

Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
2025-09-27 14:44:29 -07:00
Sirz Benjie
c695df777c
[Refactor][Dev] Move public to its own submodule (#6590)
* Remove public folder to prepare for submodule

* Add submodule and update licensing

* Stop serving non-asset files during build

* Update pull request template

* Update CODEOWNERS

* Add locales submodule

* Update pull request template regarding locales

* remove post-checkout lefthook in favor of git config

* chore: add license info to new script

* Update gh pages workflow

* Apply kev's suggestions from code review

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

* update assets
2025-09-27 11:01:12 -05:00
Sirz Benjie
6766940fa1
[Misc] Make the repo REUSE compliant (#6474)
* Add license information

* Add reuse lint workflow

* Add snippets for spdx

* fix: minor wording adjustments and typo fixes

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

* chore: add FileContributor attributions for Bertie

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

* begin licensing some audio assets

* Add pokemon reborn sound affect attribution

* Annotate Leavannite's section

* Add more licensing info

* Add license info to license files ._.

* Move ps1 files out of public

* Add license for animation jsons

* Add license for bat scripts in public

* Update licensing in scripts

* Fix typo in license ref

* Fix AGPL-3.0-or-later

* Add license info to typedoc.config.js

* Add MIT license for snippets

* chore: update license info for files in scripts

* chore: update license info

* chore: update license info

* chore: update license info

* Remove licenses used only by public before linting with reuse

* Add license info to new files added by docker PR

* chore: apply biome

* fix: add back linting workflow lost during merge

* Add attribution based on Hanniel's information

* Add attribution based on Officer Porkchop and Green Ninja's information

* add attribution to unicorn_power for reshiram/zekrom/kyurem epic variant

* Fixup minor typo

* Adjust sprite test to not think REUSE.toml is a sprite json

* Add missing continue-on-error to workflow

* fix: address kev's comments from code review

* docs: minor touchups

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: Bertie690 <136088738+Bertie690@users.noreply.github.com>
2025-09-23 08:49:03 -05:00