Commit Graph

816 Commits (2303a25bdefab30bea67f32d27d35e5002448e8a)

Author SHA1 Message Date
Alexander Gavrilov 2303a25bde Implement unconstructed building instance creation and linking into world.
For more flexibility, the base api is split into 3 phases:
alloc, setSize, and construct. No support for non-actual
buildings like stockpiles and activity zones at the moment.
2012-04-29 21:07:39 +04:00
Alexander Gavrilov 82a0e52a3e Add api to check the walkable cache, and update flow_forbid in liquids. 2012-04-26 18:51:39 +04:00
Alexander Gavrilov 16ee049664 Split off the burrows api from Maps and Units. 2012-04-26 12:56:28 +04:00
Alexander Gavrilov 6ab270d129 Retrieve unit noble position info, and use it in getProfessionName. 2012-04-26 12:03:56 +04:00
Alexander Gavrilov 23a0b17ff3 Make liquids and tiletypes force rebuild of pathfinding data. 2012-04-25 18:38:43 +04:00
Alexander Gavrilov 1cd802d426 Implement unit sorting for the pen zone assignment interface. 2012-04-25 18:28:00 +04:00
Alexander Gavrilov 763a301b4f Add a few more lua api functions, documentation, and unit sort orders.
Units::getProfessionName appears to work correctly for
everything except nobles.
2012-04-23 21:30:53 +04:00
Alexander Gavrilov 125cd6622a Support sorting units in many more ui contexts. 2012-04-22 19:22:00 +04:00
Alexander Gavrilov 4af051bab3 Add a few more unit orderings, and a way to reverse direction. 2012-04-21 16:53:17 +04:00
Alexander Gavrilov 3282ac3db2 Add a hotkey command that sorts units in lists using lua comparators. 2012-04-21 15:43:52 +04:00
Alexander Gavrilov adbd351462 Rename units.other[0] to units.active. 2012-04-21 12:46:55 +04:00
Alexander Gavrilov 0a6982f404 Enable warnings correctly on linux and fix a lot of them. 2012-04-20 13:30:37 +04:00
Alexander Gavrilov 0b32d374db Implement SOIL/STONE substitution logic, and add compat in mapexport. 2012-04-19 23:02:30 +04:00
Alexander Gavrilov 4b87f1bcac Refactor MapCache: make it parse everything that is known re tiles & mats. 2012-04-19 19:17:07 +04:00
Alexander Gavrilov f655a0986d Sync to changes in the data structure definitions. 2012-04-19 11:03:29 +04:00
Petr Mrázek c17529a794 Track stonesense 2012-04-18 05:09:22 +02:00
Petr Mrázek 6d53ab37e0 Mass fixage
Updated readme.rst
Fixed up some help strings of plugin commands
Moved catsplosion and regrass to normal plugin folder
Fixed tiletypes and liquids not keeping command history properly
2012-04-18 04:12:11 +02:00
Petr Mrázek d0e9ab49e7 Merge https://github.com/jaxad0127/dfhack 2012-04-17 21:46:57 +02:00
Petr Mrázek bdd697f1a0 Merge https://github.com/rh73/dfhack 2012-04-17 21:46:40 +02:00
Robert Heinrich 299510f0d9 zone: don't assign to cages which are designated but not yet placed (minor fix, it's not like bad things happen without it) 2012-04-17 18:11:14 +02:00
Robert Heinrich 40f36c1912 minor stuff, use building->is_room instead of building->isRoom() which returns unexpected values 2012-04-17 16:57:41 +02:00
Jared Adams ebd21e9249 Fix some issues with last commit 2012-04-16 20:48:08 -06:00
Petr Mrázek 7946cafc86 Merge https://github.com/jaxad0127/dfhack 2012-04-16 22:37:07 +02:00
Petr Mrázek d2dde361ad Merge https://github.com/rh73/dfhack 2012-04-16 22:35:46 +02:00
Petr Mrázek ccf10a1428 Merge https://github.com/warmist/dfhack 2012-04-16 22:30:55 +02:00
Robert Heinrich 6d180d61c4 autopasture: only process domesticated own units to avoid problems with wild animals forgetting their training and going on a rampage 2012-04-16 21:37:48 +02:00
Petr Mrázek 45f9f756f0 Merge https://github.com/rh73/dfhack
Conflicts:
	plugins/stonesense
2012-04-16 20:33:30 +02:00
Petr Mrázek 862fa9d675 Track stonesense 2012-04-16 20:19:45 +02:00
Robert Heinrich 70ebd26e6c Merge branch 'master' of git://github.com/ab9rf/dfhack 2012-04-16 17:37:09 +02:00
Kelly Martin 43e4814147 Mod workflow to properly handle custom reactions that produce CRAFTS 2012-04-16 10:34:12 -05:00
Robert Heinrich 9560fc641c zone: mass-assign nicknames, assign units to multiple cages inside a pasture. autobutcher: some fixes regarding autowatch and butchering caged units. 2012-04-16 16:31:12 +02:00
Robert Heinrich e6ed81508d autobutcher: only ignore built cages which are defined as rooms/zoos.
zone: allow mass-assigning of nicknames (to protect a pasture/cage from autobutcher)
2012-04-16 10:15:37 +02:00
Robert Heinrich 9c67250729 regrass: pick random grass event if tile is soil instead of always using the first one found 2012-04-16 07:03:27 +02:00
Robert Heinrich e58a46b42b zone: fixed filter 'trained' so it now finds war/hunting creatures (who strangely don't have a training level) 2012-04-16 03:31:49 +02:00
Robert Heinrich 4b3c8d46c1 zone: don't assign owned pets to a cage. the owner will release them, resulting into infinite hauling (df bug) 2012-04-15 23:21:36 +02:00
Robert Heinrich 7aefae17d1 autonestbox: don't assign to nestboxes which are already claimed or contain eggs.
bprobe: look a bit closer at nestboxes
2012-04-15 21:45:15 +02:00
Alexander Gavrilov a1756a864c Implement a way to do prompts from core context.
The trick obviously is doing it without forcing DF to wait suspended.
Fortunately, lua has built-in coroutine support, so the interactive
prompt can simply yield and rely on the external loop to do the job.
To use this however the REPL had to be replaced with lua code.
2012-04-15 21:50:22 +04:00
Robert Heinrich 6197c4e739 zone: added keyword 'not' which negates the filter followed by it (e.g. 'not grazer') 2012-04-15 19:49:50 +02:00
Robert Heinrich 8bbd43f2c9 zone: added filters to search for creatures who can be trained for war/hunting 2012-04-15 17:40:39 +02:00
Alexander Gavrilov 14709e5d45 Add an official core lua context, and allow plugins to send events to it.
- This context requires core suspend lock and asserts it in a few places.
- Special 'event' objects are introduced. They can be invoked as
  functions, in which case they iterate all their fields and call
  them as functions. Errors are printed and consumed.
- When a plugin is opened by the core context, events registered in
  a special array are linked to it. The system is organized so as to
  avoid even trying to pass the event to lua if the module isn't loaded.
2012-04-15 19:09:25 +04:00
Jared Adams f3c7a685f5 Make tiletypes more useful
* Paint, filter, and brush state is now saved between calls.
 * Added 'all' paint option to set material, shape, special, and variant at
      the same time.
 * Added tiletypes-here (like liquids here, except is uses the saved brush
      settings)
 * Added tiletypes-here-point (like liquids here, always only the tile under
      the cursor)
 * Added tiletypes-command: runs tiletypes commands seperated by ';' tokens
      (affects saved state)
 * Make the internal workings match liquids a bit more
 * Give brush objects a descriptor string
 * Make Core::cheap_tokenise available
2012-04-15 08:40:19 -06:00
Robert Heinrich be580592ce Merge branch 'master' of git://github.com/ab9rf/dfhack 2012-04-15 16:07:43 +02:00
Kelly Martin 005658a9cd Add noegglayer zone filter 2012-04-15 09:04:19 -05:00
Robert Heinrich cf0d45be78 merged stuff from peterix 2012-04-15 12:32:25 +02:00
Petr Mrázek c69af6ab9e Fix missing lua linkage in burrows plugin. 2012-04-15 01:58:02 +02:00
Petr Mrázek fa063e2936 Track structures, fix trivial problem in zone plugin 2012-04-15 00:35:59 +02:00
Petr Mrázek 45ca8c6ac1 Merge https://github.com/angavrilov/dfhack 2012-04-15 00:13:39 +02:00
Petr Mrázek c52eb517b0 Merge https://github.com/rh73/dfhack 2012-04-15 00:12:38 +02:00
Petr Mrázek fa6ecacda9 Merge https://github.com/warmist/dfhack 2012-04-15 00:12:06 +02:00
Robert Heinrich 9f95e67c75 tweak makeown: converts MERCHANT to TRADER (otherwise you can't assign jobs to kidnapped merchants.
zone: fixed a bug which could lead to units being assigned to more than one cage and/or accidentally marked for slaughter
2012-04-14 19:06:03 +02:00