Commit Graph

348 Commits

Author SHA1 Message Date
SeafoamQueen
3fea384dc1
[Feature] Added Battle Style setting (#1872)
* Added Battle Style setting with Shift and Set options

* Changed 'Shift' option to 'Switch' to match the Gen 8 setting.
2024-06-06 11:26:04 -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
Benjamin Odom
5e52be676f
[QoL] Add Time of Day Widget to Arena Flyout (#1846)
* Time of Day Sample

* Add Proper Time of Day Tracking

* Add Settings
2024-06-05 22:57:55 -05:00
flx-sta
283714bd0f
[Refactor] Move enums from game-data into their respective files in src/data/enums (#1837)
* move PlayerGender enum into src/data/enums/player-gender.ts

this is necessary to avoid circular dependencies which did crash tests in the past (in PRs)

* Update settings.ts

* Update game-data.ts

* Update summary-ui-handler.ts

* Update ui.ts

* move Passive & GameDataType enums into own files
2024-06-05 19:11:07 -05: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
Benjamin Odom
d04010226d
[Bug] Fix Leppa Berries not Updating Flyout PP (#1806)
* Fix Leppa Berries not Updating Flyout PP

* Code Cleanup

* Update battle-flyout.ts
2024-06-04 16:59:39 -05:00
Tempoanon
1c73b3b084
Revert "[Feature] Add possibility to override whole user party (#1643)" (#1796)
This reverts commit ef8b6aa4f9.
2024-06-04 16:39:02 +01:00
hayuna
ef8b6aa4f9
[Feature] Add possibility to override whole user party (#1643)
* Add possibility to override whole user party

* Update species overriding

* Replace SPARTER_SPECIES_OVERRIDE with array

* Replace SPARTER_SPECIES_OVERRIDE with array

* Add possibility to override species forms

* Add possibility to override species forms

* Fix eslint styling

* Add possibility to override Abilities for party

* Override status, gender, moveset

* Add possibility to override shinies

* Fix CI
2024-06-04 11:29:38 -04:00
Matthew
69da96d543
Settings Refactor (#1771) 2024-06-03 19:57:47 -04:00
Frede
12bd22f2ca
Added "Skip Seen Dialogues" option (#1431)
* Added "Skip Dialogues" option (if at least 1 classic win)

* Removed error sound and hide option instead when classic wins = 0

* Add skip dialogues option to Unlockables and show unlocked message on first classic win

* Only skips seen dialogues, removed dialogue option from unlockables, seen dialogues get saved to local storage

* oops

* dont show charSprite when skipping a dialogue, small fixes

---------

Co-authored-by: Frederik Hobein <frederik.hobein@nterra.com>
2024-06-03 11:49:13 +01: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
Amani H
e0bc1d8781
[Item] Add Toxic Orb and Flame Orb (#1574)
* Add Toxic Orb and Flame Orb

* Change Weighting Logic & Functions

* Adjust Party Filter during Weighting

* Add Dynamic Weight Ceilings

* Refactor for Performance/Cleanliness

* Adjust Party Filter to Check Status Applicability

* Cover Same & Different Status Cases

* Adjust Full Heal & Restore Weighting

* Cover Unwanted Status Case

* Fix Wrong Status Effect on Reload
2024-05-31 14:31:11 -05:00
Adrian T
bb7af15c4a
[Move][Bug] Fix Enemy Fake Out and Force Switch Interaction (#1251)
* fix force switch move

* add check if switched out pokemon is not fainted with force switch move

* improve code documentation

* refactor if statement
2024-05-31 10:23:28 -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
Matthew Olker
ed7a4045d8 show luck after reroll 2024-05-30 13:45:30 -04:00
ImperialSympathizer
3b852c5bf2
[Bug] Fix weather effects to work on the first turn of being cast (#1503)
* update weather phase so weather effects proc properly

* remove redundant weather replace phase logic

---------

Co-authored-by: ImperialSympathizer <imperialsympathizer@gmail.com>
2024-05-30 12:07:28 -05:00
Gianluca Fuoco
73d3d8648f
[Bug/Enhancement] Fix stat change color (#1461)
* fix: use orange for stat increase and blue for stat decrease like in main games

* fix: run eslint
2024-05-29 20:26:24 -04:00
Adrian T
7e1b383be2
Add window showing number of eggs hatching during hatch phase (#1421)
* add window showing count of eggs hatching

* adjust property naming
2024-05-29 17:17:41 -05: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
Adrian T
fccd546415
Add Settings On Title Screen, Update Starter-Select Tutorial Dialogue (EN, DE, FR, CN, BR) (#1367)
* add settings on title screen, update starter select tutorial (en)

* French "Settings" transaltion in menu.ts

* Update French tutorial.ts

* [LOCALIZATION] add DE

* fix players online position

* [LOCALIZATION] add zh_CN

* [LOCALIZATION] add pt_BR

---------

Co-authored-by: Lugiad <adrien.grivel@hotmail.fr>
2024-05-28 16:51:33 -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 3fbbc9a165.

* add partial tags to abilities that would be blocked by Heal Block
2024-05-28 13:19:03 -04:00
Frederico Santos
89f58961cb
Implement Zero to hero (#1131)
* Implemented Zero-To-Hero

* Zero to Hero documentation and form reset on summon

* Zero to Hero: form reset on biome/trainer

* Updated documentation on PreSwitchOutFormChangeAbAttr apply

* Faint bypass on canApplyAbility

* revert zygarde

* zero to hero post-merge
2024-05-28 06:11:04 -05:00
Xavion3
17e4edeb8d
Fix endless retries (#1465) 2024-05-28 02:36:32 +01:00
Xavion3
970e335fab
Remove endless 5850 crash bug (#1463) 2024-05-28 11:01:13 +10:00
hayuna
4c443e7760
Add flag for immediate hatching eggs (#1424)
* Add flag for immediate hatching eggs

* Change time to hatch based on flag in Overrides
2024-05-27 05:49:49 -05:00
Greenlamp2
3120917368
Overrides - Gender, Xp multiplier and arena tint (day & night) overrides (#1201)
* added override gender and arena tint (day & night)

* cleaner diff

* reset override

* fix gender override default value

* removed useless return variable

* also null for opponent

* add override tint, gender, xp multiplier

* remove condition duplicated + set overrides initial value to null

* added comments

* eslint

* Update overrides.ts

---------

Co-authored-by: Benjamin Odom <bennybroseph@gmail.com>
2024-05-26 11:17:41 -05:00
td76099
ae0cd86bc3
Adding clause so right Pokemon in double battle cannot target itself with a spread move when left one dies with no replacement (#1370) 2024-05-25 14:06:50 -05:00
Benjamin Odom
5c28e1fb11
Adds New BattleSceneEventTypes (#1372)
* Add BattleSceneEvents

* Update battle-scene-events.ts
2024-05-25 17:23:53 +01:00
Jakub Hanko
caeb22c26b
Implement Honey Gather (#1360)
* Implement Honey Gather

* Updated Ability Description

---------

Co-authored-by: Benjamin Odom <bennybroseph@gmail.com>
2024-05-25 08:01:08 -05:00
Tempoanon
d71451fc23
Players win if classic and past floor 200 (#1348)
* Players win if classic and past floor 200

* isClassic

* no need to handle game over twice
2024-05-25 04:36:30 -05:00
YounesM
4277439a2d
Implemented Dancer Ability (#590)
* implemented Dancer Ability

* corrected target selection for double battles, improved ability detection

* Added TSDoc

* Enhanced TSDoc

* Corrected dancing StatusMove triggering

* Linter corrections
2024-05-24 23:00:58 -05:00
Matthew Olker
1e283afc84 fix anmation duplicate warnings 2024-05-24 22:57:47 -04:00
Matthew Olker
840ac9f53f fix single pokemon run away in double battle 2024-05-24 21:16:27 -04:00
Matthew
623c05a3df
update running away in double battles for real this time (#1345) 2024-05-24 19:39:58 -05:00
Tempoanon
dc828c6801
Revert "Update running away in Double Battles (#1336)" (#1342)
This reverts commit 5e7a9b0872.
2024-05-25 09:54:46 +10:00
Matthew
5e7a9b0872
Update running away in Double Battles (#1336)
* Add check for active pokemon and double battle with 1 active

* remove unecessary case
2024-05-24 19:46:52 -04:00
Benjamin Odom
74bf42b4b7 Let's try this again 2024-05-24 17:01:47 -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
Lugiad
79af115278
Few new lines up to be localized from in battle.ts locales (#1144)
* Update phases.ts

* Update battle.ts

* Update battle.ts

* Update battle.ts

* Update battle.ts

* Update battle.ts

* Update battle.ts

* Update battle.ts

* Update battle.ts

* Update battle.ts

* Update battle.ts

* Update battle.ts

* Update battle.ts

* Update battle.ts

* Update battle.ts

* Update battle.ts

* Update battle.ts

* Update battle.ts

* Update phases.ts

* Update battle.ts

* Update battle.ts

* Update battle.ts

* Update battle.ts

* Update battle.ts

* Update battle.ts

* Update battle.ts

* Update battle.ts

* Update battle.ts

* Update battle.ts

* Update battle.ts

* Update phases.ts
2024-05-23 13:22:09 -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
Dmitriy K
a601d4d39e
hotfix creating berry with undefined type (#1260) 2024-05-22 18:34:49 -05:00
Dmitriy K
cd7e818a01
Mostly implement the Harvest ability (#1081)
* add harvest ability, move berry phase before turn end phase

* readd removing berry from memory after harvest
2024-05-22 08:52:45 -04:00
td76099
fbd863a25c
Feature: Finish implementing Mind's Eye (#1060)
* Adds in the accuracy and evasion bypass for Mind's Eye

* Added comment to new IgnoreOpponentEvasionAbAttr class

* Added docs to apply so that it is actually complete
2024-05-21 23:11:42 -04:00
Jacob Knispel
6016ecfb46
Prevent Pokemon Info screen from being covered up (#1156)
* Move Pokemon info screen when confirming

Prevents the yes/no confirm menu from getting in the way when the Pokemon Info screen is open when catching a new Pokemon

* Greatly sped up makeRoomForConfirmUi()
2024-05-21 02:24:03 -05:00
0zuzu
67d5532d15
Check available Pkmn before asking to switch (#1194)
* Create Start Server.bat

idk anymore

* Update .gitignore

* Delete Start Server.bat

* Update .gitignore

* Update phases.ts

Check available party before asking to switch
2024-05-21 02:16:17 -05:00
arColm
80f6b62d1b
Implement Revival Blessing (#343) 2024-05-19 18:02:17 -05:00
arColm
f649179e24
Implement Grassy Glide (#272) 2024-05-19 17:52:51 -05:00
td76099
1bc6fcf4de
Bugfix - Ghost types are no longer trapped by abilities like Shadow Tag or moves like Fire Spin (#731)
* Checks if Pokemon is Ghost type when determining if it is trapped

* Adding doc comments based on new standard

* Update ability.ts

---------

Co-authored-by: Benjamin Odom <bennybroseph@gmail.com>
2024-05-19 12:05:46 -05:00
Frederico Santos
3031cc1245
Implement Ball Fetch (#1129)
* Implemented Ball Fetch

* Added once per battle condition

* Ability only functions on player side

* Update ability.ts

---------

Co-authored-by: SamuelHudson <samuel.hudson2017@gmail.com>
Co-authored-by: Benjamin Odom <bennybroseph@gmail.com>
2024-05-19 11:13:33 -05:00
ElMoustacho
932e6e39f9
Make status damage skip endure (#597)
* Make status damage skip endure

* Add a comment to justify arguments to damage method
2024-05-19 10:10:57 -05:00
Jannik Tappert
e3b25a9fab
So currently if you meet someone with a title it only shows there nam… (#1055)
* So currently if you meet someone with a title it only shows there name and only then the title (not like trainer classes). So i wanted to change that

* The title is not set again to its own value. It is just got differenlty for the nametag (includeTitle true)

* Added the ; as well as some comments that are hopefully helpful for others (i am terrible at writing comments)

* Forgot getTitle for comments
2024-05-19 06:23:24 -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
William Burleson
10437142b6
Fix daily run freeze (#1025) 2024-05-17 05:51:48 -05:00
Flashfyre
f2dff2cd25 End card only shows in classic mode 2024-05-17 00:20:18 -04:00
Charlie Giang
1bd3ec2fd6
Fix ingrain for Phantump and Trevenant (#856) (#998) 2024-05-16 22:09:40 -05:00
Flashfyre
7561521020 Add endings for classic mode 2024-05-16 21:41:38 -04:00
Jannik Tappert
f1e97f3b38
Added difference between the "x want to fight" for double and single battle since in some languages it needs to be (like german) (#966) 2024-05-16 06:09:12 -05:00
Benjamin Odom
8508ee7bc6
Semi-Invulnerable Hit Checks Count as Miss (#904)
Fixed an issue where targeting the user of a  Semi-Invulnerable move caused the move to cancel. These moves now miss instead.

No Guard and other accuracy locking moves still function as they were already duplicating their check in hitCheck. Fixed an issue where IGNORE_ACCURACY was checking against the current move for targets instead of Lock-On's target
2024-05-16 02:05:36 -05:00
Adrian Torrano
44c0d29c1d
Add missing translation for learning move (#879)
* add missing translation for learn move

* fix countdown german translation

* Fix countdown French translation

---------

Co-authored-by: Lugiad <adrien.grivel@hotmail.fr>
2024-05-15 11:42:34 -05:00
Flashfyre
5f3fd17fdd Add Quick Claw item 2024-05-15 09:42:45 -04: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
Flashfyre
c6973365cb Change last save interval to correct value 2024-05-15 00:56:17 -04:00
Samuel H
67c18a15e2
Implement client session and re-implement hybrid saving (#888)
* Implement client session and re-implement hybrid saving (WiP)

* Fixes for hybrid saving

* Add local data clears where applicable

* Include client session ID in system update

* Change save threshold from 5 waves to 10 waves or 5 minutes
2024-05-15 00:52:06 -04:00
Nexllon
df499e2f71
offline mode - adds daily run and fixes clear freezes (#834)
* offline mode - adds daily run and fixes clear freezes

* removed unused import
2024-05-14 15:42:30 -04: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
Flashfyre
7943633481 Revert "Implement hybrid saving for optimization"
This reverts commit b45cd2f7e7.
2024-05-13 20:56:28 -04:00
Flashfyre
b45cd2f7e7 Implement hybrid saving for optimization 2024-05-13 18:17:57 -04:00
Samuel H
2b9b63e3f3
Add combined save between waves (#777) 2024-05-12 23:01:05 -04:00
Benjamin Odom
ae7c1ef4f0
Fix Charge Move Infinites (#741)
Fixed an issue where two turn charge moves could be paused by status or Truant causing some infinite sequences if not careful.
2024-05-11 23:22:26 +10:00
Flashfyre
483310c345 Fix missing backgrounds after clearing a run 2024-05-11 00:29:16 -04: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
Flashfyre
9cfc09f673 Restructure game over logic to save before clear 2024-05-10 18:12:33 -04: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
William Burleson
7bdb969a73 Add rich presence support 2024-05-10 10:34:51 -04:00
Greenlamp
5d62d0bb25 fix speed level up notification 2024-05-10 10:34:10 -04:00
Greenlamp2
b32b802ab4
QOL - Settings to choose party Exp display at the end of fight (#488)
* added settings to manage how to display party experience at the end of fight

* added back stats changes support when setting is on but ignored when on skip

* removed a useless parameter

* added new level in the text

* only Lv. UP if level is greated than 200

* cleanup

* added some comment

* TSDoc comment block

* EXP_Party -> EXP_Party_Display, Only Up -> Level Up Notification

* better duration for the level up notification

* typo

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

---------

Co-authored-by: Samuel H <flashfireex@gmail.com>
2024-05-10 09:54:14 -04:00
Matthew
10cf1cd94f
Cleanup overrides and imports (#603)
* cleanup overrides and imports

* Add GreenLamps Modifier Overrides

* added comments

* starting money and biome comments

* account for overriding empty move

* more override descriptions

* added generator held item names to override comment
2024-05-09 14:52:09 -05: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
alpaca
aeab9d78ec
Implements cursed body (#227)
* implements cursed body

* 30 percent chance to proc

* check if max

* removes unimplemented tag

* bypasses faint

* un-disable message specifies pokemon name

* adds prefix to un-disable message

* space issue
2024-05-08 19:25:16 -05:00
Benjamin Odom
ea5e535f9f
Fixed Failed Moves Not Using PP (#634)
Fixed an issue where if a move failed, it would not use power points.
2024-05-08 15:51:56 -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
Flashfyre
02b2c2d55b Ribbons are also awarded for first clear 2024-05-07 10:15:40 -04:00
Flashfyre
b9ce5cfaaa Mints permanently unlock natures 2024-05-07 00:58:36 -04:00
alpaca
36cde21ce3
Adds ribbon in starter screen if mon has beat classic mode (#370)
* adds the ribbon asset, hooking it up

* works if override. need to add field on server side I imagine

* moves count to starterData, increments on win

* formatting

* increment works properly

* recursively check for prevolution

* cleaned up to use getRootSpeciesId()

* changes ribbon to gold medal version

* adds Akuma's ribbon achievements

* ribbons increment correctly

* missed ui handler update

* reorder achievements

* ribbon correct, vouchers not. currently investigating

* increments properly, but voucher reward phase not appearing

* some cleanup

* works great, need to better reflect who is getting ribbon in message and cry

* plays level fanfare, tabling cry for now

* reran items.bat

* Minor fixes

---------

Co-authored-by: Flashfyre <flashfireex@gmail.com>
2024-05-07 00:44:41 -04:00
Benjamin Odom
2b4dc9a4f0
Fixes Struggle Softlock (#531)
* Fixes Struggle Softlock

Fixed an issue where moves marked as (N) would prevent you from being able to Struggle.

Also fixes messaging so that a message shows when you are out of PP, Disabled, or trying to use an unimplemented move consistently.

* Update phases.ts
2024-05-06 00:02:52 -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
Madi Simpson
f7f235cdec move: handle some aspects of custom fail text a bit better 2024-05-05 14:28:06 -04:00
Flashfyre
437cb87df9 Add separate achievements for sub-legendaries and rename pseudoLegendary field 2024-05-05 11:05:22 -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
Madi Simpson
e4b8bffdec stat change phase: only display comma before and if there are 3 or more stats 2024-05-05 10:45:00 -04:00
Benjamin Odom
daa6e3b3a8
Prevent Fusion Status Errors +Fix Double Battle Issue (#472)
* Reapply "Prevent Fusing Status Errors (#465)"

This reverts commit 18a1c152c0.

* Update phases.ts
2024-05-04 22:16:59 -05:00
Madmadness65
18a1c152c0 Revert "Prevent Fusing Status Errors (#465)"
This reverts commit 68eca464f7.
2024-05-04 20:50:48 -05:00
Madi Simpson
2c003854e9
terrain: psychic terrain doesn't block priority moves on the user's side (#470) 2024-05-04 20:45:37 -05:00
Benjamin Odom
68eca464f7
Prevent Fusing Status Errors (#465) 2024-05-04 20:37:31 -05:00
Madi Simpson
6151ec0e49
modifiers: pp up/max now also shows pp (#467) 2024-05-04 19:31:25 -05:00
Madi Simpson
b2c74cfc90
Implement Opportunist (#460)
* abilities: implement opportunist

* abilities: make it not infinitely loop like a dummy

* abilities: properly ignore only opportunist on opportunist boosts

* abilities: rename some things to make a bit more sense
2024-05-04 18:38:53 -05:00
nrawicz
cd7de10722
Expanding force hotfix (#459)
* 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

* Expanding Force Hotfix

Fixes a bug where Expanding Force would not act as a multi-target move in the MoveEffectPhase while in psychic terrain
2024-05-04 13:28:44 -05:00