pokerogue
pokerogue copied to clipboard
[Challenge] Add Nuzlocke-related challenges
What are the changes the user will see?
Adds 4 new challenges:
- "No Free Heal": Disables the automatic healing that occurs after every 10th wave, replacing it with a normal shop phase
- "Hardcore": Fainted Pokémon can't be revived
- "No Starter Legends": Removes all legendary, sub-legendary and mythical Pokémon from the starter select
- "Limited Catch": Only the first Pokémon of every biome can be added to your current party (ie: from waves 1, 11, 21, ...)
- Takes into account if the X1 wave was a ME, allowing you to catch the Pokémon on wave X2 instead
Why am I making these changes?
Nuzlocke mode is a popular request/on the roadmap.
What are the changes from a developer perspective?
6 new ChallengeType
s were added:
-
NO_HEAL_PHASE
Checks if the heal phase after every 10th wave should be activated. Seesrc/phases/party-heal-phase.ts
-
SHOP_ITEM_BLACKLIST
Filters the shop for specific items. Seesrc/modifier/modifier-type.ts
andsrc/ui/modifier-select-ui-handler.ts
-
RANDOM_ITEM_BLACKLIST
Filters the random item selection for specific items. Seesrc/modifier/modifier-type.ts
-
ADD_POKEMON_TO_PARTY
Checks if the current caught Pokémon can be added to the party. Seesrc/phases/attempt-capture-phase.ts
-
MOVE_BLACKLIST
Checks if move the user wants to use is illegal for this challenge. Seesrc/phases/command-phase.ts
-
PREVENT_REVIVE
Checks if Pokémon can be revived. Seesrc/phases/party-heal-phase.ts
Screenshots/Videos
Starter filter with "No Legends" challenge active
Shop with "Hardcore" challenge active
Lack of auto-heal with "No Free Heal" challenge active
https://github.com/user-attachments/assets/116755c0-a586-46cf-88a6-196cbbc9096e
Caught Pokémon not going to party with "Limited Catch" challenge active
https://github.com/user-attachments/assets/a5ae255a-dc6c-436f-9d7a-ed8a0b9ee06e
How to test the changes?
Start a new challenge run with one or more of the challenges active.
Checklist
- [x] I'm using
beta
as my base branch - [ ] There is no overlap with another PR?
- Updated version of #2421
- [x] The PR is self-contained and cannot be split into smaller PRs?
- The individual challenges are related to a common overarching challenge
- [x] Have I provided a clear explanation of the changes?
- [ ] Have I considered writing automated tests for the issue?
- [x] If I have text, did I make it translatable and add a key in the English locale file(s)?
- [x] Have I tested the changes (manually)?
- [x] Are all unit tests still passing? (
npm run test
)
- [x] Are all unit tests still passing? (
- ~[ ] Are the changes visual?~
- [x] Have I provided screenshots/videos of the changes?