Firenyth-ExtractionRandomizerPlus icon

ExtractionRandomizerPlus

Pick a random extraction count per level include multiplayer sync.

Last updated a month ago
Total downloads 899
Total rating 0 
Categories Mods Levels Client-side Server-side AI Generated
Dependency string Firenyth-ExtractionRandomizerPlus-1.0.2
Dependants 0 other packages depend on this package

This mod requires the following mods to function

BepInEx-BepInExPack-5.4.2305 icon
BepInEx-BepInExPack

BepInEx pack for Mono Unity games. Preconfigured and ready to use.

Preferred version: 5.4.2305

README

Extraction Randomizer Plus

Randomizes how many extraction points each R.E.P.O. level gets. The host rolls a fresh count each level and raises the vanilla generator's extraction budget. The generated map (and haul goal) is then synced by the game.

Inspired by B1MSE's ExtractionPointRandomizer. This is a separate rewrite (host-authoritative count, can request more extracts than vanilla's usual 5).

Install

Everyone in the lobby must install this mod.

Uninstall B1MSE-ExtractionPointRandomizer. That older plugin still disables extra extracts on each client using its own roll, which is what made multiplayer counts disagree.

Who needs it

  • Recommended: every player in the lobby.
  • Extraction rooms: the host generates them; vanilla map sync sends those rooms.

Config (host)

Edit BepInEx/config/firenyth.extractionrandomizerplus.cfg (or REPOConfig):

Setting Default Meaning
Minimum 1 Lowest total extracts per level (truck counts; 1 = truck only)
Maximum 3 Highest total extracts per level (truck counts)
Haul Goal Multiplier 0.33 Host scales haul once, then vanilla RPC syncs it

Only the host's Min/Max/multiplier matter for the generated level.

Limits

The generator still needs dead-end rooms for extracts. Asking for 8 does not guarantee 8 if the map has too few one-door tiles. The log will show ExtractionAmount: 4 -> 7 (total 8 incl. truck extraction); if fewer appear, the generator ran out of legal spots, not a lobby desync.

Verify

Host BepInEx/LogOutput.log should look like:

[ExtractionRandomizerPlus] Rolled 6 total extraction points (range 2-7)
[ExtractionRandomizerPlus] ExtractionAmount: 4 -> 5 (total 6 incl. truck extraction)