From 1a69a9b4833ad2ec6259d582376bf7fadeed5ec5 Mon Sep 17 00:00:00 2001 From: Myk Taylor Date: Mon, 26 Oct 2020 16:54:50 -0700 Subject: [PATCH] add more important checks for matching items stolen (with love) from advfort.lua --- plugins/buildingplan-planner.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/plugins/buildingplan-planner.cpp b/plugins/buildingplan-planner.cpp index dcdcfb777..9d73ab4c4 100644 --- a/plugins/buildingplan-planner.cpp +++ b/plugins/buildingplan-planner.cpp @@ -704,6 +704,7 @@ static bool matchesFilters(df::item * item, df::job_item * job_item, const ItemFilter & item_filter) { + // check the properties that are not checked by Job::isSuitableItem() if (job_item->item_type > -1 && job_item->item_type != item->getType()) return false; @@ -711,6 +712,12 @@ static bool matchesFilters(df::item * item, job_item->item_subtype != item->getSubtype()) return false; + if (job_item->flags2.bits.building_material && !item->isBuildMat()) + return false; + + if (job_item->metal_ore > -1 && !item->isMetalOre(job_item->metal_ore)) + return false; + if (job_item->has_tool_use > df::tool_uses::NONE && !item->hasToolUse(job_item->has_tool_use)) return false;