Commit Graph

273 Commits

Author SHA1 Message Date
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
Sirz Benjie
1c4edabd1d
[Refactor] Ensure that new phases are created through the phase manager
https://github.com/pagefaultgames/pokerogue/pull/5955

* Add newPhase method to phase-manager

* Update calls to append/prepend phase to use string phase

* Replace instantiations of new phase with phase manager
2025-06-07 23:55:30 -07:00
Bertie690
35a09af475
[Utils] Create utility function randSeedFloat (#5767) 2025-06-07 19:29:10 -07:00
Sirz Benjie
93745f14b7
[Refactor] Decouple phase system from battle-scene (#5953)
* Move phase logic into its own class

* Move ts ignore comment
2025-06-07 17:59:30 -07:00
Bertie690
88e4ab978b
[Misc] Removed cases of a ? true : false and useless super calls from subclasses (#5943)
* Removed cases of `if (a) {return true}' return false`

* Removed useless `super.xyz` calls from functions

* Fixde missing issur

* Use early return in `Pokemon#isOffsetBySubstitute`

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-06-06 17:00:09 -07:00
Wlowscha
39b8dc9a85
[Refactor] Removing unused logic for mbh/grip claw (#5914)
* Removing unused logic for mbh/grip claw

* Updated docstring

---------

Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
2025-06-05 21:54:50 +00: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
Sirz Benjie
f0e806c508
[Misc] Move allMoves to data-lists.ts (#5860) 2025-05-21 20:18:24 -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
Lylian BALL
4f541a8dce
[Bug] Fix some moves using illusion type instead of real type (#5772)
* fix revelation dance using the type of the illusion instead of the actual type

* fix other move that might get the illusion type as well

* fix other move that might get the illusion type as well

* fix abilities that might get the illusion type as well

* fix illusion icon in party ui handler

* Fix TSDoc for `Pokemon#getTypes`

* Remove now-unnecessary changes to `.getTypes()` calls

Revert `overrides.ts` changes

* Replace `|| false` with `!!`

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-05-05 18:31:11 -07:00
damocleas
8f0eee9c4c
[Balance] [Mystery Encounter] Many Minor Mystery Encounter Adjustments (#5726)
* Update slumbering-snorlax-encounter.ts

* Add Slumbering Snorlax to Tall Grass, remove Absolute Avarice from Plains

* Update absolute-avarice-encounter.ts

* Update absolute-avarice-encounter.ts

* Update slumbering-snorlax-encounter.ts

* Update slumbering-snorlax-encounter.ts

* Update the-expert-pokemon-breeder-encounter.ts

* Update slumbering-snorlax-encounter.ts nature

* Update bug-type-superfan-encounter.ts move reward

* Update bug-type-superfan-encounter.ts moves again

* fix encounter waves

* Update absolute-avarice-encounter.test.ts

* add Nature import

* Update bug-type-superfan-encounter.test.ts

* greedent moves

* test moves

* Updated mysterious-chest-encounter.ts trap/reward chance

* swapped Macho Brace stats, +2 / 10% for HP stats and +1 / 5% for all else

* Update bug-type-superfan-encounter.ts moves

* Update the-expert-pokemon-breeder-encounter.ts tera

* Update bug-type-superfan-encounter.test.ts fix test
2025-05-02 01:11:02 -04:00
Bertie690
6d90649b92
[Refactor/Bug/Ability] Reworked BattleData, fixed Rage Fist, Harvest, Belch + Implemented Cud Chew (#5655)
* Grabbed reverted changes from stuff

* Added version migrator for rage fist data + deepMergeSpriteData tests

* fixed formattign

* Fied a few

* Fixed constructor (maybe), moved deepCopy and deepMergeSpriteData to own file

`common.ts` is hella bloated so seems legit

* Moved empty moveset verification mapping thing to upgrade script bc i wanted to

* Fixed tests

* test added

* Fixed summondata being cleared inside summonPhase, removed `summonDataPrimer`

like seriously how come no-one checked this

* Fixed test

I forgot that we outsped and oneshot

* Fixed test

* huhjjjjjb

* Hopefully fixed bug

my sanity and homework are paying the price for this lol

* added commented out console.log statement

uncomment to see new berry data

* Fixed migrate script, re-added deprecated attributes out of necessity

* Fixed failing test by not trying to mock rng

* Fixed test

* Fixed tests

* Update ability.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 overrides.ts

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

* Update berry-phase.ts

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

* Update encounter-phase.ts

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

* Update game-data.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>

* Added utility function `randSeedFloat`

basically just `Phaser.math.RND.realInRange(0, 1)`

* Applied review comments, cleaned up code a bit

* Removed unnecessary null checks for turnData and co.

I explicitly made them initialized by default for this very reason

* Added tests for Last Resort regarding moveHistory

* 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>

* 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>

* 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 battle-scene.ts

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

* Update the-winstrate-challenge-encounter.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>

* Update ability.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>

* Update battle-anims.ts

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

* Update pokemon.ts comments

* Fixed a few outstanding issues with documentation

* Updated switch summon phase comment

* Re-added BattleSummonData as TempSummonData

* Hppefully fixed -1 sprite scale glitch

* Fixed comment

* Reveted `pokemon-forms.ts`

* Fuxed constructor

* fixed -1 bug

* Revert "Added utility function `randSeedFloat`"

This reverts commit 4c3447c851.

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
2025-05-02 00:06:07 -05:00
Dean
7a9fc3fc8d
[Bug] Clear status immediately in menus (#5739)
Add asPhase parameter
2025-05-01 22:50:56 -04:00
Sirz Benjie
3af1bdbcff
[Bug][Ability] Fix change move type abilities (#5665)
* Make type changing moves change type after abilities but before ion deluge/electrify

* Create unified test file for galvanize, pixilate, and refrigerate

* Make type boost items like silk scarf affect the move after its type change

* Add tests for type boost item interaction

* Remove leftover log messages

* Update spies in type-change ability tests

* Add automated tests for normalize

* Fix test name injection for tera blast

* Add automated test for tera blast normalize interaction

* Restore pokemon as a type-only import in moves.ts

* Add aerilate to type changing tests

* Rename galvanize test file

* Fix utils import

* Apply suggestions from code review

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

* Remove unnecessary mockRestore

* Remove unnecessary nullish coalescing

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

* Update src/field/pokemon.ts

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

---------

Co-authored-by: Madmadness65 <59298170+Madmadness65@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-05-01 22:41:57 -04: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
Sirz Benjie
ff44cbfa97
[Refactor] Refactor ability file part 1 (#5589)
* Move ability.ts to subfolder

* Extract types out of ability.ts

* Update imports in ability.ts and friends

* Cleanup imports in ability.ts

* Re-add imports lost during sort

* Update imports forgotten during rebase

* Re-import proper type from enums

* Update biome.jsonc

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

* Add commit to force tests to rerun

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-04-15 14:08:35 +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
Sirz Benjie
c82e01eed3
[Refactor] Move many interfaces and enums to their own file (#5646)
* Move LearnMoveSituation to its own file

* Remove unused selfStatLowerMoves array

* Move all-moves to its own file

* Move TurnMove interface to its own file

* move AiType to its own file

* Move PokemonMove to its own file

* Move DamageCalculationResult interface to its own file

* Move fieldPosition to its own file

* Move hit-result to its own file

* Move DamageResult to its own file

* Move SpeciesWildEvolutionDelay to its own file

* move EvolutionItem to its own file
2025-04-14 08:31:26 -07:00
NightKev
70ba974348 [Balance] Remove accuracy cap from Wide Lens 2025-04-01 21:02:14 -07:00
Amani H.
6316218bd3
[Item] Add Weather and Terrain Extender Item (#4799)
* [Item] Add Weather and Terrain Extender Item

* Add Documentation

* Clean Up Unit Tests

* Add Weight Function

* Include Suggestions
2025-03-26 22:40:46 -04:00
schmidtc1
40e1e7fd4e
[Bug] Fix Reviver Seed and endure triggering on indirect damage (#5182)
* Create new turnData field for tracking damageResults, check for HitResult in Reviver Seed modifier

* Optional chaining for cases like stealth rock

* Adds HitResult.SELF for confusion to distinguish from indirect damage

* Adds HitResult.SELF to damage sound effect switch

* Cover edge case of salt cure, insert HitResult for ALL damage regardless of optional variable

* Change Liquid Ooze HitResult to OTHER from HEAL

* Adjust OHKO moves to not bypass endure or RSeed

* Add tests for reviver seed

* Fixes endure to no longer block indirect damage, updates weather damage to be HitResult.OTHER, adds/fixes unit test

* Change destiny bond to HitResult.OTHER so it doesn't trigger rseed

* Adds destiny bond unit test

* Creates additional unit tests for endure

* Rename SELF hitresult to CONFUSION

* Update CONFUSION enum

* Refactors implementation per Wlowscha's suggestions: removes damageSources array and preventEndure variable

* Rename HitResult.OTHER to INDIRECT, create INDIRECT_KO for PSong/DBond, add functionality for INDIRECT_KO to damageanim/number handler

* Fixes hit result for stealth rock

* Removes unnecessary check, makes DamageResult default to EFFECTIVE, updates remaining damageAndUpdate calls to use INDIRECT

* Refactors damageAndUpdate to replace optional parameters with object parameter

* Fixes based on Kev's suggestions

* Updates tsdocs for damageAndUpdate

* Fix merge conflict

---------

Co-authored-by: Wlowscha <54003515+Wlowscha@users.noreply.github.com>
2025-03-23 22:59:19 +00:00
Sirz Benjie
408b66f913
[Misc][Refactor][GitHub] Ditch eslint for biome, and add a formatter (#5495)
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-03-09 14:13:25 -07:00
Sirz Benjie
60a4db7059
[Refactor] Refactor moves.ts part 1 (#5420) 2025-03-07 19:10:29 -06:00
Sirz Benjie
e4ce822ce6
[Refactor] Remove Promises from moves and abilities (#5283)
* Remove Promises from moves and abilities

* Fix `PostSummonPhase`

* Apply suggestions from Kev's review

* More suggestions

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

* Cleaning up some updated functions

* Remove Promise from `addEnemyModifier`

+ fixes to some extraneous `await`s

* Test fixes

* Fix missing import in revival blessing test

Co-authored-by: innerthunder <brandonerickson98@gmail.com>

* Add back applyPreLeaveFieldAttrs

Attribute was removed due to absence in a cherry-pick

* Make applyPostApplyEffects work

* Fix move-effect-phase.ts applications

Some applyX methods were missed in the cherry pick commit and were still returning functions instead of running the function themselves

* Mock `BattleScene.addPokemonIcon` in tests

* Revival Blessing condition and tests

* Incorporate Despair-Games/poketernity/pull/48

* Break up imports

* Remove enemy modifier chance dead code

* Remove async from applyAbAttrsInternal

Stray async leftover from merge

* Remove docs and comments referencing promises

* Add `user.setTempAbility` to transform phase

---------

Co-authored-by: innerthunder <brandonerickson98@gmail.com>
Co-authored-by: innerthunder <168692175+innerthunder@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: PigeonBar <56974298+PigeonBar@users.noreply.github.com>
2025-02-21 09:34:39 +01:00
Sirz Benjie
5072460f4c
[Bug] Fix endless tokens allowing attacks to deal 0 damage (#5347) 2025-02-20 16:16:41 -08:00
Xavion3
90d32b886c
[Feature] Tera Rework (#5233)
* Commit old stashed changes

* Complete basic implementation of Tera

* Fix effectiveness test

* Make tera retain until forced recall or faint, regain on biome change

* Experimental sparkle fix

* Fix champion teras

* Attempted fix for double battles tera UI bug

* Fix the fix

* Fix linting and test issues

* Fix more tests

* Change int type

* Implement tera for ME trainers

* Cleanup species inclusivity check

* Make tera instant recharge if terapagos in party

* Make useless tera shards not generate

* Implement stellar tera damage boost

* Improve tera selection UI

* Tidy up animation and localisation

* Improve tera button sprite

* Fix Lance tera

* Make tera instant recharge during E4 in classic modes.

* Fix formatting in the tera common animation

The animation was also not playing due to `frameTimedEvents` being missing as well.

* Make tera effect start after animation

* Implement save migration

* Update version number for migration code

---------

Co-authored-by: Madmadness65 <blaze.the.fireman@gmail.com>
Co-authored-by: Madmadness65 <59298170+Madmadness65@users.noreply.github.com>
2025-02-16 16:20:50 -05:00
AJ Fontaine
03011c4601
[Balance] Change IV Scanner to single stack (#5299)
* Make IV Scanner max stack 1

* Apply suggestions from code review

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

---------

Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
Co-authored-by: damocleas <damocleas25@gmail.com>
2025-02-11 16:35:24 -06:00
damocleas
706a23238c
Revert "[Bug] Fix miniblackhole (#5169)" (#5183)
This reverts commit 9c29cdc63d.
2025-01-25 14:29:09 -08:00
Xavion3
9c29cdc63d
[Bug] Fix miniblackhole (#5169) 2025-01-23 17:18:21 -07:00
NightKev
0107b1d47e
[Refactor] Create global scene variable (#4766)
* Replace various `scene` pass-arounds with global scene variable

* Modify tests

* Add scene back to `fade[in|out]()` calls

Co-authored-by: Moka <54149968+MokaStitcher@users.noreply.github.com>

* Fix Bug Superfan ME test

Co-authored-by: Moka <54149968+MokaStitcher@users.noreply.github.com>

* Re-enable fixed test

Co-authored-by: Moka <54149968+MokaStitcher@users.noreply.github.com>

* Rename `gScene` to `globalScene`

* Move `globalScene` to its own file to fix import/async issues

* Fix `SelectModifierPhase` tests

* Fix ME tests by removing `scene` from `expect()`s

* Resolve merge issues

* Remove tsdocs referencing `scene` params

Remove missed instances of `.scene`

* Remove unnecessary `globalScene` usage in `loading-scene.ts`

* Fix merge conflicts

* Attempt to fix circular import issue

* Found the source of the import issue

* Fix merge issues

---------

Co-authored-by: Moka <54149968+MokaStitcher@users.noreply.github.com>
2025-01-12 15:33:05 -08:00
Mumble
cef2f2adf7
[Ability] Fully implement Sheer Force (#4890)
* Added checks for Sheer Force interactions currently in the code.

* Test for Relic Song interaction

* Test for Shell Bell interaction

* Created new Modifier class MoveEffectModifier

* Applied new modifier class.

* Revert "Applied new modifier class."

This reverts commit 222bc8d428.

* Revert "Created new Modifier class MoveEffectModifier"

This reverts commit 0e57ed03ff.

* Added checks for Shell Bell, Scope Lens, Wide Lens, Leek, and Golden Punch

* Fixing function calls.

* Fixed getSecondaryChanceMultiplier to just look at sheer force.

* Rewrote old Sheer Force tests in accordance to current testing standards.

* Resetting modifiers.ts

* Update src/data/pokemon-forms.ts

Co-authored-by: innerthunder <168692175+innerthunder@users.noreply.github.com>

* Moved getSecondaryChanceMultiplier to FlinchChanceModifier and revised Serene Grace tests

* Adding an additional override to prevent test failures.

* Removed Serene Grace factor from modifier.

* Added forgotten conditional.

* Added comment

---------

Co-authored-by: frutescens <info@laptop>
Co-authored-by: innerthunder <168692175+innerthunder@users.noreply.github.com>
2024-11-30 18:40:05 -08:00
PigeonBar
07f08877c1
[Balance] Multi Lens damage reduction on fixed-damage moves (#4896) 2024-11-17 17:16:54 +00:00
Daniel Pochert
7dc4210f71
[Bug] fix training session encounter not applying nature correctly (#4801)
* fix training session encounter not applying nature correctly

* implement pokemon.setCustomNature + nature unlock utility method(s)

* update doc

---------

Co-authored-by: Moka <54149968+MokaStitcher@users.noreply.github.com>
2024-11-16 23:33:14 +00:00
innerthunder
360a897ed2
[Balance] Endure Tokens only endure one hit (#4875)
* Endure Tokens only endure one hit

* Add tests for Endure

* Update docs

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-11-15 21:11:46 +01:00
AJ Fontaine
413f2b80c8
[Balance] Increase Gimmighoul's evo counter more with Big Nugget/Relic Gold (#4856)
* Increase Gimmighoul's evo counter more with Big Nugget/Relic Gold

* Update src/modifier/modifier.ts

Co-authored-by: Moka <54149968+MokaStitcher@users.noreply.github.com>

---------

Co-authored-by: Moka <54149968+MokaStitcher@users.noreply.github.com>
2024-11-15 20:26:58 +01:00
Mumble
6dec84e39c
[Balance] No more double 50x bosses in Endless + cleaning up RNG (#4862)
* Added double battle exclusion to Endless bosses.

* Brought Endure token RNG in line with game RNG formatting.

* Corrected incorrect modulo condition in isEndlessBoss

* Moved new doubles conditional to be above overrides.

* Fixed bad RNG calls for Covet and Thief too.

* Updated unburden test.

* Revert "Updated unburden test."

This reverts commit 01788d40c2.

* Revert "Fixed bad RNG calls for Covet and Thief too."

This reverts commit c7fcfd195d.

---------

Co-authored-by: frutescens <info@laptop>
2024-11-14 21:13:23 -08:00
innerthunder
8e26db944d
[Balance][Beta] Revert Spread Move Restriction on Multi-Lens (#4851)
* Multi-Lens now applies to spread moves

* Fix Multi-Lens applying to both damage and power
2024-11-11 21:13:37 -08:00
innerthunder
cebedd220b
[Balance] Rework Multi-Lens (#4831)
* Rework Multi-Lens

* Multi-Lens integration tests

* Apply suggestions from code review

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

* Fix obsolete tests related to Multi-Lens

* Fix flaky unburden tests

* maybe fix flaky ceaseless edge test?

* Fixed Multi-Lens apply comment

* Fix ceaseless edge test for real this time

* Update locales

* Another locale update

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-11-11 14:56:16 -08:00
PigeonBar
2bf8acea06
[Beta][P2] Fix Sketch failing to sketch moves that call other moves virtually (#4823)
* [P2][Beta] Fix Sketch failing to sketch Metronome et al

* Suggested changes to `getLastXMoves()`

* Renamed turnCount to moveCount
2024-11-09 13:15:24 -05:00
AJ Fontaine
de4ec5e1cb
[Feature] [Item] Add Catching Charm item (#4811)
* Add catching charm item

* Add Catching Charm item

* Disable catching charm in item pool when dex isn't full enough

* Replace catching charm icon

---------

Co-authored-by: Madmadness65 <59298170+Madmadness65@users.noreply.github.com>
2024-11-09 14:38:45 +08:00
NightKev
00f7fd47df
[Refactor] Remove unnecessary re-exports (#4818)
* Remove unnecessary re-exports

* Move `Type` enum to `src/enums/type.ts`

* Remove import style change from `modifier-type.ts`
2024-11-08 17:44:34 -05:00
innerthunder
6fd3ba284c
[Move][Ability] Implement Commander and Order Up (#4670)
* Implement Order Up (mostly untested)

* Commander unit tests + bug fixes

* Implement Order Up (misnamed the other commit...)

* Order Up unit tests

* applying Temp's suggestions + other bugfixes

* add TODO comment

* Reviver Seed reapplies Commander

* ESLint woes

* Some animation fixes

* Update locales

* Order Up now uses attr option

* Prevent semi-invulnerability lapsing out while Commanding

* semi-invulnerability test

* Add `edgeCase`
2024-11-05 12:35:43 -05:00
NightKev
af473ba4ff
[Refactor] Clean up various methods in battle-scene.ts and pokemon.ts (#4412)
* Update `battle-scene.ts` and `data/field/pokemon.ts`

`battle-scene.ts` changes:
- `getParty()` renamed to `getPlayerParty()` for clarity
- `getNonSwitchedXPokemon()` consolidated into `getXPokemon()`
- Some tsdocs were added/updated for
`getXParty()`, `getXField()` and `getXPokemon()`;
and those functions were explicitly marked as `public`
- Helper function `getPokemonAllowedInBattle()` added

`pokemon.ts` changes:
- `isAllowed()` renamed to `isAllowedInChallenge()` for clarity
- A redundant check for an active scene is removed in `isActive()`
- Some tsdocs were added/updated for `isFainted()`,
`isAllowedInChallenge()`, `isAllowedInBattle()` and `isActive()`;
and those functions were explicitly marked as `public`
- `isFainted()` now checks for `hp <= 0` instead of `!hp`

Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>

* Backport eslint change to reduce merge conflicts

* Fix merge issues

---------

Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
Co-authored-by: Tempoanon <163687446+Tempo-anon@users.noreply.github.com>
2024-11-03 21:53:52 -05:00
NightKev
5e2dfa975a
Rename PokemonTurnData's damageDealt and currDamageDealt (#4784) 2024-11-03 14:09:28 -08:00
PigeonBar
f87ac116fa
[Beta] Stop Transform giving copied moves negative fractional ppUp (#4722)
* [Beta] Stop Transform giving copied moves negative fractional `ppUp`

* Remove some bangs/etc

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-10-25 19:34:40 -04:00
Moka
a13550ec44
[Balance][ME] Various ME Balance changes (#4700)
* balance changes and updates to various MEs

* fix import to new item

* fix import to new item

* Update src/data/mystery-encounters/utils/encounter-pokemon-utils.ts

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

* Update src/phases/select-modifier-phase.ts

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

* Update src/modifier/modifier.ts

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

* Update src/modifier/modifier.ts

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

* revert item atlas changes

* eslint

* revert 'revert item atlas'

* update locale repo to latest commit

* Fix fiery fallout missing argument

* [balance] Training session ME does not update Seen/Defeated GameStats

* [balance] update Weird Dream ME maximum spawn wave

* [ME] update CombinationRequirements to allow AND or OR combinations

* refactor: CombinationPokemonRequirement `.Some()` and `Every()`

* chore: rename `orRequirements` to `requirements`

* fix: returns of `Some()` and `Any()`

* apply `Some()` / `Any()` pattern to `CombinationSceneRequirement` too

* revert 'offer you can't refuse' giving Silver Pokeball'

* Apply code review suggestions

* [me] Weird Dream: apply same old gateau logic to team in options 1 and 2

---------

Co-authored-by: ImperialSympathizer <imperialsympathizer@gmail.com>
Co-authored-by: ImperialSympathizer <110984302+ben-lear@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
Co-authored-by: innerthunder <brandonerickson98@gmail.com>
2024-10-23 21:46:57 +02:00
MokaStitcher
e6c06d57be
[P All][Bug] Various ME bugfixes (copy) (#4695)
* Mystery Encounter bugfixes

* more ME bug fixes

* update allowed pokemon in ME requirements

* some unit test cleanup and general tidying

* fix null exception on isBattleMysteryEncounter

* clean up tsdocs and fix pokemon hasAbility check

* fix double battle crash in challenge mode with a single eligible pokemon

* apply suggestions from PR#4619's code reviews

* revert fix for Keldeo crashes + implement fix suggestion from PR #4619

* fix session migration for PokemonCustomData

* prevent test failure due to keldeo fix

---------

Co-authored-by: ImperialSympathizer <imperialsympathizer@gmail.com>
2024-10-20 22:55:07 +01:00
NightKev
39abac65be
Add eslint rule to enforce indenting of case statements (#4692) 2024-10-20 02:44:36 +01:00
AJ Fontaine
d5fee37868
[Refactor] Add friendship related constants (#4657)
* Add constants for friendship

* Absolute path in battle-scene.ts

* Address nits

* Apply negative to constant
2024-10-16 14:55:23 -04:00
innerthunder
093f3d90f5
[Balance] Add Memory Mushroom to Shop (#4555)
* Add Memory Mushroom to Shop + escape TM selection

* consolidate learn move type params into an enum

* Rewrite lock capsule test

* Disable luck upgrades for copied SMPhases

* Mem Mushroom Cost 4x Update modifier-type.ts

* Add undefined cost check to `addModifier`

* Increase shop options row limit

* Prevent SMPhase copies from updating the seed

---------

Co-authored-by: damocleas <damocleas25@gmail.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-10-15 18:06:56 -07:00