This Mystery Encounter is a random event that can occur from wave 50 and above that causes a fog to appear covering the screen and a wild pokemon to be hidden underneath it. The player when facing this encounter may choose one of four options which includes fighting, using a light based move or ability to light the way, using a defog move or ability to clear the fog, or waiting for the fog to thin out. Depending on your choice the player might be granted more experience and better rewards. The pokemon encountered changes dynamically with the biome and stage level that the Mystery Encounter occurs. Changes made: - Implemented new mystery encounter called "Creeping Fog" ("creeping-fog-encounter.ts") and added a new corresponding weather type called "Heavy Fog" ("weather.ts"). - Updated corresponding weather functions and fog affected pokemon functions. ("move.ts", "pokemon-forms.ts", "ability.ts", "pokemon-evolutions.ts"). - Created new Fog Overlay for the mystery encounter ("fog-overlay.ts"). - Created new item called "Micle Berry" to grant perfect accuracy ("modifier-type.ts"). - Created Mystery Encounter Creeping Fog unit test ("creeping-fog-encounter.test.ts"). - Created new Mystery Encounter Light and Defog moves and abilities requirements ("requirements-groups.ts"). Signed-off-by: Fuad Ali <fuad.ali@tecnico.ulisboa.pt> Co-authored-by: Matilde Simões <matilde.simoes@tecnico.ulisboa.pt> |
||
---|---|---|
.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 | ||
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.