summaryrefslogtreecommitdiff
path: root/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'plugins')
-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())
{