Go to file
innerthunder 70295280da
[Move] Implement Substitute (#2559)
* Implement Substitute

Squashed commit from working branch

* Fix integration test imports

* Use Override Helper utils + Fix Baton Pass test

* Update src/test/moves/substitute.test.ts

Co-authored-by: Adrian T. <68144167+torranx@users.noreply.github.com>

* Fix test imports + nits

* Document RemoveAllSubstitutesAttr

* Fix some strict-null issues

* more strict-null fixes

* Fix baton pass test

* Reorganized Substitute translation keys

* Added checks for substitute in contact logic

* Clean up Unseen Fist contact logic

* Remove misleading comment in Download attr

* RIP phases.ts

* Fix imports post-phase migration

* Rewrite `move.canIgnoreSubstitute` to `move.hitsSubstitute`

* Also fixed interactions with Shell Trap and Beak Blast

* Removed some leftover `canIgnoreSubstitute`s

* fix issues after beta merge

* Status move effectiveness now accounts for substitute

* More edge case tests (Counter test failing)

* Fix Counter + Trap edge cases + add Fail messagesd

* Fix leftover nit

* Resolve leftover test issues

* Fix Sub offset carrying over to Trainer fights

* Hide substitute sprite during catch attempts

* Make substitutes baton-passable again

* Remove placeholder locale keys and SPLASH_ONLY

* Fix imports and other nits

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

* ESLint

* Fix imports

* Fix incorrect `resetSprite` timing

* Fix substitute disappearing on hit (maybe?)

* More animation fixes (mostly for Roar)

---------

Co-authored-by: Adrian T. <68144167+torranx@users.noreply.github.com>
Co-authored-by: flx-sta <50131232+flx-sta@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
2024-09-13 12:46:22 -04:00
.github [Misc] Update issue/feature template (#4148) 2024-09-11 21:01:16 -04: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] Remove repeated animation frames (#4205) 2024-09-13 01:08:38 -04:00
src [Move] Implement Substitute (#2559) 2024-09-13 12:46:22 -04: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 [Test] Remove obsolete splash_only (#4139) 2024-09-09 15:02:11 -04:00
dependency-graph.js Add dependency cruiser command (#2192) 2024-06-16 00:26:37 -04:00
eslint.config.js [Misc] eslint rule to prevent `.js` imports (#4160) 2024-09-10 22:34:50 +02: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 skip pre-commit on merge and rebase, add pre-push (#1607) 2024-09-05 10:08:00 +00:00
package-lock.json [Misc] eslint rule to prevent `.js` imports (#4160) 2024-09-10 22:34:50 +02:00
package.json [Misc] eslint rule to prevent `.js` imports (#4160) 2024-09-10 22:34:50 +02: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 and optimize imports (#4061) 2024-09-07 21:37:37 -07:00
vitest.config.ts [Bug] Use silent mode during tests (unless debugging!) + test workflow optimization (#4154) 2024-09-10 22:13:42 +01: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.

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