Commit Graph

687 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 cf06ff3b8d.
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 3fbbc9a165.

* 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 77a88e0895.

* 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
Alvin Zou
608a968db4
Implement Beat Up (#593) 2024-05-19 09:22:37 -05:00
Matt Ross
e8c1098b91
Mostly implements upper hand (#433) 2024-05-19 09:04:19 -05:00
lucfd
78c8e8164d
Implemented Terrain Pulse & Misty Explosion (#235)
* implemented Terrain Pulse

* type only changes when grounded

* Implement Misty Explosion

* fixed grounded check

* added tsdoc

* Update move.ts

---------

Co-authored-by: Benjamin Odom <bennybroseph@gmail.com>
2024-05-19 08:31:13 -05:00
Benjamin Odom
4a9664c04c
Fix Entry Hazard Miss (#984)
* Fix Entry Hazard Miss

Made Entry Hazards bypass the accuracy check as they cannot miss a target. There's still one more bug to fix with this but it requires way more code changes. This change needed to be done as well, so I'm getting it out early.

* Update move.ts
2024-05-17 21:20:02 -04:00
Madmadness65
1f1c243415 Revert "Fix sparkly swirl cure status (#1051)"
This reverts commit 6bcf4e008a.
2024-05-17 15:37:34 -05:00
Charlie Giang
6bcf4e008a
Fix sparkly swirl cure status (#1051) 2024-05-17 15:03:55 -05:00
Jakub Hanko
b4f643f0fa
Use getBattleStat instead of getStat in BattleStatRatioPowerAttr (#742)
* Use getBattleStat instead of getStat in BattleStatRatioPowerAttr

* Change unnecessary let into const

* Refactor BattleStatRatioPowerAttr into two distinct classes

* Add TSDoc for the new classes
2024-05-17 01:42:43 -04:00
Tempoanon
f2b5a1b6f4
Fix some Pokemon classifications (#857) 2024-05-16 22:11:53 -05:00
Benjamin Odom
ff086ca492 Adjust all Existing Comments to Match
Adjusted all existing comments on move.ts to match
2024-05-16 08:38:27 -04:00
Ice
b9d48e9138
Change seed flare stat drop to 2 stages (#943) 2024-05-16 00:12:19 -05:00
Flashfyre
3c8d919ef8 Revert "Implemented Power Split and Guard Split (#699)"
This reverts commit 0b75a5210a.
2024-05-15 10:13:29 -04:00
Frederico Santos
0b75a5210a
Implemented Power Split and Guard Split (#699)
* Implemented Power Split and Guard Split

* Update changeStat method to use summonData for Pokemon stats

This commit modifies the `changeStat` method in the `Pokemon` class to use the `summonData` object for updating Pokemon stats instead of directly modifying the `stats` object. This change ensures that the updated stats are correctly reflected in the `summonData` object, which is used for battle calculations and other related operations.

Refactor the `getStat` method to check if `summonData` exists and return the corresponding stat value from `summonData.stats` if it does. Otherwise, return the stat value from the `stats` object.

This change improves the accuracy of stat calculations during battles and ensures consistency between the `stats` and `summonData` objects.

* Added documentation for Power Split and Guard Split + linting

* removed incorrect files

* Removed incorrect folder

* removed unnecessary import

* Added documentation for getStat and changeSummonStat methods

* New description for getStat()

* Adjusting function descriptions

* adjusted descriptions according to guideline

---------

Co-authored-by: Frederico Santos <frederico.santos@fivedegrees.nl>
2024-05-15 07:41:40 -05:00
andrew-wilcox
1f5b2726b5
added auto hit and 2x damage from certain moves when targeting a pokemon that used minimize (#824)
* added auto hit and 2x damage from certain moves when targetting a pokemon who used minimize

* review fixes and bad merge

* review fixes and bad merge v2

* changed to be double damage instead of power for the minimize condition

* added TSdocs for function]

* remove ability to add minimize tag to dynamax-mons

* status cannot be applied to max-mons, and falls off if they dynamax

* updated doccumentation

* Update move.ts

---------

Co-authored-by: Cae Rulius <cae@polywhack.com>
Co-authored-by: Benjamin Odom <bennybroseph@gmail.com>
2024-05-15 07:36:34 -05:00
Jannik Tappert
512016faef
Sacrifical Moves (that dont require a target like explosion or self d… (#691)
* Sacrifical Moves (that dont require a target like explosion or self destruct) now also work if the target is flying, diving etc.

There is also a new catagorie of moves. "SacrificalMovesOnHit" for all moves that need to hit for them to be sacrifical like MEMENTO

* Added comments, added (what i think is TSDoc) to functions and classes. Removed empty lines i introduced

* .

* Added fixes for the Review by TempsRay.

* Added missing *

* Remove Target Requirement of SacrificialAttr

* Update move.ts

---------

Co-authored-by: Benjamin Odom <bennybroseph@gmail.com>
2024-05-15 04:10:20 -05:00
Benjamin Odom
835b00d457
Added Comments to Base Classes (#860) 2024-05-14 23:19:12 -05:00
Ethan
7d3cf577a6
Implented Gen VII Sheer Cold Changes (#349)
* Made Sheer Cold not affect Ice Types, as well as implementing the Gen VII change of 20% for non ice types.

* Pushed accurancy change

* Updated and separated the accuracy attribute and the Ice no effect attribute

* Fixed the OHKO attribute (accidentally removed) and fixed multiplier

* Updated attribute names, as well as making the move cancelled instead of 0x multiplier

* Added TSDoc comments

* Updated accuracy logic

* Changed the text response for Sheer Cold immunity

* Added immune to the HitResult enum
2024-05-14 13:01:37 -05:00
Brandon Rodgers
06c3611d06
Ability Corrosion (#744)
* Ability Corrosion

Implemented Corrosion Partially.
Tested against:
- Poison Powder
- Toxic
- Dire Claw
- Sludge Bomb
- Psycho Shift

They all work as expected

Missing ability Magic Bounce to test against.

* Added TSDoc Documentation

Added documentation to the new IgnoreTypeStatusEffectImunnityAbAttr and added comments to the checks for this ability attribute.

* Added More Documentation

Add comment into Phases for what sourcePokemon is for.
Renamed source to sourcePokemon onto trySetStatus and canSetStatus.
Added TSDoc head for what sourcePokemon is and anything else I am aware of what they are used for.

* Removed unfinished TSDoc

Removed TSDoc headers due to not having enough understanding to fill out all of the parameters

* Fix Formatting and Reorder Parameters

* Update arena-tag.ts

* Update phases.ts

* Update ability.ts

Added access modifiers to my class and the class I compared to.

---------

Co-authored-by: Benjamin Odom <bennybroseph@gmail.com>
2024-05-14 13:00:37 -05:00
Madmadness65
4e279224c5 Update Let's Go moves to their Gen 8 functionality
This primarily just affects Zippy Zap, as it loses its always crit attribute for an evasion increase (Associated localization strings will need updating). Also implemented Sparkly Swirl's status curing attribute.

Also included is a wild evolution delay for some stone evolution Pokémon that was previously overlooked.
2024-05-13 20:59:38 -05:00
LaukkaE
1d29ca7974
Fix Comeuppance (#781) 2024-05-13 18:48:22 -05:00
Matt Ross
4e6cf2a6ac
Facade should ignore burn damage reduction (#530)
* Facade should ignore burn damage reduction

* update order of burn conditions

* remove unnecessary space

* undo facade check in apply

* Rework facade bypassing burn as move attribute

* Only check ability attribute if move attribute was false

* Add missing semicolon

* Add tsdoc comment

* Add comment to burn damage reduction class

* Added changes from Discord thread

---------

Co-authored-by: Benjamin Odom <bennybroseph@gmail.com>
2024-05-13 13:06:15 -05:00
Marcos
3cc990f5d2
Fully implemented floral healing (#250)
* Created BoostedHealAttr and implemented Floral Healing

* Update move.ts

---------

Co-authored-by: Benjamin Odom <bennybroseph@gmail.com>
2024-05-13 04:27:38 -05:00
Frederico Santos
e4afdf1d45
Add ignoresProtect to life dew (#758)
Co-authored-by: Frederico Santos <frederico.santos@fivedegrees.nl>
2024-05-12 02:18:23 -05:00
notpatchmaybe
ea459826d0
Heart Swap implementation. (#712)
* Heart Swap implementation.

 Simply switches the values in 3 arrays.

* Fixed missing space

* Removed some lines.

Removed a for loop.

* Removed an unneccesary line

* TSDoc commentation added

* Changed message method to be more descriptive

* Adjusted message line to be consistent with Pokemon Showdown

* Adjusted priorBoostArray to priorBoost integer

Only one values is relevant at a time, so the array was pointless, woops.
2024-05-11 09:42:57 -05:00
Madmadness65
b13a563dad Update passive abilities for starters and pseudos
The latest changes from the balancing team. These changes will take immediate effect in any existing runs, so do keep that in mind.
2024-05-10 18:46:10 -05:00
td76099
acb61d6fb7
Fixes Tidy Up so it clears hazards from both sides (#717) 2024-05-10 11:31:27 -05:00
Athebyne
2ab335a3c5
Implement Snipe Shot, and Propeller Tail/Stalwart (#661)
* Implemented Snipe Shot and Stalwart/Propeller Tail

* Remove Testing Overrides

I don't know why these got pushed, they are in the gitignore file.

* Snipe Shot also has a high crit rate

* Add Comment

* Add TsDoc documentation to BypassRedirectAttr

* Add ability pop-up for when Propeller Tail/Stalwart proc.

* Fix Formatting

* Tab align comment
2024-05-10 10:40:21 -05:00
AJ Fontaine
7219556e77
Hydro Steam (#231)
* Hydro Steam, Spirit Shackle, U-turn fix

Match formatting to project style

Co-authored-by: Samuel H <flashfireex@gmail.com>

* Fix Hydro Steam power up in Sun, even harsh sun if type changes

* Fix issue with Hydro Steam outside sun

* Add comments to IgnoreWeatherTypeDebuffAttr for documentation

* Move U-turn fix to another PR

---------

Co-authored-by: Samuel H <flashfireex@gmail.com>
2024-05-09 21:21:57 -04:00
alpaca
1d7d8b1ac7
Implement Heal Bell + Aromatherapy (#238)
* adds frame for StatusCureAttr

* heal bell and aromatherapy functioning as intended

* refactor attr to solely handle party cure, party interaction unique enough to justify

* adds header to PartyStatusCureAttr

* code comment

* comment formatting improvement

* checks for passives as well

* code comment

* shows ability bar if immune
2024-05-09 14:15:56 -05:00
Xavion3
aba97c6ddc
Make max and z moves unable to be chosen with metronome (#641) 2024-05-09 00:38:46 -05:00
Tempoanon
d16cb1202f
Fix charge (#614)
* Fix charge

* Remove console logs
2024-05-08 23:37:50 -05:00
Elliott Simmonds
cb24faa12e
Small fixes to burning bulwark and alluring voice (#651) 2024-05-08 13:39:22 -05:00
Gray
b6692e42b2
Fix Flare Blitz in Gravity (#637)
This condition is out of place since Flare Blitz is not supposed to fail if used in Gravity.
2024-05-08 10:25:47 -05:00
Procyonae
118c57ba75
Add fell stingers effect (#202)
* Add Fell Stinger Effect

* Update src/phases.ts
2024-05-07 23:44:55 -05:00
Benjamin Odom
bb6bb1e6c1
Fixed Crash Moves and Reckless (#609)
* Fixed Crash Moves and Reckless

Added a new MoveFlags flag 'RECKLESS_MOVE' to make crash and recoil moves in line with other move flag boosting attacks.

Modified how flags were defined so they are easier to maintain.

Added the appropriate flag to all mvoes listed as being affected by Reckless. Steel Beam and Mind Blown do not count according to source:
https://bulbapedia.bulbagarden.net/wiki/Reckless_(Ability)

* Update move.ts

* Update abilities.ts
2024-05-07 23:28:35 -05:00
Madmadness65
1c9b65125d Fix Bouncy Bubble targeting & Hau encounter dialogue 2024-05-07 23:01:54 -05:00
kenniky
52b546c924
add hazard removal for Rapid Spin, Defog, Tidy Up, Mortal Spin (#248)
* add hazard removal for Rapid Spin, Defog, Tidy Up, Mortal Spin

* Updated templating and fixed some errors

support for either pokemon using it
added better templating

* revert logic, and remove partial tags

---------

Co-authored-by: kenwang <kenwang@umich.edu>
Co-authored-by: Gwen Valentine <gwenvalentine@starshine.dev>
2024-05-06 22:00:31 -05:00
Tempoanon
78ae7c9f0a
Minor TM learn fixes and make glacial lance non contact (#553)
* Make curse target

* Minor TM learn set changes and make glacial lance non contact
2024-05-06 12:00:51 -04:00
lucfd
80b6001c77
Implemented Revelation Dance (#166)
* implemented Revelation Dance

* fixed steam engine activating on all water moves

* implemented typeless

* stellar handling for revelation dance

* removed testing lines

* changed to UNKNOWN implementation

* removed UNKNOWN RGB

* removed print debug + unnecessary logic

* simplified test condition further
2024-05-06 10:24:37 -05:00
Jeremy B
bc8cb51dc1
Add Scrappy ability handling (#473)
* partially implement scrappy

* add minds eye handling also

* remove unimplemented from minds eye

---------

Co-authored-by: jbastyr <jpbastyr@gmail.com>
Co-authored-by: Madmadness65 <59298170+Madmadness65@users.noreply.github.com>
2024-05-06 00:27:56 -05:00
Temps Ray
77b6ad47d0 Make curse target 2024-05-05 18:40:21 -04:00
Benjamin Odom
e6fd331931 Fix HalfSacrificialAttr
Mind Blown targets all users and was triggering recoil every time it hit. Changed so that it only applies once after all targets take damage by adding a new MoveEffectTrigger, POST_TARGET. This also fixes an issue where dying to recoil stopped the rest of the damage from hitting the remaining targets.

This change also applies fixes for Steel Beam since they are have the same effect but is single target.

Also added missing messages for Damp and Recoil. All messaging is in line with Pokémon Showdown.
2024-05-05 17:46:15 -04:00
Tempoanon
9b72dfbd71
Implement curse (#510)
* Implement curse

* self targeting is always true if not ghost type
2024-05-05 17:45:20 -04:00
Madi Simpson
f7f235cdec move: handle some aspects of custom fail text a bit better 2024-05-05 14:28:06 -04:00
lucfd
4aad37a758
Implement Take Heart Sleep Talk edge case (#508)
* removed take heart condition, added sleep talk edge case

* removed freeze heal

* removed testing stuff
2024-05-05 13:04:19 -05:00
LaukkaE
697f2a3a42 fix-takeHeart 2024-05-05 13:36:52 -04:00
Madi Simpson
b6603e2c6c move: fix issue with self switch moves causing softlocks 2024-05-05 12:22:03 -04:00
EggMuncherSupreme
fa2d257144
Changed Bouncy Bubble to heal 100% of damage dealt and implemented Take Heart (#326)
* Changed Bouncy Bubble to heal 100% of damage dealt, as according to Gen 8

* Fully implemented Take Heart
2024-05-05 11:01:39 -05:00
Madi Simpson
8e606139fa
moves: (mostly) fix parting shot stack bug (#495) 2024-05-05 11:50:46 -04:00
Madi Simpson
80ee440109
Implement Guard Dog, attribute for abilities to give Intimidate immunity (#448)
* abilities: implement guard dog, abilities that give intimidate immunity

* abilities: implement rattled's second effect, remove refs to mold breaker

* abilities: fix rattled not giving the attack drop still

* abilities: make ability bars pop in to some success

* abilities: implement suction cups since it has the same effect

* moves: add custom fail text, fix animation issues with Guard Dog/Roar

* abilities: manually show intimidate ability bar to prevent weirdness
2024-05-05 10:52:27 -04:00
Reldnahc
7cdf07c050
have arena tags check their sides. (#447)
* have arena traps check their sides.

* make sure we check the right tags layers
2024-05-05 00:27:46 -05:00
Madi Simpson
96d7fdd3f9
Implement Water Shuriken Battle Bond condition (#466)
* moves: water shuriken hits 3x 20bp in ash greninja forme

* moves: remove fusion checks
2024-05-04 20:50:12 -05:00
Madmadness65
1792b98608 Implement Genesect's forms & Techno Blast
Genesect's Drive forms does not change it's typing, only Techno Blast's type.
2024-05-04 19:45:07 -05:00
LaukkaE
620a92aace
Bugfix Tickle, Tearful Look, Decorate (#464) 2024-05-04 17:28:15 -05:00
nrawicz
da5615eb4a
Implement Expanding Force (#417)
* Expanding Force Implementation

Added target change attribute based on terrain

* Class change I guess

* Expanding Force Implementation

Added target change attribute based on terrain

Class change I guess

Squashed weird split commit

* Fixed removed commits

My bad

* ACTUALLY fixed removed commits
2024-05-04 10:52:24 -05:00
Tempoanon
5b44905b86
Fix Shedinja passive, mummy passive, acupressure, moody, and added a second move override (#369) 2024-05-04 12:30:23 +10:00
Tempoanon
4163005f12
Implement Forewarn, Frisk, and BattlerTags for Magnet Rise (WIP) (#241)
* Implement Forewarn, Frisk, and BattlerTags for Magnet Rise (WIP)
2024-05-04 12:10:40 +10:00
Madi Simpson
06ae04abad bugfix: ensure hit recoil moves always do at least 1hp in recoil 2024-05-03 17:10:50 -04:00
Benjamin Odom
313fdc0e42 Fix Venom Drench not working on Toxic Status 2024-05-03 16:48:11 -04:00
Benjamin Odom
3b61662bba Fixed Mighty Cleave not being a Slicing Move 2024-05-03 16:18:29 -04:00
Matt Ross
1484a52fd7
Add variable power attribute for knock off (#426)
* feature/add-variable-power-knock-off

* Remove console logs
2024-05-03 15:54:21 -04:00
Madi Simpson
cbf06ffa2c bugfix: ensure direct stat modifying moves update both pokemon's stat info 2024-05-03 15:12:48 -04:00
Paul Beslin
24a9dba2c4 Fix attacks with charge (solar beam, dig...) allowing to switch target on second turn 2024-05-03 08:35:31 -04:00
Jaime
f7b391746e Fix Gyro Ball only checking base stat 2024-05-03 08:32:39 -04:00
Matt Ross
fbc0800571
Issue/smack down should cancel fly (#407)
* Smack down and thousand arrows should cancel charging fly

* Remove console log

* Update interruptible check to use flying tag instead of move history

* Remove extra comma
2024-05-03 01:20:41 -04:00
Benjamin Odom
9d8f7ddcf0
Implement Tailwind (#398)
Added a new ArenaTagType for Tailwind. Lasts 4 turns including the turn used.
2024-05-02 14:10:21 -05:00
Madmadness65
ddb4383b1f Move Porygon line down to Rare in Factory biome
This makes the Porygon line more common than before.
2024-05-02 14:01:57 -05:00
Xavion3
6d9424e431
Implement Gastro Acid (#393) 2024-05-01 23:22:30 -05:00
Benjamin Odom
ad59c0a7c4 Fixed Rounding Error For TargetHalfHpDamageAttr
Moves that deal half of a target's HP were not able to deal damage if the target had 1 HP. Used Math.max to ensure 1 is the lowest this value ever evaluates to.
2024-05-01 19:14:18 -04:00
Flashfyre
7a418109c3 Fix not checking move conditions for AI 2024-05-01 18:17:12 -04:00
Xavion3
5a6ea40dae Implement Acrobatics
Currently scales from 0-5 items
2024-05-01 17:11:16 -04:00
Xavion3
d6ca09e431 Implement Belch 2024-05-01 16:52:48 -04:00
InfernoVulpix
10169382d9
Implemented Synchronoise's effect (#221)
* Implemented Synchronoise's effect

Tested with Soak, Forest's Curse, and a variety of attacker and defender types.

* Fixed Synchronoise double battle functionality

It now does zero damage only to targets who do not share any types with it, while correctly damaging any who do.  It also fails entirely if the user is UNKNOWN type.
2024-05-02 06:14:19 +10:00
Madmadness65
68f3326607 Add Heal Block back to level up learnsets
The move itself is still not functional yet, but will be valuable for Endless when it is.
Also made Curse's flavor text accurate to the canon games.
2024-05-01 12:21:22 -05:00
lucfd
e065610440
Fixed Dire Claw & Tri-Attack status chances (#367)
* created MultiStatusEffectAttr

* removed testing stuff

* switched to randSeedItem
2024-04-30 23:30:10 -04:00
Flashfyre
93765d4121 Update battle info on stat change 2024-04-30 23:23:32 -04:00
Madmadness65
c5cc4445c4 Fix Furfrou trims missing shiny graphics 2024-04-30 13:39:16 -05:00
Reldnahc
1e7c329928
Implement move wish (#323)
* implement wish move

* Serene grace implementation idea

* only do the thingy if it actually gets effected.

* Revert "only do the thingy if it actually gets effected."

This reverts commit 4b084658d2.

* Revert "Serene grace implementation idea"

This reverts commit 4dd2504bc7.

* Fixes for Wish implementation

---------

Co-authored-by: Flashfyre <flashfireex@gmail.com>
2024-04-30 12:38:24 -04:00
NxKarim
8e64eaea3f
Some Fixes (HPRatio, Hustle, Imposter, Sleep Talk) (#353)
* Some Fixes

- HP ratio related checks (`getHpRatio`): Added rounding to 2 decimals for non-precise option.

- Hustle (`BattleStatMultiplierAbAttr`): added optional condition; Hustle now works only for physical attacks.

- Imposter (`PostSummonTransformAbAttr`): Switch in a double battle after both foes have been defeated no longer crashes the game.

- Sleep Talk (`RandomMovesetMoveAttr`): Single target moves no longer target allies.

* Formatting changes for consistency

---------

Co-authored-by: Flashfyre <flashfireex@gmail.com>
2024-04-30 11:47:10 -04:00
AJ Fontaine
7050e0db6c Fixed Outrage etc. lasting 4 turns 2024-04-28 23:57:40 -04:00
Madmadness65
e362289d57 Implement Spirit Shackle
It's a pretty basic trapping attack
2024-04-26 20:40:28 -05:00
Madmadness65
2cb5aad8b1 Mark Core Enforcer as partial
No coding for it yet, but it can function as a regular attack in the meantime.
2024-04-26 20:01:24 -05:00
shayebeadlingkl
f9b999b744 spacing 2024-04-26 12:18:01 -04:00
shayebeadlingkl
def36e32d1 adds missing brackets to psycho shift attribute to fix unreachable condition 2024-04-26 12:16:56 -04:00
Xavion3
46227d65f2 Fix mind blown/explosion moves 2024-04-26 08:33:29 -04:00
InfernoVulpix
d4c265443f Assurance effect implementation
Theoretically implemented for all use cases but only tested for regular damage so far.
2024-04-25 23:03:00 -04:00
AJ Fontaine
9f3bef0142
Implemented explosive moves and Damp (#290)
* Implemented explosives

* Add Aftermath and Magic Guard interactions

* Adjust AI score for Mind Blown/Steel Beam
2024-04-25 21:42:41 -04:00
Flashfyre
728512cf7d Fix Baton Pass not working 2024-04-25 20:52:52 -04:00
Madmadness65
608a9d9400
Merge pull request #242 from EggMuncherSupreme/main
Added the triageMove() flag to Bouncy Bubble
2024-04-24 23:18:46 -05:00
arColm
6066d2e47e Implement Flying Press 2024-04-24 00:26:41 -04:00
Flashfyre
ba71d2750b Load files from manifest for caching 2024-04-23 22:00:23 -04:00
Madmadness65
d48de66179 Implement Snap Trap
One of the basic trapping moves that got overlooked.
2024-04-23 13:04:42 -05:00
Xavion3
049fa306b9 Add dynamax buffs 2024-04-23 12:02:09 -04:00
EggMuncherSupreme
16ff508443 Added the triageMove() flag to Bouncy Bubble 2024-04-23 06:53:04 +10:00
Xavion3
c949557469 Fix OHKO accuracy formula 2024-04-22 08:31:27 -04:00
Flashfyre
f8f5b64469 Add One Hit KO accuracy and make damage 200 BP for bosses 2024-04-22 01:05:48 -04:00
Flashfyre
df7a6be654 Fix errors from merged PRs 2024-04-21 23:05:36 -04:00
Procyonae
fd8cb07c9b
Implement Liquid Ooze (#210)
Co-authored-by: Samuel H <flashfireex@gmail.com>
2024-04-21 23:02:10 -04:00
Madmadness65
8838d36bf4 Implement Temper Flare
It is functionally identical to Stomping Tantrum.
2024-04-21 19:29:47 -05:00
lucfd
12ae21c3cf
Implemented Stomping Tantrum (#192)
* implemented Stomping Tantrum

* fixed on missed moves
2024-04-21 19:55:40 -04:00
Luc Dube
158eb9748b implemented magic powder 2024-04-21 19:54:55 -04:00
Gwendal
8d7f1ae554
Allowing pokemon name translation (#228)
* Allow pokemon name translation

* Improve Pokemon localization

---------

Co-authored-by: Flashfyre <flashfireex@gmail.com>
2024-04-21 19:53:24 -04:00
Tempoanon
1eaa5c0d79
Misc changes (fix Trumbeak level up, give Mega Gallade sharpness, WIP for curse) (#229)
* Minor changes

* fix tabbing

* minor nits in CurseAttr
2024-04-21 18:23:45 -04:00
lucfd
1acc082080
Fixed Freeze Shock (#216)
* added charge turn to freeze shock

* fixed freeze shock animation
2024-04-21 01:04:51 -04:00
Flashfyre
8faa77cfbf Fix struggle damage blockable by Magic Guard 2024-04-20 19:43:48 -04:00
Tempoanon
934fc0ef86
Fix gyro ball base power (#206)
* Fix gyro ball base power

* Update gyro ball for gen6+
2024-04-20 01:43:37 -04:00
Flashfyre
703f8c43c2 Fix move implementation indicators 2024-04-19 17:19:24 -04:00
Miguel S
95d2ad2fb4
Added language setting (#185)
* Added language setting

* Allow properly changing language

---------

Co-authored-by: Flashfyre <flashfireex@gmail.com>
2024-04-19 14:55:01 -04:00
Xavion3
9dfd5a1e6e Implement Soak, Forest's Curse, and Trick-or-Treat
Updates the UI and type effectiveness to support three types, and makes old moves that change types update the UI.
2024-04-19 13:47:40 -04:00
lucfd
ea9e95c89e
Implemented Payback (#191)
* implemented payback

* refactored payback + now doubles on item usage
2024-04-19 09:36:02 -04:00
lucfd
422eeb5d07
Implemented Stench (#190)
* implemented stench

* cleaned up code

* removed redundant lines

* Implemented Payback

* refactored, increased PostAttackApplyBattlerTagAbAttr robustness

* removed payback code

* Update src/data/ability.ts

---------

Co-authored-by: Samuel H <flashfireex@gmail.com>
2024-04-19 09:33:35 -04:00
EmoUsedHM01
660663cffe
Edited Electro Shot to raise stat before attacking (#87)
* Edited Electro Shot to raise stat before attacking

Should be a fix to issue #85

* Updated ElectroShotChargeAttr

Moved the Sp Atk boost to be inside the ElectroShotChargeAttr function

* Updated ElectroShotChargeAttr to raise SPATK before the move fires

* Updated ElectroShotChargeAttr with comments on process

* Updated formatting
2024-04-19 09:28:44 -04:00
LaukkaE
d7ee958d29 Fix Sleep Talk bugs 2024-04-18 15:59:34 -04:00
Madmadness65
e07ba5680d Replace Pikachu's cry with it's classic cry
Generation 9 gave Pikachu back the electric noise cry, replacing it speaking it's name.
2024-04-18 12:16:49 -05:00
shayebeadling
aae40d2246
Implements infestation (#184)
* Implements infestation

* removes partial

* wrong partial removed, fixed

* appropriate tag location in enum

* moved in battle-anim enum
2024-04-18 11:14:11 -04:00
Xavion3
6b46cd533a Implement stat resetting moves
Haze should probably have a custom message so it doesn't list the targets name
2024-04-18 10:53:02 -04:00
Xavion3
453c5644aa Fix mold breaker + implement neutralising gas 2024-04-18 10:52:31 -04:00
Xavion3
3a64a8390a Implement Psych Up 2024-04-18 10:51:30 -04:00
Tempoanon
cf2bd4d3da
Implement Charge and more abilities (#163)
* Implement Rivalry

* Implement Quick Feet, Liquid Voice, and Normalize

* Forgot paralysis is half speed instead of a quarter

* Remove log statements

* Fix minor edge case in rivalry for gendered vs genderless

* Add wind abilities and charge

* Implement Charge and more abilities

* Add i18n support and Beedrill fury cutter

* Fix merge conflict in taunt

* More English strings removed
2024-04-17 01:09:15 -04:00
Robert Antonius
db92663daa Fixed switch out attacks trigger contact for the replacement pokemon
Changed force switch out attribute to be applied after the move is done.
Additionally manually typed switch out attacks to be non baton pass moves.
2024-04-17 01:07:50 -04:00
Flashfyre
b116828b07 Convert biome select UI handler to option select 2024-04-16 15:58:02 -04:00
Flashfyre
dfe320e712 Minor changes to biome paths 2024-04-16 15:22:19 -04:00
Flashfyre
61e1f2da15 Fix compile errors 2024-04-16 15:09:13 -04:00
lucfd
24408edfdc
Implemented Burn Up & Double Shock (#161)
* Implemented barrier-breaking moves

* removed (P) from move names

* refactored to support defog

* Implements Burn Up & Double Shock

* Removed code irrelevant to current PR
2024-04-16 15:07:38 -04:00
shayebeadling
396f1bafd8
Fail conditions are working properly, can now handle sleep as well in edge case (#160) 2024-04-16 14:34:57 -04:00
Ishan Patel
1f9834d1f6
Fixed when roost removes flying type (#148)
* Initial push with roost fix

* Roost fix

* Added GROUNDED to Levitate

* Cleaned up GROUNDED code
2024-04-16 14:31:30 -04:00
Miguel S
7bc147166e
i18n for Pokemon moves (#155)
* i18n for moves

* Remove extra comma from merge

* Fixed some missing moves description

* Infer move i18n keys

---------

Co-authored-by: Samuel H <flashfireex@gmail.com>
2024-04-16 14:29:32 -04:00
shayebeadlingkl
cfd30f16b2 Implements psycho shift 2024-04-16 13:15:00 -04:00
shayebeadling
95aa78487f
Present implementation, adds a 0 dmg override for 0 power moves. (#152)
* Implements present, adds an override in the dmg calc to make 0 power moves do 0 dmg

* present doesn't make contact

* removes console log

* only === 0
2024-04-16 00:41:15 -04:00
prateau
509954995c update moves and abilities that takes effect in snow 2024-04-15 17:45:52 -04:00
prateau
0196cf8310 Add snow as a weather 2024-04-15 17:45:52 -04:00
Matthew Ross
c978fad286 Smack down should hit target charging fly 2024-04-15 16:24:57 -04:00
damocleas
a0fd462b5c
Nature Power move change for Town Metropolis and Plains (#147) 2024-04-15 16:23:44 -04:00
Matt Ross
af4e9ff66e
Additional moves should hit fly, dig, dive (#143)
* whirlwind should hit pokemon charging fly

* Thunder should hit flying

* magnitude and fissure should hit dig

* Add battle tag for underwater (dive), allow surf/whirlpool to hit diving

* reorder underwater in enums to match battler-tags order

* hurricane and thousand arrows should hit fly
2024-04-15 15:49:10 -04:00
damocleas
3a1ebc9815 Nature Power move for all biomes
Unique Nature Power move for all biomes, no overlap with terrains
2024-04-15 15:21:50 -04:00
serif
39eed2a275 Update move.ts
adds the rest of the biomes
2024-04-15 12:21:13 -04:00
Flashfyre
9d92ec2a72 Fix nature power using wrong syntax for switch case 2024-04-15 10:45:40 -04:00
Xavion3
6881246d17 Implement check functions for abilities 2024-04-15 01:11:27 -04:00
Madmadness65
e7f1969099 Implement Ivy Cudgel's type changing property
Basically a copy/paste of Raging Bull's code.
2024-04-14 21:41:12 -05:00
lucfd
d699a0f7d4
Implemented barrier-breaking moves (#130)
* Implemented barrier-breaking moves

* removed (P) from move names

* refactored to support defog
2024-04-14 22:26:58 -04:00
shayebeadlingkl
be9d07ab1a fixes targeting 2024-04-14 18:26:44 -04:00
shayebeadlingkl
8932a0b6f9 Implements Nature Power 2024-04-14 18:00:31 -04:00
Madmadness65
73cf4e9f5c Implement Thunderclap
It's just a copy of Sucker Punch, so no additional work needed.
2024-04-14 12:52:59 -05:00
Xavion3
605e16fe35 Fix a bunch of moves 2024-04-14 13:16:28 -04:00
Flashfyre
75ce0e8f73 Fix transform and imposter not copying ability 2024-04-14 12:23:49 -04:00
Xavion3
705ba0659e Fix crash bug with sucker punch when not using a move 2024-04-14 12:06:21 -04:00
Xavion3
cc20d24afa
Implement sucker punch (#121)
* Implement sucker punch

* Fix variable name
2024-04-14 11:54:46 -04:00
Madmadness65
1941939931 Fix Jungle Healing healing the user twice
It still does not have the status condition healing bit yet.
2024-04-14 08:19:31 -05:00
Xavion3
4078518c5f
Add support for ability changing effects (#113)
* Add support for ability changing effects

* Fix doodle with a fainted ally in doubles
2024-04-13 23:21:34 -04:00
Xavion3
66ef42db85 Update ability attributes 2024-04-12 22:25:22 -04:00
kleekie
3d38ad14ca Add crash damage message + battle info update for missed/ineffective moves 2024-04-12 22:21:07 -04:00
Madmadness65
92812aae1d Draining Kiss now restores 75% of damage dealt 2024-04-12 19:02:24 -05:00
Dovie Shalev
eb791747fe
Last respects Fully Implemented (#105)
* Last Respects fully implemented

* Fixed Last Respects

* Last Respects Fully Implemented

* Last Respects Fully Implemented

---------

Co-authored-by: dshalev <dshalev@umich.edu>
2024-04-12 16:16:08 -04:00
EmoUsedHM01
930c14fa62
Laser Focus support, with the added BattlerTagTypes to support it (#103)
* Added a new BattlerTagType and support for Laser Focus

BattlerTagType.ALWAYS_CRIT

* Updated battler-tags to support ALWAYS_CRIT

* Added ALWAYS_CRIT = "ALWAYS_CRIT", for the updated battler-tag-type

* Updated the crit formula to include the new critAlways

* Updated crit logic to include critAlways, fixed indents
2024-04-12 16:05:32 -04:00
Matthew Olker
d2ebb499d8 Fix broken call in force switch out 2024-04-12 07:44:45 -04:00
EmoUsedHM01
fba98ffa0c
Updated ForceSwitchOutAttr (#90)
* Updated ForceSwitchOutAttr

Should fix issue #83

* Removed the additional indents

* Updated the import and fixed the ForceSwitchOutAttr coding errors

* Removed the rest of the indents

* Updated formatting
2024-04-12 07:32:06 -04:00
Xavion3
20b6612cd1 Add support for hidden power 2024-04-12 01:45:19 -04:00
Xavion3
747a039a2e Add support for strength sap 2024-04-11 20:55:21 -04:00
Flashfyre
3e9fdc2d0a Fix rest not overriding status 2024-04-11 20:01:43 -04:00
Flashfyre
053c07cfba Fix being able to use rest without drawback when unable to sleep 2024-04-11 12:14:03 -04:00
Flashfyre
43bf8e13ea Fix stack overflow with weather abilities 2024-04-11 09:39:15 -04:00
Flashfyre
31050a5181 Add passive secondary abilities for bosses 2024-04-11 09:24:03 -04:00
Xavion3
4f1fa4e192 Fix random category
Also fix the variable name
2024-04-10 22:41:16 -04:00
Xavion3
4f63b83bd9 Add support for variable category moves
Also lets shell side arm poison
2024-04-10 22:41:16 -04:00
Stophles
f418fe294a Rapid Spin now removes traps/seeds, added (P) back on
Rapid Spin now removes the tags for trapping moves and seeds rather than having them lapse.  Re-added the (P) to the move since clearing arena hazards hasn't been implemented yet.
2024-04-10 20:37:11 -04:00
Flashfyre
bd556e3c68 Fix Fillet Away 2024-04-10 17:31:39 -04:00
Flashfyre
f45b21afde Revert "Fillet Away"
This reverts commit 97144077f2.
2024-04-10 17:23:31 -04:00
Kieru Snowbell
97144077f2 Fillet Away
I wanted to use it, so I coded it.
2024-04-10 17:21:07 -04:00
Flashfyre
350aa30a35 Fix issue with status effect move AI 2024-04-10 15:39:36 -04:00
LaukkaE
3a2f364b41 Fix protect having a chance to fail twice in a row
Account for other types of protecting moves
2024-04-10 15:01:38 -04:00
Flashfyre
151b751300 Fix crash when stealing an enemy item not in player pool 2024-04-10 14:31:29 -04:00
Flashfyre
012158e7ff Improve enemy move selection AI 2024-04-10 12:49:23 -04:00
LaukkaE
973eefee1d Add electric terrain electric type boost 2024-04-10 09:12:27 -04:00
LaukkaE
2a5cfbf758 Psyblade & Rising voltage affected by Electric Terrain
fix
2024-04-10 09:12:27 -04:00
Xavion3
6078154a87 Add support for weather ball
Support both type changing and power boosting
2024-04-10 08:46:48 -04:00
LaukkaE
c9eff345cf
Implement Aura Wheel and Raging Bull types (#69)
* Implement Aura Wheel and Raging Bull types

* Account for fusion
2024-04-09 14:02:41 -04:00
LaukkaE
2623313970 Toxic accuracy skip, fix thousand waves 2024-04-09 11:48:04 -04:00
Flashfyre
a2e57bf1f7 Add unsaved changes to Super Fang benefit score 2024-04-09 11:25:15 -04:00
Flashfyre
5ee95bcd17 Add Super Fang target benefit score 2024-04-09 11:04:09 -04:00
Flashfyre
4a528aebcc Fix one hit KO moves not working properly 2024-04-08 12:52:37 -04:00
Flashfyre
5617aa9772 Re-implement counter changes and Metal Burst with missing property added 2024-04-08 12:13:34 -04:00
Flashfyre
db24880064 Revert "Implemented Metal Burst, fixed comeuppance logic, changed CounterDamage attribute"
This reverts commit e24c79d541.
2024-04-08 12:08:47 -04:00
Potattiummm
e24c79d541 Implemented Metal Burst, fixed comeuppance logic, changed CounterDamage attribute
Changed Counterdamage attribute to include a multiplier for metal burst and comeuppance. Changed logic for Comeuppance that caused it to always fail, no matter if a physical or special move hit it. Implemented Metal Burst.
2024-04-08 12:06:34 -04:00