487 Commits

Author SHA1 Message Date
innerthunder
905ecd6576
[Bug] Remove grounding moves' arbitrary turn limits (#2526)
* Remove grounding moves' arbitrary turn limits

* Added documentation for GroundedTag

* Rename GROUNDED tag + add tag check to isGrounded

* Fix remaining GROUNDED reference

* Clean up calls to getTag
2024-06-23 12:48:49 -04:00
Madmadness65
db06c53693
Implement Happy Hour (#2358) 2024-06-22 20:03:15 -05:00
innerthunder
86cc1018e3
[Bug] Fix Thousand Arrows not hitting Pokemon with Levitate (#2493) 2024-06-21 14:04:11 -04:00
innerthunder
7cad385a38
[Bug] Fix Thousand Arrows grounding opponents before use (#2485)
* Fix Thousand Arrows grounding opponents before use

* Use existing AddBattlerTag instead
2024-06-21 10:39:00 -04:00
Xavion3
a14128aece
Fix Minimize AI and add NaN AI score safeguard (#2460) 2024-06-21 09:26:32 +10:00
Tempoanon
7a7e944a1c
Mountain Gale does not make contact (#2456) 2024-06-20 11:06:35 -05:00
Zach Day
07b9f5476a
[Fix] Ability suppression effects not failing correctly (#2440)
* Make ability suppression fail if ability is already suppressed

* Document SuppressAbilitiesAttr

* Add gastro acid unit tests
2024-06-20 00:43:45 -04:00
Dmitriy K
74aa5a8005
Create Class constructor utility type. (#2162) 2024-06-19 12:00:26 -04:00
Enoch
06b1f8a0bc
[Localization] Add localization in battler-tags.ts (#1990)
* [Localization] Add localization in battler-tags

* localize curse ghost skill apply message

* translate Drowsy korean

* translate requested changes

* Update src/locales/ko/battle.ts

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

* resolve merge error

* Update French battle.ts

* remove unnecessary backslash

* Update src/locales/de/battle.ts

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

* Update battle.ts [Localization(it)]

* recover missing code resolving merge

* Update src/locales/zh_CN/battle.ts

Co-authored-by: Yonmaru40 <47717431+40chyan@users.noreply.github.com>

* Update src/data/battler-tags.ts

---------

Co-authored-by: 송지원 <jiwsong@gmarket.com>
Co-authored-by: sodam <66295123+sodaMelon@users.noreply.github.com>
Co-authored-by: Lugiad <adrien.grivel@hotmail.fr>
Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
Co-authored-by: Niccolò <123510358+NicusPulcis@users.noreply.github.com>
Co-authored-by: Yonmaru40 <47717431+40chyan@users.noreply.github.com>
2024-06-19 10:38:31 -04:00
innerthunder
21f1e077fa
[Featrue] Add Dark-type immunity to Prankster (#2355) 2024-06-18 11:21:54 -04:00
3ae3ae
cf1f958a07
[Move] Remove partial from Matcha Gotcha (#2368) 2024-06-18 10:21:53 -04:00
NxKarim
cc7db08fe8
[Bug] Sheer Force Fix (Stone Axe and self status moves) (#2366)
Implements AddArenaTrapTagHitAttr for moves like Stone Axe and Ceaseless Edge.

Fixes chance for selfstatus moves.

Added Comments For AddArenaTrapTagHitAttr
2024-06-18 00:23:34 -04:00
Daniel Gaston
b8a3f30bd0
[Hotfix] Sheer Force arena tag add extra condition (#2356) 2024-06-17 21:49:08 -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
innerthunder
3b3b9e39af
[Move] Implement Follow Me, Rage Powder, and Spotlight (#1834)
* Implement "Center of Attention" battler tag + moves

* Powder immunity logic for Rage Powder

* Center of Attention unit tests
2024-06-17 18:05:21 -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
schmidtc1
d5ec5c371b
[Move] Fix bug for Spite and fully implement Eerie Spell (#2244)
* Bug fixes for spite, creates class to extend spite for eerie spell

* Comments for clarity, creates class to extend ReducePpMoveAttr

* Resolve reference error with AttackReducePpMoveAttr

* Shows move failed in a clearer way with showMoveText

* Localization of pp reduction moves

* Fixes issue of eerie spell reducing pp when ratio is 0

* Removes unnecessary phase replacement

* Remove partial implementation from eerie spell

* Adds locale entry for ppReduced to other languages
2024-06-17 15:05:23 -04:00
Frisk17
89eba349c9
[Move] Implemented Magnet Rise (#2081)
* Partially implemented Magnet Rise

* Implemented Magnet Rise

* Changed pokemon.ts so all TypeImmune tags work instead of just
MagnetRisen

* Magnet Risen is now removed when Gravity is used.

* Magnet Rise is ignored by Thousand Arrows
and Smack Down.

* Fixed a bug where status ground type moves
would also be ignored by Magnet Rise

* Added a message when Magnet Rise is removed

* Inserted TypeImmuneTag check in
getAttackMoveEffectiveness() for the AI

* Created a magnetRiseCondition separately

* Created a test for Magnet Rise

* Bug Fix in Magnet Rise test

* Created Magnet Rise test with Gravity

* Shifted the code from getAttackMoveEffectiveness
and apply into getAttackTypeEffectiveness instead

* Replaced onNextPrompt with doAttack

* Removed redundant runFrom(Phase)

* Replaced magnetRiseCondition with
battlerTags.every anonymous function

* Fixed import errors

* Added an undefined check for summonData
for TypeImmuneTag in getAttackTypeEffectiveness

* Replaced undefined-check with optional chaining
2024-06-17 17:35:06 +02:00
chaosgrimmon
1396aaaa57
[Move] Sappy Seed shouldn't be Making Contact (#2303)
https://bulbapedia.bulbagarden.net/wiki/Sappy_Seed_(move)
2024-06-16 18:48:42 -04:00
chaosgrimmon
90f6ae7e6d
[Bug] Friendship-based moves have Base Power -1 when Pokemon is wild (#2291)
Affects RETURN, FRUSTRATION, PIKA_POW, and VEEVEE_VOLLEY.
2024-06-16 18:40:47 -04:00
Arxalc
2d254bab96
[Move] Implemented Incinerate and Knock Off (#1671)
* Implemented Incinerate and Knock Off

* Ran linter

* Removed unnecessary code
2024-06-15 22:26:54 -04:00
Philippe
bf7eb52f85
[Move] Implement poltergeist (#1726)
* implement poltergeist

* add comments

* use string interpolation
2024-06-15 22:24:38 -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
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
schmidtc1
fd3261d8ce
[Move] Partial implementation of Stuff Cheeks (#2183)
* Partially implements stuff cheeks

* Comment for clarity on partial implementation

Explains why the move is still partially implemented.
2024-06-13 16:24:32 -04:00
Zach Day
f8c8605710
[Move] Fix multi-hit moves activating type-immunity abilities multiple times (#2165)
* Force multi-hit moves to hit once if they are against an immune type

* Add test for multi-hit attacks against immune types

* Document MultiHitAttr

* Tiny change

* Wording fix

* Use shortcut methods in unit tests

* Fix leftover modifications from METRONOME testing

* Reorganize SAP SIPPER tests

* Fix extra imports
2024-06-13 14:23:13 -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
Seung Ho Jang
0e7498f9ef
[Bug] Fix move 'Hyperspace Fury' to non-contact (#2132) 2024-06-12 09:21:16 -04:00
Zach Day
5762409b17
[Move] Implement Core Enforcer (#2024)
* [Move] Implement Core Enforcer

* Documentation

* Documentation
2024-06-10 21:17:28 -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
Charlie Giang
c746d0723f
[Move] fix for sparkly swirl apply check (#1059)
fix for sparkly swirl apply check

Update move.ts

Co-authored-by: Temps Ray <temps.ray@gmail.com>
2024-06-09 16:08:33 -04:00
td76099
8a0eaa0009
[Bug] Fixing multi-hit drain moves so they heal based on individual hit and not total turn damage (#1974) 2024-06-08 23:53:03 -04:00
Xavion3
8e0e8952da
Fix switching moves in challenge mode (#1972) 2024-06-09 01:05:18 +02:00
NightKev
ff7429f240
[Bug] Update Sweet Scent to reduce evasion by 2 (#1910)
cf https://bulbapedia.bulbagarden.net/wiki/Sweet_Scent_(move)
2024-06-07 21:42:17 -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
MutenYoshii
f17a4ff3f2
[Move] Implemented Court Change (#1799)
* [Move] Implemented Court Change

* Returned overides to normal

* Added recommended changes

* Removed an unnecessary if statement for swaparenatagsattr

* Move the swaptags array to the call as well as changes to the quiet boolean

---------

Co-authored-by: Juan <jmora279@fiu.edu>
2024-06-07 09:27:11 -05:00
DustinLin
ffdbdc1139
fix sleep talk targeting (#1813) 2024-06-07 13:38:22 +01:00
DustinLin
a815b73d96
[Documentation] documentation of move.ts (#1828)
* starting documentation of move.ts

* more docs

* fixing comments

* updating comments
2024-06-06 20:11:14 -05:00
Raidette
209a69d098
[Move] Rototiller implementation (#1885)
* rototiller implementation

* attack now fails if no eligible grass type pokémon is fielded
2024-06-06 17:22:04 -04:00
Philippe
763d2bfeeb
[Move] Implement pollen puff (#1732) 2024-06-03 16:26:15 -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
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
Ethan
d70ab3eaf6
[Move] Implement Punishment (#1610)
* Implement Punishment and reopen pull request 373

* Fix console log and ()
2024-05-30 17:01:42 -04:00
Dmitriy K
329c9619f6
Add unthaw logic to Steam Eruption, Scorching Sands, Matcha Gotcha and all Damaging Fire moves (#940)
* 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 prefaint

* use helper instead of accessing attrs directly

* remove status overrides
2024-05-30 15:04:50 -05:00
Benjamin Odom
8d3c334e50
Fix move.ts Errors (#1564) 2024-05-29 11:54:33 -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
Amani H
47d39388ac
Implement Triple Kick/Triple Axel/Population Bomb (#1341)
* Implement Triple Kick/Triple Axel/Population Bomb

* Add maximum allowed base power increments

* Add documentation

* Fix Population Bomb, Account for Skill Link

* Change multi-hit power increment behavior

* Fix Typo
2024-05-29 00:07:35 +01: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