Commit Graph

1880 Commits (9733b30ed6260bb7c316fe8a6bd7c4948a9190b4)

Author SHA1 Message Date
Alexander Gavrilov 415cdad489 Make using new for allocating DF objects with vtables a compile-time error.
When done from plugins, it doesn't correctly initialize the vtable
because of some weird things MSVC does, so the only safe way is to
use df::allocate<df::foo>(). For consistency, it is also enforced
for code in the main library. It reveals the issue in the digging
invaders plugin, first found by warmist.

This change is linked to a modification in df-structures codegen.
2014-04-30 21:28:02 +04:00
Timothy Collett e4641c506f Replace a std::string method not implemented until C++11 with a C++0x-valid substitute 2014-04-21 09:34:42 +04:00
Alexander Gavrilov 63d256c1e9 Adjust siege engine targeting weights.
Stop shooting at leaving caravan guards for one.
2014-04-17 22:10:43 +04:00
Alexander Gavrilov c27c38e4c0 Remove tired or hungry siege operators from duty when at peace.
The threshold is set at the level when they start to blink - normally
they would continue on with the job until they get a thirsty/hungry
thought, but immediately run off to eat if they lose the job (thus
refusing to load the engine after firing it). The code checks for
active sieges and whether there is a free replacement unit.
2014-04-15 21:52:39 +04:00
Alexander Gavrilov fc9826389b Account for meandering movement when predicting unit path in siege engine.
The movement is random, but there is an average slowdown coefficient.
2014-04-15 19:50:23 +04:00
Alexander Gavrilov 55cea36c76 Use the new API to produce combat reports for aimed siege engine attacks.
This requires exposing the actual operator unit to lua code.
2014-04-15 19:50:23 +04:00
Alexander Gavrilov 7aecffe0cd Update structures and fix broken things. 2014-04-04 22:34:39 +04:00
jj eac126c884 ruby: use placement-new instead of hack 2014-04-01 15:12:52 +02:00
Quietust 837da8ae98 Fix siege-engine to compile on Windows - don't have C++11, and pow() is picky about arg types 2014-03-25 13:30:45 -05:00
Alexander Gavrilov 36b069e981 Merge remote-tracking branch 'warmist/dev-cmdprompt' into develop 2014-03-24 20:10:58 +04:00
Alexander Gavrilov a01939fce6 Sync structures. 2014-03-24 19:45:27 +04:00
Alexander Gavrilov 827dd121d8 Make createitem default to the controlled unit in adventure mode. 2014-03-24 19:35:34 +04:00
Alexander Gavrilov 8963a49414 Forbid the items shot by siege engines if the forbid ammo order is set.
This only applies when targeting the engine, so you could still make
cheaty infinite ammo training units by using stock aiming mode.
2014-03-24 16:05:12 +04:00
Warmist cec4c8cd30 Added an output stream, now response is visible in same window. Also added a way to start prompt pre-filled.
It's nice to bind it to e.g. ctrl-shift-o "command-prompt :lua"
2014-03-07 18:52:06 +02:00
Alexander Gavrilov 97ae857c38 Always shatter glass items within bins thrown by a catapult.
The glass materials have impact strength copied from compression
strength, so the items had 1/5 chance to survive without damage.
Since glass is infinite, it makes sense to make it single-use.
2014-03-07 17:42:49 +04:00
Alexander Gavrilov df22f25a69 Rewrite aiming error code to account for distance and engine quality.
Now the error is simulated by using an approximate normal distribution.
2014-03-07 17:35:04 +04:00
Alexander Gavrilov ef93f2ea4c Compute quality of siege engines and use it to extend firing range.
Since parts aren't there until it is built, it requires checking that.
2014-03-07 17:34:21 +04:00
Alexander Gavrilov 9827184ef7 Switch to the new random number generator class. 2014-03-07 17:34:21 +04:00
Alexander Gavrilov 983685de8d Squash uninitialized variable warnings. 2014-03-07 17:34:21 +04:00
Alexander Gavrilov 41bcd52c36 Make siege engine debug markings toggleable via lua.
Also check that the tile actually exists to avoid crashes.
2014-03-07 17:34:04 +04:00
Warmist 9576c47e18 Cmake fix 2014-03-04 19:00:12 +02:00
Warmist 904808b168 Command prompt plugin with docs and readme patch. 2014-03-04 18:51:23 +02:00
Quietust dd268d43d9 Merge branch 'master' of https://github.com/jjyg/dfhack 2014-02-27 15:49:18 -06:00
Quietust 5a158b21cf Update plugins to match fixed field names in cage/civzone 2014-02-27 14:51:45 -06:00
jj 6d0e6cf7d5 remove old unused code from when dfhack was out of process 2014-02-26 12:44:10 +01:00
Quietust 5ced804312 Merge branch 'master' of https://github.com/angavrilov/dfhack 2014-02-20 12:42:57 -06:00
Quietust 73a112e06c Update tubefill to skip hollow tubes by default, and update docs 2014-02-14 11:06:33 -06:00
Quietust 67b7681ba6 Fix reaction errors, make quantities more consistent 2014-02-13 11:37:04 -06:00
jj 387cc983f9 Merge branch 'osx_shenanigans' of git://github.com/tareqak/dfhack 2014-02-02 23:50:21 +01:00
jj c0d3e9189d showmood: fix item count for real 2014-01-27 12:40:21 +01:00
jj 7f411e1cbf Merge branch 'plant' 2014-01-27 10:45:30 +01:00
Quietust 56f935aea6 Add bugfix for #6420 2014-01-26 18:55:52 -06:00
Quietust 5c28d7eaf6 Not enough mood tickets given out 2014-01-25 09:15:43 -06:00
Tareq A Khandaker f0eeba93ce DFHack compiles under OS X now. 2014-01-25 03:21:56 -05:00
Quietust 7f14e109fa Use DF-compatible RNG for better randomness 2014-01-19 20:31:15 -06:00
Quietust 89b3c7bb67 Change syntax for specifying mood type, also allow overriding mood skill 2014-01-19 20:21:41 -06:00
Quietust baf377afba Meant to move this, not copy it 2014-01-18 22:56:56 -06:00
Quietust 24fbf570e6 Add "strangemood" plugin, lets you trigger a strange mood 2014-01-18 22:45:42 -06:00
jj 04f88ef8fb showmood: fix count of gotten items 2014-01-05 02:29:01 +01:00
jj 7adb6b2ee9 ruby: codegen unit.caste_tg helper 2014-01-04 15:04:56 +01:00
Quietust 91a7280ac3 Need to include tool_uses.h 2014-01-03 16:42:24 -06:00
Quietust 69fc2bec6d A bit of cleanup 2013-12-27 13:01:34 -06:00
Quietust 540bcc1f46 Enhance createitem, can now place items into containers or buildings 2013-12-27 12:53:33 -06:00
Quietust 5c51f7dd2a Merge branch 'master' of git://github.com/angavrilov/dfhack 2013-11-10 14:04:48 -06:00
Alexander Gavrilov 7ce5831257 Get rid of the std exception. 2013-11-07 11:58:11 +04:00
Quietust 4d2e5b80bf Use df::allocate here for proper compatibility with 40d and earlier 2013-11-04 14:55:31 -06:00
jj 883d89bb68 plants: move all commands as "plant" subcommands, update NEWS/Readme 2013-11-02 18:54:29 +01:00
Quietust 463bb8d498 Update plugins to use CR_WRONG_USAGE where appropriate 2013-10-30 15:58:14 -05:00
Quietust ff939e36bb Missed parameter in plugin command init 2013-10-30 14:25:35 -05:00
Quietust b97a13fa63 Update "plants" plugin
* Add "createplant" command, creates a shrub or sapling at the cursor.
* Put help text in command definitions so CR_WRONG_USAGE works properly
2013-10-30 14:19:52 -05:00