
EpicLoot ProgressionFix
Opinionated EpicLoot balance, crafting progression, combat, loot and inventory fixes, with optional mod integrations. Install on server and clients.EpicLoot Progression Fix
EpicLoot Progression Fix adds combat changes, crafting-based loot progression support, equipment fixes and quality-of-life improvements to EpicLoot. It makes build effects easier to understand, improves blocking and skill progression, and reduces repetitive inventory and crafting actions.
The add-on works with EpicLoot alone. Optional integrations extend its features to nearby storage, batch crafting, creature scaling and dungeon resets.
- More responsive blocking. Cancel attack windup or recovery into a guard. Stronger shields and a wider parry window improve defensive options without allowing faster attacks.
- Consistent loot progression. In crafting-gated mode, enchanted equipment follows the player’s crafting history, including unidentified gear and treasure rewards.
- Detailed build information. A live Active effects page shows resources, regeneration, defenses, skills and combined equipment effects.
- Skill experience per target and craft. Eligible attacks award experience for each distinct target hit, and batch crafting awards experience for each completed item.
- Improved equipment handling. Rune extraction preserves power, socket layouts and favorites persist, and compatibility checks account for the effects remaining after a replacement.
- Less repetitive cooking and processing. The personal bulk modifier fills nearby machines with one ingredient, refuels through their fuel controls, or collects finished output without mixing operations.
- Scaling encounters and dungeon resets. With StarLevelSystem, boss stars scale with the summoner’s personal kill history. Configured dungeon interiors reset while preserving exteriors, belongings and occupied interiors.
Built for EpicLoot 0.14.13 and Valheim 1.0.20. Install the same add-on version on the server and every client. EpicLoot’s original DLL and assets remain unchanged.
Installation
Install BepInExPack Valheim 5.4.2351, Jotunn 2.30.2 and EpicLoot 0.14.13, plus their dependencies; a package manager installs these automatically. Optional integrations use the explicitly tested versions below and check their required APIs and patch patterns before installation. An untested optional version or changed API disables the affected integration and names the unavailable features in BepInEx/LogOutput.log; unrelated features continue. Core game or EpicLoot failures still stop gameplay initialization. Server and client gameplay integration capabilities must match before joining; client-only presentation integrations need not match. Resolve any Gameplay patches failed message before playing.
Balance and everyday play
- All seven Bog Witch feast spices are sold on the first visit, without boss or serpent defeats. The nine feasts keep their ingredients, prices, preparation facilities and serving-tray placement.
- Resource and carry calculations apply flat bonuses before percentages. Conversions avoid circular feedback; regeneration combines bonuses and penalties before one zero floor. Bulk remains uncapped, and Inspiration avoids recursive awards.
- Blocking can interrupt attacks without accelerating them or refunding spent costs. Air Jump recharges on ground contact or genuine swimming entry and return, not during water takeoff. Its stamina and equipment checks remain, as do the native checks for ship-deck melee, tool tiers and ranged impacts.
- Food-eating creatures search at least 30 m whether wild, partly tamed or tame, choosing the nearest reachable pile from their native diet. Tames protect buildings, heal faster when fed and breed over wider ranges. Only bed sleepers receive the skipped-night Rested buff.
- Harpooned tames yield their movement to the rope without changing its force, stamina costs or breaking rules. Their commands and background updates continue, and movement resumes when released; riders, attached creatures and animals standing on ships retain native control.
- Comfort, dropped-item lifetime, creature ranges, camera limits and floating-ice impact damage are configurable. Fires remain visible through mist; distant objects preserve personal graphics settings.
- Placed torch flames retain their nearby appearance. A small screen size floor fades in from 80 to 160 m to prevent distant sampling flashes; colors, animation, native flares, mist and wall occlusion, fuel and light limits keep their existing behavior.
- Construction support, terrain paint, prefab loading and map serialization avoid redundant work while preserving their gameplay and saved formats. Vehicles retain their materials and cargo on dismantling. Native buried-cart recovery moves the chassis and wheel physics bodies together, preserving cargo.
EpicLoot fixes and improvements
Progression, loot and encounters
Crafting history controls eligible enchanted equipment, including unopened location chests, treasure rewards and unidentified gear. Existing opened chests retain their contents. Nearby Luck, Riches and Lucky Loot follow the relevant progression and quantity limits; rarity ceilings and loot shares are configurable.
Lucky Loot gives native boss species and their phases extra magic-table rolls only; ordinary boss rewards never multiply. The guaranteed enchanted reward remains one per death. Ordinary creatures, bounty targets and Hildir minibosses retain their existing rules.
Creature mould drops retain their existing chance rolls, including star and distance bonuses, but each kill produces at most one of each successful mould type. Duplicate entries and overflow rolls share that limit. Moulds remain protected from Lucky Loot; ordinary loot, non-creature sources and existing inventory stacks keep their behavior.
Equipment, runes and shardstones
Socketing, swaps, augments and etching check the effects that remain. Compatible stones stay; incompatible returns preserve their metadata and never reroll existing affixes. Rune extraction retains numeric power, socket columns and favorites survive saves, and Indestructible runes coexist with durability bonuses. Brokkr’s Gift rarity determines how many slots it adds; equipment rarity determines the cap, with no requirement to match rarities.
Sailing speed shardstones also improve forward and reverse rowing, with White active during daytime and Peach active day or night. Existing socket strengths, diminishing returns and the onboard local player's eligibility apply to both propulsion methods; the optional Sailing skill mod is not required.
Augment shows total affix appearance chances without changing the roller. The verified Windows x64 Unity 6000.0.75f1 sampler retains native error bounds. Other builds show “Estimated appearance chance” from the same selection model, without claiming native sampler error bounds. Larger tables use a reproducible simulation when exact calculation exceeds its work budget, with approximate 99% sampling intervals. Unknown selection-code changes retain the effect list with an explanation instead of percentages. Changed inputs cancel the countdown before payment, and stale calculations are not displayed. Tooltips distinguish fixed socket values from enchantment ranges.
Combat effects and displays
Active effects shows live resources, defenses, skills and equipment effects. Armor, blocking, ammunition, harvesting, stagger and hit/kill attribution follow their effective calculations, including remote targets and delayed damage. Recall preserves the original weapon and avoids an empty-handed kick while it returns.
Ashvine fruit checks preserve saved harvest times through blocked growth, unloading and ownership changes. Native branch and neighbouring-fruit restrictions still apply. Previously overwritten harvest history cannot be recovered; no save rewrite is needed.
Summoned bats have no health bars. A new direct hit redirects them within the summoner’s loaded simulation range; ordinary autonomous targeting and their lifetime stay unchanged. Each enemy directly hit by the local player receives its own 30-second health-bar reveal through cover and mist, within simulation range. Further direct hits refresh that enemy alone; ordinary nearby combat and taming bars keep their existing rules.
Draw distance offers three personal presets: Low loads the 288 m world envelope with a 100 m creature radius, Medium uses 352 m and 150 m, and High uses 416 m and 200 m. The menu shows only Low, Medium and High. High initializes once; confirmed choices survive pack imports and overall graphics-preset changes. The dedicated server keeps the High envelope and negotiates each player's choice. Nearby players can keep creatures active beyond another player's selected radius. Loot-bonus distances are separate.
Range reductions wait for locally owned shots in flight to land or expire, retaining their previous loading area in the meantime. This prevents changing the setting from deleting a projectile.
Dungeon graves pause physics while their rooms or supporting floors are unavailable. A grave that has fallen below its dungeon returns to its saved death location only when its current network owner finds a loaded, unobstructed floor. Recovery retains the original grave and inventory; missing death data or an unavailable destination leaves it intact and logs the reason. Outdoor graves retain native behavior.
StarLevelSystem integration
Boss stars follow personal kill history. Bounties retain ordinary scaling, Nemesis hunting packs draw from biome decks, and offspring inherit their pack identity. Creature authority and administrative checks remain intact.
Nemesis minibosses and EpicLoot bounties share an overhead health bar alongside their existing boss displays. Nemesis names follow the native HUD, bounty names retain EpicLoot's assignment, and nearby visibility, recent-hit reveals, HUD hiding and cleanup retain the existing rules.
Spawn-multiplied creatures inherit their parent's saved hunting intent, with native night and event restrictions and Nemesis recursion protection retained. Target selection stays native and is not bound to the player who triggered a patrol. Existing unmarked extras remain unchanged because their saved data does not identify a parent.
Native Hexen and Krigen patrol attempts have a 15% chance instead of 5%, with their time, progression, location and population gates unchanged. Nemesis probabilities are separate and unchanged; this does not guarantee three times as many encounters.
Hexen's hurt-triggered retreat additionally requires an unreachable attack position. Grounded Hexen check complete paths to usable attack positions; flying Hexen require sustained blocked pursuit without progress. Target and movement-mode changes discard old conclusions. Their native perception, speeds, lightning range and other retreat reasons remain unchanged.
Configured interiors reset after their timer while preserving exteriors, possessions and occupied interiors. Timers include server downtime. Morkhalla retains Malicious Ice and invasion state; unknown saved prefabs stop the affected reset with an error. Active spawners continue normally. This integration requires StarLevelSystem.
Resets replace natural cave fish while preserving player-dropped fish. While an unmarked legacy fish remains, its species' existing population and fish-spawner records are retained rather than adding replacements. Existing surface fish and carried fish are left untouched. Fish in calm water receive no outdoor wave or wind forces; ordinary ocean fishing remains native.
Crafting and storage integrations
Quick Stack preferences follow the character. An existing add-on record wins, including a deliberately empty record; otherwise the first load imports the character’s native favorites, favorite slots and trash selections without changing the old file. Imported equipment-type favorites also protect matching pieces encountered later, until the player changes that type preference; subsequent equipment favorites are individual. Unreadable records are left intact, and destructive enchanting actions remain blocked until the data can be verified. Restore a damaged legacy file or explicitly remove it to start with empty preferences; an empty or partial binary file is not treated as a successful migration. Choices already overwritten by earlier versions cannot be reconstructed.
AzuCraftyBoxes keeps each character’s saved Off, All or Only mine choice. The synchronized Storage → Default chest pulling mode setting affects only missing choices. Its standalone default, Inherit, uses AzuCraftyBoxes’ own behavior; this pack supplies Only mine. Old first-load migration markers are ignored.
AAA_Crafting receives batch controls, favorites, filters and cancellation checks. Its Max correction also needs AzuCraftyBoxes. Shared chest supply refreshes immediately after received exclusion, creator, membership or pulling-mode changes, including unlocking a previously excluded chest. Crafting, building, material collection, cooking, stations and EpicLoot payments use the same fresh selection; loaded chests expose their exclusion controls immediately. Attached carts, item filters, Leave one, inventory-first selection and manual chest access retain their existing rules. Equipment rows, graves, recall, chest hotbar transfers and consumables retain their optional integrations.
With PlantEasily and AzuCraftyBoxes, hold the bulk modifier shown in the hover hint and use a machine's input, fuel or output control. The target goes first, followed by nearest machines within the shared harvest radius, including pickup-radius enchantments. Ovens, Frost foundries, spinning wheels, windmills, smelters, blast furnaces, charcoal kilns and frigid kilns each affect only their own type; wooden and iron cooking racks remain compatible. Each loading action keeps one ingredient, including an explicitly used item, and a full target can supply neighbours. Finished-item collection never starts loading afterward. Fuel stays separate; frigid kilns take ice through their fuel control. Windmill output controls collect finished batches; automatic output and ordinary Use remain unchanged.
Table upgrades pay before requesting the level; refused payments return materials or drop overflow. Construction remembers what was actually paid, and salvage protects favorites. Unspent materials held by versions 0.1.283–0.1.285 return on character load; spent or accepted payments remain spent. Recovery cannot reconstruct every abrupt interruption.
StoreAndCraft 1.6.0 was tested separately for crafting, upgrades, conversion, salvage and table upgrades, including server-owned chests. Its EpicLoot supply is refreshed before queries. Ordinary crafting respects LeaveOneItem; the EpicLoot provider can spend the last material. Simultaneous withdrawals, other automation and coexistence with AzuCraftyBoxes remain unverified.
Optional integrations
Versions below are plugin versions. “Both” means server and clients; client-only integrations add no server requirement. This pack obtains AAA_Crafting, AzuCraftyBoxes and ServerCharacters from Hexium.
| Optional mod | Tested versions | Related features | Side |
|---|---|---|---|
| AAA_Crafting | 2.1.11 | Batch controls, filters; Max also needs AzuCraftyBoxes | Both |
| AzuCraftyBoxes | 1.8.28 | Chest supply, attached carts, material collection, station capacity | Both |
| StoreAndCraft | 1.6.0 | Fresh nearby supply for EpicLoot queries; native provider handles payments | Both |
| Quick Stack Store Sort Trash Restock | 1.4.16 | Favorites, sorting, restocking and personal controls | Both |
| EquipmentAndQuickSlots | 3.1.3 | Equipment rows, graves, carry and recall slots | Both |
| MultiUserChest | 0.6.2 | Chest hotbar transfers, consumables and stack labels | Both |
| ServerCharacters | 1.4.17 | Enrollment, verified saves, private activity records | Both |
| StarLevelSystem | 1.26.3 | Stars, Nemesis, creature balance and interior resets | Both |
| Drop That | 3.1.7 | Synchronized drop tables and star loot rolls | Both |
| SkilledCarryWeight | 1.6.1 | Effective skill levels and complete carry subtotals | Both |
| QuickCart | 1.0.1 | Detach-first, reticle-based cart key | Both |
| ItemStacksItemWeights | 1.1.1 | Rune, mead-base, trader and reward stacks | Both |
| Sailing | 1.1.12 | Sailing death penalty and ship health compatibility | Both |
| Better Wisps | 1.0.44 | Held-weapon mist clearing | Both |
| FortifySkillsReborn | 1.7.1 | XP handling and skill notices | Both |
| NoSmokeStayLit | 2.4.2 | Kept-lit fires and refill behavior | Both |
| PlantEverything | 1.21.3 | Plant timer compatibility | Both |
| PlantEasily | 2.3.0 | Personal grid modifier and shared area-harvest radius | Client |
| BetterUI ForeverMaintained | 2.5.13 | Plant timers, armor, cooking, rune labels and skill notices | Client |
| FedoHud | 1.1.2 | Personal HUD toggles, positions and skill selection | Client |
| ComfortMe | 1.3.1 | Comfort range, room panel, upgrade chips and build actions | Client |
| Ammo Count by aedenthorn Fixed | 0.5.1 | Ammunition counter layout | Client |
| Venture Logout Tweaks | 1.0.0 | Prevent stale effects carrying through a dead-character save | Client |
| Dyrr | 1.4.2 | Durable world bindings and readable refusal reasons | Both |
| DiscordBot_AWL | 1.4.9 | Server-wide chat relay, achievements and online status | Both |
| DiscordConnector | 3.1.3 | Death records and scheduled reports | Server |
Server and presentation
Server chat preserves capitalization; whispers stay local. DiscordBot can show online counts and names. Credentials belong in server configuration. ServerCharacters enables private activity and currency journals, enrollment and verified shutdown saves.
FedoHud keeps personal toggles, overlay positions and selected skills outside shared configuration, using pack values only for missing preferences. Existing player-stat positions retain their per-profile storage. The first launch adopts choices still present; settings already overwritten by an import cannot be recovered. Planting controls, ComfortMe actions and skill notices keep their separate integrations. Ordinary pickups do not auto-equip, and friendly-fire choices persist.
Configuration and pack settings
Edit BepInEx/config/valheim.epiclootprogressionfix.cfg. Settings marked [Synced with Server] follow the server; camera, sound, damage-text range and personal controls stay local. Server send-rate and death-report changes require a restart.
Death reports default to English, UTC and hour 6, with configurable wording and daylight-saving handling. Invalid time zones are errors; dry run previews reports without sending them.
This personal pack separately provides package pins, EpicLoot recipes and drop tables, shardstone balance, dungeon lists, Nemesis decks, control defaults, floating-ice damage and Polish death reports in Europe/Warsaw. These are not all standalone defaults; edit pack sources before generating an import.
Back up saves before changing mods. Before removing the add-on, load and save characters and containers that may hold legacy Starter Gear; unloaded inventories and old backups can still need migration. Remove it from server and clients together.
Credits
EpicLoot is by RandyKnapp. Built with AI assistance. Source is included in src/; release notes are in CHANGELOG.md.