A browser based Pokémon fangame heavily inspired by the roguelite genre.
Go to file
flx-sta 7a0c88e661
[Refactor] Pokerogue API client (#4583)
* start migrating Utils.apiFetch to api class

* move dailyranking to api

* use api in title-ui-handler

* remove: Utils.apiFetch

* migrate `updateSystemSavedata` to api

* migrate clear session savedata to api

* migrate updateAllSavedata to api

* migrate `updateSessionSavedata` to api

* rename `api` to `pokerogue-api`

* migrate unlink discord to pokerogue-api

* migrate unlink google to pokerogue-api

* update pokerogue-api login

* migrate register account to pokerogue-api

* remove Utils.apiPost

* reset overrides.ts

* chore: cleanup

* fix env.development

* fix circular dependencies with api

* fix gamedata verify missing await

* fix daily api calls in daily-run-scorebard

* fix discord-link request body being empty

there was a double `toUrlSearchParams()` call involved

* add pokerogue-api test coverge

* add test-utils `getApiBaseUrl()` method

* add pokerogue-admin-api test coverage

* add pokerogue-account-api test coverage

* add pokerogue-daily-api test coverage

* add pokerogue-savedata-api test coverage

* fix some test describes

* add pokerogue-session-savedata-api test coverage

* add pokerogue-system-savedata-api test coverage

* fix tests

* fix tryExportData

thanks @MokaStitcher

* chore: fix menu-ui-handlers.ts

* fix admin-ui-handler (types)

* extend test-coverage for admin-api

* remove outdated code

* skip some clowning-around-encounter tests if events are active

this is not a permanent solution

* Update src/system/game-data.ts

Co-authored-by: PigeonBar <56974298+PigeonBar@users.noreply.github.com>

* Revert "skip some clowning-around-encounter tests if events are active"

This reverts commit a97dafe8b2.

* mark `localServerUrl` and `apiUrl` as deprecated

in `utils.ts`

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: PigeonBar <56974298+PigeonBar@users.noreply.github.com>
2024-11-04 15:57:21 -05:00
.github Change deploy script to specify "main" instead of `default_branch` (#4557) 2024-10-06 05:47:34 +01:00
docs [Refactor/Bug/Move] Overhaul Stats and Battle Items, Implement Several Stat Moves (#2699) 2024-09-02 22:12:34 -04:00
public [Refactor] Reduced nesting in MoveEffectPhase (#3541) 2024-11-02 22:55:15 -04:00
src [Refactor] Pokerogue API client (#4583) 2024-11-04 15:57:21 -05: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 [Misc] Disable some leftover debug code (#4546) 2024-10-02 13:13:16 -04:00
.env.development [Misc] Disable some leftover debug code (#4546) 2024-10-02 13:13:16 -04: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
.gitmodules [Refactor] External locales (#4529) 2024-10-01 23:41:09 +01:00
LICENSE Update license to AGPL 3 2024-03-25 19:22:58 -04:00
README.md [Misc] Update readme to include relevant links (#4573) 2024-10-04 10:42:05 -04:00
create-test-boilerplate.js [Test] Update `create-test` script for linting changes (#4587) 2024-10-05 19:52:13 -04:00
dependency-graph.js Add dependency cruiser command (#2192) 2024-06-16 00:26:37 -04:00
eslint.config.js Add eslint rule to enforce indenting of `case` statements (#4692) 2024-10-20 02:44:36 +01:00
favicon.ico Replace favicon with no BG version 2024-03-25 12:45:45 -04:00
global.d.ts [Refactor] Pokerogue API client (#4583) 2024-11-04 15:57:21 -05: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 [Refactor] External locales (#4529) 2024-10-01 23:41:09 +01:00
package-lock.json [Hotfix] Fix crash when Mist would block a stat drop (#4746) 2024-10-28 14:02:10 +01:00
package.json [Hotfix] Fix crash when Mist would block a stat drop (#4746) 2024-10-28 14:02:10 +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. To view the complete rules, check out the eslint.config.js file.

📚 Documentation

You can find the auto-generated documentation here. For information on enemy AI, check out the enemy-ai.md file. For detailed guidelines on documenting your code, refer to the comments.md file.

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

How do I retrieve the translations?

  • The translations were moved to the dedicated translation repository and are now applied as a submodule in this project.
  • The command to retrieve the translations is git submodule update --init --recursive. If you still struggle to get it working, please reach out to #dev-corner channel in Discord.

🪧 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