About this build
Generated 2026-07-13 05:46:11 UTC from game data version 1.3.
Coverage
| Dataset | Source records | Pages in this build |
|---|---|---|
| Items | 1,461 | 1,461 |
| NPCs | 1,786 | 1,786 |
| Companions | 11 | 11 |
| Quests | 120 | 120 |
| Shops | 134 | 134 |
| Harvest resources | 97 | 97 |
| Workbenches | 7 | 7 |
| Achievements | 262 | 262 |
| Traits | 165 | 165 |
| Spellbook | 72 | 72 |
| Areas | 98 | 98 |
| Travel | 78 | 78 |
| Player houses | 18 | 18 |
Methodology
- All XML files in each supported data folder are merged in filename order, allowing extension files to override matching IDs.
- Ground items come from
Data/Spawners/ls_*.txt; NPC locations come fromns_*.txt; Unity scenes provide harvest resources, workbenches, linked entrances, and serializedMapIconrecords. - The standalone Map uses the game's own service glyphs, local/world label positions and font sizes, and the dedicated
WorldMapTextsscene. Store categories come from the serialized icon; merchant joins only supply the shop name and page link. - Map tiles, visible markers, and labels are virtualized. Tiles and generated WebPs use stable cache keys and long-lived cache headers when served by
serve_wiki.py. - Loot tables, shop inventories, quest rewards, recipes, traits, and achievements are joined by their explicit IDs.
- Item salvage eligibility, material type, level-based yield range, and the 20% Old Artifact roll reproduce
SalvagingHandlerfromAssembly-CSharp.dll. - Spellbook entries come from
AbilityHandler; effect timers come fromUnitAttacks; original icons come fromData/Textures/Abilities. Managed definitions are cached by assembly signature. - The Combat Simulator transcribes
Calculations,DamageHandler,UnitAttacks, andNPCHandlermanaged formulas, then runs 20,000 deterministic standard-duel trials against runtime-resolved NPC profiles. - Companions are derived from Horsy, NPC
Dismissinteractions, and paired eventAddFollower/RemoveFolloweractions. Ordinary quest escorts are excluded; stats and AI actions come directly from their NPC records. - Exceptional gear variants reproduce
ItemHandler.LoadItems: runtime ID +100000, positive stats x1.25, negative stats x0.75, and Unity midpoint-to-even integer rounding. - Shop merchants are joined from event and dialogue
OpenShopactions. Conditional data is displayed, never silently treated as unconditional.
Optional enrichment tools
Loaded 2,865 harvest spawns from the Unity extraction cache.
Loaded 644 standalone-map landmarks from the Unity extraction cache.
Loaded 72 spellbook definitions from the managed-assembly cache.
Generated 56×56 WebP table thumbnails with Pillow.
The XML-only build remains supported. Without UnityPy and TypeTreeGeneratorAPI, generation succeeds with a warning but omits Unity-scene harvest locations, linked entrances, scene-authored labels, and exact service icons. Without ILSpy or a matching managed-ability cache, generation succeeds with a warning but omits Spellbook pages. Without Pillow, generation succeeds with reduced map-icon coverage and original PNG table icons.
Parser warnings
- Could not parse Thornhill_Ghastly_Weapons_Questline.xml: not well-formed (invalid token): line 1, column 226
Credits
Based entirely on Demeyer's work. I wouldn't have bothered making this if he didn't already prove the art of the possible, my only gripe is his server is incredibly slow (and thus why this exists).
Check out the original, semi-official wiki and map at:
https://cursebreaker-map.online/
https://cursebreaker.wiki/