
RoleShuffle
【HostOnlyMOD】With only the host installing the mod, enjoy random roles and a variety of upgrades and effects in every stage! ホスト導入だけで、ステージごとにランダムな役職とさまざまな強化・効果を楽しめます!RoleShuffle
English
Overview
RoleShuffle assigns every player a random role when a stage begins and clears all assigned roles when the stage ends. Each role specializes in a distinct gameplay theme built from vanilla upgrades or effects. Configurable base upgrade levels remain active between stages. When a role specializes in an upgrade, the role's configured level replaces that base level for the stage; every other managed upgrade stays at its base level.
Only the host needs RoleShuffle for gameplay effects. Players without the mod receive their role, upgrades, effects, and vanilla chat/TTS announcement normally. Participants who also install RoleShuffle can use the synchronized role HUD.
By default, upgrade items are removed from the shop pool so stage roles remain the source of temporary upgrades.
Requirements
- BepInExPack 5.4.2305 or a later compatible version
- REPOConfig 1.2.6 or a later compatible version
- MenuLib 2.5.2 or a later compatible version
Installation
Install with a compatible mod manager, or place RoleShuffle.dll in the profile's BepInEx/plugins directory. Only the host needs the mod for gameplay effects.
Multiplayer
- The host assigns roles and controls all gameplay settings.
- Vanilla participants are fully supported and do not need RoleShuffle.
- Installed participants receive the synchronized role HUD and the scrollable
Rolespage in the Escape menu; HUD layout settings are local to each installed player. - Single-player uses the same role system, but
Tracker,Ghost,Medic,Jobless, andRescuerare excluded from random assignment when only one player is present.
Role command
- Enter
/rolesin the in-game chat to check your own assigned role. - Vanilla participants can use this command when the host has RoleShuffle installed.
- Outside an active stage, the response is
YourRole:Unavailable.
How roles are assigned
- One role is selected for each player at the start of a playable stage.
- Enabled roles are selected by relative
Weight. - With
General.UniqueRoles = true, duplicate roles are avoided until every eligible role has been used once. Kingis assigned to at most one player per stage.- By default, Showcase roles (
Bomber,Stinker,Mage,Gambler,Trickster,King) and Support roles (Medic,Rescuer,Mechanic,Electrician,Warden) receive configurable minimum guarantees based on party size. - By default, at most one Danger role (
Bomber,Stinker) and one Hardship role (Jobless,Tuna) are assigned. A party of four or fewer receives at most one role across both groups. - A player normally cannot receive the same role in consecutive stages. After receiving
JoblessorTuna, that player is excluded from both Hardship roles for the next stage. These restrictions are relaxed only when needed to avoid leaving a player without a role. Tracker,Ghost,Medic,Jobless, andRescuerare not selected in single-player or a one-player session.- During a stage, the host continuously verifies actual Photon participants. A player is removed after ten consecutive missing checks; the original role and its persistent state are restored if the same Steam ID returns. A newly detected player receives a new role, upgrades, announcement, and HUD entry.
- Roles, role-specific upgrade overrides, hazards, healing effects, revival state, and the role HUD are cleared when the stage ends or the active scene changes. A canceled
ChangeLevelattempt does not clear them.
Roles
| Role | Function and default effect | Important limitation or risk | Configurable values |
|---|---|---|---|
| Tank | Increases maximum health by setting Health to level 21. | Uses the vanilla Health upgrade and has no separate active ability. | Health target 0–100 |
| Runner | Increases movement speed and stamina for faster, longer sprints. Speed is level 6 and Stamina is level 46. | Uses the two vanilla upgrades and has no separate active ability. | Speed and Stamina targets 0–100 |
| Jumper | Adds up to 10 extra jumps before landing by setting Extra Jump to level 10. | Uses the vanilla Extra Jump upgrade and has no separate active ability. | Extra Jump target 0–100 |
| Lifter | Increases grab strength, making heavy objects easier to handle. Strength is level 25. | Uses the vanilla Strength upgrade and has no separate active ability. | Strength target 0–100 |
| Launcher | Launches the player farther forward when starting a Tumble. Launch is level 10. | Uses the vanilla Launch upgrade and has no separate active ability. | Launch target 0–100 |
| Climber | Improves Tumble climbing and allows objects to be grabbed from farther away. Tumble Climb is level 50 and Range is level 20. | Uses the two vanilla upgrades and has no separate active ability. | Tumble Climb and Range targets 0–100 |
| Flyer | Keeps Tumble Wings active longer for extended movement through the air. Tumble Wings is level 10. | Uses the vanilla Tumble Wings upgrade and has no separate active ability. | Tumble Wings target 0–100 |
| Tracker | Enables Map Player Count at level 1 so map tools can track another player. | The level is fixed at 1. Never selected randomly when only one player is present. |
Selection only |
| Ghost | Extends the battery life of the player's Death Head by setting Death Head Battery to level 50. | Never selected randomly when only one player is present. | Death Head Battery target 0–100 |
| Bomber | Drops a random armed Explosive, Stun, Shockwave, or Duct Taped Grenade after every 8 m traveled. Any Bomber can hold generated Bomber grenades. | Grenades can injure players and damage valuables. Duct Taped Grenades release additional Human Grenades. Up to 30 generated grenades are active per Bomber, and truck placement is disabled by default. | Distance, limit, truck placement, grenade types |
| Medic | Heals nearby teammates for 5 HP every 2 seconds within 5 m, up to 150 total HP per stage. | Never heals the Medic. Only living teammates within range are affected. Healing stops when that Medic's stage limit is exhausted. Never selected randomly when only one player is present. | Amount, interval, radius, total limit |
| Phoenix | Automatically revives itself with 25 HP once per stage after dying. | One use per stage. Revival HP cannot exceed the player's maximum HP. | Revival HP, revival delay, failure grace |
| Jobless | Takes 1 damage every 0.1 seconds while outside the truck. | Can kill the player. Never selected randomly when only one player is present. | Damage, interval |
| Rescuer | While alive, approaching within 3 m of a dead teammate's Death Head revives the nearest eligible teammate with 25 HP. | Up to 2 revivals per stage. Revival HP cannot exceed the target's maximum HP. Never selected randomly when only one player is present. | Revival HP, delay, radius, maximum revivals |
| Vampire | Heals when an enemy dies within 10 m: Tier 1 = 5, Tier 2 = 10, Tier 3 = 50. | Uses the enemy's vanilla Danger Level. The Vampire must be alive and close to the dying enemy. | Amount per tier, radius |
| King | Receives the vanilla Crown for the stage. | Only one King can be assigned. The previous Crown holder is restored when the role ends. | Selection only |
| Tuna | After a 5-second grace period at stage start, standing still for 3 seconds causes 1 damage every 0.1 seconds until moving. | Can kill the player. The stationary timer starts after the initial grace period. Moving resets it immediately; lost health is not restored. | Delay, damage, interval |
| Musician | Each instrument note played by the Musician heals the Musician and living players within 10 m for 5 HP. | Requires a vanilla musical valuable to be played by the Musician. | Amount, radius |
| Mage | Spends HP to cast vanilla attacks with chat keywords: star = Star Wand (10 HP), gravity = Zero Gravity Staff (10 HP), roll = Roll Staff (15 HP), void = Void Staff (30 HP), and laser = Wizard Staff beam (50 HP). The beam begins 3 m ahead. |
Casting cannot kill the Mage, and HP is spent only after a successful cast. Spells can injure players or damage valuables and share a 5-second cooldown. Keywords ignore case and surrounding whitespace. | Cast cooldown, health cost per spell |
| Gambler | Risks the first eligible valuable held while ready. It has a 50% chance to double its current value; losing destroys it. Extraction restores the wager. Gambit green heals 50 HP, red deals 100 damage, black kills, and white fully heals while adding 5 Health levels for the stage. Yellow remains vanilla. | Damaged valuables are doubled from their reduced value. Jackpot!, Bust!, and GamblerReady announce the result or restored wager. A restored wager can activate on an eligible valuable already being held. |
Win chance, win multiplier, Gambit green heal, red damage, white temporary Health levels |
| Hunter | Held or equipped weapons use 75% of normal battery. When Hunter deals the final damage to an enemy, there is a 0.5% chance to raise the drop to 10 orbs; otherwise there is a 10% chance to double the normal drop. | Only Hunter's held or equipped weapons receive the battery effect. A normal drop already above the configured jackpot count is never reduced. | Battery consumption, both orb chances, jackpot count |
| Stinker | Leaves a harmful uranium cloud after every 1 m traveled. Clouds appear one at a time after Stinker moves at least 1 m away from the newest location. | Clouds can damage other players, and Stinker can be hurt by walking back into one. Truck placement is disabled by default. | Distance, safety distance, truck placement |
| Engineer | Prevents supported effect valuables from activating while the Engineer holds them. | Camera, Propane Tank, Snowmobile, Flashlight, Clown Doll, and Love Potion are not affected. Other supported valuables must remain held for suppression to continue. | Selection only |
| Trickster | Type decoy in chat to place one fixed vanilla Scream Doll 2 m ahead. It attracts enemies within 30 m every 2 seconds for 15 seconds. |
The Trickster must be alive and outside the truck. The decoy cannot be grabbed, damaged, or delivered. Already engaged enemies may continue their current behavior. Successful placement has a 45-second cooldown. | Active time, cooldown, radius, pulse interval, placement distance |
| Mechanic | While directly holding damaged valuables, restores a shared 2% of original sale value per second, up to 50 percentage points per stage. | Fully repaired and non-valuable objects are ignored. Multiple held valuables share the same repair rate and stage limit. The sale value is restored; damaged visual appearance may remain. | Repair rate, total stage limit |
| Electrician | While directly holding inactive rechargeable items, restores a shared 10 battery percentage per second, up to 100 percentage points per stage. | Active, full, and unchargeable items are ignored. Multiple held items share the same charge rate and stage limit. | Charge rate, total stage limit |
| Warden | Extends enemy stuns caused by Warden's weapons, grenades, or held damaging objects by 3 seconds. | The attack must normally be able to stun the enemy. | Additional stun time |
| Ninja | Prevents Ninja's footsteps, landings, voice chat, and chat TTS from creating enemy investigation events, including Huntsman's sound investigation. Enemies take twice as long to visually recognize Ninja by default. | Does not prevent detection through proximity or touch. Weapons, valuables, impacts, explosions, hazards, and other independently produced noises retain their vanilla behavior. | Visual recognition multiplier |
| Executioner | Deals 2x direct attack damage to enemies that were already stunned before the hit. | The hit that initially causes the stun receives no bonus. Physics-only collision damage is unchanged. | Stunned-enemy damage multiplier |
Configuration
All settings are available through REPOConfig. Host-controlled settings affect the session. Local settings affect only the installed player's HUD.
When a configuration created before v4.2.2 is detected, RoleShuffle automatically retains compatible customized values, transfers supported renamed settings, removes known obsolete entries, and updates unchanged legacy defaults. Before migration, the original file is saved beside the active configuration as REPOJP.RoleShuffle.cfg.pre-v4.2.2.bak.
General, notifications, and HUD
| Key | Default | Range / values | Effect | Control |
|---|---|---|---|---|
General.Enabled |
true |
true, false |
Enables stage role assignment. | Host |
General.UniqueRoles |
true |
true, false |
Avoids duplicates until every enabled eligible role has been assigned once. | Host |
General.ShopUpgradeItemCount |
0 |
0–30 |
Requests this number of upgrade items for each shop. 0 removes upgrade items from the shop pool. |
Host |
Notifications.Enabled |
true |
true, false |
Enables role-name and role-effect chat and TTS notifications. | Host |
Notifications.AnnouncementDelaySeconds |
2.5 |
0–30 |
Delay before role announcements without Stage Flux. | Host |
Notifications.StageFluxAnnouncementDelaySeconds |
5 |
0–30 |
Minimum delay before role announcements when Stage Flux is installed. RoleShuffle also waits for Stage Flux TTS to finish and for a 1.5-second quiet period. | Host |
HUD.Enabled |
true |
true, false |
Shows every synchronized role during a stage. | Local |
HUD.Anchor |
BottomLeft |
TopLeft, TopCenter, TopRight, MiddleLeft, MiddleCenter, MiddleRight, BottomLeft, BottomCenter, BottomRight |
Selects the HUD anchor. | Local |
HUD.Alignment |
Left |
Left, Center, Right |
Selects the role text alignment. | Local |
HUD.OffsetX |
0 |
-3840–3840 |
Horizontal offset from the anchor in pixels. | Local |
HUD.OffsetY |
0 |
-2160–2160 |
Vertical offset from the anchor in pixels. | Local |
HUD.ScalePercent |
70 |
50–200 |
HUD display scale percentage. | Local |
HUD.PlayersPerPage |
8 |
2–20 |
Maximum players shown at once, including the pinned local player. | Local |
HUD.PageIntervalSeconds |
5 |
1–30 |
Seconds each role page remains visible. | Local |
HUD.TransitionDurationSeconds |
0.2 |
0–1 |
Duration of the fade between role pages. | Local |
HUD.PinLocalPlayer |
true |
true, false |
Keeps the local player's role visible on every page. | Local |
Role balance
Showcase roles are Bomber, Stinker, Mage, Gambler, Trickster, and King. Support roles are Medic, Rescuer, Mechanic, Electrician, and Warden. Danger roles are Bomber and Stinker; Hardship roles are Jobless and Tuna. Minimum guarantees are soft requirements and are skipped when no eligible assignment can satisfy them. Risk limits are relaxed only as a final fallback when otherwise no role can be assigned.
| Key | Default | Range / values | Effect | Control |
|---|---|---|---|---|
Role Balance.ShowcaseGuaranteesEnabled |
true |
true, false |
Enables party-size-based minimum Showcase assignments. | Host |
Role Balance.ShowcaseStartPlayerCount |
3 |
1–20 |
Party size where the small Showcase minimum starts. | Host |
Role Balance.ShowcaseMediumPlayerCount |
7 |
1–20 |
Party size where the medium Showcase minimum starts. | Host |
Role Balance.ShowcaseLargePlayerCount |
14 |
1–20 |
Party size where the large Showcase minimum starts. | Host |
Role Balance.ShowcaseMinimumSmall |
1 |
0–20 |
Minimum Showcase roles in the small tier. | Host |
Role Balance.ShowcaseMinimumMedium |
2 |
0–20 |
Minimum Showcase roles in the medium tier. | Host |
Role Balance.ShowcaseMinimumLarge |
3 |
0–20 |
Minimum Showcase roles in the large tier. | Host |
Role Balance.SupportGuaranteesEnabled |
true |
true, false |
Enables party-size-based minimum Support assignments. | Host |
Role Balance.SupportStartPlayerCount |
4 |
1–20 |
Party size where the small Support minimum starts. | Host |
Role Balance.SupportMediumPlayerCount |
8 |
1–20 |
Party size where the medium Support minimum starts. | Host |
Role Balance.SupportLargePlayerCount |
14 |
1–20 |
Party size where the large Support minimum starts. | Host |
Role Balance.SupportMinimumSmall |
1 |
0–20 |
Minimum Support roles in the small tier. | Host |
Role Balance.SupportMinimumMedium |
2 |
0–20 |
Minimum Support roles in the medium tier. | Host |
Role Balance.SupportMinimumLarge |
3 |
0–20 |
Minimum Support roles in the large tier. | Host |
Role Balance.RiskCombinationLimitsEnabled |
true |
true, false |
Enables Danger, Hardship, and small-party combined limits. | Host |
Role Balance.DangerRoleLimit |
1 |
1–20 |
Maximum simultaneous Bomber and Stinker roles. |
Host |
Role Balance.HardshipRoleLimit |
1 |
1–20 |
Maximum simultaneous Jobless and Tuna roles. |
Host |
Role Balance.SmallPartyCombinedRiskPlayerCount |
4 |
1–20 |
Largest party size using the combined Danger and Hardship limit. | Host |
Role Balance.SmallPartyCombinedRiskRoleLimit |
1 |
1–20 |
Maximum combined Danger and Hardship roles in a small party. | Host |
Role Balance.PreventConsecutiveSameRole |
true |
true, false |
Prevents the same player receiving the same role in consecutive stages when alternatives exist. | Host |
Role Balance.HardshipPersonalCooldownStages |
1 |
0–10 |
Stages after Jobless or Tuna during which that player is normally excluded from both roles. |
Host |
Base upgrades
These host settings define the upgrade target used whenever a role does not override that upgrade. Base levels remain active outside stages. Throw is excluded and is never changed by RoleShuffle.
| Key | Default | Range / values | Effect | Control |
|---|---|---|---|---|
Base Upgrades.HealthUpgradeLevels |
1 |
0–100 |
Base Health level. | Host |
Base Upgrades.StaminaUpgradeLevels |
0 |
0–100 |
Base Stamina level. | Host |
Base Upgrades.ExtraJumpUpgradeLevels |
0 |
0–100 |
Base Extra Jump level. | Host |
Base Upgrades.SpeedUpgradeLevels |
0 |
0–100 |
Base Speed level. | Host |
Base Upgrades.StrengthUpgradeLevels |
0 |
0–100 |
Base Strength level. | Host |
Base Upgrades.RangeUpgradeLevels |
0 |
0–100 |
Base Range level. | Host |
Base Upgrades.LaunchUpgradeLevels |
0 |
0–100 |
Base Launch level. | Host |
Base Upgrades.TumbleClimbUpgradeLevels |
0 |
0–100 |
Base Tumble Climb level. | Host |
Base Upgrades.TumbleWingsUpgradeLevels |
0 |
0–100 |
Base Tumble Wings level. | Host |
Base Upgrades.CrouchRestUpgradeLevels |
0 |
0–100 |
Base Crouch Rest level. | Host |
Base Upgrades.MapPlayerCountUpgradeLevels |
0 |
0–1 |
Base Map Player Count level. | Host |
Base Upgrades.DeathHeadBatteryUpgradeLevels |
0 |
0–100 |
Base Death Head Battery level. | Host |
Role selection
Every role has an Enabled switch and a relative Weight. A role with Enabled = false or Weight = 0 is excluded from random assignment.
| Role | Enabled key and default | Weight key and default | Allowed values | Control |
|---|---|---|---|---|
| Tank | Tank.Enabled = true |
Tank.Weight = 100 |
Enabled: true, false; Weight: 0–1000 |
Host |
| Runner | Runner.Enabled = true |
Runner.Weight = 100 |
Enabled: true, false; Weight: 0–1000 |
Host |
| Jumper | Jumper.Enabled = true |
Jumper.Weight = 100 |
Enabled: true, false; Weight: 0–1000 |
Host |
| Lifter | Lifter.Enabled = true |
Lifter.Weight = 100 |
Enabled: true, false; Weight: 0–1000 |
Host |
| Launcher | Launcher.Enabled = true |
Launcher.Weight = 100 |
Enabled: true, false; Weight: 0–1000 |
Host |
| Climber | Climber.Enabled = true |
Climber.Weight = 100 |
Enabled: true, false; Weight: 0–1000 |
Host |
| Flyer | Flyer.Enabled = true |
Flyer.Weight = 100 |
Enabled: true, false; Weight: 0–1000 |
Host |
| Tracker | Tracker.Enabled = true |
Tracker.Weight = 100 |
Enabled: true, false; Weight: 0–1000 |
Host |
| Ghost | Ghost.Enabled = true |
Ghost.Weight = 100 |
Enabled: true, false; Weight: 0–1000 |
Host |
| Bomber | Bomber.Enabled = true |
Bomber.Weight = 100 |
Enabled: true, false; Weight: 0–1000 |
Host |
| Medic | Medic.Enabled = true |
Medic.Weight = 100 |
Enabled: true, false; Weight: 0–1000 |
Host |
| Phoenix | Phoenix.Enabled = true |
Phoenix.Weight = 100 |
Enabled: true, false; Weight: 0–1000 |
Host |
| Jobless | Jobless.Enabled = true |
Jobless.Weight = 20 |
Enabled: true, false; Weight: 0–1000 |
Host |
| Rescuer | Rescuer.Enabled = true |
Rescuer.Weight = 100 |
Enabled: true, false; Weight: 0–1000 |
Host |
| Vampire | Vampire.Enabled = true |
Vampire.Weight = 100 |
Enabled: true, false; Weight: 0–1000 |
Host |
| King | King.Enabled = true |
King.Weight = 100 |
Enabled: true, false; Weight: 0–1000 |
Host |
| Tuna | Tuna.Enabled = true |
Tuna.Weight = 100 |
Enabled: true, false; Weight: 0–1000 |
Host |
| Musician | Musician.Enabled = true |
Musician.Weight = 100 |
Enabled: true, false; Weight: 0–1000 |
Host |
| Mage | Mage.Enabled = true |
Mage.Weight = 100 |
Enabled: true, false; Weight: 0–1000 |
Host |
| Gambler | Gambler.Enabled = true |
Gambler.Weight = 100 |
Enabled: true, false; Weight: 0–1000 |
Host |
| Hunter | Hunter.Enabled = true |
Hunter.Weight = 100 |
Enabled: true, false; Weight: 0–1000 |
Host |
| Stinker | Stinker.Enabled = true |
Stinker.Weight = 100 |
Enabled: true, false; Weight: 0–1000 |
Host |
| Engineer | Engineer.Enabled = true |
Engineer.Weight = 100 |
Enabled: true, false; Weight: 0–1000 |
Host |
| Trickster | Trickster.Enabled = true |
Trickster.Weight = 100 |
Enabled: true, false; Weight: 0–1000 |
Host |
| Mechanic | Mechanic.Enabled = true |
Mechanic.Weight = 100 |
Enabled: true, false; Weight: 0–1000 |
Host |
| Electrician | Electrician.Enabled = true |
Electrician.Weight = 100 |
Enabled: true, false; Weight: 0–1000 |
Host |
| Warden | Warden.Enabled = true |
Warden.Weight = 100 |
Enabled: true, false; Weight: 0–1000 |
Host |
| Ninja | Ninja.Enabled = true |
Ninja.Weight = 100 |
Enabled: true, false; Weight: 0–1000 |
Host |
| Executioner | Executioner.Enabled = true |
Executioner.Weight = 100 |
Enabled: true, false; Weight: 0–1000 |
Host |
Upgrade and special-role settings
| Key | Default | Range / values | Effect | Control |
|---|---|---|---|---|
Tank.HealthUpgradeLevels |
21 |
0–100 |
Health levels granted to Tank. | Host |
Runner.SpeedUpgradeLevels |
6 |
0–100 |
Speed levels granted to Runner. | Host |
Runner.StaminaUpgradeLevels |
46 |
0–100 |
Stamina levels granted to Runner. | Host |
Jumper.ExtraJumpUpgradeLevels |
10 |
0–100 |
Extra Jump levels granted to Jumper. | Host |
Lifter.StrengthUpgradeLevels |
25 |
0–100 |
Strength levels granted to Lifter. | Host |
Launcher.LaunchUpgradeLevels |
10 |
0–100 |
Launch levels granted to Launcher. | Host |
Climber.ClimbUpgradeLevels |
50 |
0–100 |
Tumble Climb levels granted to Climber. | Host |
Climber.RangeUpgradeLevels |
20 |
0–100 |
Range levels granted to Climber. | Host |
Flyer.WingsUpgradeLevels |
10 |
0–100 |
Tumble Wings levels granted to Flyer. | Host |
Ghost.DeathHeadBatteryUpgradeLevels |
50 |
0–100 |
Death Head Battery levels granted to Ghost. | Host |
Bomber.DistancePerGrenade |
8 |
1–100 |
Travel distance in meters required for each grenade placement. | Host |
Bomber.MaximumActiveGrenades |
30 |
1–30 |
Maximum tracked grenades per Bomber. | Host |
Bomber.AllowTruckSpawns |
false |
true, false |
Allows grenade placement inside the truck. | Host |
Bomber.ExplosiveGrenadesEnabled |
true |
true, false |
Includes vanilla explosive grenades in the random selection. | Host |
Bomber.StunGrenadesEnabled |
true |
true, false |
Includes vanilla stun grenades in the random selection. | Host |
Bomber.ShockwaveGrenadesEnabled |
true |
true, false |
Includes vanilla shockwave grenades in the random selection. | Host |
Bomber.DuctTapedGrenadesEnabled |
true |
true, false |
Includes vanilla duct-taped grenades in the random selection. | Host |
Medic.HealAmount |
5 |
1–100 |
Health restored to each nearby teammate per tick. | Host |
Medic.HealIntervalSeconds |
2 |
0.1–30 |
Seconds between Medic healing ticks. | Host |
Medic.HealRadius |
5 |
1–30 |
Maximum healing distance in meters. | Host |
Medic.TotalHealingLimit |
150 |
1–10000 |
Maximum total health restored by each Medic per stage. Only health actually missing from a target consumes the limit. | Host |
Phoenix.ReviveDelaySeconds |
2 |
2–10 |
Seconds before Phoenix revival. | Host |
Phoenix.FailureGraceSeconds |
5 |
1–15 |
Maximum seconds to hold a failed-stage transition while revival initializes. | Host |
Phoenix.RevivalHealth |
25 |
1–1000 |
Health after Phoenix revival, capped at the player's maximum health. | Host |
Jobless.Damage |
1 |
1–100 |
Damage per tick outside the truck. | Host |
Jobless.DamageIntervalSeconds |
0.1 |
0.05–10 |
Seconds between damage ticks outside the truck. | Host |
Rescuer.ReviveDelaySeconds |
2 |
0–10 |
Seconds a target must remain dead before rescue. | Host |
Rescuer.Radius |
3 |
1–50 |
Maximum rescue distance in meters. | Host |
Rescuer.MaximumRevives |
2 |
1–10 |
Maximum revivals for each Rescuer per stage. | Host |
Rescuer.RevivalHealth |
25 |
1–1000 |
Health after a Rescuer revival, capped at the target's maximum health. | Host |
Vampire.Tier1HealAmount |
5 |
1–100 |
Health restored by a nearby Danger Level 1 enemy death. | Host |
Vampire.Tier2HealAmount |
10 |
1–100 |
Health restored by a nearby Danger Level 2 enemy death. | Host |
Vampire.Tier3HealAmount |
50 |
1–100 |
Health restored by a nearby Danger Level 3 enemy death. | Host |
Vampire.Radius |
10 |
1–50 |
Maximum distance in meters from the dying enemy. | Host |
Tuna.StationaryDelaySeconds |
3 |
0.1–30 |
Seconds without movement before damage begins. | Host |
Tuna.Damage |
1 |
1–100 |
Damage per stationary tick. | Host |
Tuna.DamageIntervalSeconds |
0.1 |
0.05–10 |
Seconds between stationary damage ticks. | Host |
Musician.HealAmount |
5 |
1–100 |
Health restored to the Musician and each living player in range per instrument note. | Host |
Musician.HealRadius |
10 |
1–50 |
Maximum healing distance in meters from the Musician. | Host |
Mage.CastIntervalSeconds |
5 |
0.1–30 |
Minimum seconds between chat-triggered casts. | Host |
Mage.StarHealthCost |
10 |
0–100 |
Health consumed after a successful star cast. |
Host |
Mage.GravityHealthCost |
10 |
0–100 |
Health consumed after a successful gravity cast. |
Host |
Mage.RollHealthCost |
15 |
0–100 |
Health consumed after a successful roll cast. |
Host |
Mage.VoidHealthCost |
30 |
0–100 |
Health consumed after a successful void cast. |
Host |
Mage.LaserHealthCost |
50 |
0–100 |
Health consumed after a successful laser cast. |
Host |
Gambler.WinChancePercent |
50 |
0–100 |
Chance that a wager uses the win multiplier instead of destroying the valuable. | Host |
Gambler.WinValueMultiplier |
2 |
0–10 |
Valuable multiplier applied to a winning wager. | Host |
Gambler.GambitGreenHealAmount |
50 |
25–1000 |
Total HP restored by Gambit's green result for a Gambler. | Host |
Gambler.GambitRedDamage |
100 |
50–1000 |
Total damage dealt by Gambit's red result to a Gambler. | Host |
Gambler.GambitWhiteHealthUpgradeLevels |
5 |
0–100 |
Health upgrade levels added by Gambit's white result for the current stage only. | Host |
Hunter.WeaponBatteryConsumptionPercent |
75 |
0–100 |
Percentage of normal weapon battery consumption used by Hunter. | Host |
Hunter.DoubleOrbChancePercent |
10 |
0–100 |
Chance to double the normal orb count after Hunter defeats an enemy, checked only if the jackpot roll fails. | Host |
Hunter.JackpotOrbChancePercent |
0.5 |
0–100 |
Chance to use the jackpot target after Hunter defeats an enemy. Missing orbs are added, but a normal drop above the target is not reduced. | Host |
Hunter.JackpotOrbCount |
10 |
1–30 |
Target orb count used by Hunter's jackpot result. | Host |
Stinker.DistancePerCloud |
1 |
1–100 |
Travel distance in meters between recorded uranium-cloud trail points. | Host |
Stinker.MinimumSafetyDistance |
1 |
1–30 |
Minimum distance Stinker must be from the newest pending point before its cloud is created. Older queued points are emitted sequentially. | Host |
Stinker.AllowTruckSpawns |
false |
true, false |
Allows uranium-cloud trail points to be recorded and created inside the truck. | Host |
Trickster.ActiveSeconds |
15 |
1–120 |
Seconds before the active decoy is removed. | Host |
Trickster.CooldownSeconds |
45 |
1–300 |
Seconds between successful decoy placements. | Host |
Trickster.InvestigateRadius |
30 |
1–100 |
Enemy investigation radius around the decoy in meters. | Host |
Trickster.PulseIntervalSeconds |
2 |
0.25–10 |
Seconds between enemy investigation pulses. | Host |
Trickster.PlacementDistance |
2 |
0.5–10 |
Placement distance in front of Trickster in meters. | Host |
Mechanic.RepairPercentPerSecond |
2 |
0–100 |
Shared original-value percentage repaired per second while Mechanic directly holds damaged valuables. | Host |
Mechanic.MaximumRepairPercentPerStage |
50 |
0–100 |
Maximum cumulative original-value percentage repaired by each Mechanic per stage. | Host |
Electrician.ChargePercentPerSecond |
10 |
0–100 |
Shared battery percentage restored per second while Electrician directly holds inactive rechargeable items. | Host |
Electrician.MaximumChargePercentPerStage |
100 |
0–1000 |
Maximum cumulative battery percentage restored by each Electrician per stage. | Host |
Warden.AdditionalStunSeconds |
3 |
0–30 |
Seconds added to enemy stuns caused by Warden. | Host |
Ninja.VisionRecognitionMultiplier |
2 |
1–10 |
Multiplier applied to the time enemies need to visually recognize Ninja. | Host |
Executioner.StunnedDamageMultiplier |
2 |
1–10 |
Direct attack damage multiplier against enemies already stunned before the hit. | Host |
The default base is Health 1 and 0 for every other managed upgrade. A role-specific upgrade is an absolute target, not a bonus added to the base. When that role ends, RoleShuffle restores the configured base target; upgrades not overridden by the role stay at their base targets. Levels are changed only when assignment or session state changes, including role assignment, role changes, returning-player restoration, and stage transitions, without continuous monitoring. Tracker always targets Map Player Count 1 and therefore has no role-level setting. Throw is not managed. King has no effect-strength setting.
Notifications and HUD
- At stage start, each player announces the assigned English role name through vanilla chat and TTS.
- RoleShuffle's forced notification TTS does not attract enemies. Ordinary microphone input and other world sounds keep their vanilla behavior unless suppressed by Ninja.
- When Stage Flux is present, RoleShuffle uses the separate Stage Flux announcement delay to avoid overlapping stage-start messages.
- RoleShuffle waits until Stage Flux TTS has finished and remains quiet for 1.5 seconds before announcing roles.
- Installed participants see a one-column
ROLESHUD at the bottom left by default. Their own role stays pinned while up to seven other players rotate every 5 seconds. - A
ROLESbutton placed at the bottom-right of the Escape menu opens the Roles page. Its left column switches betweenCURRENT ROLESandROLE GUIDE; the page always opens on current assignments. ROLE GUIDEshows every role description in English or Japanese. Use the language toggle inside the guide to switch immediately; English is selected whenever the Roles page is opened. Japanese descriptions use the Checkpoint Revenge font. In multiplayer, installed participants see the host's synchronized role settings in either language. Until that snapshot is available, descriptions omit unconfirmed numeric values. Single-player uses the local settings.
Compatibility
Stage Flux is optional and is not required to install RoleShuffle.
- Stage Flux Second Chance is evaluated before RoleShuffle Phoenix.
- If Second Chance stops a failed-stage transition, Phoenix is preserved for later use and RoleShuffle does not clear the active roles.
- If Phoenix stops the transition, RoleShuffle also preserves all active role state.
- In the
ChangeLevelcompatibility path, RoleShuffle clears its stage state only when the game's original level transition actually runs. An active scene change also performs safety cleanup. - Internal vanilla effect carriers used by RoleShuffle are marked for Stage Flux compatibility and do not interfere with player movement or grounded checks.
Gameplay notes
Bombercreates live vanilla hazards. Explosions and physics effects may injure players or damage valuables.Magefires live vanilla attacks selected by case-insensitive chat keywords after trimming surrounding whitespace. Projectiles and beams may injure players or damage valuables.JoblessandTunacontinuously deal real damage under their stated conditions and can kill their owner. The damage is not automatically restored.Medicnever heals itself.Phoenixrevives itself once per stage.Rescuerrevives other nearby players up to the configured limit. Each role uses its own configurable revival HP, with a default of 25.- Role-specific upgrade overrides return to their configured base levels at stage end. Other managed upgrades stay at their base levels, and Throw is untouched.
- Setting every role to disabled or weight
0leaves no eligible random role to assign.
日本語
概要
RoleShuffleは、ステージ開始時に各プレイヤーへランダムな役職を1つ割り当て、ステージ終了時に役職を解除します。各役職はバニラのアップグレードや効果を使った固有のゲームプレイテーマに特化しています。設定可能な基礎アップグレードはステージ外でも維持します。役職が特化するアップグレードは、ステージ中だけ基礎値ではなく役職の設定値へ置き換え、それ以外は基礎値を維持します。
ゲームプレイ効果はホストだけの導入で利用できます。MODを導入していない参加者にも、役職、アップグレード、効果、バニラのチャット/TTS通知が適用されます。RoleShuffleを導入している参加者は、同期された役職HUDも利用できます。
デフォルトでは、役職による一時強化を中心にするため、ショップのアップグレードアイテム出現数は0です。
必須MOD
- BepInExPack 5.4.2305以降の互換バージョン
- REPOConfig 1.2.6以降の互換バージョン
- MenuLib 2.5.2以降の互換バージョン
導入方法
対応するMODマネージャーでインストールするか、RoleShuffle.dllをプロファイルのBepInEx/pluginsへ配置してください。ゲームプレイ効果はホストだけの導入で利用できます。
マルチプレイ
- 役職の抽選とゲームプレイ設定はホストが管理します。
- MOD未導入の参加者にも対応しており、RoleShuffleの導入は不要です。
- MOD導入済みの参加者には同期された役職HUDと、Escメニュー内のスクロール可能な
Rolesページが表示されます。HUD配置設定は各導入者のローカル設定です。 - シングルプレイでも同じ役職システムを使用しますが、参加者が1人だけのときは
Tracker、Ghost、Medic、Jobless、Rescuerがランダム抽選から除外されます。
役職確認コマンド
- ゲーム内チャットで
/rolesを入力すると、自分に割り当てられた役職を確認できます。 - ホストがRoleShuffleを導入していれば、MOD未導入の参加者も使用できます。
- ステージ外では
YourRole:Unavailableと応答します。
役職の抽選
- プレイ可能なステージの開始時、各プレイヤーへ役職を1つ割り当てます。
- 有効な役職を相対的な
Weightに基づいて抽選します。 General.UniqueRoles = trueの場合、抽選可能な役職を一巡するまで重複を避けます。Kingは1ステージにつき最大1人です。- デフォルトでは、Showcase役(
Bomber、Stinker、Mage、Gambler、Trickster、King)とSupport役(Medic、Rescuer、Mechanic、Electrician、Warden)を、参加人数に応じて設定された最低人数まで優先的に割り当てます。 - デフォルトでは、Danger役(
Bomber、Stinker)とHardship役(Jobless、Tuna)をそれぞれ最大1人に制限します。4人以下では両グループを合わせて最大1人です。 - 同じプレイヤーへ前ステージと同じ役職を通常は連続で割り当てません。
JoblessまたはTunaの次ステージでは、そのプレイヤーを両方から除外します。役職未割り当てを防ぐ必要がある場合だけ制限を緩和します。 Tracker、Ghost、Medic、Jobless、Rescuerはシングルプレイまたは1人のセッションでは抽選されません。- ステージ中、ホストはPhoton上の実在参加者を継続的に確認します。10回連続で確認できなかったプレイヤーだけを一覧から外し、同じSteam IDが戻った場合は元の役職と維持対象の状態を復元します。新規に検出したプレイヤーには、新しい役職、アップグレード、通知、HUD表示を適用します。
- 役職、役職用アップグレードの上書き、ハザード、回復効果、復活状態、役職HUDは、ステージ終了時またはアクティブシーン変更時に解除します。中断された
ChangeLevelでは解除しません。
役職一覧
| 役職 | 機能とデフォルト効果 | 主な制限・危険性 | 調整可能な値 |
|---|---|---|---|
| Tank | 最大HPが増加し、Healthがレベル21になります。 | バニラのHealthアップグレードを使用し、別の能動的な能力はありません。 | Health目標値0~100 |
| Runner | 移動速度とスタミナが増加し、より速く長く走れます。Speedはレベル6、Staminaはレベル46です。 | 2種類のバニラアップグレードを使用し、別の能動的な能力はありません。 | SpeedとStaminaの目標値0~100 |
| Jumper | Extra Jumpがレベル10になり、着地するまでに最大10回の追加ジャンプを使えます。 | バニラのExtra Jumpアップグレードを使用し、別の能動的な能力はありません。 | Extra Jump目標値0~100 |
| Lifter | 掴む力が増加し、重い物を扱いやすくなります。Strengthはレベル25です。 | バニラのStrengthアップグレードを使用し、別の能動的な能力はありません。 | Strength目標値0~100 |
| Launcher | Tumble開始時にプレイヤーをより遠く前方へ飛ばします。Launchはレベル10です。 | バニラのLaunchアップグレードを使用し、別の能動的な能力はありません。 | Launch目標値0~100 |
| Climber | Tumble中の登りやすさが増し、より遠くの物を掴めます。Tumble Climbはレベル50、Rangeはレベル20です。 | 2種類のバニラアップグレードを使用し、別の能動的な能力はありません。 | Tumble ClimbとRangeの目標値0~100 |
| Flyer | Tumble Wingsの効果時間が延び、空中をより長く移動できます。Tumble Wingsはレベル10です。 | バニラのTumble Wingsアップグレードを使用し、別の能動的な能力はありません。 | Tumble Wings目標値0~100 |
| Tracker | Map Player Countがレベル1になり、マップ系アイテムで別のプレイヤーを追跡できます。 | レベルは1固定です。参加者が1人だけの場合はランダム抽選されません。 |
抽選設定のみ |
| Ghost | Death Head Batteryがレベル50になり、自分のDeath Headのバッテリーが長持ちします。 | 参加者が1人だけの場合はランダム抽選されません。 | Death Head Battery目標値0~100 |
| Bomber | 8 m移動するごとに、Explosive、Stun、Shockwave、Duct Tapedのいずれかの起動済みグレネードをランダム設置します。どのBomberも自動生成されたBomberのグレネードを持てます。 | プレイヤーや貴重品に被害を与える可能性があります。Duct Taped Grenadeは追加のHuman Grenadeを放出します。Bomber 1人につき生成済みグレネードは最大30個まで有効で、トラック内設置はデフォルト無効です。 | 距離、上限、トラック内設置、グレネード種類 |
| Medic | 5 m以内の仲間を2秒ごとに5 HP回復し、1ステージにつき合計150 HPまで回復します。 | Medic自身は回復しません。範囲内で生存している仲間だけが対象です。そのMedicの上限を使い切ると回復を停止します。参加者が1人だけの場合はランダム抽選されません。 | 回復量、間隔、範囲、合計上限 |
| Phoenix | 死亡すると、1ステージに1回だけデフォルト25 HPで自動復活します。 | 1ステージにつき1回です。復活後HPはプレイヤーの最大HPを超えません。 | 復活後HP、復活遅延、失敗時猶予 |
| Jobless | トラック外にいる間、0.1秒ごとに1ダメージを受けます。 | 死亡する可能性があります。参加者が1人だけの場合はランダム抽選されません。 | ダメージ、間隔 |
| Rescuer | 生存中に、死亡した仲間のDeath Headから3 m以内へ近づくと、最も近い対象をデフォルト25 HPで復活させます。 | 1ステージにつき最大2回です。復活後HPは対象の最大HPを超えません。参加者が1人だけの場合はランダム抽選されません。 | 復活後HP、遅延、範囲、最大復活回数 |
| Vampire | 10 m以内で敵が死亡すると、Tier 1は5、Tier 2は10、Tier 3は50回復します。 | 敵のバニラDanger Levelを使用します。Vampireが生存し、死亡した敵の近くにいる必要があります。 | Tier別回復量、範囲 |
| King | ステージ中、バニラのCrownを受け取ります。 | Kingは最大1人です。役職終了時に以前のCrown所有者へ戻します。 | 抽選設定のみ |
| Tuna | ステージ開始時の5秒間の猶予後、3秒間停止すると、移動するまで0.1秒ごとに1ダメージを受けます。 | 死亡する可能性があります。停止時間の計測は最初の猶予後に始まります。動くと即座にリセットし、失った体力は回復しません。 | 停止時間、ダメージ、間隔 |
| Musician | Musicianが楽器で音を鳴らすたびに、本人を含む10 m以内の生存プレイヤーを5 HP回復します。 | Musician本人がバニラの楽器系貴重品を演奏する必要があります。 | 回復量、範囲 |
| Mage | HPを消費し、チャットキーワードでバニラの攻撃を発射します。star = Star Wand(10 HP)、gravity = Zero Gravity Staff(10 HP)、roll = Roll Staff(15 HP)、void = Void Staff(30 HP)、laser = Wizard Staffのビーム(50 HP)です。ビームはプレイヤーの前方3 mから発射します。 |
魔法の消費でMage自身が死亡することはなく、発動に成功した場合だけHPを消費します。攻撃はプレイヤーや貴重品へ被害を与える可能性があり、全魔法で5秒のクールダウンを共有します。キーワードは大文字・小文字と前後の空白を無視します。 | 発射クールダウン、魔法ごとのHP消費量 |
| Gambler | 使用可能な賭けを、最初に直接保持した対象Valuableへ行います。50%の確率で現在価格が2倍になり、失敗すると破壊されます。チームが納品を完了すると再び賭けられます。Gambitは、緑が50 HP回復、赤が100ダメージ、黒が死亡、白が全回復とそのステージ中のみHealthレベル+5になります。黄色はバニラの挙動を維持します。 | 傷ついたValuableは低下後の価格を基準に2倍になります。Jackpot!、Bust!、GamblerReadyで結果や賭けの復帰を通知します。賭けが復帰した時点ですでに対象Valuableを保持している場合、そのまま発動することがあります。 |
勝率、勝利倍率、Gambitの緑回復量、赤ダメージ、白の一時Healthレベル |
| Hunter | 保持または装備中の武器のバッテリー消費量が通常の75%になります。Hunterが敵へ最後のダメージを与えて倒すと、0.5%の確率でドロップを10オーブまで増やし、それ以外では10%の確率で通常ドロップを2倍にします。 | Hunter本人が保持または装備している武器だけが対象です。通常ドロップが設定した特賞個数を上回っている場合、個数は減りません。 | バッテリー消費率、両方のオーブ確率、特賞個数 |
| Stinker | 1 m移動するごとに、ダメージを与えるウラン雲を残します。雲は、Stinkerが最新の発生位置から1 m以上離れた後に1つずつ発生します。 | ウラン雲はほかのプレイヤーへダメージを与えます。Stinkerも雲へ戻るとダメージを受ける可能性があります。デフォルトではトラック内に発生しません。 | 距離、安全距離、トラック内発生 |
| Engineer | 対応している効果付きValuableを保持している間、その効果が発動しないようにします。 | Camera、Propane Tank、Snowmobile、Flashlight、Clown Doll、Love Potionは対象外です。その他の対応Valuableも、効果を抑止するには保持し続ける必要があります。 | 抽選設定のみ |
| Trickster | チャットでdecoyと入力すると、前方2 mに固定したバニラのScream Dollを1体設置します。15秒間、2秒ごとに半径30 mの敵を誘導します。 |
Tricksterが生存し、トラック外にいる必要があります。デコイは掴む、破壊する、納品することができません。すでに交戦中の敵は現在の行動を続ける場合があります。設置成功後のクールダウンは45秒です。 | 有効時間、クールダウン、範囲、誘導間隔、設置距離 |
| Mechanic | 破損したValuableを直接掴んでいる間、元の売却価格の合計2%を毎秒回復し、1ステージにつき合計50ポイントまで回復します。 | 修復済みのValuableとValuable以外は対象外です。複数を同時に掴んだ場合、回復速度とステージ上限を共有します。売却価格を回復する効果で、破損した外見は残る場合があります。 | 回復速度、ステージ合計上限 |
| Electrician | 使用していない充電可能なアイテムを直接掴んでいる間、合計10%のバッテリーを毎秒回復し、1ステージにつき合計100ポイントまで回復します。 | 使用中、満充電、充電不可能なアイテムは対象外です。複数を同時に掴んだ場合、充電速度とステージ上限を共有します。 | 充電速度、ステージ合計上限 |
| Warden | Wardenの武器、グレネード、保持している攻撃用オブジェクトによる敵のスタン時間を3秒延長します。 | 元の攻撃がその敵をスタンさせられる場合だけ適用します。 | 追加スタン時間 |
| Ninja | Ninjaの足音、着地音、VC、チャットTTSによる敵の調査行動を発生させず、Huntsmanの音による調査も防ぎます。敵が視覚でNinjaを認識するまでの時間は既定で2倍です。 | 近接や接触による発見は防ぎません。武器、Valuable、衝突、爆発、危険物などが独立して発生させる音はバニラ動作を維持します。 | 視認時間倍率 |
| Executioner | 攻撃前からスタンしている敵への直接攻撃ダメージが2倍になります。 | 最初にスタンさせる攻撃には倍率が適用されません。物理衝突だけで発生するダメージは変更しません。 | スタン中ダメージ倍率 |
設定
すべての設定はREPOConfigから変更できます。ホスト設定はセッション全体へ、ローカル設定はMOD導入者本人のHUDだけに反映されます。
v4.2.2より前に作成された設定を検出すると、変更済みの互換値を維持し、対応している旧名称を現名称へ移行し、既知の廃止項目を削除したうえで、変更されていない旧デフォルト値を更新します。移行前の設定は、同じ場所へREPOJP.RoleShuffle.cfg.pre-v4.2.2.bakとして保存します。
一般、通知、HUD
| キー | デフォルト | 範囲・値 | 内容 | 管理 |
|---|---|---|---|---|
General.Enabled |
true |
true, false |
ステージごとの役職割り当てを有効にします。 | ホスト |
General.UniqueRoles |
true |
true, false |
抽選可能な役職を一巡するまで重複を避けます。 | ホスト |
General.ShopUpgradeItemCount |
0 |
0~30 |
各ショップへ要求するアップグレードアイテム数です。0でショップの抽選対象から除外します。 |
ホスト |
Notifications.Enabled |
true |
true, false |
役職名と役職効果のチャット/TTS通知を有効にします。 | ホスト |
Notifications.AnnouncementDelaySeconds |
2.5 |
0~30 |
Stage Flux未導入時の役職通知までの秒数です。 | ホスト |
Notifications.StageFluxAnnouncementDelaySeconds |
5 |
0~30 |
Stage Flux導入時、役職通知までに最低限待つ秒数です。Stage FluxのTTS終了後、さらに1.5秒間の無音を確認します。 | ホスト |
HUD.Enabled |
true |
true, false |
ステージ中、同期された全役職を表示します。 | ローカル |
HUD.Anchor |
BottomLeft |
TopLeft, TopCenter, TopRight, MiddleLeft, MiddleCenter, MiddleRight, BottomLeft, BottomCenter, BottomRight |
HUDの基準位置を選択します。 | ローカル |
HUD.Alignment |
Left |
Left, Center, Right |
役職テキストの揃え方を選択します。 | ローカル |
HUD.OffsetX |
0 |
-3840~3840 |
基準位置からの水平オフセットです。単位はピクセルです。 | ローカル |
HUD.OffsetY |
0 |
-2160~2160 |
基準位置からの垂直オフセットです。単位はピクセルです。 | ローカル |
HUD.ScalePercent |
70 |
50~200 |
HUDの表示倍率です。 | ローカル |
HUD.PlayersPerPage |
8 |
2~20 |
自分の固定表示を含め、同時に表示する最大人数です。 | ローカル |
HUD.PageIntervalSeconds |
5 |
1~30 |
各役職ページを表示する秒数です。 | ローカル |
HUD.TransitionDurationSeconds |
0.2 |
0~1 |
役職ページ切替時のフェード時間です。 | ローカル |
HUD.PinLocalPlayer |
true |
true, false |
自分の役職をすべてのページへ固定表示します。 | ローカル |
役職バランス
Showcase役はBomber、Stinker、Mage、Gambler、Trickster、Kingです。Support役はMedic、Rescuer、Mechanic、Electrician、Wardenです。Danger役はBomber、Stinker、Hardship役はJobless、Tunaです。最低保証は条件を満たす候補がない場合には適用しません。危険役制限は、ほかに割り当て可能な役職がなくなる場合だけ最終手段として緩和します。
| キー | デフォルト | 範囲・値 | 内容 | 管理 |
|---|---|---|---|---|
Role Balance.ShowcaseGuaranteesEnabled |
true |
true, false |
参加人数別のShowcase最低保証を有効にします。 | ホスト |
Role Balance.ShowcaseStartPlayerCount |
3 |
1~20 |
Showcase小規模区分を開始する参加人数です。 | ホスト |
Role Balance.ShowcaseMediumPlayerCount |
7 |
1~20 |
Showcase中規模区分を開始する参加人数です。 | ホスト |
Role Balance.ShowcaseLargePlayerCount |
14 |
1~20 |
Showcase大規模区分を開始する参加人数です。 | ホスト |
Role Balance.ShowcaseMinimumSmall |
1 |
0~20 |
小規模区分で保証するShowcaseの最低人数です。 | ホスト |
Role Balance.ShowcaseMinimumMedium |
2 |
0~20 |
中規模区分で保証するShowcaseの最低人数です。 | ホスト |
Role Balance.ShowcaseMinimumLarge |
3 |
0~20 |
大規模区分で保証するShowcaseの最低人数です。 | ホスト |
Role Balance.SupportGuaranteesEnabled |
true |
true, false |
参加人数別のSupport最低保証を有効にします。 | ホスト |
Role Balance.SupportStartPlayerCount |
4 |
1~20 |
Support小規模区分を開始する参加人数です。 | ホスト |
Role Balance.SupportMediumPlayerCount |
8 |
1~20 |
Support中規模区分を開始する参加人数です。 | ホスト |
Role Balance.SupportLargePlayerCount |
14 |
1~20 |
Support大規模区分を開始する参加人数です。 | ホスト |
Role Balance.SupportMinimumSmall |
1 |
0~20 |
小規模区分で保証するSupportの最低人数です。 | ホスト |
Role Balance.SupportMinimumMedium |
2 |
0~20 |
中規模区分で保証するSupportの最低人数です。 | ホスト |
Role Balance.SupportMinimumLarge |
3 |
0~20 |
大規模区分で保証するSupportの最低人数です。 | ホスト |
Role Balance.RiskCombinationLimitsEnabled |
true |
true, false |
Danger、Hardship、少人数時の複合上限を有効にします。 | ホスト |
Role Balance.DangerRoleLimit |
1 |
1~20 |
BomberとStinkerを合わせた最大人数です。 |
ホスト |
Role Balance.HardshipRoleLimit |
1 |
1~20 |
JoblessとTunaを合わせた最大人数です。 |
ホスト |
Role Balance.SmallPartyCombinedRiskPlayerCount |
4 |
1~20 |
DangerとHardshipの複合上限を使用する最大参加人数です。 | ホスト |
Role Balance.SmallPartyCombinedRiskRoleLimit |
1 |
1~20 |
少人数時に許可するDangerとHardshipの合計最大人数です。 | ホスト |
Role Balance.PreventConsecutiveSameRole |
true |
true, false |
ほかの候補がある場合、同じプレイヤーへの同役職の連続割り当てを防ぎます。 | ホスト |
Role Balance.HardshipPersonalCooldownStages |
1 |
0~10 |
JoblessまたはTunaの後、そのプレイヤーを両役職から通常除外するステージ数です。 |
ホスト |
基礎アップグレード
役職が置き換えない場合に使用するアップグレード目標値です。ホスト設定として動作し、基礎値はステージ外でも維持します。Throwは対象外で、RoleShuffleから変更しません。
| キー | デフォルト | 範囲・値 | 内容 | 管理 |
|---|---|---|---|---|
Base Upgrades.HealthUpgradeLevels |
1 |
0~100 |
Healthの基礎値です。 | ホスト |
Base Upgrades.StaminaUpgradeLevels |
0 |
0~100 |
Staminaの基礎値です。 | ホスト |
Base Upgrades.ExtraJumpUpgradeLevels |
0 |
0~100 |
Extra Jumpの基礎値です。 | ホスト |
Base Upgrades.SpeedUpgradeLevels |
0 |
0~100 |
Speedの基礎値です。 | ホスト |
Base Upgrades.StrengthUpgradeLevels |
0 |
0~100 |
Strengthの基礎値です。 | ホスト |
Base Upgrades.RangeUpgradeLevels |
0 |
0~100 |
Rangeの基礎値です。 | ホスト |
Base Upgrades.LaunchUpgradeLevels |
0 |
0~100 |
Launchの基礎値です。 | ホスト |
Base Upgrades.TumbleClimbUpgradeLevels |
0 |
0~100 |
Tumble Climbの基礎値です。 | ホスト |
Base Upgrades.TumbleWingsUpgradeLevels |
0 |
0~100 |
Tumble Wingsの基礎値です。 | ホスト |
Base Upgrades.CrouchRestUpgradeLevels |
0 |
0~100 |
Crouch Restの基礎値です。 | ホスト |
Base Upgrades.MapPlayerCountUpgradeLevels |
0 |
0~1 |
Map Player Countの基礎値です。 | ホスト |
Base Upgrades.DeathHeadBatteryUpgradeLevels |
0 |
0~100 |
Death Head Batteryの基礎値です。 | ホスト |
役職の抽選設定
全役職にEnabledと相対的なWeightがあります。Enabled = falseまたはWeight = 0の役職はランダム抽選から除外されます。
| 役職 | Enabledキーとデフォルト | Weightキーとデフォルト | 設定可能値 | 管理 |
|---|---|---|---|---|
| Tank | Tank.Enabled = true |
Tank.Weight = 100 |
Enabled: true, false、Weight: 0~1000 |
ホスト |
| Runner | Runner.Enabled = true |
Runner.Weight = 100 |
Enabled: true, false、Weight: 0~1000 |
ホスト |
| Jumper | Jumper.Enabled = true |
Jumper.Weight = 100 |
Enabled: true, false、Weight: 0~1000 |
ホスト |
| Lifter | Lifter.Enabled = true |
Lifter.Weight = 100 |
Enabled: true, false、Weight: 0~1000 |
ホスト |
| Launcher | Launcher.Enabled = true |
Launcher.Weight = 100 |
Enabled: true, false、Weight: 0~1000 |
ホスト |
| Climber | Climber.Enabled = true |
Climber.Weight = 100 |
Enabled: true, false、Weight: 0~1000 |
ホスト |
| Flyer | Flyer.Enabled = true |
Flyer.Weight = 100 |
Enabled: true, false、Weight: 0~1000 |
ホスト |
| Tracker | Tracker.Enabled = true |
Tracker.Weight = 100 |
Enabled: true, false、Weight: 0~1000 |
ホスト |
| Ghost | Ghost.Enabled = true |
Ghost.Weight = 100 |
Enabled: true, false、Weight: 0~1000 |
ホスト |
| Bomber | Bomber.Enabled = true |
Bomber.Weight = 100 |
Enabled: true, false、Weight: 0~1000 |
ホスト |
| Medic | Medic.Enabled = true |
Medic.Weight = 100 |
Enabled: true, false、Weight: 0~1000 |
ホスト |
| Phoenix | Phoenix.Enabled = true |
Phoenix.Weight = 100 |
Enabled: true, false、Weight: 0~1000 |
ホスト |
| Jobless | Jobless.Enabled = true |
Jobless.Weight = 20 |
Enabled: true, false、Weight: 0~1000 |
ホスト |
| Rescuer | Rescuer.Enabled = true |
Rescuer.Weight = 100 |
Enabled: true, false、Weight: 0~1000 |
ホスト |
| Vampire | Vampire.Enabled = true |
Vampire.Weight = 100 |
Enabled: true, false、Weight: 0~1000 |
ホスト |
| King | King.Enabled = true |
King.Weight = 100 |
Enabled: true, false、Weight: 0~1000 |
ホスト |
| Tuna | Tuna.Enabled = true |
Tuna.Weight = 100 |
Enabled: true, false、Weight: 0~1000 |
ホスト |
| Musician | Musician.Enabled = true |
Musician.Weight = 100 |
Enabled: true, false、Weight: 0~1000 |
ホスト |
| Mage | Mage.Enabled = true |
Mage.Weight = 100 |
Enabled: true, false、Weight: 0~1000 |
ホスト |
| Gambler | Gambler.Enabled = true |
Gambler.Weight = 100 |
Enabled: true, false、Weight: 0~1000 |
ホスト |
| Hunter | Hunter.Enabled = true |
Hunter.Weight = 100 |
Enabled: true, false、Weight: 0~1000 |
ホスト |
| Stinker | Stinker.Enabled = true |
Stinker.Weight = 100 |
Enabled: true, false、Weight: 0~1000 |
ホスト |
| Engineer | Engineer.Enabled = true |
Engineer.Weight = 100 |
Enabled: true, false、Weight: 0~1000 |
ホスト |
| Trickster | Trickster.Enabled = true |
Trickster.Weight = 100 |
Enabled: true, false、Weight: 0~1000 |
ホスト |
| Mechanic | Mechanic.Enabled = true |
Mechanic.Weight = 100 |
Enabled: true, false、Weight: 0~1000 |
ホスト |
| Electrician | Electrician.Enabled = true |
Electrician.Weight = 100 |
Enabled: true, false、Weight: 0~1000 |
ホスト |
| Warden | Warden.Enabled = true |
Warden.Weight = 100 |
Enabled: true, false、Weight: 0~1000 |
ホスト |
| Ninja | Ninja.Enabled = true |
Ninja.Weight = 100 |
Enabled: true, false、Weight: 0~1000 |
ホスト |
| Executioner | Executioner.Enabled = true |
Executioner.Weight = 100 |
Enabled: true, false、Weight: 0~1000 |
ホスト |
アップグレード・特殊役職設定
| キー | デフォルト | 範囲・値 | 内容 | 管理 |
|---|---|---|---|---|
Tank.HealthUpgradeLevels |
21 |
0~100 |
Tankへ付与するHealthレベルです。 | ホスト |
Runner.SpeedUpgradeLevels |
6 |
0~100 |
Runnerへ付与するSpeedレベルです。 | ホスト |
Runner.StaminaUpgradeLevels |
46 |
0~100 |
Runnerへ付与するStaminaレベルです。 | ホスト |
Jumper.ExtraJumpUpgradeLevels |
10 |
0~100 |
Jumperへ付与するExtra Jumpレベルです。 | ホスト |
Lifter.StrengthUpgradeLevels |
25 |
0~100 |
Lifterへ付与するStrengthレベルです。 | ホスト |
Launcher.LaunchUpgradeLevels |
10 |
0~100 |
Launcherへ付与するLaunchレベルです。 | ホスト |
Climber.ClimbUpgradeLevels |
50 |
0~100 |
Climberへ付与するTumble Climbレベルです。 | ホスト |
Climber.RangeUpgradeLevels |
20 |
0~100 |
Climberへ付与するRangeレベルです。 | ホスト |
Flyer.WingsUpgradeLevels |
10 |
0~100 |
Flyerへ付与するTumble Wingsレベルです。 | ホスト |
Ghost.DeathHeadBatteryUpgradeLevels |
50 |
0~100 |
Ghostへ付与するDeath Head Batteryレベルです。 | ホスト |
Bomber.DistancePerGrenade |
8 |
1~100 |
グレネードを1個設置するために必要な移動距離です。単位はメートルです。 | ホスト |
Bomber.MaximumActiveGrenades |
30 |
1~30 |
Bomberごとに追跡するグレネードの最大数です。 | ホスト |
Bomber.AllowTruckSpawns |
false |
true, false |
トラック内でのグレネード設置を許可します。 | ホスト |
Bomber.ExplosiveGrenadesEnabled |
true |
true, false |
ランダム抽選へバニラのExplosive Grenadeを含めます。 | ホスト |
Bomber.StunGrenadesEnabled |
true |
true, false |
ランダム抽選へバニラのStun Grenadeを含めます。 | ホスト |
Bomber.ShockwaveGrenadesEnabled |
true |
true, false |
ランダム抽選へバニラのShockwave Grenadeを含めます。 | ホスト |
Bomber.DuctTapedGrenadesEnabled |
true |
true, false |
ランダム抽選へバニラのDuct Taped Grenadeを含めます。 | ホスト |
Medic.HealAmount |
5 |
1~100 |
1回につき周囲の各プレイヤーを回復する量です。 | ホスト |
Medic.HealIntervalSeconds |
2 |
0.1~30 |
Medicの回復間隔です。 | ホスト |
Medic.HealRadius |
5 |
1~30 |
回復可能な最大距離です。単位はメートルです。 | ホスト |
Medic.TotalHealingLimit |
150 |
1~10000 |
Medic一人が1ステージで回復できる合計HPです。対象が実際に失っているHPだけを消費します。 | ホスト |
Phoenix.ReviveDelaySeconds |
2 |
2~10 |
Phoenixが復活するまでの秒数です。 | ホスト |
Phoenix.FailureGraceSeconds |
5 |
1~15 |
復活準備中に、失敗時のステージ遷移を保留する最大秒数です。 | ホスト |
Phoenix.RevivalHealth |
25 |
1~1000 |
Phoenix復活後のHPです。プレイヤーの最大HPが上限です。 | ホスト |
Jobless.Damage |
1 |
1~100 |
トラック外で1回ごとに受けるダメージです。 | ホスト |
Jobless.DamageIntervalSeconds |
0.1 |
0.05~10 |
トラック外でダメージを受ける間隔です。 | ホスト |
Rescuer.ReviveDelaySeconds |
2 |
0~10 |
復活対象が死亡してから必要な秒数です。 | ホスト |
Rescuer.Radius |
3 |
1~50 |
復活可能な最大距離です。単位はメートルです。 | ホスト |
Rescuer.MaximumRevives |
2 |
1~10 |
Rescuer1人あたり、1ステージで復活できる最大回数です。 | ホスト |
Rescuer.RevivalHealth |
25 |
1~1000 |
Rescuerによる復活後のHPです。対象の最大HPが上限です。 | ホスト |
Vampire.Tier1HealAmount |
5 |
1~100 |
周囲でDanger Level 1の敵が死亡した際の回復量です。 | ホスト |
Vampire.Tier2HealAmount |
10 |
1~100 |
周囲でDanger Level 2の敵が死亡した際の回復量です。 | ホスト |
Vampire.Tier3HealAmount |
50 |
1~100 |
周囲でDanger Level 3の敵が死亡した際の回復量です。 | ホスト |
Vampire.Radius |
10 |
1~50 |
死亡した敵からの最大距離です。単位はメートルです。 | ホスト |
Tuna.StationaryDelaySeconds |
3 |
0.1~30 |
停止してからダメージが始まるまでの秒数です。 | ホスト |
Tuna.Damage |
1 |
1~100 |
停止中に1回ごとに受けるダメージです。 | ホスト |
Tuna.DamageIntervalSeconds |
0.1 |
0.05~10 |
停止中にダメージを受ける間隔です。 | ホスト |
Musician.HealAmount |
5 |
1~100 |
楽器で音を鳴らすたびに、本人と範囲内の各生存プレイヤーを回復する量です。 | ホスト |
Musician.HealRadius |
10 |
1~50 |
Musicianから回復可能な最大距離です。単位はメートルです。 | ホスト |
Mage.CastIntervalSeconds |
5 |
0.1~30 |
チャット入力による魔法発射の最短間隔です。 | ホスト |
Mage.StarHealthCost |
10 |
0~100 |
starの発動成功後に消費するHPです。 |
ホスト |
Mage.GravityHealthCost |
10 |
0~100 |
gravityの発動成功後に消費するHPです。 |
ホスト |
Mage.RollHealthCost |
15 |
0~100 |
rollの発動成功後に消費するHPです。 |
ホスト |
Mage.VoidHealthCost |
30 |
0~100 |
voidの発動成功後に消費するHPです。 |
ホスト |
Mage.LaserHealthCost |
50 |
0~100 |
laserの発動成功後に消費するHPです。 |
ホスト |
Gambler.WinChancePercent |
50 |
0~100 |
Valuableを破壊せず、勝利倍率を適用する確率です。 | ホスト |
Gambler.WinValueMultiplier |
2 |
0~10 |
勝利時にValuableへ適用する価格倍率です。 | ホスト |
Gambler.GambitGreenHealAmount |
50 |
25~1000 |
Gamblerに対するGambitの緑結果で回復する合計HPです。 | ホスト |
Gambler.GambitRedDamage |
100 |
50~1000 |
Gamblerに対するGambitの赤結果で受ける合計ダメージです。 | ホスト |
Gambler.GambitWhiteHealthUpgradeLevels |
5 |
0~100 |
Gambitの白結果で、そのステージ中のみ追加するHealthアップグレードレベルです。 | ホスト |
Hunter.WeaponBatteryConsumptionPercent |
75 |
0~100 |
Hunterが使用する武器バッテリー消費量の通常時に対する割合です。 | ホスト |
Hunter.DoubleOrbChancePercent |
10 |
0~100 |
Hunterが敵を倒した際、特賞に外れた場合に通常のオーブ個数を2倍にする確率です。 | ホスト |
Hunter.JackpotOrbChancePercent |
0.5 |
0~100 |
Hunterが敵を倒した際、特賞目標を使用する確率です。不足分は追加しますが、通常ドロップが目標を上回る場合は減らしません。 | ホスト |
Hunter.JackpotOrbCount |
10 |
1~30 |
Hunterの特賞で使用する目標オーブ個数です。 | ホスト |
Stinker.DistancePerCloud |
1 |
1~100 |
ウラン雲の通過地点を記録する間隔です。 | ホスト |
Stinker.MinimumSafetyDistance |
1 |
1~30 |
最新の発生待ち地点にウラン雲を発生させるために必要なStinker本人との最低距離です。古い待機地点は順番に発生します。 | ホスト |
Stinker.AllowTruckSpawns |
false |
true, false |
トラック内でウラン雲の地点記録と発生を許可します。 | ホスト |
Trickster.ActiveSeconds |
15 |
1~120 |
設置したデコイを削除するまでの秒数です。 | ホスト |
Trickster.CooldownSeconds |
45 |
1~300 |
デコイの設置成功後、次に設置できるまでの秒数です。 | ホスト |
Trickster.InvestigateRadius |
30 |
1~100 |
デコイを中心に敵へ調査を指示する半径です。単位はメートルです。 | ホスト |
Trickster.PulseIntervalSeconds |
2 |
0.25~10 |
敵へ調査を指示する間隔です。 | ホスト |
Trickster.PlacementDistance |
2 |
0.5~10 |
Tricksterの前方へデコイを設置する距離です。単位はメートルです。 | ホスト |
Mechanic.RepairPercentPerSecond |
2 |
0~100 |
Mechanicが破損Valuableを直接保持している間、毎秒修復する元価格に対する合計割合です。 | ホスト |
Mechanic.MaximumRepairPercentPerStage |
50 |
0~100 |
Mechanic一人が1ステージで修復できる元価格に対する合計割合です。 | ホスト |
Electrician.ChargePercentPerSecond |
10 |
0~100 |
Electricianが使用していない充電可能アイテムを直接保持している間、毎秒回復する合計バッテリー割合です。 | ホスト |
Electrician.MaximumChargePercentPerStage |
100 |
0~1000 |
Electrician一人が1ステージで回復できる合計バッテリー割合です。 | ホスト |
Warden.AdditionalStunSeconds |
3 |
0~30 |
Wardenが敵へ発生させたスタンに追加する秒数です。 | ホスト |
Ninja.VisionRecognitionMultiplier |
2 |
1~10 |
敵が視覚でNinjaを認識するまでの時間へ適用する倍率です。 | ホスト |
Executioner.StunnedDamageMultiplier |
2 |
1~10 |
攻撃前からスタンしている敵への直接攻撃ダメージ倍率です。 | ホスト |
デフォルトの基礎値はHealthが1、その他の管理対象アップグレードが0です。役職用アップグレード値は基礎値への加算ではなく、ステージ中の絶対的な目標値です。役職終了時は設定された基礎値へ戻し、役職が置き換えないアップグレードは基礎値を維持します。変更処理は役職付与、役職変更、復帰参加者の復元、ステージ遷移など、割り当てまたはセッション状態が変化した場合だけ行い、常時監視はしません。TrackerはMap Player Countを常に1へ設定するため、役職用レベル設定はありません。Throwは管理対象外です。Kingには効果強度の設定がありません。
通知とHUD
- ステージ開始時、各プレイヤーは割り当てられた英語の役職名をバニラのチャット/TTSで発言します。
- RoleShuffleが生成する通知TTSでは敵が反応しません。通常のマイク入力やその他のワールド音は、Ninjaで抑止される場合を除いてバニラの動作を維持します。
- Stage Flux導入時は、ステージ開始通知が重ならないようStage Flux用の通知遅延を使用します。
- Stage FluxのTTS終了後、1.5秒間の無音を確認してから役職を通知します。
- MOD導入済みの参加者には、1列の
ROLESHUDがデフォルトで左下に表示されます。自分の役職を固定し、ほかのプレイヤーを最大7人ずつ5秒ごとに切り替えます。 - Escメニュー右下の
ROLESボタンからRolesページを開けます。左カラムのCURRENT ROLESとROLE GUIDEで表示を切り替え、ページを開いた直後は必ず現在の割り当てを表示します。 ROLE GUIDEでは全役職の説明を英語または日本語で表示します。ガイド内の言語トグルですぐに切り替えられ、Rolesページを開いた時点では毎回英語が選択されます。日本語の説明には「チェックポイント★リベンジ」を使用します。マルチプレイでは、MOD導入済み参加者にホストから同期された役職設定値をどちらの言語でも表示します。設定情報をまだ受信していない間は、未確認の数値を含まない説明を表示します。シングルプレイではローカル設定値を使用します。
互換性
Stage Fluxは任意の対応MODであり、RoleShuffleの必須MODではありません。
- Stage FluxのSecond ChanceをRoleShuffleのPhoenixより先に判定します。
- Second Chanceが失敗時のステージ遷移を中断した場合、Phoenixは消費されず、RoleShuffleも現在の役職を解除しません。
- Phoenixが遷移を中断した場合も、RoleShuffleは現在の役職状態を維持します。
ChangeLevelの互換処理では、ゲーム本来のレベル遷移が実際に実行された場合だけステージ状態を解除します。アクティブシーン変更時にも安全のため解除処理を行います。- RoleShuffleが内部利用するバニラ効果用オブジェクトはStage Flux互換として扱われ、プレイヤーの移動や接地判定へ干渉しません。
ゲームプレイ上の注意
Bomberは起動済みのバニラハザードを生成します。爆発や物理効果によってプレイヤーや貴重品へ被害が出る可能性があります。Mageは前後の空白と大文字・小文字を無視したチャットキーワードで選択した、実体のあるバニラ攻撃を発射します。発射体とビームはプレイヤーや貴重品へ被害を与える可能性があります。JoblessとTunaは条件を満たしている間、実際に継続ダメージを与え、死亡する可能性があります。受けたダメージは自動回復しません。Medicは自身を回復しません。Phoenixは1ステージに1回だけ自己復活します。Rescuerは設定された回数まで周囲の別プレイヤーを復活させます。復活後HPは役職ごとに設定でき、デフォルトは25です。- 役職が置き換えたアップグレードはステージ終了時に基礎値へ戻ります。その他の管理対象アップグレードは基礎値を維持し、Throwには触れません。
- すべての役職を無効化するか、すべての
Weightを0にすると、ランダム抽選できる役職がなくなります。