Skip to content

1.0.3

Choose a tag to compare

@kickafetus kickafetus released this 05 Jun 00:25
· 765 commits to master since this release
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).