Replace exploitable Hard-CPU/PvP exp bonuses with a flat 2x game multiplier#73
Open
sudo-owen wants to merge 1 commit into
Open
Replace exploitable Hard-CPU/PvP exp bonuses with a flat 2x game multiplier#73sudo-owen wants to merge 1 commit into
sudo-owen wants to merge 1 commit into
Conversation
…iplier The hard-CPU exp multiplier keyed off a client-set bit in the phantom opponent config (OPP_HARD_CPU_BIT), so any user could self-grant 2x exp by flagging their CPU opponent as "hard" — a nonsensical reward gate. Remove the game-type exp bonuses entirely and apply a single flat GAME_EXP_MULT (2x) to every battle's per-mon exp. Quest completion still stacks on top (max 4x). Points are unchanged (base win/loss, only multiplied by quest). Cleanup of now-dead machinery: - Constants: drop PVP_EXP_MULT / HARD_CPU_EXP_MULT, add GAME_EXP_MULT. - GachaTeamRegistry.onBattleEnd: default expMult = GAME_EXP_MULT, remove the PvP/hard-CPU branch, opponent-side reads, and the BONUS_HARD_CPU event flag (event bit 2 now reserved); drop IS_HARD_CPU_BIT from preservedFlags. - Remove the isHard param from setOpponentTeam / setOpponentTeamFor / _setOpponentTeam (and IPhantomTeamRegistry, CPU.startCustomBattle, CustomBattleProposal.isHard) and the OPP_HARD_CPU_BIT write. - PlayerProfile: remove IS_HARD_CPU_BIT, setHardCpuOpponents, isHardCpu() (profile bit 253 now reserved). - processing/generateSetupCPU.py: drop the hardCpus codegen path. - Update CLAUDE.md docs and tests to match (CPU games now earn the flat 2x).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The hard-CPU exp multiplier keyed off a client-set bit in the phantom
opponent config (OPP_HARD_CPU_BIT), so any user could self-grant 2x exp by
flagging their CPU opponent as "hard" — a nonsensical reward gate. Remove
the game-type exp bonuses entirely and apply a single flat GAME_EXP_MULT (2x)
to every battle's per-mon exp. Quest completion still stacks on top (max 4x).
Points are unchanged (base win/loss, only multiplied by quest).
Cleanup of now-dead machinery:
PvP/hard-CPU branch, opponent-side reads, and the BONUS_HARD_CPU event flag
(event bit 2 now reserved); drop IS_HARD_CPU_BIT from preservedFlags.
_setOpponentTeam (and IPhantomTeamRegistry, CPU.startCustomBattle,
CustomBattleProposal.isHard) and the OPP_HARD_CPU_BIT write.
(profile bit 253 now reserved).