Skip to content

Releases: EthanTheBrave/Dwarfipelago

Dwarfipelago 1.3.2 Release Notes

Choose a tag to compare

@kickafetus kickafetus released this 04 Aug 00:12
64f143e

Improvements

  • Shop Verbiage and Spacing: Changed "Coffer" to "AP Coffer" to make it a little clearer (this tab and the shop will be reworked a bit, come 1.4)

Fixes

  • Depot Spawning (again again again again again): Latest "fix" allowed it to spawn over air again.
  • AP Treasury Wealth Info: Re-added the AP treasury wealth counter to the AP panel by making a dedicated "Goal" tab for tracking goal related needs. This will be iterated on as we go

Upgrade Notes

  • Update the mod and the apworld together to 1.3.2 - versions are match-checked, but 1.3.2 is compatible with your 1.3 or 1.3.1 DF AP runs
  • Regeneration is NOT required: the location and item set did not change, so existing seeds are compatible with this patch release

Dwarfipelago v1.3.1 Release Notes

Choose a tag to compare

@kickafetus kickafetus released this 29 Jul 19:13

Improvements

  • Completed Location Check Validation: Implemented a validation check for all checks the AP client has sent, and what the AP server has actually received. This is triggered on a reconnect to the AP server. (implemented to help curb the potential problem that was seen with a charcoal check being missed)

Fixes

  • Craftsanity Craft Count Overlay: Certain crafted items would not show the */15 counter when not playing with materials enabled.
  • Room Value Detection: Room value and quality level was not being detected properly for bedrooms, dining halls, quarters, and tombs.

Upgrade Notes

  • Update the mod and the apworld together to 1.3.1 - versions are match-checked, but your running DF seed will now support compatible versions
  • Regeneration is NOT required: the location and item set did not change, so existing seeds are compatible with this patch release

Dwarfipelago v1.3.0 Release Notes

Choose a tag to compare

@kickafetus kickafetus released this 23 Jul 22:30
b1443cf

New Features

Custom Caves

Carved into the solid rock between your cavern layers, invisible on the map until a dwarf walks into one.

  • Up to six pockets carved at world gen (two per inter-cavern gap), shaped as organic ovals and stocked with real DF items at generation time
  • Treasure caves & Trap caves
  • Cave Map Fragment items reveal the next cave's location - a coordinate hint for treasure caves, a directional warning for trap caves
  • Two always-present secret caves: Not sure when these were implimented... We've heard that one is close to the surface and the other is a deep loss to the fort...

Room, Temple & Guildhall Milestones

Full set of fortress building/zone milestones.

  • Each room type designated (bedroom, office, dining hall, tomb)
  • Per-room quality tiers - Decent, Fine, Great, Grand, Royal for each room type
  • Temple tiers (Shrine, Temple, Temple Complex) and guildhall tiers (Guildhall, Grand Guildhall), read from DF's own location value/tier
  • All of it surfaced on a new Rooms section in the panel's Progress tab

Dwarfsanity Goal

A new win condition: collect every workshop blueprint and every crafting permit in the pool (requires Crafting Permits enabled).

Craftsanity for Every Item + In-Workshop Overlay

  • Craftsanity expanded to cover (nearly) every craftable item, with a permits-for-all mode and many new item types (metal crafter goods, full clothing and footwear coverage, and more)
  • A Craftsanity overlay marks the workshop task list and work-order picker so you can see at a glance which crafts still owe a check

Skillsanity: Combat Skills

Combat skills are now Skillsanity checks alongside labor skills, with a Skills tab display and their own combat skill-group / selection options.

Re-embark Recovery

Lose a fort and start a new one on the same slot without losing progress.

  • Previously received items are re-delivered to the new fort's depot
  • Delivery is throttled (~100 items per poll) so a large history can't flood the game, and resumes cleanly if interrupted mid-recovery
  • Migrants arrive as one consolidated wave, and incoming traps are skipped so a fresh fort isn't immediately overrun

Reworked Traps

Flavorless "nothing" traps replaced with ones that actually do something.

  • Goblin Saboteurs - goblins slip in and wreck a workshop. What were they looking for?
  • Ensnaring Webs - every citizen is caught in cave-spider webbing. Dwarf is Stuck!
  • Unquenchable Thirst - the whole fort is struck by a powerful thirst and rushes to drink. Working up a pretty mighty thirst...
  • Order Sabotage - every current manager work order is wiped. Surely, you remember what you had queued?

Exclude Difficult Checks

Three new YAML toggles that keep progression items out of the hardest end-game checks (they hold filler only), so no partner's run is gated behind a Dwarf Fortress milestone you may never reach.

  • exclude_deep_endgame_checks - Reached the Magma Sea, Welcome to the Circus, Mined Adamantine
  • exclude_top_room_checks - the Grand/Royal room tiers, Temple Complex, Grand Guildhall
  • exclude_top_fortress_checks - City & Metropolis Established, Duke Appointed, Monarch Takes Residence

Additional Items & Tools

  • Raw Adamantine (pre-smelting boulder) received items and adamantine detection for the Mined Adamantine check
  • Stone Slab filler item - blank memorial slabs to engrave and build, laying ghosts to rest when caskets are permit-locked

Improvements

  • Themed sieges (Slay Megabeast): roaming warbands are now coherent per-civilisation sieges - goblin, human, elf, or night-creature hosts - that ramp toward real siege scale with a crossbow contingent, monster escorts, and an elite commander.
  • Defense-aware siege scaling: wave size now scales (capped at 2×) with your fort's defenses - trap density and standing-army size - so a turtled fort still gets a real fight.
  • Merchant's Shop options: added an on/off toggle and a shop price multiplier, and shop prices are now banded by Merchant's Coffer tier (ceiling raised to 100k).
  • Legendary Wealth goal now tracks lifetime coins minted + gems cut (a stable running total) instead of a live treasury scan that dropped when you spent.
  • Panel expansion: infrastructure, biology, endgame, military, titles, and per-room quality readouts; a Permits tab and a Caves tab; a wider layout and larger shop-name field.
  • Room milestones cascade on a tier jump - building straight to a high tier now also fires the lower ones (the Shrine check is monotonic with Temple / Temple Complex).
  • Performance Improvements: This might have just been a Kicka issue. If anyone encounters any performance issues, PLEASE notify Kicka or post an issue on Github
  • Docs: README restructured into four top-level groups; Skillsanity, Merchant's Shop, Progressive Mining Depth, and definitive per-goal completion requirements all documented.

Fixes

  • DeathLink never sending: citizen deaths are now counted via a was_citizen() helper - isCitizen() returns false for dead units.
  • Mined Adamantine false-fired on receiving the adamantine Artifact Weapon, Artifact Armor, or Master Builder's Codex - those no longer count as mining adamantine.
  • Persistent-storage pollution: craft counts are now stored only for items that actually have a craftsanity check this seed.
  • military_training unlock max corrected (4 to 10) so the Unlocks panel shows the right total.
  • Gem treasury value, magma-sea breach detection, and the cavern mining buffer (+2 z-levels) corrected.
  • Trade depot no longer clears your starting items when a placement candidate fails.
  • Glass liquid containers are gated behind glass, and ceramic craft work orders are now counted.
  • Assorted craftsanity / skillsanity logic-rule fixes

Upgrade Notes

  • Update the mod and the apworld together to 1.3 - versions are match-checked.
  • Regeneration is required: the location and item set changed (room/cave/skill checks, new options), so existing seeds are not compatible.

Dwarfipelago v1.2.0 Release Notes

Choose a tag to compare

@kickafetus kickafetus released this 25 Jun 23:54
988e6c3

New Features

New Dwarfipelago logo

A brand new logo designed by jjjj12212 has been introduced

  • The [AP] button in the top left has been moved to the bottom of the screen, using this logo
  • Logo has also been added to the APworld client icon

Merchant's Shop

A full in-game shop system powered by minted coins. Spend coins to buy AP items directly inside your fortress.

  • Shop slots are gated by Merchant's Coffers - 10 slots unlock per coffer received (up to 50 slots across 5 coffers)
  • The shop requires a Merchant Shrine to be active - a temple zone with a designated altar, coffer box, and bars
  • Players can choose their shrine bar material in the Shop tab: Gold (5 bars), Silver (10 bars), or Coke (20 bars)
  • Shop slots display item name, destination player, price, and buy status (BUY / SOLD / PENDING / LOCKED / need coins)
  • The Shop tab is always visible in the panel so shrine status is shown before the AP client connects
  • Shop is gated in AP logic behind the ability to mint coins (metal-smelting or Coins Permit depending on options)

Slay Megabeast Goal

A full war campaign added as a playable goal. Build up military readiness and summon a Megabeast to fight.

  • Player summons the beast from the War tab in the panel - it is not auto-spawned
  • Wave scheduler: siege waves arrive every 2-4 months leading up to the climax
  • Warband spawner: enemy warbands spawn with curated gear appropriate to difficulty
  • Breach climax: the megabeast arrives as a destructive and foreboding foe
  • Ramping rewards: end game gear, bonus rewards, and a special commander for any and all threats
  • War Effort section added to the panel with readiness status
  • Megabeast goal now flagged as Hard in options; Population Boom flagged as Unstable
  • Legendary Wealth is now the default goal

Skillsanity

Dwarves leveling their skills are AP location checks.

  • Complete runtime detection and check firing for all skill advancement
  • Configurable skill groups (Easy / Medium / All / Choose), max level cap, and incoming-dwarf level mechanic
  • Skills tab added to the panel showing your progress toward each skill level threshold
  • Crafting Permits now validates against Skillsanity or Craftsanity location counts

Progressive Mining Depth

Mining depth gating replaced with cavern-progress checks.

  • Delve-depth checks retired in favour of tracking cavern breaches (First Cavern → Second Cavern → Third Cavern → Magma Sea → The Circus)
  • Cavern checks chain in strict depth order in AP logic

DFHack Build Menu & Workshop Overlays

Two new overlays provide real-time visual feedback without leaving the game.

  • Blueprint overlay: the Build menu reds out any workshop or furnace you haven't received the blueprint for yet
  • Permit overlay: workshop and furnace task lists red out crafts locked behind a Crafting Permit you haven't received, showing a [Requires X Permit] note - matching DF's own locked-item style
  • Both overlays fire on Workshop, Furnace, and Work Orders screens

Fixes

Production & Check Counting

  • First Gem Cut now fires for cut glass (not only cut stone gems)
  • Metal craft counts, First Trap Built, and First Mechanism Made fixed
  • Coke now counted with the correct reaction names (*_TO_COKE)
  • Traction benches counted from their produced item (not job type)
  • Clay/ceramic Kiln crafts (bricks, jugs, pots, hives, statues) now counted correctly
  • First Bed Made gated on Carpenter's Workshop Blueprint
  • Sold an Artifact location now properly gated in AP logic
  • Screw Press and Soap Maker's Workshop blueprints now properly block construction — both were silently ungated because they moved to df.workshop_type.Custom in this DF version and were no longer in the hardcoded workshop enum

Megabeast / Military

  • Training Completed no longer fires on fortress load from dwarf embark skills
  • Barracks / Training checks gated on metal-making ability
  • Megabeast spawn guaranteed (whoops this was broken this whole time...)

Dwarf Names

  • Spawned dwarves now receive a proper first name drawn from the Dwarven language translation table, displayed without quotes
  • Spawned dwarves now display Dwarfipelago as their surname so AP-sent dwarves are identifiable at a glance

Logic / Rules

  • Sold an Artifact ungated rule fixed
  • Bone-based logic corrected
  • Ambusher skill requires crossbows and bolts in logic
  • Wrong variable in Skillsanity options corrected
  • RotGK (Remains of the Great King) maximum count fix

World Generation

  • World gen preset rewritten and moved to AP client /dfinstall command for cleaner install flow

Dwarfipelago v1.1.2

Choose a tag to compare

@kickafetus kickafetus released this 16 Jun 17:12

Fixes

  • DF v50 check detection: several checks relied on job_type/field names that no longer exist on DFHack 53.14 (DF v50), so they silently never fired:
    • Brewing and tanning are CustomReactions, not job types — now detected by reaction name, fixing First Brew Complete, First Leather Tanned, and the three Crafting Leather checks.
    • First Trap Built now matches the actual cage/stone/weapon trap-arming jobs instead of a non-existent ConstructTrap type.
    • Pumped Water/Magma compared against the wrong enum value and could never register Water; fixed, and hand-cranked pumps are no longer excluded.
    • Sold an Artifact now also handles DF v50's item pointer (previously only item_id).
    • First Eggs Hatched disabled for now — no reliable hatch signal exists on v50.
  • Sold an Artifact false-fired on world load: the check scanned every historical artifact in the world instead of just ones present in your fort, so it could trip the instant a save loaded. Now tracks only artifacts actually present in your fort and fires when one of those goes missing.
  • Sold an Artifact false-fired on raids: sending a squad out with an artifact equipped registered as a "sale" once they returned. Now only fires when an artifact is confirmed trader-owned and then departs — raids, theft, and destruction no longer count.
  • Treasury wealth undercounted stockpiled valuables: coins and gems stored in bins, bags, or coffers were excluded by an overly broad "in inventory" check. They now count toward treasury wealth.
  • Craftsanity rule fixes: corrected crafting-permit/material logic for the "Crafts" item category (wood/stone, glass, and metal crafts were sharing one incorrect rule).
  • World gen preset: rewritten with the complete parameter set; the previous preset was missing parameters.

Improvements

  • Milestone ladder prerequisites: tiered milestones (mining depth, mining tiles, farming, and the cavern ladder) now require the previous tier to be reachable first, so logic can no longer hand out a high tier before earlier ones.
  • Options page reorganized: the WebHost options/YAML page now groups settings into collapsible sections (Goal Settings, Death Link, Craftsanity, Item & Location Options), leaving only the high-level options on the main page. Verified via a full local generation run with differing per-slot craftsanity/permit settings that the DataPackage checksum stays stable.

Other

  • Added two hidden commands

Dwarfipelago 1.1.1-beta

Choose a tag to compare

@kickafetus kickafetus released this 13 Jun 16:48

THIS IS A QUICK PATCH VERSION FOR 1.1.0

Fixes in 1.1.1

  • Datapackage changed so the generated worlds can be hosted on archipelago.gg and any machine that did not generate it directly.
  • Logic issues with the permits.
  • Sold an artifact check fixed, but will forever fire. [Current issue]
  • Expedition check fixes.
  • All leather jobs were mislabeled
  • First brew finally works again.... Matched the same job call for counting alcohol brews.
  • Pump checks should work now.
  • Fixed world gen txt file.

QUICK NOTE:
If you choose to do crafting permits, you either need to have craftsanity set to hard, enable materials, or increase the number of total items to create for the final check.

Upgrade notes

  • Update the mod and apworld together to 1.1.1 (version match enforced).
  • Regeneration required because of the datapackage reworks

Dwarfipelago 1.1.0-beta

Choose a tag to compare

@kickafetus kickafetus released this 12 Jun 16:03
bda6558

This release adds Energy Link, a new victory goal, an opt-in Crafting Permits system, a big batch of new location checks, and a redesigned status panel — on top of the craftsanity rule overhaul and a round of fixes.

New: Energy Link

Trade your fortress's surplus into the multiworld's shared energy pool and spend it when you need a hand.

  • New energy_link option (toggle).
  • Deposit ale, food, or coins for energy. deposit-coins now takes a specific ☼ value instead of dumping your whole treasury.
  • Spend energy to call a caravan early in the season; the AP caravan then arrives and leaves on its own schedule like a normal one (no anchoring/dismiss hacks).
  • New Energy tab in the panel showing the pool in decimal MJ and raw kJ.
  • Deposit rates rebalanced (ale 100 kJ, food 50 kJ per deposit; coins 1 kJ per ☼ value).

New goal: Remains of the Great King

  • New goal option king_remains, with a remains_great_king range (5–100, default 10).
  • "Kobolds and goblins plundered our halls and scattered the remains of our great king" — recover all the shuffled remains to win. Higher counts may require craftsanity to have enough item sources.

New: Crafting Permits (opt-in)

  • New craftpermits option: off / on / all. Requires craftsanity (adds 97 permit items).
  • on starts you with permits for Beds, Charcoal, Leather, Cloth, Alcohol, and Prepared Meal; everything else must be unlocked.
  • all gates every permitted item. Enforced in-game — jobs for items you lack a permit for are cancelled with a one-time notice.

New location checks

  • Caravans & diplomacy: Dwarven / Elven / Human Caravan Visit, Outpost Liaison Meeting, First Raid, First Artifact Recovery, First Act of Diplomacy. (Replaces the old "First Trade Completed" / "First Export" checks. They never worked right anyway)
  • Infrastructure: Built a Well, Pumped Water, Pumped Magma.
  • Biology: First Eggs Hatched, Caged a Hostile Beast (now any hostile/enemy unit).
  • Endgame: Mined Adamantine, Sold an Artifact, and "Welcome to the Circus."

Craftsanity & rules overhaul

  • Crafting items are now full AP items with proper rules — rules require the actual items, not the intermediate steps to make them.
  • Fixed work-order craft counting and implemented crafting item locks.
  • Removed the old complex/standalone single-material rules that are no longer needed.
  • Craftsanity locations are skipped entirely when craft-item creation is disabled.

Panel & UX

  • New Crafts and Energy tabs; Status panel improvements for parity with the client.
  • Zoom-to-location announcements for AP alerts.
  • Panel only shows progression items that actually exist in the current AP world.
  • Cleaner announcements (fmt_energy, fixed adamantine color, removed redundant prints).

World gen & balance

  • Added a world-gen preset plus a startup civilization-diversity check.
  • Harvest milestones lowered to 50 / 100 / 250 / 500 / 1,000 (from 50/250/1000/2500/5000).

Fixes

  • Merchant's Coffers no longer limit coin minting or gem cutting unless your goal is Legendary Wealth. Under every other goal the wealth tiers don't exist, so minting and cutting are never blocked.
  • Vermins....
  • Adamantine detection excludes DOOR items; world-aware diamond/"sun" token lookup with fallback variants.
  • Use exported_wealth() / corrected DFHack data paths for trade-export and mission checks on DF50.
  • Fixed precollected item names and various in-game alert text.

Upgrade notes

  • Update the mod and apworld together to 1.1.0 (version match enforced).
  • Regeneration required!!!

Dwarfipelago 1.0.5

Choose a tag to compare

@kickafetus kickafetus released this 07 Jun 04:54
928042d

Release Notes

A bug-fix and quality release for fortress milestones, immigration, caravans, and progression rewards.

Fixed

  • Fortress titles never triggered - plotinfo.tasks.wealth is a struct on DF50, so fortress wealth read as 0, silently blocking every title check (Hamlet → Metropolis). Now reads correctly.
  • Immigration Wave brought no dwarves - force Migrants reported success but often delivered nobody. It now adds 2–5 citizen dwarves directly, at the depot.
  • Caravan-visit soft-lock - if the world has no elf/human civ, that "Caravan Visit" check is auto-satisfied so the multiworld stays solvable.
  • Vermin trap works in worlds without GIANT_RAT (scans for any rodent token).

Added / Changed

  • Progression rewards now grant real items: Artifact Weapon → adamantine battle axe; Artifact Armor → full adamantine set; Master Builder's Codex → a genuine, indestructible artifact adamantine door (with an in-game hint to raise the build Max-Quality filter to Artifact to place it).
  • Immigration migrants arrive named (not "Peasant") and with a cloth outfit at the depot.
  • Test tooling: dwarfipelago test caravan [dwarf|elf|human|goblin]; test spawn default token fixed.
  • All received goods deliver to the trade depot.

Upgrade notes

  • Update the mod and apworld together to 1.0.5 (version match enforced).
  • No regeneration required — no location/item ids changed; existing seeds stay compatible.

Dwarfipelago 1.0.4-alpha

Pre-release

Choose a tag to compare

@kickafetus kickafetus released this 06 Jun 22:06
fc6fc28

Release Notes

Highlights

  • Craftsanity material checks and Manager work-order crafts now count correctly.
  • Craft location IDs are now computed deterministically (no more collisions/instability).
  • DeathLink actually works now. (I think)
  • Trap creatures spawn as real, hostile, save-stable creatures.
  • A much more useful filler/reward table.

Fixed

  • Craftsanity materials: material-specific crafting checks now count for every material type (wood, stone, glass, leather, cloth, bone, ceramic). Previously beds counted but wooden/stone tables didn't. Covers correct material detection via the item token, the job's material_category, generic "any stone" jobs, and reading the material off the job's input items.
  • Manager work orders: crafts completed through work orders are now counted (the completion hook never fired for those before).
  • Craft location ID collisions: a wooden-table check could trigger a stone-table check. Craft IDs are now derived from a stable formula, eliminating collisions and run-to-run drift.
  • DeathLink: the client now registers the DeathLink tag and exchanges deaths with the server; it was effectively never enabled before. Properly gated on the option.
  • Creature spawns: trap creatures (Goblin Ambush, Cave Bear Incursion, Vermin Infestation) now spawn via the DFHack units API instead of the broken create-unit script - they appear, are hostile, and survive save/reload. Uses valid creature tokens with fallbacks (e.g. Blind Cave Bear).

Added

  • Useful filler items: Flux Stone, Pig Iron Bar, Charcoal, Cloth Bolt, Tanned Leather, plus a weighted-priority system so useful materials dominate the pool and flavor trinkets are rare.
  • Low-grade copper tools/gear: Copper Pick, Copper Axe, Copper Short Sword - rare recovery items.
  • Bag of Sand: real bags of sand the glass furnace accepts.
  • Raw Clay: kaolinite/fire-clay boulders (kaolinite is usable for porcelain).
  • dwarfipelago test <name> diagnostics: spawn, find, goblin, cavebear, vermin, spider, megabeast, migrants.

Changed

  • Panel: refactored into a tabbed UI with a dynamic unlock list.
  • dwarfipelago status now reports dynamic craft counts (including material-split keys) and progression unlocks; reset clears them too.
  • All received goods now deliver to the trade depot.
  • Internal: the craft-location DataPackage is now a static, complete registry with the per-slot subset built at region creation.

Upgrade notes

  • Regenerate your multiworld. Craft location IDs changed with the deterministic registry, so 1.0.3 seeds are not compatible.
  • Update mod and apworld together to 1.0.4 - the client enforces matching versions.

1.0.3

Choose a tag to compare

@kickafetus kickafetus released this 05 Jun 00:25
a1c9b26

Dwarfipelago 1.0.3

Two new sanity systems (mining and farming), broad compatibility fixes for current DFHack builds, a more reliable item-spawning layer, and connection-stability work.

New Features

  • Mining milestones (new location checks):
    • Depth - Delved 10 / 25 / 50 / 75 / 100 Levels Deep, measured below your embark surface.
    • Tiles excavated - Excavator I–V at 100 / 500 / 2,000 / 5,000 / 10,000 tiles.
    • Breach events - First / Second / Third Cavern Breached and Reached the Magma Sea, detected live from each world's map features (no hardcoded depths) and announced the moment you break through.
  • Farming milestones (new location checks): Harvest 50 / 250 / 1,000 / 2,500 / 5,000 crops, counted from harvested PLANT items.
  • dwarfipelago status expanded - now also reports blocks dug, depth below surface, caverns/magma breached, crops harvested, and the list of blueprints received (N/31).
  • /dfdebug client command - toggles verbose diagnostics (craft counts, item delivery, index restore) in the AP client. Off by default for clean logs during normal play.
  • dwarfipelago resetseed console command - clears the stored AP world identity so an existing fortress can join a freshly generated slot without the "save does not match this slot" rejection. Lets you reuse a test world across regenerations.
  • More actionable client logging - run_command failures now log the exact command and arguments that failed.

Bug Fixes

  • Craftsanity intermediate checks now register. Dynamic craft-location IDs are now authoritative, fixing a mismatch where the client checked an ID the server never created - previously only each item's Final check landed while Check 1, 2, etc. were silently dropped.
  • Alcohol and other reaction-based craft checks now count. The reaction-flag table was keyed incorrectly (effectively empty) and vanilla brewing wasn't mapped at all. Fixes Alcohol, Coke Bars, Pearlash, Gypsum Plaster, Quicklime, Sheet, Milk of Lime, Oil, Honey, Tallow, and Soap.
  • Megabeast goal works on current DFHack - the target is summoned via the game's force system instead of the broken create-unit script.
  • Immigration Waves bring real migrants - triggered through the game's own migration system (force) instead of failing on create-unit.
  • Combat traps no longer no-op - Goblin Ambush, Cave Bear Incursion, and Vermin Infestation attempt their creature spawn and, where create-unit is unavailable, fall back to themed effects (raid-fear panic, a mauling, and devoured food/drink stores).
  • Item spawning is self-checking - spawn_item reads createitem's output, reports the exact failing material to the log, and returns a success count so fallbacks actually trigger.
  • Cut Diamond now spawns (CLEAR_DIAMOND, not the nonexistent DIAMOND).
  • Fine Cloth now spawns (valid pig-tail thread material; the old token was invalid).
  • Tantrum Trigger and megabeast announcements no longer error on newer DFHack - name lookups use getReadableName instead of the removed dfhack.TranslateName.
  • Starting blueprints are no longer duplicated - items granted via start_inventory are excluded from the pool, so you won't be sent a blueprint you already started with.
  • Connection stability - DFHack socket access is serialized so concurrent calls can't cross replies and desync the stream (BindMethod failed: reply_id=…); disconnect() is lock-guarded to prevent the WinError 10038 socket race; and an unexpected reply now resets the connection cleanly instead of hanging.
  • Craftsanity robustness - explicit "loaded" gate instead of a fragile length check, plus a divide-by-zero guard on the threshold.

Balance / Content Gating

  • Noble-ladder checks are mountainhome-only. Baron / Count / Duke Appointed and Monarch Takes Residence are gated behind charter items that only exist for the mountainhome goal, so on other goals they were uncompletable dead locations and are now removed. Mayor Elected and the fortress titles remain on all goals.
  • Military Training war-gear tiers trimmed of a redundant steel-bar fallback.

Compatibility

  • Mod numeric version bumped to 4; apworld, mod manifest, and Lua runtime all report 1.0.3 (they must match).
  • This release adds and removes location checks (mining, farming, noble gating, start-inventory), so existing seeds must be regenerated with the 1.0.3 apworld. To keep a test fortress, run dwarfipelago resetseed after regenerating.
  • Requires Archipelago 0.6.7 and DFHack (DF Steam 2022+ or Classic).