355 lines
19 KiB
Plaintext
355 lines
19 KiB
Plaintext
DFHack future
|
|
|
|
Internals:
|
|
EventManager:
|
|
EQUIPMENT_CHANGE now triggers for new units
|
|
new events:
|
|
ON_REPORT
|
|
UNIT_ATTACK
|
|
UNLOAD
|
|
INTERACTION
|
|
sorted CMakeLists for plugins and devel plugins
|
|
New scripts:
|
|
add-syndrome.lua
|
|
add a syndrome to a unit. many configurable options
|
|
attack-trigger.lua
|
|
run commands when a unit attacks another with weapons of a given type or weapons of a given material
|
|
blooddel.lua
|
|
makes it so civs don't bring barrels full of blood ichor or goo
|
|
feeding-timers.lua
|
|
reset the feeding timers of all units
|
|
force.lua
|
|
forces events: caravan, migrants, diplomat, megabeast, curiousbeast, mischievousbeast, flier, siege, nightcreature
|
|
forumdwarves.lua
|
|
helps copies df viewscreens to a file
|
|
fullheal.lua
|
|
fully heals a unit
|
|
growthbug.lua
|
|
fixes the growth bug
|
|
hackWish.lua
|
|
creates items out of any material
|
|
itemsyndrome.lua
|
|
adds and removes syndromes to units when they equip and unequip items
|
|
item-trigger.lua
|
|
triggers commands based on equipping, unequipping, and wounding units with items
|
|
moddableGods.lua
|
|
makes raw moddable gods possible
|
|
printArgs.lua
|
|
projectileExpansion.lua
|
|
adds extra functionality to projectiles
|
|
reaction-trigger.lua
|
|
trigger commands when custom reactions complete
|
|
replaces autoSyndrome
|
|
repeat.lua
|
|
repeatedly calls a script or a plugin
|
|
repeatUtil.lua
|
|
makes it easier to make things repeat indefinitely
|
|
removewear.lua
|
|
removes wear from all items in the fort
|
|
shapechange.lua
|
|
shapeshifts a unit, possibly permanently
|
|
ShowUnitSyndromes.rb
|
|
shows syndromes affecting units and other relevant info
|
|
skillChange.lua
|
|
changes the skill of a unit
|
|
skillroll.lua
|
|
invokes dfhack commands based on random chances
|
|
Spawnunit.lua
|
|
creates units!
|
|
syndromeUtil.lua
|
|
makes it easier to deal with unit syndromes
|
|
teleport.lua
|
|
teleports units
|
|
transform-unit.lua
|
|
unit-info-viewer.lua
|
|
displays information about units
|
|
New commands:
|
|
New tweaks:
|
|
New plugins:
|
|
Misc improvements:
|
|
- new script in utils.lua for standardized argument processing
|
|
- outside-only
|
|
now buildings have to be registered as inside or outside only, and it checks periodically to see when buildings change outsideness
|
|
converted from plugin to script
|
|
- digmat.rb: removed: digSmart does the same functionality with less FPS impact
|
|
- autoSyndrome removed and replaced with reaction-trigger.lua
|
|
- converted devel/printArgs to script
|
|
|
|
DFHack v0.34.11-r5
|
|
|
|
Internals:
|
|
- support for calling a lua function via a protobuf request (demonstrated by dfhack-run --lua).
|
|
- support for basic filesystem operations (e.g. chdir, mkdir, rmdir, stat) in C++ and Lua
|
|
- Lua API for listing files in directory. Needed for mod-manager.
|
|
- Lua API for creating unit combat reports and writing to gamelog.
|
|
- Lua API for running arbitrary DFHack commands
|
|
- support for multiple raw/init.d/*.lua init scripts in one save.
|
|
- eventful now has a more friendly way of making custom sidebars
|
|
- on Linux and OSX the console now supports moving the cursor back and forward by a whole word.
|
|
|
|
New scripts:
|
|
- gui/mod-manager: allows installing/uninstalling mods into df from df/mods directory.
|
|
- gui/clone-uniform: duplicates the currently selected uniform in the military screen.
|
|
- fix/build-location: partial work-around for bug 5991 (trying to build wall while standing on it)
|
|
- undump-buildings: removes dump designation from materials used in buildings.
|
|
- exportlegends: exports data from legends mode, allowing a set-and-forget export of large worlds.
|
|
- log-region: each time a fort is loaded identifying information will be written to the gamelog.
|
|
- dfstatus: show an overview of critical stock quantities, including food, drinks, wood, and bars.
|
|
|
|
New commands:
|
|
- 'plant create' - spawn a new shrub under the cursor
|
|
- command-prompt: a dfhack command prompt in df.
|
|
|
|
New tweaks:
|
|
- craft-age-wear: make crafted items wear out with time like in old versions (bug 6003)
|
|
- adamantine-cloth-wear: stop adamantine clothing from wearing out (bug 6481)
|
|
- confirm-embark: adds a prompt before embarking (on the "prepare carefully" screen)
|
|
|
|
New plugins:
|
|
- rendermax: replace the renderer with something else. Most interesting is "rendermax light"- a lighting engine for df.
|
|
- stockflow (by eswald): queues manager jobs of the configured type based on the state of a stockpile.
|
|
- embark-tools: implementations of Embark Anywhere, Nano Embark, and a few other embark-related utilities
|
|
- building-hacks: Allows to add custom functionality and/or animations to buildings.
|
|
- petcapRemover: triggers pregnancies in creatures so that you can effectively raise the default pet population cap from the default 50
|
|
|
|
Misc improvements:
|
|
- plant: move the 'grow', 'extirpate' and 'immolate' commands as 'plant' subcommands
|
|
- digfort: improved csv parsing, add start() comment handling
|
|
- exterminate: allow specifying a caste (exterminate gob:male)
|
|
- createitem: in adventure mode it now defaults to the controlled unit as maker.
|
|
- autotrade: adds "(Un)mark All" options to both panes of trade screen.
|
|
- mousequery: several usability improvements.
|
|
- mousequery: show live overlay (in menu area) of what's on the tile under the mouse cursor.
|
|
- search: workshop profile search added.
|
|
- dwarfmonitor: add screen to summarise preferences of fortress dwarfs.
|
|
- getplants: add autochop function to automate woodcutting.
|
|
- stocks: added more filtering and display options.
|
|
|
|
Siege engine plugin:
|
|
- engine quality and distance to target now affect accuracy
|
|
- firing the siege engine at a target produces a combat report
|
|
- improved movement speed computation for meandering units
|
|
- operators in Prepare To Fire mode are released from duty once
|
|
hungry/thirsty if there is a free replacement
|
|
|
|
DFHack v0.34.11-r4
|
|
|
|
New commands:
|
|
- diggingInvaders - allows invaders to dig and/or deconstruct walls and buildings in order to get at your dwarves.
|
|
- digFlood - automatically dig out specified veins as they are revealed
|
|
- enable, disable - Built-in commands that can be used to enable/disable many plugins.
|
|
- restrictice - Restrict traffic on squares above visible ice.
|
|
- restrictliquid - Restrict traffic on every visible square with liquid.
|
|
- treefarm - automatically chop trees and dig obsidian
|
|
New scripts:
|
|
- autobutcher: A GUI front-end for the autobutcher plugin.
|
|
- invasionNow: trigger an invasion, or many
|
|
- locate_ore: scan the map for unmined ore veins
|
|
- masspit: designate caged creatures in a zone for pitting
|
|
- multicmd: run a sequence of dfhack commands, separated by ';'
|
|
- startdwarf: change the number of dwarves for a new embark
|
|
- digmat: dig veins/layers tile by tile, as discovered
|
|
Misc improvements:
|
|
- autoSyndrome:
|
|
disable by default
|
|
reorganized special tags
|
|
minimized error spam
|
|
reset policies: if the target already has an instance of the syndrome you can skip, add another instance, reset the timer, or add the full duration to the time remaining
|
|
- core: fix SC_WORLD_(UN)LOADED event for arena mode
|
|
- exterminate: renamed from slayrace, add help message, add butcher mode
|
|
- fastdwarf: fixed bug involving fastdwarf and teledwarf being on at the same time
|
|
- magmasource: rename to 'source', allow water/magma sources/drains
|
|
- ruby: add df.dfhack_run "somecommand"
|
|
- syndromeTrigger: replaces and extends trueTransformation. Can trigger things when syndromes are added for any reason.
|
|
- tiletypes: support changing tile material to arbitrary stone.
|
|
- workNow: can optionally look for jobs when jobs are completed
|
|
New tweaks:
|
|
- hive-crash: Prevent crash if bees die in a hive with ungathered products (bug 6368).
|
|
New plugins:
|
|
- 3dveins: Reshapes all veins on the map in a way that flows between Z levels. May be unstable. Backup before using.
|
|
- autotrade: Automatically send items in marked stockpiles to trade depot, when trading is possible.
|
|
- buildingplan: Place furniture before it's built
|
|
- dwarfmonitor: Records dwarf activity to measure fort efficiency
|
|
- mousequery: Look and poke at the map elements with the mouse.
|
|
- outsideOnly: make raw-specified buildings impossible to build inside
|
|
- resume: A plugin to help display and resume suspended constructions conveniently
|
|
- stocks: An improved stocks display screen.
|
|
Internals:
|
|
- Core: there is now a per-save dfhack.init file for when the save is loaded, and another for when it is unloaded
|
|
- EventManager: fixed job completion detection, fixed removal of TICK events, added EQUIPMENT_CHANGE event
|
|
- Lua API for a better random number generator and perlin noise functions.
|
|
- Once: easy way to make sure something happens once per run of DF, such as an error message
|
|
|
|
DFHack v0.34.11-r3
|
|
|
|
Internals:
|
|
- support for displaying active keybindings properly.
|
|
- support for reusable widgets in lua screen library.
|
|
- Maps::canStepBetween: returns whether you can walk between two tiles in one step.
|
|
- EventManager: monitors various in game events centrally so that individual plugins
|
|
don't have to monitor the same things redundantly.
|
|
- Now works with OSX 10.6.8
|
|
Notable bugfixes:
|
|
- autobutcher can be re-enabled again after being stopped.
|
|
- stopped Dwarf Manipulator from unmasking vampires.
|
|
- Stonesense is now fixed on OSX
|
|
Misc improvements:
|
|
- fastdwarf: new mode using debug flags, and some internal consistency fixes.
|
|
- added a small stand-alone utility for applying and removing binary patches.
|
|
- removebadthoughts: add --dry-run option
|
|
- superdwarf: work in adventure mode too
|
|
- tweak stable-cursor: carries cursor location from/to Build menu.
|
|
- deathcause: allow selection from the unitlist screen
|
|
- slayrace: allow targetting undeads
|
|
New tweaks:
|
|
- tweak military-training: speed up melee squad training up to 10x (normally 3-5x).
|
|
New scripts:
|
|
- binpatch: the same as the stand-alone binpatch.exe, but works at runtime.
|
|
- region-pops: displays animal populations of the region and allows tweaking them.
|
|
- lua: lua interpreter front-end converted to a script from a native command.
|
|
- dfusion: misc scripts with a text based menu.
|
|
- embark: lets you embark anywhere.
|
|
- lever: list and pull fort levers from the dfhack console.
|
|
- stripcaged: mark items inside cages for dumping, eg caged goblin weapons.
|
|
- soundsense-season: writes the correct season to gamelog.txt on world load.
|
|
- create-items: spawn items
|
|
- fix/cloth-stockpile: fixes bug 5739; needs to be run after savegame load every time.
|
|
New GUI scripts:
|
|
- gui/guide-path: displays the cached path for minecart Guide orders.
|
|
- gui/workshop-job: displays inputs of a workshop job and allows tweaking them.
|
|
- gui/workflow: a front-end for the workflow plugin (part inspired by falconne).
|
|
- gui/assign-rack: works together with a binary patch to fix weapon racks.
|
|
- gui/gm-editor: an universal editor for lots of dfhack things.
|
|
- gui/companion-order: a adventure mode command interface for your companions.
|
|
- gui/advfort: a way to do jobs with your adventurer (e.g. build fort).
|
|
New binary patches (for use with binpatch):
|
|
- armorstand-capacity: doubles the capacity of armor stands.
|
|
- custom-reagent-size: lets custom reactions use small amounts of inputs.
|
|
- deconstruct-heapfall: stops some items still falling on head when deconstructing.
|
|
- deconstruct-teleport: stops items from 16x16 block teleporting when deconstructing.
|
|
- hospital-overstocking: stops hospital overstocking with supplies.
|
|
- training-ammo: lets dwarves with quiver full of combat-only ammo train.
|
|
- weaponrack-unassign: fixes bug that negates work done by gui/assign-rack.
|
|
Workflow plugin:
|
|
- properly considers minecarts assigned to routes busy.
|
|
- code for deducing job outputs rewritten in lua for flexibility.
|
|
- logic fix: collecting webs produces silk, and ungathered webs are not thread.
|
|
- items assigned to squads are considered busy, even if not in inventory.
|
|
- shearing and milking jobs are supported, but only with generic MILK or YARN outputs.
|
|
- workflow announces when the stock level gets very low once a season.
|
|
New Fix Armory plugin:
|
|
Together with a couple of binary patches and the gui/assign-rack script,
|
|
this plugin makes weapon racks, armor stands, chests and cabinets in
|
|
properly designated barracks be used again for storage of squad equipment.
|
|
New Search plugin by falconne:
|
|
Adds an incremental search function to the Stocks, Trading, Stockpile and Unit List screens.
|
|
New AutoMaterial plugin by falconne:
|
|
Makes building constructions (walls, floors, fortifications, etc) a little bit easier by
|
|
saving you from having to trawl through long lists of materials each time you place one.
|
|
Dfusion plugin:
|
|
Reworked to make use of lua modules, now all the scripts can be used from other scripts.
|
|
New Eventful plugin:
|
|
A collection of lua events, that will allow new ways to interact with df world.
|
|
Auto syndrome plugin:
|
|
A way of automatically applying boiling rock syndromes and calling dfhack commands controlled by raws.
|
|
Infinite sky plugin:
|
|
Create new z-levels automatically or on request.
|
|
True transformation plugin:
|
|
A better way of doing permanent transformations that allows later transformations.
|
|
Work now plugin:
|
|
Makes the game assign jobs every time you pause.
|
|
|
|
DFHack v0.34.11-r2
|
|
|
|
Internals:
|
|
- full support for Mac OS X.
|
|
- a plugin that adds scripting in ruby.
|
|
- support for interposing virtual methods in DF from C++ plugins.
|
|
- support for creating new interface screens from C++ and lua.
|
|
- added various other API functions.
|
|
Notable bugfixes:
|
|
- better terminal reset after exit on linux.
|
|
- seedwatch now works on reclaim.
|
|
- the sort plugin won't crash on cages anymore.
|
|
Misc improvements:
|
|
- autodump: can move items to any walkable tile, not just floors.
|
|
- stripcaged: by default keep armor, new dumparmor option.
|
|
- zone: allow non-domesticated birds in nestboxes.
|
|
- workflow: quality range in constraints.
|
|
- cleanplants: new command to remove rain water from plants.
|
|
- liquids: can paint permaflow, i.e. what makes rivers power water wheels.
|
|
- prospect: pre-embark prospector accounts for caves & magma sea in its estimate.
|
|
- rename: supports renaming stockpiles, workshops, traps, siege engines.
|
|
- fastdwarf: now has an additional option to make dwarves teleport to their destination.
|
|
New commands:
|
|
- misery: multiplies every negative thought gained (2x by default).
|
|
- digtype: designates every tile of the same type of vein on the map for 'digging' (any dig designation).
|
|
New tweaks:
|
|
- tweak stable-cursor: keeps exact cursor position between d/k/t/q/v etc menus.
|
|
- tweak patrol-duty: makes Train orders reduce patrol timer, like the binary patch does.
|
|
- tweak readable-build-plate: fix unreadable truncation in unit pressure plate build ui.
|
|
- tweak stable-temp: fixes bug 6012; may improve FPS by 50-100% on a slow item-heavy fort.
|
|
- tweak fast-heat: speeds up item heating & cooling, thus making stable-temp act faster.
|
|
- tweak fix-dimensions: fixes subtracting small amounts from stacked liquids etc.
|
|
- tweak advmode-contained: fixes UI bug in custom reactions with container inputs in advmode.
|
|
- tweak fast-trade: Shift-Enter for selecting items quckly in Trade and Move to Depot screens.
|
|
- tweak military-stable-assign: Stop rightmost list of military->Positions from jumping to top.
|
|
- tweak military-color-assigned: In same list, color already assigned units in brown & green.
|
|
New scripts:
|
|
- fixnaked: removes thoughts about nakedness.
|
|
- setfps: set FPS cap at runtime, in case you want slow motion or speed-up.
|
|
- siren: wakes up units, stops breaks and parties - but causes bad thoughts.
|
|
- fix/population-cap: run after every migrant wave to prevent exceeding the cap.
|
|
- fix/stable-temp: counts items with temperature updates; does instant one-shot stable-temp.
|
|
- fix/loyaltycascade: fix units allegiance, eg after ordering a dwarf merchant kill.
|
|
- deathcause: shows the circumstances of death for a given body.
|
|
- digfort: designate areas to dig from a csv file.
|
|
- drainaquifer: remove aquifers from the map.
|
|
- growcrops: cheat to make farm crops instantly grow.
|
|
- magmasource: continuously spawn magma from any map tile.
|
|
- removebadthoughts: delete all negative thoughts from your dwarves.
|
|
- slayrace: instakill all units of a given race, optionally with magma.
|
|
- superdwarf: per-creature fastdwarf.
|
|
New GUI scripts:
|
|
- gui/mechanisms: browse mechanism links of the current building.
|
|
- gui/room-list: browse other rooms owned by the unit when assigning one.
|
|
- gui/liquids: a GUI front-end for the liquids plugin.
|
|
- gui/rename: renaming stockpiles, workshops and units via an in-game dialog.
|
|
- gui/power-meter: front-end for the Power Meter plugin.
|
|
- gui/siege-engine: front-end for the Siege Engine plugin.
|
|
- gui/choose-weapons: auto-choose matching weapons in the military equip screen.
|
|
Autolabor plugin:
|
|
- can set nonidle hauler percentage.
|
|
- broker excluded from all labors when needed at depot.
|
|
- likewise, anybody with a scheduled diplomat meeting.
|
|
New Dwarf Manipulator plugin:
|
|
Open the unit list, and press 'l' to access a Dwarf Therapist like UI in the game.
|
|
New Steam Engine plugin:
|
|
Dwarven Water Reactors don't make any sense whatsoever and cause lag, so this may be
|
|
a replacement for those concerned by it. The plugin detects if a workshop with a
|
|
certain name is in the raws used by the current world, and provides the necessary
|
|
behavior. See hack/raw/*_steam_engine.txt for the necessary raw definitions.
|
|
Note: Stuff like animal treadmills might be more period, but absolutely can't be
|
|
done with tools dfhack has access to.
|
|
New Power Meter plugin:
|
|
When activated, implements a pressure plate modification that detects power in gear
|
|
boxes built on the four adjacent N/S/W/E tiles. The gui/power-meter script implements
|
|
the necessary build configuration UI.
|
|
New Siege Engine plugin:
|
|
When enabled and configured via gui/siege-engine, allows aiming siege engines
|
|
at a designated rectangular area with 360 degree fire range and across Z levels;
|
|
this works by rewriting the projectile trajectory immediately after it appears.
|
|
Also supports loading catapults with non-boulder projectiles, taking from a stockpile,
|
|
and restricting operator skill range like with ordinary workshops.
|
|
Disclaimer: not in any way to undermine the future siege update from Toady, but
|
|
the aiming logic of existing engines hasn't been updated since 2D, and is almost
|
|
useless above ground :(. Again, things like making siegers bring their own engines
|
|
is totally out of the scope of dfhack and can only be done by Toady.
|
|
New Add Spatter plugin:
|
|
Detects reactions with certain names in the raws, and changes them from adding
|
|
improvements to adding item contaminants. This allows directly covering items
|
|
with poisons. The added spatters are immune both to water and 'clean items'.
|
|
Intended to give some use to all those giant cave spider poison barrels brought
|
|
by the caravans.
|
|
|