* show currently bound controls on starter menu for last active device
* add special handling for touch controls
* remove hardcoded controls for all locales
* better phase management in tests
* cleanup runFrom/to
* first step of async error handling
* second step of async error handling, halt await, still an issue with select-starter test
* added back whenAboutToRun
* added back full run suite for starter-select.test.ts
* Added fix for Run Away ability being trapped by trapping abilities.
Added fix for ghost type pokemon not having a 100% chance to run from battles.
* Removed log statement
* Removed commented out code
* Removed ghost type run away mechanics
* type hints
* fix overwritten change
* don't set color to white, just leave it unchanged
* remove unrelated code
* don't show hints if no opponents, use type effectiveness instead of move effectiveness
* fix color not going back to white when new opponent is sent
* move effectiveness to move info container
* add effectiveness overlay, partial hints only show move effectiveness, improve colors
* lint
* docs
* remove full hints, move container to right of enemy info box
* hide effectiveness while flyout is visible
* move setting to display, use default style color instead of white
* 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
* Add more legendary battle music; add music preference setting
* Replace BDSP tracks
"Souless", they say. Naysayers, I say.
* Update for settings menu refactor
* Remove unnecessary Reshiram/Zekrom music calls
The default legendary battle music is the Reshiram & Zekrom battle theme anyways, so removing these lines make it functionally identical.
* Update for settings menu refactor AGAIN
* [Localization] #1761 Korean trainer dialogue(Gym leader in Johto with Elite-4)
* [Localization] #1761 Korean trainer dialogue(Gym leader in Johto with Elite-4)
* fixed word (by korean grammer)
* made chuck's dialogue clear
Co-authored-by: returntoice <dieandbecome@gmail.com>
* made lorelei's dialogue clear
Co-authored-by: returntoice <dieandbecome@gmail.com>
* fixed the spacing at dialogue.ts
Co-authored-by: returntoice <dieandbecome@gmail.com>
* fixed the spacing at dialogue.ts (with GINK-SS)
* Modified Karen's dialouge more characteristic
---------
Co-authored-by: returntoice <dieandbecome@gmail.com>
* refactor executed code while importing and initializing all of these in loading-scene
* reset to main
* fix server url
* added rule no-trailing-spaces
* made progress
* test somme data from a session save is working
* trying to launch a battle
* added fetch wrapper to load data locally
* trying to mockAllSettled
* pushPhase & shiftPhase
* check integrity of exported session
* set toke + loggedInUser in tests
* progress on starting new battle
* tring to test phase but it's async
* mocking fetch
* working mock fetch
* need to handle pile of data
* attempt to use real phaser classes
* reorder overrides
* refactored to use some real classes from phaser
* removed useless things
* started to work on some container mock
* finished the mockContainer time to add some logic
* some more mock containers
* removed addMethods since there is the mock classes now
* commented issues
* attempt to create mockTextureManager
* fix tests
* mockSprite & mockText
* yes but not really
* yes but not really
* fix tutorial callback
* reached mode title
* added achievement tests
* fix test achievements with current state of mock
* correct sequence loading for BattleScene with mockLoader !
* deep dive into next step
* working wait until starter selection screen
* added newGame method into wrapper
* expect to save_slot
* trying to manage pokemon sprite for getAll without success yet
* added test for egg output
* fixed egg test for June
* fix tests + locate next issue to fix
* we are in battle baby
* added new game in one-line
* export is working but export only what's in the fetch
* fix start game as guest
* refactored how we start a battle + cleanup
* overrided mewtwo but issue with currentBattle
* refactor: rename InitAchievements to initAchievements
* added missing mock method
* override level and pokemon forms working as intended
* bringToTop Obj
* remove launch battle in achivement test
* fix getIndex when same pokemon
* can run all tests
* first attack, faint, and shop modifiers, MockClock
* on method for container
* added doAttack one-liner
* one-line export data
* removed throw error
* feat: Make `scenes` property of `GameWrapper` class public
The `scenes` property of the `GameWrapper` class was changed from private to public. This change allows external access to the `scenes` map, which is used to store Phaser scenes. This modification was made to enable easier manipulation and interaction with the scenes in the game.
* correction
* removed CanvasRenderer
* added a param to remove console.log and added a param to preven scene create call
* fix encounter wave 30 when it's a trainer
* test double-battle
* test fight without KO
* test double fight no ko
* fix crashing texture + added Text wrapper to log fight
* fix tests on boss - trainer - rival
* chore: Refactor BattleScene initialization and add new phases
Refactor the BattleScene initialization code to remove unnecessary delay and improve performance. Also, add new phases for the title and unavailable states to enhance the game experience.
* rework of Game tests
* skipFn is working
* added onNextPrompt and restore Og Start
* better newGame
* added skipFN in remove
* not yet working test but updated interceptors
* do attack work but not on PostSummonPhase phase when there is mention of silcoon and wurmple
* error located, it's just a double fight, i was not there yet
* single OHKO & double no OHKO
* added expirationFn into next prompt
* all tests are passing
* working test on non damaging move from opponent
* cleaned a bit
* removed phaser initialisation on every tests
* renamed test file
* added load system data
* added some ability support
* added onKill & onSummon abilities test
* removed useless test + cleanup
* removed useless test + cleanup
* fixed tests after merge main
* added itemHeld endTurn trigger test (toxic orb)
* added runFrom..To
* added mustRun to assert currentPhase
* added no-miss move to test things
* cleaner restore mock
* fix test
* fix moxie test + game speed
* improve test speed
* added onOurself and onOpponent mvoe test
* added onDamage test for tackle
* removed timeout in intervals to run tests faster
* cleanup
* added never crit override + separate file per test + remove randomness in randBattleSeedInt
* move folders
* better org
* renamed itemHeld folder to items
* fix deploy.yml
* cleanup
* simplified the gameManager start battle and allow single pokemon in party
* remove the need of mode development
* added input handler to test inputs + remove time from phaser into inputController
* added keyboard support
* added fakeMobile support
* added details
* removed a console.log + added logUp
* move test to folder
* fixed canvas issue
* added starter select tests
* added some more test on starter-select
* added battle-order tests
* added battle-order tests
* fixing Phaser RNG
* ordering stats for better reading
* fix tests for main
* adapt battle-order test to be more readable
* fix merge
* fix some errors and silent all errors from gameWrapper since it's not possible to avoid them
* fix mocks to manage childs & stuffs
* added some docs
* fix achievement test
* removed an unused file
* separate misc tests to clean battle.test file
* added a basic french lokalization test
* added i18n where it needs to be used only
* revers extracted method
* removed unused method
* removed handler fetch since we do not test anything server related
* fix test with handlers removed
* added intrepid sword test
* fix enum exp party
---------
Co-authored-by: Frederico Santos <frederico.f.santos@tecnico.ulisboa.pt>
* Added check for move changing type before determining if defending is immune to it because of an ability
* Remove duplicate Ability change class and added getType() function under a move
* Reworking how moves get passed into hit calc
* Fixing exceptions and overreaching changes
* reverting forwarn and dancing move back to original since they are not being changed
* fixing some small move related bugs
* Fixing file permissions after testing
* Fixing move type not resetting after individual MoveEffectPhase
* Fixing move.ts permissions (again)
* Addressing some MR feedback and adding some documentation for PokemonMove class
* fixed wrongly stacking overlay issues
- starter selection
- IVs are now behind the overlay
- the overlay should clear when exiting it via controller (requires tests as i don't have a controller)
- TM
- will prevent C/Shift from showing the overlay until the next item selection, when selecting a TM as item reward.
- will prevent C/Shift from showing the overlay when canceling item selection
* removed reference to previously deleted resource
* fixed override
This also necessitated giving them unique front & back sprites too, even if they are currently just duplicates of the normal forms. This change will help players identify when they are using/have encountered a Partner Pikachu or Eevee.
* [Move] Implemented Court Change
* Returned overides to normal
* Added recommended changes
* Removed an unnecessary if statement for swaparenatagsattr
* Move the swaptags array to the call as well as changes to the quiet boolean
---------
Co-authored-by: Juan <jmora279@fiu.edu>
* [Localization] Apply Korean to update
ability-trigeer.ts
windPowerCharged: Wind Power/Wind Rider #1566
Perish Body #1554
Poison Heal #1245
menu.ts
Loading screen disclaimer 7c9e5e9
modifier-type.ts
TM description with overlay key notice #1585
* Correct wrong text and align text width
change RV
remove space from FGEN
* Edit wrong space
* Use special color(official) rather than unofficial shiny
* Translate iceFaceAvoidedDamage
* [Localization] #1761 Translation to Korean about some trainers
### trainer list
- ace_trainer
- parasol_lady
- twins
- cyclist
- black_belt
* fixed the grammar of some sentences. and changed Korean about ace trainer.
* Modify translation dialogue with parasol lday and cyclist
* Sort items in summary screen by type then name.
* Use modifierSortFunc from modifier.ts
* Implement proper sort function which also applies to the battle scene.
* Implement proper sort function which also applies to the battle scene.
* Run linter.
* Fix type assertions.
* Added Confusion to be healed with Full Heals and Full Restores
* Semi-Colon oversight
* Changed resetStatus to have a condition whether to include confusion or not, defaults to false so you manually have to add
* Fixed spacing and semicolon
* Refactored the Lum Berry case
* Fix berry conflicts
* Update {}
* Fix PP Conflict
* Build fix?
* Fix Modifier
* Build Fix
* Fix
* Fix StatuHeal from eslint
* Fix revive (will show testing through everything again)
* Update documentation
---------
Co-authored-by: Ethan <hensley.ethan64@gmail.com>
Co-authored-by: Ethan <71776311+EvasiveAce@users.noreply.github.com>
* 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
* [Feature] Move to start button when you can't add party anymore
* Add comment about #1673
* Update starter-select-ui-handler.ts
---------
Co-authored-by: Benjamin Odom <bennybroseph@gmail.com>
* Refactored settings UI menu options and added the battle style setting
* Removed the new Battle Style setting. It will be added in a seperate PR.
* Fixed typo and spacing
* Added "Skip Dialogues" option (if at least 1 classic win)
* Removed error sound and hide option instead when classic wins = 0
* Add skip dialogues option to Unlockables and show unlocked message on first classic win
* Only skips seen dialogues, removed dialogue option from unlockables, seen dialogues get saved to local storage
* oops
* dont show charSprite when skipping a dialogue, small fixes
* correctly reset move description scrolling when changing move
* override fix
---------
Co-authored-by: Frederik Hobein <frederik.hobein@nterra.com>
* Fix tokens not actually updating
* Remove changes to getArgs
* Added parentheses around conditional for safety
* Laid a space betwixt the two and its respective one at the behest of Temp
* move info implemented for starter selection
a move info box is displayed when editing the starter moveset.
also menus have now onHover triggers.
todo:
- show ui when selecting TMs
- show ui when selecting moves to remember (memory mushroom)
* More Move Info Overlays
Added overlays during Memory Mushroom use and when viewing TMs.
Furthermore a settings option can enable/disable those overlays.
* Added missing ko language entry
... though translation still remains necessary
* updated ui
also added overrides for item rewards
* minor ui update
moved values to the right in the tm move info box
* fixed typedoc issues
* removed settings in to prepare for merge
* updated settings option
added settings option to new settings implementation
* minor changes
removed unused graphic
moved settings option to accessibility
* 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
* Update Cosplay Pikachu stats
* Give Partner Pikachu its signature moves in its learnset
* Added a "custom" note next to stats
* Spread out signatures per Brain Frog's request
* Added "Skip Dialogues" option (if at least 1 classic win)
* Removed error sound and hide option instead when classic wins = 0
* Add skip dialogues option to Unlockables and show unlocked message on first classic win
* Only skips seen dialogues, removed dialogue option from unlockables, seen dialogues get saved to local storage
* oops
* dont show charSprite when skipping a dialogue, small fixes
* pokemonInfoContainer always on top of battle UI when shown
* removed setDepth and rather hide enemyModifierBar
---------
Co-authored-by: Frederik Hobein <frederik.hobein@nterra.com>
* Voucher Item tier changes/addition
- Voucher moved from Ultra -> Great Tier, given a weight of 1 and disappears after first reroll, should still appear more often with a healthy team than in ultra tier at all.
- Voucher Plus moved from Master -> Rogue Tier, with weight starting at 9 -> 5 and decreasing with each reroll with 3 -> 2
Should appear just a bit more often than before.
- Voucher Premium added to Master (based on suggestion from Madmadness) with same weight as new Voucher Plus, and disabled in Endless / Endless Spliced
Should appear ~20% of the time with *perfect luck* in a whole average classic run.
Overall would be a 40-45% increase in total eggs in perfect conditions (luck, healthy team, etc.)
* fixed an extra spacebar at the end of 1303
* fixed an extra spacebar at the end of 1360
* fixed to account for Wide Lens being added
* Added "Skip Dialogues" option (if at least 1 classic win)
* Removed error sound and hide option instead when classic wins = 0
* Add skip dialogues option to Unlockables and show unlocked message on first classic win
* Only skips seen dialogues, removed dialogue option from unlockables, seen dialogues get saved to local storage
* oops
* dont show charSprite when skipping a dialogue, small fixes
* pokemonInfoContainer always on top of battle UI when shown
---------
Co-authored-by: Frederik Hobein <frederik.hobein@nterra.com>
* Balanced tokens
* Remove existing tokens, all 10 stack limit
* Linter complained
* Sorry Mr. Lint I’ll do better next time
* Removed redundant min
* Used a version system to update tokens
* The linter has peculiar tastes
* See if this works
* I'm at my limit omg wtf Sam
* Call me Swoobat the way I keep it Simple
* Clean up some log statements
* Adjust token weights to make up for removal of sleep and freeze
* Be so fr GitHub that’s not a real merge conflict
* Handle if the browser gives a long form of a language (like "de-DE") for cases where we only have the short form "de".
* Changed it so that now resolved Language is now used anywhere. This is basically what i orignally did manually but provided from i18next directly
* Updated champion teams
* Forgot Alder's legendary
* Give Alder Genesect
* Merge and update
* Update teams a bit more
* Red now leads with Pikachu, fixed Iris dialogue
* Add champ leads
* Add possibility to override whole user party
* Update species overriding
* Replace SPARTER_SPECIES_OVERRIDE with array
* Replace SPARTER_SPECIES_OVERRIDE with array
* Add possibility to override species forms
* Add possibility to override species forms
* Fix eslint styling
* Add possibility to override Abilities for party
* Override status, gender, moveset
* Add possibility to override shinies
* Fix CI
They do not have sprite differences currently, so they won't be able to be identified at a glance, but they do have the canon stat differences between "sizes".
In Korean, postpositional particles vary depending on whether the
preceding syllable ends in a consonant or a vowel. Currently there
is no ability differentiate between the two types of particles, so both
forms are being used at the same time.
To remedy this problem, I added the relevant i18next processor to
properly select and print the correct form of the particle.
* fixed translations and started dialogues
* ptBR translations
* fixes
* minor fix
* minor fixes 2
* firebreather
* minor translations
* minor translations
* Added "Skip Dialogues" option (if at least 1 classic win)
* Removed error sound and hide option instead when classic wins = 0
* Add skip dialogues option to Unlockables and show unlocked message on first classic win
* Only skips seen dialogues, removed dialogue option from unlockables, seen dialogues get saved to local storage
* oops
* dont show charSprite when skipping a dialogue, small fixes
---------
Co-authored-by: Frederik Hobein <frederik.hobein@nterra.com>
* Voucher and Wide Lens item table Changes
- Wide Lens moved from Rogue -> Ultra Tier, same weight
- Voucher moved from Ultra -> Great Tier, same weight
- Voucher Plus moved from Master -> Rogue Tier, with weight starting at 9 -> 6 and decreasing with each reroll with 3 -> 2
- Voucher Premium added to Master (based on suggestion from Madmadness) with same weight as new Voucher Plus, and disabled in Endless / Endless Spliced
* Added Berry Count limiter
2 count for Lum, Leppa, Sitrus, Enigma
3 count for all else
* fix test 1
* fix test 2
I blame browser coding for this
* fix test 3
I BLAME BROWSER CODING
* Changed Berry Pouch to 30% > 33*%, max stack 90% > 100%
* fix test 4!!!!
oops
* english.
* german.
* spanish.
* french.
* italian
* portugese.
* simplified chinese.
* traditional chinese.
* Removed voucher changes, making separate PR for them to be discussed.
* Swapped switch statement to .includes statement
* Update modifier-type.ts
* thank you cheek pouch pr
* organizing, translations and achv localization
* localized for all languages
* minor fix
* minor fix 2
* minor fix 3
* Fixed Achivment Localization, Added german localization and fixes some issues with german localization at other parts
* fix pickup description
* Update French achv.ts
* French typo correction achv.ts
* eslint fixes
* added zhTW
* minor fix
* Achivment Bar is localized and gets bigger when using german
* Changed some things to make it not as Big
* The Achivment Bar now grows with the context
* Updated Achivment Names in german
* Update French achv.ts
* Vouchers now will show the correct descrption again
* minor fix
* minor fixes
* "sub" to "semi"
* minor fix
* fixes warning and organizes some files
* forgot about english
* korean translations
* test fix
---------
Co-authored-by: Jannik Tappert <tappertjannik@googlemail.com>
Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com>
Co-authored-by: Lugiad <adrien.grivel@hotmail.fr>
* Fixing Liquid Ooze to turn move user and not one with the ability as well as converted strength sap to use same logic instead of making it a separate class
* Replaced "undefined" with "null"
* Updated based on feedback + fix file permissions
* Fixing file permission on battler-tags
* Adding localization for drain message
* Apparently this file is 755 unlike the others
* Removed ability for custom message in exchange for getting to pass Pokemon name
* Once again changing moves from 644 to 755 like it is in repo right now :)
* putting ability back to 755 (why are file permissions all over the place)
* toxic and flame orb odds tweak and localisation
* Update modifier-type.ts
German name, but English description
* Update modifier-type.ts
Spanish done, in this regard!
* Update src/locales/fr/modifier-type.ts
French translation, thanks @Dakurei
Co-authored-by: Dakurei <maxime.palanchini@gmail.com>
* Update src/locales/fr/modifier-type.ts
French translation, thanks @Dakurei
Co-authored-by: Dakurei <maxime.palanchini@gmail.com>
* Update modifier-type.ts
Missed eliminating the "."
* Update modifier-type.ts
* Update modifier-type.ts
"it" gets proper English description, waiting on an Italian localisation
* Update modifier-type.ts
fixed the english desc.
* Update src/locales/it/modifier-type.ts
it localisation
Co-authored-by: Dakurei <maxime.palanchini@gmail.com>
* Update src/locales/it/modifier-type.ts
GoaTed translator
Co-authored-by: Dakurei <maxime.palanchini@gmail.com>
* Update modifier-type.ts
English in pt
* Update modifier-type.ts
English everywhere zzz
* Update modifier-type.ts
Final English, ready for translation by whoever sees it fit!
* Update src/locales/pt_BR/modifier-type.ts
Fixed a mixup
Co-authored-by: Dakurei <maxime.palanchini@gmail.com>
* Update src/locales/pt_BR/modifier-type.ts
Fixed a mixup
Co-authored-by: Dakurei <maxime.palanchini@gmail.com>
* Update modifier-type.ts
Added DerTapp translations without the "Ein Item zum Tragen." part for consistency throughout the file and with the rest of the locales, and according to what was briefly discussed in the Discord last night.
* Update modifier-type.ts
Missed taking out the "." in the /de, to keep it consistent with all other descriptions
* Delete src/locales/ko/modifier-type.ts
Korean localisation is already done
* Add back ko modifier-type
---------
Co-authored-by: Dakurei <maxime.palanchini@gmail.com>
Co-authored-by: Benjamin Odom <bennybroseph@gmail.com>
Co-authored-by: Temps Ray <temps.ray@gmail.com>