A browser based Pokémon fangame heavily inspired by the roguelite genre.
Go to file
flx-sta 95386861bb
[Qol][Refactor] i18n lazy-loading (#4327)
* 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
2024-10-01 21:55:16 +01:00
.github Update FUNDING.yml 2024-09-28 13:13:18 -04:00
docs [Refactor/Bug/Move] Overhaul Stats and Battle Items, Implement Several Stat Moves (#2699) 2024-09-02 22:12:34 -04:00
public [Qol][Refactor] i18n lazy-loading (#4327) 2024-10-01 21:55:16 +01:00
src [Qol][Refactor] i18n lazy-loading (#4327) 2024-10-01 21:55:16 +01:00
.dependency-cruiser.cjs Add dependency cruiser command (#2192) 2024-06-16 00:26:37 -04:00
.env Beta Merge 27/07 (#3141) 2024-07-28 00:47:00 +01:00
.env.beta Update .env.beta 2024-09-28 17:35:13 -04:00
.env.development Beta Merge 27/07 (#3141) 2024-07-28 00:47:00 +01:00
.env.production Beta Merge 27/07 (#3141) 2024-07-28 00:47:00 +01:00
.env.test Beta Merge 27/07 (#3141) 2024-07-28 00:47:00 +01:00
.gitattributes Initial commit 2023-03-28 14:54:52 -04:00
.gitignore Beta Merge 27/07 (#3141) 2024-07-28 00:47:00 +01:00
LICENSE Update license to AGPL 3 2024-03-25 19:22:58 -04:00
README.md [Miscellaneous] Add new Lake and RUins biome BGM by Lmz (#4319) 2024-09-18 19:00:06 -04:00
create-test-boilerplate.js [Dev][Test] Add "Mystery Encounter" type for `create-test` script + minor timeout fixes (#4350) 2024-09-20 17:54:37 -04:00
dependency-graph.js Add dependency cruiser command (#2192) 2024-06-16 00:26:37 -04:00
eslint.config.js [Misc] eslint rule to prevent `.js` imports (#4160) 2024-09-10 22:34:50 +02:00
favicon.ico Replace favicon with no BG version 2024-03-25 12:45:45 -04:00
index.css Auto center the window vertically (#2686) 2024-09-17 17:55:50 +01:00
index.html Added Donate Link to Community Page (#3989) 2024-09-03 01:37:53 +01:00
lefthook.yml skip pre-commit on merge and rebase, add pre-push (#1607) 2024-09-05 10:08:00 +00:00
package-lock.json [Qol][Refactor] i18n lazy-loading (#4327) 2024-10-01 21:55:16 +01:00
package.json [Qol][Refactor] i18n lazy-loading (#4327) 2024-10-01 21:55:16 +01:00
tsconfig.json [Refactor] use typescript `strict-null` (#3259) 2024-08-07 17:23:12 +01:00
update_exp_sprites.ps1 Fix crash with certain animated variant sprites 2024-04-26 02:00:58 -04:00
vite.config.ts Being explicit in vite configuration for relative paths (#4264) 2024-09-16 21:08:50 +02:00
vitest.config.ts [Refactor][Tests] Set default test timeout to `20s` (#4338) 2024-09-20 23:05:45 +02:00
vitest.workspace.ts [Bug] Use silent mode during tests (unless debugging!) + test workflow optimization (#4154) 2024-09-10 22:13:42 +01:00

README.md

PokéRogue

PokéRogue is a browser based Pokémon fangame heavily inspired by the roguelite genre. Battle endlessly while gathering stacking items, exploring many different biomes, fighting trainers, bosses, and more!

Contributing

🛠️ Development

If you have the motivation and experience with Typescript/Javascript (or are willing to learn) please feel free to fork the repository and make pull requests with contributions. If you don't know what to work on but want to help, reference the below To-Do section or the #feature-vote channel in the discord.

💻 Environment Setup

Prerequisites

Running Locally

  1. Clone the repo and in the root directory run npm install
    • if you run into any errors, reach out in the #dev-corner channel in discord
  2. Run npm run start:dev to locally run the project in localhost:8000

Linting

We're using ESLint as our common linter and formatter. It will run automatically during the pre-commit hook but if you would like to manually run it, use the npm run eslint script.

FAQ

How do I test a new _______?

  • In the src/overrides.ts file there are overrides for most values you'll need to change for testing

🪧 To Do

Check out Github Issues to see how can you help us!

📝 Credits

If this project contains assets you have produced and you do not see your name here, please reach out.

🎵 BGM

  • Pokémon Mystery Dungeon: Explorers of Sky
    • Arata Iiyoshi
    • Hideki Sakamoto
    • Keisuke Ito
    • Ken-ichi Saito
    • Yoshihiro Maeda
  • Pokémon Black/White
    • Go Ichinose
    • Hitomi Sato
    • Shota Kageyama
  • Pokémon Mystery Dungeon: Rescue Team DX
    • Keisuke Ito
    • Arata Iiyoshi
    • Atsuhiro Ishizuna
  • Pokémon HeartGold/SoulSilver
  • Pokémon Black/White 2
  • Pokémon X/Y
  • Pokémon Omega Ruby/Alpha Sapphire
  • Pokémon Sun/Moon
  • Pokémon Ultra Sun/Ultra Moon
  • Pokémon Sword/Shield
  • Pokémon Legends: Arceus
  • Pokémon Scarlet/Violet
  • Firel (Custom Ice Cave, Laboratory, Metropolis, Plains, Power Plant, Seabed, Space, and Volcano biome music)
  • Lmz (Custom Ancient Ruins, Jungle, and Lake biome music)
  • Andr06 (Custom Slum and Sea biome music)

🎵 Sound Effects

  • Pokémon Emerald
  • Pokémon Black/White

🎨 Backgrounds

  • Squip (Paid Commissions)
  • Contributions by Someonealive-QN

🎨 UI

  • GAMEFREAK
  • LJ Birdman

🎨 Pagefault Games Intro

  • Spectremint
  • Gonstar (Paid Commission)

🎨 Trainer Sprites

  • GAMEFREAK (Pokémon Black/White 2, Pokémon Diamond/Pearl)
  • kyledove
  • Brumirage
  • pkmn_realidea (Paid Commissions)
  • IceJkai

🎨 Trainer Portraits

  • pkmn_realidea (Paid Commissions)

🎨 Pokemon Sprites and Animation

  • GAMEFREAK (Pokémon Black/White 2)
  • Smogon Sprite Project (Various Artists)
  • Skyflyer
  • Nolo33
  • Ebaru
  • EricLostie
  • KingOfThe-X-Roads
  • kiriaura
  • Caruban
  • Sopita_Yorita
  • Azrita
  • AshnixsLaw
  • Hellfire0raptor
  • RetroNC
  • Franark122k
  • OldSoulja
  • PKMarioG
  • ItsYugen
  • lucasomi
  • Pkm Sinfonia
  • Poki Papillon
  • Fleimer_
  • bizcoeindoloro
  • mangalos810
  • Involuntary-Twitch
  • selstar
  • koda_want_to_sleep

🎨 Move Animations

  • Pokémon Reborn