✨ Features
|
|
|
|
| 🛒 Trading |
🔍 Search |
📂 Categories |
🎮 Controller |
| Buy & Sell System |
Real-time Filtering |
Organized Browsing |
Full Gamepad Support |
| 580+ Tradeable Items |
Persistent Focus |
Collapsible Sections |
Seamless Switching |
| JSON-Driven Configs |
Both Panels |
Visual Item Icons |
D-Pad Navigation |
| Boss Progression |
Instant Results |
Quick Navigation |
All Actions Mapped |
|
|
| ⚙️ Technical |
💎 Balanced Economy |
| Reflection-based for update resilience |
Recipe-based pricing ensures fair values |
| No hard dependencies on internal types |
Biome-tier progression (Meadows → Ashlands) |
| Auto config generation on first run |
Category multipliers for item types |
| Hot-reloadable JSON configurations |
Rarity overrides for special items |
🎮 Controller Support
| LB / RB |
D-Pad / Stick |
X |
A |
B |
| Switch Panels |
Navigate Items |
Toggle Category |
Buy / Sell |
Close UI |
📋 Requirements
📦 Installation
| Step |
Action |
| 1 |
Install BepInEx for Valheim |
| 2 |
Download the latest release |
| 3 |
Extract to BepInEx/plugins/HaldorOverhaul/ |
| 4 |
Move config files to BepInEx/config/ |
| 5 |
Launch Valheim and enjoy! |
💡 Config files included! Just move HaldorOverhaul.haldor.buy.json and HaldorOverhaul.haldor.sell.json to your config folder, or run generate.py to create custom configs.
📁 File Structure
BepInEx/
├── plugins/
│ └── HaldorOverhaul/
│ ├── HaldorOverhaul.dll
│ ├── manifest.json
│ └── README.md
└── config/
├── HaldorOverhaul.haldor.buy.json
└── HaldorOverhaul.haldor.sell.json
⚙️ Configuration
| Config File |
Purpose |
HaldorOverhaul.haldor.buy.json |
Items Haldor sells to you |
HaldorOverhaul.haldor.sell.json |
Items you can sell to Haldor |
📝 Entry Format
{
"item_prefab": "SwordIron",
"item_quantity": 1,
"item_price": 4234,
"must_defeated_boss": "defeated_gdking"
}
| Field |
Description |
item_prefab |
Internal item name (must match exactly) |
item_quantity |
Stack size per transaction |
item_price |
Price in coins |
must_defeated_boss |
Boss key required (empty = always available) |
🏆 Boss Keys
| Boss |
Key |
| Eikthyr |
defeated_eikthyr |
| The Elder |
defeated_gdking |
| Bonemass |
defeated_bonemass |
| Moder |
defeated_dragon |
| Yagluth |
defeated_goblinking |
| The Queen |
defeated_queen |
| Fader |
defeated_fader |
💰 Pricing System
Biome Multipliers
| Biome |
Mult |
Boss Required |
| Meadows |
1.5x |
— |
| Black Forest |
2.75x |
Eikthyr |
| Swamp |
4.5x |
The Elder |
| Mountain |
7.5x |
Bonemass |
| Plains |
12x |
Moder |
| Mistlands |
20x |
Yagluth |
| Ashlands |
32x |
The Queen |
| Deep North |
50x |
Fader |
📊 Category Multipliers
| Category |
Mult |
Category |
Mult |
| Weapons |
|
Materials |
|
| Two-Handed |
1.3x |
Common |
0.8x |
| One-Handed |
1.0x |
Rare |
1.5x |
| Staves |
1.35x |
Boss Drops |
2.5x |
| Crossbows |
1.25x |
|
|
| Bows |
1.1x |
Trophies |
|
|
|
Boss |
3.0x |
| Armor |
|
Rare |
1.3x |
| Heavy |
1.35x |
Common |
0.9x |
| Light |
1.2x |
|
|
| Capes |
0.85x |
Other |
|
| Shields |
0.9x |
Keys |
2.0x |
|
|
Tools |
0.8x |
| Consumables |
|
Cosmetic |
0.7x |
| Cooked |
1.0x |
|
|
| Raw |
0.7x |
|
|
| Meads |
1.2x |
|
|
| Ammo |
1.0x |
|
|
💎 Rarity Overrides
| Item |
Mult |
Item |
Mult |
| HardAntler |
2.0x |
Chain |
1.8x |
| CryptKey |
2.2x |
SurtlingCore |
1.6x |
| Wishbone |
2.0x |
Ectoplasm |
1.4x |
| DragonTear |
2.0x |
BlackCore |
1.7x |
| DragonEgg |
2.5x |
Eitr |
1.8x |
Key Constants
| Setting |
Value |
| Sell Ratio |
30% of buy price |
| Craft Markup |
15% on crafted items |
| Min Price |
5 coins |
| Max Price |
99,999 coins |
📊 Sample Prices
Materials
| Material |
Buy |
Sell |
Biome |
| Wood |
5 |
1 |
Meadows |
| Bronze |
105 |
31 |
Black Forest |
| Iron |
144 |
43 |
Swamp |
| Silver |
180 |
54 |
Mountain |
| Black Metal |
336 |
100 |
Plains |
| Eitr |
3,510 |
1,053 |
Mistlands |
| Flametal |
972 |
291 |
Ashlands |
Weapons
| Weapon |
Buy |
Biome |
| Flint Axe |
54 |
Meadows |
| Bronze Sword |
676 |
Black Forest |
| Iron Sword |
4,234 |
Swamp |
| Silver Sword |
12,232 |
Mountain |
| Blackmetal Sword |
10,920 |
Plains |
| Mistwalker |
31,220 |
Mistlands |
| THSwordSlayer |
67,891 |
Ashlands |
🔧 Price Generator
python generate.py # Default - Steam config folder
python generate.py "C:\custom\path" # Custom output directory
🔄 How It Works
| Stage |
Description |
| Data Sources |
Fetches from Jotunn Item & Recipe lists |
| Raw Materials |
base × biome × category × rarity |
| Crafted Items |
ingredients × markup × biome × category × rarity |
| Output |
buy.json (579 items) + sell.json (593 items) |
🎨 Customization
Adding Items
'ItemPrefab': (Biome.TIER, base_price, stack_size, sell_only),
Excluding Items
HILDA_EXCLUSIVES = {'ArmorDress1', 'ArmorTunic1'}
EXCLUDED_PATTERNS = [r'^Bow_projectile', r'^fx_']
Adjusting Prices
SELL_MULTIPLIER = 0.30
CRAFTING_MARKUP = 1.15
CATEGORY_MULTIPLIERS = {'weapon_2h': 1.3}
RARITY_OVERRIDES = {'Chain': 1.8}
🔍 Troubleshooting
| Issue |
Solutions |
| Items not appearing |
Check item_prefab name · Verify boss defeated · Validate JSON syntax |
| Wrong prices |
Re-run generate.py · Check ITEM_DATABASE · Verify ingredients |
| Script errors |
Install Python 3.x · Check internet connection · Try custom path |
📜 Version History
| Version |
Changes |
| 1.0.5 |
Added JsonDotNET and CurrencyPocket as required dependencies |
| 1.0.4 |
Updated dependency configuration |
| 1.0.3 |
Added capes to buy menu |
| 1.0.2 |
Updated README.md |
| 1.0.1 |
Updated README.md |
| 1.0.0 |
Initial release |
🙏 Credits
This is my first Valheim mod! I really hope people enjoy it.
📬 Contact

Made with ❤️ for the Valheim community