PxntxrezStudio-REPOConomy icon

REPOConomy

Dynamic economy system for R.E.P.O. with 104 unique random events that modify valuable prices each level. Fully configurable, with support for custom economy events.

Last updated 3 weeks ago
Total downloads 35857
Total rating 7 
Categories Valuables Client-side Server-side
Dependency string PxntxrezStudio-REPOConomy-1.2.4
Dependants 7 other packages depend on this package

This mod requires the following mods to function

BepInEx-BepInExPack-5.4.2100 icon
BepInEx-BepInExPack

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

Preferred version: 5.4.2100

README

⚠️ IMPORTANT NOTICE: HOST-ONLY MOD ⚠️

This mod is ONLY required for the host in multiplayer games. Other players do not need to install this mod for it to work properly.

Clients can install it to see the same synced economy UI as the host


Thunderstore Profile Thunderstore Version Thunderstore Downloads


If you like my work, you can: DonationAlerts

REPOConomy

A full-featured dynamic economy mod for R.E.P.O.

On every level (starting from level 2 configurable), the game can roll (with 50% chance) one of 104 unique economy events like Inflation, Chaos, or Treasure Rush — each with different effects on valuable value. The chance is fully configurable.

Valuable prices are no longer fixed. Instead, each item dynamically rolls a value based on the current economy type and level scaling. with (custom config settings).

The result? A fresh, unpredictable economy every run!


Features

  • Dynamic Economy Types: A dozen+ market conditions (Stable, Inflation, Chaos, etc.) each with unique value modifiers
  • Automatic Daily Events: New “economy events” unlock as you progress or on a schedule
  • Value Randomizer: Adjusts the dollar‐value of valuables on spawn within configured bounds
  • Real-Time Sync: MasterClient rolls the economy and shares UI with all players via Photon (if they also use this mod)
  • On-Screen HUD Overlay: Shows economy type, level scaling, and value range (toggle with G) or automatically hides after 8 seconds
  • Fully Configurable: Tweak every parameter via BepInEx config or in-game GUI with REPOConfig
  • Custom Events Support: You can add your own economy events via simple JSON files (see guide below!)

📘 New to REPOConomy? Check out the How It Works section below! 📘


How It Works (REPOConomy Explained)

⚠️ Highly Recommended: Read Before Playing ⚠️

  • Learn exactly how REPOConomy affects gameplay, prices, and events!
(Click to Expand)

📊 How does REPOConomy work?

Pretty simple — here's a detailed explanation:


🧩 1. Economy appearance & UI

At the start of each level (only levels — not shop!), the host and all players (if they also have this mod installed) see the UI with the current economy:

💡 Example of the interface screenshot:

The UI consists of 4 lines:


Line 1 — Name of the current economy event

  • Displays the active economic mode. Example: Stable
  • Stable means the default mode is active:
    • Only the values from the config + level scale (LevelScale) are used
  • Deflation — an event that affects valuable prices, and so on...

Line 2 — Value Range (Range)

Example: –5% to +10%

  • These are the limits within which each valuable can drop or increase in price
  • For example, a valuable might get +3.7% or –2.1% — randomly picked

Line 3 — Level and LevelScale

Example: Level 4 (–3% - +3%)
This shows how much level scaling affects the economy:

  • LevelScaleMin and LevelScaleMax are set in the config (default: 1%)
  • They're added to the current Range
    → Example: if base Range was –5% ~ +10%, then on level 4 it becomes:
    –8% ~ +13%

Line 4 — Description of the current event (Flavor)

Example:

  • StableEconomy by default
  • DeflationMarket Crash
  • It's just flavor text explaining the "feel" of the current economic situation

  • ✅ The UI automatically hides after 8 seconds
  • You can toggle it manually anytime using the G key

💰 2. How is the economy applied to valuables?

Each valuable gets a unique price modification percentage.
Here's how it works:

  • The current Range is used, for example:
    –5% min — +10% max

  • The mod picks a random value within this range.
    Example:

    • Valuable A gets +1.43%
    • Valuable B gets –2.41%
  • This means:

    • A increases in price by 1.43%
    • B drops in price by 2.41%
  • These values are independent and unique for each valuable

  • The logic is fully randomized, but limited by the Range

🖼 Screenshot showing how the mod changes valuable prices:

So each level creates a new economic situation where some valuables become more valuable, while others become less valuable.


🎯 3. What do events do?

Events begin appearing from level 2, with a 50% chance.
Events modify the value Range for valuables.

Examples:

  • 🟢 Inflation:

    • Adds +0% to the min value
    • Adds +10% to the max value
    • → New Range becomes: –5% → –5%, +10% → +20%
  • 🔻 Deflation:

    • Decreases min value by –10%
    • Decreases max value by –5%
    • → New Range becomes: –5% → –15%, +10% → +5%

Each event affects how much valuables can rise or fall in value, making the game more interesting, harder, or more profitable.


⚠️ Important to know:

  • REPOConomy does NOT affect shop!
    It only works in levels, and only on valuables.
  • Events are triggered starting from the level set in EventsStartLevel (default: 2), and appear with a 50% chance.
  • All of this can be configured in .cfg or via the REPOConfig GUI.

✅ Summary:

  • 🎲 Economy is random, but controlled via config and events
  • 💸 Each valuable gets its own price within the current rules
  • 📈 Events can boost, weaken, or break the economy
  • 🧠 The UI shows everything: event name, range, level impact, and description

We hope now you understand how REPOConomy works — and how it makes every run unique!



Custom Events Guide

A complete beginner's guide on how to create and configure your custom events in the REPOConomy mod. Includes examples, templates, and an explanation of each field.

JSON does not need to be sent to friends if you are the host, as data is transmitted even for custom events to clients, so they do not need JSON.

🌐 ENGLISH GUIDE (Click to expand)

1️⃣ JSON STRUCTURE

Each file must be a valid JSON containing an array of CustomEconomyData objects:

[
  { /* Event 1 */ },
  { /* Event 2 */ }
]

Fields:

Field Type Description
id string Unique identifier (no spaces). Example: soft_inflation
name_en string Display name in English.
name_ru string Display name in Russian. (Not necessarily to add)
desc_en string Flavor/description text in English.
desc_ru string Flavor/description text in Russian. (Not necessarily to add)
color array UI color RGB [0–255]. Example: [255,200,100].
min float Percent offset for min. Positive or negative.
max float Percent offset for max. Positive or negative.
useDelta bool true = add offsets to base+level values; false = apply to range without changing current Min-Max.

2️⃣ EXAMPLE: TWO EVENTS IN ONE FILE

[
  {
    "id": "soft_inflation",
    "name_en": "Soft Inflation",
    "name_ru": "Мягкая инфляция", // Optional: remove this if you don’t want Russian name
    "desc_en": "Slight price increase for a gentle economy shift.",
    "desc_ru": "Небольшой рост цен для плавного изменения экономики.", // Optional: remove this if you don’t want Russian description
    "min": -2.0, // Attention: To add to a negative value, simply place a "-" before the numbers | example: -2.0 |
    "max": 5.0, // Attention: To add to a positive value, simply leave the value without signs: minus or plus example: 5.0
    "color": [255,200,100],
    "useDelta": true
  },
  {
    "id": "hard_deflation",
    "name_en": "Hard Deflation",
    "name_ru": "Жесткая дефляция", // Optional: remove this if you don’t want Russian name
    "desc_en": "Sharp drop in prices for a tough challenge.",
    "desc_ru": "Резкое падение цен для серьёзного испытания.", // Optional: remove this if you don’t want Russian description
    "min": 15.0, // Attention: To reduce a negative value, simply leave the value without signs: minus or plus  example: 15.0
    "max": -5.0, // Attention: To reduce a positive value, simply add a "-" before the numbers  example: -5.0
    "color": [100,150,255],
    "useDelta": true
  }
]
  • ⚠️ Warning: Remove everything related to // in the JSON file. If you don't, there will be an error during loading. ⚠️

  • If you want to add a third event and beyond, simply copy the first event from { to } and don't forget to put a comma , at the end of }. Example: },


3️⃣ STEP-BY-STEP: CREATE YOUR OWN EVENT

  1. Open folder: BepInEx/config/CustomEvents.
  2. Create my_events.json file or any other name without spaces.
  3. Paste JSON array with objects as in example above.
  4. Fill in fields: id, name_en, name_ru, desc_en, desc_ru, color, min, max, useDelta.
  5. Save the file.
  6. Restart the game — the mod will auto-load new events.
  • ✅ That's it! Now you can share your custom events with other players!

💡 Tip: Validate your JSON syntax at jsonlint before saving.


Полное руководство для новичков о том, как создать и настроить свои кастомные ивенты в моде REPOConomy. Включает примеры, шаблоны и объяснение каждого поля.

JSON с кастомными ивентами не нужно отправлять друзьям, если вы являетесь хостом, так как данные передаются даже для кастомных ивентов клиентам, поэтому им не нужен JSON.

🌐 RU GUIDE (Нажмите чтобы раскрыть)

РУССКИЙ ГАЙД

1️⃣ СТРУКТУРА JSON

Файл должен содержать массив объектов CustomEconomyData:

[
  { /* Ивент 1 */ },
  { /* Ивент 2 */ }
]

Поля:

Поле Тип Описание
id string Уникальный идентификатор без пробелов. Пример: hard_deflation
name_en string Название на английском. (Не обьязательно добавлять)
name_ru string Название на русском.
desc_en string Описание/флейвор на английском. (Не обьязательно добавлять)
desc_ru string Описание/флейвор на русском.
color array Цвет UI в формате RGB [0–255]. Пример: [100,150,255].
min float Процент смещения для min. Положительный или отрицательный.
max float Процент смещения для max. Положительный или отрицательный.
useDelta bool true = добавить к базовым+уровневым; false = применить к диапазону без изменения текущего Min-Max.

2️⃣ ПРИМЕР: ДВА СВОИХ ИВЕНТА В ОДНОМ JSON

[
  {
    "id": "soft_inflation",
    "name_en": "Soft Inflation", // Внимание: данную строку не обьязательно добавлять если вы не хотите имя для английского языка
    "name_ru": "Мягкая инфляция",
    "desc_en": "A slight increase in prices for a smooth economic adjustment.", // Внимание: данную строку не обьязательно добавлять если вы не хотите описание для английского языка
    "desc_ru": "Небольшой рост цен для плавного изменения экономики.",
    "min": -2.0, // Внимание: Чтобы прибавить к минусовому значению просто добавьте перед цифрами - |пример: -2.0|
    "max": 5.0, // Внимание: Чтобы прибавить к плюсовому значению просто оставьте значение без знаков: минуса - плюса |пример: 5.0|
    "color": [255,200,100],
    "useDelta": true
  },
  {
    "id": "hard_deflation",
    "name_en": "Hard Deflation", // Внимание: данную строку не обьязательно добавлять если вы не хотите имя для английского языка
    "name_ru": "Жесткая дефляция",
    "desc_en": "A sharp decline in prices for a serious challenge.", // Внимание: данную строку не обьязательно добавлять если вы не хотите описание для английского языка
    "desc_ru": "Резкое падение цен для серьёзного испытания.",
    "min": 15.0, // Внимание: Чтобы уменьшить минусовое значение просто оставьте значение без знаков: минуса - плюса |пример: 15.0|
    "max": -5.0, // Внимание: Чтобы уменьшить плюсовое значение просто добавьте перед цифрами: - |пример: -5.0|
    "color": [100,150,255],
    "useDelta": true
  }
]
  • ⚠️ Внимание: удалите все что связанное с // в Json файле, если не удалите то будет ошибка с загрузкой ⚠️

  • Если хотите добавить 3 ивент и так далее просто скопируйте первый ивент с { до } и не забудьте в конце } поставить , Пример: }, и измените поля под свой вкус.


3️⃣ ПОРЯДОК ДЕЙСТВИЙ:

  1. Открой BepInEx/config/CustomEvents.
  2. Создай my_events.json файл, или любое другое название Без Пробелов.
  3. Вставьте массив JSON с кастомными событиями, как в примере выше.
  4. Отредактируй все поля: id, name_en, name_ru, desc_en, desc_ru, color, min, max, useDelta.
  5. Сохрани файл.
  6. Перезапустите игру — мод автоматически загрузит новые события.
  • ✅ Вот и все! Теперь вы можете делиться с другими игроками со своими кастомными ивентами!

💡 Совет: Проверьте синтаксис на jsonlint перед сохранением файла.


Compatibility

  • Supports valuables from Other Mods
  • Supports the latest Beta Version of R.E.P.O.

Installation

  1. Install BepInExPack for R.E.P.O.
  2. (Optional) Install REPOConfig for in-game GUI:
  3. Copy REPOConomy.dll into your BepInEx/plugins folder
  4. Launch R.E.P.O.

Configuration

💡 Recommended: Install the REPOConfig mod to change these settings directly in-game via a GUI.

Located in:
BepInEx/config/PxntxrezStudio.REPOConomy.cfg

Below are all available configuration options.


🔹 Economy

Setting Description Default
DefaultBaseMin Base minimum multiplier applied before level scaling 5.0
DefaultBaseMax Base maximum multiplier applied before level scaling 10.0
UseTwoStepPercentRoll Separate negative and positive percent rolls false
PercentRollMode Determines weighed percentage RNG: Random = Uniform (Flat), Stable = Near center (Bell curve), Volatile = Near Min/Max (Inverse bell curve), Dynamic (Changes per level) Random

🔹 LevelScale

Setting Description Default
LevelScaleMin Percent increase added to minimum per level 1
LevelScaleMax Percent increase added to maximum per level 1

🔹 Limits

Setting Description Default
ClampMinLimit Lowest allowed percent (e.g. –100% reduction) 100.0
ClampMaxLimit Highest allowed percent (e.g. +1000% increase) 1000.0

🔹 Events

Setting Description Default
EventsStartLevel Level at which economy events can begin 2
NoEvents Force all runs to use Stable economy (disable events) false
DisableVanillaEvents If true, disables all built-in vanilla events. Only custom events will be used, if EnableCustomEvents enabled. false
EnableCustomEvents Enable loading of custom economy events from JSON files to appear in-game. true

🔹 EventsChance

Setting Description Default
UseEventsChance Enable the event drop system based on chance. true
EventChance Chance (1–100) for an event to occur instead of a stable economy 50

🔹 CustomEventsChance

Setting Description Default
UseCustomEventChance Enable a separate chance check for custom events (only applies if UseEventsChance is true). If this feature is disabled, there will be a 50/50 chance of either a vanilla event or a custom event occurring. true
CustomEventChance Chance (1–100%) for custom events to occur instead of vanilla events if UseCustomEventChance is enabled. 50

🔹 Debug

Setting Description Default
ShowTotalMapValue Log (In console) total dollar value of all valuables on the map false

🔹 UI Settings

Setting Description Default
UI Language Language used for the economy UI English

🎲 Economy Events & Effects

Below are all available Events and their effects.
More events will be added with every updates!

Event (EconomyType) Effect on baseMin / baseMax In-Game Description
Stable No change (Uses the values from the config) Economy by default
Deflation –10% min, –5% max Market Crash
Inflation +0% min, +10% max Moment to Get Rich!
Chaos –10% min, +10% max Financial chaos...
FreezeMarket 0% min, 0% max Economy frozen :(
BlackMarketSurge –10% min, +20% max Values have become more expensive...
Overload –100% min, +100% max 50/50
RareBoom +5% min, +30% max Values are suddenly in price!
CommonCrash –30% min, –10% max Values are devalued!
LegendaryOnlyMatters –20% min, +5% max Only the best makes sense...
EchoMarket –25%→0% min, 0%→+25% max (random) Prices are jumping like crazy...
ReverseInflation –15% min, –5% max Budget is better than wealth...
LuxuryHunt +10% min, +40% max Values are much more expensive!
DumpsterDive +5% min, +60% max Everything has become expensive!
ExtraProfit +0% min, +50% max Today you can sell more profitably!
ScamSeason –30% min, –10% max Prices are falling... :(
SuddenDrop –50% min, –20% max Almost everything has depreciated!
TreasureRush +100% min, +200% max Every value is — treasure!
ZeroGravity –50% min, +150% max Everything is unstable...
Turbulence ±30% equally to min & max (random) Prices behave unpredictably...
BubbleBurst –40% min, –5% max The market was booming... until it wasn’t
CollectorsFrenzy +30% min, +80% max Everything is worth more than it should be
PanicSale –40% min, –20% max Players are panic-selling everything for pennies!
EconomicTwister Ignores min/max — 0%→200% per valuable Every valuable gets a completely random value.
TaxAudit –15% min, –15% max The Tax Department has reviewed your valuables.
Crash & Burn –90% min, 0% max The market is collapsing — brace for losses.
GoldenHour +20% min, +50% max A perfect time to sell — prices are booming!
CrystalBubble +50% min, +100% max Market euphoria! Prices are sky-high… for now
CoinDecay –20% min, –60% max Everything feels worthless. Time to sell or hold?
EchoCrash ±50% equally to min & max (random) Residual shockwaves shake the market unpredictably
SpeculationBubble –20% min, +100% max Prices are inflating without logic... Bubble may burst any time!
ColdStorage –10% min, –10% max Nothing sells well. Prices are frozen under market value
PriceWhirlwind –60%→0% min, 0%→+60% max (random) An unstable market surge throws prices into a whirlwind!
ExperimentalPricing –20% min, +40% max Prices fluctuate wildly due to market experiments
ShadowMarket –60% min, +5% max A secret market drains value from most valuables
AuctionFever +10% min, +80% max A bidding war is driving prices through the roof!
MemoryMarket ±5% random offset to current range Prices mirror the past — but with a twist
LoopbackSpike Doubles current min/max range History repeats with extreme volatility
GlitchedGoldrush Sets min/max to +20% / +100% Something’s broken… but you’re getting rich
MarketEclipse –5% min, +5% max An economic blackout... almost no movement
JackpotMirage Random –50% to +150% Everything looks like gold... but some of it’s fool’s gold
CollectorsVoid –90% min, –50% max All value is lost — nothing is collectible anymore
VolatileExperiment –100% min, +250% max A dangerous economic experiment — chaos reigns
CleanSweep +0% min, +5% max A calm period — nothing to fear, nothing to gain
ValueVortex –100% → +100% (per valuable, random) A swirling mess of prices — unpredictable and wild
TemporalSurge –20% min, +60% max Prices shift with a pulse of time itself.
EchoOfWealth Keeps previous range Prices mimic those from two levels ago.
ArtifactBloat +50% min, +100% max Old junk is now gold.
MarketDrain –60% min, –30% max All prices slowly drain into the void.
InversionProtocol Flips positive/negative Low-value becomes high-value. High-value drops.
SyntheticDemand Random +0% to +80% max increase Artificial demand spikes at random.
TaxFrenzy –50% min, –20% max Tax rates hit hard! Prices plummet.
AssetDump –80% min, +20% max Everyone’s dumping assets!
SmugglersSurge Custom (based on item value) Expensive items skyrocket, cheap ones tank
CollectorsCraze +200% for rare, –10~–30% for others Rare collectibles soar — the rest is junk
MarketKraken 30% of items get ×4, others = $0 The market goes wild. 30% of valuables get ×4 boost!
MarketBoom +20% min, +50% max Prices surge across the entire market!
PriceLockdown –5% min, +5% max All prices are frozen by decree
WildSpeculation –50%→+100% min & max (random) Speculators drive prices wildly up and down!
SilentAuction +0% min, +30% max Auctions run in silence, prices unclear
FlashCrash –50% min, –20% max Instant crash wiping out asset values!
CryptoSurge +10% min, +100% max Cryptocurrencies push the market sky-high!
ResourceRush +5% min, +25% max Resource scarcity drives prices up
DemandSpike +0% min, +60% max Explosive demand floods the market!
SupplyShortage –20% min, –5% max Severe supply shortages cripple prices
ConsumerConfidence +5% min, +15% max Consumers irrationally confident!
MarketMeltup +50% min, +200% max A melt-up as prices climb uncontrollably!
BargainHunt –10% min, +10% max Hunting bargains—some crash, others spike
MarketRebound +10% min, +20% max After a crash, the market swiftly rebounds!
PriceCascade random –20%→0% min, 0%→+20% max Prices cascade downward, but may bounce back
BullRun +30% min, +60% max A bull run—prices charge skyward!
BearTrap –60% min, –30% max A bear trap—brief gains before a fall…
PanicBuying +50% min, +100% max Players panic-buy—supplies vanish!
SupplyGlut –50% min, +10% max Oversupply—prices sink under glut
SpeculatorFrenzy ±40% equally to min & max (random) Speculators push prices to chaotic extremes!
ValueStabilizer clamp to ±5% Regulatory measures keep prices in check
MarketMirroring repeat previous range The market mirrors its previous level
InflationSpike +15% min, +25% max A sudden spike in inflation!
DeflationDip –15% min, –25% max Prices plunge into a deflationary dip
EconomicEquilibrium 0% min, 0% max A perfect balance of supply and demand
PriceSurge +20% min, +40% max Sudden price surge—everything jumps 20–40%!
BargainBlitz –30% min, –10% max Flash discounts—prices drop 30–10% instantly!
CollectorCarnival if ≥50% → ×2; else –10% Collectibles ×2, others −10%.
GhostPrices ±25% equally to min & max (random) Ghostly prices—random offset ±25%.
BarterBonanza –20% min, +15% max Barter bonanza—low items down, high items up.
SeasonalShift +15% min, –5% max Seasonal shift—min +15%, max −5%.
BlackoutSale –50%→–30% equally to min & max (random) Blackout sale—prices slashed −50…−30%.
InflationEbb –20% min, –10% max Inflation ebb—prices fall 10–20%.
FoolsGold –10% base, +0→+50% offset (random) Fool’s Gold—some +50%, others −10%.
HoardersHavoc –40% min, +10% max Hoarder’s Havoc—cheap −40%, expensive +10%.
PennyPinch –60%→–40% equally to min & max (rand.) Penny Pinch—prices slump −60…−40%.
Trendsetter +30%→+60% equally to min & max (rand.) Trendsetter—premium items surge +30…+60%!
Price Spike +40% min, +80% max Prices suddenly spike across the board!
Clearance –60% min, –20% max Massive clearance cuts values everywhere!
Boomerang Market –20%→+10% min, +10%→+40% max Values swing back—but unpredictably!
Silent Dip –10% min, –5% max Quiet dip... nothing sells well
Luxury Only –40% min, +5% max Only luxury items hold value now
Early Bubble +30% min, +100% max A bubble forms early—brace for boom
Late Deflation –70% min, –10% max Late-stage deflation drains the market
Price Slalom ±30% equally (random) A slalom of ups and downs
False Demand +10% min, +40% max Artificial demand inflates prices!
Underground Trade –40% min, +5% max Trade continues in the shadows
Crystal Crash –100% min, –40% max The bubble shatters into a crystal crash
Ghost Rush +50% min, +150% max Phantom value rushes sweep the market!

All events roll each level (if level ≥ EventsStartLevel and chance roll succeeds) and are clamped between ClampMinLimit and ClampMaxLimit.

Developer Contact

Report bugs, suggest features, or provide feedback:

Discord Server Channel Post
R.E.P.O. Modding Server #released-mods REPOConomy