53 Commits

Author SHA1 Message Date
Xavion3
696ff6eae3
Add Challenges (#1459)
* Initial challenge framework

* Add type localisation

* Change how challenges are tracked

Also fixes the difficulty total text

* MVP

Renames challenge types, temporarily hides difficulty, and implements challenge saving.

* Attempt to fix one legal pokemon in a double battle

* Make monotype ignore type changing effects

* Make isOfType correctly detect normal types

* Try to fix double battles again

* Make challenge function more like classic

* Add helper function for fainted or not allowed

* Add framework for fresh start challenge and improve comments

* Try to fix evolution issues

* Make form changing items only usable from rewards screen

* Update localisation

* Additional localisation change

* Add achievements for completing challenges

* Fix initialisation bug with challenge achievements

* Add support for gamemode specific fixed battles

Also make monogen challenges face the e4 of their generation

* Add better support for mobile in challenges

* Localise illegal evolution/form change message

* Update achievement names

* Make alternate forms count for monogen

* Update monotype achievement icons

* Add more comments

* Improve comments

* Fix mid battle form changes

* Reorder mode list

* Remove currently unused localisation entry

* Add type overrides for monotype challenges

Meloetta always counts for psychic and castform always counts for normal

* Change how form changes are handled

Now attempts a switch at the start of each turn instead of immediately

* Add start button to challenge select screen

* Make starter select back out to challenge screen if using challenges

* Fix daily runs

* Update tests to new game mode logic
2024-06-08 01:07:23 -04:00
MadridPawmot
f3de114d2b
[enhancement] Added Sailor trainer class (#1411)
* Add files via upload

* Update trainer-type.ts

* Update biomes.ts

* Update trainer-config.ts

* Update trainer-names.ts

* Update trainer-names.ts

* Update trainers.ts

* Update trainers.ts

* Added German translation

Thanks to CodeTappert

* Update trainers.ts

* Update trainers.ts

* Update trainers.ts

* Update trainers.ts

* Update trainers.ts

* Update trainers.ts

* Update trainers.ts to resolve conflicts

* Fixed syntax error

* Update biomes.ts

* Re-added possible biomes for the Sailor trainer class

* Added data for dialogue lines for the sailor class

* Added dialogue from FRLG

* Added locale

* Added locale

* Added locale

* Update trainers.ts

* Added locale

* Added locale

* Added Korean translation

* Added locale

* Added Portuguese translation

* Added locale

* Added locale

* Added Mandarin Chinese translation

* Added Cantonese Chinese translation

* Added images

* Recentered sprite

* Added Spanish translation for the dialogue

* Delete duplicate

* Delete duplicate

* Updated dialogue with requested changes

* Update Spanish translation to reflect the changes

* Update dialogue.ts

* Update dialogue.ts

* Update dialogue.ts

* Update dialogue.ts

* Update dialogue.ts

* Update dialogue.ts

* Update dialogue.ts
2024-06-06 11:55:32 -05:00
Adrian T
8d6a0bb0a1
[Ability] Implement Ice Face (#1755)
* implement ice face ability

* remove showing ability bar

* fixes

* add documentations

* move code out of phases.ts

* add hardcoded eiscue check, localization

* add KO locale

* remove unnecessary constructor

* use && instead of || to specify ice form on eiscue
2024-06-06 11:49:50 -04: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
Benjamin Odom
6dbf99cc72
[Bug] Fix Circular Dependency with BerryType (#1802)
* Fix Potential Circular Dependency with BerryType

* remove .js
2024-06-04 19:03:02 +01:00
MadridPawmot
63a416a65b
[enhancement] Added Firebreather trainer class (#1409)
* Add files via upload

* Update trainer-type.ts

* Update biomes.ts

* Update trainer-config.ts

* Update trainer-names.ts

* Add Spanish localization

* Update trainers.ts

* Update trainers.ts

* Update trainers.ts

* Update trainers.ts

* Update trainers.ts

* Update trainers.ts

* Finished adding placeholder strings for each language

* Updated German translation

Thanks to CodeTappert

* Updated trainer.ts to resolve conflicts

* Update trainers.ts to resolve conflicts

* Update trainers.ts

* Fixed syntax error

* Update dialogue.ts

* Re-added dialogue back

* Added firebreather name string to Korean locale

* Added dialogue string to locale

* Added dialogue string to locale

* Update dialogue.ts

* Added dialogue string to locale

* Added dialogue string to locale

* Added dialogue string to locale

* Added dialogue string to locale

* Added dialogue string to locale

* Added requested changes

* Added requested changes

* Added requested changes

* Update dialogue.ts

* Update dialogue.ts

* Update dialogue.ts

* Update dialogue.ts

* Update dialogue.ts

* Finished adding requested changes to locales

* Added requested changes
2024-05-31 14:05:04 -05:00
Madmadness65
6f4c087f7a Add Pikachu and Eevee technical forms
This adds Partner Eevee and Partner Pikachu, as well as all Cosplay Pikachu variants. Also included are some minor trainer-related formatting clean ups.

• Partner Pikachu and Eevee have their boosted base stats from the Let's Go games, but are otherwise identical in function and appearance to their regular variants.
• Cosplay Pikachus have their special moves as "evolution" moves and can be relearned if desired.
• Unlike the canon games, Partner Pikachu and Eevee are able to evolve like normal.
2024-05-26 16:15:37 -05:00
Jannik Tappert
b524be1db1
Issue #1118 Added Galar Elite 4 (#1246)
Co-authored-by: Benjamin Odom <bennybroseph@gmail.com>
2024-05-25 06:38:59 -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
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
e2be6ba002
added rule no-trailing-spaces (#1307) 2024-05-23 18:45:04 -05:00
Greenlamp2
bac6c22973
ESLint - The Essential Linter and Formatter for JavaScript and TypeScript (#1224)
* eslint config + packages

* updated eslint config

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

* first round with eslint --fix .

* removed config for unused export

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

This reverts commit 77a88e0895f7c3389cb223651b90d918af778fe9.

* removed config for camelCase

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

* halfway to manual eslint fix

* eslint done

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

* removed eslintrc config file duplicat

* fix human error + ignore build folder + merge overrides

* added curly brace style + eslint

* applied double quote linter rule

* added lefthook

* test precommit

* test precommit

* test precommit

* test precommit

* test precommit

* test precommit

* test precommit

* github action to run eslint

* added node_modules to ignore eslint

* different action for typescript

* no need for different glob (default src)

* node 20

* node 20

* removed no longer needed install file

* remove hooks part from README

* eslint fixes

---------

Co-authored-by: Frederico Santos <frederico.f.santos@tecnico.ulisboa.pt>
2024-05-23 11:03:10 -04:00
Jannik Tappert
b06190c4e7
Issue #745 localized trainer names trainer classes and titles (#752)
* Issue #745 - Added the option to localize titles, trainer names (for important trainers like elite 4, champs etc) and trainer classes.

- Also i already did the whole localization for german (sorry thats the only language is speak other then english...)
- Also renamed the trainer Type "student" to school_kid (because there apparently really is a trainer class called student since the gen 9 dlc)
- And i changed it so it makes sure that i18 only gets initalized once (it may be needed to initalize it before the loading phase so the elite 4 titles etc can be localized)

* Issue #745 - Removed stuff that wasnt meant for this branch

* Translation of French trainers.ts

* Translation of French trainers.ts

* Translation of French trainers.ts

* Fixed spelling on german translation

* Fixed name of Hex Maniac

* ADded missing "," that were lost in the merge

* For Trainer Classes that have a female and male variant the correct name is now choosen. (If a language has both).

Also added a safety net that if the female version does not exist it uses the one without the suffix

* Reverting override.ts

* Added ptBR trainers.ts (thanks to zé ricardo on discord)

* Updates Pokefan to reflect the correct english spelling (in all languages that still have the english defaults)

* Updated Rich_kid trainer typ to named correctly as "Rich Boy" in english and all non yet localized languages

* Added that the title will get made lower case so the rival is correctly set

* Reverted a formatting change that i didnt make intentionally

---------

Co-authored-by: Lugiad <adrien.grivel@hotmail.fr>
2024-05-16 04:05:25 -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
Benjamin Odom
ce3d12d58e
Added hyperlinks to Moves, Abilities, and Species enums (#586)
* Added hyperlinks to Moves enum

Yes, I'm aware of what this looks like in the file itself, but it enables a nice neat little hyperlink shown below to the bulbapedia page when you hover over a move. I feel like the added convenience is worth making the file harder to read considering nobody is ever going to touch that file anyway. I plan on adding a python script to finish the rest of them, but didn't want to actually sink time into this if we absolutely despise it.

* Added Python Script

Created a python script to add comments with a url to abilities.ts, moves.ts, and species.ts using regex
2024-05-07 23:18:19 -05: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
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
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
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 4b084658d26d0aa4d38bdd18f8f051dbc3ca11a3.

* Revert "Serene grace implementation idea"

This reverts commit 4dd2504bc7cdf3d9ce4ea52c1c680dfc50f01adc.

* Fixes for Wish implementation

---------

Co-authored-by: Flashfyre <flashfireex@gmail.com>
2024-04-30 12:38:24 -04:00
Madmadness65
d48de66179 Implement Snap Trap
One of the basic trapping moves that got overlooked.
2024-04-23 13:04:42 -05: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
Flashfyre
706a85ed5b Add missing pipeline data for shiny recolors in certain screens 2024-04-19 23:37:23 -04: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
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
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
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
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
Flashfyre
31050a5181 Add passive secondary abilities for bosses 2024-04-11 09:24:03 -04:00
Madmadness65
8446130728 Fully implement Spiky Shield move 2024-04-06 21:50:17 -05:00
JackSmith5202
b7913e2a82 Implement Sticky Web 2024-04-06 19:08:47 -04:00
Matthew
3dabfd3c55 Fix sturdy 2024-04-06 01:51:42 -04:00
Jaime
887a4176ab Implemented moves Reflect, Light Screen and Aurora Veil 2024-04-05 11:44:21 -04:00
Madmadness65
8845d43784 Partially implement Flower Gift
The Attack and Special Defense boost works, but only for the ability holder currently. It does not change Cherrim's form yet.
Also adds the necessary battler tag entries because I forgot them in the previous commit.
2024-03-30 18:56:13 -05:00
Flashfyre
e5ee66b0b7 Implement King's Shield move and Stance Change ability
Implement King's Shield move and Stance Change ability; fix fire moves not all thawing and certain fire moves not thawing user
2024-03-30 18:46:33 -04:00
Matthew
be3dd0edc1 Salt Cure Full Implementation 2024-03-30 15:42:01 -04:00
Flashfyre
4f62dec998 Implement Helping Hand move 2024-03-29 10:07:04 -04:00
Flashfyre
0afec8fd35 Rebalance trainer evolution logic 2024-03-28 14:05:15 -04:00
Madmadness65
eb14031bdd Replace some egg moves
These egg moves were some of the moves marked as problematic on the sheet. They have been changed out for either suggestions or more fitting moves.
2024-03-27 22:15:35 -05:00
Flashfyre
a76f795cd5 Trainer updates including names and double battle pairs
Add dynamic trainer pairs; add trainer names with Bulbapedia scraping logic; add Hex Maniac trainer; make namebox stretch to fit name
2024-03-21 00:57:28 -04:00
Flashfyre
5c02455c97 Implement Protosynthesis and Quark Drive 2024-03-18 21:22:27 -04:00
Madmadness65
1905ecc828 Implement Burning Bulwark 2024-03-13 16:37:36 -05:00
Xiaphear
37f769de72 Added Baneful Bunker 2024-03-13 22:09:23 +01:00
Madmadness65
9550016ebc Minor egg move update
Popplio got a well-deserved egg move nerf. Also added more token graphics and commented-out G-Max moves for later.
2024-03-10 21:55:18 -05:00
Flashfyre
477680fab2 Update some egg moves 2024-03-03 22:34:59 -05:00
Flashfyre
ffd785d534 Rebalance item weights and add Rogue tier 2024-02-28 23:13:05 -05:00
Madmadness65
76a6df43c4 Fix off-by-one champions; implement Strong Jaw
This fix currently has the unintended side effect of making Champion Leon unable to be fought, but every other set of Elite Fours is now followed by the proper Champions as intended.
2024-02-22 23:24:44 -06:00
Madmadness65
22054dddd5 Add Hau as a potential Champion
This fixes the Generation 7 Elite Four not having a corresponding Champion to go along with them.
2024-02-18 19:17:30 -06:00
Madmadness65
a8d3ccf620 Separate Eternal Floette and Bloodmoon Ursaluna
This makes Eternal Flower Floette and Bloodmoon Ursaluna functionally unique Pokémon now, allowing them to be properly obtained and used as starters.
2024-02-11 14:22:13 -06:00
Madmadness65
0fe4d02b87 Implement a few moves
Fully implements Anchor Shot, Clangorous Soul, Coaching, Thunder Cage, Dragon Energy, Infernal Parade, and Mortal Spin.
Partially implements Baneful Bunker, Tar Shot, Aura Wheel, and Syrup Bomb.
Trapping moves also updated to deal 1/8th damage and lasts for 4-5 turns.
2024-02-08 17:01:11 -06:00