Go to file
Zach Day 13f38dce8d
[Move] Use BattlerTag for move-disabling effects (#2051)
* Use BattlerTag for move-disabling effects

* Fix RUN command causing freeze

* Improve documentation

* Clean up and document PokemonMove.isUsable

* Fix isMoveDisabled missing return

* Tags define the message shown when disabling interrupts a move

* Fix -1 duration on Disable effect

* Add tests for Disable

* En loc and fix message functions

* Fix Disable test

* Fix broken imports

* Fix test

* All disable tests passing

* Localize remaining strings

* Move cancellation logic out of lapse; use use TURN_END for lapse type

* Prevent disabling STRUGGLE

* Inline struggle check function

* Restore RechargingTag docs

* Move cancellation logic back to tag

Wanted to increase similarity to the existing code base to avoid that stupid hyper beam error but it's still happening here

* Fix hyper beam test

* Remove erroneous shit

* Fill movesets with SPLASH for disable test

* More robust condition for disable checking

* Remove DisabledTag lapse

* Simplify DisablingBattlerTag lapse

* Cancel disable-interrupted moves instead of failing them

* Avoid disabling virtual moves

* Consistent access modifiers across Disable tags

* Add abstract function for message when player tries to select the disabled move

* Fix syntax mistake

* Always disable last-used non-virtual move

* Overhaul tests + add tests

* Implement loadTag for DisabledTag

* Update translations

* Update translations

* Reimplement phase changes

* fix battlertag strings

* Fix disable test not running

* Update name of base class

* Rename "disabling" to "restriction"

* Fix sneaky string fuckup

* Fix test failure

* fix merge problems

* fix merge problems

* Update tests

* rerun RNG test

* Properly mock stats in test

* Document everything in battlertag

* More docs + typo fix

* Update tests

---------

Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-09-05 08:44:22 +00:00
.github chore: Update merge_group configuration in GitHub workflows 2024-09-04 01:56:37 +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 [Sprite] Index egg skip UI (#4027) 2024-09-04 20:46:33 +00:00
src [Move] Use BattlerTag for move-disabling effects (#2051) 2024-09-05 08:44:22 +00: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 Beta Merge 27/07 (#3141) 2024-07-28 00:47:00 +01: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 Add battle music for Legendary Pokémon forms (#3723) 2024-08-24 13:07:11 -05:00
create-test-boilerplate.js [Dev] add script to create test boilerplate file (#3954) 2024-09-01 23:30:27 -04:00
dependency-graph.js Add dependency cruiser command (#2192) 2024-06-16 00:26:37 -04:00
eslint.config.js [Misc] Update eslint.config.js for space after commas (#3649) 2024-08-23 16:36:10 +08:00
favicon.ico Replace favicon with no BG version 2024-03-25 12:45:45 -04:00
index.css Added Donate Link to Community Page (#3989) 2024-09-03 01:37:53 +01:00
index.html Added Donate Link to Community Page (#3989) 2024-09-03 01:37:53 +01:00
lefthook.yml ESLint - The Essential Linter and Formatter for JavaScript and TypeScript (#1224) 2024-05-23 11:03:10 -04:00
package-lock.json [Dependencies] Update to resolve install warnings (after beta rebase) (#3213) 2024-07-30 00:29:34 -04:00
package.json [Dev] add script to create test boilerplate file (#3954) 2024-09-01 23:30:27 -04: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 fix/update vite.config.ts (#3531) 2024-08-13 22:24:49 +01:00
vitest.config.ts Beta Merge 27/07 (#3141) 2024-07-28 00:47:00 +01:00
vitest.workspace.ts Beta Merge 27/07 (#3141) 2024-07-28 00:47:00 +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 Laboratory, Metropolis, Seabed, and Space biome music)
  • Lmz (Custom Jungle 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