From f8d041b9aaf752735a8e2ec97b088aa822a49323 Mon Sep 17 00:00:00 2001 From: myk002 Date: Fri, 3 Sep 2021 00:27:48 -0700 Subject: [PATCH] dreamfort and supporting files update - merge otherstock into basic (safe now that we have orders sort) - don't overproduce weapons and armor - update dreamfort help and examples guide --- data/blueprints/library/dreamfort.csv | 5 +- data/examples/orders/basic.json | 82 +++++++++ data/examples/orders/military.json | 255 ++++++++++++++++++++------ data/examples/orders/otherstock.json | 84 --------- docs/guides/examples-guide.rst | 21 +-- 5 files changed, 296 insertions(+), 151 deletions(-) delete mode 100644 data/examples/orders/otherstock.json diff --git a/data/blueprints/library/dreamfort.csv b/data/blueprints/library/dreamfort.csv index bc0355399..b869ced12 100644 --- a/data/blueprints/library/dreamfort.csv +++ b/data/blueprints/library/dreamfort.csv @@ -72,10 +72,10 @@ quickfort run library/dreamfort.csv -n /industry2,# Run when the industry level prioritize ConstructBuilding,# To get those workshops up and running ASAP. You may have to run this several times as the materials for the building construction jobs become ready. quickfort run library/dreamfort.csv -n /surface4,"# Run after the walls and floors are built on the surface. Even if /surface3 is finished before you run /industry2, though, wait until after /industry2 so that surface walls, floors, and roofing don't prevent your workshops from being built (due to lack of blocks)." "quickfort run,orders library/dreamfort.csv -n /services2",# Run when the services level has been dug out. Feel free to remove the orders for the ropes if you already brought them with you. -orders import basic,"# Run after the first migration wave, so you have dorfs to do all the basic tasks. Note that this is the ""orders"" plugin, not the ""quickfort orders"" command." "quickfort run,orders library/dreamfort.csv -n /surface5","# Run when all marked trees on the surface are chopped down and walls and floors have been constructed, including the roof section over the future barracks." prioritize ConstructBuilding,# Run when you see the bridges ready to be built so the masons come and actually build them. "quickfort run,orders library/dreamfort.csv -n /surface6",# Run when at least the beehives and weapon rack are constructed and you have linked all levers to their respective bridges. +orders import basic,"# Run after the first migration wave, so you have dorfs to do all the basic tasks. Note that this is the ""orders"" plugin, not the ""quickfort orders"" command." "quickfort run,orders library/dreamfort.csv -n /surface7",# Run after the surface walls are completed and any marked trees are chopped down. "" -- Plumbing -- @@ -95,8 +95,7 @@ orders import military,# Automated production of military equipment. Turn on aut orders import smelting,# Automated production of all types of metal bars. "quickfort run,orders library/dreamfort.csv -n /services4","# Run when you need a jail and/or fancy statues in the dining room, anytime after the restraints are placed from /services3." orders import rockstock,# Maintains a small stock of all types of rock furniture. -orders import glassstock,# Maintains a small stock of all types of glass furniture and parts. -orders import otherstock,# Maintains a small stock of other types of items (like beds). +orders import glassstock,# Maintains a small stock of all types of glass furniture and parts (only import if you have sand). "" -- Repeat for each remaining apartments level as needed -- "quickfort run,orders library/dreamfort.csv -n /apartments2",# Run when the apartment level has been dug out. diff --git a/data/examples/orders/basic.json b/data/examples/orders/basic.json index b3d7dac45..5a6917074 100644 --- a/data/examples/orders/basic.json +++ b/data/examples/orders/basic.json @@ -1130,5 +1130,87 @@ } ], "job" : "MakePotashFromAsh" + }, + { + "amount_left" : 1, + "amount_total" : 1, + "frequency" : "Daily", + "id" : 36, + "is_active" : false, + "is_validated" : false, + "item_conditions" : + [ + { + "condition" : "AtLeast", + "item_type" : "WOOD", + "value" : 150 + }, + { + "condition" : "AtMost", + "item_type" : "BED", + "value" : 2 + } + ], + "job" : "ConstructBed", + "material_category" : + [ + "wood" + ] + }, + { + "amount_left" : 1, + "amount_total" : 1, + "frequency" : "Daily", + "id" : 37, + "is_active" : false, + "is_validated" : false, + "item_conditions" : + [ + { + "condition" : "AtLeast", + "item_type" : "WOOD", + "value" : 150 + }, + { + "condition" : "AtMost", + "item_subtype" : "ITEM_TOOL_WHEELBARROW", + "item_type" : "TOOL", + "value" : 2 + } + ], + "item_subtype" : "ITEM_TOOL_WHEELBARROW", + "job" : "MakeTool", + "material_category" : + [ + "wood" + ] + }, + { + "amount_left" : 1, + "amount_total" : 1, + "frequency" : "Daily", + "id" : 38, + "is_active" : false, + "is_validated" : false, + "item_conditions" : + [ + { + "condition" : "AtLeast", + "item_type" : "WOOD", + "value" : 150 + }, + { + "condition" : "AtMost", + "item_subtype" : "ITEM_TOOL_MINECART", + "item_type" : "TOOL", + "value" : 2 + } + ], + "item_subtype" : "ITEM_TOOL_MINECART", + "job" : "MakeTool", + "material_category" : + [ + "wood" + ] } ] diff --git a/data/examples/orders/military.json b/data/examples/orders/military.json index f5e02ca00..ccd991285 100644 --- a/data/examples/orders/military.json +++ b/data/examples/orders/military.json @@ -1091,9 +1091,12 @@ }, { "condition" : "AtMost", + "flags" : + [ + "metal" + ], "item_subtype" : "ITEM_WEAPON_MACE", "item_type" : "WEAPON", - "material" : "INORGANIC:SILVER", "value" : 10 } ], @@ -1130,9 +1133,12 @@ }, { "condition" : "AtMost", + "flags" : + [ + "metal" + ], "item_subtype" : "ITEM_WEAPON_HAMMER_WAR", "item_type" : "WEAPON", - "material" : "INORGANIC:SILVER", "value" : 10 } ], @@ -1169,9 +1175,12 @@ }, { "condition" : "AtMost", + "flags" : + [ + "metal" + ], "item_subtype" : "ITEM_WEAPON_CROSSBOW", "item_type" : "WEAPON", - "material" : "INORGANIC:SILVER", "value" : 10 } ], @@ -1732,9 +1741,12 @@ }, { "condition" : "AtMost", + "flags" : + [ + "metal" + ], "item_subtype" : "ITEM_WEAPON_MACE", "item_type" : "WEAPON", - "material" : "INORGANIC:IRON", "value" : 10 } ], @@ -1765,9 +1777,12 @@ }, { "condition" : "AtMost", + "flags" : + [ + "metal" + ], "item_subtype" : "ITEM_SHIELD_SHIELD", "item_type" : "SHIELD", - "material" : "INORGANIC:IRON", "value" : 10 }, { @@ -1804,9 +1819,12 @@ }, { "condition" : "AtMost", + "flags" : + [ + "metal" + ], "item_subtype" : "ITEM_ARMOR_MAIL_SHIRT", "item_type" : "ARMOR", - "material" : "INORGANIC:IRON", "value" : 10 }, { @@ -1843,9 +1861,12 @@ }, { "condition" : "AtMost", + "flags" : + [ + "metal" + ], "item_subtype" : "ITEM_HELM_HELM", "item_type" : "HELM", - "material" : "INORGANIC:IRON", "value" : 10 }, { @@ -1882,9 +1903,12 @@ }, { "condition" : "AtMost", + "flags" : + [ + "metal" + ], "item_subtype" : "ITEM_SHOES_BOOTS", "item_type" : "SHOES", - "material" : "INORGANIC:IRON", "value" : 10 }, { @@ -1921,9 +1945,12 @@ }, { "condition" : "AtMost", + "flags" : + [ + "metal" + ], "item_subtype" : "ITEM_PANTS_GREAVES", "item_type" : "PANTS", - "material" : "INORGANIC:IRON", "value" : 10 }, { @@ -1934,9 +1961,12 @@ }, { "condition" : "AtLeast", + "flags" : + [ + "metal" + ], "item_subtype" : "ITEM_ARMOR_MAIL_SHIRT", "item_type" : "ARMOR", - "material" : "INORGANIC:IRON", "value" : 10 } ], @@ -1967,9 +1997,12 @@ }, { "condition" : "AtMost", + "flags" : + [ + "metal" + ], "item_subtype" : "ITEM_GLOVES_GAUNTLETS", "item_type" : "GLOVES", - "material" : "INORGANIC:IRON", "value" : 10 }, { @@ -2006,9 +2039,12 @@ }, { "condition" : "AtMost", + "flags" : + [ + "metal" + ], "item_subtype" : "ITEM_ARMOR_BREASTPLATE", "item_type" : "ARMOR", - "material" : "INORGANIC:IRON", "value" : 10 }, { @@ -2019,9 +2055,12 @@ }, { "condition" : "AtLeast", + "flags" : + [ + "metal" + ], "item_subtype" : "ITEM_ARMOR_MAIL_SHIRT", "item_type" : "ARMOR", - "material" : "INORGANIC:IRON", "value" : 10 } ], @@ -2052,9 +2091,12 @@ }, { "condition" : "AtMost", + "flags" : + [ + "metal" + ], "item_subtype" : "ITEM_WEAPON_SPEAR", "item_type" : "WEAPON", - "material" : "INORGANIC:IRON", "value" : 10 }, { @@ -2091,9 +2133,12 @@ }, { "condition" : "AtMost", + "flags" : + [ + "metal" + ], "item_subtype" : "ITEM_WEAPON_SWORD_SHORT", "item_type" : "WEAPON", - "material" : "INORGANIC:IRON", "value" : 10 }, { @@ -2130,9 +2175,12 @@ }, { "condition" : "AtMost", + "flags" : + [ + "metal" + ], "item_subtype" : "ITEM_WEAPON_AXE_BATTLE", "item_type" : "WEAPON", - "material" : "INORGANIC:IRON", "value" : 10 }, { @@ -2187,9 +2235,12 @@ }, { "condition" : "AtMost", + "flags" : + [ + "metal" + ], "item_subtype" : "ITEM_WEAPON_HAMMER_WAR", "item_type" : "WEAPON", - "material" : "INORGANIC:IRON", "value" : 10 } ], @@ -2220,9 +2271,12 @@ }, { "condition" : "AtMost", + "flags" : + [ + "metal" + ], "item_subtype" : "ITEM_WEAPON_PICK", "item_type" : "WEAPON", - "material" : "INORGANIC:IRON", "value" : 10 }, { @@ -2277,9 +2331,12 @@ }, { "condition" : "AtMost", + "flags" : + [ + "metal" + ], "item_subtype" : "ITEM_WEAPON_CROSSBOW", "item_type" : "WEAPON", - "material" : "INORGANIC:IRON", "value" : 10 } ], @@ -2334,9 +2391,12 @@ }, { "condition" : "AtMost", + "flags" : + [ + "metal" + ], "item_subtype" : "ITEM_WEAPON_MACE", "item_type" : "WEAPON", - "material" : "INORGANIC:BRONZE", "value" : 10 } ], @@ -2367,9 +2427,12 @@ }, { "condition" : "AtMost", + "flags" : + [ + "metal" + ], "item_subtype" : "ITEM_SHIELD_SHIELD", "item_type" : "SHIELD", - "material" : "INORGANIC:BRONZE", "value" : 10 }, { @@ -2412,9 +2475,12 @@ }, { "condition" : "AtMost", + "flags" : + [ + "metal" + ], "item_subtype" : "ITEM_ARMOR_MAIL_SHIRT", "item_type" : "ARMOR", - "material" : "INORGANIC:BRONZE", "value" : 10 }, { @@ -2457,9 +2523,12 @@ }, { "condition" : "AtMost", + "flags" : + [ + "metal" + ], "item_subtype" : "ITEM_HELM_HELM", "item_type" : "HELM", - "material" : "INORGANIC:BRONZE", "value" : 10 }, { @@ -2502,9 +2571,12 @@ }, { "condition" : "AtMost", + "flags" : + [ + "metal" + ], "item_subtype" : "ITEM_SHOES_BOOTS", "item_type" : "SHOES", - "material" : "INORGANIC:BRONZE", "value" : 10 }, { @@ -2547,9 +2619,12 @@ }, { "condition" : "AtMost", + "flags" : + [ + "metal" + ], "item_subtype" : "ITEM_PANTS_GREAVES", "item_type" : "PANTS", - "material" : "INORGANIC:BRONZE", "value" : 10 }, { @@ -2566,9 +2641,12 @@ }, { "condition" : "AtLeast", + "flags" : + [ + "metal" + ], "item_subtype" : "ITEM_ARMOR_MAIL_SHIRT", "item_type" : "ARMOR", - "material" : "INORGANIC:BRONZE", "value" : 10 } ], @@ -2599,9 +2677,12 @@ }, { "condition" : "AtMost", + "flags" : + [ + "metal" + ], "item_subtype" : "ITEM_GLOVES_GAUNTLETS", "item_type" : "GLOVES", - "material" : "INORGANIC:BRONZE", "value" : 10 }, { @@ -2644,9 +2725,12 @@ }, { "condition" : "AtMost", + "flags" : + [ + "metal" + ], "item_subtype" : "ITEM_ARMOR_BREASTPLATE", "item_type" : "ARMOR", - "material" : "INORGANIC:BRONZE", "value" : 10 }, { @@ -2663,9 +2747,12 @@ }, { "condition" : "AtLeast", + "flags" : + [ + "metal" + ], "item_subtype" : "ITEM_ARMOR_MAIL_SHIRT", "item_type" : "ARMOR", - "material" : "INORGANIC:BRONZE", "value" : 10 } ], @@ -2696,9 +2783,12 @@ }, { "condition" : "AtMost", + "flags" : + [ + "metal" + ], "item_subtype" : "ITEM_WEAPON_SPEAR", "item_type" : "WEAPON", - "material" : "INORGANIC:BRONZE", "value" : 10 }, { @@ -2741,9 +2831,12 @@ }, { "condition" : "AtMost", + "flags" : + [ + "metal" + ], "item_subtype" : "ITEM_WEAPON_SWORD_SHORT", "item_type" : "WEAPON", - "material" : "INORGANIC:BRONZE", "value" : 10 }, { @@ -2786,9 +2879,12 @@ }, { "condition" : "AtMost", + "flags" : + [ + "metal" + ], "item_subtype" : "ITEM_WEAPON_AXE_BATTLE", "item_type" : "WEAPON", - "material" : "INORGANIC:BRONZE", "value" : 10 }, { @@ -2855,9 +2951,12 @@ }, { "condition" : "AtMost", + "flags" : + [ + "metal" + ], "item_subtype" : "ITEM_WEAPON_HAMMER_WAR", "item_type" : "WEAPON", - "material" : "INORGANIC:BRONZE", "value" : 10 } ], @@ -2888,9 +2987,12 @@ }, { "condition" : "AtMost", + "flags" : + [ + "metal" + ], "item_subtype" : "ITEM_WEAPON_PICK", "item_type" : "WEAPON", - "material" : "INORGANIC:BRONZE", "value" : 10 }, { @@ -2957,9 +3059,12 @@ }, { "condition" : "AtMost", + "flags" : + [ + "metal" + ], "item_subtype" : "ITEM_WEAPON_CROSSBOW", "item_type" : "WEAPON", - "material" : "INORGANIC:BRONZE", "value" : 10 } ], @@ -3020,9 +3125,12 @@ }, { "condition" : "AtMost", + "flags" : + [ + "metal" + ], "item_subtype" : "ITEM_WEAPON_MACE", "item_type" : "WEAPON", - "material" : "INORGANIC:COPPER", "value" : 10 } ], @@ -3053,9 +3161,12 @@ }, { "condition" : "AtMost", + "flags" : + [ + "metal" + ], "item_subtype" : "ITEM_SHIELD_SHIELD", "item_type" : "SHIELD", - "material" : "INORGANIC:COPPER", "value" : 10 }, { @@ -3104,9 +3215,12 @@ }, { "condition" : "AtMost", + "flags" : + [ + "metal" + ], "item_subtype" : "ITEM_ARMOR_MAIL_SHIRT", "item_type" : "ARMOR", - "material" : "INORGANIC:COPPER", "value" : 10 }, { @@ -3155,9 +3269,12 @@ }, { "condition" : "AtMost", + "flags" : + [ + "metal" + ], "item_subtype" : "ITEM_HELM_HELM", "item_type" : "HELM", - "material" : "INORGANIC:COPPER", "value" : 10 }, { @@ -3206,9 +3323,12 @@ }, { "condition" : "AtMost", + "flags" : + [ + "metal" + ], "item_subtype" : "ITEM_SHOES_BOOTS", "item_type" : "SHOES", - "material" : "INORGANIC:COPPER", "value" : 10 }, { @@ -3257,9 +3377,12 @@ }, { "condition" : "AtMost", + "flags" : + [ + "metal" + ], "item_subtype" : "ITEM_PANTS_GREAVES", "item_type" : "PANTS", - "material" : "INORGANIC:COPPER", "value" : 10 }, { @@ -3282,9 +3405,12 @@ }, { "condition" : "AtLeast", + "flags" : + [ + "metal" + ], "item_subtype" : "ITEM_ARMOR_MAIL_SHIRT", "item_type" : "ARMOR", - "material" : "INORGANIC:COPPER", "value" : 10 } ], @@ -3315,9 +3441,12 @@ }, { "condition" : "AtMost", + "flags" : + [ + "metal" + ], "item_subtype" : "ITEM_GLOVES_GAUNTLETS", "item_type" : "GLOVES", - "material" : "INORGANIC:COPPER", "value" : 10 }, { @@ -3366,9 +3495,12 @@ }, { "condition" : "AtMost", + "flags" : + [ + "metal" + ], "item_subtype" : "ITEM_ARMOR_BREASTPLATE", "item_type" : "ARMOR", - "material" : "INORGANIC:COPPER", "value" : 10 }, { @@ -3391,9 +3523,12 @@ }, { "condition" : "AtLeast", + "flags" : + [ + "metal" + ], "item_subtype" : "ITEM_ARMOR_MAIL_SHIRT", "item_type" : "ARMOR", - "material" : "INORGANIC:COPPER", "value" : 10 } ], @@ -3424,9 +3559,12 @@ }, { "condition" : "AtMost", + "flags" : + [ + "metal" + ], "item_subtype" : "ITEM_WEAPON_SPEAR", "item_type" : "WEAPON", - "material" : "INORGANIC:COPPER", "value" : 10 }, { @@ -3475,9 +3613,12 @@ }, { "condition" : "AtMost", + "flags" : + [ + "metal" + ], "item_subtype" : "ITEM_WEAPON_SWORD_SHORT", "item_type" : "WEAPON", - "material" : "INORGANIC:COPPER", "value" : 10 }, { @@ -3526,9 +3667,12 @@ }, { "condition" : "AtMost", + "flags" : + [ + "metal" + ], "item_subtype" : "ITEM_WEAPON_AXE_BATTLE", "item_type" : "WEAPON", - "material" : "INORGANIC:COPPER", "value" : 10 }, { @@ -3607,9 +3751,12 @@ }, { "condition" : "AtMost", + "flags" : + [ + "metal" + ], "item_subtype" : "ITEM_WEAPON_HAMMER_WAR", "item_type" : "WEAPON", - "material" : "INORGANIC:COPPER", "value" : 10 } ], @@ -3640,9 +3787,12 @@ }, { "condition" : "AtMost", + "flags" : + [ + "metal" + ], "item_subtype" : "ITEM_WEAPON_PICK", "item_type" : "WEAPON", - "material" : "INORGANIC:COPPER", "value" : 10 }, { @@ -3721,9 +3871,12 @@ }, { "condition" : "AtMost", + "flags" : + [ + "metal" + ], "item_subtype" : "ITEM_WEAPON_CROSSBOW", "item_type" : "WEAPON", - "material" : "INORGANIC:COPPER", "value" : 10 } ], diff --git a/data/examples/orders/otherstock.json b/data/examples/orders/otherstock.json deleted file mode 100644 index 672a61ec5..000000000 --- a/data/examples/orders/otherstock.json +++ /dev/null @@ -1,84 +0,0 @@ -[ - { - "amount_left" : 1, - "amount_total" : 1, - "frequency" : "Daily", - "id" : 0, - "is_active" : false, - "is_validated" : false, - "item_conditions" : - [ - { - "condition" : "AtLeast", - "item_type" : "WOOD", - "value" : 150 - }, - { - "condition" : "AtMost", - "item_type" : "BED", - "value" : 2 - } - ], - "job" : "ConstructBed", - "material_category" : - [ - "wood" - ] - }, - { - "amount_left" : 1, - "amount_total" : 1, - "frequency" : "Daily", - "id" : 1, - "is_active" : false, - "is_validated" : false, - "item_conditions" : - [ - { - "condition" : "AtLeast", - "item_type" : "WOOD", - "value" : 150 - }, - { - "condition" : "AtMost", - "item_subtype" : "ITEM_TOOL_WHEELBARROW", - "item_type" : "TOOL", - "value" : 2 - } - ], - "item_subtype" : "ITEM_TOOL_WHEELBARROW", - "job" : "MakeTool", - "material_category" : - [ - "wood" - ] - }, - { - "amount_left" : 1, - "amount_total" : 1, - "frequency" : "Daily", - "id" : 2, - "is_active" : false, - "is_validated" : false, - "item_conditions" : - [ - { - "condition" : "AtLeast", - "item_type" : "WOOD", - "value" : 150 - }, - { - "condition" : "AtMost", - "item_subtype" : "ITEM_TOOL_MINECART", - "item_type" : "TOOL", - "value" : 2 - } - ], - "item_subtype" : "ITEM_TOOL_MINECART", - "job" : "MakeTool", - "material_category" : - [ - "wood" - ] - } -] diff --git a/docs/guides/examples-guide.rst b/docs/guides/examples-guide.rst index 2eba5ea3a..f31fbf32f 100644 --- a/docs/guides/examples-guide.rst +++ b/docs/guides/examples-guide.rst @@ -69,9 +69,10 @@ This collection of orders handles basic fort necessities: - splints/crutches - lye/soap - ash/potash +- beds/wheelbarrows/minecarts -You should import it as soon as you have enough dwarves to perform the -maintenance tasks. Right after the first migration wave is usually a good time. +You should import it as soon as you have enough dwarves to perform the tasks. +Right after the first migration wave is usually a good time. :source:`furnace.json ` ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -142,12 +143,6 @@ since there are some items that can not be made out of rock, for example: - windows - terrariums (as an alternative to wooden cages) -:source:`otherstock.json ` -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -This last collection keeps a small stock of other commonly needed items, like -beds, wheelbarrows, and minecarts. - The ``professions/`` subfolder ------------------------------ @@ -177,7 +172,7 @@ the game and how many you are likely to need in a mature fort. ============= ======== ===== ================================================= Profession At Start Max Description ============= ======== ===== ================================================= -Chef 0 2 Buchery, Tanning, and Cooking. It is important to +Chef 0 3 Buchery, Tanning, and Cooking. It is important to focus just a few dwarves on cooking since well-crafted meals make dwarves very happy. They are also an excellent trade good. @@ -185,7 +180,7 @@ Craftsdwarf 1 4-6 All labors used at Craftsdwarf's workshops, Glassmaker's workshops, and kilns. Doctor 0 2-4 The full suite of medical labors, plus Animal Caretaking for those using the dwarfvet plugin. -Farmer 0 5 Food- and animal product-related labors. This +Farmer 0 4 Food- and animal product-related labors. This profession also has the ``Alchemist`` labor enabled since they need to focus on food-related jobs. @@ -208,7 +203,7 @@ Hauler 0 >20 All hauling labors plus Siege Operating, Mechanic low-quality mechanisms. Laborer 0 10-12 All labors that don't improve quality with skill, such as Soapmaking or furnace labors. -Marksdwarf 0 10 Same as Hauler, but with a different name so you +Marksdwarf 0 10-30 Same as Hauler, but with a different name so you can find your military dwarves more easily. Mason 2 2-4 Masonry, Gem Cutting/Encrusting, and Architecture. In the early game, you may need to @@ -217,7 +212,7 @@ Mason 2 2-4 Masonry, Gem Cutting/Encrusting, and busy crafting stone furniture. Late game, you can turn off their Architecture labor since that will be better handled by your Haulers. -Meleedwarf 0 50 Mostly the same as Hauler, but with a different +Meleedwarf 0 20-50 Mostly the same as Hauler, but with a different name so you can find your military dwarves more easily. This profession also has the Recover Wounded labor enabled. Meleedwarves and @@ -239,7 +234,7 @@ Miner 2 2-10 Mining and Engraving. This profession also has Outdoorsdwarf 1 2-4 Carpentry, Bowyery, Woodcutting, Animal Training, Trapping, Plant Gathering, Beekeeping, and Siege Engineering. -Smith 0 4 Smithing labors. You may want to specialize your +Smith 0 2-4 Smithing labors. You may want to specialize your Smiths to focus on a single smithing skill to maximize equipment quality. StartManager 1 0 All skills not covered by the other starting