Compare commits

...

155 Commits

Author SHA1 Message Date
NightKev
4c9bcdc0e6
Merge branch 'beta' into assistbug2 2024-09-06 02:38:26 -07:00
innerthunder
7b97657756
[Bug] Fix Aura Break applying without Dark/Fairy Aura present (#4057)
* Fix Aura Break ignoring active Dark/Fairy Aura condition

* Add conditional post-summon message

---------

Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
2024-09-06 07:59:22 +00:00
chaosgrimmon
f1650d2515
[Sprite] Fix Tangrowth Variants (#4059)
* [Sprite] Front Tangrowth male variants

* [Sprite] Front Tangrowth female variants

* [Sprite] Back Tangrowth female variants

* [Sprite] Back Tangrowth male epic palette

* Delete public/images/pokemon/variant/465_2.png

* Delete public/images/pokemon/variant/back/465_3.png

* Delete public/images/pokemon/variant/465_3.png

* Delete public/images/pokemon/variant/465_2.json

* Delete public/images/pokemon/variant/465_3.json

* Delete public/images/pokemon/variant/back/465_3.json

* [Sprite] Update Tangrowth variants with females
2024-09-06 02:32:13 +00:00
flx-sta
f3bdaa12ca
[Bug][Refactor] fix username-finder issues + code & visual improvements (#4055)
* fix username-finder issues & refactor `login-form-ui-handler`

- reduce redundancy
- add hover effect for interactable game objects
- add error handler for "No save files found!"
- Make user finder errors support i18n

* add `disableInteractive` to mockContainer
2024-09-06 00:07:24 +00:00
Adrian T.
39f3572c1b
[Test] Add Dragon Cheer tests (#4013)
* add dragon cheer tests

* Update src/test/moves/dragon_cheer.test.ts

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>

* update tests

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-09-05 23:51:47 +00:00
NightKev
57a3efd9e2
[Bug] Fix off-by-one errors in some random number calls (#3665)
* Fix off-by-one error in some random number calls

* Fix mock RNG function used by tests

Also remove unnecessary extra RNG mock from Glaive Rush test

* Just some github UI manipulation don't mind me

* Update Glaive Rush test

* Remove unnecessary `Math.floor()`

* Remove resolved comment

* Add tsdocs to various functions

* Remove `src/rng.md` file

* Update tsdoc
2024-09-05 23:51:05 +00:00
Adrian T.
deac3141a1
remove partial from tera blast (#4044) 2024-09-05 20:05:09 +00:00
innerthunder
6e26db27b8
Protection moves now fail when used last (#4045) 2024-09-05 19:07:04 +00:00
damocleas
6d312a2909
Update egg.ts Same-Species Egg Shiny Rate (#4052) 2024-09-05 18:50:28 +00:00
Chapybara-jp
e2e5b2c349
[Localisation] [JA] Translated remaining JA text files (#3999)
* [Localisation] [JA] Begun translation on arena-flyout.json

* Added english names to bgm-name.json

* Translated common.json

* Added English dialogue-double-battle.json

To make translation easier

* Added English dialogue-final-boss.json

* Added english dialogue-misc.json

* Added English dialogue.json

* Translated fight-ui-handler.json

* Update filter-bar.json

Changed 飴 to アメ for consistency with its spelling in Pokemon GO

* Update game-stats-ui-handler.json

changed 孵化 to ふか

* Update growth.json

Added kanji

* Update menu-ui-handler.json

changed 孵化 to ふか

* Update modifier-type.json

Changed name of IV Scanner to match with other files, the rest of the item descriptions need to be changed to Kanji as well.

* Update modifier.json

* Changed move-trigger.json

Added kanji and new moves.

* Update party-ui-handler.json

Added kanji

* Update pokemon-info-container.json

Changed to Kanji

* Translated pokemon-summary.json

The metFragment formatting is taken from BW

* Update run-history.json

Corrected some misinterpretations.
Added correct original line of "Welcome to Hall of Fame!"

* Added english splash-messages.json

* Update move-trigger.json

* Update move-trigger.json

* Update move-trigger.json

* Update arena-flyout.json

* Update move-trigger.json

* Translated arena-flyout.json

* Update weather.json

* Update save-slot-select-ui-handler.json

changed wave to ラウンド

* Update game-stats-ui-handler.json

* Update challenges.json

* Update achv.json

Corrected some mistakes, misspelling

* Added some translations dialogue.json

Youngster translation done
Female rival dialogue done, needs check

* Update dialogue.json

* Update dialogue.json

* Update dialogue.json

* Update dialogue.json

* Update dialogue.json
2024-09-05 17:49:28 +00:00
Opaque02
01eb05469a
[QoL] Username finder (#4040)
* Added the ability to potentially get username from login screen

* Accidentally made dev login enforced :)

* Updated image
2024-09-05 14:00:19 +00:00
Lugiad
c902369eed
[Localization] Restoring "Safeguard" entries in arena-flyout.json of all locales where it existed (#4026)
* Update arena-flyout.json

* Update arena-flyout.json

* Update arena-flyout.json

* Update arena-flyout.json

* Update arena-flyout.json

* Update arena-flyout.json

* Update arena-flyout.json

* Update arena-flyout.json
2024-09-05 12:39:10 +00:00
Dmitriy K.
41bb12d0c0
skip pre-commit on merge and rebase, add pre-push (#1607) 2024-09-05 10:08:00 +00:00
Leo Kim
1968680104
[Enhancement] add font size option per language on registration UI (#3849)
* add language setting for register form ui

* remove button fontsize option

* fix tests

* remove deprecated comments

* update request changes

* update requested changes from es

* update requested changes from walker

* Update src/locales/es/menu.json

Co-authored-by: Asdar <asdargmng@gmail.com>

---------

Co-authored-by: Asdar <asdargmng@gmail.com>
2024-09-05 09:52:48 +00:00
Zach Day
13f38dce8d
[Move] Use BattlerTag for move-disabling effects (#2051)
* Use BattlerTag for move-disabling effects

* Fix RUN command causing freeze

* Improve documentation

* Clean up and document PokemonMove.isUsable

* Fix isMoveDisabled missing return

* Tags define the message shown when disabling interrupts a move

* Fix -1 duration on Disable effect

* Add tests for Disable

* En loc and fix message functions

* Fix Disable test

* Fix broken imports

* Fix test

* All disable tests passing

* Localize remaining strings

* Move cancellation logic out of lapse; use use TURN_END for lapse type

* Prevent disabling STRUGGLE

* Inline struggle check function

* Restore RechargingTag docs

* Move cancellation logic back to tag

Wanted to increase similarity to the existing code base to avoid that stupid hyper beam error but it's still happening here

* Fix hyper beam test

* Remove erroneous shit

* Fill movesets with SPLASH for disable test

* More robust condition for disable checking

* Remove DisabledTag lapse

* Simplify DisablingBattlerTag lapse

* Cancel disable-interrupted moves instead of failing them

* Avoid disabling virtual moves

* Consistent access modifiers across Disable tags

* Add abstract function for message when player tries to select the disabled move

* Fix syntax mistake

* Always disable last-used non-virtual move

* Overhaul tests + add tests

* Implement loadTag for DisabledTag

* Update translations

* Update translations

* Reimplement phase changes

* fix battlertag strings

* Fix disable test not running

* Update name of base class

* Rename "disabling" to "restriction"

* Fix sneaky string fuckup

* Fix test failure

* fix merge problems

* fix merge problems

* Update tests

* rerun RNG test

* Properly mock stats in test

* Document everything in battlertag

* More docs + typo fix

* Update tests

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-09-05 08:44:22 +00:00
innerthunder
1434a3edaf
Fix random failure in Parental Bond tests (#4036)
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
2024-09-05 05:31:32 +00:00
Opaque02
61ab52c295
[Balance] Changed escape calculation (#3973)
* Changed escape calculation as per Mega

* Adding tests

* Updates some tests

* Updated all tests for bosses

* Removed console log lines

* Added some clarifying comments

* Fixed docs

* comment add

* comment add

* Convert comments into tsdoc comments

Convert `integer`/`IntegerHolder` to `number`/`NumberHolder`

Clean up tests a bit

---------

Co-authored-by: damocleas <damocleas25@gmail.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-09-05 05:29:39 +00:00
NightKev
237aad2184
[Misc] Clean up the Battle class a bit (#3995)
* Use default values in the `Battle` class

Turn a couple of comments into tsdoc comments

Replace a `!!` with `?? false`

* Replace `integer` with `number`
2024-09-05 05:29:02 +00:00
innerthunder
31d3bec55e
[Test] Fix Rage Powder test failing randomly (#4038)
* Fix random failure in Rage Powder test

* Remove redundant override
2024-09-05 04:54:51 +00:00
Tempoanon
834255447d
Fix mbh not using user's nickname (#4033) 2024-09-05 04:02:45 +00:00
innerthunder
f3ced7e814
[Bug] Fix inconsistencies with move type resolution for some ability triggers (#3988)
* Fix inconsistencies with ability triggers on variable-type moves

* Fix aura effects not accounting for the move user

* Fix Wonder Guard evaluating move type as if the defender used the move

* Some additional test coverage for move-type-changing effects
2024-09-05 00:49:01 +01:00
Mumble
cebd449335
I have a brain made of cheese!!! (#4028)
Co-authored-by: frutescens <info@laptop>
2024-09-04 23:16:47 +00:00
chaosgrimmon
8835ae0299
[Sprite] Index egg skip UI (#4027)
* [Sprite] Index egg skip UI

* [Sprite] Index egg skip legacy UI
2024-09-04 20:46:33 +00:00
NightKev
a537113c8f
Re-add lost i18n strings (#4024) 2024-09-04 20:45:56 +00:00
NightKev
fde32cea6c
[Misc][Bug] Add isBatonPassable property to BattlerTags (#3472)
* Add `isTransferrable` property to `BattlerTag`s

* Update Baton Pass to check `isTransferrable` for `BattlerTag`s

* Don't mark Salt Cure as transferrable

* Add Destiny Bond, remove `GroundedTag` and `ExposedTag`

* Fix daily mode test

* Add test

* Rename `isTransferrable` to `isBatonPassable`
2024-09-04 17:58:35 +00:00
innerthunder
207b3e1eb7
[Test] Add forceEnemyMove Game Manager util (#3678)
* Add `forceEnemyMove` test util

* fix ceaseless edge test

* Apply flx's suggestions

Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>

* Rewrite Follow Me test

* Reorganize new imports in game manager

* Rewrite Rage Powder + Spotlight tests

---------

Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
2024-09-04 17:56:57 +00:00
MokaStitcher
11ac929a4d
fix getting the highest ivs for the iv scanner (#4022) 2024-09-04 17:00:31 +00:00
James Diefenbach
e822c91a16
[Enhancement] Skip egg hatching and show summary (#3726)
* cherry picked commits / manual copy

* better dex tracking for summary after regular egg hatching

* ui changes

* updated egg hatch bg, added candy tracker, icon anims for new shiny or new form unlock

* added i18 line, reset overrides

* touchup

* code cleanup, documentation and slight refactor

* sprite display fix

* load interrupts, simple sfx and no summary for small egg amounts

* Garbage Collection + Eslint/Docs approved.

* time logging and optimisation

* skip redundant load

* more time logs and fix pre-load issues

* more detailed loading logs

* changed loading to be on demand from cursor nav

* fix missing variant icon fallback

* removing redundant time logs and code touchup

* code cleanup

* Comments so developer doesn't get bugged about garbage collecton

* remove logs n stuff

* lang settings touchup and final touchup plus uploading blank egg summary bg

* fix nits, js imports, extra docs, magic numbers changed

* extra docs and spacing nits

* Update Github

---------

Co-authored-by: James Diefenbach <z5421232@ad.unsw.edu.au>
Co-authored-by: Frederico Santos <frederico.f.santos@tecnico.ulisboa.pt>
Co-authored-by: frutescens <info@laptop>
Co-authored-by: Mumble <171087428+frutescens@users.noreply.github.com>
2024-09-04 16:59:25 +00:00
Lugiad
3704680029
Update dialogue.json (#4021) 2024-09-04 16:28:10 +00:00
MokaStitcher
1055386949
starter select defaults to shiny with highest variant again (#4001) 2024-09-04 08:58:39 +00:00
Adrian T.
200deef0ed
[P1 Bug][UI/UX] Address shop cursor target feedbacks (#4009)
* address shop cursor target feedbacks

* make rewards left-most

* fix tests breaking

* Update src/test/items/dire_hit.test.ts

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>

* Update src/test/items/temp_stat_stage_booster.test.ts

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>

* Update src/locales/ja/settings.json

Co-authored-by: Chapybara-jp <charlie.beer@hotmail.com>

* update default value

* stylistic change

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: Chapybara-jp <charlie.beer@hotmail.com>
2024-09-04 01:07:56 +00:00
Frederico Santos
f63492d545 chore: Update merge_group configuration in GitHub workflows 2024-09-04 01:56:37 +01:00
gitlocalize-app[bot]
4e3a24c247
[Localization] [ES] 5 files reviewed and finish. [Ready] (#3921)
* Translate party-ui-handler.json via GitLocalize

* Translate party-ui-handler.json via GitLocalize

* Translate arena-tag.json via GitLocalize

* Translate arena-tag.json via GitLocalize

* Translate battler-tags.json via GitLocalize

* Translate battler-tags.json via GitLocalize

* Translate arena-flyout.json via GitLocalize

* Translate game-mode.json via GitLocalize

* Update src/locales/es/arena-tag.json

Co-authored-by: Asdar <asdargmng@gmail.com>

* Update src/locales/es/battler-tags.json

Co-authored-by: Asdar <asdargmng@gmail.com>

* Update src/locales/es/battler-tags.json

Co-authored-by: Asdar <asdargmng@gmail.com>

* Update src/locales/es/arena-tag.json

---------

Co-authored-by: Asdar <asdargmng@gmail.com>
Co-authored-by: Rafa <rhijano@hotmail.com>
Co-authored-by: Lugiad <adrien.grivel@hotmail.fr>
Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
2024-09-03 15:19:05 -07:00
Mumble
3242a35341
[Misc][UI] Default Cursor Positioning for Command / Fight / Party (#4008)
* Cursor Pos. should match mainline

* Fixed command mode behavior

---------

Co-authored-by: frutescens <info@laptop>
2024-09-03 15:13:29 -07:00
PigeonBar
3a6146935c
[Bug] Fix reloads causing RNG inconsistencies, Moody and Acupressure use seeded RNG now (#3952)
* [Bug] Fix reloads causing RNG inconsistencies

* Minor revisions

* Allow reload helper to directly access getSessionSaveData()

* Changed Moody and Acupressure to use seeded RNG

* Fix broken unit test
2024-09-03 09:14:45 -04:00
Jannik Tappert
232cd2c91a
[Localization] [DE] Added missing keys in DE (#3998)
* Add missing keys in DE

* Challenge description fix
2024-09-03 09:12:57 -04:00
Lugiad
940992a940
[Localization] [FR] Added missing keys in French (#4000)
* Update battle.json

* Update menu-ui-handler.json
2024-09-03 14:48:13 +02:00
Frederico Santos
666cde94ae
Merge pull request #3997 from innerthunder/main-beta-merge
Main to Beta Merge (Wave 3)
2024-09-03 11:27:46 +01:00
innerthunder
38ae0a5d6d Merge remote-tracking branch 'upstream/main' into main-beta-merge 2024-09-03 03:21:54 -07:00
NightKev
d004d905bd
[Test] Remove nature RNG from Beast Boost tests (#3994) 2024-09-03 01:59:48 -04:00
chaosgrimmon
684d7b3009
[Misc] Repack Keyboard button sprites (#3993)
* [Misc] Repack keyboard input icons

* [Misc] Keyboard sprites repacking json

* [Bug] Capitalisation of "c"
2024-09-03 01:02:29 -04:00
NightKev
97a02e7c34
[Test] Set boss Pokémon test timeout to 20 seconds instead of 2.5 seconds (#3992) 2024-09-03 00:59:51 -04:00
PigeonBar
587360c8da
[Bug] Fix eggs having exploitable RNG (#3913)
* [Bug] Fix eggs having exploitable RNG

* Fix Wind Rider test having random chance to fail

* Revert egg's ID back to its own unseeded generation

* Remove change from wind rider test

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: Mumble <171087428+frutescens@users.noreply.github.com>
2024-09-02 22:18:18 -04:00
Mumble
deb4e9dd24
[UI] Run history fixes and improvements (#3987)
* Challenge Rules Word Wrap

* Fixed Modifiers

* Fixed item count color.

* removed .js endings

---------

Co-authored-by: frutescens <info@laptop>
2024-09-02 22:14:09 -04:00
Amani H.
89e80f3deb
[Refactor/Bug/Move] Overhaul Stats and Battle Items, Implement Several Stat Moves (#2699)
* Create Getters, Setters, and Types

* Work on `pokemon.ts`

* Adjust Types, Refactor `White Herb` Modifier

* Migrate `TempBattleStat` Usage

* Refactor `PokemonBaseStatModifier` Slightly

* Remove `BattleStat`, Use "Stat Stages" & New Names

* Address Phase `integers`

* Finalize `BattleStat` Removal

* Address Minor Manual NITs

* Apply Own Review Suggestions

* Fix Syntax Error

* Add Docs

* Overhaul X Items

* Implement Guard and Power Split with Unit Tests

* Add Several Unit Tests and Fixes

* Implement Speed Swap with Unit Tests

* Fix Keys in Summary Menu

* Fix Starf Berry Raising EVA and ACC

* Fix Contrary & Simple, Verify with Unit Tests

* Implement Power & Guard Swap with Unit Tests

* Add Move Effect Message to Speed Swap

* Add Move Effect Message to Power & Guard Split

* Add Localization Entries

* Adjust Last X Item Unit Test

* Overhaul X Items Unit Tests

* Finish Missing Docs

* Revamp Crit-Based Unit Tests & Dire Hit

* Address Initial NITs

* Apply NIT Batch

Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>

* Fix Moody Test

* Address Multiple Messages for `ProtectStatAbAttr`

* Change `ignoreOverride` to `bypassSummonData`

* Adjust Italian Localization

Co-authored-by: Niccolò <123510358+NicusPulcis@users.noreply.github.com>

* Fix Moody

---------

Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
Co-authored-by: Niccolò <123510358+NicusPulcis@users.noreply.github.com>
2024-09-02 22:12:34 -04:00
NightKev
947400f2b9
[Test] Add tests for Freeze-Dry (#3990) 2024-09-02 22:11:35 -04:00
ckincaid17
234d617464
[Bug] Let Shedinja relearn egg moves when evolved from a starter (#3915)
* [Bug] Let Shedinja relearn egg moves when evolved from a starter

* Copy met level as well
2024-09-02 19:10:33 -07:00
cam
672bc77c58
Added Donate Link to Community Page (#3989)
* Added Donate Link to Community Page

Removed the cookies from the html and added a Donations link on the community page (with guidance from Walker)

* Added Translation Key
2024-09-03 01:37:53 +01:00
AJ Fontaine
b0360123e0
[Balance] [QoL] [Feature] Allow mons to track and relearn used TMs (#3656)
* Allow mons to track and relearn used TMs

* Fix issue getting level moves

* Apply suggested safety measures
2024-09-02 16:25:41 -07:00
Leo Kim
60becf54f8
[Enhancement][UI] Passive ability will be displayed even if it is locked or disabled (#3976)
* show passive name even if it is locked or disabled

* update passive label with updated new icons

* fix icon remains bug, when go start button and filterbar
2024-09-02 23:49:11 +01:00
Lugiad
df1c6efe2d
[Localization] [Fix] Restoring inverted rival dialogues in all dialogue-misc.json locales (#3986)
* Update dialogue-misc.json

* Update dialogue-misc.json

* Update dialogue-misc.json

* Update dialogue-misc.json

* Update dialogue-misc.json

* Update dialogue-misc.json

* Update dialogue-misc.json
2024-09-02 18:33:21 -04:00
MokaStitcher
89a1ff7b5b
[Bug] Fix Inconsistency with stat boost when breaking through boss shields + tests (#3785)
* fix boss shield stats up calculation and add tests

* update test to remove usage of deprecated startBattle
2024-09-03 00:29:15 +02:00
Lugiad
9c30e5b213
[Localization] [FR] [Fix] Dialogue fixs batch + ignored entries form previous PR (#3985)
* Update dialogue-misc.json

* Update dialogue.json

* Update dialogue.json

* Update dialogue-misc.json

* Update dialogue.json

* Update dialogue.json

* Update dialogue.json

* Update dialogue.json

* Update dialogue.json

* Update dialogue.json
2024-09-02 18:03:21 -04:00
njahja
03567ed56c
[Bugfix #3930] Moves That a Pokemon Knows and are not in their List of Learnable TMs Display as "Not Able" Rather than Learned (#3935)
* fix for [Bug] Moves That a Pokemon Knows and are not in their List of Learnable TMs Display as "Not Able" Rather than Learned #3930

* convert switch case block to if/elif/else
2024-09-02 17:59:26 -04:00
Chapybara-jp
4c4a2c1900
[Localisation] [JA] Translated trainer-classes.json, trainer-names.json, trainer-titles.json (#3978)
* [Localisation] [JA] trainer-classes.json

Names taken from Poke Corpus and Bulbapedia. 
Some double team names do not exist in the official games so I created some new fitting/localised/funny ones (e.g. (solo) サイキッカー -> (double) サイキッ家)
As we are using Scarlet/Violet Kanji usage conventions, I decided to write all class titles that were Hiragana only in BW/B2W2 with Kanji instead.

* Translate trainer-names.json

Should we localise the names of Finn and Ivy? 
Two possible ideas:
Finn -> チトセ (Finn may come from the "Whale Fin" snake plant; Latin Name Sansevieria Masoniana. The Sansevieria family is known as チトセラン属 in Japanese. チトセ(千歳 millenium;long time) can be a reference to endless loop of Classic Mode)
Ivy -> タイチ (Ivy -> IV. IV in Japanese is 固体値 (こたいち). タイチ also sounds like  対置 (opposition)

* Update trainer-classes.json

* Translate trainer-titles.json
2024-09-02 17:57:24 -04:00
Mumble
ce5a92325c
[UI][Misc] Rename Space to Action in voucher/achv menu (#3982)
* Changing only achvs-ui-handler for now

* Add ACTION sprite

---------

Co-authored-by: frutescens <info@laptop>
Co-authored-by: chaosgrimmon <31082757+chaosgrimmon@users.noreply.github.com>
2024-09-02 17:54:56 -04:00
Asdar
e9998fcc16
[Localisation] [ES] Bugfix pokemon-form-battle.json (#3981)
Removed an extra tab added by GitLocalize
2024-09-02 14:20:05 -07:00
timchi94
aae4d6933c
[QoL] Enable female gender for all default starters and all existing s… (#2194)
* fix: Enable female gender for all default starters and all existing saves

* Fixed Fresh Start so it doesn't restrict gender

---------

Co-authored-by: Mumble <171087428+frutescens@users.noreply.github.com>
Co-authored-by: frutescens <info@laptop>
2024-09-02 12:43:44 -07:00
Mumble
256dfbde6e
Fixed conditional (#3983)
Co-authored-by: frutescens <info@laptop>
2024-09-02 21:27:29 +02:00
Jannik Tappert
86316bd6f8
[Localization] [DE] DisguiseChange (#3979)
* [Localization] [DE] DisguiseChange

* Update src/locales/de/pokemon-form-battle.json
2024-09-02 10:55:57 -07:00
Jannik Tappert
ad778101e4
[DEV] Remove female achv file (#3977) 2024-09-02 10:32:49 -07:00
NightKev
c20f37bcf9
[P3 Bug] Add dialog lines for Rood (#3970) 2024-09-02 01:39:52 -04:00
AJ Fontaine
39cfe69cd9
[Bug] Fix affix used when enemy trainer switches Pokemon (#3899) 2024-09-02 01:25:45 -04:00
chaosgrimmon
634bfb7900
[Sprite] Pelipper variant cleanup (#3969)
* [Sprite] Sprite fix Pelipper front

* [Sprite] Map epic Pelipper front

* Delete public/images/pokemon/variant/279_1.png

* Delete public/images/pokemon/variant/279_2.png

* Delete public/images/pokemon/variant/279_3.png

* Delete public/images/pokemon/variant/279_1.json

* Delete public/images/pokemon/variant/279_2.json

* Delete public/images/pokemon/variant/279_3.json

* [Sprite] Use epic Pelipper palette

* [Sprite] Index base shiny Pelipper front
2024-09-02 01:16:47 -04:00
Madmadness65
434b823112
[Enhancement/Item] Separate form change items into non-rare and rare (#3957)
* Separate form change items into non-rare and rare

* Remove unnecessary !!
2024-09-02 01:15:52 -04:00
NightKev
744c8f8845
[Test] Update/modernize/fix some tests (#3968) 2024-09-02 01:06:20 -04:00
Mumble
0cbdaab28e
[UI][Misc] Force users to have an active challenge (#3953)
* I hope this is good enough

* renamed variable to better name

* Remove random newline

* When player is ready cool box

* Fixed cancel behavior

* standardized action/cancel behavior

* Added comments

---------

Co-authored-by: frutescens <info@laptop>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-09-02 00:32:22 -04:00
NightKev
84ef7f0683
[Balance] Double base shiny odds, adjusted Shiny Charm to match (#3964)
* Double shiny odds

"anyone wanna double the base shiny odds for me" - damo, 2024

* Adjust Shiny Charm to compensate for increased base odds

* Remove magic number

* Update tsdoc and remove unneeded `console.log()`

* Clarify tsdoc
2024-09-02 00:26:47 -04:00
Mumble
1e432fc74b
[Bug] Fixed pre-set volume oversight (#3963)
Co-authored-by: frutescens <info@laptop>
2024-09-02 00:26:35 -04:00
NightKev
f54846f735
[Move] Implement Safeguard (#3447)
* Implemented safeguard and tests

* Update tests

* Add i18n placeholders

* Implement Safeguard for non-volatile statuses

* Implement protection from confusion and Yawn

* Replace `target instanceof EnemyPokemon` with `target.isPlayer()`

* Minor capitalization change

* First batch of i18n

Adds fr, pt_BR, zh_CN, zh_TW

Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>
Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>
Co-authored-by: mercurius-00 <80205689+mercurius-00@users.noreply.github.com>

* Add more translations

+ de, es, ko

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
Co-authored-by: Asdar <asdargmng@gmail.com>
Co-authored-by: sodam <66295123+sodaMelon@users.noreply.github.com>

* Fix broken character in es translation

* Update test with new function definition

* Add Italian translation

Co-authored-by: Niccolò <123510358+NicusPulcis@users.noreply.github.com>

* Add move category check for message display

Co-authored-by: innerthunder <168692175+innerthunder@users.noreply.github.com>

* Update phase imports in Safeguard test

* Fix test imports

* Update tests

---------

Co-authored-by: Joshua Keegan <keeganjosh@vuw.ac.nz>
Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>
Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>
Co-authored-by: mercurius-00 <80205689+mercurius-00@users.noreply.github.com>
Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
Co-authored-by: Asdar <asdargmng@gmail.com>
Co-authored-by: sodam <66295123+sodaMelon@users.noreply.github.com>
Co-authored-by: Niccolò <123510358+NicusPulcis@users.noreply.github.com>
Co-authored-by: innerthunder <168692175+innerthunder@users.noreply.github.com>
2024-09-02 00:26:20 -04:00
gitlocalize-app[bot]
2d5bd57c44
[Localization] [FR] pokemon-info.json and dialogue-misc.json completion (#3761)
* Translate pokemon-info.json via GitLocalize

* Update dialogue-misc.json

---------

Co-authored-by: Lugiad <adrien.grivel@hotmail.fr>
2024-09-02 00:25:07 -04:00
NightKev
f3c41edf5e
[Bug] Don't reset turn count or used moves array at the start of a new wave (fakeout and gigaton hammer) (#3606)
* Don't reset turn count or used moves array at the start of a new wave

* Add tests
2024-09-02 00:24:12 -04:00
NightKev
69a9916b4c
[Bug] Moves copied by Dancer should not consume PP (#3623)
* Moves copied by Dancer should not consume PP

* Add test for Dancer (unfinished)

* Delete src/test/abilities/dancer.test.ts

This test is not finished lol

* Add test
2024-09-02 00:21:56 -04:00
PrabbyDD
4553c1c34f
[Bug] Fix Octolock Ignores Clear Body, White Smoke, Big Pecks #3876
Pecks, Clear Body, and White Smoke

Adding tests for octolock
2024-09-02 00:20:16 -04:00
gitlocalize-app[bot]
22d31bc704
[Localisation] [ES] Review and finished pokemon-form and pokemon-form-battle (#3903)
* Translate pokemon-form.json via GitLocalize

* Translate pokemon-form.json via GitLocalize

* Translate pokemon-form-battle.json via GitLocalize

* Translate pokemon-form-battle.json via GitLocalize

* Update src/locales/es/pokemon-form.json

Co-authored-by: Asdar <asdargmng@gmail.com>

---------

Co-authored-by: Rafa <rhijano@hotmail.com>
Co-authored-by: LilyAlternis <tias.a2002@gmail.com>
Co-authored-by: Asdar <asdargmng@gmail.com>
Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
2024-09-02 00:19:02 -04:00
gitlocalize-app[bot]
a894438e24
[Localisation] [JA] Several files translated (#3916)
* Translate ability-trigger.json via GitLocalize

* Translate game-stats-ui-handler.json via GitLocalize

* Translate modifier-select-ui-handler.json via GitLocalize

* Translate pokemon-form-battle.json via GitLocalize

* Translate battle-info.json via GitLocalize

* Translate menu.json via GitLocalize

* Translate battler-tags.json via GitLocalize

* Translate pokemon-info.json via GitLocalize

* Translate achv.json via GitLocalize

* Translate berry.json via GitLocalize

* Translate achv-female.json via GitLocalize

* Translate challenges.json via GitLocalize

* Translate menu-ui-handler.json via GitLocalize

* Translate egg.json via GitLocalize

* Translate pokemon.json via GitLocalize

* Translate pokemon.json via GitLocalize

* Translate starter-select-ui-handler.json via GitLocalize

* Translate command-ui-handler.json via GitLocalize

* Translate settings.json via GitLocalize

* Update achv-female.json

* Update menu-ui-handler.json

* Update settings.json

* Update achv.json

* Update achv.json

* Update achv.json

* Delete src/locales/ja/achv-female.json

* Update achv.json

Compared in-game, with these changes it should all look good.

* Update challenges.json

* Update game-mode.json

* Update menu.json

* Update settings.json

* Translate game-stats-ui-handler.json via GitLocalize

* Update game-stats-ui-handler.json

* Update settings.json

---------

Co-authored-by: gitlocalize-app[bot] <55277160+gitlocalize-app[bot]@users.noreply.github.com>
Co-authored-by: Enoch <enoch.jwsong@gmail.com>
Co-authored-by: Chapybara-jp <charlie.beer@hotmail.com>
2024-09-02 00:18:49 -04:00
gitlocalize-app[bot]
dd033f4ec1
[Localization] [pt_BR] Updated many translations (#3917)
* Translate tutorial.json via GitLocalize

* Translate challenges.json via GitLocalize

* Translate menu-ui-handler.json via GitLocalize

---------

Co-authored-by: José Ricardo <josefleury@discente.ufg.br>
2024-09-02 00:17:05 -04:00
gitlocalize-app[bot]
0671a244a8
[Localisation] [ES] Reviewed and finished ability.json and bgm-name.json (#3920)
* Translate ability.json via GitLocalize

* Translate ability.json via GitLocalize

* Translate bgm-name.json via GitLocalize

---------

Co-authored-by: Asdar <asdargmng@gmail.com>
Co-authored-by: LilyAlternis <tias.a2002@gmail.com>
2024-09-02 00:16:54 -04:00
Mumble
c4c9cf939e
[Bug] Moved RNG call if the Pokemon's ability hasn't been determined (#3966)
Co-authored-by: frutescens <info@laptop>
2024-09-02 00:09:46 -04:00
Blitzy
51ab51cc64
[Balance Hotfix] GMax Butterfree tinted lens -> compound eyes (#3967) 2024-09-02 00:08:43 -04:00
gitlocalize-app[bot]
8edb9ca65b
[Localizaiton(pt_br)] Translate pokemon-summary.json via GitLocalize (#3868)
Co-authored-by: José Ricardo <josefleury@discente.ufg.br>
2024-09-01 23:57:48 -04:00
gitlocalize-app[bot]
08fe9e1e21
[Localization(fr)] Translate trainer-classes.json (#3882)
Co-authored-by: Lugiad <adrien.grivel@hotmail.fr>
2024-09-01 23:57:28 -04:00
gitlocalize-app[bot]
781bfd831f
[Localization] pokemon names, party-ui-handler, pokemon-info and pokemon-info-container localizations for italian (#3836)
* Translate pokemon-info-container.json via GitLocalize

* Translate pokemon-info.json via GitLocalize

* Translate party-ui-handler.json via GitLocalize

* Translate pokemon.json via GitLocalize

---------

Co-authored-by: Niccolò <niccolo.pulcini.07@gmail.com>
2024-09-01 23:55:07 -04:00
innerthunder
e29f1fe5fd
[Bug] Fix some trapping moves' interactions with Ghost-type Pokemon (#3936)
* Fix secondary effects to trapping moves not applying to Ghost types

* Docs for `isTrapped`

* more `isTrapped` cleanup

* Remove .js from imports
2024-09-01 23:39:26 -04:00
NightKev
1fd662111e
[Test] Tests now default to using "Set" battle style (#3728)
* Tests now default to using "Set" battle style

* Fix typo
2024-09-01 23:32:31 -04:00
Adrian T.
56b39032b9
[Dev] add script to create test boilerplate file (#3954)
* add script to create test boilerplate file

* add more docs

* add timeout to template
2024-09-01 23:30:27 -04:00
gitlocalize-app[bot]
80828359e2
[Localization(en)] Fix Roark Dialouge (#3873)
* Translate dialogue-male.json via GitLocalize

* Added female

* !

* Update src/locales/en/dialogue-male.json

* Remove empty files

* Added missing comma

---------

Co-authored-by: Jannik Tappert <tappertjannik@googlemail.com>
Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
2024-09-01 23:28:10 -04:00
NightKev
709066bd1a
[Move] Finish Alluring Voice, Burning Jealousy and Lash Out (#3508)
* Implement Alluring Voice and Burning Jealousy

* Fix Alluring Voice and add tests

* Replace `BattlerTag.STATS_BOOSTED` with `PokemonTurnData` field

* Work around bug with turn data

* Remove unused variable

* Replace nearby instances of `integer` with `number`

* Fix imports

* Implement Lash Out

* Rename `battleStats(In|De)crease` -> `battleStats(In|De)creased`

* Fix copy/paste error

Co-authored-by: schmidtc1 <62030095+schmidtc1@users.noreply.github.com>

* Update tests

---------

Co-authored-by: ElliottSimmonds <simmonds.elliott@yahoo.co.uk>
Co-authored-by: schmidtc1 <62030095+schmidtc1@users.noreply.github.com>
Co-authored-by: Mumble <171087428+frutescens@users.noreply.github.com>
2024-09-01 22:57:07 -04:00
MokaStitcher
dcb03f4ee9
[Test] Add test for final boss fight phase switch (#3847)
* implement test for final boss encounter phase switch

* Update Eternatus tests & helper function

* fix endless_boss test following GameManager update

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-09-01 22:47:22 -04:00
gitlocalize-app[bot]
14e0c66ed9
[Localisation] [ES] Finished and reviewed terrain, modifier, trainer-names, splash messages (#3848)
* Translate splash-messages.json via GitLocalize

* Translate splash-messages.json via GitLocalize

* Translate trainer-names.json via GitLocalize

* Translate modifier.json via GitLocalize

* Translate modifier.json via GitLocalize

* Translate modifier.json via GitLocalize

* Translate terrain.json via GitLocalize

* Update src/locales/es/trainer-names.json

Co-authored-by: Asdar <asdargmng@gmail.com>

---------

Co-authored-by: LilyAlternis <tias.a2002@gmail.com>
Co-authored-by: Asdar <asdargmng@gmail.com>
Co-authored-by: Rafa <rhijano@hotmail.com>
Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-09-01 22:46:53 -04:00
gitlocalize-app[bot]
49c3158fd1
[Localization(ko)] Change ghost type challenge acv for achv-female (#3866)
Co-authored-by: sodam <sodamlee315@gmail.com>
Co-authored-by: Enoch <enoch.jwsong@gmail.com>
Co-authored-by: KimJeongSun <leo@atlaslabs.ai>
2024-09-01 22:45:42 -04:00
gitlocalize-app[bot]
c070f110e5
[Localization(fr)] Additional nature entries in pokemon-summary (#3869)
Co-authored-by: Lugiad <adrien.grivel@hotmail.fr>
2024-09-01 22:44:58 -04:00
flx-sta
0c28da75b4
[Bug] Fix Opponent pokemon sprite disappears after using Roar and Dragon Tail #481 (#3927) 2024-09-01 22:42:23 -04:00
Adrian T.
64368b62bc
[Ability] Add form change support for Flower Gift (#3941)
* add form change support for flower gift

* fix nits
2024-09-01 22:39:42 -04:00
Adrian T.
3bcee779e2
[Move] Fully implement dragon cheer (#3959) 2024-09-01 22:39:12 -04:00
chaosgrimmon
97e3250f62
[Sprite] Chien-Pao sprite cleanup (#3961)
* Delete public/images/pokemon/exp/shiny/1002b.png

* Delete public/images/pokemon/exp/shiny/1002s.png

* Delete public/images/pokemon/exp/shiny/1002sb.png
2024-09-01 22:31:25 -04:00
innerthunder
7755f798fd
[Ability] Implement Tera Shell (#3856)
* Implement Tera Shell

* Apply suggestions from code review

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>

* Update src/data/ability.ts

Co-authored-by: Adrian T. <68144167+torranx@users.noreply.github.com>

* Add comments and fixed damage condition to `applyPreDefend`

* Fix speed tie breaking things in tera shell test

* Change deprecated `startBattle` calls

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: Adrian T. <68144167+torranx@users.noreply.github.com>
2024-09-02 02:21:11 +01:00
Frederico Santos
ac1c29faca fix: Fix missing comma in biomeLinks array 2024-09-02 00:03:51 +01:00
Frederico Santos
dc9a4852b4
Merge pull request #3960 from frutescens/bannerHotfix
[Bug][Hotfix] Missing Banners
2024-09-01 23:40:27 +01:00
frutescens
d7cc8a6e5c Fixed pt-BR and zh-CN 2024-09-01 15:33:10 -07:00
cadi
a41133a55a
blocking inputs while showing texts to prevent moveing cursor (#2371)
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-09-01 15:26:45 -07:00
AJ Fontaine
335d32e0d7
[UI] [QoL] [Enhancement] Exclude redundant species from certain filters in starter select (#3910)
* Exclude species without HA from HA filters in starter select

* Remove candyless starters from passive/cost reduction filters
2024-09-01 15:24:37 -07:00
Mumble
55e0d65ac8
[Refactor] Improvements on getOrder() (#3547)
* Moved getOrder() into TurnStartPhase

* Cleaned up bypass speed checks

* Revert "Cleaned up bypass speed checks"

This reverts commit 11150254f5.

* Added comments.

* Fixed up some inconsistencies

* changed isSameBracket check

* changed isSameBracket check p2

* changed isSameBracket check p3

* changed isSameBracket check p3

* Fixed up conditionals + stall/M.m

* Seems OK

* Update battle-spec.ts

* Updated tests to use new functions introduced. Less intuitive, but faster.

* Update src/phases.ts

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>

* Moved getOrder() into TurnStartPhase

* Cleaned up bypass speed checks

* Revert "Cleaned up bypass speed checks"

This reverts commit 11150254f5.

* Added comments.

* Fixed up some inconsistencies

* changed isSameBracket check

* changed isSameBracket check p2

* changed isSameBracket check p3

* changed isSameBracket check p3

* Fixed up conditionals + stall/M.m

* Seems OK

* Update battle-spec.ts

* Updated tests to use new functions introduced. Less intuitive, but faster.

* Removed import

* i hate git

* Moved getOrder() into TurnStartPhase

* Seems OK

* missing import

* Added Snooze's review

* Added test fixes and removed unwanted edit.

* fixed dynamax cannon test

* typedocs fixes

* Updating battle-order.test.ts

* merge fixes

* ughhh

* Update src/test/abilities/mycelium_might.test.ts

Co-authored-by: innerthunder <168692175+innerthunder@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: innerthunder <168692175+innerthunder@users.noreply.github.com>

* tsdocs :)

* Fixed tests

* Update src/phases/turn-start-phase.ts

Co-authored-by: innerthunder <168692175+innerthunder@users.noreply.github.com>

* Update src/phases/turn-start-phase.ts

Co-authored-by: innerthunder <168692175+innerthunder@users.noreply.github.com>

* innerthunder's fixes

* commas

* Mocked stats instead of directly changing them

---------

Co-authored-by: Frutescens <info@laptop>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: innerthunder <168692175+innerthunder@users.noreply.github.com>
2024-09-01 15:23:25 -07:00
flx-sta
69a9e6a365
Localization: remove all "<key>_female": null entries in /en (#3918) 2024-09-02 00:21:48 +02:00
Frederico Santos
86fe4dd888
Merge pull request #3834 from pagefaultgames/beta
Beta Release #3
2024-09-01 23:15:28 +01:00
Frederico Santos
55acf0eeac
Merge branch 'main' into beta 2024-09-01 23:10:40 +01:00
Frederico Santos
e80b4fe122 feat: Update banner key assignment in TimedEventDisplay setup method 2024-09-01 21:16:20 +01:00
Mumble
95a02a96a7
Fixing banner error upon refresh (#3956) 2024-09-01 21:11:23 +01:00
Mumble
de66b450a5
[Beta][Misc] Banner (#3926)
* Initial work - does not work.

* Revert

* image replacement

* better scaling

* Removing most of the bangs

* no more bangs

* Update src/timed-event-manager.ts

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>

* Implemented Torranx's suggestion

* Ready for Translations

* Delete Picture

* Localized banners

* Biomes fix

* Corrections

* Update src/timed-event-manager.ts

Co-authored-by: Frederico Santos <frederico.f.santos@tecnico.ulisboa.pt>

---------

Co-authored-by: frutescens <info@laptop>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: Frederico Santos <frederico.f.santos@tecnico.ulisboa.pt>
2024-09-01 20:18:40 +01:00
damocleas
85a8abc0e8
[Balance] Final Adjustments to biomes + Gmax Snorlax Ability + Passive changed (#3950)
* Biome Adjustments 1

* MOUNTAIN OUT FROM ANCIENT RUINS

* snorlax gmax adjustment

* Localizers please calm down - Snorlax Ability + Passive change

* One more time let's give it a go biomes.ts

* fixed ]

* Update biomes.ts

* fixed spelling mistake
2024-08-31 16:39:21 -07:00
Mumble
15fea2e171
Gamepad for Run Info (#3940)
Co-authored-by: frutescens <info@laptop>
2024-08-31 19:50:09 +01:00
Mumble
f8e119f37e
[Beta][Bug] Preventing Run History encryption (#3933)
* Blah

* Thought about it more

* Removed excess comment

* Purposely tested everything by manually setting bypassLogin to false

---------

Co-authored-by: frutescens <info@laptop>
2024-08-31 02:12:47 -04:00
Opaque02
ce0ba3fbf9
[Bug] Fixed issue where menu can't be opened up after a trainer battle (#3932) 2024-08-31 00:53:15 -04:00
Frederico Santos
3a50925de0 refactor: Update excludedMenus condition to look for currentPhase instead 2024-08-31 05:14:25 +01:00
Mumble
f9de149f55
double voucher prevention (#3931)
Co-authored-by: frutescens <info@laptop>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-08-31 04:40:40 +01:00
NightKev
642b18e747
[Bug] Fix Pokemon not gaining HP when evolving (#3569)
* Don't recalculate stats that already exist

* add test to cover hp update after evo (#4)

- add evolution phase to phase interceptor
- add mock for video game object
- add returning video mock on add.video()

* add test to make sure pkm are not healed on evolve

* Stop on `EndEvolutionPhase` to prevent game state leak in tests

* Fix imports

* Remove `.js` from import

Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>

* Add docs to mock class

---------

Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
2024-08-30 20:21:56 -07:00
NightKev
15205c5e00
Prevent daily runs from breaking due to very (un)lucky RNG (#3841) 2024-08-30 20:10:38 -07:00
chaosgrimmon
d9d147280b
[Sprite] Fix Manaphy egg outline (#3863)
* [Sprite] Add Manaphy egg outline

* [Sprite] Fix Manaphy egg outline
2024-08-30 23:10:22 -04:00
chaosgrimmon
3d5957a998
[Sprite] Beta2 Variant Patch icon chores (#3748)
* [Sprite] Add Gen1 icons

* [Sprite] Add Gen3 icons

* [Sprite] Add Gen4 icons

* [Sprite] Add Gen4 icons

* [Sprite] Add Gen5 icons

* [Sprite] Add Gen6 icons

* [Sprite] Add Gen9 icons

* [Sprite] Add Gen1 variant icons

* [Sprite] Add Gen2 variant icons

* [Sprite] Add Gen3 variant icons

* [Sprite] Add Gen4 variant icons

* [Sprite] Add Gen5 variant icons

* [Sprite] Add Gen7 variant icons

* [Sprite] Add more Gen1 variant icons

* [Sprite] Add Beta2 Gen2 variant icons

* [Sprite] Add Beta2 Gen1 variant icons

* [Sprite] Add Beta2 Gen3 variant icons

* [Sprite] Add Beta2 Gen4 variant icons

* [Sprite] Add Beta2 Gen5 variant icons

* [Sprite] Add Beta2 Gen6 variant icons

* [Sprite] Add Beta2 Gen7 variant icons

* [Sprite] Add Beta2 Gen8 variant icons

* [Sprite] Add Beta2 Gen9 variant icons
2024-08-30 23:06:36 -04:00
Frederico Santos
5e2c05afe9 refactor: Update excludedMenus condition to look at the end of the modeChain 2024-08-31 03:33:07 +01:00
Mumble
dd0b6464d2
[Beta][Bug] Fixing Trapped ability messages (#3928)
* always update your repo

* enemy command phase changed too

* typedocs

* Typedocs part 2

* Added simulation boolean back

* restored simulated

* Remove `console.log()` statements

---------

Co-authored-by: frutescens <info@laptop>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-08-30 22:07:27 -04:00
NightKev
dd0e820893
Fix turn order issue in Miracle Eye test (#3912) 2024-08-30 15:33:35 -07:00
Blitzy
8ff566eaca
[Enhancement] Certain Signature Move Animation Fixes (#3878)
* Add Missing Move Animations

* Change Zippy-Zap / Buzzy Buzz animations

* Sappy Seed change

* Change Mortal Spin
2024-08-31 00:21:19 +02:00
Mumble
87f55a8a1a
[Bug][Beta] Double vouchers fix (#3906)
* The fix.

* Ordinals....

* tsdocs..

* my forgetting

* Fixed issues

* Update src/phases/encounter-phase.ts

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>

* The actual change

* actual fixes

* This should fix it... maybe

---------

Co-authored-by: frutescens <info@laptop>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-08-30 11:06:18 -07:00
flx-sta
87d2300ee8
[Bug] skip-seen-dialogue storing strings instead of i18n keys (#3900)
* fix skipSeenDialogue storing

seen dialogues were stores as actual string instead of their i18n-keys. This fixes it.

Reported on discord:
https://discord.com/channels/1125469663833370665/1176874654015684739/1278794542648131695

* fix falling back to english

* Victory-Rival Dialgoue

* Update src/phases/game-over-phase.ts

Co-authored-by: Adrian T. <68144167+torranx@users.noreply.github.com>

* fix showDialogue for non i18n-key calls

showDialogue can be called with either text or an i18n key. This wasn't taken into account and caused some console spamming.

---------

Co-authored-by: frutescens <info@laptop>
Co-authored-by: innerthunder <168692175+innerthunder@users.noreply.github.com>
Co-authored-by: Adrian T. <68144167+torranx@users.noreply.github.com>
2024-08-30 10:59:39 -07:00
AJ Fontaine
e2db9cb8a4
Even more TM fixes (#3889) 2024-08-30 10:54:48 -07:00
Mumble
60aa61e56e
[Bug] Skip Eternatus dialogue again (#3716)
* The fix.

* Ordinals....

* tsdocs..

* my forgetting

* Fixed issues

* Update src/phases/encounter-phase.ts

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>

* The actual change

* actual fixes

---------

Co-authored-by: frutescens <info@laptop>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-08-30 11:16:15 +02:00
chaosgrimmon
db4a63dbb9
[Sprite] Fix Courtney eye whites (#3907) 2024-08-30 00:15:35 -07:00
Madmadness65
aeecb67f32 Add inverse "item" sprite
Pull #3525 forgot to add this graphic into the items folder, which would mean the sprite would be lost if the items atlas was overwritten at any point. This shouldn't affect any existing functionality.
2024-08-29 20:56:05 -05:00
Opaque02
d1132a5765
[QoL] Test dialogue menu option (#3725)
* Adding code to allow use of a testing dialogue translation menu

* Updated to include autocomplete functionality

* Added multiple inputs

* Added locales for other languages as well as checks to make this only available on local/beta

* Updated a few things to try get the dialogue to work for full length of the window

* Fixed issue with message box not taking up full length of the screen (thanks Moka!) and some minor bugs

* Whoops, forgot to stage a file

* Updated locale files

* Fixed broken tests and docs

* Removed keys from json

* Reordered and reorganised some things

* Put admin enum at end to match handlers

* Removed old unneeded line of code

* Updated to include the ability to handle cases where i18 keys are null in the locales json
2024-08-30 02:38:46 +01:00
Frederico Santos
f7169868f3 chore: Refactor AdminUiHandler to clear input fields and revert mode 2024-08-30 00:22:09 +01:00
Frederico Santos
7eb6ba4dfd chore: Clear input fields and revert mode in AdminUiHandler 2024-08-30 00:19:03 +01:00
Frederico Santos
f1111dc0d2 chore: Update AdminUiHandler to clear input fields and set mode to ADMIN 2024-08-30 00:13:53 +01:00
AJ Fontaine
3b9b0c4091
Blitzy's implementation of evil teams in trainer-config.ts (#3884) 2024-08-30 00:05:09 +01:00
Frederico Santos
8bf44a2047 Fix error handling and revert mode in AdminUiHandler 2024-08-29 23:59:19 +01:00
MokaStitcher
e4da48f51a
[Bug] Starter select default attributes fixes (#3870)
* Test changes to starter ui stuff for edge case stuff to fix

* Minor bug fixes

* [starter-ui] cleanup outdated fix

* use existing method to get the default form from the caught attributes

* clear the existing StarterPreferences of potential invalid values

* remember the last variant used even when disabling shiny form

* fix variant and shiny checks for edge case with variant flags but no shiny flag

* more fixes for invalid starter prefs and default settings

---------

Co-authored-by: Opaque02 <66582645+Opaque02@users.noreply.github.com>
Co-authored-by: Mumble <171087428+frutescens@users.noreply.github.com>
2024-08-29 14:47:37 -07:00
AJ Fontaine
b2cd21bcb1
Fix evolution items not working on mons without forms (#3902) 2024-08-29 22:13:10 +01:00
Mumble
9833b1da7e
[Balance] Randomized Biome after End Biome (#3888)
* Biome.END goes somewhere random

* this way island is included too

* no towns or plains

* Enums are dumb

---------

Co-authored-by: frutescens <info@laptop>
2024-08-29 22:10:38 +01:00
damocleas
db9434ac11
[Balance] Biome Changes / Minor Passive Changes / Minor Egg Move Changes / Beta GMax form adjustments (#3852)
* [Balance] Previous Egg/Passive/Eternatus Update Adjustments

* Update pokemon-species.ts

* Updated Eternatus, src/field/pokemon.ts

* Update egg-moves.ts for Drowzee and Darkrai

* Update biomes.ts

* Update biomes.ts to screw over Dojo!

* Update pokemon-species.ts gmax adjustments
2024-08-29 20:29:06 +01:00
Leo Kim
c112abbcd2
[Challenge] Inverse battle challenge (#3525)
* add inverse battle challenge. refactoring type.ts for inverse battle challenge

* update type integer -> number

* add inverse battle condition to thunder wave, conversion 2.

* add inverse_battle test code, add checking gameMode in runToSummon not to overwrite gameMode to CLASSIC always

* update startBattle with isClassicMode default = true

* add inverse achievement

* fix achv validation condition

* remove unnecessary new line

* update defaultWidth 160 -> 200

* update locales

* fix korean translation

* fix korean translation2

* Update src/locales/de/achv.ts

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>

* Update src/locales/de/challenges.ts

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>

* Update src/locales/de/challenges.ts

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>

* resize challenge description 96 -> 84

* update challenge select UI size.

* revert font size to 84. update de translation

* Update src/locales/fr/challenges.ts

Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>

* Update src/locales/fr/achv.ts

Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>

* Update src/locales/es/challenges.ts

Co-authored-by: Asdar <asdargmng@gmail.com>

* Update src/locales/fr/challenges.ts

Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>

* Update src/locales/fr/achv.ts

Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>

* Update src/locales/es/achv.ts

Co-authored-by: Asdar <asdargmng@gmail.com>

* Update src/locales/fr/achv.ts

Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>

* shrink de font size on achivement

* set middle align to achv title

* Update src/locales/zh_CN/achv.ts

Co-authored-by: mercurius-00 <80205689+mercurius-00@users.noreply.github.com>

* Update src/locales/zh_TW/achv.ts

Co-authored-by: mercurius-00 <80205689+mercurius-00@users.noreply.github.com>

* Update src/locales/zh_CN/challenges.ts

Co-authored-by: mercurius-00 <80205689+mercurius-00@users.noreply.github.com>

* Update src/locales/zh_TW/challenges.ts

Co-authored-by: mercurius-00 <80205689+mercurius-00@users.noreply.github.com>

* fix zh_TW ahiv.ts

* fix import code on inverse battle test for updated phase

* Update src/data/type.ts

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>

* update requested changes

* Update src/locales/pt_BR/achv.ts

Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>

* Update src/locales/pt_BR/achv.ts

Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>

* Update src/locales/pt_BR/challenges.ts

Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>

* [draft] update inverse battle apply function

* change the way how to use applyChallenge for inverse type

* resolve confilct

* fix test codes

* remove unnecessary multiplier variable and break codes

* update getTypeDamageMultiplier argument type from `number` to `Type`

* Fix inverse types tests (#1)

* Fix Inverse Battle tests

* Add timeout parameter to tests

* update requested changes

* update requested changes

* update requested changes2

* update comments

* Update src/test/utils/helpers/challengeModeHelper.ts

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>

* Update src/test/utils/helpers/challengeModeHelper.ts

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>

* fix mis pasted code

* revert loadChallenge code for  FreshStartChallenge

* code refactoring

* restore challenge.json lost translations

* revert UI changes

* revert unreverted newlines

* Run History inclusion

* requested changes from torranx

* update WaterSuperEffectTypeMultiplierAttr for inverse battle matchup.

* fix test code. adding flying press test code

* update requested change from xavion3

* updated requested change from xavion 2

* update requested changes from xavion 3

* remove exception code which is not valid

* attach partial mark to Freeze dry. requested by xavion

* add missing game over phase code when we delete old phases.ts

* fix test codes

* merge conflict

* fix achv condition

* updated achv block condition. we don't want to change desc now

* resolve conflict

* Eternatus Moveset Tinkering

* Cleaning it up

---------

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>
Co-authored-by: Asdar <asdargmng@gmail.com>
Co-authored-by: mercurius-00 <80205689+mercurius-00@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: José Ricardo Fleury Oliveira <josefleury@discente.ufg.br>
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
Co-authored-by: frutescens <info@laptop>
2024-08-29 19:59:33 +01:00
Jannik Tappert
1e95068f14
[Localization] [EN] Admin Dialouge as it was intended by blitzy (#3896)
* Admin Dialouge as it was intended by blitzy

* Dont forget the females

* Delete female file
2024-08-29 19:40:12 +02:00
flx-sta
968c4ce3e6
[Localization] Use gender context for dialogues (all 3 files) (#3879)
* merge dialogue files into single files

No more -male, -female. Rather using context

* adopt changes from #3697
2024-08-29 10:17:40 -07:00
Jason Guan
0d7c335cd9
[Bug] Make Destiny Bond fail when used consecutively in accordance with Gen VII+ implementation (#3504)
* make destiny bond fail on consecutive turns

* Update move.ts to remove .length shorthand

Co-authored-by: schmidtc1 <62030095+schmidtc1@users.noreply.github.com>

* change 'turnMove' variable name

Co-authored-by: Mumble <171087428+frutescens@users.noreply.github.com>

* update variable names

Co-authored-by: Mumble <171087428+frutescens@users.noreply.github.com>

* add comments

* Replace tabs with spaces

---------

Co-authored-by: schmidtc1 <62030095+schmidtc1@users.noreply.github.com>
Co-authored-by: Mumble <171087428+frutescens@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-08-29 10:00:58 -07:00
Blitzy
4cea71c400
[Localization] Change a few Evil Admin lines to sound more coherent. (#3697)
* Change a few lines of dialogue

* Change line per request of Dertapp

* Update dialogue.ts

* Update src/locales/de/dialogue.ts

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>

* Update ko locales

* Apply suggestions from code review

Co-authored-by: Asdar <asdargmng@gmail.com>

---------

Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
Co-authored-by: Asdar <asdargmng@gmail.com>
2024-08-29 18:54:56 +02:00
gitlocalize-app[bot]
c742e99650
[Localization] [DE] Fix Lusamine Dialog spelling (#3880)
* Translate dialogue-male.json via GitLocalize

* Translate dialogue-female.json via GitLocalize

* Update src/locales/de/dialogue-male.json

* Update src/locales/de/dialogue-male.json

---------

Co-authored-by: Jannik Tappert <tappertjannik@googlemail.com>
Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
2024-08-29 18:41:44 +02:00
flx-sta
af918975a8
adapt gender context logic to run-history (#3881) 2024-08-29 09:25:45 -07:00
Opaque02
b781562553
Updated rival battle to have space between words again (#3893)
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
2024-08-29 18:16:51 +02:00
flx-sta
44294f1aec
[Localization] Use gender context for achievments/achv (#3871)
* i18n: prepare female DE achievments

and copy keys in base language: en

* adapt gender context for achv

* add a TODO about an odd `this` usage

* remove debugging leftover code

whops

* add `playerGender` to settings helper

* fix test runs

And revert some changes
2024-08-29 09:13:35 -07:00
Opaque02
27d52af077
Changed Mode.ADMIN enum to be in line with the handler (#3892) 2024-08-29 15:59:06 +01:00
Opaque02
59ff4e9941
Admin panel beta (#3846)
* feat: Add hasAdminRole property to UserInfo interface and update initLoggedInUser and updateUserInfo functions

This commit adds the hasAdminRole property to the UserInfo interface in the account.ts file. The initLoggedInUser function is updated to set the hasAdminRole property to false by default. The updateUserInfo function is also updated to set the hasAdminRole property to false when bypassLogin is true. This change allows for better management of user roles and permissions.

Co-authored-by: frutescens <info@laptop>
Co-authored-by: Frederico Santos <frederico.f.santos@tecnico.ulisboa.pt>

* Updated UI for admin panel and menu

* Remove random blank line from merge

* Fix imports in `src/ui/ui.ts`

---------

Co-authored-by: Frederico Santos <frederico.f.santos@tecnico.ulisboa.pt>
Co-authored-by: frutescens <info@laptop>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-08-29 10:22:01 +01:00
Blitzy
d86c47a39f
[Sprite] Update Rose Sprite (#3890) 2024-08-29 01:57:22 -07:00
Blitzy
8f2699e6ea
[Enhancement] Update Team Skull Sprites (#3886)
* Update Team Skull Sprites

* Add files via upload

* Update skull_grunt_f.json

* Update skull_grunt_m.json

* Fix eol

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-08-28 23:38:21 -07:00
Mumble
781e25848d
fixed infinite loop (#3887)
Co-authored-by: frutescens <info@laptop>
2024-08-28 22:44:26 -07:00
EmberCM
35f522fd99
Fix text disappearing while in transferMode (#3740)
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
2024-08-28 17:17:18 -07:00
NightKev
762aa9e49b
Update the GitHub pull request template (#3755) 2024-08-25 17:28:29 +01:00
861 changed files with 95246 additions and 53587 deletions

View File

@ -30,7 +30,7 @@
- [ ] The PR is self-contained and cannot be split into smaller PRs?
- [ ] Have I provided a clear explanation of the changes?
- [ ] Have I considered writing automated tests for the issue?
- [ ] If I have text, did I add make it translatable and added a key in the English language?
- [ ] If I have text, did I make it translatable and add a key in the English locale file(s)?
- [ ] Have I tested the changes (manually)?
- [ ] Are all unit tests still passing? (`npm run test`)
- [ ] Are the changes visual?

View File

@ -11,6 +11,8 @@ on:
branches:
- main # Trigger on pull request events targeting the main branch
- beta # Trigger on pull request events targeting the beta branch
merge_group:
types: [checks_requested]
jobs:
run-linters: # Define a job named "run-linters"

View File

@ -8,6 +8,8 @@ on:
branches:
- main
- beta
merge_group:
types: [checks_requested]
jobs:
pages:

View File

@ -11,6 +11,8 @@ on:
branches:
- main # Trigger on pull request events targeting the main branch
- beta # Trigger on pull request events targeting the beta branch
merge_group:
types: [checks_requested]
jobs:
run-tests: # Define a job named "run-tests"

101
create-test-boilerplate.js Normal file
View File

@ -0,0 +1,101 @@
import fs from 'fs';
import path from 'path';
import { fileURLToPath } from 'url';
/**
* This script creates a test boilerplate file for a move or ability.
* @param {string} type - The type of test to create. Either "move" or "ability".
* @param {string} fileName - The name of the file to create.
* @example npm run create-test move tackle
*/
// Get the directory name of the current module file
const __filename = fileURLToPath(import.meta.url);
const __dirname = path.dirname(__filename);
// Get the arguments from the command line
const args = process.argv.slice(2);
const type = args[0]; // "move" or "ability"
let fileName = args[1]; // The file name
if (!type || !fileName) {
console.error('Please provide both a type ("move" or "ability") and a file name.');
process.exit(1);
}
// Convert fileName from to snake_case if camelCase is given
fileName = fileName.replace(/([a-z])([A-Z])/g, '$1_$2').toLowerCase();
// Format the description for the test case
const formattedName = fileName
.replace(/_/g, ' ')
.replace(/\b\w/g, char => char.toUpperCase());
// Determine the directory based on the type
let dir;
let description;
if (type === 'move') {
dir = path.join(__dirname, 'src', 'test', 'moves');
description = `Moves - ${formattedName}`;
} else if (type === 'ability') {
dir = path.join(__dirname, 'src', 'test', 'abilities');
description = `Abilities - ${formattedName}`;
} else {
console.error('Invalid type. Please use "move" or "ability".');
process.exit(1);
}
// Ensure the directory exists
if (!fs.existsSync(dir)) {
fs.mkdirSync(dir, { recursive: true });
}
// Create the file with the given name
const filePath = path.join(dir, `${fileName}.test.ts`);
if (fs.existsSync(filePath)) {
console.error(`File "${fileName}.test.ts" already exists.`);
process.exit(1);
}
// Define the content template
const content = `import { Abilities } from "#enums/abilities";
import GameManager from "#test/utils/gameManager";
import { SPLASH_ONLY } from "#test/utils/testUtils";
import Phaser from "phaser";
import { afterEach, beforeAll, beforeEach, describe, it } from "vitest";
describe("${description}", () => {
let phaserGame: Phaser.Game;
let game: GameManager;
const TIMEOUT = 20 * 1000;
beforeAll(() => {
phaserGame = new Phaser.Game({
type: Phaser.HEADLESS,
});
});
afterEach(() => {
game.phaseInterceptor.restoreOg();
});
beforeEach(() => {
game = new GameManager(phaserGame);
game.override
.battleType("single")
.enemyAbility(Abilities.BALL_FETCH)
.enemyMoveset(SPLASH_ONLY);
});
it("test case", async () => {
// await game.classicMode.startBattle();
// game.move.select();
}, TIMEOUT);
});
`;
// Write the template content to the file
fs.writeFileSync(filePath, content, 'utf8');
console.log(`File created at: ${filePath}`);

View File

@ -191,15 +191,15 @@ Now that the enemy Pokémon with the best matchup score is on the field (assumin
We then need to apply a 2x multiplier for the move's type effectiveness and a 1.5x multiplier since STAB applies. After applying these multipliers, the final score for this move is **75**.
- **Swords Dance**: As a non-attacking move, this move's benefit score is derived entirely from the sum of its attributes' benefit scores. Swords Dance's `StatChangeAttr` has a user benefit score of 0 and a target benefit score that, in this case, simplifies to
- **Swords Dance**: As a non-attacking move, this move's benefit score is derived entirely from the sum of its attributes' benefit scores. Swords Dance's `StatStageChangeAttr` has a user benefit score of 0 and a target benefit score that, in this case, simplifies to
$\text{TBS}=4\times \text{levels} + (-2\times \text{sign(levels)})$
where `levels` is the number of stat stages added by the attribute (in this case, +2). The final score for this move is **6** (Note: because this move is self-targeted, we don't flip the sign of TBS when computing the target score).
- **Crush Claw**: This move is a 75-power Normal-type physical attack with a 50 percent chance to lower the target's Defense by one stage. The additional effect is implemented by the same `StatChangeAttr` as Swords Dance, so we can use the same formulas from before to compute the total TBS and base target score.
- **Crush Claw**: This move is a 75-power Normal-type physical attack with a 50 percent chance to lower the target's Defense by one stage. The additional effect is implemented by the same `StatStageChangeAttr` as Swords Dance, so we can use the same formulas from before to compute the total TBS and base target score.
$\text{TBS}=\text{getTargetBenefitScore(StatChangeAttr)}-\text{attackScore}$
$\text{TBS}=\text{getTargetBenefitScore(StatStageChangeAttr)}-\text{attackScore}$
$\text{TBS}=(-4 + 2)-(-2\times 2 + \lfloor \frac{75}{5} \rfloor)=-2-11=-13$
@ -221,4 +221,4 @@ When implementing a new move attribute, it's important to override `MoveAttr`'s
- A move's **user benefit score (UBS)** incentivizes (or discourages) the move's usage in general. A positive UBS gives the move more incentive to be used, while a negative UBS gives the move less incentive.
- A move's **target benefit score (TBS)** incentivizes (or discourages) the move's usage on a specific target. A positive TBS indicates the move is better used on the user or its allies, while a negative TBS indicates the move is better used on enemies.
- **The total benefit score (UBS + TBS) of a move should never be 0.** The move selection algorithm assumes the move's benefit score is unimplemented if the total score is 0 and penalizes the move's usage as a result. With status moves especially, it's important to have some form of implementation among the move's attributes to avoid this scenario.
- **Score functions that use formulas should include comments.** If your attribute requires complex logic or formulas to calculate benefit scores, please add comments to explain how the logic works and its intended effect on the enemy's decision making.
- **Score functions that use formulas should include comments.** If your attribute requires complex logic or formulas to calculate benefit scores, please add comments to explain how the logic works and its intended effect on the enemy's decision making.

View File

@ -23,15 +23,6 @@ body {
}
}
#links {
width: 90%;
text-align: center;
position: fixed;
bottom: 0;
display: flex;
justify-content: space-around;
}
#app {
display: flex;
justify-content: center;
@ -93,7 +84,7 @@ input:-internal-autofill-selected {
@media (orientation: landscape) {
#touchControls {
--controls-size: 20vh;
--controls-size: 20vh;
--text-shadow-size: 1.3vh;
--small-button-offset: 4vh;
}
@ -148,10 +139,10 @@ input:-internal-autofill-selected {
/* Show cycle buttons only on STARTER_SELECT and on touch configuration panel */
#touchControls:not(.config-mode):not([data-ui-mode='STARTER_SELECT']) #apadOpenFilters,
#touchControls:not(.config-mode):not([data-ui-mode='STARTER_SELECT']) #apadCycleForm,
#touchControls:not(.config-mode):not([data-ui-mode='STARTER_SELECT']) #apadCycleShiny,
#touchControls:not(.config-mode):not([data-ui-mode='STARTER_SELECT'], [data-ui-mode='RUN_INFO']) #apadCycleForm,
#touchControls:not(.config-mode):not([data-ui-mode='STARTER_SELECT'], [data-ui-mode='RUN_INFO']) #apadCycleShiny,
#touchControls:not(.config-mode):not([data-ui-mode='STARTER_SELECT']) #apadCycleNature,
#touchControls:not(.config-mode):not([data-ui-mode='STARTER_SELECT']) #apadCycleAbility,
#touchControls:not(.config-mode):not([data-ui-mode='STARTER_SELECT'], [data-ui-mode='RUN_INFO']) #apadCycleAbility,
#touchControls:not(.config-mode):not([data-ui-mode='STARTER_SELECT']) #apadCycleGender,
#touchControls:not(.config-mode):not([data-ui-mode='STARTER_SELECT']) #apadCycleVariant {
display: none;

View File

@ -39,7 +39,6 @@
</style>
<link rel="stylesheet" type="text/css" href="./index.css" />
<link rel="manifest" href="./manifest.webmanifest">
<script type="text/javascript" src="https://app.termly.io/resource-blocker/c5dbfa2f-9723-4c0f-a84b-2895124e851f?autoBlock=on"></script>
<script>
if ("serviceWorker" in navigator) {
window.addEventListener("load", function () {
@ -144,13 +143,6 @@
</div>
</div>
<div id="tnc-links">
<a href="#" class="termly-display-preferences" style="display: none;" target="_blank" rel="noreferrer noopener">Consent Preferences</a>
<a href="https://app.termly.io/policy-viewer/policy.html?policyUUID=bc96778b-3f04-4d25-bafc-0deba53e8bec" target="_blank" rel="noreferrer noopener">Privacy Policy</a>
<a href="https://app.termly.io/policy-viewer/policy.html?policyUUID=8b523c05-7ec2-4646-9534-5bd61b386e2a" target="_blank" rel="noreferrer noopener">Cookie Disclaimer</a>
<a href="https://app.termly.io/policy-viewer/policy.html?policyUUID=b01e092a-9721-477f-8356-45576702ff9e" target="_blank" rel="noreferrer noopener">Terms & Conditions</a>
<a href="https://app.termly.io/policy-viewer/policy.html?policyUUID=3b5d1928-3f5b-4ee1-b8df-2d6c276b0bcc" target="_blank" rel="noreferrer noopener">Acceptable Use Policy</a>
</div>
<script type="module" src="./src/main.ts"></script>
<script src="./src/touch-controls.ts" type="module"></script>
<script src="./src/debug.js" type="module"></script>

View File

@ -2,6 +2,15 @@ pre-commit:
parallel: true
commands:
eslint:
glob: '*.{js,jsx,ts,tsx}'
glob: "*.{js,jsx,ts,tsx}"
run: npx eslint --fix {staged_files}
stage_fixed: true
stage_fixed: true
skip:
- merge
- rebase
pre-push:
commands:
eslint:
glob: "*.{js,ts,jsx,tsx}"
run: npx eslint --fix {push_files}

View File

@ -18,7 +18,8 @@
"eslint-ci": "eslint .",
"docs": "typedoc",
"depcruise": "depcruise src",
"depcruise:graph": "depcruise src --output-type dot | node dependency-graph.js > dependency-graph.svg"
"depcruise:graph": "depcruise src --output-type dot | node dependency-graph.js > dependency-graph.svg",
"create-test": "node ./create-test-boilerplate.js"
},
"devDependencies": {
"@eslint/js": "^9.3.0",

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,886 @@
{
"id": 216,
"graphic": "PRAS- Love",
"frames": [
[
{
"x": 0,
"y": 0,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 0,
"graphicFrame": 0,
"opacity": 255,
"priority": 1,
"focus": 3
},
{
"x": 128,
"y": -64,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 1,
"graphicFrame": 0,
"opacity": 255,
"locked": true,
"priority": 1,
"focus": 3
},
{
"x": 27,
"y": 0.5,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 2,
"graphicFrame": 3,
"opacity": 255,
"priority": 1,
"focus": 2
},
{
"x": -30,
"y": -6.5,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 2,
"graphicFrame": 3,
"opacity": 255,
"priority": 1,
"focus": 2
},
{
"x": -0.5,
"y": 18.5,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 2,
"graphicFrame": 3,
"opacity": 135,
"priority": 1,
"focus": 2
}
],
[
{
"x": 0,
"y": 0,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 0,
"graphicFrame": 0,
"opacity": 255,
"priority": 1,
"focus": 3
},
{
"x": 128,
"y": -64,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 1,
"graphicFrame": 0,
"opacity": 255,
"locked": true,
"priority": 1,
"focus": 3
},
{
"x": 27,
"y": -3,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 2,
"graphicFrame": 4,
"opacity": 255,
"priority": 1,
"focus": 2
},
{
"x": -30,
"y": -10,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 2,
"graphicFrame": 4,
"opacity": 255,
"priority": 1,
"focus": 2
},
{
"x": -0.5,
"y": 14.5,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 2,
"graphicFrame": 3,
"opacity": 255,
"priority": 1,
"focus": 2
}
],
[
{
"x": 0,
"y": 0,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 0,
"graphicFrame": 0,
"opacity": 255,
"priority": 1,
"focus": 3
},
{
"x": 128,
"y": -64,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 1,
"graphicFrame": 0,
"opacity": 255,
"locked": true,
"priority": 1,
"focus": 3
},
{
"x": 27,
"y": -7,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 2,
"graphicFrame": 5,
"opacity": 255,
"priority": 1,
"focus": 2
},
{
"x": -30,
"y": -13.5,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 2,
"graphicFrame": 5,
"opacity": 255,
"priority": 1,
"focus": 2
},
{
"x": -0.5,
"y": 10.5,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 2,
"graphicFrame": 4,
"opacity": 255,
"priority": 1,
"focus": 2
}
],
[
{
"x": 0,
"y": 0,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 0,
"graphicFrame": 0,
"opacity": 255,
"locked": true,
"priority": 1,
"focus": 3
},
{
"x": 128,
"y": -64,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 1,
"graphicFrame": 0,
"opacity": 255,
"locked": true,
"priority": 1,
"focus": 3
},
{
"x": 27,
"y": -10.5,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 2,
"graphicFrame": 5,
"opacity": 255,
"priority": 1,
"focus": 2
},
{
"x": -30,
"y": -17,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 2,
"graphicFrame": 5,
"opacity": 255,
"priority": 1,
"focus": 2
},
{
"x": -0.5,
"y": 6.5,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 2,
"graphicFrame": 5,
"opacity": 255,
"priority": 1,
"focus": 2
}
],
[
{
"x": 0,
"y": 0,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 0,
"graphicFrame": 0,
"opacity": 255,
"locked": true,
"priority": 1,
"focus": 3
},
{
"x": 128,
"y": -64,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 1,
"graphicFrame": 0,
"opacity": 255,
"locked": true,
"priority": 1,
"focus": 3
},
{
"x": 27,
"y": -14.5,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 2,
"graphicFrame": 5,
"opacity": 255,
"priority": 1,
"focus": 2
},
{
"x": -30,
"y": -21,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 2,
"graphicFrame": 5,
"opacity": 255,
"priority": 1,
"focus": 2
},
{
"x": -0.5,
"y": 2.5,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 2,
"graphicFrame": 5,
"opacity": 255,
"priority": 1,
"focus": 2
}
],
[
{
"x": 0,
"y": 0,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 0,
"graphicFrame": 0,
"opacity": 255,
"locked": true,
"priority": 1,
"focus": 3
},
{
"x": 128,
"y": -64,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 1,
"graphicFrame": 0,
"opacity": 255,
"locked": true,
"priority": 1,
"focus": 3
},
{
"x": 27,
"y": -18,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 2,
"graphicFrame": 4,
"opacity": 255,
"priority": 1,
"focus": 2
},
{
"x": -30,
"y": -24.5,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 2,
"graphicFrame": 4,
"opacity": 255,
"priority": 1,
"focus": 2
},
{
"x": -0.5,
"y": -1,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 2,
"graphicFrame": 5,
"opacity": 255,
"priority": 1,
"focus": 2
}
],
[
{
"x": 0,
"y": 0,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 0,
"graphicFrame": 0,
"opacity": 255,
"locked": true,
"priority": 1,
"focus": 3
},
{
"x": 128,
"y": -64,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 1,
"graphicFrame": 0,
"opacity": 255,
"locked": true,
"priority": 1,
"focus": 3
},
{
"x": 27,
"y": -22,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 2,
"graphicFrame": 4,
"opacity": 255,
"priority": 1,
"focus": 2
},
{
"x": -30,
"y": -28,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 2,
"graphicFrame": 4,
"opacity": 255,
"priority": 1,
"focus": 2
},
{
"x": -0.5,
"y": -5,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 2,
"graphicFrame": 5,
"opacity": 255,
"priority": 1,
"focus": 2
}
],
[
{
"x": 0,
"y": 0,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 0,
"graphicFrame": 0,
"opacity": 255,
"locked": true,
"priority": 1,
"focus": 3
},
{
"x": 128,
"y": -64,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 1,
"graphicFrame": 0,
"opacity": 255,
"locked": true,
"priority": 1,
"focus": 3
},
{
"x": 27,
"y": -25.5,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 2,
"graphicFrame": 4,
"opacity": 255,
"priority": 1,
"focus": 2
},
{
"x": -30,
"y": -31.5,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 2,
"graphicFrame": 4,
"opacity": 255,
"priority": 1,
"focus": 2
},
{
"x": -0.5,
"y": -9,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 2,
"graphicFrame": 5,
"opacity": 255,
"priority": 1,
"focus": 2
}
],
[
{
"x": 0,
"y": 0,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 0,
"graphicFrame": 0,
"opacity": 255,
"locked": true,
"priority": 1,
"focus": 3
},
{
"x": 128,
"y": -64,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 1,
"graphicFrame": 0,
"opacity": 255,
"locked": true,
"priority": 1,
"focus": 3
},
{
"x": 27,
"y": -29,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 2,
"graphicFrame": 5,
"opacity": 255,
"priority": 1,
"focus": 2
},
{
"x": -30,
"y": -35,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 2,
"graphicFrame": 5,
"opacity": 255,
"priority": 1,
"focus": 2
},
{
"x": -0.5,
"y": -13,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 2,
"graphicFrame": 4,
"opacity": 255,
"priority": 1,
"focus": 2
}
],
[
{
"x": 0,
"y": 0,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 0,
"graphicFrame": 0,
"opacity": 255,
"locked": true,
"priority": 1,
"focus": 3
},
{
"x": 128,
"y": -64,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 1,
"graphicFrame": 0,
"opacity": 255,
"locked": true,
"priority": 1,
"focus": 3
},
{
"x": 27,
"y": -33,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 2,
"graphicFrame": 5,
"opacity": 130,
"priority": 1,
"focus": 2
},
{
"x": -30,
"y": -39,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 2,
"graphicFrame": 5,
"opacity": 130,
"priority": 1,
"focus": 2
},
{
"x": 0,
"y": -16.5,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 2,
"graphicFrame": 4,
"opacity": 255,
"priority": 1,
"focus": 2
}
],
[
{
"x": 8,
"y": -2,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 0,
"graphicFrame": 0,
"opacity": 255,
"priority": 1,
"focus": 3
},
{
"x": 128,
"y": -64,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 1,
"graphicFrame": 0,
"opacity": 255,
"locked": true,
"priority": 1,
"focus": 3
},
{
"x": 27,
"y": -37,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 2,
"graphicFrame": 5,
"opacity": 70,
"priority": 1,
"focus": 2
},
{
"x": -30,
"y": -43.5,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 2,
"graphicFrame": 5,
"opacity": 70,
"priority": 1,
"focus": 2
},
{
"x": 0,
"y": -20.5,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 2,
"graphicFrame": 4,
"opacity": 130,
"priority": 1,
"focus": 2
}
],
[
{
"x": 16,
"y": -6,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 0,
"graphicFrame": 0,
"opacity": 255,
"priority": 1,
"focus": 3
},
{
"x": 128,
"y": -64,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 1,
"graphicFrame": 0,
"opacity": 255,
"locked": true,
"priority": 1,
"focus": 3
},
{
"x": 0,
"y": -24.5,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 2,
"graphicFrame": 4,
"opacity": 70,
"priority": 1,
"focus": 2
}
],
[
{
"x": 24,
"y": -8,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 0,
"graphicFrame": 0,
"opacity": 255,
"priority": 1,
"focus": 3
},
{
"x": 128,
"y": -64,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 1,
"graphicFrame": 0,
"opacity": 255,
"locked": true,
"priority": 1,
"focus": 3
},
{
"x": 124,
"y": -58,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 2,
"graphicFrame": 6,
"opacity": 255,
"priority": 1,
"focus": 3
}
],
[
{
"x": 12,
"y": -4,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 0,
"graphicFrame": 0,
"opacity": 255,
"locked": true,
"priority": 1,
"focus": 3
},
{
"x": 128,
"y": -64,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 1,
"graphicFrame": 0,
"opacity": 255,
"locked": true,
"priority": 1,
"focus": 3
},
{
"x": 124,
"y": -58,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 2,
"graphicFrame": 6,
"opacity": 255,
"priority": 1,
"focus": 3
}
],
[
{
"x": 0,
"y": 0,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 0,
"graphicFrame": 0,
"opacity": 255,
"locked": true,
"priority": 1,
"focus": 3
},
{
"x": 128,
"y": -64,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 1,
"graphicFrame": 0,
"opacity": 255,
"locked": true,
"priority": 1,
"focus": 3
},
{
"x": 124,
"y": -58,
"zoomX": 100,
"zoomY": 100,
"visible": true,
"target": 2,
"graphicFrame": 6,
"opacity": 130,
"priority": 1,
"focus": 3
}
]
],
"frameTimedEvents": {
"0": [
{
"frameIndex": 0,
"resourceName": "PRSFX- Return1.wav",
"volume": 100,
"pitch": 100,
"eventType": "AnimTimedSoundEvent"
}
],
"11": [
{
"frameIndex": 11,
"resourceName": "PRSFX- Return2.wav",
"volume": 100,
"pitch": 100,
"eventType": "AnimTimedSoundEvent"
}
]
},
"position": 3,
"hue": 0
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -5,7 +5,7 @@
"format": "RGBA8888",
"size": {
"w": 138,
"h": 30
"h": 31
},
"scale": 1,
"frames": [
@ -99,19 +99,19 @@
"trimmed": false,
"sourceSize": {
"w": 26,
"h": 30
"h": 31
},
"spriteSourceSize": {
"x": 0,
"y": 0,
"w": 26,
"h": 30
"h": 31
},
"frame": {
"x": 112,
"y": 0,
"w": 26,
"h": 30
"h": 31
}
}
]

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 56 KiB

After

Width:  |  Height:  |  Size: 55 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 413 B

View File

Before

Width:  |  Height:  |  Size: 405 B

After

Width:  |  Height:  |  Size: 405 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 509 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 700 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 741 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 987 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 405 B

After

Width:  |  Height:  |  Size: 833 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 455 B

After

Width:  |  Height:  |  Size: 917 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 410 B

After

Width:  |  Height:  |  Size: 601 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 365 B

After

Width:  |  Height:  |  Size: 647 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 283 B

After

Width:  |  Height:  |  Size: 496 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 327 B

After

Width:  |  Height:  |  Size: 574 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 366 B

After

Width:  |  Height:  |  Size: 666 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 414 B

After

Width:  |  Height:  |  Size: 707 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 334 B

After

Width:  |  Height:  |  Size: 533 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 362 B

After

Width:  |  Height:  |  Size: 425 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 319 B

After

Width:  |  Height:  |  Size: 598 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 380 B

After

Width:  |  Height:  |  Size: 686 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 418 B

After

Width:  |  Height:  |  Size: 782 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 495 B

After

Width:  |  Height:  |  Size: 874 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 501 B

After

Width:  |  Height:  |  Size: 905 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 554 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 560 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 658 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 658 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 495 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 485 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 600 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 583 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 709 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 702 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 625 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 625 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 643 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 641 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 662 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 655 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 725 B

After

Width:  |  Height:  |  Size: 738 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 567 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 573 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 726 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 704 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 742 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 746 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 717 B

After

Width:  |  Height:  |  Size: 716 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 658 B

After

Width:  |  Height:  |  Size: 725 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 669 B

After

Width:  |  Height:  |  Size: 707 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 572 B

After

Width:  |  Height:  |  Size: 591 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 576 B

After

Width:  |  Height:  |  Size: 592 B

Some files were not shown because too many files have changed in this diff Show More