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

[Balance] No more double 50x bosses in Endless + cleaning up RNG #4862

Merged
merged 9 commits into from
Nov 15, 2024

Conversation

frutescens
Copy link
Collaborator

@frutescens frutescens commented Nov 13, 2024

What are the changes the user will see?

Wave 50x bosses will no longer be encountered as double battles.
Little to no impact on Endure Tokens + Thief/Covet however.

Why am I making these changes?

Balance request.

What are the changes from a developer perspective?

New conditional added to battle-scene.ts that cancels out a double battle if it is a wave 50x boss battle.
Endure Token RNG brought into standard format with the rest of the game. It no longer relies on percentages (0.02 -> 2) and RandSeedInt(100) is used to determine the target's endure chance instead. This ensures that the Endure token is tied to the current battle's seed, not the overall run's seed. Also brought in Thief/Covet chance rolls to be in line with the game too.

How to test the changes?

  1. Endless bosses should no longer generate as doubles on floors 50, 100, 150...
  2. Test Endure Token behavior and report changes.
  3. Test Covet/Thief and report changes.

Checklist

  • I'm using beta as my base branch
  • 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)

@frutescens frutescens requested a review from a team as a code owner November 13, 2024 22:04
@frutescens frutescens added the Game Balance Changes focused on game balance label Nov 13, 2024
@PigeonBar
Copy link
Collaborator

It turns out there's an old bug with the isEndlessBoss() function, this should be return waveIndex % 50 === 0 && ... instead. Thankfully isEndlessBoss() is not used anywhere else in the code.

pokerogue/src/game-mode.ts

Lines 238 to 241 in 0c521bb

isEndlessBoss(waveIndex: integer): boolean {
return !!(waveIndex % 50) &&
(this.modeId === GameModes.ENDLESS || this.modeId === GameModes.SPLICED_ENDLESS);
}

@PigeonBar
Copy link
Collaborator

Partially fixes #4527 for endure tokens.

@frutescens frutescens changed the title [Balance] No more double 50x bosses in Endless + cleaning up Endure token RNG [Balance] No more double 50x bosses in Endless + cleaning up RNG Nov 14, 2024
@innerthunder innerthunder merged commit 6dec84e into pagefaultgames:beta Nov 15, 2024
13 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Game Balance Changes focused on game balance
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants