Commit Graph

305 Commits

Author SHA1 Message Date
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
Tempoanon
38e3022d06
Add missing biomes for camoflauge (#912) 2024-05-15 10:32:10 -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
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
856757fd56 Add custom Jungle biome music by Lmz 2024-05-13 23:46:28 -05:00
YounesM
9d90cc3e10
corrected uturn flip turn crash (#596) 2024-05-13 18:52:36 -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
Madmadness65
20a09c2b92 Remove species form encounter code for Scatterbug line and Calyrex
The Vivillon forms can all be encountered properly now, and Calyrex's forms have since been removed from the wild encounter pool, requiring a form change item to obtain.
2024-05-12 11:33:27 -05: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
Flashfyre
dc9026f583 Add missing and updated biome art 2024-05-09 19:05:19 -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
fd088c9360
Prevent doubles trainers generating with one pokemon (#642) 2024-05-09 00:39:20 -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
LaukkaE
67ee104178
Fix Protosynthesis and Quark Drive (#289)
* Fix Protosynthesis and Quark Drive

* add partial tags
2024-05-06 10:26:11 +10:00
Flashfyre
437cb87df9 Add separate achievements for sub-legendaries and rename pseudoLegendary field 2024-05-05 11:05:22 -04:00
Ivan Perez
3a218eb92b
Fixed a bug where a yawned target in a semi-vulnerable state would be stuck in that state (#396) 2024-05-05 00:35:47 -05: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
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
Benjamin Odom
5d6181926a Removed Hardcoded Values
Realized there was an enum for the -1 value which should help clear up confusion if someone has to mess with this code later
2024-05-03 23:26:56 -04: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
Benjamin Odom
e02b85629f Fix Enemy Counter Moves
The AI couldn't decide who to target with CounterDamageAttr  moves which don't need a target. This change makes an exception. Now functions the same as when the player selects one of these moves.
2024-05-03 21:00:56 -04:00
Xavion3
c7c4deb416 Implement Sniper 2024-05-03 12:05:20 -04:00
Benjamin Odom
b84a4b4ee5 Fix Shedinja PPused Share
Fixed having Shedinja share PP usage with the Ninjask it evolved from and vice versa.

The solution was to make a deep copy of each move in the moveset array rather than copying the array itself.
2024-05-03 08:33:33 -04:00
Flashfyre
b30ab6136e Starter friendship for candies is split between spliced species 2024-05-02 21:55:11 -04:00
Benjamin Odom
fec8771830 Fix Shedinja Luck and Crash
Shedinja wasn't taking the luck value from Ninjask so when it calculated its luck it just took the entire fused Pokemon's luck somehow. This has been fixed so it takes both the first and second part of the fusion's luck values instead.

Also fixes an issue where Shedinja crashed the game if it was the second part of a fusion combo. Now the correct pokemon species gets checked against and the correct pokemon evolution occurs to create Shedinja.
2024-05-02 17:55:45 -04:00
Flashfyre
991f097e9e Rebalance friendship and add starter friendship with candy reward 2024-05-02 17:48:08 -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
Flashfyre
6ac224ab8a Refactor to split battle messages from menu 2024-05-01 18:54:35 -04:00
TeKrop
e34b204664 feat: added support for localisation on battle scene sentences 2024-05-01 18:54:35 -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
Flashfyre
93765d4121 Update battle info on stat change 2024-04-30 23:23:32 -04:00
Flashfyre
6fd5709b13 Reapply stat change feature with fixes 2024-04-30 23:02:16 -04:00
Flashfyre
8a54e862fc Revert "Add togglable stat change display"
This reverts commit 718585062b.
2024-04-30 22:14:24 -04:00
Flashfyre
718585062b Add togglable stat change display 2024-04-30 22:06:54 -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
Xavion3
ad5efdf4f9 Refactor overrides 2024-04-30 09:12:19 -04:00
Flashfyre
9641d77bba Re-add shiny override EXCEPT FALSE THIS TIME 2024-04-28 22:03:29 -04:00
Flashfyre
57ece2c1d7 Revert "Add shiny and variant debug override"
This reverts commit 21482a641b.
2024-04-28 20:41:38 -04:00
Flashfyre
0b438d0ff4 Revert "Add temporary double wild shiny chance"
This reverts commit 4607782578.
2024-04-28 20:30:12 -04:00
Flashfyre
21482a641b Add shiny and variant debug override 2024-04-28 20:30:03 -04:00
Flashfyre
00150fd0bb Fix using wrong variant value when fusing 2024-04-26 20:11:37 -04:00
Flashfyre
4607782578 Add temporary double wild shiny chance 2024-04-26 19:57:38 -04:00
Flashfyre
f281605146 Fix wild shiny luck generation 2024-04-26 19:36:27 -04:00
Flashfyre
6b9542511f Add fusion luck as a separate field 2024-04-26 18:27:00 -04:00
Flashfyre
bf2a83993c Make luck independent from shininess and variant 2024-04-26 17:32:28 -04:00
Flashfyre
5e7356636e Update shiny luck mechanics and count both fusion components 2024-04-26 11:31:39 -04:00
Xavion3
46227d65f2 Fix mind blown/explosion moves 2024-04-26 08:33:29 -04:00
Flashfyre
ef552c7ffd Fix crash with certain animated variant sprites 2024-04-26 02:00:58 -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
Flashfyre
ba71d2750b Load files from manifest for caching 2024-04-23 22:00:23 -04:00
Xavion3
049fa306b9 Add dynamax buffs 2024-04-23 12:02:09 -04:00
Flashfyre
4950dd0e73 Fix shiny variant back sprite color mapping not working 2024-04-22 00:31:33 -04:00
Flashfyre
4fc194295b Remove event shiny bonus 2024-04-21 19:58:55 -04:00
Xavion3
c3eaa0506f Make it so you can't freeze in sun 2024-04-21 00:41:33 -04:00
Flashfyre
9b03d6f8d3 Fix crash related to fusion sprites 2024-04-20 16:08:33 -04:00
Flashfyre
f0ac060466 Add temporary shiny rate increase for event 2024-04-19 19:49:58 -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
Temps Ray
e94b17bbf5 Implement getAttackTypeEffectiveness check 2024-04-19 13:11:41 -04:00
Flashfyre
bd80281859 Fix various shiny checks for palettes 2024-04-19 11:11:19 -04:00
Flashfyre
7ed8dba46a Fix undefined variant for existing shinies in runs 2024-04-19 01:44:51 -04:00
Flashfyre
6220165315 Fix issue with undefined variant 2024-04-19 01:25:19 -04:00
Flashfyre
3f9e7b4839 Working fix to shiny crash issue 2024-04-19 00:58:59 -04:00
Flashfyre
c76f8c5e7e Add tiered shiny variants 2024-04-18 22:52:26 -04:00
Xavion3
0b4963aefc Block form changing abilities while fused 2024-04-18 18:56:50 -04:00
Xavion3
453c5644aa Fix mold breaker + implement neutralising gas 2024-04-18 10:52:31 -04:00