Commit Graph

56 Commits

Author SHA1 Message Date
Bertie690
f48ec4c51e
[Dev] Ensure i18n module is initialized immediately when imported (#6317)
* [Dev] Ensure `i18n` module is initialized immediately when imported

* Fixed missing await?

* Update src/main.ts

* Update init.ts

* Update src/main.ts

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

* Update src/plugins/i18n.ts

* Update trainer-config.ts

* ran biome & made `@module` comment

* Update src/plugins/i18n.ts

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

* Update src/plugins/i18n.ts

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

* Fixed import typo

* flubber

* Ran Biome

* foo

* Remove default re-export of `i18next`

* Update i18n.ts

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

* fixde import issues

* Move `i18n` initialization to `main.ts` from `init.ts`

* Remove some redundant & incorrect comments from `trainer-config.ts`

* Fix tests

* Apply Biome

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-12-17 18:39:30 -08:00
Blitzy
c7b563e498
[Balance Hotfix] Slight Alterations to PR#6747 (Trainers) (#6755)
Update trainer-config.ts

Co-authored-by: damocleas <damocleas25@gmail.com>
2025-11-06 10:08:11 -05:00
Blitzy
ef3d950464
[Balance Hotfix] Miscellaneous Trainer Changes (#6747)
* Update trainer-config.ts

* Update trainer-config.ts

* fix sinischa

now shares party slot with Polteageist anyways

* Linting, remove redundant evil team admin money multipliers

The money multiplier is already set via initForEvilTeamAdmin, and this just removes redundancy.

* Update trainer-config.ts

* Buzzwole is no longer Rogue Ball gendered

---------

Co-authored-by: damocleas <damocleas25@gmail.com>
Co-authored-by: Madmadness65 <blaze.the.fireman@gmail.com>
Co-authored-by: Madmadness65 <59298170+Madmadness65@users.noreply.github.com>
2025-11-04 18:52:22 -05:00
Blitzy
5a8ff3a47f
[Balance Hotfix] Remove Evil Team Admin special properties at Wave 164 (#6746)
* Update trainer-config.ts

* Update trainer-config.ts

* Update trainer-config.ts

---------

Co-authored-by: damocleas <damocleas25@gmail.com>
2025-11-04 12:11:16 -05:00
Blitzy
17ac20ef0b
[Hotfix] Fix Flare Admins using wrong pool (#6742)
* Update evil-admin-trainer-pools.ts

* fixes

* add comment

---------

Co-authored-by: damocleas <damocleas25@gmail.com>
2025-11-03 17:49:19 -05: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
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
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
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
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
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
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
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
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
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
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
github-actions[bot]
b0f126430b
Release v1.10.0 to beta (#6321)
* Stage release v1.10.0

* [GitHub] Workflows will now run on `release` branch (#6329)

* [Beta] [Balance] Add Wild Evo Delay to Gallade / Froslass (#6324)

* Update pokemon-evolutions.ts
---------
Co-authored-by: damocleas <damocleas25@gmail.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>

* [Beta] [Balance] Fix Wrong Teras in Trainer Config (#6326)

* Update trainer-config.ts
---------
Co-authored-by: damocleas <damocleas25@gmail.com>

* Revert #6307 "Remove duplicate animation json for ... variants" (#6332)

Revert "[Refactor][Sprite] Remove duplicate animation json for shinies, sprite-based variants (#6307)"

This reverts commit 7bdb62ed1d.

* [Beta] Fresh Start no longer overrides IV unlocks (#6333)

Unpack ivs when copying dexData

* [UI/UX] Always show starter's natures and ivs in evolution's dex entry (#6335)

Natures and ivs use starter's dexEntry

* [Bug] Sheer Force no longer boosts Fickle Beam; Focus Energy gives +2 crit instead of +1 (#6331)

[Bug] Sheer Force no longer boosts Fickle Beam; Focus Energy correctly gives +2 crit stages instead of +1

* Restricted party options for fainted mons in hardcore (#6336)

* [Challenge] No hardcore breeder (#6334)

Disallow expert breeder encounter in space

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

* [Bug] [Beta] Fix trick room message (#6327)

Fix trick room's arena tag message

* [Beta][Bug][UI/UX] Fix broken candy upgrades (#6322)

* Candy upgrades change permanent starter data again

* Updating cost icon and passive bg in starter select after buying pokédex upgrades

* [Beta] [Balance] Even More 1.10 Balance Changes (Egg Moves + Passive Changes) (#6339)

1.10 Egg Moves and Passives pt 3

* [Bug][Sprite] Remove fake Deerling variants (#6330)

* Remove fake Deerling variants

* Remove unused json

* [Bug] Ensure MEs disabled in a challenge mode only do so while challenge is active (#6337)

* Ensure MEs disabled in a challenge mode only do so while challenge is active

* Optimize checking disallowed challenges

* [Misc] Moved `scrapeTrainerNames` to a script; removed `selfStatLowerMoves` (#6258)

* Removed scrape trainer names

* Removed `selfStatLowerMoves`

* Update move.ts

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

* Started work on the script again

* Made script actually work

* Made finishing touches on script

* Fixed main repo code to not expect snake cased locale strings

* Update trainer.ts

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

* Remove biome ignore range

* Fix typedoc.json

* rename `getRandomLocaleKey` to `getRandomLocaleEntry`

---------

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

* Update locales

* [Balance] [ME] Trash to Treasure Option 1 Adjustment (#6341)

* Update trash-to-treasure-encounter.ts

* Update trash-to-treasure-encounter.test.ts tests

* [Misc] [UX] Add Daily Run Achievement, Re-Arrange Achievements, Replace some Icon Sprites (#6292)

* wip achievement changes

* Adjust egg image sizes, re-export item atlas

* painful eggs

* Add egg to legacy UI, re-export item atlas

* run biome

* Update achievement.test.ts

* Fix achievement test file

* Fix tera stellar missing icon path

* Fix achievement test file

* egg s

* Optimize new images, re-export item atlas

* update pngs and locale

* add daily achv and other sorting

* Optimize ribbons, re-export item atlas

* Bump to version 1.11.0

* more changes, waiting on pngs

* Update package.json

* ribbon fixes

* images!

* Optimize images, re-export item atlas

* final fix

---------

Co-authored-by: Madmadness65 <blaze.the.fireman@gmail.com>
Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>

* [Bug] [UI/UX] [Beta] Fix visibility of egg moves in ssui (#6343)

Fix visibility of egg moves when backing out of fresh start and back into ssui

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: Blitzy <118096277+Blitz425@users.noreply.github.com>
Co-authored-by: damocleas <damocleas25@gmail.com>
Co-authored-by: Wlowscha <54003515+Wlowscha@users.noreply.github.com>
Co-authored-by: Bertie690 <136088738+Bertie690@users.noreply.github.com>
Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
Co-authored-by: AJ Fontaine <36677462+Fontbane@users.noreply.github.com>
Co-authored-by: Madmadness65 <blaze.the.fireman@gmail.com>
2025-08-22 19:13:37 -05:00
Mourouh
7f49a35d6b
[Balance] Minor Trainer adjustments (#6308)
Remove WEAKER templates, adjust Twins, add rare seen encounters to trainers (Slakoth, Bounsweet) (not Beldum)

Co-authored-by: damocleas <damocleas25@gmail.com>
2025-08-20 19:19:49 -04:00
fabske0
effa45228e
[i18n] Change i18n keys to be camel case Part 4 (#6290)
* change run-history

* change menu

* change settings

* change splash texts

* Change trainer classes

* change trainer names

* Change trainer titles

* fix trainer config comments and `setTitle()`

* change challenges

* update challenge 2

* change pokedex ui handler

* Update locales submodule
2025-08-19 13:17:23 -07:00
Blitzy
907e3c8208
[Balance] Updates to Twins Trainer Class Pool (#6239)
* Update trainer-config.ts

* Update trainer-config.ts

* Update trainer-config.ts

* Update trainer-config.ts

---------

Co-authored-by: damocleas <damocleas25@gmail.com>
2025-08-12 01:10:35 -04:00
Madmadness65
f0a56a3049
[Sprite] Add unique trainer sprite for Rocket Boss Giovanni (#6235) 2025-08-09 02:15:33 +00:00
Blitzy
8a66cfe40b
[Bug] Fix Poké Fan in Trainer Config (#6238)
Fix Poke Fan in Trainer Config
2025-08-08 15:28:33 -04:00
Blitzy
98d957de75
[Balance] Champion Team Adjustments (#6132)
* Update Morty

* Update trainer-config.ts

---------

Co-authored-by: damocleas <damocleas25@gmail.com>
2025-08-08 02:58:40 +00:00
Blitzy
ae9f03e060
[Balance] Evil Leader Adjustments (#6133)
* Update trainer-config.ts

* Update Starmobiles to use their mainline movesets

* Update Starmobile forms and Trainer Config

---------

Co-authored-by: damocleas <damocleas25@gmail.com>
2025-08-07 21:45:37 -05:00
Blitzy
8a2b888971
[Balance] Update and Change Breeder Trainer Class Teams (#6200)
* Update Breeder Trainer Class

* Update trainer-config.ts

* Update trainer-config.ts

* Update whirlwind.test.ts

* Update src/data/trainers/trainer-config.ts

Co-authored-by: AJ Fontaine <36677462+Fontbane@users.noreply.github.com>

* Adjust Party Templates and move Wynaut

* Update trainer-party-template.ts

---------

Co-authored-by: damocleas <damocleas25@gmail.com>
Co-authored-by: AJ Fontaine <36677462+Fontbane@users.noreply.github.com>
2025-08-03 16:53:10 -04:00
Bertie690
19730f9cf0
[Misc] Moved + cleaned up string manipulation functions (#6112)
* Added string utility package to replace util functions

* Changed string manipulation functions fully over to `change-case`

* Fixed missing comma in package.json

trailing commas when :(

* fixed lockfile

* Hopefully re-added all the string utils

* fixed package json

* Fixed remaining cases of regex + code dupliation

* Fixed more bugs and errors

* Moved around functions and hopefully fixed the regex issues

* Minor renaming

* Fixed incorrect casing on setting strings

pascal snake case 💀

* ran biome
2025-07-27 13:59:03 -07:00
AJ Fontaine
583b3758c0
[Dev] Move Fixed Battle Configs to own file (#6054) 2025-07-15 21:54:15 -07:00
NightKev
8cf1b9f766
[Dev] Enable Biome import sorting (#6052)
* [Dev] Enable Biome import sorting

Additional changes:

- Implement import aliases

- Convert default exports to named exports

- Remove relative imports

* Apply changes

* Misc fixes

* Merge cleanup
2025-07-13 00:21:25 -07:00
NightKev
4fc77e4de9
[Dev] Update Biome to 2.0.0 (#6004)
* Run `npm audit fix`

* Update Biome to 2.0.0

* Migrate `biome.jsonc` to 2.0

* Apply Biome and fix some suppression comments

* Fix some suppression comments and update config

* More config updates

Added at "error": `noUnusedLabels`, `noThisInStatic`

Changed `useDefaultParameterLast` from "off" to "warn"

Changed `noDocumentCookie` (from recommended) from "warn" to "off"

Changed `noExcessiveCognitiveComplexity` from "warn" to "info"

* Add a bunch of rules

* Apply Biome safe fixes

* Apply Biome unsafe fixes

* Remove irrelevant `useSelfClosingElements` rule

* Upgrade already followed rules to "error"

* Remove unnecessary type cast

* Disable fixer for `useDefaultParameterLast`

* Disable `useJsonImportAttribute` rule and revert changes

* Fix `mockImage.ts`

* ...there's a `@ts-nocheck` in this file

* Use whole-file lint suppression comment in `version_converter.ts`

* Add a couple comments to `biome.jsonc`

* Remove ESLint packages and GitHub workflow
2025-06-20 23:24:11 -07:00
AJ Fontaine
e3108603e3
[Refactor] Rework evolution conditions and descriptions (#5679)
* Refactor evo conditions and descriptions

* Fix test

* Fix Shedinja

* Simplify Gimmighoul evolution

* Primeape and Stantler evolve by using their move 10 times

* Basculin white stripe evolves by taking 294 recoil damage

* Primeape and Stantler use modifiers for tracking

* Basculin uses modifier too

* Remove evo count from pokemon data

* No more evo counter data, Gallade/Froslass

* Fix allmoves import

* Clamperl

* Struggle shouldn't count for Basc recoil

* Change to nicer type

* Apply Benjie's suggestions

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

* Address formatting

* Undo new evolution changes

* Remove unused imports

* Fix speciesid

* Fixed up descriptions a little

* Change a key name

* Fix Gimmighoul

* Apply Biome

* Apply Biome unsafe fixes

* Review suggestions

- Convert `EvoCondKey` enum to `const` object

- Use early returns in `SpeciesEvolutionCondition#description`
and `SpeciesFormEvolution#description`

- Replace `!!x.find` with `x.some`
and `y.indexOf() > -1` with `y.includes()`

- Implement `coerceArray`

- Fix Shelmet evolution condition
checking for Shelmet and not Karrablast

- Remove unnecessary type casting in `battle-scene.ts`

* Remove leftover enforce func loop

* Fix circular imports issue

- `getPokemonSpecies` moved to `src/utils/pokemon-utils.ts`
- `allSpecies` moved to `src/data/data-lists.ts`

---------

Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-06-16 05:57:51 -07:00
NightKev
7c6189e812
[Refactor] Create utility function coerceArray (#5723)
* [Refactor] Create utility function `makeArray`

This replaces the `if(!Array.isArray(var)) { var = [var] }` pattern

* Replace `if` with ternary, rename to `coerceArray`

* Add TSDocs

* Improve type inferencing

* Replace missed `Array.isArray` checks

* Apply Biome

* Re-apply changes to phase manager

* Re-apply to `SpeciesFormChangeStatusEffectTrigger` constructor

Apply to new instances in test mocks
2025-06-12 21:30:01 -07:00
Sirz Benjie
1029afcdbf
[Refactor] Remove circular dependencies (part 4) (#5964)
* Add abilityAttr.is methods

* [WIP] move modifier stuff around

* Untangle circular deps from modifiers

* Move unlockables to own file

* Untangle all circular deps outside of MEs

* Move constants in MEs to their own files

* Re-add missing import to battle.ts

* Add necessary overload for getTag

* Add missing type import in weather.ts

* Init modifier types and pools in loading-scene

* Remove stray commented code

* Apply kev's 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-06-11 19:42:04 -07:00
Sirz Benjie
48e911e03c
[Refactor] Remove circular deps 3 (#5959)
* Move game-mode to its own file

Reduces circular imports to 325

* Move battler-index to own file

Reduces circular deps to 314

* Move trainer-variant to own file

Reduces circ deps to 313

* Move enums in pokemon to their own file

* Move arena-tag-type to its own file

* Move pokemon-moves to its own file

* Move command to own file

* Move learnMoveType to own file

* Move form change item to own file

* Move battlerTagLapseType to own file

* Move anim enums to own shared file

* Move enums out of challenges

* Move species form change triggers to own file

Reduces circ imports to 291

* Update test importing pokemon move

* Replace move attribute imports with string names

* Untangle circular deps from game data

* Fix missing string call in switch summon phase

* Apply kev's suggestions from code review

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

* Ensure ChargeMove's is method calls super

* Use InstanceType for proper narrowing

* Apply kev's 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-06-09 16:24:13 -07:00
Bertie690
1ff45687c5
[Refactor] Merged interfaces/ into @types/; removed runtime orphan modules
https://github.com/pagefaultgames/pokerogue/pull/5951
2025-06-07 17:28:01 -07:00
NightKev
9dcb904649
[Misc] Improve enum naming (#5933)
* Rename `Abilities` to `AbilityId`

* Rename `abilities.ts` to `ability-id.ts`

* Rename `Moves` to `MoveId`

* Rename `moves.ts` to `move-id.ts`

* Rename `Species` to `SpeciesId`

* Rename `species.ts` to `species-id.ts`

* Rename `Biome` to `BiomeId`

* Rename `biome.ts` to `biome-id.ts`

* Replace `Abilities` with `AbilityId` in comments

* Replace `Biome` with `BiomeId` in comments

* Replace `Moves` with `MoveId` in comments

* Replace `Species` with `SpeciesId` in comments
2025-06-04 14:54:27 -07:00
NightKev
68dddbc424
[Dev] Enable Biome checking of pokemon.ts (#5720)
* [Dev] Enable biome parsing of `pokemon.ts`

* Apply unsafe fixes

* Add + apply rule disallowing the use of the `integer` type alias

* Fix typo in comment; remove unnecessary `!!`

* Re-apply Biome after merge

* Re-apply Biome "unsafe" fixes after merge

* Fix import

* Add comment to `getFusionIconAtlasKey` too
2025-05-27 07:50:54 -07:00
Jimmybald1
998619e7e5
[Bug] IVs of trainers were incorrectly using the battle seed (#5822)
* Fixed IVs of trainers using the Battle Seed.

* Renamed the randSeedInt functions that use the Battle Seed to randBattleSeedInt functions

* Incorrectly used this in common

* Fixed tests that were still calling the old function name

---------

Co-authored-by: damocleas <damocleas25@gmail.com>
Co-authored-by: Bertie690 <136088738+Bertie690@users.noreply.github.com>
Co-authored-by: AJ Fontaine <36677462+Fontbane@users.noreply.github.com>
Co-authored-by: Dean <69436131+emdeann@users.noreply.github.com>
Co-authored-by: lxy-lxy-lxy <55084073+lxy-lxy-lxy@users.noreply.github.com>
Co-authored-by: Xavion3 <xavion333@gmail.com>
Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
Co-authored-by: Lylian BALL <131535108+PyGaVS@users.noreply.github.com>
Co-authored-by: Jimmybald1 <147992650+IBBCalc@users.noreply.github.com>
2025-05-17 10:36:16 -05:00
AJ Fontaine
b353b0de62
[Hotfix] Fix evil grunts using wrong template (#5763) 2025-05-03 22:59:37 -07:00
Blitzy
69df76dd88
[Balance] Elite 4 tweaks (#5706)
* Update trainer-config.ts

* Update signature-species.ts

* Update trainer-config.ts

* Fix Notes

---------

Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
Co-authored-by: damocleas <damocleas25@gmail.com>
2025-04-28 15:40:58 -05:00
AJ Fontaine
5de567a3db
[Balance] Wave 90 gym leader has 5 mons (#5699)
5 mons on wave 90
2025-04-23 21:18:03 +00:00
AJ Fontaine
b49c994d2d
[Balance][Refactor] Move fixed boss waves enum to file, adjust GL templates (#5689)
* Move fixed boss waves enum to file, adjust GL templates

* Move post return to default case

* Address comment

---------

Co-authored-by: Wlowscha <54003515+Wlowscha@users.noreply.github.com>
2025-04-23 14:48:04 -05:00
Blitzy
8515cadd77
[Balance] Update Gym Leader Teams and Teras (#5670)
* Update Gym Leader Teams

* Set Tera slots for Gym Leaders

* Change Giovanni's Specialty Type to Ground

---

Co-authored-by: damocleas <damocleas25@gmail.com>
2025-04-20 00:20:07 -05:00
Sirz Benjie
5854b21da0
[Refactor] Remove circular imports part 1 (#5663)
* Extract Mode enum out of UI and into its own file

Reduces circular imports from 909 to 773

* Move around utility files

Reduces cyclical dependencies from 773 to 765

* Remove starterColors and bypassLogin from battle-scene

Reduces cyclical dependencies from 765 to 623

* Fix test runner error

* Update import for bypassLogin in test

* Update mocks for utils in tests

* Fix broken tests

* Update selectWithTera override

* Update path for utils in ab-attr.ts

* Update path for utils in ability-class.ts

* Fix utils import path in healer.test.ts
2025-04-19 11:57:03 +00:00
Madmadness65
4740b593a0
[Balance] Fix Depot Agent trainer type lacking Pokémon (#5623)
Fix Depot Agent trainer type lacking Pokémon

Also removes a stray duplicate Barboach from the Fisherman.
2025-04-15 05:27:14 +00:00
AJ Fontaine
3ec8f236f9
[Refactor] Change how rival event rewards are generated (#5638)
* Change how rival event rewards are generated

* Simplify to switch case

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

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-04-15 00:13:05 +00:00
damocleas
b41eee3c7f
Revert "[Refactor] Move many interfaces and enums to their own file" (#5661)
Revert "[Refactor] Move many interfaces and enums to their own file (#5646)"

This reverts commit c82e01eed3.
2025-04-14 12:28:36 -04:00