Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Enhancement] Refactor Starter Species to use separate EggTier map #4590

Closed

Conversation

ben-lear
Copy link
Collaborator

@ben-lear ben-lear commented Oct 5, 2024

What are the changes the user will see?

No functional changes.

Why am I making these changes?

Creates a new Species EggTier map that can be used by Balance team to set EggTier separately from a species' starter cost. Allows for situations like BM Ursaluna, where it is an Epic egg but has starter cost of 5, etc.

What are the changes from a developer perspective?

Not much changes, except an egg gets its EggTier from the speciesEggTier map now instead of from speciesStarterCosts.

How to test the changes?

Eggs are hatching with normal expected species. There are no balance changes in this PR.

Checklist

  • I'm using beta as my base branch
  • There is no overlap with another PR?
  • 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 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?
    • Have I provided screenshots/videos of the changes?

patapancakes and others added 30 commits September 28, 2024 17:35
* feat: show app version on title screen

* fix: adjust app version positions

* update app version text

---------

Co-authored-by: flx-sta <[email protected]>
* Update ability-trigger.json

* Update ability-trigger.json

---------

Co-authored-by: Lugiad <[email protected]>
* Syrup Bomb + Tests

* Fix typo on import

* Documentation

* Apply suggestions from code review

Co-authored-by: NightKev <[email protected]>

* Removed unnecessary overlap check

* Removed obsolete comment

* learned how forceHit works

* added custom lapse message

---------

Co-authored-by: frutescens <info@laptop>
Co-authored-by: Madmadness65 <[email protected]>
Co-authored-by: NightKev <[email protected]>
…ints (pagefaultgames#4428)

* reimplement gulp missile

* cleanup + docs

* more cleanup

* add override

* update paths
…agefaultgames#4398)

* fixing form issues generating tms pokemon shouldnt have

* cleaning up some code

* fixing tests and allowing rotom unique moves to be learned as tms for that rotom form

* Update src/test/field/pokemon.test.ts

Co-authored-by: flx-sta <[email protected]>

* making tests simpler

---------

Co-authored-by: flx-sta <[email protected]>
Bumps [rollup](https://github.com/rollup/rollup) from 4.18.1 to 4.22.4.
- [Release notes](https://github.com/rollup/rollup/releases)
- [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md)
- [Commits](rollup/rollup@v4.18.1...v4.22.4)

---
updated-dependencies:
- dependency-name: rollup
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 5.3.5 to 5.4.8.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v5.4.8/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v5.4.8/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: NightKev <[email protected]>
* Implement Plasma Fists

* Update arena-tag.json

* Update arena-tag.json

* Update arena-tag.json

* Update arena-tag.json

* Update arena-tag.json

* Update arena-tag.json

* Update arena-tag.json

* Update arena-tag.json

* Update arena-tag.json

* Update arena-tag.json

---------

Co-authored-by: Lugiad <[email protected]>
Swap `FirstMoveCondition` to use the new `waveTurnCount` field
…#4524)

* Update the-expert-pokemon-breeder-dialogue.json

* Update the-expert-pokemon-breeder-dialogue.json

* Update the-expert-pokemon-breeder-dialogue.json

* Update the-expert-pokemon-breeder-dialogue.json

* Update the-expert-pokemon-breeder-dialogue.json
* Update modifier-type.json

* Update delibirdy-dialogue.json

* Update department-store-sale-dialogue.json

* Update global-trade-system-dialogue.json

* Update modifier-type.json

* Update party-ui-handler.json

* Update settings.json

* Update trash-to-treasure-dialogue.json

* Update uncommon-breed-dialogue.json

* Update training-session-dialogue.json

* Update egg.json

* Update battle.json

* Update dialogue.json
…agefaultgames#4501)

* Increase Champion BST

* Slight E4 BST increase

* Update trainer-config.ts

* Move E4/Champion minimum BST values to consts

* Update tsdocs for new consts

---------

Co-authored-by: NightKev <[email protected]>
…pagefaultgames#4528)

* fixing weather check in getCondition()

* adding enemy tests
* move: locales files to `/public` (from `/src`)

* install: i18next-http-backend module

* implement: i18next language lazy-loading

* remove: all `config.ts` files (for locales)

* disable: enConfig import in i18next.d.ts

* remove: console.log from utils.camelCaseToKebabCase()

* remove localization tests

we don't need to test if i18next is working.
This is the job of i18next itself

* mock i18next for tests

* fix: tests that have to use the i18next key now

instead of the english translation

* fix: absolute-avarice-encounter test

* fix: loading mystery-encounter translations

with lazy-load

* fix: 2 mystery encounter translation loading

* replace: i18next mocks any vi.fn() calls

* fix: new namespace usage in ME tests

now using "mysteryEncounters/..."

* fix: delibirdy encounter not being language specific

the encounter was checking if the modifier name includes `Berry` which is only true for english. Instead it has to check if the modifier is an instance of BerryModifier

* fix: the-expert-pokemon-breeder

the new i18n pattern requires a different namespacing which has been adopted

* fix: GTS encounter tests

* add: `MockText.on()`

* fix: berries abound test

* chore: apply review suggestion

from @DayKev

* update i18next.d.ts

* chore: fix i18next.d.ts

* fix: `dialogue-misc` switchup between `en` and `ja`

* move: `SpeciesFormKey` into enum

there was an issue with circular dependencies

* replace: `#app/enums/` with `#enums/` for `SpeciesFormKey` imports

* re-sync locales from `beta`

* rename: `ca_ES` -> `ca-ES`

* rename: `pt_BR` -> `pt-BR`

* rename: `zh_CN` -> `zh-CN`

* rename: `zh_TW` -> `zh-TW`

* fix loading Species-Form-Key in poemon-evo.

* update: i18next `supporterLngs` ...

and remove `nonExplicitSupportedLngs`

* fix: `${namespace}.` -> `${namespace}:`

thanks @MokaStitcher
* Removed local translation files

added translations submodule

[Enhancement] Add post-merge command to update submodules in lefthook configuration

[Enhancement] Add postinstall script to install lefthook after package installation

[Enhancement] Update postinstall script to run post-merge command after lefthook installation

* Add subproject commit for locales directory

* Remove translation team assignments from CODEOWNERS

* Add recursive submodule checkout to workflow files and update README for translations

* fix: run without locales present (pagefaultgames#4539)

some code was hard-wired with  locales having to be present. This is no longer the case now

---------

Co-authored-by: flx-sta <[email protected]>
MokaStitcher and others added 27 commits October 3, 2024 10:33
)

* fmake weather damage consistent with the rest of the game

* [test] add  some sandstorm and hail tests
* Have Friendship Value be shown in summary

* Fix how "fill" of icon is calced

* Update src/locales/de/pokemon-summary.json

* Actually add the images

* Add correct image files

* Update src/ui/summary-ui-handler.ts

Co-authored-by: Adrian T. <[email protected]>

* Update src/ui/summary-ui-handler.ts

Co-authored-by: Adrian T. <[email protected]>

* Update src/ui/summary-ui-handler.ts

* Update src/ui/summary-ui-handler.ts

Co-authored-by: MokaStitcher <[email protected]>

* Made changed suggested in code review

* Update src/locales/en/pokemon-summary.json

---------

Co-authored-by: Adrian T. <[email protected]>
Co-authored-by: MokaStitcher <[email protected]>
…ype. (pagefaultgames#4445)

* Fix Toxic to bypass semi-invulnerability when used by a Poison-type.

* Apply suggestion to refactor BerryPhase in Toxic move tests.

Co-authored-by: NightKev <[email protected]>

* Corrected missing quotes on a BerryPhase in Toxic.test.

---------

Co-authored-by: NightKev <[email protected]>
* Scale Shot

* Docstrings for StatStageChangeAttr

* Add test for scale shot
* refactor: apply Modifiers type inference (pattern)

Mirror from pagefaultgames#1747

Co-authored-by: Dmitriy <[email protected]>

* fix: PokemonBaseStatTotalModifier.apply having a `[1]` left

* fix: HeldItemTransferModifier.apply missing `...args: unknown[]`

* Replace relative imports with absolute imports in `modifier.ts`

* chore: fix TS1016* error

[*]  A required parameter cannot follow an optional parameter.

* chore: fix namings, types and docs

suggested by @torranx

* replace: `IntegerHolder` with `NumberHolder` & `integer` with `number`

* chore: apply review suggestions

by @torranx

* chore: address review feedback

from @torranx

* update: imports in `modifier-types`

* update `lapse` calls in modifier.ts

* fix lapse call in `battle-end-phase`

* minor adjustments in `modifier.ts`

* fix `EnemyEndureChanceModifier.apply` types

* fix `EnemyAttackStatusEffectChanceModifier.apply` types

* fix `EnemyTurnHealModifier.apply` types

* fix `EnemyStatusEffectHealChanceModifier.apply` types

---------

Co-authored-by: Dmitriy <[email protected]>
Co-authored-by: NightKev <[email protected]>
…even when used by enemy pokemon (pagefaultgames#3369)

* Fixes bug with Status Cure moves only curing player pokemon, refactors PartyStatusCureAttr, removes PartyStatusCurePhase

* Adds check for user ID, since user always cures its own status regardless of ability

* Adds unit tests for sparkly swirl

* Merge and fix conflicts

* Fix conflicts with SPLASH_ONLY

* Fix failing sparkly swirl test due to splash_only

* Adds unit tests for heal bell and aromatherapy

* Update src/data/move.ts

---------

Co-authored-by: flx-sta <[email protected]>
…ra Blast (pagefaultgames#4549)

* fully implement tera starstorm

* add docs

* add tests

* add override keyword

* account for fusion

* swap party positions

* add partial tag to tera blast

* address comments
…gefaultgames#4562)

Ensure that a Pokémon's animation speed is reset properly after saving
and quitting. Previously, if a Pokémon was put to sleep, which slows
its framerate, saving and quitting would result in the slower framerate
persisting even though the Pokémon was no longer asleep. This fix adds
an else condition to reset the frameRate to 12 if the sprite is already
loaded upon resuming the game.

Fixes pagefaultgames#4465
* Add fusion options to overrides

* Add fusions overrides to overridesHelper

---------

Co-authored-by: MokaStitcher <[email protected]>
Co-authored-by: Adrian T. <[email protected]>
Co-authored-by: NightKev <[email protected]>
…ltgames#4571)

* [Test] Fix some test flakiness involving game.doKillOpponents()

* PR Feedback

* Fix linting

---------

Co-authored-by: NightKev <[email protected]>
…3974)

* Refactor `MovePhase` to improve readability/maintainability

Add tsdocs/comments all over

Mark all functions/fields with public/etc

Fix multi-hit moves called from Metronome/etc, fixes pagefaultgames#3914

Remove unused function `BattleScene.pushMovePhase`

Don't use failure text as a condition for move success
A move defining potential failure text doesn't mean it failed

Replace relative imports with absolute imports in `battle-scene.ts`

Change some fields from optional to default `false`

* Fix Whirlwind test

* Fix linting
…ns (pagefaultgames#4568)

* Fix TM compatibility on forms, Tera Blast on Indigo Disk mons

* Additional single strike moves

---------

Co-authored-by: NightKev <[email protected]>
* Implement Fire/Grass Pledge combo

* Add other Pledge combo effects (untested)

* Fix missing enums

* Pledge moves integration tests

* Add turn order manipulation + more tests

* Safeguarding against weird Instruct interactions

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

Co-authored-by: NightKev <[email protected]>

* Fix style issues

* Delete arena-tag.json

* Update package-lock.json

* Use `instanceof` for all arg type inference

* Add Pledge Move sleep test

* Fix linting

* Fix linting

Apparently GitHub has a limit on how many errors it will show

* Pledges now only bypass redirection from abilities

---------

Co-authored-by: NightKev <[email protected]>
* Implement Electrify

* ESLint

* Fix docs
…emon (pagefaultgames#4544)

* Diamond Storm should only trigger once when hitting multiple pokemon

* Also fix Clangorous Soulblaze just in case

* Fix linting

* Fix linting

Oops missed this one
If due to fusions you have the same ability as both passive and normal, it'll no longer stack with itself.
@Madmadness65 Madmadness65 added Enhancement New feature or request Balance Team Specifically a balance team change labels Oct 5, 2024
@ben-lear ben-lear closed this Oct 5, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Balance Team Specifically a balance team change Enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.