Commit Graph

60 Commits (f8d6b83088c1e74d0ceef1c2582a0757191e00ce)

Author SHA1 Message Date
Kelly Martin f8d6b83088 Add 'allow fishing' and 'allow hunting' config options. Protect against accidentially trying to set or unset the NONE labor or any other invalid labor value (which corrupts DF). Add traction benches. Change prioritization around quite a bit. 2012-12-04 20:23:19 -06:00
Kelly Martin 0f1aaa6ec4 Autolabor: Items marked for dump now generate haul refuse demand. Also corrected labor for dump item jobs. 2012-12-04 01:59:44 -06:00
Kelly Martin 287ee2bc04 Autolabor: allow multiple simultaneous jobs at farms. 2012-12-03 14:20:57 -06:00
Kelly Martin 208b9915ea Autolabor: splints and crutches are furniture (at least at a forge); remove test that excludes pet owners from being given jobs when they're idle; add test for hungry/thirsty dwarves to trigger a feed/water civilians requirement; add a vehicle hauling requirement based on the existence of hauling routes 2012-12-03 04:28:08 -06:00
Kelly Martin 9563dae5d7 Autolabor: add labors for construct bridge, construct nestbox, construct trap, deconstruct wagon; fix error in labor for deconstruct furnace/tradedepot/construction; actually update the "active dwarf" numbers displayed in "autolabor list"; increase assignment penalty for dwarfs using skills lower than their best skill; increase assignment bonus for continuing in the same labor and for having the right tool for the job. 2012-12-03 01:41:02 -06:00
Kelly Martin 44bb965c97 Autolabor: add more building labors 2012-12-02 18:41:20 -06:00
Kelly Martin 4cd217b782 to new assignment algorithm. Add priority boost for labors based on how long it's been since they were last used, to avoid labor starvation. Move persistent configuration to "autolabor/2.0" to avoid conflicting with older versions. 2012-12-02 14:27:13 -06:00
Kelly Martin b743f4f42d Autolabor: remove some debug spam, and fix an error in computing preference scoring 2012-12-02 09:47:15 -06:00
Kelly Martin 799da41f70 Autolabor: Add debugging messages from the labor deduction module; add deduction rules for some building destroy jobs; automatically exclude handless dwarfs from labor poor; use DF's own hauling job counts to compute hauling demand (and arrange for the "hauling canary" so that this always works) 2012-12-02 02:02:16 -06:00
Kelly Martin 45564ca0cb Autolabor: generating haulers based on unstockpiled items (less than ideal). Fix wrong build labor for Farmer's workshop. Add build labor function for constructions (also works for furnaces and trade depots). Add architect detection. Use a different mechanism for selecting dwarfs for labors. 2012-12-01 23:12:41 -06:00
Kelly Martin 15f7ffa0e2 autolabor: add ConstructBuilding (Farm); change priority calculation 2012-12-01 17:39:01 -06:00
Kelly Martin bb2b97baa3 autolabor: exclude "item lost" jobs, exclude jobs that are not first-in-queue at workshop, improve debug messages 2012-12-01 16:09:52 -06:00
Kelly Martin 201430ed08 Autolabor: add health awareness, fix initialization crash, fix idle dwarf loop crash 2012-12-01 14:08:15 -06:00
Kelly Martin afb6d8ef79 Autolabor: improve (hopefully) the functionality for mapping jobs to labors. Still some gaps to fill, but not many. 2012-12-01 02:26:06 -06:00
Kelly Martin 384a667e97 Assorted progress on new autolabor. Still lots of issues. 2012-11-30 20:22:58 -06:00
Kelly Martin 59ece3d4f1 Merge branch 'master' into autolabor 2012-10-21 17:25:14 -05:00
Alexander Gavrilov 459c69046b Dissolve the World module class into a namespace.
It made accessing persistent data way too cumbersome.
2012-10-06 13:46:20 +04:00
Kelly Martin 43532e4871 Progress commit of a rewrite of autolabor to draw from the jobs list and other world information. A lot still to do on this.
DO NOT MERGE INTO THE MAIN BRANCH.  This code is incomplete and only vaguely tested.
2012-10-01 17:48:47 -05:00
Quietust 1325b70e41 Cleanup autolabor+cleanowned, fix depends/clsocket 2012-09-13 14:42:17 -05:00
Valentin Ochs 2abb9a898c One more autolabor cleanup 2012-08-08 10:50:07 +02:00
Valentin Ochs 4039d2c0b7 Don't disable autolabor when you input "autolabor 1|enable" and it's
already enabled.
2012-08-08 10:47:02 +02:00
jj 61195859e3 fix autolabor compilation error 2012-08-03 03:28:29 +02:00
Quietust 1ed6d6e7e0 Merge https://github.com/ab9rf/dfhack
Conflicts:
	plugins/autolabor.cpp
2012-08-02 10:32:25 -05:00
Kelly Martin 78fc850ce2 Autolabor: dwarves who are scheduled for a meeting are automatically cleared of all labors.
Labor to skill map is now generated at plugin start rather than with every iteration.
Also partially refactored the code; no behavioral changes from that.
2012-07-22 12:16:50 -05:00
Quietust 2695d55090 Make indentation consistent (spaces), only display "not enabled" error if you actually try to do something 2012-07-17 10:27:30 -05:00
Kelly Martin 4c7c38df93 * Autolabor: really exclude the broker from all labors when trader requested
* Autolabor: add 'haulpct' config option to control percentage of non-idle dwarfs assigned to hauling labors (default is 33)
* Zones: allow nontamed birds to be nestboxes.  warning: does not check for 'hostile to civilization' birds, so if you try to tame a hostile elk bird, !!fun!! will happen
* Stripcaged: changed default behavior to keep armor, reduced noisiness
2012-07-11 14:30:47 -05:00
Kelly Martin 6f4f3039e1 Merge remote-tracking branch 'jjyg/master' 2012-07-05 10:04:28 -05:00
Kelly Martin 83f00e5583 Autolabor: allow setting the nonidle hauler percentage at runtime.
Stripcaged: add keeparmor option
2012-07-05 09:59:28 -05:00
jj e4d4bf23ae update xml, fix autolabor with new trade depot flags name 2012-07-04 19:05:44 +02:00
Quietust ae41ddc04a Don't crash if world is undefined 2012-05-23 13:43:41 -05:00
Kelly Martin e77c9dc730 Add new PUSH_HAUL_VEHICLES labor to autolabor.
This commit will only work with 0.34.08 (or later).
2012-05-15 13:42:48 -05:00
Kelly Martin 27cc2dc92c Add dwarf state table entries for the new jobs from .34.7 and .34.8. Also add a warning message for a dwarf who is doing an unknown job (instead of just reading random nonsense from off the end of the dwarf_states array).
This code is backward-compatible (the extra job entries will simply be unused in pre-.8).
2012-05-14 21:54:11 -05:00
Kelly Martin bd2b55c490 Merge remote-tracking branch 'upstream/master' 2012-05-12 19:43:02 -05:00
Kelly Martin ccbae58365 Set default beekeeper max to 1 in autolabor (see http://www.bay12games.com/dwarves/mantisbt/view.php?id=3981) 2012-05-12 11:21:12 -05:00
Alexander Gavrilov 1b5ce7b717 Merge remote-tracking branch 'ab9rf/master' 2012-05-05 19:26:56 +04:00
Alexander Gavrilov 5afe2ca002 Update dfhack for specific_ref. 2012-05-03 11:47:04 +04:00
Kelly Martin e7c55ab6e1 Also exclude trader from hauling when requested at depot. 2012-04-30 09:01:48 -05:00
Kelly Martin 7c606da636 Autolabor will exclude the trade broker from all labors if the "trader requested" flag is on at the trade depot. 2012-04-26 13:46:38 -05:00
Kelly Martin 53e0ba8b8d Actually write the noble penalty to the dwarf_info structure.... 2012-04-26 12:54:10 -05:00
Kelly Martin 5f5152f449 Autolabor: Instead of guessing who the nobles are based on noble skills, actually find out who they are and behave appropriately. Certain responsibilities are assigned various penalties to increase their holders' availability to perform noble functions. Also, holders of the "manage health" responsibility are always assigned the diagnose labor.
The responsibility penalties are first-approximation and will likely need tuning.
2012-04-26 09:38:25 -05:00
RossM 284ada9432 Better config persistence. 2012-04-05 20:34:06 -07:00
RossM 564150bb19 Persist autolabor config in the savefile. 2012-04-04 23:33:26 -07:00
RossM a76de8b777 Fix detection of military dwarves. Add overview comments explaining why
autolabor works how it does.
2012-04-03 23:26:15 -07:00
RossM 285afa2594 Autolabor tweaks. 2012-04-03 00:12:13 -07:00
RossM 288acf4b79 Tweak autolabor. 2012-04-02 23:40:56 -07:00
RossM 3bd499ff93 Limit number of dwarves assigned when idle dwarves are available. 2012-04-02 22:47:26 -07:00
RossM 1afd3d07ca Add commands to change how autolabor handles specific jobs, and to
list the current settings. Changes are not saved with the current
world (yet).
2012-04-02 22:12:06 -07:00
RossM ecb1ca0972 Large change to how autolabor assigns labors. Military dwarves and
children/nobles will never be assigned labors. Labor assignments are
more understandable.
2012-04-02 20:55:02 -07:00
Petr Mrázek 2b4044f3f2 Tweaks!
Check map presence in autolabor and fastdwarf onupdate() functions
Game state tracking in kittens plugin now respects on/off switch
2012-04-01 03:46:17 +02:00
Petr Mrázek 61fe605676 Merge https://github.com/RossM/dfhack 2012-03-30 20:30:28 +02:00