Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Enhancement][Challenge] Nuzlocke challenge #2421

Closed
wants to merge 199 commits into from

Conversation

sirzento
Copy link
Contributor

@sirzento sirzento commented Jun 19, 2024

What are the changes?

This PR adds the challenge mod "Nuzlocke" to the game. As a result, various new challenge checks will be added that can also be used for other challenges in the future.

Why am I doing these changes?

I have seen some feature request for a nuzlocke challenge. Also, the old roadmap even had a nuzlocke mode as goal.

What did change?

The Nuzlocke challenge aswell as the achievement for it was added. I also changed the challenge UI and made the description field larger to be able to display more text.

5 new challengeType's where added to check for various rules in the nuzlocke challenge.
Those types are:

  • NO_HEAL_PHASE
    Checks if the heal phase after every 10th round should be activated.

  • SHOP_ITEM_BLACKLIST
    Filters the shop for specific items.

  • RANDOM_ITEM_BLACKLIST
    Filters the random item selection for specific items.

  • ADD_POKEMON_TO_PARTY
    Checks if the current catched pokemon can be added to the party.

  • MOVE_BLACKLIST
    Checks if move the user wants to use is illegal for this challenge.

Screenshots/Videos

Nuzlocke Regular:
grafik

Nuzlocke Hardcore:
grafik

How to test the changes?

Set POKEBALL_OVERRIDE to have some masterballs and MOVESET_OVERRIDE to include Moves.REVIVAL_BLESSING.
You can also set OPP_LEVEL_OVERRIDE to 1.

Start a new challenge with Nuzlocke challenge enabled and check:

  • if you are healed after the 10th round
  • if you can buy revive
  • if you can role for a reviver seed
  • you can use revival blessing
  • if you can only add one pokemon every 10 floors to the party

Checklist

  • There is no overlap with another PR?
  • The PR is self-contained and cannot be split into smaller PRs?
  • Have I provided a clear explanation of the changes?
  • Have I tested the changes (manually)?
    • Are all unit tests still passing? (npm run test)
  • Are the changes visual?
    • Have I provided screenshots/videos of the changes?

f-fsantos and others added 3 commits June 19, 2024 17:31
feat: Add link to Discord in menu UI

feat: Add Discord and Google login functionality

Add container around discord and google icons

refactor: Update environment variable names for Discord and Google client IDs

feat: Add "Or use" translation for login options in multiple languages

feat: Update menu UI translations for multiple languages

Code review fixes

refactor: Update Discord and Google client IDs in environment variables
@Madmadness65 Madmadness65 added the Enhancement New feature or request label Jun 19, 2024
@Corrade
Copy link
Contributor

Corrade commented Jun 20, 2024

There's an existing Nuzlocke PR, but it was created before the addition of challenges.
#457

Maybe an opportunity for collaboration or superseding?

@sirzento
Copy link
Contributor Author

There's an existing Nuzlocke PR, but it was created before the addition of challenges. #457

Maybe an opportunity for collaboration or superseding?

That's Sam and he left. I already looked into the code but I can't use anything since everything changes so much and there is also so much other stuff like custom nuzlocke trainer etc. I will ask to close that old PR.

And I am actually mostly done with rule logic because the challege system is pretty easy to use.

@sirzento sirzento marked this pull request as ready for review June 24, 2024 10:11
@hayuna
Copy link
Contributor

hayuna commented Jun 29, 2024

@sirzento What about this scenario?

Opponent has REVIVER_SEED
Player is using thief move

Player will take REVIVER_SEED from opponent. Should this be illegal in nuzlocke mode?

@sirzento
Copy link
Contributor Author

@sirzento What about this scenario?

Opponent has REVIVER_SEED Player is using thief move

Player will take REVIVER_SEED from opponent. Should this be illegal in nuzlocke mode?

@hayuna Yeah I thought about it and just thought it will be alright because it's just so rare to get it like that. I could disable it somehow if that's wanted but I think it will be alright like that.

@CodeTappert CodeTappert added the Game Balance Changes focused on game balance label Jul 5, 2024
@sirzento sirzento changed the base branch from main to beta July 10, 2024 17:13
frutescens and others added 16 commits July 24, 2024 15:25
* Bug Fix

* Update src/system/game-stats.ts

Co-authored-by: flx-sta <[email protected]>

* Fixing a test

* Fixed import

* Revert "Bug Fix"

This reverts commit 8348449.

---------

Co-authored-by: Frutescens <info@laptop>
Co-authored-by: flx-sta <[email protected]>
…ames#3122)

* Bug Fix

* Update src/system/game-stats.ts

Co-authored-by: flx-sta <[email protected]>

* Fixing a test

* Revert "Fixing a test"

This reverts commit 1bdbe2d.

* Test Re-Run

---------

Co-authored-by: Frutescens <info@laptop>
Co-authored-by: flx-sta <[email protected]>
…ch and double battles (pagefaultgames#2462)

* Adjust how counter attacks target to account for uturn/voltswitch

* Creates move flag for metal burst/comeuppance to redirect in some cases

* Remove debug printing

* Bit shifts the redirect counter flag

* Removes extraneous class from prior testing

* Remove vitest timestamp file that was accidentally added
Mystic ticket icons in the achievements just confuse players
…red in dex (pagefaultgames#2713)

* Fix reins et al being available without unlocking second mon

* Small fix

* Parentheses for safety

* Add documentation to new function
Co-authored-by: Frutescens <info@laptop>
…stats (pagefaultgames#3117)

* Fixed OHKO moves being affected by accuracy and evasion battle stats

* Added related tests for Fissure, unskipped related test for Hustle

* Tweaked fissure accuracy and evasion tests to use spyOn() for getAccuracyMultiplier() as per feedback

* Fixed accuracy test for Fissure
* [Fix][Sprite] Politoed Back Sprites

Retrieved first version from history.
Rearranged frames to make jump a little less floaty.
Set same anim length for all variations.
Json is identical for all variations.
Spritesheet frame position is identical for all variations.
Trimmed the frame of extra space
Reduced file size of spritesheets and JSON due to less unique frames needed.

* [Fix][Sprite] Politoed Back Sprites  - Reformatted JSON to texturepacker standard

Reformatted json.
* fix remove pokemon menu

* fix dropdown all is not changing bug

* fix bug when go down with no starter on start button

* fix starter corsor bug on deletion. out of screen cursor bug

* fix challenge log

* fix lint error
… HA (pagefaultgames#3138)

* Prevent evolution causing a swap from the second ability to the HA

* Add tests

* Update `starter-select-ui-handler.ts`
* More work

* More work

* Should be finished

* Fixed an error in checking target

* Moved white herb effect to StatChangePhase, 50% chance of consumption

* Added graphics for White Herb

* Balance and documentation

* Add localization entry for White Herb apply msg

* Add new keys to other localization files

* German translations

Co-authored-by: Jannik Tappert <[email protected]>

* Update item sprite atlas

* Redo item atlas

* Remove whitespace in move.ts

* Moved decrement outside conditional

* Fix item atlas

---------

Co-authored-by: Jannik Tappert <[email protected]>
@DayKev
Copy link
Collaborator

DayKev commented Aug 14, 2024

Can you fix the PR and then split this into multiple discrete challenges (ie: permadeath challenge, no auto-heal challenge, etc)?

@flx-sta
Copy link
Collaborator

flx-sta commented Sep 17, 2024

@sirzento I'm putting this into draft while you resolve those conflicts and work on the open comments.


Are you actually still actively working on this?

@flx-sta flx-sta marked this pull request as draft September 17, 2024 16:38
@DayKev
Copy link
Collaborator

DayKev commented Sep 18, 2024

Ugh, trying to rebase this on current beta and it's just completely fucked. We really should have reverted the first beta merge and redid it correctly with rebasing...

@DayKev
Copy link
Collaborator

DayKev commented Sep 18, 2024

image

Now to check if I missed anything when manually copying the changes...

@DayKev
Copy link
Collaborator

DayKev commented Sep 18, 2024

Draft update at #4311

@flx-sta
Copy link
Collaborator

flx-sta commented Sep 18, 2024

@DayKev so should this one be closed in favor of yours?

@DayKev
Copy link
Collaborator

DayKev commented Sep 18, 2024

@DayKev so should this one be closed in favor of yours?

Probably? I guess since the history is broken in this one it can't be used regardless.

@DayKev DayKev closed this Sep 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Challenges Challenge mode/s related Enhancement New feature or request Game Balance Changes focused on game balance
Projects
None yet
Development

Successfully merging this pull request may close these issues.