285 Commits

Author SHA1 Message Date
Dmitriy K
f84fedd588
[Localize(en)] Add EN locale keys to Costar (#2517)
* Add unthaw to moves that are missing it

Add unthaw to all damaging fire moves

Add Status Effect overrides for easier testing

clean up comments and readd status cure before fainting

* implement Costar ability, refactor TraceAbAttr to be more generic

* format code, clean up comments

* Revert "Add unthaw to moves that are missing it"

This reverts commit 89494fa0c8633c90d42457ff1f125ebebd7153e5.

* clean up comments, remove unused call

* ability now copies negatives changes as well

* separate PostSummonCopy into two different classes

* small refactor of copy ability attrs

* add costar to test suite

* remove abstract declaration from comments

* remove broken import statement

* actually fix broken imports

* add i18n calls

* add en keys to other locales and sort by alpha
2024-06-22 12:09:35 -04:00
Jacob Hatchett
77d25d18f9
[Ability] Implemented Aura Break (#2252)
* re-adjust according to new changes

* added unit tests

* add test fixes

* add documentation

* more fixes
2024-06-22 11:37:46 -04:00
Dmitriy K
3bbe01b288
[Ability] Implement Costar Ability (#1218)
* Add unthaw to moves that are missing it

Add unthaw to all damaging fire moves

Add Status Effect overrides for easier testing

clean up comments and readd status cure before fainting

* implement Costar ability, refactor TraceAbAttr to be more generic

* format code, clean up comments

* Revert "Add unthaw to moves that are missing it"

This reverts commit 89494fa0c8633c90d42457ff1f125ebebd7153e5.

* clean up comments, remove unused call

* ability now copies negatives changes as well

* separate PostSummonCopy into two different classes

* small refactor of copy ability attrs

* add costar to test suite

* remove abstract declaration from comments

* remove broken import statement

* actually fix broken imports
2024-06-22 11:35:25 -04:00
innerthunder
7ae6baf9a5
[Bug] Fix Poison Heal blocking non-Poison damage (#2465) 2024-06-20 15:07:27 -04:00
Tempoanon
cb5cedac84
[Bug] Fix bug in doubles after 1 opponent is phazed (#2419)
* Hotfix uturn with kings rock

* Hotfix for crashing after phazing away a doubles opponent

* Hotfix for crashing after phazing away a doubles opponent
2024-06-19 22:36:23 +01:00
Dmitriy K
74aa5a8005
Create Class constructor utility type. (#2162) 2024-06-19 12:00:26 -04:00
Adrian T
29b8b3aa1f
[Bug] Fixes dragon tail vs ice face eiscue interaction (#2397)
* add optional chaining

* specify first hit
2024-06-19 09:51:50 -04:00
Adrian T
9463da8797
[Bug] Fix ice face blocking all hits from multihit moves (#2391)
* fix ice face bug

* add multihit test
2024-06-18 22:56:44 -04:00
NxKarim
c52e0ac5b6
[Ability] Serene Grace, Shield Dust, Sheer Force (P) (#246)
Co-authored-by: okimin <danielgaston6@gmail.com>
2024-06-17 20:30:42 -04:00
Matthew
d70dd16f8c
[Refactor] I18n Cleaning (#2348)
* I18n Cleaning

* pr comments

* appease typedoc

* moved types into src
2024-06-17 17:05:33 -04:00
Adrian T
fd1baef244
[Ability] Implement Power Spot & Battery (#2268)
* add battery

* add power spot

* refactor

* remove FieldVariableMovePowerAbAttr

* remove showing ability bar

* document + cleanup

* add unit tests

* update test name

* update variable names

* update multiplier
2024-06-17 16:12:11 -04:00
Adrian T
57b5c33c4b
[Ability] Implement Screen Cleaner (#2346)
* implement screen cleaner

* add documentation

* add unit tests

* rename arena to arenaTag
2024-06-17 15:37:11 -04:00
innerthunder
01435ed0e0
[Ability] Implement Unseen Fist (#1776)
* Implement Unseen Fist

* Add unit tests for Unseen Fist

* Fix unit test imports
2024-06-15 22:14:49 -04:00
Adrian T
dbecb72890
[Bug] add ability revelead for trace, refactor (#2258) 2024-06-15 12:13:59 -04:00
Adrian T
0b019d9823
[Ability] Implement Wonder Skin (#2231)
* implement wonder skin

* add unit tests

* fixes

* move applyPreDefendAbAttrs
2024-06-15 17:06:32 +01:00
Ei
465d95bbd4
[Bug] Fixed frisk not setting revealedAbility flag (#2238) 2024-06-14 20:18:20 -04:00
Matthew
dc30dd33b2
[QoL] Reorganize Enum Locations (#2185)
* moving enums

* import updates

* fix tsconfig paths importing (#2184)

* reverse index.ts addition

---------

Co-authored-by: Devin Korb <meepdarknessmeep@gmail.com>
2024-06-13 18:44:23 -04:00
Adrian T
0e794fe2fc
[Bug] Fix Berserk and Anger Shell from crashing the game when pokemon is forced to switch out (#1699)
* fix PostDefendHpGatedStatChangeAbAttr crashing the game

* remove new line

* refactor condition

* refactor condition
2024-06-13 11:37:15 -04:00
Matthew Olker
e6c24dceab Revert "[QoL] Reorganize Enum Locations (#2142)"
This reverts commit cf06ff3b8d3bca1195150533b9f72f46271b167f.
2024-06-13 11:30:47 -04:00
Matthew
cf06ff3b8d
[QoL] Reorganize Enum Locations (#2142)
* moving enums
2024-06-13 11:11:12 -04:00
Dmitriy K
819fe9b4a1
[Ability] Implement Protean and Libero abilities (#1309)
* Add generic to util holders to reduce manual type casting

* implement protean and libero abilities

* remove use only once per turn trigger

* Revert Attack Attribute Conditions back to requiring unused vars

* Remove conditional before invoking type change ability

* update protean to properly trigger and skip certain moves

* remove some dangerous typecasts

* revert autoformatting changes

* not all autoformatting changes were reverted

* Revert "Add generic to util holders to reduce manual type casting"

This reverts commit 3ee7f1d5ff0a3d37a41db87e151eeab2ab4ab543.

* change some variable names

* remove incorrect comment

* update abilities so they use gen 9 logic

* fix typescript error from missing Terrain type

* update gameManager switchPokemon to match other menu utilities

* add test cases for protean and libero
2024-06-13 10:54:23 -04:00
Zach Day
a85a2a9b8b
[Bug] Fix type-immunity abilities activating on self-targeted status moves (#2168)
* Fix type immunity given by abilities only applying to attacking moves

* Add tests for type immunity granted by abilities

* Use Sap Sipper as base for testing

* Fix type-immunity abilities activating on self-targeted status moves

* Add tests for self-targeted moves on mons with type-immunity abilitiies

* Volt absorb tests
2024-06-13 09:49:40 -04:00
Dmitriy K
0970c2cd4e
[Refactor] Replace forceBypass with bypassFaint flag (#1839)
* replace forceBypass with bypassFaint flag

* add another path alias for src/test

* make form override work for the whole party instead of the first pokemon

* add tests for all abilities that are touched by this change

* remove unnecessary overrides from tests

* move SpeciesFormChangeTimeOfDayTrigger outside arena reset logic

* remove alll resetMock calls, rename it to test
2024-06-13 11:36:12 +02:00
Zach Day
31406b35fd
[Move] Fix type immunities granted by abilities only applying to attacks (#2145)
* Fix type immunity given by abilities only applying to attacking moves

* Add tests for type immunity granted by abilities

* Use Sap Sipper as base for testing
2024-06-12 14:46:45 -04:00
Greenlamp2
0faccad49e
[Bug Fix] Corrected PostSummonPhase Trigger Timing for Accurate Stat Changes (#2057)
* fix postSummonPhase when opponent does not summon and fix the statsChange from push to unshift

* added switch pokemon helper method

* added on switch tests for intimidate

* fix test by overriding passive in tests

* remove a test not needed

* cleanup imports
2024-06-11 16:12:46 +02:00
innerthunder
670ea01cb4
[Ability] Implement Treasures of Ruin Abilities (#1637)
* Implement Treasures of Ruin abilities

* Reformat documentation

---------

Co-authored-by: Temps Ray <temps.ray@gmail.com>
2024-06-11 09:37:10 -04:00
Madmadness65
32d222c9cd
Implement Arceus Plates and Silvally Memories (#1195)
* Implement Arceus Plates and Silvally Memories

* German localization for items

* Run linter on changes, add items to zh_TW localization

* linter cleanup

* Finish localization for other languages

Names for items sourced from Bulbapedia. Names for the items in Portuguese could not be reliably sourced, so they were as directly translated as possible.

* Add custom Blank Memory item

Currently does nothing, but the idea is that it would be used if the all-in-one form change item idea is followed through.

* Update item atlas

* Use move.type instead of type.value

The type effectiveness now works again.

* Update comments

* Fix type changing affecting only Silvally

* Condense switch cases down to a single line

As per Brain Frog's suggestion.
2024-06-10 09:58:34 -04:00
SeafoamQueen
0af0ad5b49
[Bug] Fix run away ability (#1890)
* Added fix for Run Away ability being trapped by trapping abilities.
Added fix for ghost type pokemon not having a 100% chance to run from battles.

* Removed log statement

* Removed commented out code

* Removed ghost type run away mechanics
2024-06-08 15:46:16 -04:00
AJ Fontaine
eb058d7eb7
[Bug] Fix Harvest not checking stack limits for berries (#1920) 2024-06-07 17:42:48 -04:00
Matthew Olker
63d98fe70e Hotfix: types breaking gh-pages action 2024-06-07 17:05:44 -04:00
td76099
0a17c2495a
Bugfix: Abilities check final move type instead of default move type (#1440)
* Added check for move changing type before determining if defending is immune to it because of an ability

* Remove duplicate Ability change class and added getType() function under a move

* Reworking how moves get passed into hit calc

* Fixing exceptions and overreaching changes

* reverting forwarn and dancing move back to original since they are not being changed

* fixing some small move related bugs

* Fixing file permissions after testing

* Fixing move type not resetting after individual MoveEffectPhase

* Fixing move.ts permissions (again)

* Addressing some MR feedback and adding some documentation for PokemonMove class
2024-06-07 16:57:57 -04:00
Arxalc
7c3ace7204
[Bug] Fixed primal weather interaction. (#1744)
* Fixed primal weather interaction.

* Made adjustments

* Improved code readability
2024-06-07 15:22:06 -04:00
Corrade
c177f3c1fb
[Bug] Ignored strong winds for stealth rock and anticipation (#1682) 2024-06-07 15:15:24 -04:00
Adam Clemons
fb21caa769
[Bug] Fix ability Download switch in (1669) (#1679)
* Update ability Dowbload

* Remove whitespace

* Update ability.ts
2024-06-07 14:17:22 -04:00
Adrian T
8d6a0bb0a1
[Ability] Implement Ice Face (#1755)
* implement ice face ability

* remove showing ability bar

* fixes

* add documentations

* move code out of phases.ts

* add hardcoded eiscue check, localization

* add KO locale

* remove unnecessary constructor

* use && instead of || to specify ice form on eiscue
2024-06-06 11:49:50 -04:00
Laeticia PIERRE
f53dce432b
useMove + pokemon affix localization (#1276)
* useMove + pokemonPrefix localization

* Rename prefix to affix + line break fr

* getPokemonAffix to getPokemonNameWithAffix + remove space + replace

* Better getPokemonNameWithAffix switch

* Ko locale + fix es locale

* Doc getPokemonNameWithAffix + getPokemonMessage + fix

* Ko translate / missing weather changes

* Fix conflicts getPokemonPrefix

---------

Co-authored-by: Benjamin Odom <bennybroseph@gmail.com>
2024-06-06 08:36:12 -05:00
Matthew Olker
3855b92237 fix weird luck when catching a fused mon 2024-06-05 15:41:04 -04:00
YounesM
e614aec8ca
[Bug] Fix for Dancer activating when enemy in not on field / using a 2 steps charging move (#1708)
* Fixes !1686 and !1450

* Added forbidden tags

* Restored original import indentations

* Restored missing import
2024-06-05 13:10:24 -04:00
td76099
06ba63dd7d
[Bug] Liquid Ooze hurts move user instead of one with ability (#1301)
* Fixing Liquid Ooze to turn move user and not one with the ability as well as converted strength sap to use same logic instead of making it a separate class

* Replaced "undefined" with "null"

* Updated based on feedback + fix file permissions

* Fixing file permission on battler-tags

* Adding localization for drain message

* Apparently this file is 755 unlike the others

* Removed ability for custom message in exchange for getting to pass Pokemon name

* Once again changing moves from 644 to 755 like it is in repo right now :)

* putting ability back to 755 (why are file permissions all over the place)
2024-06-01 15:53:32 -04:00
Dmitriy K
d052d444b6
[QoL] Add type inference to getAttrs methods and refactor accordingly (#1633)
* add type inference to getAttrs methods and refactor accordingly

* Tests/infer types for get attrs methods (#1)

* #1633: add spec/tests for coverage

* move ability/move tests into /src/tests and rename to *.test.ts to match common naming patterns

* use None in test cases to remove ambiguity

* revert back to before test cases were merged

---------

Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
2024-05-31 19:50:30 -05:00
Jaime
7f1e94e8ca
[Bug] Fix status abilities not considering Comatose (fixes #1639) (#1641) 2024-05-31 16:50:03 -05:00
Aerochill
7a7971ec6c
[Ability] Queenly Majesty/Dazzling/Armor Tail Fix (#1631) 2024-05-30 22:37:47 -04:00
Ethan
d2c5a283d1
[Ability] Implement Poison Heal (#1245)
* Implement Poison Heal Ability

* Removed unneeded import

* Fix some comments, as well as make Poison Heal only notify when healing

* Eslint fix

* Revert Phases

* Pushing for sake of reviewing; PR IS NOT DONE IT NEEDS TO BE TESTED AND COMMENTED AGAIN

* Changed the way healing is done, through a heal phase instead of heal(); Also added better documentation

* Changed healing, as well as making abilityTriggers updated
2024-05-30 18:58:40 -04:00
dielle000
bda3013c19
Allow selection of item quantity when transferring items (fixes #723) (#1394)
* Transferring item does not kick out of transfer menu

* Select simultaneously the item to transfer and the quantity

* eslint fix

* eslint fix

* Reset quantity on scroll

* Documentation

* eslint fix
2024-05-30 16:58:10 -05:00
Adrian T
31e3293c51
[Ability][Move] Finish wind rider/power + tailwind implementation (#1566)
* finish wind moves + tailwind implementation

* move code and add documentations

* remove partial tag of wind_power

* add translations, fix move bugs

* fix ability trigger message

* fix ability trigger message

* add es localization

* move out of else statement
2024-05-30 17:42:46 -04:00
Jacob Hatchett
029175bce6
[Ability] Added Perish Body ability (#1554)
* Added Perish Body ability

* fix linting issues

* Documentation + Checking if either pokemon has perish song tag

* Fixed typo and improved TriggerMessage
2024-05-30 11:36:12 -04:00
td76099
55423dd39d
Feature: Finish Magnet Pull and clauses for Arena Trap (#1193)
* Implements Magnet Pull and lets Levitate/Flying Pokemon ignore Arena Trap

* using isGrounded() instead of checking for Flying/Levitate

* MR feedback to use condtions for trapping instead of having it in the class

* Making Shadow Tag Pokemon immune to Shadow Tag

* Updated to make sure Tera Stellar Pokemon are checked against their original type as well
2024-05-29 14:47:16 -04:00
Xavion3
1b7b539d68
Implements Supreme Overlord and fixes Last Respects (#1219)
* Implements Supreme Overlord

Also fixes count for Last Respects

* Add comments
2024-05-29 11:07:59 -04:00
Ethan
4695d0617d
Download Ability Fix (#1119)
* Fixes Issue #993 by changing from base stats to include summonBattleStats

* Added TODO with Substitute

* Fix conflicts

* Unsure why true was put through for passive, probably just a mistake on my end

* !== fix

* Conflict fix

* Eslint Fix

* Implement Double Battle average to take in stats from both Pkmn
2024-05-28 15:32:52 -04:00
Dmitriy K
9893c21a7e
implement Cheek Pouch ability (#987)
* Partially implement Cheek Pouch ability

* add cheek pouch trigger to EatBerryAttr class

* Partially implement Cheek Pouch ability

* add cheek pouch trigger to EatBerryAttr class

* add cheek pouch trigger to new berry phase, remove partial tag

* run auto formatter because I forgot

* hotfix berries triggering before status effects

* Revert "hotfix berries triggering before status effects"

This reverts commit 3fbbc9a165b5244325851a08c4daa8415337834b.

* add partial tags to abilities that would be blocked by Heal Block
2024-05-28 13:19:03 -04:00