summaryrefslogtreecommitdiff
path: root/plugins/siege-engine.cpp
diff options
context:
space:
mode:
authorAlexander Gavrilov2012-09-27 10:43:42 +0400
committerAlexander Gavrilov2012-09-27 10:43:42 +0400
commit164c61b6383d704a9a5cc52ed482e79ede5cd515 (patch)
tree9f257bc1be02d6d5b03cb6bfd67cd4e0e62844bd /plugins/siege-engine.cpp
parent2e5f3c46201d8450a39b52117dbd4f1544771189 (diff)
downloaddfhack-164c61b6383d704a9a5cc52ed482e79ede5cd515.tar.gz
dfhack-164c61b6383d704a9a5cc52ed482e79ede5cd515.tar.bz2
dfhack-164c61b6383d704a9a5cc52ed482e79ede5cd515.tar.xz
Forbid stuff from bins in siege-engine, if forbid ammo standing order set.
Diffstat (limited to 'plugins/siege-engine.cpp')
-rw-r--r--plugins/siege-engine.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/plugins/siege-engine.cpp b/plugins/siege-engine.cpp
index 2e362afe..7c880351 100644
--- a/plugins/siege-engine.cpp
+++ b/plugins/siege-engine.cpp
@@ -1573,6 +1573,8 @@ struct projectile_hook : df::proj_itemst {
if (next_pos.z == cur_pos.z && !isPassableTile(next_pos))
start_z = 49000;
+ bool forbid_ammo = DF_GLOBAL_VALUE(standing_orders_forbid_used_ammo, false);
+
MapExtras::MapCache mc;
std::vector<df::item*> contents;
Items::getContainedItems(item, &contents);
@@ -1581,6 +1583,9 @@ struct projectile_hook : df::proj_itemst {
{
auto child = contents[i];
+ if (forbid_ammo)
+ child->flags.bits.forbid = true;
+
// Liquids are vaporized so that they cover nearby units
if (child->isLiquid())
{