Go to file
sirzento 9d090f37f9
[Feature] [Same species Egg] Egg class rewrite to enable fully parameterized eggs to generate same species eggs + Egg overrides (#1833)
* Create variant-tiers enum

* Added variant tier override property to the egg class

* Added hasVariants function to pokemon species

* Implement variant override logic to egg hatching phase

* Delete src/enums/variant-tiers

* Create variant-tiers enum

* Added egg shiny and variant overrides

* fixed egg comment in overrides.ts

* Added override logic to egg hatch phase

* Added species pool filter logic when global override is set

* Added global egg tier override logic

* Added global egg tier override

* Added global gacha pull count override logic

* Added global gacha pull count override

* Renamed egg hatch override

* Renamed egg hatch override

* Added gacha pull without voucher global override

* Renamed free gacha pull global override

* Added free gacha pull override logic

* Gacha pull count override name fix

* Bugfix

* restored defaults + savegame bugfix

* eggOptions added to parameterize eggs. Added option to buy eggs of the same species.

* Small Bugfix for same species egg generation

* Removed translation from translator

* Improved the isManaphyEgg() check

* Fixed manaphy egg hatch wave count

* Added comments to IEggOptions

* Added eggOptions for hidden ability and rare egg move override

* Merge Fix: Update egg-hatch-phase.ts

* Fixed manaphy rates back to 1/256 like in PR #2182

* Renamed override, same species egg unlocks after passive is bought. Added code as comment for custom shiny, HA and rare egg move rates.

* Merge fix. Moved enums.

* quick fix for the commented out code

* Fixed that you can't buy an egg over the 99 egg limit

* Fix that you can't buy eternatus

* Use already existing randSeedShuffle instead of my own function

* Eternatus buyable again. Changed overrides to be able to set common tier/variants. Moved getGuaranteedEggTierFromPullCount().

* Changed eggOption gachaType to sourceType. Replaced eggOption overrideRareEggMove with eggMoveIndex to exatly specify an egg move. Moved egg move unlock logic into the egg class. Simplified shiny calculation. Added same species egg type descriptor. Moved custom rates for same species egg code into egg.ts.

* Added 19 unit tests for eggs

* Changed unit test description

* Added higher rates for same species eggs

* Adjusted same species egg cost for 1-3 cost starters and HA rates

* Added legacy egg loading unit test. Fixed gachaType legacy value loaded from DB and legacy tier loading

* Legacy egg loading from server DB fixed
2024-06-21 20:19:56 -04:00
.github [Enhancement] remove unnecessary typedoc install in workflow (#2263) 2024-06-15 13:57:13 -04:00
docs Create comments.md (#1498) 2024-05-28 10:46:25 -04:00
public [Bug] Stop Mega X/Y crashes and restore animations (#2492) 2024-06-21 12:44:41 -04:00
src [Feature] [Same species Egg] Egg class rewrite to enable fully parameterized eggs to generate same species eggs + Egg overrides (#1833) 2024-06-21 20:19:56 -04:00
.dependency-cruiser.cjs Add dependency cruiser command (#2192) 2024-06-16 00:26:37 -04:00
.env [QoL] Added https and server url is read from the env now (#1764) 2024-06-07 21:43:32 +01:00
.env.development [QoL] Added https and server url is read from the env now (#1764) 2024-06-07 21:43:32 +01:00
.gitattributes Initial commit 2023-03-28 14:54:52 -04:00
.gitignore Add dependency cruiser command (#2192) 2024-06-16 00:26:37 -04:00
dependency-graph.js Add dependency cruiser command (#2192) 2024-06-16 00:26:37 -04:00
eslint.config.js Add empty line at the end of config 2024-05-24 16:41:46 +02:00
favicon.ico Replace favicon with no BG version 2024-03-25 12:45:45 -04:00
index.css [UI] Fix the display size of inputs, which is MUCH too small, and should be dependent on screen size rather than a fixed value (#2143) 2024-06-12 13:49:19 -04:00
index.html more specific font unicode ranges and add unifont to existing families (#2459) 2024-06-20 11:28:47 -04:00
lefthook.yml ESLint - The Essential Linter and Formatter for JavaScript and TypeScript (#1224) 2024-05-23 11:03:10 -04:00
LICENSE Update license to AGPL 3 2024-03-25 19:22:58 -04:00
package-lock.json Fix high severity vulnerability (#2446) 2024-06-20 14:04:21 +01:00
package.json Add dependency cruiser command (#2192) 2024-06-16 00:26:37 -04:00
README.md [Enhancement] Add more legendary battle music; add music preference setting (#1753) 2024-06-07 21:52:14 -05:00
tsconfig.json [Refactor] I18n Cleaning (#2348) 2024-06-17 17:05:33 -04:00
update_exp_sprites.ps1 Fix crash with certain animated variant sprites 2024-04-26 02:00:58 -04:00
vite.config.ts Add dependency cruiser command (#2192) 2024-06-16 00:26:37 -04:00
vitest.config.ts Add dependency cruiser command (#2192) 2024-06-16 00:26:37 -04:00

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 Scarlet/Violet
  • Firel (Custom Metropolis and Laboratory biome music)
  • Lmz (Custom Jungle 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)

🎨 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

🎨 Move Animations

  • Pokémon Reborn