ShuffleUpgrade
A mod that shuffles all players' upgrades, working with host-only installation.ホストのみの Importでactionする全てのプレイヤーのアップグレードをシャッフルする MOD
About this mod Machine translation
ShuffleUpgrade
Overview
ShuffleUpgrade automatically reshuffles all players' upgrades when the team enters the shop
Every shop visit can completely change each player’s role, creating new team dynamics every round
Instead of everyone slowly becoming identical, players naturally develop strengths and weaknesses, encouraging cooperation and adaptive gameplay
Depending on the selected shuffle mode, upgrades may be redistributed while keeping balance, completely randomized, or entire player builds may be swapped
If the result feels too chaotic, the last shuffle can be reverted instantly using the /undo command
This mod is designed to keep runs fresh while ensuring every player remains useful
Features
- Automatic upgrade shuffle when entering shop
- Four different shuffle modes
- Player bias system that creates strengths and weaknesses
- ChaosRandom imbalance control
- Safety clamp to prevent excessive upgrade values
- Selectable upgrade inclusion
- Deterministic shuffle via fixed seed optional
- /undo command to restore previous state
- Multiplayer-safe execution host-only optional
- Detailed logging options
Shuffle Modes
PreserveTypeTotalsRandom
- Keeps total amount of each upgrade type
- Redistributes values between players
- Maintains overall balance
FullRandomKeepGrandTotal(Default)
- Keeps overall upgrade total only
- Allows completely new player builds
ReassignWholeBuilds
- Entire upgrade builds are swapped between players
- No player keeps their original build
RandomPattern
- Randomly selects one of the enabled shuffle modes
ChaosRandom System
ChaosRandom introduces controlled imbalance
Instead of pure randomness
- Each player gains natural strengths
- Each player also gains weaknesses
- Every player remains functional
Higher values increase specialization intensity
Undo System
Command
/undo
Restores the upgrades to the state before the most recent shuffle
Safety checks ensure
- Player list must match
- Multiplayer host restrictions can be enforced
- Only valid shuffle states can be restored
Configuration
Config file
BepInEx/config/jp.repo.shuffleupgrade.cfg
Key options
- Enable or disable mod
- Host-only execution in multiplayer
- Shuffle trigger timing
- Shuffle interval every N shop visits
- Shuffle mode selection
- ChaosRandom intensity
- Upgrade inclusion toggles
- Maximum upgrade clamp values
- Logging verbosity
- Undo permissions and history size
Technical Details (Programmer Perspective)
The mod hooks shop entry detection via runtime polling using SemiFunc.RunIsShop and level readiness checks
Upgrade redistribution pipeline
- Build player upgrade snapshots from StatsManager
- Resolve shuffle mode
- Generate bias profiles per player
- Calculate distribution targets
- Apply safety clamps
- Apply delta upgrades through PunManager
- Synchronize stats using SemiFunc.StatSyncAll
- Store undo snapshot
Bias profiles generate weighted distributions ensuring
- No player becomes useless
- At least one strong specialization per player
- Controlled imbalance scaling via ChaosRandom
Mode implementations
- Mode 0 Per-upgrade total preservation with weighted redistribution
- Mode 1 Global total preservation with player quota balancing
- Mode 2 Derangement permutation no self-assignment
- Mode 3 Random candidate selection
All upgrade changes are applied using delta operations to maintain multiplayer synchronization stability
Compatibility
May conflict with mods modifying
- Player upgrades
- StatsManager upgrade storage
- PunManager upgrade RPC calls
- Shop transition logic
summary
ShuffleUpgrade はショップarrivalに全プレイヤーのアップグレードをautomatic でシャッフルするMODです
ショップに入るたびにプレイヤーのservice cut が変化し、毎ラウンドdifferent なるチーム constitute が生まれます
All members are in the same boatと无みが生まれるため、 Cooperation and situation are important になります
The シャッフル method is redistributed and completely maintainedンダム化, プレイヤー constitute そのものの入れ台えなどが行われます
The result is the same as the situation /undo
It is always fresh and fresh
Main function
- …
Install & use Install: BepInEx plugin
- The archive from playbuff is the mod itself — usually a BepInEx plugin (a .dll or a plugin folder once unzipped).
- Recommended: use a community mod manager (such as r2modman) — pick this game, import the mod, and the manager sets up BepInEx and its dependencies for you.
- Manual route: install the BepInEx loader in the game folder, then drop the unzipped .dll or plugin folder into BepInEx/plugins/.
- Launch the game — the BepInEx console logs every plugin it loads; seeing this mod in the log means it is installed.
Mods with listed dependencies need those installed too, or they will not load. Options are usually changed in-game or in the plugin's config file.
Install these first, or the mod will not work: