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