* Create battle-info directory and move battle-info.ts to it * Move player and enemy battle info to their own files * Move subclass specific parts of constructor to subclass constructor * Fixup mock gameobject methods to match phaser gameobject returns * Make statOrder specific to subclass * Create getShinyDescriptor function in utils * Move icon construction to its own function * Cleanup enemybattleinfo constructor to use chaining * Make flyout exclusive to EnemyBattleInfo * Move EnemyPokemon specific init Logic to its class * Break up initInfo into different methods * Remove hp bar segment dividers from base battle info * Move setMini to pokemoninfo * Breakup updateInfo into smaller parts * Remove hp info handling from base updateInfo * Use phaser object chaining methods * Add some docs * Add missing chain usage * Use getShinyDescriptor in pokemon-info-container * Minor cleanup of updatePokemonExp * Fixup setSizeToFrame mock * Ensure pokemon hp numbers are not visible during stat display * Update src/utils/common.ts Co-authored-by: Wlowscha <54003515+Wlowscha@users.noreply.github.com> * Make summary-ui-handler use new shinyDescriptor method * Remove `undefined` parameter pass Co-authored-by: Amani H. <109637146+xsn34kzx@users.noreply.github.com> * Address kev's review comments Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com> * Ensure hp number display fades in/out * Ensure ribbon and caught indicator fade with stat display * Update src/ui/battle-info/battle-info.ts Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com> * Move construction of stats and type icons to their own methods * Make setPositionRelative return this * Improve doc comment on paddingX param * Fix mock sprite's setPositionRelative --------- Co-authored-by: Wlowscha <54003515+Wlowscha@users.noreply.github.com> Co-authored-by: Amani H. <109637146+xsn34kzx@users.noreply.github.com> Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com> |
||
---|---|---|
.github | ||
docs | ||
public | ||
scripts | ||
src | ||
test | ||
.dependency-cruiser.cjs | ||
.editorconfig | ||
.env | ||
.env.beta | ||
.env.development | ||
.env.production | ||
.env.test | ||
.gitattributes | ||
.gitignore | ||
.gitmodules | ||
.nvmrc | ||
biome.jsonc | ||
create-test-boilerplate.js | ||
CREDITS.md | ||
dependency-graph.js | ||
eslint.config.js | ||
favicon.ico | ||
global.d.ts | ||
index.css | ||
index.html | ||
lefthook.yml | ||
LICENSE | ||
package-lock.json | ||
package.json | ||
README.md | ||
tsconfig.json | ||
update_exp_sprites.ps1 | ||
vite.config.ts | ||
vitest.config.ts | ||
vitest.workspace.ts |
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
- node: 22.14.0
- npm: how to install
Running Locally
- 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
- Run
npm run start:dev
to locally run the project inlocalhost:8000
Linting
We're using Biome 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 biome
script. To view the complete rules, check out the biome.jsonc 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, please reach out, either here on GitHub or via Discord.
Thank you to all the wonderful people that have contributed to the PokéRogue project! You can find the credits here.