501 Commits

Author SHA1 Message Date
Wlowscha
974fe9f7d3
[UI/UX] Merged shiny and variant buttons in starter select menu (#5213)
* Merged shiny and variant options

* Modified test of starter-select ui to reflect button changes

* Removed unused graphics elements
2025-01-29 20:07:44 -07:00
Bertie690
4c17ebd400
[Bug][Test] Instruct Bugfixes + More tests (#5134)
---------
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-01-29 19:19:05 -07:00
AJ Fontaine
8685ec3c3c
[Misc] Rework some aspects of timed events (#5099)
* Refactor timed event changes

* Use getWeather function

* Add mystery encounter tier change/disabling to timed events

* Event luck boost, event encounter helper function

* Events without shiny boost shouldn't give shiny charm

* globalScene -> this in battle scene class

* Change event pools
2025-01-24 15:59:24 -07:00
Bertie690
747656e8df
[Test] Added learn move utility function & level cap overrides (#5058)
* Added learn move utility function
* Added utility functions
* add another test
* Update overrides.ts
* Update moveHelper.ts
* Update overridesHelper.ts
---------
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: damocleas <damocleas25@gmail.com>
2025-01-23 18:47:22 -07:00
NightKev
d85aedbdfc
[Bug] Prevent pokemon with 0 HP from being statused (#5137)
* [Bug] Prevent pokemon with 0 HP from being statused

* Update test

* Move check to `trySetStatus()` and update test
2025-01-20 09:12:58 -08:00
geeilhan
f3256ec5d4
[Move] Improve implementation of Rage Fist damage increase (#5129)
* implementation of rage fist

* Apply suggestions from code review

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

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

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

* added removed TODO from some test cases

* Apply suggestions from code review

Added changes to documentation and cleaning up code

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

* added protected to updateHitReceivedCount()

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: damocleas <damocleas25@gmail.com>
2025-01-19 11:52:50 -06:00
schmidtc1
001b61c1c7
[Bug][Move] Refactor moves that call a random move (#3380)
* Combine moveset from allies and uses it to get a move

* Clearer implementation of combining user and teammates' moves

* Refactor assist and sleep talk to use metronome's attribute for calling a move

* Refactor move filtering in RandomMovesetMoveAttr, creates arrays with invalid moves for assist/sleep talk

* Refactor RandomMoveAttr to set moveId in condition, places reused code in callMove in RandomMoveAttr

* Correct invalid move lists, adds Max/Z moves to metronome's list

* Remove ignoresVirtual from beta merge

* Remove Max/Z moves per frutescens' comment

* Fix bug with metronome/copycat/assist/sleep talk targeting ally

* Experimental async/await to be tested

* Refactor other attributes to extend CallMoveAttr

* Replace QueuedMove with TurnMove, refactor to attempt two-turn move fix for metronome

* Fix Swallow test due to TurnMove refactor

* Further fixes for TurnMove refactor

* Fix metronome two turn moves for enemy pokemon

* Replace nested ternary with if-else block per DayKev's comment

* Minor fixes

* Adjust command phase args handling

* Create metronome test, refactor RandomMoveAttr for easier testing

* Add unit test for recharge moves

* Refactor Copycat and Mirror Move, adjust move targeting

* Add unit test for ally targeting with Aromatic Mist

* Add tests for secondary effects and recharge moves for metronome

* Add test for Roar, remove test for Acupressure

* Create test for Assist

* Add test for assist failing

* Add sleep talk unit test coverage

* Adjust move-phase to better track last move for copycat, write and update unit tests for assist/copycat

* Create moveHistory in Battle to track all moves used, adjust mirror move to use this, writes unit tests

* Correct mirror move implementation, rewrite unit test to adjust

* Add docs to attrs, update assist to only grab allies sets

* Update assist unit test to match expected functionality

* Update metronome unit test to use getMoveOverride

* Update copycat unit test to use metronome getMoveOverride mock

* Fix phase interception

* Add docs from missed conversations

* Update assist tests to use manual moveset overrides

Minor fixes to other tests

* Remove `export` from `CallMoveAttr`

* Add missing `.unimplemented()` to some Max- and Z-Moves

---------

Co-authored-by: Tempoanon <163687446+Tempo-anon@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-01-14 15:26:35 -08: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
Zain
b0c347e20d
[Bug] Fixed defog not removing the target's Safeguard and Mist (#5107)
* Fixed defog not removing the target's Safeguard and Mist

* Made requested changes and added unit test

* Remove stray newline

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-01-10 18:29:25 -06:00
AJ Fontaine
ec5dadb4f4
[Misc] Undo winter holiday event changes (#5068) 2025-01-03 16:42:06 -07:00
Asuka Kuwahara
8f884a7ef0
[BUG] fix #5038 update shedinja's gender to genderless on evolution (#5039)
* update shedinja's gender to genderless

* update unit test
2024-12-29 20:09:11 -06:00
damocleas
e9d97db11b
Winter Holiday Event (#5015)
* Update trainer-victory-phase.ts

* Update starters.ts for event

* Update timed-event-manager.ts

* Event stuff

* Cleaning up

* Winter Holiday 2024 Banners

* Update timed-event-manager.ts

* Fix event banner

* Update trainer-config.ts

* FoF, BBound, weather changes

* Fix German Banner

* Add Iron Bundle to event encounters

* Update delibirdy-encounter.test.ts

* Update src/data/weather.ts

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

---------

Co-authored-by: AJ Fontaine <fontbane@gmail.com>
Co-authored-by: Lugiad <2070109+Adri1@users.noreply.github.com>
Co-authored-by: AJ Fontaine <36677462+Fontbane@users.noreply.github.com>
2024-12-20 14:11:06 -08:00
NightKev
29a079cfd3
Revert "[UI/UX] Refactor and enable seasonal splash messages (#5009)" (#5014)
This reverts commit 806585f1a69a8059444c00aa87ca5ecedc71cf9b.
2024-12-19 16:04:12 -08:00
AJ Fontaine
806585f1a6
[UI/UX] Refactor and enable seasonal splash messages (#5009)
* Refactor and enable seasonal splash texts

* Update splash text test
2024-12-19 12:01:40 -08:00
PrabbyDD
5db3074e2c
[Move] Implement Lunar Dance (#4926)
* beginning immplementation of lunar dance

* adding tests

* changing in game message and making full hp message not display

* Reuse Healing Wish's move attr, update test

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-12-09 21:25:28 -06:00
PigeonBar
dd72c5e189
[Move][Beta] Powder edge cases (#4960)
* [Move][Beta] Powder edge cases

* Fix Heavy Rain check to account for weather suppression

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

* "{Pokemon} used {Fire-type move}!" now displays before Powder activation

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

* Make `showMoveText()` and `showFailedText()` public for now

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: innerthunder <168692175+innerthunder@users.noreply.github.com>
2024-12-02 22:28:57 -08:00
damocleas
3ca0fdae6b
[Balance] December Starter Balance Changes (#4883)
* Update passives.ts

* Update egg-moves.ts

* Update egg-moves.ts

* Update species-egg-tiers.ts

* Update egg-moves.ts

* Update egg-moves.ts

* Update starters cost

* Update egg-moves.ts

* fixed mispell

* update egg tests to match latest species egg tier changes

* Update starters.ts - fixed placements and reduced Duraludon back to 5

* Update species-egg-tiers.ts fixed placements

* Kartana and Iron Valiant passive change

* Update passives.ts

* Update egg-moves.ts

* Update species-egg-tiers.ts

* Update starters.ts

* fix '

---------

Co-authored-by: Moka <millennium.stitcher@gmail.com>
Co-authored-by: Moka <54149968+MokaStitcher@users.noreply.github.com>
2024-12-02 14:59:02 -05:00
PigeonBar
2f377f26b7
[P1 Bug] Fix multi lens granting infinite Future Sight hits (#4961)
* [P1 Bug] Fix multi lens granting infinite Future Sight hits

* Updated `.partial()` tags

* Added corresponding TODO comments to tests
2024-12-02 12:40:59 -05:00
innerthunder
e930536efe
[Move] Implement Powder (with edge case) (#3662)
* Powder basic implementation

* Add Powder integration tests

* Fix thaw test

* Use new test utils and type check function

* More edge case tests

* Make Powder (P)

* Add locale keys

* Add placeholder common anim

* Use CommonAnimPhase instead of async animation

* Add comments with new English text

* Make Powder `edgeCase` instead

* ESLint

* Fix imports

* Add `moveName` key arg for other languages

* ESLint

* Update locales

* Fix pages issues

* Update Powder explosion animation

* Update common-powder.json

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

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

* Remove lingering TIMEOUTs

* More test cleanup

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-12-01 14:27:55 -08:00
Bertie690
1607a694c3
[Move] Partially Implement Instruct (#4857)
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: innerthunder <168692175+innerthunder@users.noreply.github.com>
Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
2024-12-01 14:27:17 -08:00
Mumble
282b0c8215
Added features to prevent test flakiness. (#4959)
Co-authored-by: frutescens <info@laptop>
2024-12-01 14:24:16 -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 222bc8d42875485742ba8bd38fa5e9b978bbd53a.

* Revert "Created new Modifier class MoveEffectModifier"

This reverts commit 0e57ed03ff7c0e6fb59c7b3c2ea74b6fe6327f59.

* 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
Mumble
d6854c4969
[Tests] Enemy Held Item overrides are now applied after generateEnemyModifiers() (#4922)
* Moved overrideModifiers and overrideHeldItems to after generateEnemyModifiers

* Removed functions from scene

* Fixed the test. Thank you pigeonbar.
2024-11-30 16:09:34 -08:00
Moka
38d7a26053
[Sprite][Bug][ME] Fix ME Intro visuals for shinies and other shiny related fixes (#4827)
* [ME] Fix GTS Wonder Trade shiny not giving luck

* [ME] Shiny Magikarp from Pokemon Salesman can have any variant

* [ME] Shiny lock MEs with custom or special sprites

* [ME] GTS shows shiny sparkle for received Pokemon

* [ME] Shiny lock 'Slumbering Snorlax' and 'The Strong Stuff'

* [ME] Dancing Lessson: show shiny sparkle for Oricorio in intro

* [ME] Show shiny sparkles for Pokemon in ME intro

* fix tests

* Ensure shiny sparkle animation is initialized before playing it (Fixes #3924)

* make loading variant assets cleaner

* cleanup EnemyPokemon shiny initialization

* test fixes and final cleanup

* Make 'getSpeciesFilterRandomPartyMemberFunc' more readable

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-11-30 16:08:53 -08:00
geeilhan
d5146a57b9
[Bug] Fix Lingering Arena Trap if Pokemon Switches Out (#4755)
* [P2 BUG] Fixed Lingering Arena Trap if Pokemon Switches Out (#3713)

* added switchOutStatus for all relevant moves

* Added Lingering Arena Trap Fix for Mystery Encounters

* Removing Redundant switchOutStatus Sets

* added automated test case to arena trap test

* Update src/field/pokemon.ts

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

* Update src/test/abilities/arena_trap.test.ts

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>

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: Moka <54149968+MokaStitcher@users.noreply.github.com>
2024-11-30 13:08:32 -08:00
muscode
5af2bcd5ec
[Bug] Prevent battle skip with Wimp Out (#4931)
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: Mumble <171087428+frutescens@users.noreply.github.com>
Co-authored-by: PigeonBar <56974298+PigeonBar@users.noreply.github.com>
Co-authored-by: Moka <54149968+MokaStitcher@users.noreply.github.com>
2024-11-30 11:44:06 -08:00
star-krieg
d1294caeb6
[Balance] Candy friendship changes (#4947)
Changes:

- Increase default value for friendship gain from winning a battle (from 2 to 3)
- Increase Classic candy friendship multiplier (from 2 to 3)
- Increase Rare Candy friendship gain (from 5 to 6)
- Decrease value for friendship decrease from losing a battle (from 10 to 5)
- Update Candy friendship thresholds for getting candy for some starter costs.
- Change Soothe Bell from Rogue to Great (Weight: 2 in Great)
- Adjust Map weight to account for change (Weight: 1 to 2)
- Clowning around ME: When shuffling items, soothe bells will get replaced by a random Ultra Tier item
- Clowning around ME: When shuffling items, no item will get replaced by a Soothe Bell

Commit history: 

* Candy friendship changes

Update default value for friendship gain from battle and adjust Soothe Bell tier to Great

* Update modifier-type.ts

* Update friendship constants

* Clowning around encounter no longer consider soothe bell rogue tier

* Expert Breeder ME test will no longer fail if candy gain per battle is changed

---------

Co-authored-by: Starkrieg <starkieg.art@gmail.com>
Co-authored-by: damocleas <damocleas25@gmail.com>
Co-authored-by: Moka <millennium.stitcher@gmail.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-11-30 20:28:29 +01:00
NightKev
eef0183761
[Bug] Stakeout should trigger if the enemy switches with U-Turn/etc (#4918) 2024-11-30 02:28:31 -08:00
PrabbyDD
b70bf0f4aa
[Bug] Fix for Octolock bypasses Ghost Invulnerability to lower Stats (#4923)
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: innerthunder <168692175+innerthunder@users.noreply.github.com>
2024-11-30 02:06:09 -08:00
PigeonBar
75af359154
[Bug][Beta] Fix phazing moves forcing switches into fainted/ineligible Pokemon (#4951) 2024-11-30 01:48:20 -08:00
Bertie690
5fed690187
[Bug] Fixed Super Fang interaction with Multi Lens (#4914)
Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-11-30 01:47:47 -08:00
PigeonBar
3bf2059aaf
[Balance] Safeguard to prevent Paradox Pokemon spawning in ME's (#4915) 2024-11-29 22:02:29 -08:00
NightKev
a91d420eb4
[Test] Fix flaky Shell Side Arm test (#4952) 2024-11-29 17:31:06 -08:00
NightKev
9bc046fd64
[Bug] Honey Gather and Pickup will only activate if the battle was won (#4903)
* Honey Gather and Pickup will only activate if the battle was won

* Add tests for Honey Gather

* Moves `highestEndlessWave` and `battles` stats outside of victory condition
2024-11-29 13:29:54 -08:00
NightKev
03b073f21f
[Bug] Analytic should only increase damage if the user moves last (#4917)
* Analytic only increases damage if the user moves last

* Return `isNullOrUndefined()` instead of `if` chain

---------

Co-authored-by: innerthunder <168692175+innerthunder@users.noreply.github.com>
2024-11-28 17:20:54 -08:00
NightKev
4c8a18690e
[Misc] Rename DamagePhase to DamageAnimPhase (#4880)
* Rename `DamagePhase` to `DamageAnimPhase`

* Fix unreliable Speed Boost test
2024-11-25 14:15:39 -08:00
Mumble
e825e308f9
[Test] Update wimp out test and comment (#4900)
* Changed conditional to actually consider the wave index.

* Added PigeonBar's test

* Added check for MEs + Documentation

* Apply suggestions from code review

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

---------

Co-authored-by: frutescens <info@laptop>
Co-authored-by: PigeonBar <56974298+PigeonBar@users.noreply.github.com>
2024-11-17 16:22:11 -05:00
PigeonBar
07f08877c1
[Balance] Multi Lens damage reduction on fixed-damage moves (#4896) 2024-11-17 17:16:54 +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
NightKev
8326e3556b
Remove .edgeCase() from fully implemented moves (#4876)
This includes Sunsteel Strike, Moongeist Beam and Photon Geyser
2024-11-15 08:29:52 -08:00
PigeonBar
b1138c1d70
[P2][Beta] Freeze-dry Re-implementation (#4874) 2024-11-14 21:07:19 -08:00
PigeonBar
640ac23741
[Dev] Add overrides for alternating between single and double battles (#4833)
* [Dev] Add overrides for alternating between single and double battles

* PR feedback

* Add type `DoubleType`

* Fixed Gastro Acid test using `game.override.battleType(null)`

* Changed new type name to `SingleOrDoubleType`

* `SingleOrDoubleType` is now `BattleStyle`

* Update src/test/utils/helpers/overridesHelper.ts

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: Moka <54149968+MokaStitcher@users.noreply.github.com>
2024-11-14 20:40:01 +01:00
geeilhan
0c521bbe08
[Move] Implement Freeze Dry type-changed interactions (#4840)
* Full implementation of freeze-dry including edge cases such as Normalize and Electrify plus tests

* Update comments

* renamed WaterSuperEffectTypeMultiplierAttr to FreezeDryAttr

* Added test case for freeze dry during inverse battles

* cleaned up code making it more general

* Added some more documentation

* implementing reviewed changes

* used getMoveType() instead of move.type

* added additional test cases to freeze dry

* Revert "used getMoveType() instead of move.type"

This reverts commit 03445dfab4db52b0dddbe7abf7d4b4dfa8b9c583.

* added reviewed changes without changing public/locales

---------

Co-authored-by: ga27lok <geeil.han@tum.de>
2024-11-13 10:41:39 -05: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
PigeonBar
4802f512ff
[P1][Beta] Fix softlock when losing a run on local build (#4846) 2024-11-11 15:22:27 -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
NightKev
6799594bbb
[Test] Update Zen Mode test (#4845) 2024-11-11 02:21:06 -05:00
PigeonBar
63ffab027d
[Beta][P2] Several Unburden bug fixes (#4820)
* [P2][Beta] Several Unburden bug fixes

* Unburden test adjustments

* Some further test cleanup

* Add suggested `.bypassFaint()` to Unburden

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-11-10 14:21:29 -05:00
Mumble
b3a94e6a6b
[Telemetry][Misc] Client-Side changes to log run results at the end of runs (#4834)
* Added new telemetry-related parameters

* Update test with new parameters.

* Removing extra parameters.

* Cat in front of keyboar d sorry

* Changed variable name to isVictory.

* Apply suggestions from code review

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

* Thank you Torranx

* Condensed if-else pair to else if statement

* Update src/phases/game-over-phase.ts

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

* inhale... exhale... corrected variable name to pass linter

---------

Co-authored-by: frutescens <info@laptop>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: Adrian T. <68144167+torranx@users.noreply.github.com>
2024-11-10 00:37:09 -05: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