From 678f085febf96be59e0d59ce5e17b8828b6eb453 Mon Sep 17 00:00:00 2001 From: Nicholas McDaniel Date: Sat, 15 Nov 2025 21:18:56 -0500 Subject: [PATCH] Various updates for v53 buildings/items --- changelog.txt | 2 ++ gui/design.lua | 1 + internal/quickfort/build.lua | 4 ++++ internal/quickfort/orders.lua | 2 ++ internal/view-item-info/item-descriptions.lua | 2 ++ 5 files changed, 11 insertions(+) diff --git a/changelog.txt b/changelog.txt index b29c1e218..76f1af299 100644 --- a/changelog.txt +++ b/changelog.txt @@ -33,6 +33,8 @@ Template for new versions: ## Fixes ## Misc Improvements +- `quickfort`: support for reinforced walls and bolt throwers +- `gui/design`: can now construct reinforced walls ## Removed diff --git a/gui/design.lua b/gui/design.lua index 8494fe111..b5fbd4125 100644 --- a/gui/design.lua +++ b/gui/design.lua @@ -366,6 +366,7 @@ function Design:init() local build_options = { {label='Walls', value='Cw'}, + {label='Reinforced Walls', value='CW'}, {label='Floor', value='Cf'}, {label='Fortification', value='CF'}, {label='Ramps', value='Cr'}, diff --git a/internal/quickfort/build.lua b/internal/quickfort/build.lua index fa053043f..2d51475de 100644 --- a/internal/quickfort/build.lua +++ b/internal/quickfort/build.lua @@ -934,9 +934,13 @@ local building_db_raw = { subtype=df.siegeengine_type.Ballista}, ic={label='Catapult', type=df.building_type.SiegeEngine, subtype=df.siegeengine_type.Catapult}, + it={label='Bolt Thrower', type=df.building_type.SiegeEngine, + subtype=df.siegeengine_type.BoltThrower}, -- constructions Cw={label='Wall', type=df.building_type.Construction, subtype=df.construction_type.Wall}, + CW={label='Reinforced Wall', + type=df.building_type.Construction, subtype=df.construction_type.ReinforcedWall}, Cf={label='Floor', type=df.building_type.Construction, subtype=df.construction_type.Floor}, Cr={label='Ramp', diff --git a/internal/quickfort/orders.lua b/internal/quickfort/orders.lua index 3dfae5b95..de3b97440 100644 --- a/internal/quickfort/orders.lua +++ b/internal/quickfort/orders.lua @@ -108,6 +108,8 @@ local function process_filter(order_specs, filter, reactions) elseif filter.item_type == df.item_type.BALLISTAPARTS then label = 'ballista parts' elseif filter.item_type == df.item_type.BAR then label = 'magnetite ore' + elseif filter.item_type == df.item_type.BOLT_THROWER_PARTS then + label = 'bolt thrower parts' elseif filter.item_type == df.item_type.BOX then label = 'coffer' elseif filter.item_type == df.item_type.CAGE then label = 'wooden cage' elseif filter.item_type == df.item_type.CATAPULTPARTS then diff --git a/internal/view-item-info/item-descriptions.lua b/internal/view-item-info/item-descriptions.lua index aed8296e2..6dace92dd 100644 --- a/internal/view-item-info/item-descriptions.lua +++ b/internal/view-item-info/item-descriptions.lua @@ -95,6 +95,8 @@ descriptions = { "as logs or bars. Cutting boulders into blocks gives four times as", "many items, which are lighter for faster hauling and yield smooth", "constructions."}, + BOLT_THROWER_PARTS = { + "Can be used to construct a Bolt Thrower."}, BOX = { "A container for storing items. They are required by nobles, and will", "increase the value of rooms they are placed in. Also required to store", "hospital supplies. They can be made of stone or metal (coffers),",