394 Commits

Author SHA1 Message Date
Greenlamp2
e2be6ba002
added rule no-trailing-spaces (#1307) 2024-05-23 18:45:04 -05:00
Franck TROUILLEZ
68e94845ab
Add BattleInfo to TargetSelectUiHandler to move when target selected (#1255)
This change allows to move the box containing the battle info of the ennemy pokemons during double battle when the user has to choose a target. In addition to the pokemon opacity constantly changing, the battle info will also move up and down to indicate which Pokemon is targeted.

It exposes the BattleInfo object from the Pokemon object through an accessor method.
2024-05-23 18:28:53 -04: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
Xavion3
7ae09a31a5
Hotfix Sucker Punch and Upper Hand AI (#1237) 2024-05-22 07:13:39 -05:00
Franck TROUILLEZ
7ac4900a3e
Allow to explicitly ignore faint phase when damaging. (#1182)
This allows to skip the faint phase in the `#damage` method for physical and special moves, to ensure we first queue the messages for the effectiveness of the attack and the potential critical hit.
We then explicitly unshift the faint phase in this case.
2024-05-22 01:01:16 -05:00
Madmadness65
3c8b4550b6 End shiny event
I hope everyone enjoyed the extended shiny event this weekend.
2024-05-21 18:58:48 -05:00
LaukkaE
8c01403630
tie event to UTC (#1203)
correct time
2024-05-21 09:38:07 -05:00
Xavion3
3fd1ecf6a7
Update moveset logic to account for new sacrifice attr (#1192) 2024-05-21 02:40:53 -05:00
Greenlamp2
c454e2d232
Fix - shiny color swap (#1183)
* return a list of errors if something is wrong with the variant's sprite

* reformat

* added data in error message

* added read comfort + detection of missing json for existing variant

* fix an error of message display

* fix fetch color swap, missing a return
2024-05-20 19:17:21 -05:00
Matthew Olker
04045623a0 Update shiny event end to match discord announcement 2024-05-20 16:41:40 -04: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
NxKarim
1ae5847e49
Implements Merciless (#440)
* Implemented Merciless

Attribute CritIfTargetIsPoisonedAbAttr
Fix BlockCritAbAttr

* Changed CritIfTargetPoisonedAbAttr to ConditionalCritAbAttr

Now any condition related to user, target or the move used can be applied to guarantee a critical hit.
2024-05-19 09:06:58 -05:00
Benjamin Odom
6dc10f549f
Fix Crashes when Sprites for Pokémon are missing (#1021)
* Fix Crashes when Sprites for Pokémon are missing

Fixes an issue where a missing sprite will cause the game to crash instead of using the base sprite or the Substitute sprite.

Failsafes were already in place to load these backups, this code just allows a graceful fail and a simple error message instead of a crash.

* Check Against OK status
2024-05-18 18:29:09 -05:00
Matthew Olker
5dd017fa30 Begin shiny weekend 2024-05-17 18:13:12 -04:00
Xavion3
9197f9f070 Limit rare eggs to e4+ and fix trainer boss check
Also fixes weighting to account for adjusted level ranges
2024-05-15 11:55:47 -04:00
Flashfyre
3c8d919ef8 Revert "Implemented Power Split and Guard Split (#699)"
This reverts commit 0b75a5210aea737e18acbbadfe3013fed30136df.
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
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
Flashfyre
7e5c7fb4f7 Don't allow trainer egg moves before level 60 and no rare egg moves at all 2024-05-13 17:03:53 -04: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
Matt Ross
fa60e002e8
Fixes some variable damage moves not working with tinted lens (#759)
* Fixes some variable damage moves not working with abilities

* Rework as new ability attribute

* Update variable base power check to original location

* formatting

* Add tsdoc comments

* add floor for potential non int multipliers

* Update pokemon.ts

---------

Co-authored-by: Benjamin Odom <bennybroseph@gmail.com>
2024-05-13 13:05:09 -05:00
Flashfyre
347972d103 Remove boosted shiny rate 2024-05-12 20:45:41 -04:00
Matthew
e195c6d799
Show Default Pokemon icon for missing shiny icon (#802) 2024-05-13 06:41:02 +10:00
Benjamin Odom
79a87e1c65 Update pokemon.ts 2024-05-12 10:27:54 -04:00
LaukkaE
ced74efc52
fix isGrounded check (#774) 2024-05-12 06:30:18 -05:00
Landon Lee
a27822b624
Fix cry when pokemon is fused with its own species (#615)
If the pokemon species and form is the same as the second fusion component, then skip the logic to make a fused cry and just use the cry of the primary component.
2024-05-12 03:01:59 -05:00
Thomas Huynh
d5f82611f5
added battle tag check in isGrounded method (#750)
Co-authored-by: unknown <t_huynh927@yahoo.com>
2024-05-12 02:28:30 -05:00
Xavion3
db6008d15c
Add tsdoc comments for ability getters (#764)
* Add tsdoc comments for ability getters

* Add links to the docs
2024-05-12 00:48:56 -05:00
Xavion3
34aa68df14
Fix fusion icon variant id (#747) 2024-05-11 13:15:01 -05: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
Xavion3
d24762b5dc
Fix bug in moveset code (#735)
Pokemon with very limited movepools could sometimes generate with no moves
2024-05-11 00:46:36 -05:00
Xavion3
72467388fc
Redo moveset generation (#550)
* Redo moveset generation

* Decrease the weight of lower power moves and egg moves

* More weight tweaking

Trainers never get OHKO moves, are less likely to get self KO and multiturn moves, and more likely to get stat buffing moves. All pokemon are less likely to get offstat moves.
2024-05-11 00:20:21 -04: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
Flashfyre
2bc1cfb0fc Extend the temporary shiny chance increase by 1 day 2024-05-09 20:16:29 -04:00
Flashfyre
02cba0f741 Add temporary triple shiny chance 2024-05-09 19:59:21 -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
Xavion3
e6ba60364e
Save battler tags (#516)
* Save battler tags

Also saves the rest of the summonData except for transform specific things.

* Add missing values for type boost tag.

* Add intellisense comments
2024-05-09 00:37:51 -05:00
Tempoanon
d16cb1202f
Fix charge (#614)
* Fix charge

* Remove console logs
2024-05-08 23:37:50 -05:00
alpaca
76ac86d2ae
Implements healer (#259)
* Implements healer

* adds an ally check to the condition

* done testing, changes chance back to 30%

* adds comment header for PostTurnResetStatusAbAttr

* adds override to resetStatus to not allow revive

* dont revive

* override revert
2024-05-08 20:21:55 -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
Jeremy B
bb28d3599e
fix scrappy and mindseye working as passive ability (#567)
* fix scrappy and mindseye working as passive ability

* update apply for ignoretypeimmunityabattr

* simplify logic for ignoretypeimmunityabattr

---------

Co-authored-by: contra1337 <jpbastyr@gmail.com>
2024-05-08 00:32:38 -05: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
Xavion3
2d740f1952 Implement once per battle restriction on abilities
Currently just Intrepid Sword and Dauntless Shield
2024-05-07 00:39:16 -04:00
Reldnahc
84f6f06ca4 add override to force double battles.
add override for passive abilities.
2024-05-06 19:11:34 -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
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