518 Commits

Author SHA1 Message Date
innerthunder
a763cd173d
[Beta][P1-3] Fix Commander implementation bugs (#4826) 2024-11-09 13:14:11 -05: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
ThePsychedelicSeal
9dae28f264
[Misc] Adding Type, Current HP, Max HP, & Status to updateGameInfo() (#4756)
* Adding to window.gameInfo

Added
type -> not working
currentHP -> not working
maxHP
status

* Adding to updateGameInfo()

* Update pokemon.ts

* Modifying battle-scene.ts

Added code to get Form and Tera Type
Typo fixed in pokemon.ts

* Output type names/etc instead of numbers

---------

Co-authored-by: ThePsychedelicSeal <trevorlrichfield@gmail.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
2024-11-06 11:42:39 -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
Mumble
3a767ed38a
[Refactor] Another Audio clean up (#4077)
* Cleaned up how cry keys were retrieved

* Legendary Pokemon Changes + Cry Cleanup

* Spelling mistake

* Fixed settings.

* correcting typedocs

* eslint

* eslint cleanup

* music pref

* gdfafa

* Music

* Apply suggestions from code review

Co-authored-by: PigeonBar <56974298+PigeonBar@users.noreply.github.com>

* Update src/battle.ts

Co-authored-by: PigeonBar <56974298+PigeonBar@users.noreply.github.com>

* Update src/battle.ts

Co-authored-by: PigeonBar <56974298+PigeonBar@users.noreply.github.com>

* fixed default

* Apply suggestions from code review

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

* Added changes

* Update src/battle-scene.ts

Co-authored-by: Adrian T. <68144167+torranx@users.noreply.github.com>

* Fix variable usage

* Fix `getFormSpriteKey()` and `.concat()` usage

Co-authored-by: PigeonBar <56974298+PigeonBar@users.noreply.github.com>

* asdsafafaf

* i need to do the dishes ughhh

---------

Co-authored-by: frutescens <info@laptop>
Co-authored-by: PigeonBar <56974298+PigeonBar@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: Adrian T. <68144167+torranx@users.noreply.github.com>
Co-authored-by: Tempoanon <163687446+Tempo-anon@users.noreply.github.com>
2024-11-03 22:31:07 -05:00
muscode
3f97c9e39f
[Ability] Implement Unburden (#4534)
* unburden implemented

* Used tag instead of stat changes for Unburden

* added documentation and neutralizing gas test

* accounted for unburden in getEffectiveStat

* fixed doubling speed in two places

* merge conflict resolve

* changed documentation wording, added test for stuff cheeks

* refactor unburden

* merge

* remove console logs

* Update src/data/ability.ts

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

* add neut gas check

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

* Added test for NeutGas user entering while unburden activated

* add spaces to tests, removed passive and [] from applyPostItemLostAbAttrs

* added line breaks after test cases

---------

Co-authored-by: innerthunder <168692175+innerthunder@users.noreply.github.com>
2024-11-03 21:58:12 -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
Moka
c2d24d6e93
[Bug] Take weight into account when getting the tier of a modifier (#4775)
* disable timed events in tests

* Take weight into account when getting the tier of modifiers

* Apply suggestions from code review

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

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: PigeonBar <56974298+PigeonBar@users.noreply.github.com>
2024-11-02 11:55:22 -04:00
NightKev
fd38ab4cb4
[P2] Missing Minior form (violet) now spawns in the wild (#4711) 2024-10-23 11:10:43 -04:00
NightKev
b76e54fe7f
Replace duplicate code with getDoubleBattleChance() (#4690) 2024-10-21 02:29:21 -07: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
PigeonBar
de64fd7720
[Misc] [Beta] Fix crash when loading save preview with Mystery Encounter Override active (#4683) 2024-10-17 23:52:46 -04: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
PigeonBar
c6ec01958c
[Bug] Fix for Expert Breeder's Pokemon being invisible and IV scanner in safari zone (#4661)
* [Bug] Potential fix for Expert Breeder's Pokemon being invisible

* PR Feedback

* Consistency with await
2024-10-16 10:31:32 -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
Madmadness65
c04d81bd65
[Ability] Allow Power Construct to transform 10% PC Zygardes (#4626)
* Allow Power Construct to transform 10% PC Zygarde

* Add additional test for 10% PC Zygarde
2024-10-15 15:02:30 -04:00
PigeonBar
2ac688de4b
[Misc] More complete phase logging (#4651) 2024-10-12 13:06:26 -07:00
NightKev
407cd65dcb
[Misc] Enemy item override will now apply to all enemies (#4620)
* Enemy item override will now apply to all enemies

* Update tsdocs
2024-10-11 00:20:28 -07:00
Mumble
ffe941d235
[Feature][UI] Save Preview (#4410)
* Making 3 Option UI real

* idk anymore

* Revert "Making 3 Option UI real"

This reverts commit beaad44c1eb098a09cfd2d04043d878d24f494c1.

* Let's see

* Current issues - scrolling upwards and correct cursor landing

* argh

* Fixed reactive scrolling

* Adding ME handling

* set up descriptions

* Cleaned up UI i think

* stupid alder

* Added double trainer handling + changed enum name

* Apply suggestions from code review

Thank you Moka!

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

* Arrow Visibility now depends on Session Slot hasData

* documentation

* Simplified calls to revertSessionSlot + changed function name per feedback

* Fixed scrollCursor issue.

* added comment

* Update src/ui/save-slot-select-ui-handler.ts

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

* Fixed sound played + added better conditional

* Balance Team....

* ME related changes

* Apply suggestions from code review

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

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

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

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

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

* Sending Doubles-fix

* eslint..

---------

Co-authored-by: frutescens <info@laptop>
Co-authored-by: MokaStitcher <54149968+MokaStitcher@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-10-09 15:04:13 -04:00
NightKev
22442d3aa0
[Refactor] Refactor move phase and add documentation (#3974)
* Refactor `MovePhase` to improve readability/maintainability

Add tsdocs/comments all over

Mark all functions/fields with public/etc

Fix multi-hit moves called from Metronome/etc, fixes #3914

Remove unused function `BattleScene.pushMovePhase`

Don't use failure text as a condition for move success
A move defining potential failure text doesn't mean it failed

Replace relative imports with absolute imports in `battle-scene.ts`

Change some fields from optional to default `false`

* Fix Whirlwind test

* Fix linting
2024-10-04 10:50:03 -04:00
EmberCM
38c682cca7
[QoL] Add fusion options to overrides (#4298)
* Add fusion options to overrides

* Add fusions overrides to overridesHelper

---------

Co-authored-by: MokaStitcher <54149968+MokaStitcher@users.noreply.github.com>
Co-authored-by: Adrian T. <68144167+torranx@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-10-03 23:04:50 -07:00
torranx
644c078a6c add new lint rules....again 2024-10-04 13:08:31 +08:00
flx-sta
54efd44497
[Refactor] Modifiers type inference v2 (#4294)
* refactor: apply Modifiers type inference (pattern)

Mirror from #1747

Co-authored-by: Dmitriy <kagno.dmitriy@gmail.com>

* fix: PokemonBaseStatTotalModifier.apply having a `[1]` left

* fix: HeldItemTransferModifier.apply missing `...args: unknown[]`

* Replace relative imports with absolute imports in `modifier.ts`

* chore: fix TS1016* error

[*]  A required parameter cannot follow an optional parameter.

* chore: fix namings, types and docs

suggested by @torranx

* replace: `IntegerHolder` with `NumberHolder` & `integer` with `number`

* chore: apply review suggestions

by @torranx

* chore: address review feedback

from @torranx

* update: imports in `modifier-types`

* update `lapse` calls in modifier.ts

* fix lapse call in `battle-end-phase`

* minor adjustments in `modifier.ts`

* fix `EnemyEndureChanceModifier.apply` types

* fix `EnemyAttackStatusEffectChanceModifier.apply` types

* fix `EnemyTurnHealModifier.apply` types

* fix `EnemyStatusEffectHealChanceModifier.apply` types

---------

Co-authored-by: Dmitriy <kagno.dmitriy@gmail.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-10-03 11:38:17 -04:00
AJ Fontaine
8a2900ad29
[Refactor] Move some relevant files, tables etc to new balance folder (#4510)
* Move biomes.ts

* Move starter costs, passives, friendship, starter-candy to starters.ts

* Change relative imports to absolute imports

* Add docstrings, passives.ts

* Constants in rates.ts for egg pity, egg tier rates, hatch waves, variant chances

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
2024-10-02 06:20:19 -07:00
MokaStitcher
6d89ad9569
[P2] Fix duplicate mon ID / RNG not properly resetting after game over (#4505) 2024-09-29 21:52:13 -04:00
ImperialSympathizer
d87234504c
prevent MEs incorrectly spawning on existing session saves (#4494)
Co-authored-by: ImperialSympathizer <imperialsympathizer@gmail.com>
2024-09-28 17:59:48 +01:00
ImperialSympathizer
5997744aa2
[Beta][Bug] Major/minor ME bug fixes (#4451)
* major/minor ME bug fixes

* potential fix for failed save with rental pokemon

* Update src/system/game-data.ts

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

* Update src/system/game-data.ts

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

* more bug fix cleanup and PR feedback

* fix Uncommon Breed ME crash

* real fix to Fun and Games force switch issues

* add isBattleMysteryEncounter() helper function

* add isBattleMysteryEncounter() helper function

* fix unintentional replace all errors

* fix catches not updating dex

---------

Co-authored-by: ImperialSympathizer <imperialsympathizer@gmail.com>
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
2024-09-26 18:43:28 -04:00
RedstonewolfX
06331ccdf6
[Daily] Daily standardization (#3776)
* Disable Luck in Daily Runs

If the Game Mode is Daily Run, the player's Luck is set to 0, and the Luck value is hidden.

* Give free map in daily

Adds a Map to the player's pool of starting items for Daily Runs.

* Disable Eviolite in Daily Runs

Disables Eviolite spawning in Daily Run mode.

* Write shop test and add new overrides

Adds new overrides that allow you to force content to be locked or unlocked
These overrides were also added to the OverridesHelper to make them available to tests

Adds a new check function for content unlocks, which returns `true` if it is overrode to be unlocked, `false` if it is overrode to be locked, and the unlock data mapped to a Boolean otherwise

All existing checks (other than the ones that involve actually unlocking things) for unlockables have been changed to use this

Added a pair of new exporting booleans, specifically for my test, that check if Eviolite or Mini Black Hole are in the loot table

* Prevent shinies from altering runs

Places variant rolls inside of an ExecuteWithSeedOffset block, using the current floor's RNG seed as the seed and the Pokémon's ID as the offset.

---------

Co-authored-by: Leo Kim <47556641+KimJeongSun@users.noreply.github.com>
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
Co-authored-by: Amani H. <109637146+xsn34kzx@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
2024-09-26 01:39:59 -07:00
ImperialSympathizer
24bbb0931c change return type of isNullOrUndefined 2024-09-24 13:15:18 -04:00
ImperialSympathizer
05b9e74729 balance adjustments to certain ME battles 2024-09-23 19:23:46 -04:00
ImperialSympathizer
32741835fd more Mystery Encounter bug fixes 2024-09-22 13:53:18 -04:00
ImperialSympathizer
1c87532e64
[Bugs/Balance] Fix various ME bugs and small balance adjustments (#4369)
* various bug fixes for MEs

* various bug fixes for MEs

* fix final isTransferable rename that was missed

* change Trainer's test vouchers for second option

* change unit test skips

* cut down excess ME track length and loop properly

* ME bug fix cleanup

* updating AI for Slumbering Snorlax ME, and small ME balance changes

* fix ts error

* fix bug type superfan dialogue discrepancy

* ME bug fixes PR feedback

* ME PR nits and fixes

* update naming convention of sprites

* ME balance changes and bug fixes

* fix tests

* fix An Offer You Can't Refuse ME requirements

* clean up post-battle logic for Breeder ME

* party size requirement cleanup

* clean up challenge requirements for disabling certain MEs

---------

Co-authored-by: ImperialSympathizer <imperialsympathizer@gmail.com>
2024-09-22 05:47:32 +02:00
Amani H.
612dcc5f27
[Balance] Adjust Relevant Abilities to Match Lures (#4231)
* [Balance] Adjust Relevant Abilities to Match Lures

* Add Relevant Unit Tests
2024-09-21 21:40:47 -04:00
Madmadness65
f2a042c3f0
[Enhancement] Add Team Star as potential evil team (#4019)
* Add Team Star (WIP)

Still missing dialogue for all new trainer types, team compositions will need refining, and Starmobile graphics still do not exist yet.

* Add dialogue for all Team Star trainers

Dialogue put together courtesy of @Blitz425

* Add additional Macro Grunt dialogue lines

As suggested to be included by @Blitz425

* Add dialogue entries in dialogue.ts

Forgot them with my last commit, whoops

* Add back Team Star trainer types

Latest merge of beta into this PR deleted them for some reason

* Update Team Star boss team compositions

Bunch up Eeveelutions more in first fight, move random Rotom form to first fight. Remove Espeon, Umbreon, and Rotom from second fight, add legendary beasts and paradox beasts in their place, remove Zacian chance from second fight.

Co-authored-by: Tempoanon <163687446+Tempo-anon@users.noreply.github.com>

* fix missing semicolon

* Guarantee Sylveon is always Terastallized

* Guarantee Starmobiles on admin's teams

Also resizing the Starmobiles by 1.5 like Gigantamax Pokémon (it is still just regular Revavroom visually for now).

* Adjust trainer pools for Grunts and Admins

* Add new custom sprites for Starmobiles

This adds front and shiny front sprites made by Kieran. Party icons and back sprites are still placeholders for now.

* Minor pool adjustments

Eevee moved to Uncommon on grunts, Varoom replaced with Hisui Qwilfish for Atticus, and Heracross replaced with Pawmi for Eri.

* Remove Leon's Zamazenta, rename Team Star Boss

As to not have overlap between the champion and Star boss teams.
Also doubled the weights of the Starmobile forms.

* Force movesets for Starmobiles

Also fix accidentally giving Mela a Venusaur instead of a Revavroom. (it was just a testing thing, I swear)

* Correct movesets

Didn't realize copied movesets were desired, ech

---------

Co-authored-by: Tempoanon <163687446+Tempo-anon@users.noreply.github.com>
2024-09-20 18:17:44 -07:00
DustinLin
0eea2031fb
[Bug] Fixing seed sower uturn switchout bug for trainer battles (#4113)
* refactor wildFlee for seed sower animation bug

* better naming functions

* review suggestions

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-09-20 10:27:43 -04:00
ImperialSympathizer
5888a7758c
Mystery Encounter bug fixes and minor adjustments (#4299)
* various bug fixes for MEs

* various bug fixes for MEs

* fix final isTransferable rename that was missed

* change Trainer's test vouchers for second option

* change unit test skips

* cut down excess ME track length and loop properly

* ME bug fix cleanup

* updating AI for Slumbering Snorlax ME, and small ME balance changes

* fix ts error

* fix bug type superfan dialogue discrepancy

* ME bug fixes PR feedback

* ME PR nits and fixes

---------

Co-authored-by: ImperialSympathizer <imperialsympathizer@gmail.com>
2024-09-19 14:44:10 +01:00
flx-sta
763c1922fb
[Bug] Fix exp gains speed not applying properly (#4243)
* update battle-info.ts

* add: ExpGainsSpeed enum

* address PR comments

* add test coverage (exp gains speed)

---------

Co-authored-by: Mr.WaterT <water.t.works@gmail.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-09-14 12:35:46 -04:00
ImperialSympathizer
acb2b66be4
[Feature] Add Mystery Encounters to the game (#3938)
* add .github/workflows/mystery-event.yml

* update mystery-event.yml

* mystery encounters: resolve review comments:

Lost at Sea:
-fix typo in handlePokemonGuidingYouPhase function

Mysterious Chest:
- remove obsolete commented code

mystery-encounter.ts
- remove unused `onDone` field from MysteryEncounterBuilder

* fix typo in CanLearnMoveRequirementOptions

* remove redundance from Pokemon.isAllowedInBattle()

* chore: jsdoc formatting

* fix lost-at-sea tests

* add fallback for biomeMysteryEncounters if empty

* lost-at-sea-encounter: fix and extend tests

* move "battle:fainted" into `koPlayerPokemon`

* add retries to quick-draw tests

* fix lost-at-sea-encounter tests

* clean up battle animation logic

* Update and rename mystery-event.yml to mystery-events.yml

* Update mystery-events.yml

* Fix typo

* Update mystery-events.yml

Fix debug runs

* clean up unit tests and utils

* attach github issues to all encounter jsdocs

* start dialogue refactor

* update sleeping snorlax encounter

* migrate encounters dialogue to new format

* cleanup and add jsdocs

* finish fiery fallout encounter

* fix unit test breaks

* add skeleton tests to fiery fallout

* commit latest test changes

* finish unit tests for fiery fallout

* bug fix for empty modifier shop

* stash working changes

* stash changes

* Update src/data/mystery-encounters/encounters/fiery-fallout-encounter.ts

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

* Update src/test/utils/overridesHelper.ts

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

* Update src/test/utils/overridesHelper.ts

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

* Update src/test/utils/overridesHelper.ts

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

* Update src/test/utils/overridesHelper.ts

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

* Update src/data/mystery-encounters/encounters/fiery-fallout-encounter.ts

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

* Update src/data/battle-anims.ts

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

* nit updates and cleanup

* Update src/data/mystery-encounters/encounters/fiery-fallout-encounter.ts

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

* Apply suggestions from code review

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

* add jsdocs and more cleanup

* add more jsdoc

* add the strong stuff encounter

* add the strong stuff encounter and more unit tests

* cleanup container length checks in ME ui

* add retries to tests

* add retries to tests

* fix trainer wave disable override

* add shuckle juice modifier

* add dialogue bug fixes

* add dialogue bug fixes

* add pokemon salesman encounter and affects pokedex UI display

* add unit tests for pokemon salesman

* temp stash

* add offer you can't refuse

* add unit tests for offer you can't refuse encounter

* remove unnecessary prompt handlers

* add tests for disabled encounter options

* add delibird-y encounter

* add delibird-y encounter

* add absolute avarice encounter

* finish absolute avarice encounter

* add unit tests and enhancements for item overrides in tests

* fix unit test

* cleanup absolute avarice PR

* small bug fixes with latest sync from main

* update visuals loading for safari and stat trainer visuals

* update visuals loading for safari and stat trainer visuals

* update a trainer's test encounter and add unit tests

* add Trash to Treasure encounter

* clean up trash to treasure encounter

* clean up trash to treasure encounter

* add berries abound encounter

* start clowning around encounter

* first implementation pass at clowning around

* add unit tests for clowning around

* add unit tests for clowning around

* clean up ME unit tests

* clean up unit tests

* update unit tests

* add part timer and dancing lessons encounters

* add unit tests for Dancing Lessons and Part-Timer

* reordered biome list and adjusted redirection for project and labels

* Add Weird Dream encounter and slight reworks to Berries Abound/Fight or Flight

* adjusting yml to match new labels

* fix yml whoopsie

* Expanded 'Weird Dream' banlist and fixed a bug with the BST bump range

* adds Winstrate Challenge mystery encounter

* small cleanup for winstrates

* add unit tests for Winstrate Challenge

* fix pokemon not returning after winstrate battle

* commit latest beta merge updates

* fix ME null checks and unit tests with beta update

* fix ME null checks and unit tests with beta update

* MEs to pokerogue beta branch

* test dialogue changes

* test patch fix

* test patch fix

* test patch fix

* adds teleporting hijinks encounter

* add unit tests for Teleporting Hijinks

* small change to teleporting hijinks dialogue

* migrate ME translations to json

* add retries to berries-abound.Option1: should reward the player with X berries based on wave

* add missing ME dialogue back in

* revert template changes

* add ME unique trainer dialogue to both dialogue jsons

* fix hanging comma in json

* fix broken imports

* resolve lint issues

* fix flaky test

* balance tweaks to a few MEs, updates to bug superfan

* add unit tests for Bug-Type Superfan and clean up dialogue

* Adds Fun and Games mystery encounter

* add unit tests for Fun and Games encounter

* update jsdoc

* small ME balance changes

* small ME balance changes

* Adds Uncommon Breed ME and misc. ME bug fixes

* Update getFinalSessionData() to collect Mystery Encounter data

* adds GTS encounter

* various ME bug fixes and balance changes

* latest ME bug fixes

* clean up GTS Encounter and add unit tests

* small cleanup to MEs branch

* add BGM music names for ME music

* bug fixes and balance changes for MEs

* ME data schema updates

* balance changes and bug fixes to MEs

* balance changes and bug fixes to MEs

* update tests for MEs

* add jsdoc to party exp function

* dialogue updates and test fixes for MEs

* dialogue updates and test fixes for MEs

* PR suggestions and fixees

* stash PR feedback and bugfixes

* fix all tests for MEs and cleanup

* PR feedback

* update flaky ME test

* update tests, bug fix MEs, and sprite assets

* remove unintentional console log

* re-enable stubbed function for Phaser text styling

* handle undefined introVisuals properly

* PR feedback from NightKev

* disable Uncommon Breed tests

* locales updates and bug fixes for safari zone

* more PR feedback and update field trip with Rarer Candy

* fix unit test

* Change how reroll button gets disabled in Modifier Shop Phase

* update continue button text logic

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

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

* fix money formatting and some nits

* more nits

* more nits

* update ME tsdocs with links

* update ME tsdocs with links

---------

Co-authored-by: Felix Staud <felix.staud@headwire.com>
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
Co-authored-by: ImperialSympathizer <imperialsympathizer@gmail.com>
Co-authored-by: InnocentGameDev <asdargmng@gmail.com>
Co-authored-by: Mumble <171087428+frutescens@users.noreply.github.com>
2024-09-14 03:05:58 +01:00
innerthunder
70295280da
[Move] Implement Substitute (#2559)
* Implement Substitute

Squashed commit from working branch

* Fix integration test imports

* Use Override Helper utils + Fix Baton Pass test

* Update src/test/moves/substitute.test.ts

Co-authored-by: Adrian T. <68144167+torranx@users.noreply.github.com>

* Fix test imports + nits

* Document RemoveAllSubstitutesAttr

* Fix some strict-null issues

* more strict-null fixes

* Fix baton pass test

* Reorganized Substitute translation keys

* Added checks for substitute in contact logic

* Clean up Unseen Fist contact logic

* Remove misleading comment in Download attr

* RIP phases.ts

* Fix imports post-phase migration

* Rewrite `move.canIgnoreSubstitute` to `move.hitsSubstitute`

* Also fixed interactions with Shell Trap and Beak Blast

* Removed some leftover `canIgnoreSubstitute`s

* fix issues after beta merge

* Status move effectiveness now accounts for substitute

* More edge case tests (Counter test failing)

* Fix Counter + Trap edge cases + add Fail messagesd

* Fix leftover nit

* Resolve leftover test issues

* Fix Sub offset carrying over to Trainer fights

* Hide substitute sprite during catch attempts

* Make substitutes baton-passable again

* Remove placeholder locale keys and SPLASH_ONLY

* Fix imports and other nits

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

* ESLint

* Fix imports

* Fix incorrect `resetSprite` timing

* Fix substitute disappearing on hit (maybe?)

* More animation fixes (mostly for Roar)

---------

Co-authored-by: Adrian T. <68144167+torranx@users.noreply.github.com>
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-09-13 12:46:22 -04:00
Leo Kim
5724ed4a5c
[Enhancement] Add option for egg skip to settings (#4193)
* add option for egg skip

* change eggSkip variable name more descriptive to eggSkipPreference

* update requested changes from opaquer and tinylad and walker

* update requested change from tinylad

* update comment
2024-09-12 10:33:36 -04:00
NightKev
9f82d796d3 Merge branch 'main' into beta 2024-09-11 07:29:18 -07:00
Raidette
a919b9c0af
[Move] Implement After You (#1789)
* Complete after you implementation (no localization)

* reset override changes

* Remove hardcoded English text, add tests

* Fix test

* Make sure phases occur in the correct order

* fix after-you issues

- fix i18n interpolation ot state "target name" and not "pokemon name" as the target takes the offer, not the user
- fix some tsdocs
- add override to apply
- update scene.findPhase to be able to use generic types. Add tsdocs

* add move-trigger.afterYou for DE

* fix after_you.test.ts

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
2024-09-09 14:35:04 -07:00
Mumble
a30201f185
[Hotfix] Retrieving the correct form index for correct cry keys (#4121)
* [DOCS] adding JSDocs to `arena.ts` (#3590)

* adding some docs

* Update src/field/pokemon.ts

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

* seems like battleStats changed to statStages

* Apply suggestions from code review

editing doc text

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

* Update tsdocs, convert comment to tsdoc in `pokemon.ts`

---------

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

* [Bug] Fix scrappy (+ some immunity move and ability) in inverse battle (#4067)

* fix scrappy + etc. update inverse battle test code

* update test code following request from swain

* fix and optimize imports (#4061)

- remove any `.js` extension imports
- remove unncessary dynamic imports of `modifier.ts` file. The file was being imported statically & dynamically. Made it pure static
- increase vite chunk-size warning limit

Co-authored-by: Mumble <171087428+frutescens@users.noreply.github.com>

* returned main

* Fixed cry key

* Revert "[DOCS] adding JSDocs to `arena.ts` (#3590)"

This reverts commit 675e6a063590ad8b7f3c8c951cfeddc9a74db274.

* Revert "[Bug] Fix scrappy (+ some immunity move and ability) in inverse battle (#4067)"

This reverts commit 45af0dd170afd50e045bdbef4b05002b1f1e0fcf.

* Revert "fix and optimize imports (#4061)"

This reverts commit e12548cdb0d53f109c8c5d80b2e0dd2c22c2fc8b.

---------

Co-authored-by: DustinLin <39450497+DustinLin@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: Leo Kim <47556641+KimJeongSun@users.noreply.github.com>
Co-authored-by: frutescens <info@laptop>
2024-09-08 22:12:37 -04:00
Mumble
021f31b589
[Hotfix] Retrieve the right cry when alternate-form Pokemon faint + retrieve the correct sprite key (#4117)
* [DOCS] adding JSDocs to `arena.ts` (#3590)

* adding some docs

* Update src/field/pokemon.ts

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

* seems like battleStats changed to statStages

* Apply suggestions from code review

editing doc text

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

* Update tsdocs, convert comment to tsdoc in `pokemon.ts`

---------

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

* [Bug] Fix scrappy (+ some immunity move and ability) in inverse battle (#4067)

* fix scrappy + etc. update inverse battle test code

* update test code following request from swain

* fix and optimize imports (#4061)

- remove any `.js` extension imports
- remove unncessary dynamic imports of `modifier.ts` file. The file was being imported statically & dynamically. Made it pure static
- increase vite chunk-size warning limit

Co-authored-by: Mumble <171087428+frutescens@users.noreply.github.com>

* Fusion hotfix

* returned main

* Faint cry properly retrieved for non fused Pokemon with forms

* Revert "[DOCS] adding JSDocs to `arena.ts` (#3590)"

This reverts commit b73fd97760bc7fbd7c35062d3763d30820ddbded.

* Revert "[Bug] Fix scrappy (+ some immunity move and ability) in inverse battle (#4067)"

This reverts commit 31fcbf49f49ee1106b25fe5d9737507b3e7615e8.

* Revert "fix and optimize imports (#4061)"

This reverts commit d1bd6974e435c9ddd2222194b8ef282a87b03047.

* Fixed sprite key generation

---------

Co-authored-by: DustinLin <39450497+DustinLin@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: Leo Kim <47556641+KimJeongSun@users.noreply.github.com>
Co-authored-by: frutescens <info@laptop>
2024-09-09 00:03:37 +01:00
Mumble
4a98c36427
[Hotfix] Properly whitelisting fused Pokemon that happen to have Pokemon with alt. forms (#4104) 2024-09-08 02:58:24 -04:00
flx-sta
2bd07cb84e
fix and optimize imports (#4061)
- remove any `.js` extension imports
- remove unncessary dynamic imports of `modifier.ts` file. The file was being imported statically & dynamically. Made it pure static
- increase vite chunk-size warning limit

Co-authored-by: Mumble <171087428+frutescens@users.noreply.github.com>
2024-09-07 21:37:37 -07:00
NightKev
57a3efd9e2
[Bug] Fix off-by-one errors in some random number calls (#3665)
* Fix off-by-one error in some random number calls

* Fix mock RNG function used by tests

Also remove unnecessary extra RNG mock from Glaive Rush test

* Just some github UI manipulation don't mind me

* Update Glaive Rush test

* Remove unnecessary `Math.floor()`

* Remove resolved comment

* Add tsdocs to various functions

* Remove `src/rng.md` file

* Update tsdoc
2024-09-05 23:51:05 +00:00
Mumble
cebd449335
I have a brain made of cheese!!! (#4028)
Co-authored-by: frutescens <info@laptop>
2024-09-04 23:16:47 +00:00
James Diefenbach
e822c91a16
[Enhancement] Skip egg hatching and show summary (#3726)
* cherry picked commits / manual copy

* better dex tracking for summary after regular egg hatching

* ui changes

* updated egg hatch bg, added candy tracker, icon anims for new shiny or new form unlock

* added i18 line, reset overrides

* touchup

* code cleanup, documentation and slight refactor

* sprite display fix

* load interrupts, simple sfx and no summary for small egg amounts

* Garbage Collection + Eslint/Docs approved.

* time logging and optimisation

* skip redundant load

* more time logs and fix pre-load issues

* more detailed loading logs

* changed loading to be on demand from cursor nav

* fix missing variant icon fallback

* removing redundant time logs and code touchup

* code cleanup

* Comments so developer doesn't get bugged about garbage collecton

* remove logs n stuff

* lang settings touchup and final touchup plus uploading blank egg summary bg

* fix nits, js imports, extra docs, magic numbers changed

* extra docs and spacing nits

* Update Github

---------

Co-authored-by: James Diefenbach <z5421232@ad.unsw.edu.au>
Co-authored-by: Frederico Santos <frederico.f.santos@tecnico.ulisboa.pt>
Co-authored-by: frutescens <info@laptop>
Co-authored-by: Mumble <171087428+frutescens@users.noreply.github.com>
2024-09-04 16:59:25 +00:00