Commit Graph

613 Commits

Author SHA1 Message Date
NightKev
3d3460888a
Add scoring for the Glaive Rush BattlerTags (#4514) 2024-09-29 23:04:32 -07:00
innerthunder
1bae87fa56
[Move] Fully Implement Plasma Fists (#4446)
* Implement Plasma Fists

* Update arena-tag.json

* Update arena-tag.json

* Update arena-tag.json

* Update arena-tag.json

* Update arena-tag.json

* Update arena-tag.json

* Update arena-tag.json

* Update arena-tag.json

* Update arena-tag.json

* Update arena-tag.json

---------

Co-authored-by: Lugiad <adrien.grivel@hotmail.fr>
2024-09-29 22:30:33 -04:00
Mumble
bcec819fa9
[Move] Fully Implement Syrup Bomb (#4441)
* Syrup Bomb + Tests

* Fix typo on import

* Documentation

* Apply suggestions from code review

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

* Removed unnecessary overlap check

* Removed obsolete comment

* learned how forceHit works

* added custom lapse message

---------

Co-authored-by: frutescens <info@laptop>
Co-authored-by: Madmadness65 <59298170+Madmadness65@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-09-29 21:50:11 -04:00
innerthunder
d0600125dd
[P2] Fix Zippy Zap being boosted by Sheer Force (#4469) 2024-09-29 21:49:37 -04:00
NightKev
3def9fc15d
[Hotfix] Swap force switch out check from isBoss to wave % 10 (#4484) 2024-09-27 22:51:32 -04:00
NightKev
7eb755ca9c
Prevent the last valid pokemon from being forced to switch (#4481) 2024-09-28 03:07:42 +01:00
NightKev
c9664b66d3
[Hotfix] Prevent bosses from being forced to flee by Dragon Tail/etc (#4478) 2024-09-27 21:26:19 -04: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
damocleas
69cac23421
[Balance] Various Pokemon and Move Balance Changes, labels for E-Floette and Ursaluna-BM (#4414)
* Gmax Changes for Venusaur, Blastoise, Lapras, Regenerator Mega Audino, Darkrai and Cosmog upped 6 -> 7 cost

* Changed Heal Order to 5pp to match other Recovery options

* Updated Ursaluna-BM and Eternal-Floette to Sub-Legend for easier handling, Adjust catchrates to Metagross to match Baxcalibur line, and Iron Leaves/Walking Wake catchrate to match the other paradox legends

* Actually updated catchrate for Iron Leaves and Walking Wake

* Added comments for all changes

* part 2 passive changes for the update, Pidgey, Lickitung, Stantler, Regigigas, Frillish, Litten, Chien Pao

* fix space

* Updated Meloetta Cost, Updated Krabby Passive
2024-09-26 23:07:27 +01:00
innerthunder
029d26b4c9
[Beta][P2 Bug] Fix Sappy Seed applying its secondary effect against targets with Substitute (#4430)
* Fix Sappy Seed applying Leech Seed through Substitutes

* Add docs
2024-09-25 22:32:20 -04:00
innerthunder
a6a61b2984
[Move] Implement Shed Tail (#4382)
* Implement Shed Tail

* Fix leftover batonPass reference in docs

* Fix ChillyReceptionAttr

* oops

* Remove unneeded default arg in ReturnPhase

* Fix imports per Kev's suggestions

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

* Docs and Shed Tail on-add message

* Remove mixin attribute

* Update battler-tags.json

* Update battler-tags.json

* Update battler-tags.json

* Update battler-tags.json

* Update battler-tags.json

* Update battler-tags.json

* Update battler-tags.json

* Update battler-tags.json

* Update battler-tags.json

* Update battler-tags.json

* Fix indents

* More nit fixes

* Make Switch[Summon]Phase params readonly

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: Lugiad <adrien.grivel@hotmail.fr>
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
2024-09-25 17:17:46 -07:00
Mumble
57f39efdae
[Moves][Ability] Implement Torment / Taunt / Imprison + Aroma Veil (#4378)
* Torment

* Taunt and Imprison

* ability immunities

* Aroma Veil

* Imprison

* Test Files

* Added exceptions for Rollout and check for active ability

* adding tests so that git doesn't auto-fail

* Blah

* please

* some documentation

* Removed random newlines

* Added check for ability's presence mid battle

* Changed BattlerTagImmunityAbAttr to look at lists instead

* Work?

* Imprison and Taunt Tests

* Tests

* Final tests before documentation

* documentation blah

* Imports

* Flx Change

* flx - adding overrides

* Update src/data/arena-tag.ts

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

* flx fixes

* quick docs

* privated retrieveField

* Handling undefined

* Update src/data/arena-tag.ts

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

* forget to remove partials for heal block

* Apply suggestions from code review

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

* Marked Torment as partial

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

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

* tsdocs

* Prevents test pokemon from being immune to torment

* Update src/data/arena-tag.ts

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

* Apply suggestions from code review

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

* Torranx Fixes

* Check for this.source

* why

* lighting things with my mind on fire

* aRHGHSHDKSHD

---------

Co-authored-by: frutescens <info@laptop>
Co-authored-by: flx-sta <50131232+flx-sta@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>
2024-09-25 14:52:48 -07:00
NightKev
554d4f0a95
[P2 Bug] Dragon Tail now properly respects abilities like Suction Cups (#4252)
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
2024-09-23 11:50:42 -04:00
Tempoanon
b9b69ad834
[Move] Implement autotomization weight effects (#4228)
* Implement Autotomize

* Another linting

* Fix unit tests

* Add nonnull after checking for null

* Update autotomize test

---------

Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
2024-09-23 11:42:17 -04:00
DustinLin
c387f498c8
[Bug] Fix move Chilly Reception (#3198)
Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>
Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>
Co-authored-by: mercurius-00 <80205689+mercurius-00@users.noreply.github.com>
Co-authored-by: returntoice <dieandbecome@gmail.com>
Co-authored-by: Niccolò <123510358+NicusPulcis@users.noreply.github.com>
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
Co-authored-by: protimita <protimitajp@gmail.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: Chapybara-jp <charlie.beer@hotmail.com>
2024-09-22 20:09:51 -07:00
Yiling Kang
b9b2491f95
[Ability] (Partially) Implement synchronize ability with old psycho shift interaction (#2746)
* Initial changes for Synchronize ability

* Fix psycho shift interaction causing buggy behaviour

* Update to show ability even if opponent pokemon does not get statused

* Fix some spacing

* Update tests

* Formatting change

* Remove impossible `if` statement

* Add `simulated` support

* Apply suggestions from code review

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

* Don't need those comments

---------

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 <168692175+innerthunder@users.noreply.github.com>
2024-09-22 19:38:09 -07:00
innerthunder
3ef02c9bbd
[Balance] Remove Species Locks from Aura Wheel and Poison Puppeteer (#4330)
* Remove non-form-change species locks

* Fix typo in localization

* Mark descriptions that need changes

* Update ability.json

* Update move.json

* Update ability.json

* Update src/locales/pt_BR/ability.json

* Update src/locales/pt_BR/move.json

* KO translations

Co-authored-by: Enoch <enoch.jwsong@gmail.com>

* Update src/locales/de/ability.json

* Update src/locales/de/move.json

* Update src/locales/de/move.json

* Update ability.json

* Update move.json

* Update src/locales/it/move.json

* Update src/locales/it/ability.json

* Update src/locales/ja/move.json

Co-authored-by: Chapybara-jp <charlie.beer@hotmail.com>

* Update src/locales/ja/ability.json

Co-authored-by: Chapybara-jp <charlie.beer@hotmail.com>

* Update src/locales/es/ability.json

Co-authored-by: DanStevensonx <114961842+DanStevensonx@users.noreply.github.com>

* Update move.json

* Update src/locales/zh_CN/ability.json

Co-authored-by: btsrkex <34084904+btsrkex@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: btsrkex <34084904+btsrkex@users.noreply.github.com>

---------

Co-authored-by: Lugiad <adrien.grivel@hotmail.fr>
Co-authored-by: José Ricardo <josefleury@discente.ufg.br>
Co-authored-by: Enoch <enoch.jwsong@gmail.com>
Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
Co-authored-by: Niccolò <123510358+NicusPulcis@users.noreply.github.com>
Co-authored-by: Chapybara-jp <charlie.beer@hotmail.com>
Co-authored-by: DanStevensonx <114961842+DanStevensonx@users.noreply.github.com>
Co-authored-by: btsrkex <34084904+btsrkex@users.noreply.github.com>
2024-09-22 20:07:35 +02:00
Mumble
4fb76fd117
[Move] Implement Heal Block (#4120)
* Heal Block on new branch

* Add/update code from previous PR

* Re-add i18n from previous PR

Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>
Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>
Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
Co-authored-by: Asdar <asdargmng@gmail.com>

* Disabling Moves

* Still need to update tests and write docs

* removing partial tags from abilities to feel better

* Pollen Puff works now

* Implemented Psychic Noise

* typedocs

* Documentation

* Update src/data/battler-tags.ts

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

* Update src/data/battler-tags.ts

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

* Update src/data/battler-tags.ts

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

* Turns out the old condition wasn't buggy. Probably mixed up another change I made.

* changed array clear

---------

Co-authored-by: frutescens <info@laptop>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>
Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>
Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
Co-authored-by: Asdar <asdargmng@gmail.com>
2024-09-21 13:15:32 -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
Tempoanon
714630c9de
[Refactor] Renamed the HitsTagAttr back to how it was (#4324) 2024-09-19 10:25:00 -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
innerthunder
605ae9e1c3
[Move] Improved damage forecasting for Shell Side Arm (#4310) 2024-09-18 19:03:01 -04:00
flx-sta
6030b780f2
[Move][Mirror] Update HitTagAttr attributes v2 (#4297)
* [Move] Updated HitAttr tags

Affects Whirlwind/Fly, Steamroller/Minimize, and Malicious Moonsault/Minimize

* [Move] Update for MinimizeAccuracyAttr

Affects Steamroller and Malicious Moonsault

* add: whirlwind test

* add: steamroller test

* rename: `AlwaysHitMinimizeAttr` (from `MinimizeAccuracyAttr`)

* rename: `DealsDoubleDamageToTagAttr` (from `HitsTagAttr`)

---------

Co-authored-by: chaosgrimmon <31082757+chaosgrimmon@users.noreply.github.com>
2024-09-17 22:41:46 -04:00
Tempoanon
72439ffff7
[Move][Beta] Add back grounded condition to ground shaky moves and grassy terrain (#4276) 2024-09-16 10:58:28 -04:00
Tempoanon
8046b99b75
[Refactor] Refactor code for Grassy Terrain halving the power of Earthquake, Magnitude, and Bulldoze (#4263)
* EQ, magnitude, and bulldoze do half damage in grassy terrain

* Fix more styling issues in grassy glide

* lol unit tests

* Add test :pikastare:

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-09-15 13:06:22 -04:00
innerthunder
77f0fe6e4b
[Enhancement][EnemyAI] Add support for simulated damage calculations and "Search for KO" move filtering (#3975)
* Create getAttackDamage function

* Add ignoreAbility params to getBattleStat

* Rewrite Pokemon.apply

* renamed damage variables

* Add `ignoreSourceAbility` arg to `getAttackDamage`

* Enemy AI now searches for KO moves

* Add probabilistic test for KO search

* Add tests to `damage_calculation`

* "killMoves" --> "koMoves"

* Clean up `randomMultiplier`

* Clean up damage calculation test

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

* Fix stabMultiplier using base type for Tera bonus

* Restore simulation capabilities for Unaware

* move sourceTeraType closer to where it's used

* Add base damage test

* Exclude counter moves from KO search

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-09-13 22:54:22 -07:00
innerthunder
8164ec596e
[Balance] Remove isMax conditions from move and ability effects (#4200)
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: Amani H. <109637146+xsn34kzx@users.noreply.github.com>
2024-09-13 20:48:57 -07: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
Amani H.
1cf075adc9
[Bug] Fix Guard Swap and Power Swap swapping all stats (#4213)
* [Bug] Fix `SwapStatStagesAttr` Oversight

* Remove SPLASH_ONLY Leftover
2024-09-13 12:31:25 -04:00
NightKev
9026214f05
[Move] Mark Sky Drop as partial due to missing effects (#4204) 2024-09-13 01:07:43 -04:00
PrabbyDD
f80c073def
[Bug] Fix for Roost Grounds the User Rather than Removing Flying Typing#3984 (#4164)
* double checking tests on a new made branch for bug 3984

* roost test update

* added roost test file

* Roost test update

* removed random stackdump

* cleaned up message for roost

* fixed test file for linter

* cleaning up code and fixing some desync test issues

* Cleaned up more code and added case for double shock

* fixing some messages and putting burn up and double shock in same class

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-09-12 15:27:47 -04:00
schmidtc1
28012b8d85
[Bug] Fixes Freezy Frost visual bug when attacking ally, and Freezy Frost not applying effects when fainting a target (#3753)
* Resolves bugs with freezy frost vs ally, and freezy frost fainting opp

* Adjusts unit tests, adds one more for doubles

* Refactor apply function to follow the async/await pattern

* Eslint fix attempt

* Update freezy_frost.test.ts

Remove js file extension
2024-09-11 22:20:24 -04:00
Lylian BALL
8195373824
[Move] Add Retaliate double damage condition (#1831)
* Add retaliate double damage condition

* undo override changes

* add death history and bug fix where retaliate didn't work after 10 turns

* delete the unnecassary log

* optimization

* made some corrections

* add retaliate test as draft

* add retaliate test

* Update src/test/moves/retaliate.test.ts (delete log)

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

* remove submodule

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

Co-authored-by: schmidtc1 <62030095+schmidtc1@users.noreply.github.com>

* update retaliate test

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

Co-authored-by: schmidtc1 <62030095+schmidtc1@users.noreply.github.com>

* update unit test

* remove wide lens for retaliate test

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

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

* Update src/battle.ts

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

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

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

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

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

* optimization

* Fix indentation

* Use default values

* Add parentheses for clarity

* Update src/battle.ts

Co-authored-by: schmidtc1 <62030095+schmidtc1@users.noreply.github.com>

* Update src/battle.ts

Co-authored-by: schmidtc1 <62030095+schmidtc1@users.noreply.github.com>

* Update src/data/move.ts

Co-authored-by: schmidtc1 <62030095+schmidtc1@users.noreply.github.com>

* Update src/phases/faint-phase.ts

Co-authored-by: schmidtc1 <62030095+schmidtc1@users.noreply.github.com>

* Update src/phases/faint-phase.ts

Co-authored-by: schmidtc1 <62030095+schmidtc1@users.noreply.github.com>

* bug on import

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: schmidtc1 <62030095+schmidtc1@users.noreply.github.com>
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
2024-09-11 21:31:57 -04:00
NightKev
951b568590
[Documentation] Add some tsdocs to move.ts, mark rollout and iceball (P) (#4099)
* Add some tsdocs to `move.ts`, some misc cleanup

* Mark Rollout and Ice Ball as partial
2024-09-11 21:05:43 -04:00
NightKev
d4cd74c8b7
[P2 Bug] Baddy Bad shouldn't activate Reflect if the target uses Protect, make gravity and water/mud sport ignore protect(#4180) 2024-09-11 20:58:21 -04: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
Adrian T.
c59f6edf36
[Move] Implement Power Shift (#4083)
* fully implement power shift

* cleanup
2024-09-09 12:54:31 -04:00
Adrian T.
3c05237b2e
[Move] Fully implement Throat Chop (#4115)
* fully implement throat chop

* add linkcode in docs

* address comments

* update test
2024-09-09 12:52:20 -04:00
Adrian T.
f5bf766ff7
[Move] Fully implement Tar Shot (#4043) 2024-09-09 00:42:53 -07:00
Adrian T.
06f98f6737
[Bug] Fix console error from undefined stockpilingTag (#4118) 2024-09-08 20:50:47 -07:00
innerthunder
7b97657756
[Bug] Fix Aura Break applying without Dark/Fairy Aura present (#4057)
* Fix Aura Break ignoring active Dark/Fairy Aura condition

* Add conditional post-summon message

---------

Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
2024-09-06 07:59:22 +00: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
Adrian T.
deac3141a1
remove partial from tera blast (#4044) 2024-09-05 20:05:09 +00:00
innerthunder
6e26db27b8
Protection moves now fail when used last (#4045) 2024-09-05 19:07:04 +00:00
Zach Day
13f38dce8d
[Move] Use BattlerTag for move-disabling effects (#2051)
* Use BattlerTag for move-disabling effects

* Fix RUN command causing freeze

* Improve documentation

* Clean up and document PokemonMove.isUsable

* Fix isMoveDisabled missing return

* Tags define the message shown when disabling interrupts a move

* Fix -1 duration on Disable effect

* Add tests for Disable

* En loc and fix message functions

* Fix Disable test

* Fix broken imports

* Fix test

* All disable tests passing

* Localize remaining strings

* Move cancellation logic out of lapse; use use TURN_END for lapse type

* Prevent disabling STRUGGLE

* Inline struggle check function

* Restore RechargingTag docs

* Move cancellation logic back to tag

Wanted to increase similarity to the existing code base to avoid that stupid hyper beam error but it's still happening here

* Fix hyper beam test

* Remove erroneous shit

* Fill movesets with SPLASH for disable test

* More robust condition for disable checking

* Remove DisabledTag lapse

* Simplify DisablingBattlerTag lapse

* Cancel disable-interrupted moves instead of failing them

* Avoid disabling virtual moves

* Consistent access modifiers across Disable tags

* Add abstract function for message when player tries to select the disabled move

* Fix syntax mistake

* Always disable last-used non-virtual move

* Overhaul tests + add tests

* Implement loadTag for DisabledTag

* Update translations

* Update translations

* Reimplement phase changes

* fix battlertag strings

* Fix disable test not running

* Update name of base class

* Rename "disabling" to "restriction"

* Fix sneaky string fuckup

* Fix test failure

* fix merge problems

* fix merge problems

* Update tests

* rerun RNG test

* Properly mock stats in test

* Document everything in battlertag

* More docs + typo fix

* Update tests

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-09-05 08:44:22 +00:00
innerthunder
f3ced7e814
[Bug] Fix inconsistencies with move type resolution for some ability triggers (#3988)
* Fix inconsistencies with ability triggers on variable-type moves

* Fix aura effects not accounting for the move user

* Fix Wonder Guard evaluating move type as if the defender used the move

* Some additional test coverage for move-type-changing effects
2024-09-05 00:49:01 +01:00
PigeonBar
3a6146935c
[Bug] Fix reloads causing RNG inconsistencies, Moody and Acupressure use seeded RNG now (#3952)
* [Bug] Fix reloads causing RNG inconsistencies

* Minor revisions

* Allow reload helper to directly access getSessionSaveData()

* Changed Moody and Acupressure to use seeded RNG

* Fix broken unit test
2024-09-03 09:14:45 -04:00
Amani H.
89e80f3deb
[Refactor/Bug/Move] Overhaul Stats and Battle Items, Implement Several Stat Moves (#2699)
* Create Getters, Setters, and Types

* Work on `pokemon.ts`

* Adjust Types, Refactor `White Herb` Modifier

* Migrate `TempBattleStat` Usage

* Refactor `PokemonBaseStatModifier` Slightly

* Remove `BattleStat`, Use "Stat Stages" & New Names

* Address Phase `integers`

* Finalize `BattleStat` Removal

* Address Minor Manual NITs

* Apply Own Review Suggestions

* Fix Syntax Error

* Add Docs

* Overhaul X Items

* Implement Guard and Power Split with Unit Tests

* Add Several Unit Tests and Fixes

* Implement Speed Swap with Unit Tests

* Fix Keys in Summary Menu

* Fix Starf Berry Raising EVA and ACC

* Fix Contrary & Simple, Verify with Unit Tests

* Implement Power & Guard Swap with Unit Tests

* Add Move Effect Message to Speed Swap

* Add Move Effect Message to Power & Guard Split

* Add Localization Entries

* Adjust Last X Item Unit Test

* Overhaul X Items Unit Tests

* Finish Missing Docs

* Revamp Crit-Based Unit Tests & Dire Hit

* Address Initial NITs

* Apply NIT Batch

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

* Fix Moody Test

* Address Multiple Messages for `ProtectStatAbAttr`

* Change `ignoreOverride` to `bypassSummonData`

* Adjust Italian Localization

Co-authored-by: Niccolò <123510358+NicusPulcis@users.noreply.github.com>

* Fix Moody

---------

Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
Co-authored-by: Niccolò <123510358+NicusPulcis@users.noreply.github.com>
2024-09-02 22:12:34 -04:00
NightKev
f54846f735
[Move] Implement Safeguard (#3447)
* Implemented safeguard and tests

* Update tests

* Add i18n placeholders

* Implement Safeguard for non-volatile statuses

* Implement protection from confusion and Yawn

* Replace `target instanceof EnemyPokemon` with `target.isPlayer()`

* Minor capitalization change

* First batch of i18n

Adds fr, pt_BR, zh_CN, zh_TW

Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>
Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>
Co-authored-by: mercurius-00 <80205689+mercurius-00@users.noreply.github.com>

* Add more translations

+ de, es, ko

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
Co-authored-by: Asdar <asdargmng@gmail.com>
Co-authored-by: sodam <66295123+sodaMelon@users.noreply.github.com>

* Fix broken character in es translation

* Update test with new function definition

* Add Italian translation

Co-authored-by: Niccolò <123510358+NicusPulcis@users.noreply.github.com>

* Add move category check for message display

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

* Update phase imports in Safeguard test

* Fix test imports

* Update tests

---------

Co-authored-by: Joshua Keegan <keeganjosh@vuw.ac.nz>
Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>
Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>
Co-authored-by: mercurius-00 <80205689+mercurius-00@users.noreply.github.com>
Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
Co-authored-by: Asdar <asdargmng@gmail.com>
Co-authored-by: sodam <66295123+sodaMelon@users.noreply.github.com>
Co-authored-by: Niccolò <123510358+NicusPulcis@users.noreply.github.com>
Co-authored-by: innerthunder <168692175+innerthunder@users.noreply.github.com>
2024-09-02 00:26:20 -04:00
innerthunder
e29f1fe5fd
[Bug] Fix some trapping moves' interactions with Ghost-type Pokemon (#3936)
* Fix secondary effects to trapping moves not applying to Ghost types

* Docs for `isTrapped`

* more `isTrapped` cleanup

* Remove .js from imports
2024-09-01 23:39:26 -04:00