Commit Graph

5385 Commits

Author SHA1 Message Date
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
Mourouh
425985a056
[Balance] Add wild encounter chance to Maushold and Dudunsparce forms (#5975)
Added wild encounter chance to Maushold and Dudunsparce forms
2025-06-12 16:56:37 -05:00
Dean
ff9aefb0e5
[Bug] Activate PostSummon Abilities in Speed and Priority Order
https://github.com/pagefaultgames/pokerogue/pull/5513

* Add prependToPhaseWithCondition and use it in SummonPhase to determine speed order

* Move logic to PostSummonPhase

* Add test base

* Pivot to using sort strategy instead

* Add and update tests

* Support priority ability activations

* Ensure priority abilities are still activated on switch in

* Add test for priority

* Update to use priority numbers instead of a boolean

* Add ability priorities to constructors

* Move sorting to BattleScene

* Rename phase file

* Update import

* Move application to applyPostSummonAbAttrs and stop assuming no other phases in queue

* Ensure all PostSummonPhases from encounters are added at the same time

* Switch to priority queue approach

* Ensure that zero/negative priority activations happen after postsummonphase

* Revert 07646fe (not needed due to stable sort)

* Always create separate ability phases for passive and use boolean instead of priority number when applying

* Add test for dynamic updates

* Add BattlerIndex import

* Clear queues for testing

* Benjie suggestion

* Split files

* Update import in battlescene

* Remove extra spaces added by VSCode

* Fix other conflicts

* Update PhaseManager

* Update to use PhaseManager

* Immediately start postsummons

* Fix test

* Fix BattlerIndex import

* Remove unused imports

* Fix postsummon application

* Make priority readonly
2025-06-11 22:28:27 -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
Dobin Shin
ba2158ec64
[UI/UX] Default cursor to no when stop trying to teach move
https://github.com/pagefaultgames/pokerogue/pull/5924

* [UI/UX] "Stop trying to teach move" Defaulting to "No"

* [Test] setCursor to 0, 'Yes' to end learning move

* Move confirmUIMode to its own file in enums, add docs

---------

Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
2025-06-11 16:24:27 -07:00
Wlowscha
ad7f2d133c
Fixed Slumbering Snorlax encounter, overrideItems of heldItemConfiguration can deal with items with 0 stack 2025-06-11 22:30:09 +02:00
Wlowscha
558d06cdaa
Converted The Strong Stuff encounter 2025-06-11 22:20:44 +02:00
Wlowscha
51a2a15799
Converted Berries Abound encounter 2025-06-11 22:11:03 +02:00
Lugiad
f499ea0568
[UI/UX] [Localization] Type icons corrections (#5952)
* Updated both Spanish type icons

* Update Brazilian Portuguese type icons

* Update Catalan type icons

* Update Traditional Chinese type icons

* Update Turkish type icons

* Update Russian type icons

* Update Catalan type icons

* Delete error

* Update Russian type icon

* Update Russian type icons
2025-06-11 04:44:30 +00:00
Bertie690
aea2c178c9
[i18n] Added locales text for force switch moves (#5930) 2025-06-10 19:54:44 -04:00
Wlowscha
9a79882e05
Updated modifier-bar.ts 2025-06-11 00:06:49 +02:00
Wlowscha
64b1cf1669
More various fixes; introduced isMaxStack(item) method to heldItemManager 2025-06-10 23:29:29 +02:00
Wlowscha
c198297abd
Reworked EnemyPokemonConfig to include a HeldItemProperty object (to feed to the heldItemManager). Updated Dark Deal ME 2025-06-10 22:51:25 +02:00
Wlowscha
d7882d4ca7
Various fixes 2025-06-10 22:50:27 +02:00
Wlowscha
4dc54ba17e
Fixed delibirdy encounter 2025-06-10 21:57:53 +02:00
Wlowscha
6a4e4a345d
Added some utility functions to check if an item fits a list of items/categories, or to filter out which held items fit 2025-06-10 21:56:57 +02:00
Wlowscha
b975382f73
Fixed form change trigger after merge conflicts 2025-06-10 20:12:27 +02:00
Wlowscha
90fa0c6796
Merge branch 'beta' of https://github.com/pagefaultgames/pokerogue into held-item-refactor 2025-06-10 20:09:44 +02:00
Wlowscha
d02d70e6ab
Split up vitamins from the rest of stat boosting items 2025-06-10 19:55:41 +02:00
Wlowscha
dccb0cf691
Using Berry held items in move.ts 2025-06-10 19:53:47 +02:00
Bertie690
581348ec0a
[Misc] Remove extra newline in test-boilerplate.ts (#5965) 2025-06-09 18:28:39 -07:00
NightKev
60105f0402
[Dev] Update test creation script (#5939) 2025-06-09 17:48:41 -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
Wlowscha
215ce632ef
Fixing (most) berry usage 2025-06-10 00:53:44 +02:00
Wlowscha
29af976c49
Fixed Pickup 2025-06-10 00:25:13 +02:00
Wlowscha
3891ef5f85
Removed AttackTypeBoosterModifierRequirement for MEs 2025-06-10 00:12:14 +02:00
Wlowscha
4a3a442ebd
MBE achievement now tracks held items 2025-06-09 18:56:05 +02:00
Wlowscha
d22f7b1d4a
Fixed types in shuckle juice and old gateau 2025-06-09 18:37:12 +02:00
Wlowscha
2678535bef
Various fixes 2025-06-09 18:35:06 +02:00
Wlowscha
20d4d3aa05
Fixed types in held item manager 2025-06-09 18:29:13 +02:00
Wlowscha
ff73c5b038
Improved item transfer 2025-06-09 18:14:26 +02:00
Wlowscha
928d8a8f97
MBE is always untransferable 2025-06-09 18:12:41 +02:00
Wlowscha
a0041eb18a
Added Evolution Tracker as held item 2025-06-09 16:48:56 +02:00
Wlowscha
5278a96f24
pokemon.getHeldItems now uses heldItemManager 2025-06-09 16:20:21 +02:00
Wlowscha
87b0035463
Reworked most entries in Modifier Types 2025-06-09 16:02:59 +02:00
Wlowscha
faa387a67e
Refactored Baton logic 2025-06-09 14:46:31 +02:00
Wlowscha
b271dc724b
Reworked various effects that steal items 2025-06-09 14:43:00 +02:00
Wlowscha
c607a73ebc
Added soundName to HeldItem (possibly useless) 2025-06-09 13:39:25 +02:00
Wlowscha
8d63f06de2
Merge remote-tracking branch 'upstream/beta' into held-item-refactor 2025-06-09 13:22:39 +02:00
Wlowscha
51f6fd2c1a
Refactored most of battle-scene.ts with held items 2025-06-09 13:15:59 +02:00
Wlowscha
c1469c08fa
Making some held items unstealable and unsuppressable 2025-06-09 10:51:07 +02:00
Wlowscha
c41ae99365
Changed BattleScene.removeModifier and pokemon.loseHeldItem 2025-06-09 10:42:55 +02:00
Wlowscha
565d75225a
Fixed shell bell in ability.ts (why is it here?) 2025-06-09 10:42:11 +02:00
Wlowscha
34864b51b8
Removed a bunch of modifiers 2025-06-09 10:13:13 +02:00
Wlowscha
2f794dbc6e
Using phaseManager 2025-06-09 10:12:46 +02:00
Wlowscha
69b99887d9
Shuckle Juice and Old Gateau 2025-06-09 10:12:17 +02:00
AJ Fontaine
b1c50dd69f
[Bug] Fix TM compatibility for Terapagos and Knock Off (#5958)
Fix TM compatibility for Terapagos and Knock Off
2025-06-08 16:49:50 -07:00
NightKev
d2ace47e1e [Test] Add missing ability override to Dancer tests 2025-06-08 15:36:01 -07:00
Wlowscha
5ef88a6d4d
[Refactor] Refactor select-modifier-phase.ts (#5886)
* Refactored select-modifier-phase.ts

* Added some missing type signatures

* Changes from suggestions

* Added ModifierSelectCallback type
2025-06-08 15:13:26 -07:00
Wlowscha
76a3e612dd
Tracking forms in held item manager 2025-06-08 22:09:55 +02:00