Go to file
Sirz Benjie ec4ddab8be
[Bug] [Refactor] [Move] Add selection prevention and move failures (#6276)
* Add failure conditions and move failures part 1

* Add second and third failure sequences

* Refactor mostly complete, need to recheck tests

* Adjust status checks to respect ignoreStatus useModes

* Adjust restriction for stuff cheeks

* Address bertie's review comments

* Add counterRedirectAttr to other counter-like moves

* Adjust some documentation for new methods

* Make substitute use the move tag

* Adjust counter attr to use array.find

* Adjust move condition check that occurs in the third failure check sequence

* Insert move failure check sequence part 4 into move phase

* Revert type adjustment to getBattlerIndex

* Make charging moves deduct pp on use instead of on release

* Fix first move condition not using 1 based starting wave

* Tweak charge move handling and protean timing

* Adjust fly tests to expect pp reduction properly

* Add missing attribute to counter

* Adjust revival blessing hardcore test to respect new return value of isUsable

* Adjust copycat test to account for how it actually works

* Play sleep animation and message

* Remove BYPASS_SLEEP battler tag in favor of boolean holder

* Finish unfinished docs

* Ensure move restrictions are only checked for players

* Adjust pollen puff condition, fix docs on `isOpponent`

* Fix failAgainstFinalBossCondition

* Fix dig test

* Adjust dive's test

* Fix missing break in applyConditions

* Fix getBattlerIndex for enemyPokemon

* Adjust type hint test to not rely on teleport

* Minor adjustments from code review

Co-authored-by: Bertie690 <136088738+Bertie690@users.noreply.github.com>

* Add tests for teleport

* Minor adjustments from code review

Co-authored-by: Bertie690 <136088738+Bertie690@users.noreply.github.com>

* PR review changes

Fix type hints test name

Update Dig/Dive test name

Separate TSDoc imports in `pokemon-utils.ts`

Add missing `@returns` in `move-phase.ts`

Fix comment typos

Separate TSDoc imports in `move-phase.ts`

Add return hints to `trySelectMove`

Minor formatting

Remove duplicate `.affectedByGravity()` on Telekinesis

Fix docs for `checkRestrictions`

Manually format method definition

Fix comment spacing

Fix variable naming

* Address kev's review comments

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>

* Minor adjustments from code review

Co-authored-by: Bertie690 <136088738+Bertie690@users.noreply.github.com>

* Remove optional chaining

* fix: type for InferKeys

* chore: apply biome

* chore: fix merge conflicts from Biome update

* Remove latent isNullOrUndefined

* Drop readonly on timingModifier

* docs: Add class comment

* Address comments from code review

* Drop readonly from timingModifier

* Cleanup proc chance computation

* Move `cureStatus` into the Pokemon class

* Final touchups

---------

Co-authored-by: Bertie690 <136088738+Bertie690@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2025-09-29 12:08:42 -05:00
.devcontainer [Misc] Make the repo REUSE compliant (#6474) 2025-09-23 08:49:03 -05:00
.github [Refactor][Dev] Move public to its own submodule (#6590) 2025-09-27 11:01:12 -05:00
.vscode [Misc] Make the repo REUSE compliant (#6474) 2025-09-23 08:49:03 -05:00
assets@90a227d51f [Sprite] bump assets 2025-09-27 11:30:23 -05:00
docs [Refactor][Dev] Move public to its own submodule (#6590) 2025-09-27 11:01:12 -05:00
LICENSES [Refactor][Dev] Move public to its own submodule (#6590) 2025-09-27 11:01:12 -05:00
locales@f3b0c55a0f [Refactor][Dev] Move public to its own submodule (#6590) 2025-09-27 11:01:12 -05:00
scripts [Dev] Added ability to pass in test type to create-test script from CLI (#6601) 2025-09-27 23:40:56 -05:00
src [Bug] [Refactor] [Move] Add selection prevention and move failures (#6276) 2025-09-29 12:08:42 -05:00
test [Bug] [Refactor] [Move] Add selection prevention and move failures (#6276) 2025-09-29 12:08:42 -05:00
typedoc-plugins [Misc] Make the repo REUSE compliant (#6474) 2025-09-23 08:49:03 -05:00
.dependency-cruiser.cjs [Dev] Migrated to Biome 2.2.3, added more rules (#6259) 2025-09-08 10:35:18 -05:00
.dockerignore [Dev] Add Podman support (#6150) 2025-09-10 14:23:13 -05:00
.editorconfig [Dev] Migrated to Biome 2.2.3, added more rules (#6259) 2025-09-08 10:35:18 -05: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 [Test] Reworked crit override to allow for forced crits (#5738) 2025-06-16 05:36:09 -07: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 [Misc] Make the repo REUSE compliant (#6474) 2025-09-23 08:49:03 -05:00
.gitignore [Refactor][Dev] Move public to its own submodule (#6590) 2025-09-27 11:01:12 -05:00
.gitmodules Update .gitmodules to use https by default 2025-09-27 22:19:37 -05:00
.ls-lint.yml [Refactor][Dev] Move public to its own submodule (#6590) 2025-09-27 11:01:12 -05:00
.nvmrc [Dev][GitHub] Update to node 22 (#5586) 2025-04-14 12:37:26 -05:00
biome.jsonc [Refactor][Dev] Move public to its own submodule (#6590) 2025-09-27 11:01:12 -05:00
CONTRIBUTING.md [Misc] Make the repo REUSE compliant (#6474) 2025-09-23 08:49:03 -05:00
CREDITS.md [Misc] Make the repo REUSE compliant (#6474) 2025-09-23 08:49:03 -05:00
Dockerfile [Misc] Make the repo REUSE compliant (#6474) 2025-09-23 08:49:03 -05:00
favicon.ico Replace favicon with no BG version 2024-03-25 12:45:45 -04:00
global.d.ts [Dev] Added Typedoc plugins + README badges (#6400) 2025-09-05 11:34:22 -07:00
index.css [Misc] Make the repo REUSE compliant (#6474) 2025-09-23 08:49:03 -05:00
index.html [Misc] Make the repo REUSE compliant (#6474) 2025-09-23 08:49:03 -05:00
lefthook.yml [Refactor][Dev] Move public to its own submodule (#6590) 2025-09-27 11:01:12 -05:00
LICENSE Update license to AGPL 3 2024-03-25 19:22:58 -04:00
package.json [Refactor][Dev] Move public to its own submodule (#6590) 2025-09-27 11:01:12 -05:00
pnpm-lock.yaml [Deps] Bump typedoc version (#6576) 2025-09-19 17:23:50 -07:00
pnpm-workspace.yaml [Dev] Remove warnings from pnpm interactions (#6061) 2025-07-04 04:08:53 +00:00
README.md [Docs] Update README.md REUSE info to reduce redundant sentences (#6599) 2025-09-28 19:52:08 -05:00
REUSE.toml [Misc] Make the repo REUSE compliant (#6474) 2025-09-23 08:49:03 -05:00
tsconfig.json [Refactor][Dev] Move public to its own submodule (#6590) 2025-09-27 11:01:12 -05:00
tsdoc.json [Docs] Add interface to known tags in tsdoc 2025-09-10 13:46:52 -05:00
typedoc.config.js [Misc] Make the repo REUSE compliant (#6474) 2025-09-23 08:49:03 -05:00
vite.config.ts [Refactor][Dev] Move public to its own submodule (#6590) 2025-09-27 11:01:12 -05:00
vitest.config.ts [Misc] Make the repo REUSE compliant (#6474) 2025-09-23 08:49:03 -05:00

PokéRogue

Discord Static Badge Docs Coverage Static Badge Testing Badge License: GNU AGPL v3

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

See CONTRIBUTING.md, this includes instructions on how to set up the game locally.

📝 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.

License

This repository seeks to be REUSE compliant: copyright and/or licensing information for each file is stored either in the file itself or in an associated REUSE.toml file.

  • All source code belonging to the project, unless otherwise noted, is licensed under AGPL-v3.0-only
  • All documentation (any markdown files), including this readme, as well as any documentation comments explicitly documenting source code, are also licensed under CC-BY-NC-SA-4.0
  • Auto-generated files produced by external tools or files of insigifnicant originality are not copyrighted and are licensed under CC0-1.0
  • To the extent that the assets we provide are licensable and applicable, they are licensed under CC-BY-NC-SA-4.0 unless otherwise noted. Exceptions can be found in associated REUSE.toml files.
    • ⚠️ Files in assets/ that are not explicitly licensed via REUSE.toml should be considered to have no licensing / copyright information.

The full license information for each file can be found by utilizing REUSE's tooling, such as via reuse spdx.