
patchandtweakpack
Compatibility fixes and host-controlled tweaks: nearby prices, Colored Discounts and Markups, weapon hold position, arena skipping, trapped valuable/mission-item rescue, and mission Power Crystals for truck energy. Configure in game.patchandtweakpack
Author: ByteSizeMetal
Fixes common compatibility errors in supported R.E.P.O. mods and adds optional shop, run-flow and valuable-rescue tweaks. Each mod has its own switch, so you can choose which fixes to use.
Multiplayer settings
Nearby shop prices use the current host's on/off, radius and height settings. Clients ignore their local shop settings while in that lobby, except MaximumLabels, which each player sets for themselves. Everyone needs this pack to see the added labels.
Patch switches run during startup, before joining a lobby. They stay fixed for that launch so saving a menu change cannot leave only part of a fix active. The pack checks startup settings against the host and names mismatches in the BepInEx log. Match the host's patch switches and additional-prefab lists, then restart normally before the next session. Loaded assemblies and initialized prefabs cannot safely be changed to another player's configuration mid-session.
No client config files are overwritten and no players are disconnected automatically. Use matching mod versions and gameplay configs across the lobby. Personal input and display preferences in other mods remain personal.
Skip disposal arena
Enable Run flow → Skip disposal arena in REPOConfig → patchandtweakpack. It defaults off. Without REPOConfig, set Skip disposal arena = true under [Run flow] in BepInEx/config/PatchAndTweakPack.cfg before launching.
After a failed level, skip loading the disposal arena entirely and use the game's normal post-arena cleanup. Multiplayer returns the group to the lobby menu; offline starts a fresh run. The loss still ends the run, resets progress and uses normal failed-save handling. This does not preserve the failed run or award an arena winner.
Only the current host's setting controls the transition. Clients follow the game's existing level-change broadcast, so they do not need matching local choices or this pack for this particular tweak. Save an in-game change before the next loss; toggling the option itself does not require a restart. Successful extraction, shop visits and the normal arena-exit path are unchanged.
Colored Discounts and Markups
Enable Shop price browsing → Colored Discounts and Markups in the in-game config menu. It defaults off and follows the current host. It works on normal pointed-at prices and the nearby-price labels; nearby browsing can stay off.
- Regular prices use a softer red.
- Increasing discounts move from red through orange toward yellow as the price approaches zero.
- Free items are green.
- Increasing markups become a more saturated red with heavier font weight, capped at triple the baseline price.
Supported pricing: vanilla Shopkeeper discounts, AdvanceMyShop 1.3.1 discounts/markups/free-item rolls, and AdvanceMyShop's MoreUpgrades pricing integration. AdvanceMyShop is optional: the base game already supports Shopkeeper discounts; AdvanceMyShop adds configurable random discounts, markups and free-item chances. Other mods can work when they keep prices in the native item-price path, but unverified pricing systems are not guaranteed.
The baseline is the item's exact generated price before the observed discounts/markups. For AdvanceMyShop, normal shop/upgrade scaling and its configured base/type multipliers are included in that baseline; random sales, overpricing and free rolls are compared against it. The tweak reads the existing roll without generating another. It changes no prices, purchase rules, modifiers or random outcomes.
Install this version on each viewer for host baseline synchronization. Unknown baselines retain the normal game style. Font weight appearance depends on the game's font. The Mods → AdvanceMyShop switch controls its separate baseline adapter and requires a restart after changes.
Optional trapped valuable rescue
In REPOConfig → patchandtweakpack → Trapped valuable rescue, turn Enabled on before generating the next level. It defaults off. MaximumRescuesPerLevel defaults to 6 and is limited to 1–12. Only the host's choices control the operation; clients never run their own rescue pass.
The tweak attempts to find untouched valuables that remain deeply embedded in map geometry after loading. It requires blocked collider shapes, two separate checks, and no visible grab surface from nearby reachable navigation points. It then checks clear, supported spawn positions of the same size category. Vanilla valuables and eligible modded valuables registered through normal level generation are both included, regardless of whether their source mod has a compatibility patch in this pack.
It relocates the same valuable using the native network teleport. Its exact value, modded identity and original loot-pool selection stay intact: 0% value adjustment, no new items and no consumption of the game's random sequence. If a safe spot cannot be verified, the original is retained. This version does not spawn substitute valuables.
The pass waits for generation/settling, spreads queries across frames, and stops after a bounded initial window. It skips handled, discovered, damaged, moving, puzzle-controlled and unsupported articulated/complex objects, along with destinations near players. Usable navigation data is required. It will not recover every inaccessible item or monitor items dropped into walls later during play. Unity physics and multiplayer behavior still need live testing; use the per-level rescue log to report missed or incorrect candidates.
Mission shop items: Include mission shop items defaults on when rescue is enabled. The same conservative pass can now move initial shop-item spawns, including eligible weapons, tools and Power Crystals. It follows native item initialization rather than a list of spawner mod names, so different mods can use it. The installed All Shop Items In Level Plus spawn path was checked. Other spawners need to use normal ItemAttributes/PhysGrabObject initialization and the initial generation window.
The item must be attributable to a nearby ordinary authored valuable-spawn volume; a destination of the same category must pass the physical checks. Carried-in truck equipment, held or hotbar items, active items, late drops, carts/vehicles with linked bodies and ambiguous placements are retained. The original weapon/item is teleported: its charge, identity and value are not rerolled. MaximumRescuesPerLevel covers valuables and shop items together.
Use mission Power Crystals
Enable Mission items → Use Power Crystals to recharge truck in the in-game config menu. It defaults off. Hold a newly spawned mission Power Crystal and press your normal item activate/use binding (the game's Interact action, on keyboard/mouse or controller).
The host validates that you are holding the original mission crystal, consumes it once, and immediately grants one native crystal's energy plus its corresponding stock to the truck. With the base game's settings, that is 10 percentage points of truck energy. Stock and run charge are saved through the native paths, and the original truck crystal decorations are reused. Two players cannot consume the same crystal twice, and a consumed crystal cannot later earn another extraction reward.
The crystal stays intact unless its whole charge fits. Shop stock, crystals originally brought in with the truck, existing dropped/unequipped objects and unrelated crystal valuables are excluded. Newly spawned mission crystal drops can qualify later in the mission; rescue itself remains limited to initial generation. Unconsumed items retain their source mod's normal extraction behavior.
The current host's option controls the lobby. Install this pack on the host and each player who wants to use the action. Requests use bounded native player properties; stock/energy use the existing host-authenticated native stat and object-destruction paths. There are no new RPC names or custom event codes. Custom station layouts or charging overhauls may be unsupported; the item is retained when the required native contracts or original render-only crystal decorations cannot be verified.
Weapon hold position
In REPOConfig → patchandtweakpack → Weapon hold position, enable either source's optional toggle:
- SillyValuables guns: Golden Deagle, Healing Gun, Freeze Gun and Rainbow Pistol.
- SillyWardrobe guns: Water Gun. This is a separate content pack from SillyValuables.
These installed prefabs have a hold distance of zero, which can leave them too close to the player. Forward distance metres defaults to 0.8m, matching Golden AK47's authored distance, and is limited to 0.5–1.2m. Both toggles default off. The current host controls the toggles and distance; offline uses your own settings. Save changes to adjust or disable the tweak while playing.
The correction applies only to those verified source-owned guns while their authored hold distance is still zero. Golden AK47, other weapons with positive hold distances, and improved future prefabs keep their settings. It adjusts the existing native hold-distance request; it does not move a muzzle, rotate a model, edit the prefab, or change recoil, spread, damage, ammo or fire rate. A model authored with a separate rotation/sight problem may need an additional item-specific adjustment.
Install this version on every player using the affected weapons. The corresponding Mods → SillyValuables / SillyWardrobe patch master must also be on; those startup masters still need matching settings across the lobby. If the source cannot be verified or the host has no compatible policy, the original hold behavior is retained.
Riff Ripper volume
SillyValuables' Riff Ripper is much louder than its neighbours. In REPOConfig → patchandtweakpack → Item audio, Riff Ripper volume reduction percent defaults to 65, making it 65% quieter. Set 0 for the original volume or 100 to mute it. It covers firing, hits and the empty click, applies live, and only changes what you hear, so each player can choose their own level.
Included fixes
| Mod | What the pack helps with |
|---|---|
| SillyValuables | Older game APIs, melee networking errors, missing item lights and health-item visuals |
| SillyWardrobe | Laser Sword's repeated networking errors; this is separate from SillyValuables |
| SteampunkItems | Melee networking errors, older movement calls and headset control-prompt formatting |
| MinecraftStrongholdLevel | Diamond Sword networking errors and the minecart's missing value display |
| JNL_Assist / Jake and Liv's Retro Smashpack | Yappuccino chat/voice errors and older movement calls |
| MoreUpgrades | Older input calls, shop compatibility and duplicate manager errors |
| FragileValuables | Discovery UI errors when its target is missing |
| KeybindLib | Input setup compatibility, while keeping saved native controls |
| REPOPresents | Registration, spawning, valuable pools, value ranges, older chance-effect chat/damage calls and the enemy present's destroy/sound calls |
| SharedUpgradesPlus | Expected missing-field discovery messages; sharing behavior is handled by the separate compatibility mod |
| Extra Battle Upgrades | Older movement calls |
| Wesley's Enemies | Voodoo's older movement, visual-effect and damage calls |
| Abiotic Factor Valuables | Older freezing-effect and physics-material calls |
| Rosay's Valuables | MirrorTrap's older visual-effect and camera calls, and the Whoopee Cushion's explosion |
| JustOtaku's Valuables | Older chat, explosion, mine and Tiny Car physics-material calls |
| Backrooms | The ladder's older physics-material calls, level loading failing in six of its start rooms, and a door's repeated network error |
| Gang | The Hylian Shield's repeated melee errors; the shield itself plays the same |
| patisewstuff | Repeated network errors from its melee weapons, and repeated errors from unfinished trap scripts and radiation sounds |
| AllTheValuables | Repeated errors from an unfinished trap script |
| Horror Valuables | Repeated errors from an unfinished trap script |
| Tolian Levels | Doors in Mirefort and Vaultline that could not set up |
| The Stanley Parable | Doors that could not set up |
| Tokucade Loot | Older valuable registration and chat calls that stopped all of its valuables loading |
| After Hours | Creature registration stopping after 3 of 42, and older movement and visual-effect calls |
| Valorant Weapons | Unsupported glow effects, while keeping weapon models |
| Dandy's World Items | Missing uranium-loop audio |
| MelanieMelicious's levels | Prevents selection of the known incomplete Mel Mausoleum map until its required entrances are fixed |
| ALL Shop Items spawn in Level | Correct multiplayer prefab paths for registered items |
| REPOGambling | Older wheel announcement chat calls; prize selection is unchanged |
| ScalerCore | Expected missing ground-marker warnings; scaling and fallback behavior are unchanged |
| REPOLib | Reports harmless duplicate-name registrations as warnings while keeping the original registration behavior |
Other identifiable REPOLib content can receive the same targeted prefab checks, with its own configuration switch. Patches apply only when the source mod and supported problem are detected. Missing or disabled mods are left alone. Semibot RPG is excluded from these repairs.
For identified mod items, the pack also handles a missing Collider during a temporary material reset. It leaves the remaining timer logic and valid colliders alone, without adding physics parts or changing collider lists. Unknown sources remain visible with a brief diagnostic.
Some broken assets still need their author's attention. The pack leaves unknown problems visible rather than inventing physics parts or hiding every error. It also adds brief source diagnostics to help identify missing audio or physics references. It does not claim to fix an unrelated crash or network timeout.
Installation and upgrading
Install matching versions on the host and clients, then restart normally. The pack requires BepInEx; supported content mods remain optional and are not included.
This replaces the older Modlist-patchpack, ValuablesPatchpack and SillyValuablesFix builds. Remove or disable their old packages before installing this release. For a manual upgrade, remove the old ValuablesPatchpack.dll, ValuablesPatchpack.Preloader.dll and any old SillyValuablesFix.dll preloader. Keep only the new pair:
BepInEx/plugins/PatchAndTweakPack/PatchAndTweakPack.dll
BepInEx/patchers/PatchAndTweakPack/PatchAndTweakPack.Preloader.dll
Both DLLs are required. Older released ZIPs do not need to be deleted.
Configuration
With REPOConfig installed, open the in-game Mods menu and choose patchandtweakpack.
The settings are kept simple:
- Shop price browsing comes first: turn nearby prices on or off, then adjust radius and height. The host controls these settings for the lobby. Use the menu's save/apply action; shop changes can take effect while playing.
- Mods comes next: one switch for each source mod's patch set. Save your changes and restart the game to fully apply patch changes. These switches control this pack's fixes, not the original mods.
The menu edits the same saved settings used by the pack:
BepInEx/config/PatchAndTweakPack.cfg
Your old ValuablesPatchpack.cfg is copied automatically if the new file does not exist. Existing new settings always take priority, and the original file is kept.
Advanced prefab-name lists and diagnostic options remain available in the config file, keeping text fields out of the normal menu. REPOConfig is optional; without it you can edit the file while the game is closed. No exception lists need to be typed for the included fixes.
Optional nearby shop prices
The feature is off by default. Enable it in the host's config:
[Shop price browsing]
Enabled = true
RadiusMeters = 2
HeightAboveBelowMeters = 1.5
MaximumLabels = 64
Each player with the pack can then see several shop prices around their own camera, without pointing at each item. The range is a cylinder: horizontal radius plus a separate distance above and below. The host controls the lobby's settings; offline play uses local settings. Clients need this pack to see the extra labels.
Radius is limited to 0.5–4 metres. Height is limited to 0.25–2 metres in each direction. The display reuses up to MaximumLabels labels, closest items first (0 shows every item in range, up to 512), and checks a limited number of items every 0.2 seconds. Prices, stock and purchases are unchanged. In-game config-editor changes are picked up automatically; disk edits need a normal config reload or restart.
The shop feature retains its existing offline checks. The new menu integration has passed installed-API checks; live appearance and multiplayer behavior still need in-game confirmation.
Backups and removal
Some older mods need their DLL references updated before loading. The pack keeps verified backups under BepInEx/cache/PatchAndTweakPack. Matching older backups are carried forward only when needed; the original backup folders are retained.
Before removing the pack entirely, disable the affected compatibility modules and launch once to restore their original calls, or reinstall those content mods. Keep both pack DLLs installed until restoration is complete. Game files, saves and upgrade counts are not rewritten by this pack.
Reporting an issue
Include the affected item/mod, game and mod versions, relevant settings and the affected player's log. For a multiplayer problem, the host log alone may not show what happened on a client.
Checked against R.E.P.O. 0.5.0 and REPOLib 4.3.0 where applicable. Future game or mod updates may need another compatibility check. JNL's old voice option has no exact replacement in the current game; its adapter keeps the supported pitch values and uses the game's current defaults.
Original mods and content remain credited to their creators. This package contains compatibility code, not their assets.