469 Commits

Author SHA1 Message Date
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
ReneGV
bfe018ef65
Implement Comatose (#1423)
* Implement Comatose

* Lint

* Remove todo comment

* Remove partial
2024-05-27 06:01:03 -05:00
td76099
c4c4774528
Beat Up checks the user's party instead of always checking player's party (#1268) 2024-05-25 06:31:04 -05:00
innerthunder
4ffff8e1ee
Implement Quick Guard and other conditional team protection moves (#1275)
* Implement conditional protection arena tag

Affected moves:
- Quick Guard
- Wide Guard
- Mat Block
- Crafty Shield
- Feint (updated)

* Add support for moves that ignore Protect to conditional protection moves

* Comments for protect arena tags

* ESLint

---------

Co-authored-by: Benjamin Odom <bennybroseph@gmail.com>
2024-05-25 06:22:10 -05:00
ReneGV
5c327e347a
Implement Purify (#1291)
* Implement purify

* Code review fixes

* Remove vitest import

* Update status-effect.ts

* Update status-effect.ts

---------

Co-authored-by: Benjamin Odom <bennybroseph@gmail.com>
2024-05-25 06:01:23 -05:00
arColm
ae2928e1c9
Implement Poison Puppeteer (#320)
Co-authored-by: Benjamin Odom <bennybroseph@gmail.com>
2024-05-25 04:51:36 -05:00
Douglas Marchione de Souza
0d6145263f
Acrobatics does not treat vitamins as held items (#718)
* Changed the move Acrobatics so it doesn't include
non-held items on it's damage calculations

* Changed exception so it includes within_party
items, and updated the move description

* Small typo e_e'

* Change Description of Move

---------

Co-authored-by: Benjamin Odom <bennybroseph@gmail.com>
2024-05-24 15:49:23 -05:00
Jakub Hanko
a48ba9864d
Implement Destiny Bond move (#1104)
* Use getBattleStat instead of getStat in BattleStatRatioPowerAttr

* Change unnecessary let into const

* Refactor BattleStatRatioPowerAttr into two distinct classes

* Add TSDoc for the new classes

* Implementation of Destiny Bond

* Add TSDocs

* Make the move fail in boss battles

* Fix boss immunity and ally fainting

* Update docs

* Add doc of return value of tag lapse

* Fix ESLint
2024-05-24 15:23:23 -05:00
Greenlamp2
622885767d
Enforce Consistent Spacing with ESLint's space-before-blocks and keyword-spacing Rules (#1308)
* added rule no-trailing-spaces

* added rule space-before-block

* added rule keyword spacing
2024-05-23 19:19:20 -05:00
Greenlamp2
e2be6ba002
added rule no-trailing-spaces (#1307) 2024-05-23 18:45:04 -05:00
Greenlamp2
bac6c22973
ESLint - The Essential Linter and Formatter for JavaScript and TypeScript (#1224)
* eslint config + packages

* updated eslint config

* fix the issue eslint adding ;;;; at interfaces

* first round with eslint --fix .

* removed config for unused export

* Revert "first round with eslint --fix ."

This reverts commit 77a88e0895f7c3389cb223651b90d918af778fe9.

* removed config for camelCase

* for real this time, first round of eslint --fix .

* halfway to manual eslint fix

* eslint done

* added "how to setup" the hook to eslint --fix each new file before commit (if wanted)

* removed eslintrc config file duplicat

* fix human error + ignore build folder + merge overrides

* added curly brace style + eslint

* applied double quote linter rule

* added lefthook

* test precommit

* test precommit

* test precommit

* test precommit

* test precommit

* test precommit

* test precommit

* github action to run eslint

* added node_modules to ignore eslint

* different action for typescript

* no need for different glob (default src)

* node 20

* node 20

* removed no longer needed install file

* remove hooks part from README

* eslint fixes

---------

Co-authored-by: Frederico Santos <frederico.f.santos@tecnico.ulisboa.pt>
2024-05-23 11:03:10 -04:00
Vance Ehrlich
45415a87bb
Disable tera-blast to prevent its use while there is not an animation (#1270)
* Disable tera-blast to prevent its use while there is not an animation

* Update TERA_BLAST to be unimplemented rather than partial
2024-05-22 23:37:23 -05:00
Ethan
ecc17c5342
Fixes Issue #805, the TODO was for a bug and was fixed in Platinum (#1238) 2024-05-22 09:59:29 -05:00
arColm
80f6b62d1b
Implement Revival Blessing (#343) 2024-05-19 18:02:17 -05:00
rayanzmn
f1394307f4
Fixes recoil damage calculation (#1063)
Recoil damage previously used the total damage dealt by the user instead of using the damage dealt in the current turn.
2024-05-19 17:54:17 -05:00
arColm
f649179e24
Implement Grassy Glide (#272) 2024-05-19 17:52:51 -05:00
lucfd
9f699537bc
Implemented Bug Bite, Pluck, Teatime (#232)
* implemented pluck, bug bite

* steal blocked by sticky hold

* implemented teatime

* added stuff cheeks

* added berry pouch support

* fixed StealEatBerryAttr sometimes eating 2 stacks of a berry

* added comments & documentation

* added more comments

* added comment on stuff cheeks condition

* fixed 0 stack berry modifier  not disappearing

* stuff cheeks bug fix

* fix leppa berry logic

* removed stuff cheeks
2024-05-19 17:47:30 -05:00
hayuna
840dba79cc
Implement Trump Card move (#816)
* Implement Trump Card move

* Add docs, rearrange order of conditions

* Add Pressure consequences

* Remove additional reducing PP if pressure

* Update comments to adjust ways of working
2024-05-19 13:17:58 -05:00
Jaime
df7cb209f7
Fix Curse targeting for non ghost types (#782) 2024-05-19 12:40:56 -05:00