Commit Graph

302 Commits

Author SHA1 Message Date
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 947400f2b9
[Test] Add tests for Freeze-Dry (#3990) 2024-09-02 22:11:35 -04:00
ckincaid17 234d617464
[Bug] Let Shedinja relearn egg moves when evolved from a starter (#3915)
* [Bug] Let Shedinja relearn egg moves when evolved from a starter

* Copy met level as well
2024-09-02 19:10:33 -07:00
MokaStitcher 89a1ff7b5b
[Bug] Fix Inconsistency with stat boost when breaking through boss shields + tests (#3785)
* fix boss shield stats up calculation and add tests

* update test to remove usage of deprecated startBattle
2024-09-03 00:29:15 +02:00
NightKev 744c8f8845
[Test] Update/modernize/fix some tests (#3968) 2024-09-02 01:06:20 -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
NightKev f3c41edf5e
[Bug] Don't reset turn count or used moves array at the start of a new wave (fakeout and gigaton hammer) (#3606)
* Don't reset turn count or used moves array at the start of a new wave

* Add tests
2024-09-02 00:24:12 -04:00
NightKev 69a9916b4c
[Bug] Moves copied by Dancer should not consume PP (#3623)
* Moves copied by Dancer should not consume PP

* Add test for Dancer (unfinished)

* Delete src/test/abilities/dancer.test.ts

This test is not finished lol

* Add test
2024-09-02 00:21:56 -04:00
PrabbyDD 4553c1c34f
[Bug] Fix Octolock Ignores Clear Body, White Smoke, Big Pecks #3876
Pecks, Clear Body, and White Smoke

Adding tests for octolock
2024-09-02 00:20:16 -04:00
NightKev 1fd662111e
[Test] Tests now default to using "Set" battle style (#3728)
* Tests now default to using "Set" battle style

* Fix typo
2024-09-01 23:32:31 -04:00
NightKev 709066bd1a
[Move] Finish Alluring Voice, Burning Jealousy and Lash Out (#3508)
* Implement Alluring Voice and Burning Jealousy

* Fix Alluring Voice and add tests

* Replace `BattlerTag.STATS_BOOSTED` with `PokemonTurnData` field

* Work around bug with turn data

* Remove unused variable

* Replace nearby instances of `integer` with `number`

* Fix imports

* Implement Lash Out

* Rename `battleStats(In|De)crease` -> `battleStats(In|De)creased`

* Fix copy/paste error

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

* Update tests

---------

Co-authored-by: ElliottSimmonds <simmonds.elliott@yahoo.co.uk>
Co-authored-by: schmidtc1 <62030095+schmidtc1@users.noreply.github.com>
Co-authored-by: Mumble <171087428+frutescens@users.noreply.github.com>
2024-09-01 22:57:07 -04:00
MokaStitcher dcb03f4ee9
[Test] Add test for final boss fight phase switch (#3847)
* implement test for final boss encounter phase switch

* Update Eternatus tests & helper function

* fix endless_boss test following GameManager update

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-09-01 22:47:22 -04:00
Adrian T. 64368b62bc
[Ability] Add form change support for Flower Gift (#3941)
* add form change support for flower gift

* fix nits
2024-09-01 22:39:42 -04:00
innerthunder 7755f798fd
[Ability] Implement Tera Shell (#3856)
* Implement Tera Shell

* Apply suggestions from code review

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

* Update src/data/ability.ts

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

* Add comments and fixed damage condition to `applyPreDefend`

* Fix speed tie breaking things in tera shell test

* Change deprecated `startBattle` calls

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: Adrian T. <68144167+torranx@users.noreply.github.com>
2024-09-02 02:21:11 +01:00
Mumble 55e0d65ac8
[Refactor] Improvements on getOrder() (#3547)
* Moved getOrder() into TurnStartPhase

* Cleaned up bypass speed checks

* Revert "Cleaned up bypass speed checks"

This reverts commit 11150254f5.

* Added comments.

* Fixed up some inconsistencies

* changed isSameBracket check

* changed isSameBracket check p2

* changed isSameBracket check p3

* changed isSameBracket check p3

* Fixed up conditionals + stall/M.m

* Seems OK

* Update battle-spec.ts

* Updated tests to use new functions introduced. Less intuitive, but faster.

* Update src/phases.ts

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

* Moved getOrder() into TurnStartPhase

* Cleaned up bypass speed checks

* Revert "Cleaned up bypass speed checks"

This reverts commit 11150254f5.

* Added comments.

* Fixed up some inconsistencies

* changed isSameBracket check

* changed isSameBracket check p2

* changed isSameBracket check p3

* changed isSameBracket check p3

* Fixed up conditionals + stall/M.m

* Seems OK

* Update battle-spec.ts

* Updated tests to use new functions introduced. Less intuitive, but faster.

* Removed import

* i hate git

* Moved getOrder() into TurnStartPhase

* Seems OK

* missing import

* Added Snooze's review

* Added test fixes and removed unwanted edit.

* fixed dynamax cannon test

* typedocs fixes

* Updating battle-order.test.ts

* merge fixes

* ughhh

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

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

* Apply suggestions from code review

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

* tsdocs :)

* Fixed tests

* Update src/phases/turn-start-phase.ts

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

* Update src/phases/turn-start-phase.ts

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

* innerthunder's fixes

* commas

* Mocked stats instead of directly changing them

---------

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-09-01 15:23:25 -07:00
NightKev 642b18e747
[Bug] Fix Pokemon not gaining HP when evolving (#3569)
* Don't recalculate stats that already exist

* add test to cover hp update after evo (#4)

- add evolution phase to phase interceptor
- add mock for video game object
- add returning video mock on add.video()

* add test to make sure pkm are not healed on evolve

* Stop on `EndEvolutionPhase` to prevent game state leak in tests

* Fix imports

* Remove `.js` from import

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

* Add docs to mock class

---------

Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
2024-08-30 20:21:56 -07:00
NightKev dd0e820893
Fix turn order issue in Miracle Eye test (#3912) 2024-08-30 15:33:35 -07:00
Leo Kim c112abbcd2
[Challenge] Inverse battle challenge (#3525)
* add inverse battle challenge. refactoring type.ts for inverse battle challenge

* update type integer -> number

* add inverse battle condition to thunder wave, conversion 2.

* add inverse_battle test code, add checking gameMode in runToSummon not to overwrite gameMode to CLASSIC always

* update startBattle with isClassicMode default = true

* add inverse achievement

* fix achv validation condition

* remove unnecessary new line

* update defaultWidth 160 -> 200

* update locales

* fix korean translation

* fix korean translation2

* Update src/locales/de/achv.ts

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>

* Update src/locales/de/challenges.ts

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>

* Update src/locales/de/challenges.ts

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>

* resize challenge description 96 -> 84

* update challenge select UI size.

* revert font size to 84. update de translation

* Update src/locales/fr/challenges.ts

Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>

* Update src/locales/fr/achv.ts

Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>

* Update src/locales/es/challenges.ts

Co-authored-by: Asdar <asdargmng@gmail.com>

* Update src/locales/fr/challenges.ts

Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>

* Update src/locales/fr/achv.ts

Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>

* Update src/locales/es/achv.ts

Co-authored-by: Asdar <asdargmng@gmail.com>

* Update src/locales/fr/achv.ts

Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>

* shrink de font size on achivement

* set middle align to achv title

* Update src/locales/zh_CN/achv.ts

Co-authored-by: mercurius-00 <80205689+mercurius-00@users.noreply.github.com>

* Update src/locales/zh_TW/achv.ts

Co-authored-by: mercurius-00 <80205689+mercurius-00@users.noreply.github.com>

* Update src/locales/zh_CN/challenges.ts

Co-authored-by: mercurius-00 <80205689+mercurius-00@users.noreply.github.com>

* Update src/locales/zh_TW/challenges.ts

Co-authored-by: mercurius-00 <80205689+mercurius-00@users.noreply.github.com>

* fix zh_TW ahiv.ts

* fix import code on inverse battle test for updated phase

* Update src/data/type.ts

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

* update requested changes

* Update src/locales/pt_BR/achv.ts

Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>

* Update src/locales/pt_BR/achv.ts

Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>

* Update src/locales/pt_BR/challenges.ts

Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>

* [draft] update inverse battle apply function

* change the way how to use applyChallenge for inverse type

* resolve confilct

* fix test codes

* remove unnecessary multiplier variable and break codes

* update getTypeDamageMultiplier argument type from `number` to `Type`

* Fix inverse types tests (#1)

* Fix Inverse Battle tests

* Add timeout parameter to tests

* update requested changes

* update requested changes

* update requested changes2

* update comments

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

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

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

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

* fix mis pasted code

* revert loadChallenge code for  FreshStartChallenge

* code refactoring

* restore challenge.json lost translations

* revert UI changes

* revert unreverted newlines

* Run History inclusion

* requested changes from torranx

* update WaterSuperEffectTypeMultiplierAttr for inverse battle matchup.

* fix test code. adding flying press test code

* update requested change from xavion3

* updated requested change from xavion 2

* update requested changes from xavion 3

* remove exception code which is not valid

* attach partial mark to Freeze dry. requested by xavion

* add missing game over phase code when we delete old phases.ts

* fix test codes

* merge conflict

* fix achv condition

* updated achv block condition. we don't want to change desc now

* resolve conflict

* Eternatus Moveset Tinkering

* Cleaning it up

---------

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>
Co-authored-by: Asdar <asdargmng@gmail.com>
Co-authored-by: mercurius-00 <80205689+mercurius-00@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
Co-authored-by: frutescens <info@laptop>
2024-08-29 19:59:33 +01:00
flx-sta 44294f1aec
[Localization] Use gender context for achievments/achv (#3871)
* i18n: prepare female DE achievments

and copy keys in base language: en

* adapt gender context for achv

* add a TODO about an odd `this` usage

* remove debugging leftover code

whops

* add `playerGender` to settings helper

* fix test runs

And revert some changes
2024-08-29 09:13:35 -07:00
NightKev 4124ad0b93
Create the appropriate `startBattle()` functions in the helper classes (#3855) 2024-08-27 17:47:09 -07:00
NightKev 5b400af5b7
Fix daily mode test being unreliable (#3840) 2024-08-26 20:17:27 -07:00
Adrian T. 2d0a4326b6
fix failing belly drum test (#3768) 2024-08-26 09:14:59 -07:00
innerthunder 0221c9faba
[Ability][Move] Rewrite Type Resolution and Effectiveness Calculation Functions (#3704)
* Make type/category read-only

* Fix protean/libero tests

* Refactor Pokemon type effectiveness calculation

* Merge getMoveEffectiveness and getAttackMoveEffectiveness

* Move priority-blocking ability check

* Fix incorrect early stopping implementation in MultiHitAttr

* Fix Aerilate, etc. affecting variable-type moves

* Thunder Wave now respects Attack type immunities

* Use final move types for pre-defend abilities

* Steal some things from flx's PR hehe

* Fix Thousand Arrows + "No effect" messages

* Fix status type effectiveness check

* Another status move effectiveness update + some docs

* changing status logic again...

* Fix unnecessary "No Effect" message for Volt Absorb, etc

* Add type effectiveness unit test

* Add Galvanize integration tests

* Add multi-hit test to galvanize tests

* Add power check to first Galvanize test

* Add missing doc line

Co-authored-by: Amani H. <109637146+xsn34kzx@users.noreply.github.com>

* Resolve torranx's nits

* Apply suggestions from Kev's code review

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

* More suggestions I missed

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

* Optimize effectiveness test and make others more stylish (#3)

* Resolve Kev's remaining nits and some test issues

---------

Co-authored-by: Amani H. <109637146+xsn34kzx@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: flx-sta
Co-authored-by: frutescens
2024-08-25 19:11:01 -07:00
NightKev 443e4bd24c
Multi-target damage reduction is now properly calculated (#3734) 2024-08-25 17:40:43 -07:00
schmidtc1 93f658b624
[Bug] Fixes Lunar Blessing only healing twice on the user instead of ally (#3701)
* Sets Lunar Blessing selfTarget healing to false

* Removes redundant lines

* Adds unit test for Lunar Blessing

* Adjusts unit tests to spy on function calls
2024-08-26 03:58:28 +08:00
NightKev 4162762a0e
[Test] Refactor/consolidate Forecast tests (#3754) 2024-08-25 12:24:44 -07:00
NightKev 72702abb2f
Fix egg tests (memory use: ~2.4G -> ~550M) (#3757) 2024-08-25 19:07:06 +01:00
Adrian T. 03de6cfe36
[Ability] Implement Forecast (#3534)
* initial forecast implementation

* updates

* bug fixes and add tests

* bug fixes

* update docs

* fix issues post-merge

* add show ability

* add support for simulated abilities

* add simulated conditions and fix tests

* fix simulated conditions
2024-08-25 17:23:09 +08:00
NightKev 4867ffb229
[Test] Update new Disguise test with test framework changes (#3724) 2024-08-24 01:51:39 -04:00
NightKev 41a0dfe192
[Bug] Fix duplicate `FaintPhase` if Mimikyu faints to Disguise damage (#3686)
* Fix duplicate `FaintPhase` if Mimikyu faints to Disguise damage

* Add regression test
2024-08-23 22:04:49 -07:00
flx-sta 87af50388e
[Localization] Migrate translation files to json (#3709)
* add jsonc import support

* migrate en: ability-trigger, ability, achv & arena-flyout to json/c

* remove jsonc support

gitlocalize doesn't recognize it

* migrate arena-flyoutr.jsonc to json

* EN: migrate arena-tag

* EN: migrate battle-info.json

* EN: migrate `battle-message-ui-handler`

* EN: migrate `battle-scene`

* EN: migrate `battle`

* EN: migrate `battler-tags`

* EN: migrate `berry`

* EN: migrate `bgm-name`

* EN: migrate `biome`

* EN: migrate `challenges`

* EN: migrate `command-ui-handler`

* EN: migrate `common`

* EN: migrate `dialogue`

* EN: migrate `egg`

* EN: migrate `fight-ui-handler`

* EN: migrate `filter-bar`

* EN: migrate `game-mode`

* EN: migrate `game-stats-ui-handler`

* EN: migrate `growth`

* EN: migrate `menu-ui-handler`

* EN: migrate `menu`

* EN: migrate `modifier-select-ui-handler`

* EN: migrate `modifier-type`

* EN: migrate `modifier`

* EN: migrate `move-trigger`

* EN: migrate `move`

* EN: migrate `nature`

* EN: migrate `party-ui-handler`

* EN: migrate `pokeball`

* EN: migrate `pokemon-form`

* EN: migrate `pokemon-info-container`

* EN: migrate `pokemon-info`

* EN: migrate `pokemon-summary`

* EN: migrate `pokemon`

* EN: migrate `save-slot-select-ui-handler`

* EN: migrate `settings`

* EN: migrate `splash-messages`

* EN: migrate `starter-select-ui-handler`

* EN: migrate `status-effect.json`

* EN: migrate `trainers`

* EN: migrate `tutorial`

* EN: migrate `voucher`

* EN: migrate `weather` and `terrain`

* rename `dialogue-double-battle.json`

* DE: migrate `ability-trigger`

* DE: migrate `trainers`

* DE: migrate `tutorial`

* EN: migrate to `achv-f/-m`

* rename `dialogue-endboss.json` to `dialogue-final-boss.json`

endboss is not typical english

* EN: fix gender files

* EN: fix some dialogue gender issues

* Migrate DE to JSON

* EN: fix `modifier-type.json`

* remove ca_ES for now

* remove de/dialogue.ts (remnant)

* Migrate ES (spanish)

removing all dialogues content has been confirmed by Asdar Develops

* Removed fake translations from ability-trigger

* Removed fake translations from achievements and fixed female pronouns

* Removed fake translations all the way to moves.json

* Finished removing fake translations from es folder

* migrate fr (french)

* FR: update config.ts

* migrate it (italian)

* Removed fake translations in French json

* Readding two lines I accidentally deleted to fr dialogue-male

* migrate ja (Japanese)

* migrate ko (Korean)

* migrate pt_BR (Brasil)

* remove event texts from json files

* Removed fake translations in Italian

* Removed Japanese fake translations everywhere except dialogues

* Removed fake translations from Japanase (dialogues only)

* Translate trainer-names.json via GitLocalize

* Fixed a devilish typo in fr locale

* add new translationkeys to en/settings

* add empty `ca_ES` translations

* fix config export names

* fix ts-compiler with i18n issue

* fix battle-stat.test.ts

* fix some namings in plugins/i18n.ts

* move `i18n.d.ts` content into `i18next.d.ts`

and remove `defaultValue` key

* fix type issues after beta merge

* migrate zh_CN (Chinese simplified)

* migrate zh_TW (Chinese tranditional)

* fix tests for "missing" translations

---------

Co-authored-by: InnocentGameDev <asdargmng@gmail.com>
Co-authored-by: SangaraSorama <sangara.diamant@gmail.com>
2024-08-23 20:52:09 +01:00
flx-sta 2a51d500b3
[Localization] POC gitlocalize with en & es (#3705)
* Migrate en (English)

* Migrate es (Spanish)

* fix es/config.ts export

* fix ts-compiler with i18n issue

* fix battle-stat.test.ts

* move `i18n.d.ts` content into `i18next.d.ts`

and remove `defaultValue` key
2024-08-23 17:09:19 +01:00
Adrián T. f417a262de
[Misc] Update eslint.config.js for space after commas (#3649)
* Update eslint.config.js for space after commas

* run eslint

* run eslint, again
2024-08-23 16:36:10 +08:00
schmidtc1 3baa1400cc
[Bug] Fixes Moody increasing and decreasing the same stat (#3694)
* Replaces selectableStats array with the proper decreaseStatArray

* Adds docs to MoodyAbAttr

* Updates docs, creates unit tests for moody
2024-08-22 13:57:38 -07:00
NightKev 828897316e
[Test] Replace `doAttack()` with `move.select()` in tests (#3567)
* Consolidate `doSelectTarget()` into `doAttack()`

* Fix ternary

* Add error message to aid in debugging tests

* Update docs

* [Test] Change `doAttack()` to `selectMove()`

* Add `select()` to `src/test/utils/helpers/moveHelper.ts`

* Replace instances of `game.selectMove()` with `game.move.select()`

* Fix imports

* Replace `selectMove()` with `move.select()` helper

Fix broken tests for Pastel Veil and Sweet Veil

* Update tsdocs
2024-08-22 06:49:33 -07:00
Leo Kim b1d4037a57
[Bug] Fix some damage formulas processed with ceil instead of floor (#3557)
* fix damage calculations. add test code

* define toIntValue function to replace every repeatitive min floor function.

* revert unnecessary minimum boundary

* update function name `toIntValue` -> `toDmgValue`. update comments.

* add missing updates for changing function name

* Update src/utils.ts

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

* remove redundant comment

* update import code for test with phase

---------

Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
2024-08-21 22:39:11 -07:00
innerthunder 051d38e0a2
[Enhancement] Add support for simulated calls to Abilities (#3529)
* Adds simulated tag support to all abilities

* Fix compiler errors in ability.ts

Most things are still on fire 😢

* Fix errors left over after merge

* Another pass through simulated ability call logic

* Fix leftover errors from merge resolution

* Another gh pages issue :pikamad:

* Simulated call fixes based on Kev's feedback

* RIP phases.ts

---------

Co-authored-by: Xavion3 <xavion333@gmail.com>
2024-08-21 18:29:21 -07:00
cgyu7 1487d7f51c
[Move] Some more implementation for Tera Blast (#3469)
* terablast updated

* terablast update

* terablast

* fix trailing spaces

* fixed misspelling in a comment

* split tera blast dmg calc and type calc into different classes

* terablastpowerattr update

removed dupe code and added user terastallized check to conditional

* Update src/data/move.ts

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

* Update src/data/move.ts

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

* removed spaces and added missing semicolon

* added tsdocs for tera blast

* deleted extra spaces

* tsdoc update

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

* tsdoc update

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

* tsdoc update

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

* Add files via upload

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

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

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

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

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

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

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

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

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

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

* remove trailing spaces

* The style police are here

* Fixed conflict resolution issues

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
Co-authored-by: innerthunder <brandonerickson98@gmail.com>
2024-08-21 16:33:33 -07:00
flx-sta 3a167610cf
[Bug] Fix: Gravity tag removes flying type during damage calculation (#3670)
* add `hasTag` to arena

* fix flying type damage calculation for grounded states

Before the grounded state would make e.g. electric moves no more very-effective. This is invalid

Co-authored-by: Tristan D Gant <tgant2017@outlook.com>

* add tests for gravity v. ground v. electric

* Update src/test/arena/arena_gravity.test.ts

fix typo

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

* use `arena` instead of this.scene.arena

* use `const arena = this.scene.arean` instead of destructoring

* Apply suggestions from code review

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

* fix es-lint

---------

Co-authored-by: Tristan D Gant <tgant2017@outlook.com>
Co-authored-by: Adrian T. <68144167+torranx@users.noreply.github.com>
Co-authored-by: Mumble <171087428+frutescens@users.noreply.github.com>
2024-08-21 15:40:55 -07:00
NightKev 6defc8c8f9
Fix Rollout test (#3660) 2024-08-21 08:28:10 +10:00
innerthunder 3a9d24c49a
[Bug] Fix Jaw Lock leaving the user trapped after the target faints (#3450)
* Fix Jaw Lock not removing TRAPPED tag after enemy faints

* Create tests for Jaw Lock

* Fix overrides import

* Clean up implementation + tests

* minor style change to phases

* Update src/data/move.ts

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

* Jaw Lock no longer overlaps its trapping effect

* Friendship ended with JAW_LOCK tag type

Now TRAPPED is my new best friend

---------

Co-authored-by: EmberCM <kooly213@hotmail.com>
Co-authored-by: Adrian T. <68144167+torranx@users.noreply.github.com>
2024-08-20 18:44:37 +01:00
Frederico Santos ae2ab120dc
Deleted phases.ts (#3618) 2024-08-19 03:23:52 +01:00
NightKev 098811c006
Main -> Beta (#3635)
* Fixed issue with falsy issue within condition to get a stat for IV scanner

* add fix setting code to prevent form/variant bug when default form/variant setting is wrong.
in addition, that fix code include gender fix, so i revert old gender fix.
update wrong log message.

* [Hotfix] Fix Memory Mushroom not showing relearner moves (#3619)

* Fix Memory Mushroom not showing relearner moves

* Fix rollout test

* Rewrite player faint logic in FaintPhase (#3614)

* 867 runerigus sprite (#3629)

cropped static frames, fixed cropped sprite
set runerigus exp to use the shiny exp's animation
verified all hex colors are unchanged

- fixed ultra necrozma exp front variant swapped arrays.
- xatu female eye color fix

* [Bug] Preventing the MBH from being stolen in Endless (#3630)

* Endless MBH Fix

* add import

* Revert "add import"

This reverts commit 814a4059c2.

* Revert "Endless MBH Fix"

This reverts commit 8eb4481301.

* removed newline

---------

Co-authored-by: Frederico Santos <frederico.f.santos@tecnico.ulisboa.pt>
Co-authored-by: frutescens <info@laptop>

* [Bug] Fix type-hints for immunity (#3620)

* enable mock containers to be found by name

* enable mock text to be found by name

* add test coverage for type-hints

Only for "immunity" and "status moves"

* fix wrong message key of curse(ghost type) (#3631)

Co-authored-by: Frederico Santos <frederico.f.santos@tecnico.ulisboa.pt>

* [Hotfix] Steal-able Mini Black Hole Pt 2  (#3632)

* Still have no idea where Eternatus is given the MBH....

* typedocs

---------

Co-authored-by: frutescens <info@laptop>

* [Hotfix] Abilities that prevent ATK drops no longer stop other stat drops (#3624)

* Abilities that prevent ATK drops no longer stop other stat drops

* Apply suggestions from code review

Co-authored-by: Mumble <kimjoanne@protonmail.com>

* Add `isNullOrUndefined()` utility function

---------

* Grip Claw now shows the proper pokemon nickname (#3634)

Co-authored-by: frutescens <info@laptop>

---------

Co-authored-by: Opaque02 <66582645+Opaque02@users.noreply.github.com>
Co-authored-by: KimJeongSun <leo@atlaslabs.ai>
Co-authored-by: Frederico Santos <frederico.f.santos@tecnico.ulisboa.pt>
Co-authored-by: innerthunder <168692175+innerthunder@users.noreply.github.com>
Co-authored-by: cam <lrlrliwoo@gmail.com>
Co-authored-by: Mumble <kimjoanne@protonmail.com>
Co-authored-by: frutescens <info@laptop>
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
Co-authored-by: Enoch <enoch.jwsong@gmail.com>
Co-authored-by: Mumble <171087428+frutescens@users.noreply.github.com>
2024-08-19 02:18:43 +01:00
NightKev 0e6c2952ca
Make Disguise properly reset form on arena reset when fainted (#3612) 2024-08-18 05:05:04 +01:00
innerthunder 8704723c9c
Fix missing form change logic for Cramorant (#3603) 2024-08-18 02:22:21 +01:00
NightKev a8c9065d57
[Bug] Lock Capsule no longer treats common items as free (#3591)
* Fixed null check to actually check for null and not 0

* Add test and `startingModifier()` override helper function

* Add tsdoc
2024-08-17 17:49:42 +01:00
NightKev 2b0b9fcb70
[Bug] Palafin should not swap to Hero form when switching due to faint (#3532)
* Palafin should not swap to Hero form when switching due to faint

Also add more tests for Zero to Hero

* Use `.isFainted()` instead of checking HP
2024-08-13 22:14:49 +01:00
NightKev 39e7591d3b
[Ability] Heatproof now reduces burn damage by half (#3524)
* Heatproof now reduces burn damage by half

* Add tests

* Add comment to test
2024-08-13 22:00:19 +01:00
NightKev 0d3fcd82bb
[Bug] Fix daily run generated movesets (#3519)
* Fix daily run generated movesets

* add unit-tests for `fix-daily-run` (#3)

* add `daily` and `classic` helper. split `runToSummon`

there is now a `classicMode.runToSummon` which represents the old one used.
There is now a `dailyMode.runToSummon` too

* add daily_mode.test.ts

covers the occured issue

---------

Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
2024-08-13 21:48:56 +01:00
innerthunder a760022c77
[Move] Refactor Conditional Protection and Protect interactions (#2731)
* Refactor protection moves

* Revert Protected move result change

* Fix typo in documentation

* Fix merge conflicts in integration tests

* Improve readability of apply function

* Fix effects applying through Protect

* Fix typos in `src/data/egg.ts` comments

* [Localization(it)] Added Honey Gather translation (#2301)

* Update ability.ts [Localization(it)]

* Update ability.ts [Localization(it)]

Fixed capitalization

* Hitting into protect now records a move as failed

* Add check for move success before applying additional effects (Stone Axe)

* `Overrides` should be capitalized

* Add fail conditions for `RechargeAttr` and Jaw Lock

* Update protect test

* Add check for protect in Glaive Rush

* Update tests to use new overrides helpers

* Account for Mat Block and add protect test for Glaive Rush

---------

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

* Crafty Shield now blocks ALL protect-ignoring moves

* Crafty Shield test + Fix blocking ally-target moves

* ESLint

* Mat Block and Wide Guard integration tests

* Fix strict-null errors in integration tests

* Fix strict-null issue in arena-tag

* Fix strict-null in unrelated test :pikamad:

* Fix conflicting AbAttr

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: Niccolò <123510358+NicusPulcis@users.noreply.github.com>
2024-08-13 21:47:32 +01:00
innerthunder 161043ecd6
[Move] Implement Shell Trap (#3500)
* Implement Shell Trap

* Fix error in EN message

* Add ZH/KO translations

Co-authored-by: Yonmaru40 <47717431+40chyan@users.noreply.github.com>
Co-authored-by: Leo Kim <47556641+KimJeongSun@users.noreply.github.com>
Co-authored-by: mercurius-00 <80205689+mercurius-00@users.noreply.github.com>

* Fix error in placeholder messages

* FR translation / KO translation fix

Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>
Co-authored-by: Leo Kim <47556641+KimJeongSun@users.noreply.github.com>

* More translations (DE, ES, IT, PT-BR)

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

* Update src/locales/ja/move-trigger.ts

Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>

* Fix Shell Trap activating from ally attacks (+ test fixes)

* Remove todo + add test with shell trap as first move

---------

Co-authored-by: Yonmaru40 <47717431+40chyan@users.noreply.github.com>
Co-authored-by: Leo Kim <47556641+KimJeongSun@users.noreply.github.com>
Co-authored-by: mercurius-00 <80205689+mercurius-00@users.noreply.github.com>
Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>
Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
Co-authored-by: Asdar <asdargmng@gmail.com>
Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>
2024-08-13 21:47:05 +01:00
Mumble 513adf779f
[Ability] Stall + Mycelium Might (#3484)
* Implemented Stall

* Fixed implementation

* AbAttr Name Change

* Wrote test for Stall

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

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

* Update src/data/ability.ts

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

* Updated ability variables and test

* Apply suggestions from code review

Co-authored-by: Amani H. <109637146+xsn34kzx@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: Amani H. <109637146+xsn34kzx@users.noreply.github.com>

* eslint fixes

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

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

* added documentation and implemented mycelium might

* added note on quick claw

* Documentation + Quick Claw implementation

* This is where I would test quick claw-stall/m.m. if i could override modifierstacks

* Forgot to add edits oops

---------

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>
Co-authored-by: Amani H. <109637146+xsn34kzx@users.noreply.github.com>
2024-08-13 21:25:58 +01:00
NightKev 6c2c14cb1e
[Test] Fix Flash Fire tests to remove enemy ability RNG (#3523)
* Fix Flash Fire tests to remove enemy ability RNG

* Replace manual status application with override use
2024-08-12 21:21:51 -05:00
NightKev 223295e827
[Fix] Refactor Disguise to work like Ice Face (#2684)
* Fix typos in `src/data/egg.ts` comments

* Refactor Disguise using Ice Face as a base

i18n {
  Co-authored-by: Arxxer <javiptn7@gmail.com>
  Co-authored-by: GoldTra <162721984+GoldTra@users.noreply.github.com>
  Co-authored-by: sodam <66295123+sodaMelon@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>
}

Update tests

* Update jsdoc

* Make recoil damage a parameter

* Fix Ice Face i18n parameter name

* Add i18n placeholder strings for translation

* Update disguise test with override helper functions

* Move a form change from `battle-scene.ts` to `ability.ts`

* Remove a bit of obsolete code from the Disguise test

* Add some translations

Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>
Co-authored-by: returntoice <dieandbecome@gmail.com>
Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>
Co-authored-by: Sonny Ding <93831983+sonnyding1@users.noreply.github.com>

* Add translation placeholder strings for Japanese and Catalan

* Update for strict-null

* Remove unused parameter from the `BattlerTag` class

* Remove species checks, fusion doesn't seem to be an issue (any more?)

* Move Ice Face weather-based code to a subclass

* Condense conditionals

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

---------

Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>
Co-authored-by: returntoice <dieandbecome@gmail.com>
Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>
Co-authored-by: Sonny Ding <93831983+sonnyding1@users.noreply.github.com>
Co-authored-by: innerthunder <168692175+innerthunder@users.noreply.github.com>
2024-08-12 11:52:39 +01:00
allen925 c078e5d612
[Bug][Test] Fix minor bug of ability Flash Fire, added test file (#3458)
* fix: let flash fire hit after frozen, and baton pass not passing it. added: flash fire test file

* added more tests and made small adjustments

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

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

---------

Co-authored-by: Adrian T. <68144167+torranx@users.noreply.github.com>
2024-08-12 01:26:37 -04:00
DustinLin ec26e751f8
[TEST] - adding parting shot move test (#3412)
* adding parting shot test

* improve tests

* updating test

* fixing existing tests

* more tests

* adding more tests
2024-08-12 01:13:56 -04:00
Adrian T. 4b16b64eed
[Test] move util func to gameManager.ts (#3494) 2024-08-12 00:56:31 -04:00
NightKev 0e0ed10ce0
[Test] Fix test names that weren't changed from copy/pasting (#3502) 2024-08-12 00:54:42 -04:00
ImperialSympathizer 988ec664e9
Disable endless boss passives (#3451)
* fix strict null broken

* disable endless boss passives

* jsdocs on mock objects and move helper function to gameManager.ts

* Apply suggestions from flx's review

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

* fix broken test

* fix lint

---------

Co-authored-by: ImperialSympathizer <imperialsympathizer@gmail.com>
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
2024-08-11 19:40:47 +01:00
Tim Perdok 566cd80522
[Feature] Move touch controls configuration (Reopened) (#3256)
* [Hotfix] Fix interactions of some moves not changing types (#3183)

* [Hotfix] Fix wild spawns not having their HA (#3190)

* [Hotfix] Allow to hatch pokemon with Hidden Ability again (#3222)

* chore: Update TNC links layout and position in index.html

* chore: Update TNC links font size in index.css (#3230)

* Move Touch Controls

* ConfigToolbar alignment

* Insert config toolbar on open, camel-case classes, hidden setting

* Better toolbar styling, fixed double configToolbar bug

* Fixed typedocs

---------

Co-authored-by: Adrian T. <68144167+torranx@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: Frederico Santos <frederico.f.santos@tecnico.ulisboa.pt>
2024-08-10 14:17:04 +01:00
flx-sta 762feea332
[Bug][Localhost] fix Json parse issue when trying to load battle-anim (#3455)
* add content-type check for loading battle-anims

* add missing `headers` to response mocks
2024-08-09 11:17:34 -04:00
Adrian T. bfdcd4fc1e
[Dev] Move function from testUtils.ts to gameManager.ts (2/3) (#3432)
* move mockTurnOrder to gameManager

* change name

* fix test failing

* fix purify test

* fix typo
2024-08-09 11:07:55 -04:00
Adrian T. 2b12326280
[Dev] Move function from testUtils.ts to gameManager.ts (1/3) (#3430)
* move mockHitCheck to gameManager

* add abstract base class and move helper class

* add param for single target miss
2024-08-09 10:37:10 -04:00
schmidtc1 57a4e1cc47
[Bug] Fixes bug with freezy frost not eliminating all Pokemon's stat changes (#3362)
* Cherrypick due to beta roll back

* Adds corrected stat eliminated message to move trigger, removes from battle.ts

* Adds check for Clear Smog vs Haze/Freezy Frost for targetting purposes

* Adds translations for fr, de, and pt_br

* Update src/locales/ko/move-trigger.ts with translation

Co-authored-by: sodam <66295123+sodaMelon@users.noreply.github.com>

* Update korean move-trigger.ts with proper translation

* Update src/locales/zh_CN/move-trigger.ts with translation

Co-authored-by: mercurius-00 <80205689+mercurius-00@users.noreply.github.com>

* Update src/locales/zh_TW/move-trigger.ts with translation

Co-authored-by: mercurius-00 <80205689+mercurius-00@users.noreply.github.com>

* Adds locales to ja and ca-ES

* Creates unit test for Haze

* Removes repeats option on Haze test left from testing

* Updates title of haze tests, creates freezy frost tests

* Update src/locales/es/move-trigger.ts with translation

Co-authored-by: Asdar <asdargmng@gmail.com>

* Fixes freezy_frost.test.ts copy errors from Haze test

---------

Co-authored-by: sodam <66295123+sodaMelon@users.noreply.github.com>
Co-authored-by: mercurius-00 <80205689+mercurius-00@users.noreply.github.com>
Co-authored-by: Asdar <asdargmng@gmail.com>
2024-08-09 10:16:38 -04:00
NightKev fe429d0c8c
[Test] Fix hyper beam and purify test rng (#3449) 2024-08-09 09:40:00 -04:00
ImperialSympathizer b794662776
[Test] Fix final boss test (#3444)
Co-authored-by: ImperialSympathizer <imperialsympathizer@gmail.com>
2024-08-08 17:06:57 -04:00
ImperialSympathizer ba9378d1d8
disables final boss passive (#3393)
Co-authored-by: ImperialSympathizer <imperialsympathizer@gmail.com>
2024-08-08 20:59:23 +01:00
innerthunder 7f5e873457
[Move] Fully Implement Gulp Missile (#3438)
* Fix Dive + Gulp Missile interaction

* Fix animation + remove tests for inaccurate behavior

* Fix strict-null issue in new test
2024-08-08 14:23:11 -04:00
innerthunder b4a891cc71
[Move] Reimplement Beak Blast (#3427)
* Re-Implement Beak Blast

* Fix charge animation loading issues
2024-08-08 14:03:28 -04:00
NightKev f0d4dfa09e
[Test] Mock turn order in Miracle Eye test (#3437) 2024-08-08 14:02:02 -04:00
Opaque02 49bb681554
[Bug] Starter UI challenge form fix (#3373)
* First issue with soft attribute on challenges as well as incorrect sprites appearing on the starter select ui

* Updated logic to fix starter party icons, forms and shinies in starter selection area

* Fixed issue where some pokemon were being shown in challenges originally if the default form didn't meet the criteria

* Updated docs and tests to account for new behaviour

* Removed some debugging comments

* Fixed rotom form not counting as valid party

* Fixed a bug where the cursor's last known position would be used when pokemon forms were being changed when other forms were available when updated from your party directly

* Fixed issue with starter party icons' forms updating incorrectly when removing pokemon from party

* Fixed docs

* Updated code to allow for starter icons to remember their previous state after a reload
2024-08-08 09:16:27 -04:00
flx-sta 7b4e91eb02
[Bug] Fix no wild evolutions (#3426)
* fix wild pokemon not evolving anymore

* add test to cover defaults for wildDelay
2024-08-08 00:46:53 -04:00
Adrian T. d0629830a8
[Dev] Add mockHitCheck util (#3421)
* add mockHitCheck helper

* update docs
2024-08-07 23:18:37 -04:00
Adrian T. 9ff8685752
[Dev] Update changeTurnOrder name to mockTurnOrder (naming convention) (#3422)
* change changeTurnOrder to mockTurnOrder

* update docs
2024-08-07 23:15:45 -04:00
DustinLin 8faf27efc9
[BUG] - dragon tail switchout ability in wild battles proc crashes game (#3346)
* fixing switchout ability doubles bug, refactor move redirect code

* added unit test for dragon tail

* updating test

* addressing errors from pages deployment

* pages deployment still failing

* typedoc

* please let this be the one

* formatting and test fixing

* await starting battle should go after overrides
2024-08-07 20:44:34 -04:00
Frederico Santos 8783fd81c7
Revert egg additive/multiplicative change and change endless biome rotation for every 5 waves. (#3415)
Co-authored-by: snoozbuster <snoozbuster@outlook.com>
2024-08-07 21:29:41 +01:00
innerthunder 2b99f005dc
[Enhancement] Add Move Header phase and attributes (#2716)
* Create Move Header phase and attributes

* Fix move header persisting after run/ball

* Add mid-turn sleep test

* Fix status effect text in move header phase

* Remove preemptive non-volatile status check

* Process move headers in main loop of TurnStartPhase instead

* Fix merge issues in Focus Punch test

* Fix Focus Punch test + ESLint

* Add i18n key for Focus Punch header message

* Fix missing arg in i18n message

* Add Focus Punch message translations (DE, FR, KO, PT-BR, ZH)

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>
Co-authored-by: Enoch <enoch.jwsong@gmail.com>
Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>
Co-authored-by: Sonny Ding <93831983+sonnyding1@users.noreply.github.com>

* Update src/locales/it/move-trigger.ts

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

* Use new test helper functions + snooz's cleanup suggestions

* Add check for MoveHeaderPhase in switch test

* Add key to JA locale

* Add CA-ES locale key

* Fix strict-null checks in focus punch test

---------

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>
Co-authored-by: Enoch <enoch.jwsong@gmail.com>
Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>
Co-authored-by: Sonny Ding <93831983+sonnyding1@users.noreply.github.com>
2024-08-07 14:32:56 -04:00
flx-sta a07d2c57a4
[Refactor] use typescript `strict-null` (#3259)
* TS: enable strict-null

* fix battle-scene.ts

* fix voucher.ts

* adapt more files to strict-null

* adapt more files to strict-null ( 2)

* adapt ability.ts to strict-null

* adapt `arena.ts` to strict-null

* adapt TagAddedEvent constructor to strict-null

* adapt phases.ts.to strict-null

* adapt status-effect.ts to strict-null

* adapt `account.ts` to strict-null

* adapt `configHandler.ts` to strict-null

* adapt `ability.ts` to strict-null

* adapt `biomes.ts` to strict-null

* adapt `challenge.ts` to strict-null

* adapt `daily-run.ts` to strict-null

* adapt `nature.ts` to strict-null

* adapt `pokemon-forms.ts` to strict-null

* adapt `tainer-names.ts` to strict-null

* adapt `types.ts` to strict-null

* adapt `weather.ts` to strict-null

* adapt `egg-hatch-phase.ts` to strict-null

* adapt `evolution-phase.ts` to strict-null

* adapt `pokemon-sprite-sparkle-handler.ts` to strict-null

* adapt `evolution-phase.ts` to strict-null

* adapt `game-mode.ts` to strict-null

* adapt `utils.ts` to strict-null

* adapt `voucher-ui-handler.ts` to strict-null

* adapt `src/ui/unavailable-modal-ui-handler.ts` to strict-null

* adapt `src/ui/ui.ts` to strict-null

* adapt `src/ui/ui-theme.ts` to strict-null

* adapt `src/ui/title-ui-handler.ts` to strict-null

* adapt `src/ui/time-of-day-widget.ts` to strict-null

* adapt `src/ui/text.ts` to strict-null

* adapt `src/ui/target-select-ui-handler.ts` to strict-null

* adapt `src/ui/settings/settings-keyboard-ui-handler.ts` to strict-null

* adapt more files to strict-null (3)

* adapt more files to strict-null (4)

* adapt more files (mostly tests) to strict-null (5)

* adapt more files to strict-null (6)

* adapt more files to strict-null (7)

* Update `src/data/pokemon-evolutions.ts` for strict-null

Partial update `src/data/pokemon-species.ts` for strict-null

* adapt more files to strict-null (8)

* adapt more files to strict-null (9)

* Strict some more nulls (still a few errors remaining)

* adapt rest of the files to strict-null (9)

* fix tests (check for null instead of undefined)

* repalce a lot of `??` with bangs

And added TODO notice as usual

* fix more tests

* all tests pass now

* fix broken game-loop after trainer battle

add some console.warn for missing cases and falling back to default

* remove guessed fallback from utils.rgbHexToRgba

* add TODO for this.currentBattle = null

* adjust   getPokemonById() return to include `null`

* fix compilation errors

* add test for pokemon.trySetStatus

* `chanceMultiplier` shouldn't be optional

* allow `null` for currentPhase

* adjust hasExpSprite logic for no keymatch found

* reduce bang usage in account.updateUserInfo()

* fix new strict-null issues after merge

* fix `strict-null` issues in dropdown.ts

and sand_spit.test.ts

* fix egg-gacha

* adapt gul_missile.test.ts to strict-null

* fix move.ts strict-null

* fix i18n.ts strict-null

* fix strict-null issues

* fix baton_pass test

after accidentially breaking it

* chore: fix compiler errors

* revert accidential changes in baton_pass.test.ts

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-08-07 17:23:12 +01:00
NightKev 548bd8978f
[Move] Add type immunity removal moves (Foresight, Odor Sleuth, Miracle Eye) (#3379)
* Update Foresight PR to current beta

Implements Foresight, Miracle Eye, and Odor Sleuth

* Add placeholder i18n strings

* Minor tsdoc updates

* Fix placement of evasion level modifier, add tests

* Add first batch of translations

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

* Second batch of translations

Co-authored-by: Enoch <enoch.jwsong@gmail.com>
Co-authored-by: mercurius-00 <80205689+mercurius-00@users.noreply.github.com>

* Add Catalan and Japanese translation placeholder strings

* Fix issue caused by merge

---------

Co-authored-by: Jannik Tappert <38758606+CodeTappert@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: Enoch <enoch.jwsong@gmail.com>
Co-authored-by: mercurius-00 <80205689+mercurius-00@users.noreply.github.com>
2024-08-07 10:59:28 -04:00
NightKev 0ef329e8eb
[Test] Add helper function to modify the turn order for tests (#3374)
* Add helper function to modify the turn order for tests

* Replace manual speed modification with new helper function

* Replace `vi.spyOn()` instances with helper function
2024-08-07 13:52:20 +01:00
innerthunder a4c913d963
[Move] Implement (or re-implement?) Lucky Chant (#3352)
* Implement Lucky Chant

* Add i18n keys for NoCritTag messages

* Add Lucky Chant message translations (DE, FR, KO, PT-BR)

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

* Add ZH translations

Co-authored-by: Sonny Ding <93831983+sonnyding1@users.noreply.github.com>

* Add keys for JA locale

---------

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>
Co-authored-by: Enoch <enoch.jwsong@gmail.com>
Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>
Co-authored-by: Sonny Ding <93831983+sonnyding1@users.noreply.github.com>
2024-08-07 02:31:54 -04:00
Alex Van Liew f555dd6dc8
[Bug] Fix a couple small issues with uturn and friends (#3321)
* prevent double-application of status contact abilities and switch out abilities

* use SwitchPhase for ForceSwitchOutAbAttr instead of switchOut()

* add tests for baton pass/uturn

* PR comments

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

* add test for forced switch after mutual KO + revive

* tweak condition to fix uturn/baton pass

* improve docs

* style/typo nits from CR

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

* CR feedback

* use doSelectPartyPokemon + rename

* int -> number

Co-authored-by: Adrian T. <68144167+torranx@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-08-07 02:29:51 -04:00
Adrian T. 9875fcc59d
[Ability] Partially implement Gulp Missile (#3327)
* implement gulp missile

* add tests

* change fly to dive

* show ability when reverting to normal form

* update ai score, tests

* update score condition

* adjust conditions, damage

* add underwater test

* update damage in test

* partial commit
2024-08-06 16:18:47 -04:00
NightKev 877d0c6db8
[Test] Stylistic consistency pass on tests (#3378)
* Modify tests to use overrides helper functions

* Apply stylistic consistency to overrides in tests

Also remove some non-test-related expects()
2024-08-06 10:06:25 -04:00
NightKev 0a77dcdb4f
[Bug] Sand Spit should only activate when hit with a damaging move (#3337)
* Sand Spit should only activate when hit with a damaging move

* Add tests for Sand Spit
2024-08-05 11:51:36 -04:00
NightKev 68d3d27d47
[Test] Fix Power Spot test so Stonjourner always moves second (#3357) 2024-08-05 09:47:54 -04:00
NightKev a301507f80
[Test] Remove held items from all tests when there are no item overrides (#3358) 2024-08-05 09:46:34 -04:00
innerthunder 32d4102594
[Bug] Fix Make It Rain and Clanging Scales stat drop trigger logic (#3355)
* Fix Make It Rain + Clanging Scales stat drop logic

* Use "includes" instead of "<" for firstTarget logic instead
2024-08-05 01:19:49 -04:00
Mumble 3fa2088f5b
[Refactor] Merged implementation of CutHpStatBoostAttr moves (#3255)
* Merged implementation of CutHpStatBoostAttr moves

* Fixed failure check

* Fixed Belly Drum details

* Moved comment

* Tests for involved moves

* Fixed belly drum reference

* Added localization

* Manual merge

* Fixed issues discovered by Temp

* Updated moveset overrides to match new format

* Implementing Torranx's fixes

* Localized Belly Drum message to Belly Drum's initialization

* Post Caffeine Activation

* Actual Caffeine Fix-TypeDoc Test

---------

Co-authored-by: Frutescens <info@laptop>
2024-08-03 15:20:19 -04:00
allen925 3055d4500f
[Test] added revive function in gameManager & a double-battle test (#3298)
* added revive function in gamaManager & a double-battle test

* extended timeout of double battle test referencing to battle test

* less code, deleted unused param, clearer description of test

* add back dbond to move in test

* more straight forward testing

* reverse back override

* polish double battle test a bit
2024-08-02 22:30:50 -04:00
Opaque02 fc8b708785
[Misc] Tandemaus evolves into 3 family form at a rate of 25% (#2738) 2024-08-02 22:27:54 -04:00
NightKev 9655ddc117
[Test] Remove held items and abilities from test (#3295) 2024-08-02 00:50:09 -04:00
Mumble ebbdc334e9
[Tests] Test for Ability Magic Guard (#3253)
* Drafted testable conditions for Magic Guard

* Weather Test

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

InnerThunder

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

* Implemented checks for poison/toxic/burn

* Added tests for recoil moves and volatile status

* Added tests for entry hazards

* Moved overrides to top

* Gave player Pokemon the passive Unnerve to prevent random berry interference

* Added tests for ability interactions

* Added reference link

---------

Co-authored-by: Frutescens <info@laptop>
Co-authored-by: innerthunder <168692175+innerthunder@users.noreply.github.com>
2024-07-30 12:16:04 -04:00
Adrian T. 5b4a24824f
[Ability] Fully implement Pastel Veil, update Sweet Veil (after beta fix) (#3208)
* ful implement pastel veil, update sweet veil

* improve docs

* update docs

* cleanup attrs
2024-07-30 10:06:31 -04:00
Adrian T. 208f5af62a
[Move] Implement Flame Burst (after beta fix) (#3239)
* add integration tests

* account for magic guard

* update test name

* remove test code

* fix magic guard interaction

* set 1 as min damage

* fix tests

* only apply magic guard attr if ally is active

* nit: remove new line

* update docs

* add the move attr
2024-07-30 10:05:54 -04:00
flx-sta 29aa1a68e7
[Optimization] Destroy LoadingScene when done (after beta rebase) (#3215)
* destroy loading-scene when done

- unused event listeners are shut off
- children are removed
- `loading_bg` will be removed after transition is finished
- Added some simple types for `rex` plugins

* fix tests

* fix pokemonSprite.test.ts

on local runs it would include hidden dirs like `.DS_store`. Any files starting with `.` is now excluded

* add `mockGameObjectCreator` and use in `gameWrapper`

* add battle-scene.test.ts

add test to verify that LoadingScene is being removed on `BatleScene.create()` call

* update types usage for phaser3-rex-plugins

* remove phaser-extensions.d.ts

fk you typedoc...
2024-07-30 00:28:43 -04:00
flx-sta 7582eefabc
[Bug] Fix final boss 2nd phase transition on status effect damage (#3226)
* fix final-boss phase change on status-effect dmg

- move final-boss 2nd phase check into battle-scene.
- call method at the end of damage phase
- call method at the end of PostTurnStatusEffect phase

* improve ui.getHandler types

* WIP: final_boss.test.ts

* add "should spawn Eternatus on wave 200 in END biome" test

* add more final_boss tests

couldn't cover the form change due to lack of support from current test framework
2024-07-29 23:51:56 -04:00
innerthunder 37a27c773e
[Bug] Fix Beat Up dealing NaN damage with Multi-Lens (#3165)
* Fix Beat Up dealing NaN damage with Multi-Lens

* Simplify allyCount logic
2024-07-29 19:27:50 -04:00
Frederico Santos 005d986d9e
Merge pull request #3212 from flx-sta/feature/test--overrides-helper-2
[Tests] Overrides helper utility (after beta rebase)
2024-07-29 22:54:52 +01:00
Amani H. b5d77c3d15
[Move] Implement Fusion Flare and Fusion Bolt (#1774) 2024-07-29 17:32:02 -04:00