Please disclose if any significant portion of your mod was created using AI tools by adding the 'AI Generated' category. Failing to do so may result in the mod being removed from Thunderstore.
DirectorStageFixes
Balances stage interactable credits, spawn caps, director weights, purchase costs, and shrine rewards. Includes multiplayer credit scaling fixes.
| Last updated | 3 days ago |
| Total downloads | 92 |
| Total rating | 0 |
| Categories | Tweaks Server-side AI Generated |
| Dependency string | orror-DirectorStageFixes-0.1.0 |
| Dependants | 0 other packages depend on this package |
This mod requires the following mods to function
bbepis-BepInExPack
Unified BepInEx all-in-one modding pack - plugin framework, detour library
Preferred version: 5.4.2111RiskofThunder-RoR2BepInExPack
Simplify the modding ecosystem of Risk of Rain 2, making it easier for modders to create and maintain their mods while preventing harmful bugs.
Preferred version: 1.46.0README
DirectorStageFixes
This Risk of Rain 2 mod aims to improve balance and game feel, by adjusting stage interactable budgets, spawn caps, selection weights, and director credit costs.
Current changes
All values below are defaults. Director credits are the budget used to place objects, not the gold or other currency players pay to use them.
Stage interactable budgets
| Stage | Internal scene name(s) | Credits |
|---|---|---|
| Distant Roost | blackbeach, blackbeach2 |
280 |
| Titanic Plains | golemplains, golemplains2 |
280 |
| Siphoned Forest | snowyforest |
300 |
| Shattered Abodes | village |
280 |
| Disturbed Impact | villagenight |
310 |
| Abandoned Aqueduct (stage 2) | goolake |
280 |
Note these are the solo base budgets. The game scales them by 1x / 1.5x / 2x / 2.5x for 1 / 2 / 3 / 4 participating players, then adds enabled conditional bonus credits. For example, a configured 280-credit budget becomes 420 with two players and 700 with four. Later population modifiers still apply.
Other stages retain their existing stage-credit budgets.
Maximum spawns per stage
| Type | Maximum |
|---|---|
| Printers, shared across all rarities | 4 |
| Item scrappers | 1 |
| Drone scrappers, counted separately from item scrappers | 1 |
| Gunner turrets | 3 |
| Cleansing pools, shared across normal/sandy/snowy variants | 1 |
| Equipment multishops, counted as whole shops | 2 |
| Temporary item dispensers | 1 |
| Shrines of Order, shared across normal/sandy/snowy variants | 1 |
Caps count successful SceneDirector spawns and reset for each stage. They are maximums, not guaranteed spawn counts. Manually placed objects and objects spawned outside SceneDirector population are not included. Drone scrappers are separate from item scrappers.
Director credit costs
| Object | Original cost | Mod default |
|---|---|---|
| TC-280 | 40 | 20 |
| Legendary chest | 50 | 40 |
| Halcyon shrine | 50 | 40 |
| Green multishop | 40 | 30 |
| Shrine of Order | 30 | 5 |
| Shrine of Shaping | 20 | 10 |
| Void Stalk | 15 | 5 |
These values have been adjusted to reflect the interactables value. Their stage weight has been adjusted as well, which is documented lower.
Shrine of Chance retry prices
Failed attempts keep the current gold price. Successful rewards still increase the next price by 1.4x, rounded down. The 17-gold base price, initial difficulty scaling, reward odds, and two-success limit remain unchanged.
Shrine of Order reward
Using Shrine of Order performs its normal item shuffle, then grants one Irradiant Pearl directly to the activating player's inventory.
Lunar Pod rewards
Lunar Pods drop a regular Pearl instead of a lunar item or equipment.
Gold purchase costs
| Object | Original base price | Mod default |
|---|---|---|
| Temporary Item Distributor | 25 | 10 |
| Radar Scanner | 150 | 30 |
| Legendary chest | 400 | 300 |
Temporary items are bad and legendary items are not worth more than 10x the price of a green.
Selection weights and availability
| Object or pool | Current behavior |
|---|---|
| Yellow/boss printers | Blocked on the first stage of the run; allowed from stage 2 in pools that include them. Share the four-printer cap. |
| Red printers | Default 2x card weight; blocked during the first three stages of a run, then eligible starting on stage 4. Early-stage maps in later loops can spawn them. They share the total printer cap. |
| TC-280 | Effective card weight 0.5, down from 1. |
| Drones categories originally weighted 14 | Set to 10. |
| Other Drones categories | Subtract 1, clamped at zero. Rallypoint Delta: 4.5 -> 3.5; Siren's Call: 11 -> 10. |
| Shrine of Order | Effective card weight 0.2, down from 1; remains in the weighted pool. |
| Shrine of Shaping | Final selection weight multiplied by 0.5 after category normalization, including pools where it is the category's only card. |
| Void Stalk | Card weight 2, down from 3, including the Void Seed CampDirector pool. |
Weights are relative selection values, not fixed per-stage spawn percentages. Affordability, eligibility, repeated selections, and placement failures affect actual spawns. Lower credit costs can allow more objects to fit into a budget even when their selection weights are reduced.
For reference, when all relevant cards are eligible and affordable:
- TC-280 has a 20% share of Rallypoint Delta's Drones category, compared with 33.3% originally.
- Shrine of Order has about a 2.17% share of Rallypoint Delta's Shrines category, compared with 10% originally.
- Void Stalk has a 40% share of the normal Void Seed interactable pool, compared with 50% originally.
Configuration
Launch the mod once to generate BepInEx/config/westonkl.DirectorStageFixes.cfg. Restart the game after editing it.
| Config section | Settings |
|---|---|
Stage Credits |
The eight supported scene budgets |
Spawn Limits |
Shared type caps |
Printer Tweaks |
Red printer weight multiplier, default 2; zero disables red printers |
Drone Tweaks |
TC-280 director cost and category weight reduction; original weight-14 pools always use 10 |
Interactable Costs |
Chest, shrine, multishop, and Void Stalk director costs |
Purchase Costs |
Temporary Item Distributor, Radar Scanner, and legendary chest base gold prices |
TC-280's effective weight, Shrine of Order's effective weight, Shaping's 0.5 multiplier, and Void Stalk's weight are currently defined in code.
Build and test
- Open
DirectorStageFixes.slnin Visual Studio and build in Debug mode. - Install BepInExPack, HookGenPatcher, and RoR2BepInExPack in a separate r2modman development profile.
- Copy
DirectorStageFixes/bin/Debug/netstandard2.1/DirectorStageFixes.dlland.pdbinto the profile'sBepInEx/plugins/DirectorStageFixes/folder. Remove oldStageDirectorBalancing.dllorExamplePlugin.dllcopies when switching to this build. - Launch with Start modded, start a fresh run, and inspect the console logs for budget changes, costs, weights, and spawn counts.
The active implementation is DirectorStageFixes/StageCreditPlugin.cs, targeting .NET Standard 2.1. Build outputs and local backups are ignored by Git. Adjusted cards and spawn assets are copied so the original game assets retain their values.
See development notes, the original interactable credit-cost table, its CSV, and inspected original red-printer weights.