469 Commits

Author SHA1 Message Date
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
NightKev
c54d21c313
[Test] Fix flaky Wimp Out test (#4830) 2024-11-09 13:12:22 -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
Mumble
58d40b905a
[Bug] Fixing Encore's interactions with other Move Restriction moves (#4805)
* Converted EncoreTag into a MoveRestrictionBattlerTag

* Wrote test and added documentation

* Added documentation describing EncoreTag as a whole

* Added PRE_MOVE lapse code to handle early tag expiration from PP-less encored move

* Replaced PRE_MOVE with CUSTOM for lapsing Encore in situations where the encored move has 0 PP

* Add encore tests

* fix overrides

* Apply suggestions from code review

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

* Update command-phase.ts

* Addressed failing eslint test

---------

Co-authored-by: frutescens <info@laptop>
Co-authored-by: innerthunder <brandonerickson98@gmail.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-11-08 09:35:33 -08:00
innerthunder
625b98a6fe
[Move][Refactor] Create Move.getPriority + Fully Implement Upper Hand (#4789)
* Fully Implement Upper Hand

* doc for UpperHandCondition

* New Upper Hand tests + some nit fixes

* Use Fake Out over mocked Tackle in test
2024-11-08 10:50:23 -05:00
Mumble
4821df68f2
[P1] Prevents crash from using Sketch against a lost turn (#4806)
* Added check to make sure that Sketch does not copy a failed move.

* Added check for Struggle.

* Added a revised check.

* Added test + change to valid move finding conditional.

* Made revision to .find target

* Reverting previous commit, whoops.

* Add moveset checks to Sketch tests

---------

Co-authored-by: frutescens <info@laptop>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-11-07 23:10:46 -05:00
Mumble
6b7efb444b
[Ability] Fully implement Synchronize (#4785)
Co-authored-by: frutescens <info@laptop>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-11-06 11:29:24 -05:00
Mumble
4f733796c5
[Move] Implement Grudge (#4794)
* some work

* slay dnr

* Fixed up move mechanics

* bahhh

* yawn

* updated lapse type to correctness

* Test + documentation

* yattt

* Remove some redundant code

* Apply suggestions from code review

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

* Update battler-tags.ts

* Fix `PokemonAnimPhase`

---------

Co-authored-by: frutescens <info@laptop>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: innerthunder <168692175+innerthunder@users.noreply.github.com>
2024-11-05 21:32:07 -05:00
geeilhan
198d3ce2a6
[P2] Fixing Incorrect Freeze Dry Interaction With Soaked Wonder Guard Target (#4798)
* [Bug] fixed interaction between freeze dry and soaked wonder guard target

* added automated test for freeze dry interaction with soaked wonder guard target

* using parameter instead of function to get typeMultiplier
2024-11-05 12:37:47 -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
PigeonBar
543a97076b
[P1][Beta] Fix FormChangePhase being broken by EvolutionPhase refactor (#4795)
* [P1][Beta] Fix FormChangePhase being broken by EvolutionPhase refactor

* Apply suggested changes to added test
2024-11-05 15:19:20 +01:00
AJ Fontaine
13841765f1
[Dev] Update test save with everything unlocked (#4137)
* Add test save with all egg moves unlocked

* Move to everything.prsv

---------

Co-authored-by: Lugiad <adrien.grivel@hotmail.fr>
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
Co-authored-by: Moka <54149968+MokaStitcher@users.noreply.github.com>
2024-11-04 21:33:15 -05:00
NightKev
ab6d15ee8a
[Move] Improve Future Sight & Doom Desire (still partial) (#4545)
* Fix behavior of Future Sight and Doom Desire

Add test for Future Sight

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

* Prevent crash if Future Sight target is missing

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

* Add `partial()` comments, update `DelayedAttackAttr` return

---------

Co-authored-by: Gianluca Fuoco <gianluca_1227@hotmail.com>
Co-authored-by: PigeonBar <56974298+PigeonBar@users.noreply.github.com>
Co-authored-by: Tempoanon <163687446+Tempo-anon@users.noreply.github.com>
2024-11-04 21:31:40 -05:00
flx-sta
7a0c88e661
[Refactor] Pokerogue API client (#4583)
* start migrating Utils.apiFetch to api class

* move dailyranking to api

* use api in title-ui-handler

* remove: Utils.apiFetch

* migrate `updateSystemSavedata` to api

* migrate clear session savedata to api

* migrate updateAllSavedata to api

* migrate `updateSessionSavedata` to api

* rename `api` to `pokerogue-api`

* migrate unlink discord to pokerogue-api

* migrate unlink google to pokerogue-api

* update pokerogue-api login

* migrate register account to pokerogue-api

* remove Utils.apiPost

* reset overrides.ts

* chore: cleanup

* fix env.development

* fix circular dependencies with api

* fix gamedata verify missing await

* fix daily api calls in daily-run-scorebard

* fix discord-link request body being empty

there was a double `toUrlSearchParams()` call involved

* add pokerogue-api test coverge

* add test-utils `getApiBaseUrl()` method

* add pokerogue-admin-api test coverage

* add pokerogue-account-api test coverage

* add pokerogue-daily-api test coverage

* add pokerogue-savedata-api test coverage

* fix some test describes

* add pokerogue-session-savedata-api test coverage

* add pokerogue-system-savedata-api test coverage

* fix tests

* fix tryExportData

thanks @MokaStitcher

* chore: fix menu-ui-handlers.ts

* fix admin-ui-handler (types)

* extend test-coverage for admin-api

* remove outdated code

* skip some clowning-around-encounter tests if events are active

this is not a permanent solution

* Update src/system/game-data.ts

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

* Revert "skip some clowning-around-encounter tests if events are active"

This reverts commit a97dafe8b2479e9b2ddd49d4dc9710814d7c7b67.

* mark `localServerUrl` and `apiUrl` as deprecated

in `utils.ts`

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: PigeonBar <56974298+PigeonBar@users.noreply.github.com>
2024-11-04 15:57:21 -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
NightKev
770f388c45
[Refactor] Miscellaneous code cleanup (#4596)
* Miscellaneous code cleanup:

- Update `overrides.ts` imports

- Add missing comment and `;` in `eslint.config.js`

- `field/pokemon.ts`:

Rename `generateVariant` to `generateShinyVariant`

Mark some functions as `public`/etc

Update various tsdocs/comments, add tsdocs to `isOfType`

Turn an unreadable 450+ character line into a
readable block of code

- `utils.ts`:

Remove unused function `randSeedEasedWeightedItem`

Mark `IntegerHolder` and `FixedInt` as deprecated

Update some tsdocs/comments

* Convert to inline anonymous function

* Fix indentation in `move-effect-phase.ts`

Rename `getTarget` to `getFirstTarget` for clarity

Convert namespace import to named imports

Add `public`/etc to methods

* Rename `verifyLang` to `hasAllLocalizedSprite` and update tsdoc

* update locale submodule

* Put missing `null` guards around some uses of `getUserPokemon()`

* Fix locales

* Fix Unburden test

---------

Co-authored-by: Moka <millennium.stitcher@gmail.com>
Co-authored-by: Tempoanon <163687446+Tempo-anon@users.noreply.github.com>
2024-11-03 22:23:51 -05:00
innerthunder
c3d832aaca
[Move] Fully Implement Round (#4783) 2024-11-03 21:59:55 -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
muscode
1619d512cf
[Move] Implement Fairy Lock (#4736)
* inital wip

* wip set isTrapped to true and removed timedtrap

* implement fairy lock

* whitespace fix

* added documentation for tag

* added more suggested tests

* give tests breathing room

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

* give tests breathing room

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

* give tests breathing room

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

* updated nested ternary, changed test name

---------

Co-authored-by: Tempoanon <163687446+Tempo-anon@users.noreply.github.com>
Co-authored-by: innerthunder <168692175+innerthunder@users.noreply.github.com>
2024-11-03 21:56:54 -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
muscode
f0ae36de6c
[Ability] Implement Wimp Out and Emergency Exit (#4701)
* implement Wimp Out/Emergency Exit

* fixed test

* fixed weather bug

* Added nightmare interaction to Wimp Out following bug fix

* refactored and added postdamageattr

* bug fixes

* added confusion test back (skipped)

* updated applyPostDamageAbAttrs to applyPostDamage

* fix external func name

* fixed syntax inconsistency

* updated PostDamageForceSwitchAttr -> PostDamageForceSwitchAbAttr

* Modify `wimp_out.test.ts`

* remove extra comment

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

* remove extra comment

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

* Update tsdocs

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

* remove comment

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

* remove comment

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

* fix tsdocs

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

* fix tsdocs

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

* fix tsdocs

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

* fix tsdocs

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

* fix whitespace

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

* make getFailedText public

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

* make switchOutLogic public

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

* make getSwitchOutCondition public

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

* make getFailedText public

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

* make applyPostDamage public

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

* simplify if statement

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

* add public override to applyPostDamage

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

* fixed nested if issue, remove trapped tag removal

* add fix for multi hit move

* added multi-lens logic

* moved applyPostDamageAbAttrs to pokemon.damage, added check for multi lens in pokemon.apply

* added source to damageAndUpdate and applyPostDamageAbAttrs, added Parental Bond logic + test, put applyPostDamageAbAttrs back in damageAndUpdate

* simplify multi hit check

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

* Minor formatting changes

* Update src/data/ability.ts

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

* moved and renamed shouldPreventSwitchOut, rewrote tests to account for U-turn changes, fix syntax error

* Move comment slightly

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: innerthunder <168692175+innerthunder@users.noreply.github.com>
2024-11-03 01:04:20 -05:00
Mason S
c31657d952
[Refactor] Reduced nesting in MoveEffectPhase (#3541)
* Re-structured MoveEffectPhase.run() to reduce nesting and improve readability.

* Re-structured MoveEffectPhase.run() to reduce nesting and improve readability.

* Added Substitute Implementation

* Fix indentation, tsdocs, add `public`/etc

* Prevent ENEMY_SIDE targeted moves from occurring twice in double battles

* Add `override` to `start()` and `end()`

* Minor indentation fix

---------

Co-authored-by: innerthunder <168692175+innerthunder@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-11-02 22:55:15 -04:00
innerthunder
1474f8cf14
[Refactor] Add options param interface for MoveEffectAttr (#4710)
* Optional parameter interfaces for `MoveEffectAttr` and `StatStageChangeAttr`

* Update docs + Diamond Storm typo

* Apply suggestions from code review

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

* Make move effect trigger specification optional

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-11-02 13:05:33 -04:00
Mumble
1659f57262
[P2] Camouflage now considers Terrains first (#4761)
* the fix... will maybe write a test later

* ughh

* made a test

* moved aorund function

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

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

* lalal

---------

Co-authored-by: frutescens <info@laptop>
Co-authored-by: PigeonBar <56974298+PigeonBar@users.noreply.github.com>
2024-11-02 12:48:10 -04:00
innerthunder
80a8c659ee
[P2] Add "no switch-in" fail condition for Shed Tail and Baton Pass (#4777) 2024-11-02 12:47:08 -04: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
PrabbyDD
afe6d2900d
[P2] Fix for Speed Boost is Activated on the Turn a Pokemon is Switched In, and When a Pokemon Fails to Escape #4353 (#4676)
* fixing speed boost for pokemon being switched in and for if failed escape

* adding unit tests

* adding failed run away test case

* adding failed run away test case modification

* refactoring solution to be more consistent with coding style

* more fixes for consistency

* more fixes for consistency

* adding new AbAttr in abiliity.ts for posterity

* removing uneccesary variables

* fixing a merge conflict
2024-10-29 17:38:33 -04:00
NightKev
921d4fa18c
[P2] Chloroblast & Struggle should not recoil if the move failed (#4719)
* Chloroblast & Struggle should not recoil if no damage was dealt

* Protect against missing move entry

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

---------

Co-authored-by: PigeonBar <56974298+PigeonBar@users.noreply.github.com>
2024-10-29 17:31:37 -04:00
Mumble
fb2d3e45d6
[Move][Ability] Fully Implement Forest's Curse / Trick Or Treat / Mimicry (#4682)
* addedType variable

* basic mimicry implementation

* eslint

* rage

* quick change

* made files

* added mimicry activation message

* test for moves done

* hahahhaha

* done? for now?

* laklhaflhasd

* Apply suggestions from code review

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

* time to start... ughhh

* reflect type

* Added new message

* Update src/field/pokemon.ts

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

* Update src/data/ability.ts

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

* added overrides

* some checks

* removed comments

* Apply suggestions from code review

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

---------

Co-authored-by: frutescens <info@laptop>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: PigeonBar <56974298+PigeonBar@users.noreply.github.com>
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
2024-10-29 10:10:37 -07:00
geeilhan
38a6bf07e3
[Bug] Fix enemy faint causing Frenzy moves to mishandle paralysis (#4680)
* [BUG] Added frenzy reset function during move phase should move be cancelled (#4227)

* Revert [P2 BUG] Fix since it does not work and is faulty

* [P2 BUG] Implemented correct frenzy Tag and Movequeue reset should frenzy move fail (#4277)

* Cleaned up Bug Fix using frenzyMissFunc

* Added automated test case for frenzy move edge case

* Improvement to frenzy move reset test case speed

* Fix test

* Add missing import

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-10-29 08:36:24 -07:00
PrabbyDD
3241332a3c
[Ability] Implementing Friend Guard (#4718)
* implementing friend guard ability

* Update src/data/ability.ts

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

* Update src/data/ability.ts

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

* Update src/data/ability.ts

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

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

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

* Update src/field/pokemon.ts

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

* more tests and fixing other issues

* more tests and fixing other issues

* Update Friend Guard test with damage mocks

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: innerthunder <168692175+innerthunder@users.noreply.github.com>
Co-authored-by: innerthunder <brandonerickson98@gmail.com>
2024-10-28 13:49:04 -07:00
innerthunder
b4cc9d7892
[Hotfix] Fix crash when Mist would block a stat drop (#4746)
* Fix crash when Mist would block a stat drop

* Bump version

* Bump version (again)
2024-10-28 14:02:10 +01:00