Commit Graph

2179 Commits

Author SHA1 Message Date
Bertie690
6ad11015f7
[Dev] Remove sanitizeOverrides, consolidate initialization code into 1 file
https://github.com/pagefaultgames/pokerogue/pull/6134

* Removed `sanitizeOverrides`

* Moved initialization code to its own file

* Hopefully fixed test contamination

* Actually listened to people now

* fixed the thingy

* Run stub setup on init because

* Update testFileInitialization.ts

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

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-07-25 01:23:13 +00:00
Acelynn Zhang
6211fbd471
[Bug] Unblock priority spread under Psychic Terrain (#6136)
Unblock priority spread under Psychic Terrain

Co-authored-by: Acelynn Zhang <acelynnzhang@Acelynns-MacBook-Pro.local>
2025-07-25 01:05:14 +00:00
Sirz Benjie
51d4c33de0
[Misc] Standardize-file-names (#6137)
* Standardize filenames to kebab-case

Co-authored-by: pymilkmaiden <cassiopeiamahler56@gmail.com>

* Move script outside of public folder

* Move update_exp_sprites to scripts

* Add ls-lint to lint file and directory names

* Update lefthook.yml to skip merge / rebase on all pre-commit commands

---------

Co-authored-by: pymilkmaiden <cassiopeiamahler56@gmail.com>
2025-07-24 16:38:31 -04:00
Sirz Benjie
b1e1a383fb
[Bug] Appropriately load delayed attack when target index was player
https://github.com/pagefaultgames/pokerogue/pull/6128
2025-07-22 16:10:43 -07:00
Sirz Benjie
069e8a47d6
[Bug][Refactor] Fix loading arena tags (#6110)
* Improve type safety; add missing loadTag overrides to wish and neutralizing gas

* More automatic type safety for arena tags

* Fixup wording of lead comment in arena-tag.ts

* Apply kev's suggestions from code review

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

* Allow abstract constructors for arena methods

* Address dean's comments from code review

* Add missing newline after interface definition

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

* Apply suggestions from code review

Co-authored-by: Bertie690 <136088738+Bertie690@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: Bertie690 <136088738+Bertie690@users.noreply.github.com>

* Format with biome

* Update tsdoc of ConditionalProtectTag

Co-authored-by: Bertie690 <136088738+Bertie690@users.noreply.github.com>

* Apply kev's suggestions from code review

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

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: Bertie690 <136088738+Bertie690@users.noreply.github.com>
2025-07-22 11:26:27 -07:00
Bertie690
6937effa16
[Misc/Docs] Assorted code cleanups + doc updates (#5745)
* Squashed changes into 1 commit, reverted unneeded stuff

* Update ability-class.ts comments

* Update move.ts comments

* Fixed flaky test

* Applied PR reviews

* Update move.ts

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

* Fixed ab code

* Added comment for BattlerIndex

* ddd

* ren biome

* Update battler-tags.ts

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

* Update battler-tags.ts

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

* Update pokemon.ts

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

* Update pokemon.ts

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

* Update pokemon.ts

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

* Fixed the things

* Fixed up a few `default` stuff and random enum stuff

* Update move.ts comments

* Revert change to pokemon.ts

* Update battle-scene.ts

* fixed import oopsie

* Update src/field/pokemon.ts

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

* Update src/data/abilities/ability.ts

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

* Update src/data/abilities/ability.ts

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

* Fix incorrect TSDoc

* Update ability.ts

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

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-07-22 10:28:10 -07:00
Bertie690
a382554256
[Test/Ability] Cleaned up Magic Guard/battle tests; fixed innards out interaction (#5911)
* Fixed tests for Magic Guard, Battle phase; fixed innards out stuff

* Fixde magic guard aftermath

* fixed tests

* Fixed innards out

* fixed using sizzly slide instead of will o wisp to inflict burn

* ran boime

* Readd simulated oopsie

* Fix HJK test to use protect + docs and such

* Apply Biome

---------

Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-07-21 17:42:27 +00:00
Madmadness65
1428d8b870
[Balance] Add faint trigger to various form changes (#6122)
* [Balance] Add faint trigger to Battle Bond Greninja's form change

The form change functionality will now be slightly closer to Generation 7/8, as the Greninja will now revert from Ash form to Battle Bond form upon fainting.

* Change how the form change on faint is triggered

It is no longer directly handled by the faint phase, and is instead part of the abilities now, as more than Battle Bond Greninja revert via this method (Disguise Mimikyu, Power Construct Zygarde).

* Adjust Disguise test
2025-07-20 18:59:01 +00:00
NightKev
8dd6608e10
[UI] Status moves only show 1x or 0x for effectiveness hints (#6119) 2025-07-20 09:48:27 +02:00
NightKev
a81e187164
[i18n] Pokemon#getOpponentDescriptor no longer returns a pokemon name
https://github.com/pagefaultgames/pokerogue/pull/6053
2025-07-18 23:42:51 +00:00
NightKev
4dca988823
[Dev] Update packages (#6088)
* Update packages

* Add default values for tweens

* Add mocks for `InputText` and `BBCodeText`

* Delete deprecated `vitest.workspace.ts`

* Replace `new InputText` with `globalScene.add.rexInputText`

* Disable broken Magic Bounce test

* Disable broken test in `stockpiling.test.ts`
2025-07-16 22:28:17 -07:00
damocleas
3d42e976b7
[Balance] Encounter condition adjustments for Legendaries and Random Trainers (#6084)
* Adjust Trainer Chances, Legendary Encounter Waves

* Poipole, Kubfu, and Type: Null checked

* 55 made the default

* Update src/field/arena.ts

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

* Replace `switch (true)` with `if/else`

* fix comment

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

* Update arena.ts random trainer chances in biomes

* Update arena.ts random trainer chances in biomes

* beach.,

---------

Co-authored-by: Madmadness65 <blaze.the.fireman@gmail.com>
Co-authored-by: AJ Fontaine <36677462+Fontbane@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-07-16 11:21:52 -05:00
AJ Fontaine
583b3758c0
[Dev] Move Fixed Battle Configs to own file (#6054) 2025-07-15 21:54:15 -07:00
Bertie690
e05d85977e
[Dev] Updated enum utils to have strong typing (#6024)
* Updated enum utils to refuse non-enum values;
added strong typing on return values

* Moved Enum functions to own file; added type helpers for enums

* Cleaned up some code

* Fixed up tests

* Fix training-session-encounter.ts
2025-07-15 01:14:02 -07:00
Blitzy
773229effd
[Balance] 1.10 Passive, Egg Move, and Starter Cost Changes (#6097)
* Update egg-moves.ts 38 egg move changes

* Update passives.ts - 23 passive changes

* Updates starters.ts - 2 cost changes

---------

Co-authored-by: damocleas <damocleas25@gmail.com>
2025-07-14 19:06:34 -04:00
NightKev
8cf1b9f766
[Dev] Enable Biome import sorting (#6052)
* [Dev] Enable Biome import sorting

Additional changes:

- Implement import aliases

- Convert default exports to named exports

- Remove relative imports

* Apply changes

* Misc fixes

* Merge cleanup
2025-07-13 00:21:25 -07:00
Jonathan Bankston
22c386ea9e
[BUG] Fix Transform and Imposter issues (#6008)
* Fixed Transform and Imposter Bug

* Updated Comments

* Revised Comments

* Revised Changes on how tranformed pokemon are referenced to align with reviewer's suggestions

* Removed unused BattlerTag type for transform

* Removed addition of the transform tag to a pokemon in the PokemonTransformPhase

* Moved the check for whether Transform can be used within the TransformAttr class as suggested and removed uneccesary moveId check

* Consolidated if statement regarding isTransformed

* Removed overrides

* Added move condition to Transform + fixed up imposter target selection

* Condensed tests into 1 file + added more automated tests

This includes a couple regression tests for the fusion shenanigans

* Fixed comment

* Updated override typo for unimplemented methods

* Remove redundant parentheses

* Apply suggestions from code review

Co-authored-by: Bertie690 <136088738+Bertie690@users.noreply.github.com>

---------

Co-authored-by: Bertie690 <taylormw163@gmail.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
Co-authored-by: Bertie690 <136088738+Bertie690@users.noreply.github.com>
2025-07-12 23:39:48 -07:00
Bertie690
664f2fab0d
[Refactor/Bug] Fix Protean not applying due to terrain + minor cleanup of move phase (#5855)
* Squashed protean/libero changes

* Update protean-libero.test.ts

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

* Update protean-libero.test.ts

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

* Update ability.ts

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

* Update move-phase.ts

* Fixed counter move logic using inverted conditional

* Update move-phase.ts

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

* Update move-phase.ts

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

* Update ability.ts commentfix

* Update src/data/abilities/ability.ts

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

---------

Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-07-13 05:59:38 +00:00
Bertie690
12fbff71d2
[Test] Added tests for Intimidate, Fishious Rend/Bolt Beak, Payback and Moongeist Beam & co. (#5858)
* Added additional tests for intimidate & ability-ignoring moves

* Added a few basic tests for Fishious Rend and Bolt Beak

* Fixed comment

* Fixe test and added commetn

* Update first-attack-double-power.test.ts

* Fixed incorrect ignore-abilities.test.ts test suite description

* Update ignore-abilities.test.ts suite name

* Fix first-attack-double-power.test.ts

* Actually fixed import

* Update intimidate.test.ts

* Fix test imprts

* Added guard dog tests

* Fixed tests

* Renamed test file

* Added Payback tests

* Fixed accidental unusde class

* Fixed tests

* Fixed flaky test due to 1 length trainer thing

* dd

---------

Co-authored-by: Wlowscha <54003515+Wlowscha@users.noreply.github.com>
2025-07-13 05:55:05 +00:00
Sirz Benjie
edbba6e635
[Bug][Performance] Plug memory leak related to enemy pokemon lingering around (#6083)
Remove animationupdate in sprite cleanupAndComplete
2025-07-11 12:57:19 -07:00
Madmadness65
cab15c36f0
[Balance] Update biome pools for wild Pokémon (#6074)
* Update biome pools for wild Pokémon

`outputPools` has been run, correcting evolution delays for some Pokémon like Grapploct and Cosmoem, and generally adding spaces to all bracketed lines.

* Revert change to Pawniard line evo delays

Kingambit was evolving before Bisharp due to being an item evolution. The evolution delay for it is now back to level 64.
2025-07-09 14:36:32 +02:00
NightKev
9b0f0b7a0f
[Refactor] Replace .fill().map "loops" with real for loops (#6071) 2025-07-08 00:53:36 -07:00
Sirz Benjie
115d63d0c5
[Bug] Fix anger point procing on every hit if first hit in multi hit was a crit
https://github.com/pagefaultgames/pokerogue/pull/6067

* Fix anger point always procing on multi-hit

when first strike was a crit

* Fix comment spacing

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

* Rename PostDefendCritStatStageChangeAbAttr

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-07-07 18:38:18 -07:00
Wlowscha
f6a434689c
[Balance] Berry Juice and Old Gateau do not depend on the instance
https://github.com/pagefaultgames/pokerogue/pull/6016

* Refactored items and respective MEs

* Changed icon names, added bad berry juice, fixed locales

* Berry juice uses a number parameter again, allowing to convert from old saves without a migrator

* Updated encounter with correct sprite

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

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

* Replaced bad berry juice icon

* Repacked atlas

* Re-export item atlas

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: Madmadness65 <blaze.the.fireman@gmail.com>
2025-07-03 21:04:59 -07:00
Bertie690
a54cd953a6
[Bug] Fix Shields Down blocking status in Core Form, unnecessarily resetting before battle (#6044)
* Fix Minior Form Change issues

* Fix bug

* Update Power Construct conditionals to be less janky

* Fix syntax error

* Fix ability.ts
2025-06-30 00:19:59 -04:00
Bertie690
1bd152a738
[Refactor] Moved various classes/interfaces to own files (#5870)
* Split up Pokemon data types to own files

* Moved `AttackMoveResult` and `TurnMove` to own files

* Moved `customPokemonData` into types folder + fixed comments

* Moved files around + fixed stuff

* Moved `DamageResult` into new file

* Fixed imports

* ran biome

* Fix merge issue
2025-06-28 01:55:47 -07:00
Lugiad
40a92df190
[i18n] [Localization] Translatable Manaphy Egg Tier (#6038)
Translatable Manaphy Egg Tier
2025-06-26 19:04:14 -07:00
Bertie690
3b490e7ab4
[Bug] Status moves blocked by terrain now use correct message
https://github.com/pagefaultgames/pokerogue/pull/5931

* Moved terrain messages to `terrain.ts`, made status failures use correct text

* Revert overrides.ts

* Comment fix

* Fixed confusion message not appearing for misty terrain blockages

* Fixed bug

* re-added import

* Update battler-tags.ts

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

* Added exhaustiveness checking

* ran boime

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-06-24 17:50:35 -07:00
Bertie690
6547e1d5ce
[Dev] Update depcruiser to enforce no non-type export in src/@types/
https://github.com/pagefaultgames/pokerogue/pull/5949

* Add depcruiser rule to enforce no non-type export in `src/@types`

* Add missing field in config

* Fixed type import inside `move.ts`
2025-06-22 18:34:06 -07:00
Sirz Benjie
8afedc33d7
[Refactor] [Ability] Ab attr apply type safety (#6002)
* [WIP] Refactor ability attribute apply args

* [WIP] update ability signatures

* Update callsites in pokemon.ts

* Update callsites in moves.ts

* Update abattr callsites in move-phase

* Update abattr callsites in battler-tags

Also removed stat drop ability application from cancelling ME stat boost effects

* format with biome and remove cancelled from weather lapse

* Update abattr callsites in MEP

* Update callsites in turn-start-phase

* Update abAttr callsites in misc phases

* Remove latent test functionality

* update ability attribute callsite in shield dust test

* update abattr callsite in winstrate challenge encounter

* Fix some tests to mock proper methods

* Remove improper condition in mimicry's ability application

* Fix improper simulated check in moody's apply method

* Pass source to postApplyDamage in pokemon.ts

* [wip] fix cud chew tests

* Make cud chew consumption not subclass postTurnAbAttr

* Fix regression in flower veil

* Update trySetStatus test in pokemon to respect new return value for undefined

* Remove empty, unused file

* Fix blockCrit method broken in merge

* Fix unnecessary attr type cast in move phase

* Address typing issue in safeguard test

* Improve documentation and get rid of ts-expect-error directive

* Minor comment/TSDoc updates and fixes

* Apply suggestions from code review

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

* Apply suggestions from code review

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-06-22 18:23:08 -07:00
Bertie690
36c79a9a69
[Bug] Reworked BattlerTag/ArenaTag code to prevent breakage on 0 PIDs
https://github.com/pagefaultgames/pokerogue/pull/5932

* Fixed modifier code, removed instances of "0 ID = no mon"

* corrected casing + dejanked seed tag

* Added test file, added overload to `findModifier` if given type predicate

* fixed test

* Revert predicate stuff for now

going in separate PR

* Fix id check syrup bomb test

Wasn't running phase due to being a turn end effect

* [WIP] Changed test to use destiny bond as proper regression

* Removed `instant` and `ignoreUpdate` parameters from `tryTransferHeldItemModifier`; fixed post-battle loot code to _not_ break type safety

* Fixed up tests

* Reverted unneeded changes

* Removed outdated modifier test

* Fix import

* Apply Biome

* Update battler-tags.ts

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

* Update battler-tags.ts

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

* Update arena-tag.ts

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

* Update arena-tag.ts

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

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-06-22 17:29:37 -07:00
NightKev
4fc77e4de9
[Dev] Update Biome to 2.0.0 (#6004)
* Run `npm audit fix`

* Update Biome to 2.0.0

* Migrate `biome.jsonc` to 2.0

* Apply Biome and fix some suppression comments

* Fix some suppression comments and update config

* More config updates

Added at "error": `noUnusedLabels`, `noThisInStatic`

Changed `useDefaultParameterLast` from "off" to "warn"

Changed `noDocumentCookie` (from recommended) from "warn" to "off"

Changed `noExcessiveCognitiveComplexity` from "warn" to "info"

* Add a bunch of rules

* Apply Biome safe fixes

* Apply Biome unsafe fixes

* Remove irrelevant `useSelfClosingElements` rule

* Upgrade already followed rules to "error"

* Remove unnecessary type cast

* Disable fixer for `useDefaultParameterLast`

* Disable `useJsonImportAttribute` rule and revert changes

* Fix `mockImage.ts`

* ...there's a `@ts-nocheck` in this file

* Use whole-file lint suppression comment in `version_converter.ts`

* Add a couple comments to `biome.jsonc`

* Remove ESLint packages and GitHub workflow
2025-06-20 23:24:11 -07:00
AJ Fontaine
e00c9e02fb
[Balance] Change Kirlia and Snorunt evolutions to match mainline (#5994)
* Gallade and Froslass use the Dawn Stone

* Dawn Stone still shows up when Kirlia/Snorunt evo paused

* Fix lint
2025-06-20 20:51:19 +00:00
NightKev
4b70fab608
[Bug] Remove message for Rock Head activation (#6014) 2025-06-19 20:59:55 -07:00
lnuvy
1ff2701964
[Bug] Fix when using arrow keys in Pokédex after catching a Pokémon from mystery event (#6000)
fix: wrap setOverlayMode args in array to mystery-encounter

Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
2025-06-19 20:45:54 -04:00
Bertie690
1e306e25b5
[Move] Fixed Chilly Reception displaying message when used virtually
https://github.com/pagefaultgames/pokerogue/pull/5843

* Fixed Chilly Reception displaying message when used virtually

* Fixed lack of message causing Chilly Reception to fail

* Fixed tests

* Reverted bool change + fixed test

* Fixed test
2025-06-19 17:14:05 -07:00
Madmadness65
43aa772603
[UI/UX] Add Pokémon category flavor text to Pokédex (#5957)
* Add Pokémon category flavor text to Pokédex

* Append `_category` to locale entry
2025-06-20 00:04:57 +00:00
NightKev
560ebbaee2 Merge branch 'beta' into minor-1.9.6 2025-06-18 18:27:37 -07:00
AJ Fontaine
80ae42d3ba
[Sprite] Minior and Ferrothorn variants (#6005)
* Minior variants

* Add Ferrothorn variants

* Fix shiny Minior front and icons
2025-06-18 19:49:21 -04:00
AJ Fontaine
2065f4fd7f
[Bug] Fix incorrect form key being checked for evo items (#5995) 2025-06-17 10:08:20 -07:00
Sirz Benjie
6ff258fb37
[Bug] Fix weather form changes not changing with weather abilities
https://github.com/pagefaultgames/pokerogue/pull/5857

* Add test for forecast

* Fix PostSummonFormChangeByWeatherAbAttr

* Fix overrides in forecast test

* Remove a test whose trigger conditions can no longer happen

* Update src/data/abilities/ability.ts

Co-authored-by: Dean <69436131+emdeann@users.noreply.github.com>

* Fix missing tsdoc param

* Apply kev's suggestions from code review

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

* Simplify PostSummonFormChangeByWeather's canApplyPostSummon

* Fix unused params that messed up after rebase

* Fix form change import

Messed up due to improper rebase

---------

Co-authored-by: Dean <69436131+emdeann@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-06-16 06:02:09 -07:00
AJ Fontaine
e3108603e3
[Refactor] Rework evolution conditions and descriptions (#5679)
* Refactor evo conditions and descriptions

* Fix test

* Fix Shedinja

* Simplify Gimmighoul evolution

* Primeape and Stantler evolve by using their move 10 times

* Basculin white stripe evolves by taking 294 recoil damage

* Primeape and Stantler use modifiers for tracking

* Basculin uses modifier too

* Remove evo count from pokemon data

* No more evo counter data, Gallade/Froslass

* Fix allmoves import

* Clamperl

* Struggle shouldn't count for Basc recoil

* Change to nicer type

* Apply Benjie's suggestions

Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>

* Address formatting

* Undo new evolution changes

* Remove unused imports

* Fix speciesid

* Fixed up descriptions a little

* Change a key name

* Fix Gimmighoul

* Apply Biome

* Apply Biome unsafe fixes

* Review suggestions

- Convert `EvoCondKey` enum to `const` object

- Use early returns in `SpeciesEvolutionCondition#description`
and `SpeciesFormEvolution#description`

- Replace `!!x.find` with `x.some`
and `y.indexOf() > -1` with `y.includes()`

- Implement `coerceArray`

- Fix Shelmet evolution condition
checking for Shelmet and not Karrablast

- Remove unnecessary type casting in `battle-scene.ts`

* Remove leftover enforce func loop

* Fix circular imports issue

- `getPokemonSpecies` moved to `src/utils/pokemon-utils.ts`
- `allSpecies` moved to `src/data/data-lists.ts`

---------

Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-06-16 05:57:51 -07:00
Bertie690
ccceaac877
[Test] Reworked crit override to allow for forced crits (#5738)
* Crit override stuff

* Update ability.ts

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

* Update pokemon.ts

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

* Update game-mode.ts

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

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-06-16 05:36:09 -07:00
Bertie690
5efdb0dc0b
[Refactor] Fix issues with "last move selected" vs "used" (#5810)
* Added `MoveUseType` and refactored MEP

* Fixed Wimp out tests & ME code

finally i think all the booleans are gone
i hope

* Added version migration for last resort and co.

buh gumbug

* Fixed various bugs and added tests for previous bugfixes

* Reverted a couple doc changes

* WIP

* Update pokemon-species.ts

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

* Update pokemon-phase.ts

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

* Fixed remaining tests (I think)

* Reverted rollout test changes

* Fixed command phase bug causing metronome test timeout

* Revert early_bird.test.ts

* Fix biome.jsonc

* Made `MoveUseType` start at 1

As per @DayKev's request

* Fixed a thing

* Fixed bolt beak condition to be marginally less jank

* Applied some review suggestions

* Reverted move phase operations

* Added helper functions complete with markdown tables

* Fixed things

* Update battler-tags.ts

* Fixed random issues

* Fixed code

* Fixed comment

* Fixed import issues

* Fix disable.test.ts conflicts

* Update instruct.test.ts

* Update `biome.jsonc`

* Renamed `MoveUseType` to `MoveUseMode`; applied review comments

* Fixed space

* Fixed phasemanager bugs

* Fixed instruct test to not bork

* Fixed gorilla tactics bug

* Battler Tags doc fixes

* Fixed formatting and suttff

* Minor comment updates and remove unused imports in `move.ts`

* Re-add `public`, remove unnecessary default value in `battler-tags.ts`

* Restore `{}` in `turn-start-phase.ts`

Fixes `lint/correctness/noSwitchDeclarations`

* Remove extra space in TSDoc in `move-phase.ts`

* Use `game.field` instead of `game.scene` in `instruct.test.ts`

Also `game.toEndOfTurn()` instead of
`game.phaseInterceptor.to("BerryPhase")`

* Use `game.field` instead of `game.scene` in `metronome.test.ts`

* Use `toEndOfTurn()` instead of `to("BerryPhase")` in `powder.test.ts`

* Convert `MoveUseMode` enum to `const` object

* Update move-phase.ts

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

* Add `enumValueToKey` utility function

* Apply Biome

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-06-15 10:52:44 -07:00
NightKev
f8d8a3de84
[Dev] Enable dependency cruiser workflow (#5966)
* Update `.dependency-cruiser.cjs` config file

* Update GitHub workflow

* Have `depcruise` check `test/` as well

* Remove circular import between `battle-anims.ts` and `battler-tags.ts`
2025-06-15 00:51:21 -07:00
Dean
18ba33e6f0
[Bug] Fix zombie pokemon in Fun+Games ME (#5992) 2025-06-15 00:36:28 -07:00
Bertie690
a41de39d4f
[Misc] Run biome on all files; update some rules to be errors now
https://github.com/pagefaultgames/pokerogue/pull/5962/

* Fixed lint issue; ran biome on entire repository

* Fixed biome.jsonc

* Trimmed trailing whitespace... again...

* Fixed PR template md

* Fixed package json

* Fixed void return issues + ran biome again

* ran biome
2025-06-14 00:59:34 -07:00
damocleas
718d6f61cf
[Bug] Fix Fog interactions with Morning Sun/Synthesis/Moonlight and Solar Beam/Blade (#5987)
Fix Weather based Healing Moves and Solar Beam/Blade not interacting with Fog

Update move.ts
2025-06-13 21:10:38 -04:00
NightKev
7c6189e812
[Refactor] Create utility function coerceArray (#5723)
* [Refactor] Create utility function `makeArray`

This replaces the `if(!Array.isArray(var)) { var = [var] }` pattern

* Replace `if` with ternary, rename to `coerceArray`

* Add TSDocs

* Improve type inferencing

* Replace missed `Array.isArray` checks

* Apply Biome

* Re-apply changes to phase manager

* Re-apply to `SpeciesFormChangeStatusEffectTrigger` constructor

Apply to new instances in test mocks
2025-06-12 21:30:01 -07:00
Dean
ff9aefb0e5
[Bug] Activate PostSummon Abilities in Speed and Priority Order
https://github.com/pagefaultgames/pokerogue/pull/5513

* Add prependToPhaseWithCondition and use it in SummonPhase to determine speed order

* Move logic to PostSummonPhase

* Add test base

* Pivot to using sort strategy instead

* Add and update tests

* Support priority ability activations

* Ensure priority abilities are still activated on switch in

* Add test for priority

* Update to use priority numbers instead of a boolean

* Add ability priorities to constructors

* Move sorting to BattleScene

* Rename phase file

* Update import

* Move application to applyPostSummonAbAttrs and stop assuming no other phases in queue

* Ensure all PostSummonPhases from encounters are added at the same time

* Switch to priority queue approach

* Ensure that zero/negative priority activations happen after postsummonphase

* Revert 07646fe (not needed due to stable sort)

* Always create separate ability phases for passive and use boolean instead of priority number when applying

* Add test for dynamic updates

* Add BattlerIndex import

* Clear queues for testing

* Benjie suggestion

* Split files

* Update import in battlescene

* Remove extra spaces added by VSCode

* Fix other conflicts

* Update PhaseManager

* Update to use PhaseManager

* Immediately start postsummons

* Fix test

* Fix BattlerIndex import

* Remove unused imports

* Fix postsummon application

* Make priority readonly
2025-06-11 22:28:27 -07:00
Sirz Benjie
1029afcdbf
[Refactor] Remove circular dependencies (part 4) (#5964)
* Add abilityAttr.is methods

* [WIP] move modifier stuff around

* Untangle circular deps from modifiers

* Move unlockables to own file

* Untangle all circular deps outside of MEs

* Move constants in MEs to their own files

* Re-add missing import to battle.ts

* Add necessary overload for getTag

* Add missing type import in weather.ts

* Init modifier types and pools in loading-scene

* Remove stray commented code

* Apply kev's suggestions from code review

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

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-06-11 19:42:04 -07:00
Sirz Benjie
48e911e03c
[Refactor] Remove circular deps 3 (#5959)
* Move game-mode to its own file

Reduces circular imports to 325

* Move battler-index to own file

Reduces circular deps to 314

* Move trainer-variant to own file

Reduces circ deps to 313

* Move enums in pokemon to their own file

* Move arena-tag-type to its own file

* Move pokemon-moves to its own file

* Move command to own file

* Move learnMoveType to own file

* Move form change item to own file

* Move battlerTagLapseType to own file

* Move anim enums to own shared file

* Move enums out of challenges

* Move species form change triggers to own file

Reduces circ imports to 291

* Update test importing pokemon move

* Replace move attribute imports with string names

* Untangle circular deps from game data

* Fix missing string call in switch summon phase

* Apply kev's suggestions from code review

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

* Ensure ChargeMove's is method calls super

* Use InstanceType for proper narrowing

* Apply kev's suggestions from code review

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

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-06-09 16:24:13 -07:00
AJ Fontaine
b1c50dd69f
[Bug] Fix TM compatibility for Terapagos and Knock Off (#5958)
Fix TM compatibility for Terapagos and Knock Off
2025-06-08 16:49:50 -07:00
Tiago Rodrigues
37767799cd
[Bug] Gorilla Tactics now activates on protect and miss (#5567)
* [Bug] Fix #5112: Gorilla Tactics only registers succesful moves as move usage

* Apply small fixes from code review

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

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-06-08 12:52:48 -04:00
Sirz Benjie
1c4edabd1d
[Refactor] Ensure that new phases are created through the phase manager
https://github.com/pagefaultgames/pokerogue/pull/5955

* Add newPhase method to phase-manager

* Update calls to append/prepend phase to use string phase

* Replace instantiations of new phase with phase manager
2025-06-07 23:55:30 -07:00
NightKev
75beec12a8
[Dev] Enable Biome checking of ability.ts (#5948) 2025-06-07 21:43:30 -07:00
Bertie690
35a09af475
[Utils] Create utility function randSeedFloat (#5767) 2025-06-07 19:29:10 -07:00
Sirz Benjie
93745f14b7
[Refactor] Decouple phase system from battle-scene (#5953)
* Move phase logic into its own class

* Move ts ignore comment
2025-06-07 17:59:30 -07:00
Jimmybald1
3114035673
[Balance] Update catch rates to Gen 9 (#5954)
Updated catch rates to gen 9w

Co-authored-by: Jimmybald1 <147992650+IBBCalc@users.noreply.github.com>
2025-06-07 20:54:33 -04:00
Bertie690
ef6029ae4b
[Refactor] Add methods isPlayer and isEnemy to reduce circular imports
https://github.com/pagefaultgames/pokerogue/pull/5902

* Added functions `isPlayer` and `isEnemy` for type checking

* Apply suggestions from Kev code review

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

* Fix merge issue

* Split imports

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-06-07 17:44:58 -07:00
Bertie690
1ff45687c5
[Refactor] Merged interfaces/ into @types/; removed runtime orphan modules
https://github.com/pagefaultgames/pokerogue/pull/5951
2025-06-07 17:28:01 -07:00
Bertie690
a818c2b33f
[Bug] Dancer no longer breaks "last hit only" moves, respects flinch + steadfast (#5945)
* WIP

* Fixed Dancer last hit, flinch move interaction

* Fixed steadfast interaction

* Fixed comment + flaky test

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-06-06 20:50:16 -07:00
Bertie690
88e4ab978b
[Misc] Removed cases of a ? true : false and useless super calls from subclasses (#5943)
* Removed cases of `if (a) {return true}' return false`

* Removed useless `super.xyz` calls from functions

* Fixde missing issur

* Use early return in `Pokemon#isOffsetBySubstitute`

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-06-06 17:00:09 -07:00
Sirz Benjie
1fc42b3231
[Misc] Add phase#is method to help reduce circular imports (#5868)
* Move phase types out of phase interceptor

* Create isXPhase method and add properties to each phase

* Replace instanceof phase with isXPhase

* Fix missing union types for phaseName

* Update doc comment in phase.ts

* Fix incomplete comment in encounter-phase

* Make phaseName as public and fix more uses

* Move phaseName property declaration before constructor in move anim phase

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

* Rename isXPhase to is

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-06-06 21:08:23 +00:00
NightKev
9dcb904649
[Misc] Improve enum naming (#5933)
* Rename `Abilities` to `AbilityId`

* Rename `abilities.ts` to `ability-id.ts`

* Rename `Moves` to `MoveId`

* Rename `moves.ts` to `move-id.ts`

* Rename `Species` to `SpeciesId`

* Rename `species.ts` to `species-id.ts`

* Rename `Biome` to `BiomeId`

* Rename `biome.ts` to `biome-id.ts`

* Replace `Abilities` with `AbilityId` in comments

* Replace `Biome` with `BiomeId` in comments

* Replace `Moves` with `MoveId` in comments

* Replace `Species` with `SpeciesId` in comments
2025-06-04 14:54:27 -07:00
Madmadness65
ea64024e09
[P3 Bug] Remove Expert Breeder trainer type from ME egg source (#5893)
Remove Expert Breeder trainer type from ME eggs

It effectively duplicated the text in the egg source text box,
and overflowed the visual text box as a result.
2025-06-02 14:32:34 +00:00
NightKev
d5f7665b15
[Test] Update test utils (#5848)
* [Test] Add/update test utils

- Add `FieldHelper` which has methods to mock a pokemon's ability
or force a pokemon to be Terastallized

- Add `MoveHelper#use` which can be used to remove the need
for setting pokemon move overrides by modifying the
moveset of the pokemon

- Add `MoveHelper#selectEnemyMove` to make an enemy pokemon
select a specific move

- Add `MoveHelper#forceEnemyMove` which modifies
the pokemon's moveset and then uses `selectEnemyMove`

- Fix `GameManager#toNextTurn` to work correctly in double battles

- Add `GameManager#toEndOfTurn` which advances to the end of the turn

* Update some tests

- Disable broken Good As Gold test
and add `.edgeCase` to Good As Gold

- Fix Powder test

- Update some tests to demonstrate new methods
2025-05-30 12:24:05 -07:00
damocleas
eb0937a09b
Hotfix 1.9.5 to Beta
Hotfix 1.9.5 to beta
2025-05-27 23:57:16 -04:00
Sirz Benjie
2deced5565
[Bug][Move] Allow gastro acid to suppress passives if main ability is unsuppressable (#5854)
* Allow gastro acid to suppress passives if main ability is unsuppressable

* Update gastro_acid.test.ts

* Update src/data/moves/move.ts

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

* Add test to ensure unsuppressable main ability is not suppressed

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-05-27 16:46:56 -05:00
NightKev
68dddbc424
[Dev] Enable Biome checking of pokemon.ts (#5720)
* [Dev] Enable biome parsing of `pokemon.ts`

* Apply unsafe fixes

* Add + apply rule disallowing the use of the `integer` type alias

* Fix typo in comment; remove unnecessary `!!`

* Re-apply Biome after merge

* Re-apply Biome "unsafe" fixes after merge

* Fix import

* Add comment to `getFusionIconAtlasKey` too
2025-05-27 07:50:54 -07:00
NightKev
a98f897591 [Bug] Fix Dipplin's weight (was mistakenly set to the lbs value) 2025-05-27 05:02:58 -07:00
NightKev
999cbf911e [Bug] Fix Pichu form weights (61.5 -> 2) 2025-05-27 03:56:52 -07:00
Madmadness65
a0484bbde1
[Item] Add Deep Sea Scale & Deep Sea Tooth items (#5078)
* Add Deep Sea Scale & Tooth items

Also changes Clamperl's evolution method from gender-specific to requiring one of the Deep Sea items to be held.

* Move Deep Sea items to Great tier

Also gives every species stat booster item a `rare` boolean to split these items from the rest of the species stat booster items. Updated the existing tests accordingly to account for the split.

* Reduce Great tier species booster item weight

* Fix global scene on evolution conditions

* Merge branch 'beta' into deep-sea-items

* Change how the held item is found in evolution condition

It should no longer look through the entire party's modifiers when seeing if Clamperl is eligible to use a Linking Cord.

* Fix wrong type being boosted

---------

Co-authored-by: damocleas <damocleas25@gmail.com>
Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
2025-05-23 07:36:30 +00:00
Sirz Benjie
f0e806c508
[Misc] Move allMoves to data-lists.ts (#5860) 2025-05-21 20:18:24 -07:00
Sophia
d1b0bbb155
[Bug]: Fix #5010: roar and whirlwind missing fail message when against a trainer (#5659)
* [BUG] Fixes #5010 Roar and Whirlwind don´t display a fail message
Roar and Whirlwind should now display a fail message when
used against a trainer with only one pokémon left

* Apply suggestions from code review made by SirzBenjie
2025-05-21 07:14:16 +00:00
itgalex24
288e4e7e7e
[Bug] [Move] Synchronoise hitting Tera Type fix (#5779)
* synchronoize fix

* Add regression test for synchronoise

---------

Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
2025-05-20 23:12:54 +00:00
Sirz Benjie
663c64fdb4
[Misc] Fix trailing whitespace (#5856)
Remove trailing whitespace
2025-05-20 14:46:23 -07:00
AJ Fontaine
23e1d88c3a
[Balance] Update TM compatibility for Curse (#5791)
* Update Curse TM compat with former egg moves/level ups

* Pumpkaboo is not Phantump
2025-05-20 19:40:05 +00:00
Jimmybald1
998619e7e5
[Bug] IVs of trainers were incorrectly using the battle seed (#5822)
* Fixed IVs of trainers using the Battle Seed.

* Renamed the randSeedInt functions that use the Battle Seed to randBattleSeedInt functions

* Incorrectly used this in common

* Fixed tests that were still calling the old function name

---------

Co-authored-by: damocleas <damocleas25@gmail.com>
Co-authored-by: Bertie690 <136088738+Bertie690@users.noreply.github.com>
Co-authored-by: AJ Fontaine <36677462+Fontbane@users.noreply.github.com>
Co-authored-by: Dean <69436131+emdeann@users.noreply.github.com>
Co-authored-by: lxy-lxy-lxy <55084073+lxy-lxy-lxy@users.noreply.github.com>
Co-authored-by: Xavion3 <xavion333@gmail.com>
Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
Co-authored-by: Lylian BALL <131535108+PyGaVS@users.noreply.github.com>
Co-authored-by: Jimmybald1 <147992650+IBBCalc@users.noreply.github.com>
2025-05-17 10:36:16 -05:00
NightKev
fa6c51d1e2
[Bug] Prevent some corrupt eggs from crashing the game (#5787)
If an egg is somehow a species that doesn't have an associated egg tier
(such as Pikachu), `Egg#getEggTier` now falls back to `EggTier.COMMON`
2025-05-07 21:01:54 -07:00
Lylian BALL
4f541a8dce
[Bug] Fix some moves using illusion type instead of real type (#5772)
* fix revelation dance using the type of the illusion instead of the actual type

* fix other move that might get the illusion type as well

* fix other move that might get the illusion type as well

* fix abilities that might get the illusion type as well

* fix illusion icon in party ui handler

* Fix TSDoc for `Pokemon#getTypes`

* Remove now-unnecessary changes to `.getTypes()` calls

Revert `overrides.ts` changes

* Replace `|| false` with `!!`

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-05-05 18:31:11 -07:00
Dean
c31bd9ef61
[Bug][Hotfix] Secondary effects no longer trigger status immunity messages (#5764)
Fix secondary effects triggering status immunity messages
2025-05-03 23:04:04 -07:00
AJ Fontaine
b353b0de62
[Hotfix] Fix evil grunts using wrong template (#5763) 2025-05-03 22:59:37 -07:00
AJ Fontaine
24939ad2e0
[Balance][Mystery][Beta] Salesman doesn't offer event mons without HA or shiny (#5746)
Don't offer event mons without HA or shiny
2025-05-03 01:52:51 +00:00
damocleas
bf0abd3ddc
[Move] [Beta] Undo Order Up Sheer Force change (#5750)
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-05-02 20:32:59 -05:00
Blitzy
75d01adf9a
[Bug] Disable Illusion in Fusions (#5752)
Update ability.ts
2025-05-02 21:05:48 -04:00
damocleas
3a89b7bb75
[Balance] [Beta] 1.9 Egg Move Followup (#5749)
Update egg-moves.ts for Aerodactyl Amaura Diglett
2025-05-02 17:38:30 -04:00
damocleas
8f0eee9c4c
[Balance] [Mystery Encounter] Many Minor Mystery Encounter Adjustments (#5726)
* Update slumbering-snorlax-encounter.ts

* Add Slumbering Snorlax to Tall Grass, remove Absolute Avarice from Plains

* Update absolute-avarice-encounter.ts

* Update absolute-avarice-encounter.ts

* Update slumbering-snorlax-encounter.ts

* Update slumbering-snorlax-encounter.ts

* Update the-expert-pokemon-breeder-encounter.ts

* Update slumbering-snorlax-encounter.ts nature

* Update bug-type-superfan-encounter.ts move reward

* Update bug-type-superfan-encounter.ts moves again

* fix encounter waves

* Update absolute-avarice-encounter.test.ts

* add Nature import

* Update bug-type-superfan-encounter.test.ts

* greedent moves

* test moves

* Updated mysterious-chest-encounter.ts trap/reward chance

* swapped Macho Brace stats, +2 / 10% for HP stats and +1 / 5% for all else

* Update bug-type-superfan-encounter.ts moves

* Update the-expert-pokemon-breeder-encounter.ts tera

* Update bug-type-superfan-encounter.test.ts fix test
2025-05-02 01:11:02 -04:00
Bertie690
6d90649b92
[Refactor/Bug/Ability] Reworked BattleData, fixed Rage Fist, Harvest, Belch + Implemented Cud Chew (#5655)
* Grabbed reverted changes from stuff

* Added version migrator for rage fist data + deepMergeSpriteData tests

* fixed formattign

* Fied a few

* Fixed constructor (maybe), moved deepCopy and deepMergeSpriteData to own file

`common.ts` is hella bloated so seems legit

* Moved empty moveset verification mapping thing to upgrade script bc i wanted to

* Fixed tests

* test added

* Fixed summondata being cleared inside summonPhase, removed `summonDataPrimer`

like seriously how come no-one checked this

* Fixed test

I forgot that we outsped and oneshot

* Fixed test

* huhjjjjjb

* Hopefully fixed bug

my sanity and homework are paying the price for this lol

* added commented out console.log statement

uncomment to see new berry data

* Fixed migrate script, re-added deprecated attributes out of necessity

* Fixed failing test by not trying to mock rng

* Fixed test

* Fixed tests

* Update ability.ts

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

* Update ability.ts

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

* Update overrides.ts

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

* Update berry-phase.ts

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

* Update encounter-phase.ts

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

* Update game-data.ts

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

* Update move-phase.ts

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

* Added utility function `randSeedFloat`

basically just `Phaser.math.RND.realInRange(0, 1)`

* Applied review comments, cleaned up code a bit

* Removed unnecessary null checks for turnData and co.

I explicitly made them initialized by default for this very reason

* Added tests for Last Resort regarding moveHistory

* Update pokemon.ts

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

* Update pokemon.ts

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

* Update pokemon.ts

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

* Update pokemon.ts

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

* Update pokemon.ts

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

* Update pokemon.ts

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

* Update pokemon.ts

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

* Update pokemon.ts

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

* Update battle-scene.ts

Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>

* Update the-winstrate-challenge-encounter.ts

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

* Update pokemon.ts

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

* Update pokemon.ts

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

* Update pokemon.ts

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

* Update ability.ts

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

* Update move.ts

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

* Update move.ts

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

* Update move.ts

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

* Update battle-anims.ts

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

* Update pokemon.ts comments

* Fixed a few outstanding issues with documentation

* Updated switch summon phase comment

* Re-added BattleSummonData as TempSummonData

* Hppefully fixed -1 sprite scale glitch

* Fixed comment

* Reveted `pokemon-forms.ts`

* Fuxed constructor

* fixed -1 bug

* Revert "Added utility function `randSeedFloat`"

This reverts commit 4c3447c851.

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
2025-05-02 00:06:07 -05:00
damocleas
fa86ea3214
[Misc] Spring Stuff (#5742)
* Update timed-event-manager.ts

* spr25 images

* Update the-pokemon-salesman-encounter.ts rolls
2025-05-01 22:54:59 -04:00
Dean
7a9fc3fc8d
[Bug] Clear status immediately in menus (#5739)
Add asPhase parameter
2025-05-01 22:50:56 -04:00
Sirz Benjie
3af1bdbcff
[Bug][Ability] Fix change move type abilities (#5665)
* Make type changing moves change type after abilities but before ion deluge/electrify

* Create unified test file for galvanize, pixilate, and refrigerate

* Make type boost items like silk scarf affect the move after its type change

* Add tests for type boost item interaction

* Remove leftover log messages

* Update spies in type-change ability tests

* Add automated tests for normalize

* Fix test name injection for tera blast

* Add automated test for tera blast normalize interaction

* Restore pokemon as a type-only import in moves.ts

* Add aerilate to type changing tests

* Rename galvanize test file

* Fix utils import

* Apply suggestions from code review

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

* Remove unnecessary mockRestore

* Remove unnecessary nullish coalescing

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

* Update src/field/pokemon.ts

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

---------

Co-authored-by: Madmadness65 <59298170+Madmadness65@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-05-01 22:41:57 -04:00
Bertie690
da3b2e0edd
[Docs] Added changes to markdown files + comment fixes (#5682)
* Added changes to markdown files, reworked test boilerplate code + comment fixes

* Update comments.md

Removed references to jsdoc.
Removed mention of @extends which doesn't even exist in tsdoc
Increased clarity of documenting `args` parameter.
Moved to using active voice instead of passive voice

* Fix truncated sentence in returns example

* fix create-test-boilerplate.js

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

* Update gameManager.ts

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

* Update comments.md

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

* Update gameManager.ts

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

* Update gameManager.ts

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

* Update gameManager.ts

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

* Update gameManager.ts

* Fixed doc thing

* Fixed the things

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

* Fixde boilerplate to use snake case

* Update .gitignore to include workspace files

* Update linting.md, fix lefthook etc.

* Fix tpyo

* Update create-test-boilerplate.js

Co-authored-by: Dean <69436131+emdeann@users.noreply.github.com>

* Update create-test-boilerplate.js

Co-authored-by: Dean <69436131+emdeann@users.noreply.github.com>

* Update create-test-boilerplate.js

Co-authored-by: Dean <69436131+emdeann@users.noreply.github.com>

* Reverted boilerplate code fixes and applied review comments

Will now be handled by milkmaiden

* Fixed up documentation for comments.md and linting.md

Comments.md added info pertaining to Kev's review
linting.md i just stopped spouting misinformation

* Update `biome.jsonc` comments

Update `comments.md`

Update docs for `AddSubstituteAttr` in `move.ts` to match example

* Apply suggestions to the suggestions

---------

Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: Dean <69436131+emdeann@users.noreply.github.com>
2025-05-02 00:24:37 +00:00
damocleas
d3a1b42628
[Balance] 1.9 Passive and Egg Move Changes (#5741)
* Update passives.ts

* Update egg-moves.ts
2025-05-02 00:59:45 +02:00
Sirz Benjie
ff7860413a
[Bug][Ability] Fix shell armor not blocking crits (#5737)
Fix shell armor not blocking crits
2025-05-01 19:20:03 +00:00
Sirz Benjie
1e8fc076a7
[Misc][Move] Add edge case to transform (#5732) 2025-04-29 18:30:28 -07:00
Bertie690
43d73b01b1
[Code] Added and enforced no-fallthrough + added eslint type checking (#5705)
* Added and enforced `no-fallthrough`

* Fixed errors

* Fix package.json

* Moved vule to biom

* Fixed stuff

* Added workspace files to .gitignore for anyone who wants to do this stuff

* reverted accidental gitignore changes

* Update biome.jsonc

Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>

* Update biome.jsonc

Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>

* Update pokemon-species.ts

* Update biome.jsonc to apply reviews

* Fixed package.json

* Fix typo

---------

Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-04-29 23:21:28 +00:00
AJ Fontaine
9a9759d31c
[Balance] Fix Basculin white stripe moveset (#5729)
* Fix Basculin moveset and TMs
2025-04-29 17:27:40 -04:00
Sirz Benjie
34670fd921
[Bug] Only moves will show the explicit status immunity effect (#5728)
* Add quiet parameter to trySetStatus

* Make quiet default to false
2025-04-28 23:53:01 -04:00
Blitzy
69df76dd88
[Balance] Elite 4 tweaks (#5706)
* Update trainer-config.ts

* Update signature-species.ts

* Update trainer-config.ts

* Fix Notes

---------

Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
Co-authored-by: damocleas <damocleas25@gmail.com>
2025-04-28 15:40:58 -05:00
NightKev
89a9d55d3c
[Dev] Add enemy pokemon level to encounter logging (#5718) 2025-04-27 01:22:56 -05:00
Dean
ab7d010a17
[Bug] Fix message for StatusEffectImmunityAbAttr (#5701)
Use class var for getTriggerMessage
2025-04-26 20:32:49 +00:00
Xavion3
38d75897bb
[Balance] Remove Dynamax Cannon being a discouraged move for AI (#5708)
Remove dynamax cannon from being discouraged on Eternatus Phase 2
2025-04-26 01:28:52 +00:00
Inês Simões
75400a39ed
[Bug] [UI/UX] Status moves now play a No Effect Message Against Immune Type Pokemon (#5533)
* Fix #5085  Moves dont play a No Effect Message Against Immune Type

When using non-volatile status move like: Will-O-Wisp, Thunder
Wave, Toxic, or Poison Gas against a Pokémon whose type is immune
to that Status condition, no "It doesn't affect" message plays.

My proposed fixes:
In move.ts:
Removed a redudant if statement in StatusEffectAttr class

In pokemon.ts:
Renamed the "messageIsImmune" function to "queueImmuneMessage"
2025-04-23 21:29:44 +00:00
AJ Fontaine
5de567a3db
[Balance] Wave 90 gym leader has 5 mons (#5699)
5 mons on wave 90
2025-04-23 21:18:03 +00:00
Blitzy
c7265543bd
[Balance] Update Transistor to Gen IX version (#5700)
Update ability.ts
2025-04-23 17:15:45 -04:00
AJ Fontaine
b49c994d2d
[Balance][Refactor] Move fixed boss waves enum to file, adjust GL templates (#5689)
* Move fixed boss waves enum to file, adjust GL templates

* Move post return to default case

* Address comment

---------

Co-authored-by: Wlowscha <54003515+Wlowscha@users.noreply.github.com>
2025-04-23 14:48:04 -05:00
Jimmybald1
b848777880
[Bug][Misc] Moved SelectBiomePhase in front of NewBattlePhase (#5694)
* Moved SelectBiomePhase in front of NewBattlePhase

* disguise test now has to go to QuietFormChangePhase

---------

Co-authored-by: Jimmybald1 <147992650+IBBCalc@users.noreply.github.com>
2025-04-23 10:54:43 -07:00
Sirz Benjie
110fd2f0a1
[Refactor][Move] Refactor move effect phase (#5678)
* Add enum for hit check result

Co-authored-by: innerthunder <brandonerickson98@gmail.com>

* Refactor parameter list for pokemon#getBaseDamage and pokemon#getAttackDamage

* Rewrite move phase

Co-authored-by: innerthunder <brandonerickson98@gmail.com>

* Update tests to reflect move effect phase changes

Co-authored-by: innerthunder <brandonerickson98@gmail.com>

* Fix pluck / bug bite

Co-authored-by: innerthunder <brandonerickson98@gmail.com>

* Fix reviver seed ohko, remove leftover dead code

Co-authored-by: innerthunder <brandonerickson98@gmail.com>

* Cleanup jsdoc comments

* Remove hitsSubstitute check from postDefend abilities

* Fix improper i18nkey in moveEffectPhase#applyToTargets

* Cleanup comments

* Fix type issue with substitute test

* Move MYSTERY_ENCOUNTER_WAVES to constants.ts

* Update linkcode in damageparams to use proper tsdoc syntax

---------

Co-authored-by: innerthunder <brandonerickson98@gmail.com>
2025-04-23 00:10:27 +00:00
AJ Fontaine
aadb57ab75
[Balance] [Mystery] Salesman ME offers mons from event encounter pool (#5674)
* Initial event commit

* Salesman odds

* Clean up imports

* globalScene shiny rate getter, fix reroll, remove placeholder event

* Rerolling shiny also tries rerolling for better variant

* Shiny reroll affects 'trainer' mons too

---------

Co-authored-by: damocleas <damocleas25@gmail.com>
Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
2025-04-23 00:03:49 +00:00
Sirz Benjie
be6a117b1e
[Bug][Sprite] Fix variants not using recolors for back sprite (#5691)
Fix variants not showing back recolors with exp
2025-04-21 14:52:08 -05:00
Sirz Benjie
0da56cda9f
[Bug][Sprite] Fix variant loading console spam (#5690) 2025-04-21 13:46:32 -05:00
Dean
2cf0b51299
[Bug] Properly handle suppression with Illusion (#5671)
* Remove extra attributes on neutralizing gas

* Add IllusionBreakAbAttr to applyOnLose

* Add test case
2025-04-20 11:14:19 -07:00
Blitzy
8515cadd77
[Balance] Update Gym Leader Teams and Teras (#5670)
* Update Gym Leader Teams

* Set Tera slots for Gym Leaders

* Change Giovanni's Specialty Type to Ground

---

Co-authored-by: damocleas <damocleas25@gmail.com>
2025-04-20 00:20:07 -05:00
Sirz Benjie
65294f408e
[Bug][UI/UX] Fix type hint after enemy disappears (#5677)
* Fix type hint after enemy disappears

* Add automated test for type hint bugfix

* Make onField default to true

* Replace reference to Mode with UiMode and battleType with BattleStyle
2025-04-19 08:04:19 -07:00
Sirz Benjie
5854b21da0
[Refactor] Remove circular imports part 1 (#5663)
* Extract Mode enum out of UI and into its own file

Reduces circular imports from 909 to 773

* Move around utility files

Reduces cyclical dependencies from 773 to 765

* Remove starterColors and bypassLogin from battle-scene

Reduces cyclical dependencies from 765 to 623

* Fix test runner error

* Update import for bypassLogin in test

* Update mocks for utils in tests

* Fix broken tests

* Update selectWithTera override

* Update path for utils in ab-attr.ts

* Update path for utils in ability-class.ts

* Fix utils import path in healer.test.ts
2025-04-19 11:57:03 +00:00
damocleas
a6e87c8438
[Bug] [Move] Supercell Slam now hits Minimized targets for double damage and can't miss (#5680)
Added AlwaysHitMinimizeAttr and HitsTagForDoubleDamageAttr to Supercell Slam for Minimize
2025-04-18 22:25:05 -04:00
Sirz Benjie
54ce58411b
[Bug] Fix forced switch bugs in enemy partner trainer battles (#5644)
* Add isPartner method to trainer class

* Ensure force switches cannot pull pokemon from the wrong trainer

* Add override for battle type

* Fixup tests and broken assumptions

* Make move fail override semi-invuln check

Bandaid fix because move effect phase does not allow for the move to fail if all of its conditions fail

* Restore overrides

* Apply kev's suggestions from code review

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

* Fix illusion test battle type invocation

* Update struggle and healer tests to use battleStyle

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-04-18 09:35:46 +00:00
Sirz Benjie
3a46aae687
[Bug] Fix beak blast: not applying if user faints and not respecting long reach (#5639)
* Add test for beak blast applying after user faints

* Rewrite tags for contact protected and check moveFlags.doesFlagEffectApply

* Add test to beak blast ensuring a long reach user does not get burned

* Re-add DamageProtectedTag to relevant inheritance chains

* Move resetSummonData to faintPhase instead of pokemon.apply

* Remove passing of grudge and destiny bond tags to faint phase
2025-04-17 15:25:38 -05:00
Sirz Benjie
eef8367caf
[Bug] Fix experimental sprites not loading in starter select (#5664)
[Bug][Sprite] Fix experimental variant sprites not being loaded in starter select screen
2025-04-17 09:57:30 -07:00
Sirz Benjie
b2bab46e1c
[Bug][Ability] Fix healer queueing its message when its ally is fainted (#5642)
* Add check against faint status effect

* Add tests for healer

* Remove redundant portions of the tests

* Fix broken test
2025-04-17 04:47:49 +00:00
damocleas
8d311e65cf
[Bug] [Ability] Fixed wrong Sheer Force interactions and multiplier from ~1.33 -> 1.3 (#5515)
* sheer force #, sheer force and burning jealousy test fix, and move chance fixes

* removed order up sheer force interaction mention and test - updated comments

* remove electro shot from changes
2025-04-16 19:31:53 -07:00
Stephen Kelman
18c4dddcf0
[Bug] Fixing Tera Starstorm for first turn of terastallization (#5658)
* Updating tera starstorm targeting condition so that it is a spread move on the turn that terastallization happens

* added new unit tests to verify behavior of tera starstorm under non-tera conditions as well as on terastallization turns
2025-04-15 14:19:19 +00:00
Sirz Benjie
ff44cbfa97
[Refactor] Refactor ability file part 1 (#5589)
* Move ability.ts to subfolder

* Extract types out of ability.ts

* Update imports in ability.ts and friends

* Cleanup imports in ability.ts

* Re-add imports lost during sort

* Update imports forgotten during rebase

* Re-import proper type from enums

* Update biome.jsonc

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

* Add commit to force tests to rerun

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-04-15 14:08:35 +00:00
Madmadness65
4740b593a0
[Balance] Fix Depot Agent trainer type lacking Pokémon (#5623)
Fix Depot Agent trainer type lacking Pokémon

Also removes a stray duplicate Barboach from the Fisherman.
2025-04-15 05:27:14 +00:00
AJ Fontaine
3ec8f236f9
[Refactor] Change how rival event rewards are generated (#5638)
* Change how rival event rewards are generated

* Simplify to switch case

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

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-04-15 00:13:05 +00:00
damocleas
b41eee3c7f
Revert "[Refactor] Move many interfaces and enums to their own file" (#5661)
Revert "[Refactor] Move many interfaces and enums to their own file (#5646)"

This reverts commit c82e01eed3.
2025-04-14 12:28:36 -04:00
Sirz Benjie
c82e01eed3
[Refactor] Move many interfaces and enums to their own file (#5646)
* Move LearnMoveSituation to its own file

* Remove unused selfStatLowerMoves array

* Move all-moves to its own file

* Move TurnMove interface to its own file

* move AiType to its own file

* Move PokemonMove to its own file

* Move DamageCalculationResult interface to its own file

* Move fieldPosition to its own file

* Move hit-result to its own file

* Move DamageResult to its own file

* Move SpeciesWildEvolutionDelay to its own file

* move EvolutionItem to its own file
2025-04-14 08:31:26 -07:00
Lylian BALL
15e535a1a0
[Ability] Implement Illusion (#3273)
* implement illusion ability with unit test and localizations

* try removing whitespace change on unnecessary files

* nit corrections

* nit update src/field/pokemon.ts

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

* nit update src/phases.ts

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

* illusion test correction

* unexpected error correction

* refactor property pokemon.illusion to pokemon.battleData.illusion

* nit

* nit

* update unit test up-to-date

* add docs

* merge up to date

* bugfix

* bugfix

* merge up to date

* refactor field illusion out of battleData

* fix nit

* fix nit

* Zoroark change illusion after lastPokemon update

* Zoroark change illusion after lastPokemon update

* refactor bug fix

* bugfix

* bug fix on tests

* Update src/field/pokemon.ts

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

* use GetFailedText

* remove useless import

* add condition 'no illusion' into transform move

* wild Zoroark creates an illusion according to the current biome

* wild Zoroark creates an illusion according to the current biome

* delete console.log()

* add doc

* Update src/field/pokemon.ts

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

* fix tests

* update locales submodule

* update Illusion interface

* bug fix

* bug fix

* bugfix

* rename some params for future implementations

* Zoroark keep illusion between battles

* Zoroark keep illusion between battles

* delete draft

* merge up-to-date

* bugfix

* merge

* merge

* implement canApplyPresummon method

* Update test/abilities/illusion.test.ts

Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>

* Update src/data/ability.ts

Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>

* Update src/data/ability.ts

Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>

* Update test/abilities/illusion.test.ts

Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>

* Update test/abilities/illusion.test.ts

Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>

* nit

* review corrections

* nit

* type hints affected by enemy illusion

* type hints affected by enemy illusionin fight-ui-handler

* nit

* rename some parameters back in useIllusion

* Update src/field/pokemon.ts

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

* Update src/field/pokemon.ts

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

* refactor battleData.illusion as summonData.illusion and delete oncePerBattleClause

* add comments

* illusion will break before evolution

* Update src/field/pokemon.ts

Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>

* Update src/data/ability.ts

Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>

* Update src/data/ability.ts

Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>

* Update src/data/ability.ts

Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>

* Update src/data/ability.ts

Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>

* bug fix

* g

* get submodule back

* get submodule back

* bug fix to save illusion status

* add pokemon.getPokeball()

* Update src/field/pokemon.ts

Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>

* Update src/field/pokemon.ts

Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>

* Update src/field/pokemon.ts

Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>

* Update src/data/ability.ts

Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>

* Update src/field/pokemon.ts

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

* Update src/field/pokemon.ts

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

* Update src/field/pokemon.ts

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

* Update src/field/pokemon.ts

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>
Co-authored-by: innerthunder <168692175+innerthunder@users.noreply.github.com>
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-04-12 21:22:04 -04:00
NightKev
6f56dce771
[Biome] Add and apply lint/style/noNamespaceImport (#5650)
* Add `lint/style/noNamespaceImport` Biome rule

* Apply Biome rule, add exception for `*.test.ts` files
2025-04-12 01:31:56 -04:00
Blitzy
81f424dc71
[Balance] Fix and Adjust TM Compatibility
Curse
Skill Swap
Aqua Tail
Zen Headbutt
Hidden Power
Tera Blast
2025-04-11 16:33:25 -04:00
Sirz Benjie
787feceb14
[Refactor] Refactor variant sprite code part 1 (#5592)
* Move exp to its own masterlist, simplify initVariantData

* Update test/sprites/pokemonSprite.test.ts

* Extract loadPokemonVariantAssets out of BattleScene

* move variant.ts and update pokemon.loadAssets

* Add fuzzy matching for applying variant recolors

* Move glsl shaders to their own files

* Remove extra variants from shader masterlist

Their exp sprites have since been removed.

Co-authored-by: Unicorn_Power <189861924+Unicornpowerstar@users.noreply.github.com>

* Make exp sprite keys a set instead of an array

* Remove outdated exp sprite jsons

Co-authored-by: Unicorn_Power <189861924+Unicornpowerstar@users.noreply.github.com>

---------

Co-authored-by: Unicorn_Power <189861924+Unicornpowerstar@users.noreply.github.com>
2025-04-09 10:43:05 -05:00
Dean
31835e6d53
[Bug] Fix #4972 Status-Prevention Abilities do not Cure Status (#5406)
* Add PostSummonHealAbAttr and give it to appropriate abilities

* Add attr to insomnia

* Remove attr from leaf guard (it does not activate on gain with sun up)

* Add tests and remove attr from shields down

* Add PostSummonRemoveBattlerTag and give it to oblivious and own tempo

* Add tests for oblivious and own tempo

* Fix oblivious test sometimes failing

* Remove Comatose changes as it doesn't reapply

* Remove unused tagRemoved field

* Fix tests checking status instead of tag

* Fix attr comments

* Add PostSetStatusHealStatusAbAttr

* Add ResetStatusPhase

* Modify pokemon.resetStatus to use ResetStatusPhase

* Move post status effects to ObtainStatusEffectPhase

* Ensure status overriding (ie rest) works properly

* Add PostApplyBattlerTagRemoveTagAbAttr for own tempo and oblivious

* Guard removeTag call in PostApplyBattlerTagRemoveTagAbAttr

* Commenting

* Handle Mold Breaker case in MoveEndPhase

* Remove PostSummonHealStatusAbAttr from purifying salt

* Fix not passing overrideStatus to canSetStatus

* Apply suggestions from code review

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

* Add isNullOrUndefined import

* Add canApply to new attrs

* Add followup argument back

* Remove guard around new MoveEndPhase

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-04-07 16:32:10 -07:00
Diogo Cruz Diniz
0479b9dfcc
Fix #2735: Hazard moves incorrectly require targets (#5635)
* Fix #2735: Hazard moves incorrectly require targets
Hazard moves should no longer require targets to successfully execute

* Apply suggestions from code review made by NightKev

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

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-04-07 08:50:52 -05:00
Sirz Benjie
5318d717b3
[Refactor] [Docs] Minor refactor of move.checkFlags into move.doesFlagEffectApply (#5264)
* Refactor Move.checkFlags

* Improve jsdoc clarity

* Fix improper recursive call for the IGNORE_PROTECT check

* Fix improper placement of followUp check

* Get rid of unnecssary break

* Fix last import

* Remove latent checkFlag call in move-effect-phase

* Remedy perish body oversight

* Apply kev's suggestions from code review

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

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-04-05 00:43:46 +00:00
Sirz Benjie
9e4162d429
[Bug] Fix super luck implementation (#5625)
* Fix super luck implementation

* Use numberholder instead of booleanholder

* Update tsdoc for getCritStage
2025-04-04 17:40:25 -07:00
Dean
4c8f81bb09
[Bug] Fix uses of getAlly() (#5618)
* Fix plus/minus crash

* Update getAlly() uses
2025-04-02 17:28:58 -07:00
Wlowscha
db7ed43ad7
[Bug][UI/UX] Make sure forms and evolutions are counted in challenges again (#5617)
Making sure to actually count forms...
2025-04-02 19:42:36 -04:00
Dean
2773354193
[Bug][Hotfix] Fix various ability flyouts not disappearing (#5614)
* Add hide phases for rogue ability showing

* Hide ability bar on game over

* Hide ability bar in TurnEndPhase
2025-04-02 02:56:19 -04:00
damocleas
951d8b633d
[Balance] Minor Passive Adjustments for 1.8.2 (#5613)
* Update passives.ts
2025-04-02 02:42:10 -04:00
Dean
5416c76ecb
[Bug][Hotfix] Fix crash when pulling trainer names for (certain) non-English languages (#5608)
* Fix key usage for trainer locales

* Update gts

* Fix partner name generation

---------

Co-authored-by: Wlowscha <54003515+Wlowscha@users.noreply.github.com>
2025-04-01 21:31:52 -04:00
Dean
1229bfe004
[Bug][Hotfix] Fix Parental bond + Pollen Puff softlock (#5607)
* Fix parental bond softlock

* Add test for pollen puff

---------

Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
2025-04-01 12:10:59 -07:00
Dean
95194ce8f1 Mark Sinistcha/Poltchageist forms as unselectable/unobtainable 2025-03-31 18:20:49 -07:00
Dean
136ea70a6e
[Bug][Hotfix] Fix Flower Gift/Forecast flyout (#5599)
Fix Flower Gift flyout
2025-03-31 20:01:30 -05:00
NightKev
efa3662099
[Misc] AFD Event (#5596)
* global timed event manager

* more

* Music change

* Add AFD track loop points

* Add AFD music tracks

* changed music for afd

* Enable Seasonal Splash Text, adjust event values

* Add daily run challenge support

* update event date, change trainer shiny chance to 20%

* add banners lol

* fix activeeventhasbanner function

* Fix banner

* Update locales submodule

---------

Co-authored-by: AJ Fontaine <fontbane@gmail.com>
Co-authored-by: damocleas <damocleas25@gmail.com>
Co-authored-by: Madmadness65 <59298170+Madmadness65@users.noreply.github.com>
Co-authored-by: Dean <me@deann.dev>
Co-authored-by: AJ Fontaine <36677462+Fontbane@users.noreply.github.com>
2025-03-31 15:11:01 -07:00
damocleas
6add614e1c
[Balance] Trash to Treasure and The Strong Stuff minor adjustments (#5593)
* Update trash-to-treasure-encounter.ts

* Update the-strong-stuff-encounter.ts

* add 'set' items to garbodor

* Update relevant tests

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-03-31 12:34:16 -04:00
damocleas
7e4151f1ef
[Balance] Even more Split Passive fixes (#5591)
* Initial Split Passives

* Update split passives final v1

* Lock Battle Bond Froakie/Frogadier Ability, Gallade back to Inner Focus

* fix mispell

* remove unneeded ability on froakie and frogadier after testing

* fix some form passives

* Update passives.ts

* Update passives.ts

* Correct BB Froakie, G-Max changes for Flapple, Appletun, Toxtricity, Hatterene, Grimmsnarl, Alcremie

* Update egg-moves.ts

* Seviper now matches Zangoose's egg tier wow

* fix mispell

* Update passives.ts

* Update passives.ts
2025-03-31 01:19:58 -04:00
NightKev
51f765d67a
[Move] Add message for called moves failing due to no targets (#5590) 2025-03-31 00:00:59 -04:00
damocleas
28234e577e
[Balance] Beta Passive Fixes, 1.8 Egg Move Changes, Egg Tier Change, and G-Max Form Re-Evaluation finished (#5588)
* Update passives.ts

* Correct BB Froakie, G-Max changes for Flapple, Appletun, Toxtricity, Hatterene, Grimmsnarl, Alcremie

* Update egg-moves.ts

* Seviper now matches Zangoose's egg tier wow
2025-03-30 06:21:12 +00:00
AJ Fontaine
d2ffc12d65
[Refactor] Remove game mode param from applyChallenges (#5585) 2025-03-30 06:18:18 +00:00
Dean
b33d95d27d
[Bug][Refactor] Fix Unsuppressable Abilities being Unreplaceable (#5547)
* Switch unsuppressable to unswappable

* Update test

* Change suppress/replace/copy flags

* Make flower gift unreplaceable

* Make forecast unreplaceable

* No holding hands

* [Sprite] Reduce Mystical Rock sprite's size (#5570)

* Updating the size to be smaller

* Update item atlas

* Fix Malicious Armor missing outline

Noticed when exporting atlas that the item sprite broke

---------

Co-authored-by: Madmadness65 <blaze.the.fireman@gmail.com>
Co-authored-by: damocleas <damocleas25@gmail.com>

* Switch unsuppressable to unswappable

* Update test

* Change suppress/replace/copy flags

* Make flower gift unreplaceable

* Make forecast unreplaceable

* No holding hands

* Apply suggestions from code review

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

* Remove trivial type annotations

---------

Co-authored-by: Unicorn_Power <189861924+Unicornpowerstar@users.noreply.github.com>
Co-authored-by: Madmadness65 <blaze.the.fireman@gmail.com>
Co-authored-by: damocleas <damocleas25@gmail.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-03-30 05:37:35 +00:00
Sirz Benjie
66bc83fce4
[Ability] Flower Veil implementation (#5327)
* [WIP] flower veil implementation

Signed-off-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>

* Remove promises

Signed-off-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>

* Fully implement Flower Veil

Signed-off-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>

* Fix ally interaction for battler tag

* Condense and cleanup test files

* Remove a console.log message

* Remove stray excess import

* Update doc comments and apply kev's suggestions from code review

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

* Remove duplicated test

---------

Signed-off-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-03-29 21:32:35 -07:00
Sirz Benjie
451b1f6b08
[Misc] Update packages (#5462)
* Update via `npm audit fix --force`

* Update i18next family

* Update typescript family

* Update vite-tsconfig-paths

* Update jsdom to 26.0

Important! Security fixes, and performance/stability improvements.

* Update @stylistic/eslint-plugin-js to 4.1.0

* Update inquirer to 12.4.2

* Remove commented code and defunct import

* Run npm-audit fix

* Fix ts errors

* Update eslint family

* Update phaser family

* Update eslint plugin

* Update rest of imports
2025-03-29 22:13:50 -05:00
Blitzy
9c13fa5f80
[Balance] Evil Team Tweaks (#5579)
* Update evil-admin-trainer-pools.ts

* Update trainer-config.ts

* Fix Pokemon names

* Update / Fix Teams

* typo

* Rotom Revival Protocol (and Ponyta)

Accidentally removed Rotom from two different places

* unevolve the buddies

* Update evil-admin-trainer-pools.ts

---------

Co-authored-by: Madmadness65 <59298170+Madmadness65@users.noreply.github.com>
2025-03-30 03:02:27 +00:00
schmidtc1
27a1638243
[Bug] Fix interactions for Pollen Puff Parental Bond, Multi-Lens, Grip Claw Ally Healing (#5550)
* Checks for hit result status on Grip Claw application

* Adds a boolean check for the Pollen Puff edge case in canBeMultiStrikeEnhanced

* Adds parental bond test

* Adds grip claw and multi lens tests
2025-03-29 18:25:34 +00:00
damocleas
4f19e4a126
[Move] False Swipe/Hold Back don't fail if the target has 1 HP (#5577)
* Remove condition from `SurviveDamageAttr`

* Add test for False Swipe

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: EmberCM <kooly213@hotmail.com>
2025-03-29 17:10:07 +00:00
NightKev
25b9fa7933
[Biome] Add "no unused imports" rule (#5580)
* Apply Biome to files

* Add `lint/correctness/noUnusedImports` rule

* Apply rule

* Remove obsolete eslint directives

* Fix variable naming in `game-speed.ts`
2025-03-29 10:24:23 +00:00
Dean
a727375730
[Bug] Fix Flash Fire has No Message (#5578)
Add flash fire message
2025-03-29 09:51:28 +01:00
Sirz Benjie
5f01caffae
[Refactor] Minor refactor of trainer-config files (#5573)
* Move trainer-config.ts

* move TeraAIMode enum to its own file

* Move TrainerPoolTier enum to its own file

* Move TrainerSlot enum to its own file

* Reorder and group imports

* Move TrainerPartyTemplate to its own file

* Remove speciesPoolPerEvilTeamAdmin method

* Apply kev's suggestions from code review

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

* Fix typo in zinzolin's name

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-03-29 00:19:35 -04:00
Sirz Benjie
fac20ca97a
[Ability] Fully implement Flower Gift and Victory Star (#5222)
* Fully implement Flower Gift and Victory Star

* Fully implement Flower Gift and Victory Star

* Update src/field/pokemon.ts

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

* Update src/field/pokemon.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>

* Accept suggested change

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

* Accept suggested change

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/data/ability.ts

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

* Update src/field/pokemon.ts

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

* Fix check for ignore_abilities move flag

* Fix missing argument to getBaseDamage in getAttackDamage

* Fix merge conflict due to same changed import line

* Fix call to getAttackDamage that was reset after merge

* Update calls to getEffectiveStat

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-03-28 22:24:19 -05:00
Dean
b838d5f775
[Misc] Allow Localization of Common Trainer Names (#5569)
* Localize common trainer names

* Update locale key usage
2025-03-28 21:23:57 +00:00
Dean
f09c77c81b
[Bug] Fix Extra Ability Activation Flyouts during AI Decisions (#5563)
Fix extra messages in getMoveChance
2025-03-28 18:38:20 +00:00
Wlowscha
46d110e705
[UI/UX] Grey options in Pokédex for uncaught mons (#5529)
* Options in Pokédex page are dark if unselectable

* Fixed docstring

* Changing display of seen Pokémon in the dex

* Changed visibility of icons in main Pokédex page
2025-03-28 03:59:05 +00:00
damocleas
19c61a041f
[Misc] New Splash Texts, March 2025 (#5345)
* Update splash-messages.ts 1

* Add Pokemon name splash text

This will display a random Pokemon's name, followed by an exclamation point (ex. "Bulbasaur!").

* Make Pokemon name splash message weighted

* Update splash-messages.ts

* Update splash-messages.ts

* fix trailing spaces

* Update splash-messages.ts

* Update splash-messages.ts

* Add splashes which use random Pokemon

* Update splash message tests

* Update splash-messages.ts

* Update splash-messages.ts

* Missing comma

* Fix length on test

It even says to do so whenever weight multipliers are adjusted...

* Update splash-messages.ts

* add missing prefix thing

* adjusted comment in splash_messages.test.ts

* Update splash-messages.ts

* fix blank line

* Add gender splash message code

This makes the specific April Fools splash message functional.
Also fixed a linter issue with the randomPokemon code.

* Update title-ui-handler.ts changed battles won fallback number to -1

* Update splash-messages.ts

* changed afd to 2 days

* Update splash_messages.test.ts

* Update src/data/splash-messages.ts

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

---------

Co-authored-by: Madmadness65 <blaze.the.fireman@gmail.com>
Co-authored-by: Madmadness65 <59298170+Madmadness65@users.noreply.github.com>
Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
2025-03-27 19:56:26 -07:00
Dean
eb12b8c692
[Bug] Stop Shield Dust and Gluttony from Displaying (#5564)
Prevent displays
2025-03-27 15:01:33 -04:00
Amani H.
6316218bd3
[Item] Add Weather and Terrain Extender Item (#4799)
* [Item] Add Weather and Terrain Extender Item

* Add Documentation

* Clean Up Unit Tests

* Add Weight Function

* Include Suggestions
2025-03-26 22:40:46 -04:00
NightKev
db850c79cd
[Refactor] Moveset arrays can no longer hold null values (#4919)
* Pokemon movesets no longer allow `null` values

* Clean up all the bangs caused by movesets allowing `null`

* Pokemon movesets no longer allow `null` values

* Clean up all the bangs caused by movesets allowing `null`

* Fix merge issues

* Remove various unnecessary `?`

* Apply biome

* Fix `global-trade-system-encounter.ts`

* Fix merge issue

* Remove unnecessary parentheses

* Remove missed `?`

* Match formatting of `pokemon.ts`
2025-03-26 19:12:54 -07:00
damocleas
938f1b8756
[Balance] G-Max Form Re-Evaluation (#5545)
* Update pokemon-species.ts

* Orbeetle and Drednaw adjustment

* Cinderace, Corviknight, Drednaw, and Coalossal adjustments

* Fix Urshifus

* Butterfree, Orbettle, and Drednaw adjustments
2025-03-26 17:57:30 -05:00
damocleas
f911ffc266
[Balance] Split Passives and related (#5531)
* Initial Split Passives

* Lock Battle Bond Froakie/Frogadier Ability, Gallade back to Inner Focus
2025-03-26 16:01:54 -04:00
Wlowscha
bba7c1610d
[UI/UX] Option to see Pokedex entry after catching wild Pokémon (#5538)
* pokedex option after catching

* Also changing catching for mystery encounters
2025-03-25 13:36:12 -07:00
Madmadness65
f3141280c9
[Balance] Implement more trainer types & add to biomes (#5520)
* Add more trainer types to biomes

This makes the Hooligans, Musician, Pilot, Poké Fan, Rich, and Rich Kid trainer types able to be battled.

* Adjusted Rich and Rich Kid $$$ multipliers

* Add basic dialogue for trainer types

Also added the Clerk's dialogue entries, as that trainer type has localized text, but no entry in the code.

* Fix Musician to Pokefan encounter music

* Add dialogue entries for new dialogue

---------

Co-authored-by: damocleas <damocleas25@gmail.com>
2025-03-25 01:51:59 -04:00
Wlowscha
37e51e9657
[Bug][Challenge][UI/UX] Exclude invalid starters when combining challenges (#5509)
* Filtering correctly when combining gen and monotype challenges

* Clean-up

* Apply suggestions from code review

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

* Always check requested form first

* Fixing Basculin

* Only check forms which are starter selectable

* Exclude form changes that are not triggered by an item

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-03-24 02:40:17 +00:00
schmidtc1
40e1e7fd4e
[Bug] Fix Reviver Seed and endure triggering on indirect damage (#5182)
* Create new turnData field for tracking damageResults, check for HitResult in Reviver Seed modifier

* Optional chaining for cases like stealth rock

* Adds HitResult.SELF for confusion to distinguish from indirect damage

* Adds HitResult.SELF to damage sound effect switch

* Cover edge case of salt cure, insert HitResult for ALL damage regardless of optional variable

* Change Liquid Ooze HitResult to OTHER from HEAL

* Adjust OHKO moves to not bypass endure or RSeed

* Add tests for reviver seed

* Fixes endure to no longer block indirect damage, updates weather damage to be HitResult.OTHER, adds/fixes unit test

* Change destiny bond to HitResult.OTHER so it doesn't trigger rseed

* Adds destiny bond unit test

* Creates additional unit tests for endure

* Rename SELF hitresult to CONFUSION

* Update CONFUSION enum

* Refactors implementation per Wlowscha's suggestions: removes damageSources array and preventEndure variable

* Rename HitResult.OTHER to INDIRECT, create INDIRECT_KO for PSong/DBond, add functionality for INDIRECT_KO to damageanim/number handler

* Fixes hit result for stealth rock

* Removes unnecessary check, makes DamageResult default to EFFECTIVE, updates remaining damageAndUpdate calls to use INDIRECT

* Refactors damageAndUpdate to replace optional parameters with object parameter

* Fixes based on Kev's suggestions

* Updates tsdocs for damageAndUpdate

* Fix merge conflict

---------

Co-authored-by: Wlowscha <54003515+Wlowscha@users.noreply.github.com>
2025-03-23 22:59:19 +00:00
Dean
817095d895
[Bug] Fix #2769 Revival Blessing Softlock in doubles (#5141)
* Properly handle cases where enemy switches in due to revival

* Fix user ally using move when revived

* Move revival blessing function to move.ts

* Properly filter for the right switch phase to remove

* Re-add bug fix

* Add test
2025-03-23 20:47:51 +00:00
NightKev
4b8f1df8cd
[Bug] Add list of uncallable moves for Mirror Move (#5552)
* Add list of uncallable moves for Mirror Move

* Mirror Move now respects the uncallable moves list

---------

Co-authored-by: damocleas <damocleas25@gmail.com>
2025-03-22 14:46:58 -07:00
damocleas
d0a9672e91
[Balance] [Move] Add Fleur Cannon as a Metronome callableove (#5551)
* Update invalid-moves.ts

* forgot fleur cannon
2025-03-22 13:18:08 -07:00
damocleas
87b78e6b70
[Balance] [Move] Made more moves callable with Metronome, Assist, Sleep Talk, and Copycat (#5549)
Update invalid-moves.ts
2025-03-22 15:47:41 -04:00
AJ Fontaine
c792d5e704
[Balance] Changes to several trainer classes (#5505)
* Changes to Biker, Baker, Beauty, Cyclist, Parasol Lady, Hex Maniac

* Linting and extra beauty mons

* Further changes

* Find to some

---------

Co-authored-by: damocleas <damocleas25@gmail.com>
2025-03-20 19:53:27 +00:00
Dean
66965bf7e2
[Bug] Fix Slow Start Message being Deferred (#5534)
Fix deferred message
2025-03-20 19:37:16 +00:00
Dean
17e71a1b8a
[Bug] Fix Poison Heal Crash on beta (#5544)
Fix !== null uses
2025-03-20 19:26:49 +00:00
Matheus Rabello Noya Alves
3f887988a6
[Bug] [UI/UX] Smack Down and Thousand Arrows now display a message for Grounding (#5536)
Fix #5027: Missing confirmation message for moves special effects
When using the moves Thousand Arrows and Smack Down, though the special
effect of grounding the opponent is applied, a confirming message was
not displayed. In this fix a new AddBattlerTagAttr subclass has been
created to handle the message display, compared to previous multiple
attribute additions. This new subclass verifies the conditions for the
message to be displayed through asserting if target is grounded and
accesses a new locale message created to display if necessary.
2025-03-19 22:45:41 +00:00
Dean
d9288a7908
[Bug] Add Neutralizing Gas Message for each user (#5527)
Add message to onOverlap

Co-authored-by: damocleas <damocleas25@gmail.com>
2025-03-18 21:19:37 +01:00
Wlowscha
a5ed9c5191
[UI/UX] Mark Revavroom forms as unobtainable (#5525) 2025-03-16 21:51:27 -04:00
Dean
02ae7952ad
[Bug] Fix Commander crash after 5267 (#5524)
Fix reversed commander checks
2025-03-16 12:44:48 +01:00
Dean
1d7f916240
[Refactor] Align ability display with mainline (#5267)
* Stop ShowAbilityPhase from ending until the bar has popped out

* Remove ability bar hiding from messagePhase

* Remove abilityBar reference from base Phase class

* Add HideAbilityPhase to hide ability bar after effects

* Add willSucceed to ability attrs

* Update AbAttrs and PostInitAbAttrs

* Update PreDefendAbAttrs

* Update postDefend, postMoveUsed, StatStage, postSetStatus, and PostDamage

* Update preAttack and fieldStat

* Partially implement postAttack

* Finish PostAttack

* Update PostSummon

* Update PreSwitchOut

* Update preStatStageChange

* Update PostStatStageChange, PreSetStatus, PreApplyBattlerTag

* Update postTurn and preWeatherEffect

* Update postWeatherChange

* Update postWeatherChange

* Update PostTerrainChange

* Update CheckTrapped and PostBattle

* Update postFaint

* Update PostItemLost

* Bug fixes from test cases

* Fix intimidate display

* Stop trace from displaying itself

* Rename to canApply

* Fix ability displays using getTriggerMessage

* Ensure abilities which are mistakenly shown are still hidden

* Fix ability bar showing the wrong ability with imposter

* Add canApply for imposter

* Update abilities using promises and `trySet...` functions

* Committing overrides changes is bad

* Document apply and canApply

* Update PreLeaveFieldAbAttr

* Remove boolean return type apply functions

* Remove redundant  assignment

* Remove ability display from abilities that shouldn't have it

* Move queueAbilityDisplay to battlescene

* Remove unused shown variable

* Minor changes

* Fix using id instead of battlerindex in queueAbilityDisplay

* Fix PostBattleInitFormChangeAbAttr displaying

* Prevent crashes in case an ability for a pokemon not on the field is shown

* Stop more abilities from displaying

* Move enemy ability bar to the right side

* Automatically reload bar if shown while already out, fix specific abilities

* Remove duplicate call to clearPhaseQueueSplice

* Remove ShowAbilityPhase import from ability.ts

* Update PostDefendTypeChangeAbAttr to use PokemonType

* Update PostSummonAddArenaTagAbAttr

* Minor changes
2025-03-16 02:51:02 +00:00
AJ Fontaine
7aa5649aa8
[Refactor] Move signature species to separate file (#5519) 2025-03-14 17:06:19 -04:00
NightKev
4e1ee9e50b
Revert "[Enhancement] Add form changes for Solgaleo, Lunala, & Marshadow cosmetic forms" (#5512) 2025-03-13 22:32:35 +01:00
Scooom
dc46cf6d05
[BUG] Add Multi Attack, Revelation Dance, and Terrain Pulse to Normalize Exceptions (#5503) 2025-03-12 07:03:12 +00:00
Madmadness65
f3f43f4a44
[Enhancement] Add form changes for Solgaleo, Lunala, & Marshadow cosmetic forms (#5344) 2025-03-12 01:00:33 -04:00
Dean
b298138157
[Bug] Fix NG crash when ability is reactivated for a Pokemon off the field (#5478) 2025-03-11 03:20:00 +00:00
Dean
929392fe8b
[Bug] Fix #5358 Abilities that Redirect Moves Consider Move-Typings before Ability Modifiers (#5464) 2025-03-11 03:02:51 +00:00
Sirz Benjie
408b66f913
[Misc][Refactor][GitHub] Ditch eslint for biome, and add a formatter (#5495)
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-03-09 14:13:25 -07:00
Sirz Benjie
60a4db7059
[Refactor] Refactor moves.ts part 1 (#5420) 2025-03-07 19:10:29 -06:00
Mikhail Shueb
e73dbe9861
[Bug] Chilly Reception no longer replaces Legendary Weather (Primordial Sea, Desolate Land, Delta Stream) (#5484)
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-03-07 12:31:34 -05:00
Fuad Ali
da68cf15c6
[Bug] Harsh Sun, Heavy Rain, and Delta Stream messages now display when their effects are triggered (#5489) 2025-03-06 19:03:01 -05:00
NightKev
6595966478
[Misc] getPokemonSpecies() no longer accepts undefined (#5477) 2025-03-06 02:18:24 +00:00
damocleas
ff4184e23f
[Balance] Make Pickup and Honey Gather Unsuppressable (#5476) 2025-03-03 16:33:53 -08:00
Sirz Benjie
5e469620ef
[Bug] Fix battle-anims crashing in certain cases (#5337) 2025-03-02 17:15:51 -08:00
Wlowscha
882b965da1
[Bug] Pledge moves in summary do not break the game (#5461) 2025-03-01 19:46:38 -06:00
Wlowscha
89e8085c39
[Bug] Display Pokémon name in Focus Punch lost focus message (#5448) 2025-02-28 23:22:51 -05:00