Commit Graph

4831 Commits

Author SHA1 Message Date
Sirz Benjie
c6ca35c4ab
[Misc] Set default for crit stage battler tag (#6192)
Set default for crit stage
2025-08-01 12:59:53 -06:00
Sirz Benjie
e50ebaa815
[Misc] Fix missing types in battler tags and remove DragonCheerTag (#6188)
* Fix missing types in battler tags

* Fix issues with dragon cheer
2025-08-01 12:51:11 -06:00
Sirz Benjie
8ef2fadce4
[Misc] Disallow using NonFunctionProperties in loadTag methods (#6185)
Disallow using NonFunctionProperties in loadTag methods
2025-07-31 19:08:41 -06:00
Sirz Benjie
4dd6eb4e95
[Misc] [Beta] Fix serializable battler tags (#6184)
Fix serializable battler tags
2025-07-31 17:57:53 -06:00
Sirz Benjie
6204a6fdcb
[Bug] [Beta] Fix serializable battler tags (#6183)
Fix serializable battler tags
2025-07-31 17:44:03 -06:00
Lugiad
12433b78e5
[i18n] Add Tagalog language support (#6170) 2025-07-31 15:13:05 -07:00
Acelynn Zhang
901f6a6812
[Bug] Fix Truant behavior (#6171) 2025-07-31 20:18:11 +00:00
Tiago Rodrigues
75ececd942
[UI/UX] Implement Discard Button (#5985)
* [feature]Implemented needed parts for discard function from issue #4780:
-TryDiscardFunction in battlescene;
-Created a party discard mode button;
-Updated Transfer button in modifier-select-ui-handler to Manage items;
-Created tests for the discard function in test/ui;
-Added images for the new discard and transfer buttons to loading-scene;
-Created placeholder messages for discard feature in party-ui-handler;

Co-authored-by: Tiago Rodrigues <tiago.n.rodrigues@tecnico.ulisboa.pt>

* [Fix] Updated icon for dynamic messaging

* [Fix] Corrected legacy mode icons and adjusted double-battle button location

* [Fix]Adjusted button positioning and mapping after review. Mapping requires debugging.

* [Fix] Fixed visible pokeball in legacy mode and key mapping

* [Fix] Background fixes,manage menu is the only one affected by changes now

* Implement i18n keys

* [Fix] implemented most code optimizations and callbacks to the modified locales folder

* [Fix] Implemented 3 suggestions

* [Fix]improved/corrected test structure

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

* [Fix] added functionality test for the discard button

* [Fix] added necessary comment

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

* [Fix] Implemented suggested changes in test/discard text prompt

* [Fix] Implemented UI suggestions and removed discard text confirmation

* [Fix] added missing imports

* Fix imports in test file

* [Fix] Implemented suggested cursor behavior and reworked test code

* [Fix] Corrected failed test

* [Fix] atempting to fix the test timeout issue

* [Fix] Undoing latest attempt

* [Fix] Implemented suggestions to fix broken tests

* Reviews

* [Fix] replaced icon images

* [Fix] Updated jsons to match new icons and removed pokeball icon from legacy mode

* Optimized new images

* [Fix] Fixed referenced bug and added similar confirmation box to release

* [Fix] Updated tests to handle the corfirmation box

* [Fix] Added back the accidentally removed changes

* [Fix]updated incorrect import path

* [fix] add description for the manageItemMode function

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

* Update src/ui/party-ui-handler.ts

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

* [Fix] corrected formating issue

---------

Co-authored-by: Mikhail Shueb <mikhail.shueb@tecnico.ulisboa.pt>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: Bertie690 <136088738+Bertie690@users.noreply.github.com>
Co-authored-by: damocleas <damocleas25@gmail.com>
Co-authored-by: Bertie690 <taylormw163@gmail.com>
Co-authored-by: Adri1 <adrien.grivel@hotmail.fr>
2025-07-31 16:14:51 -04:00
Bertie690
8b304adf14
[Refactor] Added PhaseManager.toTitleScreen (#6114)
* Added `toTitlePhase`; documented phase manager

* Documented phase methods

* Fixed syntax errors + updated signature

* Reverted all the goodies

* Fixed missing shift phase call

GHAG

* Reverted change
2025-07-31 06:27:54 +00:00
Bertie690
f7b87f3d1e
[Move Bug] Fully implemented Future Sight, Doom Desire; fixed Wish Double battle oversight (#5862)
* Mostly implemented Future Sight/Doom Desire

* Fixed a few docs

* Fixed com

* Update magic_guard.test.ts

* Update documentation

* Update documentation on arena-tag.ts

* Update arena-tag.ts docs

* Update arena-tag.ts

* Update turn-end-phase.ts

* Update move.ts documentation

* Fixed tpyo

* Update move.ts documentation

* Add assorted TODO test cases

* Refactored FS to use a positional tag manager

* Added strong typing to the manager, finished save load stufff

* Fixed locales + tests

* Fixed tests and documentation

* sh
Fixed tests for good

* Fixed MEP

* Reverted overrides changse

* Fixed issues with merging

* Fixed locales update & heal block test

* Fixed wish tests

* Fixed test typo

* Fixed wish test flaking out due to speed ties

* Fixed tests fr fr

* actually fixed tests bc i'm stupid

* Fixed tests for real

* Remove locales update

* Update arena-tag.ts

Co-authored-by: Dean <69436131+emdeann@users.noreply.github.com>

* Update move.ts

Co-authored-by: Dean <69436131+emdeann@users.noreply.github.com>

* Update arena-tag.ts

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

* Applied review suggestions and added a _wee_ bit more docs

* fixed wish condition

* Applied kev's reviews

* Minor nits

* Minor formatting change in `heal-block.test.ts`

---------

Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
Co-authored-by: Dean <69436131+emdeann@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-07-30 22:43:06 -06:00
Bertie690
12acaa9590
[Balance] Updated SF/Triage interactions for moves (#6179)
* Fixed move flags

* Disabled order up interactionn with sheer force

* Update src/data/moves/move.ts

* Removed order up test that no longer applies

shouldn't have been there in the first place
2025-07-31 03:55:52 +00:00
Sirz Benjie
9475505cd2
[Misc] Improve type signatures of serialized arena/battler tags (#6180)
* Improve type signatures of serialized arena/battler tags

* Minor adjustments to tsdocs from code review

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

---------

Co-authored-by: Bertie690 <136088738+Bertie690@users.noreply.github.com>
2025-07-30 20:59:14 -06:00
Bertie690
1ae69a4183
[Dev] Moved type helpers to separate directory; (#6123)
* [Dev] Moved type helpers to separate directory; renamed `EnumValues` to `ObjectValues` and enforced usage

* Update tsconfig.json

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

* Fixed import issue

* Updated documentation slightly

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: Dean <69436131+emdeann@users.noreply.github.com>
2025-07-30 18:17:17 -07:00
fabske0
17eeceb4f3
[UI/UX] Fix button and input field overlaps (#6013)
* [Fix] Fix button overlap

* [Fix] Fix input field overlaps

* use getWidth to determine if label should be shortened

---------

Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
Co-authored-by: damocleas <damocleas25@gmail.com>
2025-07-30 19:58:10 +02:00
NightKev
10b9cfcdb0
[Balance] End of turn triggers won't occur when you end a biome (#6169)
* [Balance] End of turn triggers won't occur when you end a biome

* Add tests

* Move phase manipulation logic into `PhaseManager`

* Rename "biome end" to "interlude"

* Rename `TurnEndPhase#endOfBiome` to `upcomingInterlude`

---------

Co-authored-by: Wlowscha <54003515+Wlowscha@users.noreply.github.com>
2025-07-29 22:50:57 +00:00
NightKev
ede2a947ca [Docs] Adjust @module doc comment in battler-tags.ts
Note that currently Typedoc is not parsing `@module` docs,
but this comment adjustment would be required if and when
it gets fixed
2025-07-29 15:31:44 -07:00
Sirz Benjie
32faab05d5
[Refactor] Minor refactor of battler tags (#6129)
* Minor refactor battler tags

* Improve documentation

* Update type when loading in pokemon-data constructor for battler tags

* Fix issues in tsdoc comments with Wlowscha's suggestions

Co-authored-by: Wlowscha <54003515+Wlowscha@users.noreply.github.com>

* Apply bertie's suggestions from code review

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

* Remove unnecessary as const from tagType

* Remove missed `as const`

* Apply kev's suggestions from code review

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

* Update src/data/battler-tags.ts

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

* Update src/data/battler-tags.ts

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

---------

Co-authored-by: Wlowscha <54003515+Wlowscha@users.noreply.github.com>
Co-authored-by: Bertie690 <136088738+Bertie690@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-07-29 17:47:24 -04:00
AJ Fontaine
b1561ce741
[ME] [Bug] Disable trades in GTS ME with only 1 valid party member
https://github.com/pagefaultgames/pokerogue/pull/6167
2025-07-29 20:15:17 +00:00
Sirz Benjie
0517d5704a
[Refactor] Mark nickname in pokemon as optional (#6168)
Mark nickname in pokemon as optional
2025-07-28 22:13:10 -04:00
AJ Fontaine
903fad89d9
[Balance][Challenge] Added expanded Fresh Start options (#6162) 2025-07-27 22:46:11 -07:00
Sirz Benjie
0c82b3f514
Improve documentation
Co-authored-by: Bertie690 <136088738+Bertie690@users.noreply.github.com>
2025-07-27 22:24:07 -06:00
Sirz Benjie
ed915dcb58
Apply kev's suggestions from code review
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-07-27 22:24:06 -06:00
NightKev
c0a42985bf
Fix imports 2025-07-27 22:24:06 -06:00
Sirz Benjie
26cbf2db8c
Update with Bertie's comments
Co-authored-by: Bertie690 <136088738+Bertie690@users.noreply.github.com>
2025-07-27 22:24:05 -06:00
Sirz Benjie
1df3ac0962
Explicitly check against Moves.NONE
Co-authored-by: Bertie690 <136088738+Bertie690@users.noreply.github.com>
2025-07-27 22:24:05 -06:00
Sirz Benjie
e1e7287919
Improve canUse computation 2025-07-27 22:24:04 -06:00
Sirz Benjie
adb5900497
Fix improperly named computeMoveId method 2025-07-27 22:24:04 -06:00
Sirz Benjie
9218d35938
Add overload for handle command 2025-07-27 22:24:03 -06:00
Sirz Benjie
22d2b4a436
Minor touchups 2025-07-27 22:24:03 -06:00
Sirz Benjie
958eb00566
Breakup commandPhase#start
Co-authored-by: Bertie690 <136088738+Bertie690@users.noreply.github.com>
2025-07-27 22:24:02 -06:00
Sirz Benjie
22b9a19ba6
Breakup run and pokemon commands 2025-07-27 22:24:01 -06:00
Sirz Benjie
0935d817e9
breakup fight and ball commands into their own methods 2025-07-27 22:24:01 -06:00
NightKev
462b423cb8
[Dev] Change target to ES2023 in tsconfig.json (#6160) 2025-07-28 00:20:02 -04:00
Bertie690
157b662f9e
[Bug] Fix camel case bug in strings.ts (#6161) 2025-07-27 20:17:46 -07:00
Sirz Benjie
c0e755c3c3
[Refactor] Prevent serialization of full species in pokemon summon data
https://github.com/pagefaultgames/pokerogue/pull/6145

* Prevent serialization of entire species form in pokemon summon data

* Apply suggestions from code review

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

* Apply Kev's suggestions from code review

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

---------

Co-authored-by: Bertie690 <136088738+Bertie690@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-07-27 18:01:44 -07: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
Sirz Benjie
1b8082a177
[Refactor] Refactor UI text ts (#5946)
* Add destroy method to pokemon-sprite-sparkle-handler

* Move TextStyle to enums, convert into const object

* Cleanup text.ts file

* Add necessary explicit types for TextStyle let vars

* Fix locales submodule commit

* Fix merge issue

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-07-27 17:46:56 +00:00
Sirz Benjie
ed8858e07d
[Bug][Beta] Make bounce delay use fixed int (#6156)
Make bounce delay use fixed int
2025-07-26 21:58:06 -05:00
Sirz Benjie
2f1cf2fc13
[Beta] [Bug] Fix shiny display issues (#6154)
Fix shininess check
2025-07-27 02:35:39 +00:00
SmhMyHead
08d7216424
[UI/UX] Added "Hide Username" Setting (#6105)
* [UI/UX] Added "Hide Username" Setting

* Mask tid with asterisk instead of hiding completely

---------

Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
2025-07-26 22:34:21 +00:00
Sirz Benjie
0ef1a34030
[Refactor][Bug] Illusion no longer overwrites data of original Pokemon
https://github.com/pagefaultgames/pokerogue/pull/6140
2025-07-26 16:07:16 -06:00
damocleas
556d588d67
[UI/UX] Replace 'Neutral' in the Arena Flyout with 'Field' (#6139)
Update arena-flyout.ts for Field > Neutral
2025-07-25 21:20:48 -04:00
Acelynn Zhang
2e3a7d47e0
[Bug] Fix Thrash continuing on caught Pokemon (#6144)
Fix Thrash continuing on caught Pokemon
2025-07-25 23:55:13 +00:00
Bertie690
ab394db9cf
[Refactor] Minor cleanup of initExpKeys (#6127) 2025-07-25 18:39:25 -05:00
Sirz Benjie
ffa3d1cfe3
[UI/UX] [Bug] Fix ModifierSelectPhase animation delay (#6121)
* Rework promise handling to ensure no races

* Add delay to ensure pokeball opening animation can be seen

* Remove leftover debug statements.

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

* Add tween bouncing pokeball to tweens that must complete for promise to resolve

* Fix typo in tsdoc

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

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: Bertie690 <136088738+Bertie690@users.noreply.github.com>
2025-07-25 20:36:21 +00:00
Acelynn Zhang
fc128a2f4c
[Bug] Fix when variable move power is called (#6126)
* Apply variable power attribute before type boost

* Update test/abilities/normal-move-type-change.test.ts

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

* Minor test improvements

---------

Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
Co-authored-by: Bertie690 <136088738+Bertie690@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-07-24 23:16:23 -07:00
Madmadness65
99545cf3c7
[Misc] Sinistea and Poltchageist line alt forms now available (#4989)
* Sinistea and Poltchageist line alt forms now available

* Unmark Poltchageist line as unobtainable, fix sprite key of alt forms

* Correct forms not being marked as starter selectable

* Reduce wild chance for Antique/Masterpiece forms

Instead of being 1/2 chance to get the Antique or Masterpiece forms, it is now only a 1/16 chance to get them.

---------

Co-authored-by: damocleas <damocleas25@gmail.com>
2025-07-25 01:45:09 +00:00
Bertie690
6ad11015f7
[Dev] Remove sanitizeOverrides, consolidate initialization code into 1 file
https://github.com/pagefaultgames/pokerogue/pull/6134

* Removed `sanitizeOverrides`

* Moved initialization code to its own file

* Hopefully fixed test contamination

* Actually listened to people now

* fixed the thingy

* Run stub setup on init because

* Update testFileInitialization.ts

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

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-07-25 01:23:13 +00:00
Acelynn Zhang
6211fbd471
[Bug] Unblock priority spread under Psychic Terrain (#6136)
Unblock priority spread under Psychic Terrain

Co-authored-by: Acelynn Zhang <acelynnzhang@Acelynns-MacBook-Pro.local>
2025-07-25 01:05:14 +00:00
Sirz Benjie
51d4c33de0
[Misc] Standardize-file-names (#6137)
* Standardize filenames to kebab-case

Co-authored-by: pymilkmaiden <cassiopeiamahler56@gmail.com>

* Move script outside of public folder

* Move update_exp_sprites to scripts

* Add ls-lint to lint file and directory names

* Update lefthook.yml to skip merge / rebase on all pre-commit commands

---------

Co-authored-by: pymilkmaiden <cassiopeiamahler56@gmail.com>
2025-07-24 16:38:31 -04:00
Lugiad
58876a2086
[UI/UX] [Localization] Apply single-column Game Stats to more languages (#6135)
Apply sigle-column Game Stats to more languages
2025-07-24 11:48:52 -04:00
Sirz Benjie
ef843debee
[UI/UX] Allow adjustable column count in stats-ui-handler
https://github.com/pagefaultgames/pokerogue/pull/6087

* Make column count modular

Co-authored by: ShinigamiHolo <128856544+ShinigamiHolo@users.noreply.github.com>

* Make game stats ui handler use phaser method chaining

* Adjust max cursor calculation

* Make arrowUp start invisible

* Add implementations for setFlip methods in MockSprite

* Misc cleanup

* Address kev's review comments

* Address kev's review comments

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

* improve clarity of doc comment

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

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: Bertie690 <136088738+Bertie690@users.noreply.github.com>
2025-07-23 23:06:17 -04:00
Sirz Benjie
b1e1a383fb
[Bug] Appropriately load delayed attack when target index was player
https://github.com/pagefaultgames/pokerogue/pull/6128
2025-07-22 16:10:43 -07:00
Sirz Benjie
069e8a47d6
[Bug][Refactor] Fix loading arena tags (#6110)
* Improve type safety; add missing loadTag overrides to wish and neutralizing gas

* More automatic type safety for arena tags

* Fixup wording of lead comment in arena-tag.ts

* Apply kev's suggestions from code review

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

* Allow abstract constructors for arena methods

* Address dean's comments from code review

* Add missing newline after interface definition

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

* Apply suggestions from code review

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

* Apply suggestions from code review

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

* Format with biome

* Update tsdoc of ConditionalProtectTag

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

* 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>
Co-authored-by: Bertie690 <136088738+Bertie690@users.noreply.github.com>
2025-07-22 11:26:27 -07:00
Bertie690
6937effa16
[Misc/Docs] Assorted code cleanups + doc updates (#5745)
* Squashed changes into 1 commit, reverted unneeded stuff

* Update ability-class.ts comments

* Update move.ts comments

* Fixed flaky test

* Applied PR reviews

* Update move.ts

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

* Fixed ab code

* Added comment for BattlerIndex

* ddd

* ren biome

* Update battler-tags.ts

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

* Update battler-tags.ts

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

* Update pokemon.ts

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

* Update pokemon.ts

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

* Update pokemon.ts

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

* Fixed the things

* Fixed up a few `default` stuff and random enum stuff

* Update move.ts comments

* Revert change to pokemon.ts

* Update battle-scene.ts

* fixed import oopsie

* Update src/field/pokemon.ts

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

* Update src/data/abilities/ability.ts

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

* Update src/data/abilities/ability.ts

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

* Fix incorrect TSDoc

* Update ability.ts

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

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-07-22 10:28:10 -07:00
podar
56e3402c81
[Bug] [QoL] Updating manifest fetching to be more resilient for local development and offline builds. (#4735)
* Fixing local development and offline builds

* Update src/main.ts

---------

Co-authored-by: Moka <54149968+MokaStitcher@users.noreply.github.com>
2025-07-22 00:08:17 -05:00
Bertie690
a382554256
[Test/Ability] Cleaned up Magic Guard/battle tests; fixed innards out interaction (#5911)
* Fixed tests for Magic Guard, Battle phase; fixed innards out stuff

* Fixde magic guard aftermath

* fixed tests

* Fixed innards out

* fixed using sizzly slide instead of will o wisp to inflict burn

* ran boime

* Readd simulated oopsie

* Fix HJK test to use protect + docs and such

* Apply Biome

---------

Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-07-21 17:42:27 +00:00
Madmadness65
1428d8b870
[Balance] Add faint trigger to various form changes (#6122)
* [Balance] Add faint trigger to Battle Bond Greninja's form change

The form change functionality will now be slightly closer to Generation 7/8, as the Greninja will now revert from Ash form to Battle Bond form upon fainting.

* Change how the form change on faint is triggered

It is no longer directly handled by the faint phase, and is instead part of the abilities now, as more than Battle Bond Greninja revert via this method (Disguise Mimikyu, Power Construct Zygarde).

* Adjust Disguise test
2025-07-20 18:59:01 +00:00
NightKev
8dd6608e10
[UI] Status moves only show 1x or 0x for effectiveness hints (#6119) 2025-07-20 09:48:27 +02:00
Sirz Benjie
2388372cca
[Dev] Add support for manually rolling polyfills. Add polyfill for promise.withResolvers (#6103)
* Add polyfill for Promise.withResolvers

* Import polyfills in main

* Apply kev's suggestions from code review

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

* Address comments from code review

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-07-19 09:06:32 -07:00
damocleas
4f4ca5f0c7
[Art][Sprite] Improve Plains Background, add Biome Props (#6118)
* Plains Background Improvement, add Props

* Update CREDITS.md for new biome assets

* Update flower and everstone props
2025-07-19 02:04:15 -04:00
NightKev
a81e187164
[i18n] Pokemon#getOpponentDescriptor no longer returns a pokemon name
https://github.com/pagefaultgames/pokerogue/pull/6053
2025-07-18 23:42:51 +00:00
SmhMyHead
def80f2e10
[UI/UX] Baton shows on top, De/Activate form shows on bottom (#6104)
[UI/UX] Batton shows on top, De/Activate form shows on bottom
2025-07-18 03:36:53 +00:00
NightKev
4dca988823
[Dev] Update packages (#6088)
* Update packages

* Add default values for tweens

* Add mocks for `InputText` and `BBCodeText`

* Delete deprecated `vitest.workspace.ts`

* Replace `new InputText` with `globalScene.add.rexInputText`

* Disable broken Magic Bounce test

* Disable broken test in `stockpiling.test.ts`
2025-07-16 22:28:17 -07:00
Sirz Benjie
de2d4c8b0e
[AI] Minor fixup of matchup score (#6100)
* Minor fixup of matchup score

* Add some comments discussing deficiencies

* Fixup incomplete comment

* 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-07-16 19:52:57 +00:00
Sirz Benjie
b3f4005a16
[Bug] Fix return in applyChosenModifier; prevent race condition in modifier-ui-handler (#6099)
* Fix return in applyChosenModifier

* Stop race condition in modifier-select-ui

* Fix null errors inside the tween's onUpdate method

* Minor cleanup of tween chains

* Minor cleanup of tween chains

* Minor fixup
2025-07-16 17:25:58 +00:00
damocleas
3d42e976b7
[Balance] Encounter condition adjustments for Legendaries and Random Trainers (#6084)
* Adjust Trainer Chances, Legendary Encounter Waves

* Poipole, Kubfu, and Type: Null checked

* 55 made the default

* Update src/field/arena.ts

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

* Replace `switch (true)` with `if/else`

* fix comment

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

* Update arena.ts random trainer chances in biomes

* Update arena.ts random trainer chances in biomes

* beach.,

---------

Co-authored-by: Madmadness65 <blaze.the.fireman@gmail.com>
Co-authored-by: AJ Fontaine <36677462+Fontbane@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-07-16 11:21:52 -05:00
AJ Fontaine
583b3758c0
[Dev] Move Fixed Battle Configs to own file (#6054) 2025-07-15 21:54:15 -07:00
Bertie690
e05d85977e
[Dev] Updated enum utils to have strong typing (#6024)
* Updated enum utils to refuse non-enum values;
added strong typing on return values

* Moved Enum functions to own file; added type helpers for enums

* Cleaned up some code

* Fixed up tests

* Fix training-session-encounter.ts
2025-07-15 01:14:02 -07:00
Sirz Benjie
971a86d20a
[Beta][Bug][UI/UX] Ensure setCursor is called if not first turn (#6098)
Ensure setCursor is called if not first turn
2025-07-14 19:07:12 -04:00
Blitzy
773229effd
[Balance] 1.10 Passive, Egg Move, and Starter Cost Changes (#6097)
* Update egg-moves.ts 38 egg move changes

* Update passives.ts - 23 passive changes

* Updates starters.ts - 2 cost changes

---------

Co-authored-by: damocleas <damocleas25@gmail.com>
2025-07-14 19:06:34 -04:00
Sirz Benjie
6e6f9da1fd
[Bug] Fix grey caught indicator for genderless pokemon (#6095)
Fix grey caught indicator for genderless pokemon
2025-07-14 16:57:38 -04:00
Sirz Benjie
374fb9613a
Revert "[Bug] Genderless Pokemon no longer grey out the caught icon" (#6094)
Revert "[Bug] grey caught indicator for genderless pokemon (#5935)"

This reverts commit 5104f5712f.
2025-07-14 16:35:15 -04:00
fabske0
5104f5712f
[Bug] grey caught indicator for genderless pokemon (#5935)
* grey caught indicator for genderless pokemon

* adding suggestions

---------

Co-authored-by: damocleas <damocleas25@gmail.com>
2025-07-14 15:37:59 -04:00
Lugiad
362dd9e2b9
[UI/UX] HEADER_LABEL TextStyle Fix (#6089) 2025-07-13 17:59:51 -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
Jonathan Bankston
22c386ea9e
[BUG] Fix Transform and Imposter issues (#6008)
* Fixed Transform and Imposter Bug

* Updated Comments

* Revised Comments

* Revised Changes on how tranformed pokemon are referenced to align with reviewer's suggestions

* Removed unused BattlerTag type for transform

* Removed addition of the transform tag to a pokemon in the PokemonTransformPhase

* Moved the check for whether Transform can be used within the TransformAttr class as suggested and removed uneccesary moveId check

* Consolidated if statement regarding isTransformed

* Removed overrides

* Added move condition to Transform + fixed up imposter target selection

* Condensed tests into 1 file + added more automated tests

This includes a couple regression tests for the fusion shenanigans

* Fixed comment

* Updated override typo for unimplemented methods

* Remove redundant parentheses

* Apply suggestions from code review

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

---------

Co-authored-by: Bertie690 <taylormw163@gmail.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
Co-authored-by: Bertie690 <136088738+Bertie690@users.noreply.github.com>
2025-07-12 23:39:48 -07:00
Bertie690
664f2fab0d
[Refactor/Bug] Fix Protean not applying due to terrain + minor cleanup of move phase (#5855)
* Squashed protean/libero changes

* Update protean-libero.test.ts

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

* Update protean-libero.test.ts

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

* Update ability.ts

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

* Update move-phase.ts

* Fixed counter move logic using inverted conditional

* Update move-phase.ts

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

* Update move-phase.ts

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

* Update ability.ts commentfix

* Update src/data/abilities/ability.ts

Co-authored-by: NightKev <34855794+DayKev@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-07-13 05:59:38 +00:00
Bertie690
12fbff71d2
[Test] Added tests for Intimidate, Fishious Rend/Bolt Beak, Payback and Moongeist Beam & co. (#5858)
* Added additional tests for intimidate & ability-ignoring moves

* Added a few basic tests for Fishious Rend and Bolt Beak

* Fixed comment

* Fixe test and added commetn

* Update first-attack-double-power.test.ts

* Fixed incorrect ignore-abilities.test.ts test suite description

* Update ignore-abilities.test.ts suite name

* Fix first-attack-double-power.test.ts

* Actually fixed import

* Update intimidate.test.ts

* Fix test imprts

* Added guard dog tests

* Fixed tests

* Renamed test file

* Added Payback tests

* Fixed accidental unusde class

* Fixed tests

* Fixed flaky test due to 1 length trainer thing

* dd

---------

Co-authored-by: Wlowscha <54003515+Wlowscha@users.noreply.github.com>
2025-07-13 05:55:05 +00:00
Sirz Benjie
940c3c6f42
[Refactor] Cleanup fight UI (#5883)
* Cleanup fight ui handler

* Add types to fight-ui-handler#show

* Fix poor logic in toggleInfo

* Make addInfoToggle capable of taking in multiple toggles
2025-07-12 17:54:43 -07:00
Sirz Benjie
edbba6e635
[Bug][Performance] Plug memory leak related to enemy pokemon lingering around (#6083)
Remove animationupdate in sprite cleanupAndComplete
2025-07-11 12:57:19 -07:00
Lugiad
ca4df7233f
[UI/UX] [Localization] Japanese font change and custom size edits (#6026)
* Delete Japanese Galmuri11 font

* Delete Japanese Galmuri9 font

* Added pokemon-bw font for Japanese

* Changed Japanese Font + removed font size adjustment

* Added Japanese Custom Adjustments

* Slightly increased spacing for Ability name+desc labels

* Japanese starterInfoText adjustments

* Japanese custom lineSpacing adjustment

* Spacing for Ability desc labels adjusted

* Friendship count text adjustment

* Japanese former custom adjustments removal

* TextStyle adjustments

* TextStyle.PARTY adjustments

* Added new TextStyle

* Added new TextStyle

* Added new TextStyle

* Added new TextStyle

* Added new TextStyle

* Add new TextStyle

* Add new Text Style

* Add new TextStyle

* Add new TextStyle

* Add new TextStyle

* Add new TextStyle

* Add new TextStyle

* PARTY_CANCEL_BUTTON TextStyle Correction

* PARTY_CANCEL_BUTTON TextStyle Correction

* Removal of old Japanese line spacing parameter

* Removed old Japanese adjustments

* Apply Biome

* PARTY_CANCEL_BUTTON Adjustments

* partyCancelText position adjustment

* Update i18n.ts

* Change TextStyle of valueLimitLabel

* Added new TextStyle

* Add MOVE_LABEL TextStyle

* Add MOVE_LABEL TextStyle

* Line formatting correction

* MOVE_LABEL TextStyle padding correction

* Added GROWTH_RATE_TYPE TextStyle

* Add GROWTH_RATE_TYPE TextStyle

* Line formatting correction

* Egg Moves title text indepentent from pokemonEggMovesContainer

* Egg Moves title text indepentent from pokemonEggMovesContainer

* Update src/ui/starter-select-ui-handler.ts

* Correction to eggMovesLabel

* Update starter-select-ui-handler.ts

* Added SUMMARY_STATS_GOLD

* Added SUMMARY_STATS_GOLD

* Added proper multiplication symbol

* Added proper multiplication symbol

* Added proper multiplication symbol

* Added proper multiplication symbol

* Added GROWTH_RATE_TYPE

* Added INSTRUCTIONS_TEXT TextStyle

* Added INSTRUCTIONS_TEXT TextStyle

* Added INSTRUCTIONS_TEXT TextStyle

* Added INSTRUCTIONS_TEXT TextStyle

* Added INSTRUCTIONS_TEXT TextStyle

* INSTRUCTIONS_TEXT adjustments

* Added proper multiplication symbol

* Added SUMMARY_DEX_NUM TextStyle

* Added SUMMARY_DEX_NUM

* Revert SUMMARY_DEX_NUM to wrong text

* Add SUMMARY_DEX_NUM

* Removed outdated Japanese custom line spacing

* Removed outdated Japanese custom line spacing

* Removed outdated Japanese custom line spacing

* Correction outdated Japanese custom line spacing

* Added MOVE_LABEL TextStyle

* Fixed corped tooltipbox and tooltipbox scrolling

* Corrected ME descriptiuon scrolling

* Added MOVE_LABEL

* Apply HEADER_LABEL TextStyle

* Apply HEADER_LABEL

* Added custom values for SETTINGS_VALUE

* Apply MOVE_LABEL

* Added STATS_HEXAGON TextStyle

* Apply STATS_HEXAGON TextStyle

* Typo correction

* Delete outadated pokemon-bw font

* Add updated pokemon-bw font

* Update pokemon-bw format

* Added EGG_SUMMARY_NAME and EGG_SUMMARY_DEX TextStyles

* Apply EGG_SUMMARY_NAME and EGG_SUMMARY_DEX

* Add LUCK_VALUE TextStyle

* Apply LUCK_VALUE TextStyle

* Apply LUCK_VALUE TextStyle

* Adjusted LUCK_VALUE

* Apply LUCK_VALUE TextStyle

* Adjustments for Japanese

* Adjusted Japanese custom

* Added FILTER_BAR_MAIN TextStyle

* Apply FILTER_BAR_MAIN TextStyle

* Added japanese to custom TextStyle

* Added English language settings

* Apply Biome

* pokemon-bw font update

* pokemon-bw font updated

* pokemon-bw font update

* pokemon-bw font update

* pokemon-bw font update

* pokemon-bw font update

* pokemon-bw font update

* pokemon-bw font update

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: Wlowscha <54003515+Wlowscha@users.noreply.github.com>
2025-07-11 13:51:59 -04:00
Sirz Benjie
bc45869912
[Performance] [Refactor] [UI/UX] Cleanup egg gacha UI, Speed Up Machines (#5889)
* Convert egg gacha type into an object literal

* Refactor egg gacha ui handler

* Apply kev's suggestions from code review

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

* Condense Object.freeze inside of gacha-type.ts

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-07-11 17:38:35 +00:00
Sirz Benjie
ee02366ccf
[Misc] Make FixedInt support coercion to number primitive (#6081) 2025-07-11 02:09:09 -05:00
damocleas
c3bad86ae0
[Audio] Replace Abyss biome BGM with custom BGM by Firel (#6075)
* Replace End biome BGM with custom BGM by Firel

* Update locales submodule

* Replaced PMD Abyss music

Penumbra Chasm

* Update arena.ts

* Trim track, update loop point

* Update track

---------

Co-authored-by: Madmadness65 <blaze.the.fireman@gmail.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-07-09 20:42:06 +00:00
Madmadness65
cab15c36f0
[Balance] Update biome pools for wild Pokémon (#6074)
* Update biome pools for wild Pokémon

`outputPools` has been run, correcting evolution delays for some Pokémon like Grapploct and Cosmoem, and generally adding spaces to all bracketed lines.

* Revert change to Pawniard line evo delays

Kingambit was evolving before Bisharp due to being an item evolution. The evolution delay for it is now back to level 64.
2025-07-09 14:36:32 +02:00
NightKev
9b0f0b7a0f
[Refactor] Replace .fill().map "loops" with real for loops (#6071) 2025-07-08 00:53:36 -07:00
Sirz Benjie
2fbaca7b5e
[Bug] Prevent save corruption when loading a pokemonData that has no moves (#6070)
Prevent save corruption when loading a pokemonData that has no moves
2025-07-07 23:10:32 -04:00
Sirz Benjie
115d63d0c5
[Bug] Fix anger point procing on every hit if first hit in multi hit was a crit
https://github.com/pagefaultgames/pokerogue/pull/6067

* Fix anger point always procing on multi-hit

when first strike was a crit

* Fix comment spacing

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

* Rename PostDefendCritStatStageChangeAbAttr

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-07-07 18:38:18 -07:00
Madmadness65
e82c788585
[Audio] Add non-final boss Eternatus battle music (#6065)
This battle music will play in Endless when you fight Eternatus (p1 for the 250 waves, p2 for the 1000 waves).
2025-07-06 19:48:33 +00:00
AJ Fontaine
bff8cffe14
[Bug] Fix fusion name not showing on evolution (#6055)
Fix evolution phase not using new fusion name
2025-07-04 19:40:28 +00:00
Wlowscha
f6a434689c
[Balance] Berry Juice and Old Gateau do not depend on the instance
https://github.com/pagefaultgames/pokerogue/pull/6016

* Refactored items and respective MEs

* Changed icon names, added bad berry juice, fixed locales

* Berry juice uses a number parameter again, allowing to convert from old saves without a migrator

* Updated encounter with correct sprite

* Update src/data/mystery-encounters/encounters/weird-dream-encounter.ts

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

* Replaced bad berry juice icon

* Repacked atlas

* Re-export item atlas

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: Madmadness65 <blaze.the.fireman@gmail.com>
2025-07-03 21:04:59 -07:00
Jonathan Bankston
12aaa31454
[Refactor] Minor run phase rework (#6017)
* Minor Attempt run phase rework to abstract logic to whole team

* Decoupled individual pokemon from run phase logic

* Formatting

* Completed run phase refactor implementation and updated tests

* Updated run phase to extend field phase instead of pokemon phase

* Removed unused phase decleration in tests

* Removed unecessary arg in turn start phase as refactor no longer needs it

* Cleaned up getPlayerField

* Made adjustments based on reviewer suggestions

* Reintrocuded calculateEscapeChance into AttemptRunPhase and removed run utils

* Resolve merge issues

* Minor TSDoc improvement to `BattleScene#getPlayerField`

* Moved early override check to top of calculateEscapeChance

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-07-02 02:57:08 -07:00
Bertie690
a54cd953a6
[Bug] Fix Shields Down blocking status in Core Form, unnecessarily resetting before battle (#6044)
* Fix Minior Form Change issues

* Fix bug

* Update Power Construct conditionals to be less janky

* Fix syntax error

* Fix ability.ts
2025-06-30 00:19:59 -04:00
Bertie690
1bd152a738
[Refactor] Moved various classes/interfaces to own files (#5870)
* Split up Pokemon data types to own files

* Moved `AttackMoveResult` and `TurnMove` to own files

* Moved `customPokemonData` into types folder + fixed comments

* Moved files around + fixed stuff

* Moved `DamageResult` into new file

* Fixed imports

* ran biome

* Fix merge issue
2025-06-28 01:55:47 -07:00
Lugiad
40a92df190
[i18n] [Localization] Translatable Manaphy Egg Tier (#6038)
Translatable Manaphy Egg Tier
2025-06-26 19:04:14 -07:00
NightKev
07f5c3009c
[Dev] Add player and enemy Nature and IV overrides (#6032)
* [Dev] Add player and enemy Nature and IV overrides

* Fix broken tests
2025-06-26 12:01:54 -07:00
Bertie690
3b490e7ab4
[Bug] Status moves blocked by terrain now use correct message
https://github.com/pagefaultgames/pokerogue/pull/5931

* Moved terrain messages to `terrain.ts`, made status failures use correct text

* Revert overrides.ts

* Comment fix

* Fixed confusion message not appearing for misty terrain blockages

* Fixed bug

* re-added import

* Update battler-tags.ts

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

* Added exhaustiveness checking

* ran boime

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-06-24 17:50:35 -07:00
Bertie690
6547e1d5ce
[Dev] Update depcruiser to enforce no non-type export in src/@types/
https://github.com/pagefaultgames/pokerogue/pull/5949

* Add depcruiser rule to enforce no non-type export in `src/@types`

* Add missing field in config

* Fixed type import inside `move.ts`
2025-06-22 18:34:06 -07:00
Sirz Benjie
8afedc33d7
[Refactor] [Ability] Ab attr apply type safety (#6002)
* [WIP] Refactor ability attribute apply args

* [WIP] update ability signatures

* Update callsites in pokemon.ts

* Update callsites in moves.ts

* Update abattr callsites in move-phase

* Update abattr callsites in battler-tags

Also removed stat drop ability application from cancelling ME stat boost effects

* format with biome and remove cancelled from weather lapse

* Update abattr callsites in MEP

* Update callsites in turn-start-phase

* Update abAttr callsites in misc phases

* Remove latent test functionality

* update ability attribute callsite in shield dust test

* update abattr callsite in winstrate challenge encounter

* Fix some tests to mock proper methods

* Remove improper condition in mimicry's ability application

* Fix improper simulated check in moody's apply method

* Pass source to postApplyDamage in pokemon.ts

* [wip] fix cud chew tests

* Make cud chew consumption not subclass postTurnAbAttr

* Fix regression in flower veil

* Update trySetStatus test in pokemon to respect new return value for undefined

* Remove empty, unused file

* Fix blockCrit method broken in merge

* Fix unnecessary attr type cast in move phase

* Address typing issue in safeguard test

* Improve documentation and get rid of ts-expect-error directive

* Minor comment/TSDoc updates and fixes

* Apply suggestions from code review

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

* Apply suggestions from code review

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-06-22 18:23:08 -07:00