@ -529,124 +529,124 @@ struct dwarf_info_t
static df : : unit_labor hauling_labor_map [ ] =
static df : : unit_labor hauling_labor_map [ ] =
{
{
df : : unit_labor : : HAUL_ITEM , /* BAR */
df : : unit_labor : : HAUL_ITEM , /* BAR */
df : : unit_labor : : HAUL_STONE , /* SMALLGEM */
df : : unit_labor : : HAUL_STONE , /* SMALLGEM */
df : : unit_labor : : HAUL_ITEM , /* BLOCKS */
df : : unit_labor : : HAUL_ITEM , /* BLOCKS */
df : : unit_labor : : HAUL_STONE , /* ROUGH */
df : : unit_labor : : HAUL_STONE , /* ROUGH */
df : : unit_labor : : HAUL_STONE , /* BOULDER */
df : : unit_labor : : HAUL_STONE , /* BOULDER */
df : : unit_labor : : HAUL_WOOD , /* WOOD */
df : : unit_labor : : HAUL_WOOD , /* WOOD */
df : : unit_labor : : HAUL_FURNITURE , /* DOOR */
df : : unit_labor : : HAUL_FURNITURE , /* DOOR */
df : : unit_labor : : HAUL_FURNITURE , /* FLOODGATE */
df : : unit_labor : : HAUL_FURNITURE , /* FLOODGATE */
df : : unit_labor : : HAUL_FURNITURE , /* BED */
df : : unit_labor : : HAUL_FURNITURE , /* BED */
df : : unit_labor : : HAUL_FURNITURE , /* CHAIR */
df : : unit_labor : : HAUL_FURNITURE , /* CHAIR */
df : : unit_labor : : HAUL_ITEM , /* CHAIN */
df : : unit_labor : : HAUL_ITEM , /* CHAIN */
df : : unit_labor : : HAUL_ITEM , /* FLASK */
df : : unit_labor : : HAUL_ITEM , /* FLASK */
df : : unit_labor : : HAUL_ITEM , /* GOBLET */
df : : unit_labor : : HAUL_ITEM , /* GOBLET */
df : : unit_labor : : HAUL_ITEM , /* INSTRUMENT */
df : : unit_labor : : HAUL_ITEM , /* INSTRUMENT */
df : : unit_labor : : HAUL_ITEM , /* TOY */
df : : unit_labor : : HAUL_ITEM , /* TOY */
df : : unit_labor : : HAUL_FURNITURE , /* WINDOW */
df : : unit_labor : : HAUL_FURNITURE , /* WINDOW */
df : : unit_labor : : HAUL_ANIMAL , /* CAGE */
df : : unit_labor : : HAUL_ANIMAL , /* CAGE */
df : : unit_labor : : HAUL_ITEM , /* BARREL */
df : : unit_labor : : HAUL_ITEM , /* BARREL */
df : : unit_labor : : HAUL_ITEM , /* BUCKET */
df : : unit_labor : : HAUL_ITEM , /* BUCKET */
df : : unit_labor : : HAUL_ANIMAL , /* ANIMALTRAP */
df : : unit_labor : : HAUL_ANIMAL , /* ANIMALTRAP */
df : : unit_labor : : HAUL_FURNITURE , /* TABLE */
df : : unit_labor : : HAUL_FURNITURE , /* TABLE */
df : : unit_labor : : HAUL_FURNITURE , /* COFFIN */
df : : unit_labor : : HAUL_FURNITURE , /* COFFIN */
df : : unit_labor : : HAUL_FURNITURE , /* STATUE */
df : : unit_labor : : HAUL_FURNITURE , /* STATUE */
df : : unit_labor : : HAUL_REFUSE , /* CORPSE */
df : : unit_labor : : HAUL_REFUSE , /* CORPSE */
df : : unit_labor : : HAUL_ITEM , /* WEAPON */
df : : unit_labor : : HAUL_ITEM , /* WEAPON */
df : : unit_labor : : HAUL_ITEM , /* ARMOR */
df : : unit_labor : : HAUL_ITEM , /* ARMOR */
df : : unit_labor : : HAUL_ITEM , /* SHOES */
df : : unit_labor : : HAUL_ITEM , /* SHOES */
df : : unit_labor : : HAUL_ITEM , /* SHIELD */
df : : unit_labor : : HAUL_ITEM , /* SHIELD */
df : : unit_labor : : HAUL_ITEM , /* HELM */
df : : unit_labor : : HAUL_ITEM , /* HELM */
df : : unit_labor : : HAUL_ITEM , /* GLOVES */
df : : unit_labor : : HAUL_ITEM , /* GLOVES */
df : : unit_labor : : HAUL_FURNITURE , /* BOX */
df : : unit_labor : : HAUL_FURNITURE , /* BOX */
df : : unit_labor : : HAUL_ITEM , /* BIN */
df : : unit_labor : : HAUL_ITEM , /* BIN */
df : : unit_labor : : HAUL_FURNITURE , /* ARMORSTAND */
df : : unit_labor : : HAUL_FURNITURE , /* ARMORSTAND */
df : : unit_labor : : HAUL_FURNITURE , /* WEAPONRACK */
df : : unit_labor : : HAUL_FURNITURE , /* WEAPONRACK */
df : : unit_labor : : HAUL_FURNITURE , /* CABINET */
df : : unit_labor : : HAUL_FURNITURE , /* CABINET */
df : : unit_labor : : HAUL_ITEM , /* FIGURINE */
df : : unit_labor : : HAUL_ITEM , /* FIGURINE */
df : : unit_labor : : HAUL_ITEM , /* AMULET */
df : : unit_labor : : HAUL_ITEM , /* AMULET */
df : : unit_labor : : HAUL_ITEM , /* SCEPTER */
df : : unit_labor : : HAUL_ITEM , /* SCEPTER */
df : : unit_labor : : HAUL_ITEM , /* AMMO */
df : : unit_labor : : HAUL_ITEM , /* AMMO */
df : : unit_labor : : HAUL_ITEM , /* CROWN */
df : : unit_labor : : HAUL_ITEM , /* CROWN */
df : : unit_labor : : HAUL_ITEM , /* RING */
df : : unit_labor : : HAUL_ITEM , /* RING */
df : : unit_labor : : HAUL_ITEM , /* EARRING */
df : : unit_labor : : HAUL_ITEM , /* EARRING */
df : : unit_labor : : HAUL_ITEM , /* BRACELET */
df : : unit_labor : : HAUL_ITEM , /* BRACELET */
df : : unit_labor : : HAUL_ITEM , /* GEM */
df : : unit_labor : : HAUL_ITEM , /* GEM */
df : : unit_labor : : HAUL_FURNITURE , /* ANVIL */
df : : unit_labor : : HAUL_FURNITURE , /* ANVIL */
df : : unit_labor : : HAUL_REFUSE , /* CORPSEPIECE */
df : : unit_labor : : HAUL_REFUSE , /* CORPSEPIECE */
df : : unit_labor : : HAUL_REFUSE , /* REMAINS */
df : : unit_labor : : HAUL_REFUSE , /* REMAINS */
df : : unit_labor : : HAUL_FOOD , /* MEAT */
df : : unit_labor : : HAUL_FOOD , /* MEAT */
df : : unit_labor : : HAUL_FOOD , /* FISH */
df : : unit_labor : : HAUL_FOOD , /* FISH */
df : : unit_labor : : HAUL_FOOD , /* FISH_RAW */
df : : unit_labor : : HAUL_FOOD , /* FISH_RAW */
df : : unit_labor : : HAUL_REFUSE , /* VERMIN */
df : : unit_labor : : HAUL_REFUSE , /* VERMIN */
df : : unit_labor : : HAUL_ITEM , /* PET */
df : : unit_labor : : HAUL_ITEM , /* PET */
df : : unit_labor : : HAUL_FOOD , /* SEEDS */
df : : unit_labor : : HAUL_FOOD , /* SEEDS */
df : : unit_labor : : HAUL_FOOD , /* PLANT */
df : : unit_labor : : HAUL_FOOD , /* PLANT */
df : : unit_labor : : HAUL_ITEM , /* SKIN_TANNED */
df : : unit_labor : : HAUL_ITEM , /* SKIN_TANNED */
df : : unit_labor : : HAUL_FOOD , /* LEAVES */
df : : unit_labor : : HAUL_FOOD , /* LEAVES */
df : : unit_labor : : HAUL_ITEM , /* THREAD */
df : : unit_labor : : HAUL_ITEM , /* THREAD */
df : : unit_labor : : HAUL_ITEM , /* CLOTH */
df : : unit_labor : : HAUL_ITEM , /* CLOTH */
df : : unit_labor : : HAUL_ITEM , /* TOTEM */
df : : unit_labor : : HAUL_ITEM , /* TOTEM */
df : : unit_labor : : HAUL_ITEM , /* PANTS */
df : : unit_labor : : HAUL_ITEM , /* PANTS */
df : : unit_labor : : HAUL_ITEM , /* BACKPACK */
df : : unit_labor : : HAUL_ITEM , /* BACKPACK */
df : : unit_labor : : HAUL_ITEM , /* QUIVER */
df : : unit_labor : : HAUL_ITEM , /* QUIVER */
df : : unit_labor : : HAUL_FURNITURE , /* CATAPULTPARTS */
df : : unit_labor : : HAUL_FURNITURE , /* CATAPULTPARTS */
df : : unit_labor : : HAUL_FURNITURE , /* BALLISTAPARTS */
df : : unit_labor : : HAUL_FURNITURE , /* BALLISTAPARTS */
df : : unit_labor : : HAUL_FURNITURE , /* SIEGEAMMO */
df : : unit_labor : : HAUL_FURNITURE , /* SIEGEAMMO */
df : : unit_labor : : HAUL_FURNITURE , /* BALLISTAARROWHEAD */
df : : unit_labor : : HAUL_FURNITURE , /* BALLISTAARROWHEAD */
df : : unit_labor : : HAUL_FURNITURE , /* TRAPPARTS */
df : : unit_labor : : HAUL_FURNITURE , /* TRAPPARTS */
df : : unit_labor : : HAUL_FURNITURE , /* TRAPCOMP */
df : : unit_labor : : HAUL_FURNITURE , /* TRAPCOMP */
df : : unit_labor : : HAUL_FOOD , /* DRINK */
df : : unit_labor : : HAUL_FOOD , /* DRINK */
df : : unit_labor : : HAUL_FOOD , /* POWDER_MISC */
df : : unit_labor : : HAUL_FOOD , /* POWDER_MISC */
df : : unit_labor : : HAUL_FOOD , /* CHEESE */
df : : unit_labor : : HAUL_FOOD , /* CHEESE */
df : : unit_labor : : HAUL_FOOD , /* FOOD */
df : : unit_labor : : HAUL_FOOD , /* FOOD */
df : : unit_labor : : HAUL_FOOD , /* LIQUID_MISC */
df : : unit_labor : : HAUL_FOOD , /* LIQUID_MISC */
df : : unit_labor : : HAUL_ITEM , /* COIN */
df : : unit_labor : : HAUL_ITEM , /* COIN */
df : : unit_labor : : HAUL_FOOD , /* GLOB */
df : : unit_labor : : HAUL_FOOD , /* GLOB */
df : : unit_labor : : HAUL_STONE , /* ROCK */
df : : unit_labor : : HAUL_STONE , /* ROCK */
df : : unit_labor : : HAUL_FURNITURE , /* PIPE_SECTION */
df : : unit_labor : : HAUL_FURNITURE , /* PIPE_SECTION */
df : : unit_labor : : HAUL_FURNITURE , /* HATCH_COVER */
df : : unit_labor : : HAUL_FURNITURE , /* HATCH_COVER */
df : : unit_labor : : HAUL_FURNITURE , /* GRATE */
df : : unit_labor : : HAUL_FURNITURE , /* GRATE */
df : : unit_labor : : HAUL_FURNITURE , /* QUERN */
df : : unit_labor : : HAUL_FURNITURE , /* QUERN */
df : : unit_labor : : HAUL_FURNITURE , /* MILLSTONE */
df : : unit_labor : : HAUL_FURNITURE , /* MILLSTONE */
df : : unit_labor : : HAUL_ITEM , /* SPLINT */
df : : unit_labor : : HAUL_ITEM , /* SPLINT */
df : : unit_labor : : HAUL_ITEM , /* CRUTCH */
df : : unit_labor : : HAUL_ITEM , /* CRUTCH */
df : : unit_labor : : HAUL_FURNITURE , /* TRACTION_BENCH */
df : : unit_labor : : HAUL_FURNITURE , /* TRACTION_BENCH */
df : : unit_labor : : HAUL_ITEM , /* ORTHOPEDIC_CAST */
df : : unit_labor : : HAUL_ITEM , /* ORTHOPEDIC_CAST */
df : : unit_labor : : HAUL_ITEM , /* TOOL */
df : : unit_labor : : HAUL_ITEM , /* TOOL */
df : : unit_labor : : HAUL_FURNITURE , /* SLAB */
df : : unit_labor : : HAUL_FURNITURE , /* SLAB */
df : : unit_labor : : HAUL_FOOD , /* EGG */
df : : unit_labor : : HAUL_FOOD , /* EGG */
df : : unit_labor : : HAUL_ITEM , /* BOOK */
df : : unit_labor : : HAUL_ITEM , /* BOOK */
} ;
} ;
static df : : unit_labor workshop_build_labor [ ] =
static df : : unit_labor workshop_build_labor [ ] =
{
{
/* Carpenters */ df : : unit_labor : : CARPENTER ,
/* Carpenters */ df : : unit_labor : : CARPENTER ,
/* Farmers */ df : : unit_labor : : PROCESS_PLANT ,
/* Farmers */ df : : unit_labor : : PROCESS_PLANT ,
/* Masons */ df : : unit_labor : : MASON ,
/* Masons */ df : : unit_labor : : MASON ,
/* Craftsdwarfs */ df : : unit_labor : : STONE_CRAFT ,
/* Craftsdwarfs */ df : : unit_labor : : STONE_CRAFT ,
/* Jewelers */ df : : unit_labor : : CUT_GEM ,
/* Jewelers */ df : : unit_labor : : CUT_GEM ,
/* MetalsmithsForge */ df : : unit_labor : : METAL_CRAFT ,
/* MetalsmithsForge */ df : : unit_labor : : METAL_CRAFT ,
/* MagmaForge */ df : : unit_labor : : METAL_CRAFT ,
/* MagmaForge */ df : : unit_labor : : METAL_CRAFT ,
/* Bowyers */ df : : unit_labor : : BOWYER ,
/* Bowyers */ df : : unit_labor : : BOWYER ,
/* Mechanics */ df : : unit_labor : : MECHANIC ,
/* Mechanics */ df : : unit_labor : : MECHANIC ,
/* Siege */ df : : unit_labor : : SIEGECRAFT ,
/* Siege */ df : : unit_labor : : SIEGECRAFT ,
/* Butchers */ df : : unit_labor : : BUTCHER ,
/* Butchers */ df : : unit_labor : : BUTCHER ,
/* Leatherworks */ df : : unit_labor : : LEATHER ,
/* Leatherworks */ df : : unit_labor : : LEATHER ,
/* Tanners */ df : : unit_labor : : TANNER ,
/* Tanners */ df : : unit_labor : : TANNER ,
/* Clothiers */ df : : unit_labor : : CLOTHESMAKER ,
/* Clothiers */ df : : unit_labor : : CLOTHESMAKER ,
/* Fishery */ df : : unit_labor : : CLEAN_FISH ,
/* Fishery */ df : : unit_labor : : CLEAN_FISH ,
/* Still */ df : : unit_labor : : BREWER ,
/* Still */ df : : unit_labor : : BREWER ,
/* Loom */ df : : unit_labor : : WEAVER ,
/* Loom */ df : : unit_labor : : WEAVER ,
/* Quern */ df : : unit_labor : : MILLER ,
/* Quern */ df : : unit_labor : : MILLER ,
/* Kennels */ df : : unit_labor : : ANIMALTRAIN ,
/* Kennels */ df : : unit_labor : : ANIMALTRAIN ,
/* Kitchen */ df : : unit_labor : : COOK ,
/* Kitchen */ df : : unit_labor : : COOK ,
/* Ashery */ df : : unit_labor : : LYE_MAKING ,
/* Ashery */ df : : unit_labor : : LYE_MAKING ,
/* Dyers */ df : : unit_labor : : DYER ,
/* Dyers */ df : : unit_labor : : DYER ,
/* Millstone */ df : : unit_labor : : MILLER ,
/* Millstone */ df : : unit_labor : : MILLER ,
/* Custom */ df : : unit_labor : : NONE ,
/* Custom */ df : : unit_labor : : NONE ,
/* Tool */ df : : unit_labor : : NONE
/* Tool */ df : : unit_labor : : NONE
} ;
} ;
static df : : building * get_building_from_job ( df : : job * j )
static df : : building * get_building_from_job ( df : : job * j )
@ -1090,7 +1090,7 @@ public:
JobLaborMapper ( )
JobLaborMapper ( )
{
{
jlfunc * jlf_hauling = new jlfunc_hauling ( ) ;
jlfunc * jlf_hauling = new jlfunc_hauling ( ) ;
jlfunc * jlf_make_furniture = new jlfunc_make ( df : : unit_labor : : FORGE_FURNITURE ) ;
jlfunc * jlf_make_furniture = new jlfunc_make ( df : : unit_labor : : FORGE_FURNITURE ) ;
jlfunc * jlf_make_object = new jlfunc_make ( df : : unit_labor : : METAL_CRAFT ) ;
jlfunc * jlf_make_object = new jlfunc_make ( df : : unit_labor : : METAL_CRAFT ) ;
jlfunc * jlf_make_armor = new jlfunc_make ( df : : unit_labor : : FORGE_ARMOR ) ;
jlfunc * jlf_make_armor = new jlfunc_make ( df : : unit_labor : : FORGE_ARMOR ) ;
@ -1098,236 +1098,236 @@ public:
jlfunc * jlf_no_labor = jlf_const ( df : : unit_labor : : NONE ) ;
jlfunc * jlf_no_labor = jlf_const ( df : : unit_labor : : NONE ) ;
job_to_labor_table [ df : : job_type : : CarveFortification ] = jlf_const ( df : : unit_labor : : DETAIL ) ;
job_to_labor_table [ df : : job_type : : CarveFortification ] = jlf_const ( df : : unit_labor : : DETAIL ) ;
job_to_labor_table [ df : : job_type : : DetailWall ] = jlf_const ( df : : unit_labor : : DETAIL ) ;
job_to_labor_table [ df : : job_type : : DetailWall ] = jlf_const ( df : : unit_labor : : DETAIL ) ;
job_to_labor_table [ df : : job_type : : DetailFloor ] = jlf_const ( df : : unit_labor : : DETAIL ) ;
job_to_labor_table [ df : : job_type : : DetailFloor ] = jlf_const ( df : : unit_labor : : DETAIL ) ;
job_to_labor_table [ df : : job_type : : Dig ] = jlf_const ( df : : unit_labor : : MINE ) ;
job_to_labor_table [ df : : job_type : : Dig ] = jlf_const ( df : : unit_labor : : MINE ) ;
job_to_labor_table [ df : : job_type : : CarveUpwardStaircase ] = jlf_const ( df : : unit_labor : : MINE ) ;
job_to_labor_table [ df : : job_type : : CarveUpwardStaircase ] = jlf_const ( df : : unit_labor : : MINE ) ;
job_to_labor_table [ df : : job_type : : CarveDownwardStaircase ] = jlf_const ( df : : unit_labor : : MINE ) ;
job_to_labor_table [ df : : job_type : : CarveDownwardStaircase ] = jlf_const ( df : : unit_labor : : MINE ) ;
job_to_labor_table [ df : : job_type : : CarveUpDownStaircase ] = jlf_const ( df : : unit_labor : : MINE ) ;
job_to_labor_table [ df : : job_type : : CarveUpDownStaircase ] = jlf_const ( df : : unit_labor : : MINE ) ;
job_to_labor_table [ df : : job_type : : CarveRamp ] = jlf_const ( df : : unit_labor : : MINE ) ;
job_to_labor_table [ df : : job_type : : CarveRamp ] = jlf_const ( df : : unit_labor : : MINE ) ;
job_to_labor_table [ df : : job_type : : DigChannel ] = jlf_const ( df : : unit_labor : : MINE ) ;
job_to_labor_table [ df : : job_type : : DigChannel ] = jlf_const ( df : : unit_labor : : MINE ) ;
job_to_labor_table [ df : : job_type : : FellTree ] = jlf_const ( df : : unit_labor : : CUTWOOD ) ;
job_to_labor_table [ df : : job_type : : FellTree ] = jlf_const ( df : : unit_labor : : CUTWOOD ) ;
job_to_labor_table [ df : : job_type : : GatherPlants ] = jlf_const ( df : : unit_labor : : HERBALIST ) ;
job_to_labor_table [ df : : job_type : : GatherPlants ] = jlf_const ( df : : unit_labor : : HERBALIST ) ;
job_to_labor_table [ df : : job_type : : RemoveConstruction ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : RemoveConstruction ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : CollectWebs ] = jlf_const ( df : : unit_labor : : WEAVER ) ;
job_to_labor_table [ df : : job_type : : CollectWebs ] = jlf_const ( df : : unit_labor : : WEAVER ) ;
job_to_labor_table [ df : : job_type : : BringItemToDepot ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : BringItemToDepot ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : BringItemToShop ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : BringItemToShop ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : Eat ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : Eat ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : GetProvisions ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : GetProvisions ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : Drink ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : Drink ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : Drink2 ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : Drink2 ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : FillWaterskin ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : FillWaterskin ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : FillWaterskin2 ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : FillWaterskin2 ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : Sleep ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : Sleep ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : CollectSand ] = jlf_const ( df : : unit_labor : : HAUL_ITEM ) ;
job_to_labor_table [ df : : job_type : : CollectSand ] = jlf_const ( df : : unit_labor : : HAUL_ITEM ) ;
job_to_labor_table [ df : : job_type : : Fish ] = jlf_const ( df : : unit_labor : : FISH ) ;
job_to_labor_table [ df : : job_type : : Fish ] = jlf_const ( df : : unit_labor : : FISH ) ;
job_to_labor_table [ df : : job_type : : Hunt ] = jlf_const ( df : : unit_labor : : HUNT ) ;
job_to_labor_table [ df : : job_type : : Hunt ] = jlf_const ( df : : unit_labor : : HUNT ) ;
job_to_labor_table [ df : : job_type : : HuntVermin ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : HuntVermin ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : Kidnap ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : Kidnap ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : BeatCriminal ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : BeatCriminal ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : StartingFistFight ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : StartingFistFight ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : CollectTaxes ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : CollectTaxes ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : GuardTaxCollector ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : GuardTaxCollector ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : CatchLiveLandAnimal ] = jlf_const ( df : : unit_labor : : HUNT ) ;
job_to_labor_table [ df : : job_type : : CatchLiveLandAnimal ] = jlf_const ( df : : unit_labor : : HUNT ) ;
job_to_labor_table [ df : : job_type : : CatchLiveFish ] = jlf_const ( df : : unit_labor : : FISH ) ;
job_to_labor_table [ df : : job_type : : CatchLiveFish ] = jlf_const ( df : : unit_labor : : FISH ) ;
job_to_labor_table [ df : : job_type : : ReturnKill ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : ReturnKill ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : CheckChest ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : CheckChest ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : StoreOwnedItem ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : StoreOwnedItem ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : PlaceItemInTomb ] = jlf_const ( df : : unit_labor : : HAUL_BODY ) ;
job_to_labor_table [ df : : job_type : : PlaceItemInTomb ] = jlf_const ( df : : unit_labor : : HAUL_BODY ) ;
job_to_labor_table [ df : : job_type : : StoreItemInStockpile ] = jlf_hauling ;
job_to_labor_table [ df : : job_type : : StoreItemInStockpile ] = jlf_hauling ;
job_to_labor_table [ df : : job_type : : StoreItemInBag ] = jlf_hauling ;
job_to_labor_table [ df : : job_type : : StoreItemInBag ] = jlf_hauling ;
job_to_labor_table [ df : : job_type : : StoreItemInHospital ] = jlf_hauling ;
job_to_labor_table [ df : : job_type : : StoreItemInHospital ] = jlf_hauling ;
job_to_labor_table [ df : : job_type : : StoreItemInChest ] = jlf_hauling ;
job_to_labor_table [ df : : job_type : : StoreItemInChest ] = jlf_hauling ;
job_to_labor_table [ df : : job_type : : StoreItemInCabinet ] = jlf_hauling ;
job_to_labor_table [ df : : job_type : : StoreItemInCabinet ] = jlf_hauling ;
job_to_labor_table [ df : : job_type : : StoreWeapon ] = jlf_hauling ;
job_to_labor_table [ df : : job_type : : StoreWeapon ] = jlf_hauling ;
job_to_labor_table [ df : : job_type : : StoreArmor ] = jlf_hauling ;
job_to_labor_table [ df : : job_type : : StoreArmor ] = jlf_hauling ;
job_to_labor_table [ df : : job_type : : StoreItemInBarrel ] = jlf_hauling ;
job_to_labor_table [ df : : job_type : : StoreItemInBarrel ] = jlf_hauling ;
job_to_labor_table [ df : : job_type : : StoreItemInBin ] = jlf_const ( df : : unit_labor : : HAUL_ITEM ) ;
job_to_labor_table [ df : : job_type : : StoreItemInBin ] = jlf_const ( df : : unit_labor : : HAUL_ITEM ) ;
job_to_labor_table [ df : : job_type : : SeekArtifact ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : SeekArtifact ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : SeekInfant ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : SeekInfant ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : AttendParty ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : AttendParty ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : GoShopping ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : GoShopping ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : GoShopping2 ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : GoShopping2 ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : Clean ] = jlf_const ( df : : unit_labor : : CLEAN ) ;
job_to_labor_table [ df : : job_type : : Clean ] = jlf_const ( df : : unit_labor : : CLEAN ) ;
job_to_labor_table [ df : : job_type : : Rest ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : Rest ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : PickupEquipment ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : PickupEquipment ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : DumpItem ] = jlf_const ( df : : unit_labor : : HAUL_REFUSE ) ;
job_to_labor_table [ df : : job_type : : DumpItem ] = jlf_const ( df : : unit_labor : : HAUL_REFUSE ) ;
job_to_labor_table [ df : : job_type : : StrangeMoodCrafter ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : StrangeMoodCrafter ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : StrangeMoodJeweller ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : StrangeMoodJeweller ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : StrangeMoodForge ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : StrangeMoodForge ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : StrangeMoodMagmaForge ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : StrangeMoodMagmaForge ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : StrangeMoodBrooding ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : StrangeMoodBrooding ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : StrangeMoodFell ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : StrangeMoodFell ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : StrangeMoodCarpenter ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : StrangeMoodCarpenter ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : StrangeMoodMason ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : StrangeMoodMason ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : StrangeMoodBowyer ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : StrangeMoodBowyer ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : StrangeMoodTanner ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : StrangeMoodTanner ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : StrangeMoodWeaver ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : StrangeMoodWeaver ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : StrangeMoodGlassmaker ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : StrangeMoodGlassmaker ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : StrangeMoodMechanics ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : StrangeMoodMechanics ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : ConstructBuilding ] = new jlfunc_construct_bld ( ) ;
job_to_labor_table [ df : : job_type : : ConstructBuilding ] = new jlfunc_construct_bld ( ) ;
job_to_labor_table [ df : : job_type : : ConstructDoor ] = jlf_make_furniture ;
job_to_labor_table [ df : : job_type : : ConstructDoor ] = jlf_make_furniture ;
job_to_labor_table [ df : : job_type : : ConstructFloodgate ] = jlf_make_furniture ;
job_to_labor_table [ df : : job_type : : ConstructFloodgate ] = jlf_make_furniture ;
job_to_labor_table [ df : : job_type : : ConstructBed ] = jlf_make_furniture ;
job_to_labor_table [ df : : job_type : : ConstructBed ] = jlf_make_furniture ;
job_to_labor_table [ df : : job_type : : ConstructThrone ] = jlf_make_furniture ;
job_to_labor_table [ df : : job_type : : ConstructThrone ] = jlf_make_furniture ;
job_to_labor_table [ df : : job_type : : ConstructCoffin ] = jlf_make_furniture ;
job_to_labor_table [ df : : job_type : : ConstructCoffin ] = jlf_make_furniture ;
job_to_labor_table [ df : : job_type : : ConstructTable ] = jlf_make_furniture ;
job_to_labor_table [ df : : job_type : : ConstructTable ] = jlf_make_furniture ;
job_to_labor_table [ df : : job_type : : ConstructChest ] = jlf_make_furniture ;
job_to_labor_table [ df : : job_type : : ConstructChest ] = jlf_make_furniture ;
job_to_labor_table [ df : : job_type : : ConstructBin ] = jlf_make_furniture ;
job_to_labor_table [ df : : job_type : : ConstructBin ] = jlf_make_furniture ;
job_to_labor_table [ df : : job_type : : ConstructArmorStand ] = jlf_make_furniture ;
job_to_labor_table [ df : : job_type : : ConstructArmorStand ] = jlf_make_furniture ;
job_to_labor_table [ df : : job_type : : ConstructWeaponRack ] = jlf_make_furniture ;
job_to_labor_table [ df : : job_type : : ConstructWeaponRack ] = jlf_make_furniture ;
job_to_labor_table [ df : : job_type : : ConstructCabinet ] = jlf_make_furniture ;
job_to_labor_table [ df : : job_type : : ConstructCabinet ] = jlf_make_furniture ;
job_to_labor_table [ df : : job_type : : ConstructStatue ] = jlf_make_furniture ;
job_to_labor_table [ df : : job_type : : ConstructStatue ] = jlf_make_furniture ;
job_to_labor_table [ df : : job_type : : ConstructBlocks ] = jlf_make_furniture ;
job_to_labor_table [ df : : job_type : : ConstructBlocks ] = jlf_make_furniture ;
job_to_labor_table [ df : : job_type : : MakeRawGlass ] = jlf_const ( df : : unit_labor : : GLASSMAKER ) ;
job_to_labor_table [ df : : job_type : : MakeRawGlass ] = jlf_const ( df : : unit_labor : : GLASSMAKER ) ;
job_to_labor_table [ df : : job_type : : MakeCrafts ] = jlf_make_object ;
job_to_labor_table [ df : : job_type : : MakeCrafts ] = jlf_make_object ;
job_to_labor_table [ df : : job_type : : MintCoins ] = jlf_const ( df : : unit_labor : : METAL_CRAFT ) ;
job_to_labor_table [ df : : job_type : : MintCoins ] = jlf_const ( df : : unit_labor : : METAL_CRAFT ) ;
job_to_labor_table [ df : : job_type : : CutGems ] = jlf_const ( df : : unit_labor : : CUT_GEM ) ;
job_to_labor_table [ df : : job_type : : CutGems ] = jlf_const ( df : : unit_labor : : CUT_GEM ) ;
job_to_labor_table [ df : : job_type : : CutGlass ] = jlf_const ( df : : unit_labor : : CUT_GEM ) ;
job_to_labor_table [ df : : job_type : : CutGlass ] = jlf_const ( df : : unit_labor : : CUT_GEM ) ;
job_to_labor_table [ df : : job_type : : EncrustWithGems ] = jlf_const ( df : : unit_labor : : ENCRUST_GEM ) ;
job_to_labor_table [ df : : job_type : : EncrustWithGems ] = jlf_const ( df : : unit_labor : : ENCRUST_GEM ) ;
job_to_labor_table [ df : : job_type : : EncrustWithGlass ] = jlf_const ( df : : unit_labor : : ENCRUST_GEM ) ;
job_to_labor_table [ df : : job_type : : EncrustWithGlass ] = jlf_const ( df : : unit_labor : : ENCRUST_GEM ) ;
job_to_labor_table [ df : : job_type : : DestroyBuilding ] = new jlfunc_destroy_bld ( ) ;
job_to_labor_table [ df : : job_type : : DestroyBuilding ] = new jlfunc_destroy_bld ( ) ;
job_to_labor_table [ df : : job_type : : SmeltOre ] = jlf_const ( df : : unit_labor : : SMELT ) ;
job_to_labor_table [ df : : job_type : : SmeltOre ] = jlf_const ( df : : unit_labor : : SMELT ) ;
job_to_labor_table [ df : : job_type : : MeltMetalObject ] = jlf_const ( df : : unit_labor : : SMELT ) ;
job_to_labor_table [ df : : job_type : : MeltMetalObject ] = jlf_const ( df : : unit_labor : : SMELT ) ;
job_to_labor_table [ df : : job_type : : ExtractMetalStrands ] = jlf_const ( df : : unit_labor : : EXTRACT_STRAND ) ;
job_to_labor_table [ df : : job_type : : ExtractMetalStrands ] = jlf_const ( df : : unit_labor : : EXTRACT_STRAND ) ;
job_to_labor_table [ df : : job_type : : PlantSeeds ] = jlf_const ( df : : unit_labor : : PLANT ) ;
job_to_labor_table [ df : : job_type : : PlantSeeds ] = jlf_const ( df : : unit_labor : : PLANT ) ;
job_to_labor_table [ df : : job_type : : HarvestPlants ] = jlf_const ( df : : unit_labor : : PLANT ) ;
job_to_labor_table [ df : : job_type : : HarvestPlants ] = jlf_const ( df : : unit_labor : : PLANT ) ;
job_to_labor_table [ df : : job_type : : TrainHuntingAnimal ] = jlf_const ( df : : unit_labor : : ANIMALTRAIN ) ;
job_to_labor_table [ df : : job_type : : TrainHuntingAnimal ] = jlf_const ( df : : unit_labor : : ANIMALTRAIN ) ;
job_to_labor_table [ df : : job_type : : TrainWarAnimal ] = jlf_const ( df : : unit_labor : : ANIMALTRAIN ) ;
job_to_labor_table [ df : : job_type : : TrainWarAnimal ] = jlf_const ( df : : unit_labor : : ANIMALTRAIN ) ;
job_to_labor_table [ df : : job_type : : MakeWeapon ] = jlf_make_weapon ;
job_to_labor_table [ df : : job_type : : MakeWeapon ] = jlf_make_weapon ;
job_to_labor_table [ df : : job_type : : ForgeAnvil ] = jlf_make_furniture ;
job_to_labor_table [ df : : job_type : : ForgeAnvil ] = jlf_make_furniture ;
job_to_labor_table [ df : : job_type : : ConstructCatapultParts ] = jlf_const ( df : : unit_labor : : SIEGECRAFT ) ;
job_to_labor_table [ df : : job_type : : ConstructCatapultParts ] = jlf_const ( df : : unit_labor : : SIEGECRAFT ) ;
job_to_labor_table [ df : : job_type : : ConstructBallistaParts ] = jlf_const ( df : : unit_labor : : SIEGECRAFT ) ;
job_to_labor_table [ df : : job_type : : ConstructBallistaParts ] = jlf_const ( df : : unit_labor : : SIEGECRAFT ) ;
job_to_labor_table [ df : : job_type : : MakeArmor ] = jlf_make_armor ;
job_to_labor_table [ df : : job_type : : MakeArmor ] = jlf_make_armor ;
job_to_labor_table [ df : : job_type : : MakeHelm ] = jlf_make_armor ;
job_to_labor_table [ df : : job_type : : MakeHelm ] = jlf_make_armor ;
job_to_labor_table [ df : : job_type : : MakePants ] = jlf_make_armor ;
job_to_labor_table [ df : : job_type : : MakePants ] = jlf_make_armor ;
job_to_labor_table [ df : : job_type : : StudWith ] = jlf_make_object ;
job_to_labor_table [ df : : job_type : : StudWith ] = jlf_make_object ;
job_to_labor_table [ df : : job_type : : ButcherAnimal ] = jlf_const ( df : : unit_labor : : BUTCHER ) ;
job_to_labor_table [ df : : job_type : : ButcherAnimal ] = jlf_const ( df : : unit_labor : : BUTCHER ) ;
job_to_labor_table [ df : : job_type : : PrepareRawFish ] = jlf_const ( df : : unit_labor : : CLEAN_FISH ) ;
job_to_labor_table [ df : : job_type : : PrepareRawFish ] = jlf_const ( df : : unit_labor : : CLEAN_FISH ) ;
job_to_labor_table [ df : : job_type : : MillPlants ] = jlf_const ( df : : unit_labor : : MILLER ) ;
job_to_labor_table [ df : : job_type : : MillPlants ] = jlf_const ( df : : unit_labor : : MILLER ) ;
job_to_labor_table [ df : : job_type : : BaitTrap ] = jlf_const ( df : : unit_labor : : TRAPPER ) ;
job_to_labor_table [ df : : job_type : : BaitTrap ] = jlf_const ( df : : unit_labor : : TRAPPER ) ;
job_to_labor_table [ df : : job_type : : MilkCreature ] = jlf_const ( df : : unit_labor : : MILK ) ;
job_to_labor_table [ df : : job_type : : MilkCreature ] = jlf_const ( df : : unit_labor : : MILK ) ;
job_to_labor_table [ df : : job_type : : MakeCheese ] = jlf_const ( df : : unit_labor : : MAKE_CHEESE ) ;
job_to_labor_table [ df : : job_type : : MakeCheese ] = jlf_const ( df : : unit_labor : : MAKE_CHEESE ) ;
job_to_labor_table [ df : : job_type : : ProcessPlants ] = jlf_const ( df : : unit_labor : : PROCESS_PLANT ) ;
job_to_labor_table [ df : : job_type : : ProcessPlants ] = jlf_const ( df : : unit_labor : : PROCESS_PLANT ) ;
job_to_labor_table [ df : : job_type : : ProcessPlantsBag ] = jlf_const ( df : : unit_labor : : PROCESS_PLANT ) ;
job_to_labor_table [ df : : job_type : : ProcessPlantsBag ] = jlf_const ( df : : unit_labor : : PROCESS_PLANT ) ;
job_to_labor_table [ df : : job_type : : ProcessPlantsVial ] = jlf_const ( df : : unit_labor : : PROCESS_PLANT ) ;
job_to_labor_table [ df : : job_type : : ProcessPlantsVial ] = jlf_const ( df : : unit_labor : : PROCESS_PLANT ) ;
job_to_labor_table [ df : : job_type : : ProcessPlantsBarrel ] = jlf_const ( df : : unit_labor : : PROCESS_PLANT ) ;
job_to_labor_table [ df : : job_type : : ProcessPlantsBarrel ] = jlf_const ( df : : unit_labor : : PROCESS_PLANT ) ;
job_to_labor_table [ df : : job_type : : PrepareMeal ] = jlf_const ( df : : unit_labor : : COOK ) ;
job_to_labor_table [ df : : job_type : : PrepareMeal ] = jlf_const ( df : : unit_labor : : COOK ) ;
job_to_labor_table [ df : : job_type : : WeaveCloth ] = jlf_const ( df : : unit_labor : : WEAVER ) ;
job_to_labor_table [ df : : job_type : : WeaveCloth ] = jlf_const ( df : : unit_labor : : WEAVER ) ;
job_to_labor_table [ df : : job_type : : MakeGloves ] = jlf_make_armor ;
job_to_labor_table [ df : : job_type : : MakeGloves ] = jlf_make_armor ;
job_to_labor_table [ df : : job_type : : MakeShoes ] = jlf_make_armor ;
job_to_labor_table [ df : : job_type : : MakeShoes ] = jlf_make_armor ;
job_to_labor_table [ df : : job_type : : MakeShield ] = jlf_make_armor ;
job_to_labor_table [ df : : job_type : : MakeShield ] = jlf_make_armor ;
job_to_labor_table [ df : : job_type : : MakeCage ] = jlf_make_furniture ;
job_to_labor_table [ df : : job_type : : MakeCage ] = jlf_make_furniture ;
job_to_labor_table [ df : : job_type : : MakeChain ] = jlf_make_object ;
job_to_labor_table [ df : : job_type : : MakeChain ] = jlf_make_object ;
job_to_labor_table [ df : : job_type : : MakeFlask ] = jlf_make_object ;
job_to_labor_table [ df : : job_type : : MakeFlask ] = jlf_make_object ;
job_to_labor_table [ df : : job_type : : MakeGoblet ] = jlf_make_object ;
job_to_labor_table [ df : : job_type : : MakeGoblet ] = jlf_make_object ;
job_to_labor_table [ df : : job_type : : MakeInstrument ] = jlf_make_object ;
job_to_labor_table [ df : : job_type : : MakeInstrument ] = jlf_make_object ;
job_to_labor_table [ df : : job_type : : MakeToy ] = jlf_make_object ;
job_to_labor_table [ df : : job_type : : MakeToy ] = jlf_make_object ;
job_to_labor_table [ df : : job_type : : MakeAnimalTrap ] = jlf_const ( df : : unit_labor : : TRAPPER ) ;
job_to_labor_table [ df : : job_type : : MakeAnimalTrap ] = jlf_const ( df : : unit_labor : : TRAPPER ) ;
job_to_labor_table [ df : : job_type : : MakeBarrel ] = jlf_make_furniture ;
job_to_labor_table [ df : : job_type : : MakeBarrel ] = jlf_make_furniture ;
job_to_labor_table [ df : : job_type : : MakeBucket ] = jlf_make_furniture ;
job_to_labor_table [ df : : job_type : : MakeBucket ] = jlf_make_furniture ;
job_to_labor_table [ df : : job_type : : MakeWindow ] = jlf_make_furniture ;
job_to_labor_table [ df : : job_type : : MakeWindow ] = jlf_make_furniture ;
job_to_labor_table [ df : : job_type : : MakeTotem ] = jlf_const ( df : : unit_labor : : BONE_CARVE ) ;
job_to_labor_table [ df : : job_type : : MakeTotem ] = jlf_const ( df : : unit_labor : : BONE_CARVE ) ;
job_to_labor_table [ df : : job_type : : MakeAmmo ] = jlf_make_weapon ;
job_to_labor_table [ df : : job_type : : MakeAmmo ] = jlf_make_weapon ;
job_to_labor_table [ df : : job_type : : DecorateWith ] = jlf_make_object ;
job_to_labor_table [ df : : job_type : : DecorateWith ] = jlf_make_object ;
job_to_labor_table [ df : : job_type : : MakeBackpack ] = jlf_make_object ;
job_to_labor_table [ df : : job_type : : MakeBackpack ] = jlf_make_object ;
job_to_labor_table [ df : : job_type : : MakeQuiver ] = jlf_make_armor ;
job_to_labor_table [ df : : job_type : : MakeQuiver ] = jlf_make_armor ;
job_to_labor_table [ df : : job_type : : MakeBallistaArrowHead ] = jlf_make_weapon ;
job_to_labor_table [ df : : job_type : : MakeBallistaArrowHead ] = jlf_make_weapon ;
job_to_labor_table [ df : : job_type : : AssembleSiegeAmmo ] = jlf_const ( df : : unit_labor : : SIEGECRAFT ) ;
job_to_labor_table [ df : : job_type : : AssembleSiegeAmmo ] = jlf_const ( df : : unit_labor : : SIEGECRAFT ) ;
job_to_labor_table [ df : : job_type : : LoadCatapult ] = jlf_const ( df : : unit_labor : : SIEGEOPERATE ) ;
job_to_labor_table [ df : : job_type : : LoadCatapult ] = jlf_const ( df : : unit_labor : : SIEGEOPERATE ) ;
job_to_labor_table [ df : : job_type : : LoadBallista ] = jlf_const ( df : : unit_labor : : SIEGEOPERATE ) ;
job_to_labor_table [ df : : job_type : : LoadBallista ] = jlf_const ( df : : unit_labor : : SIEGEOPERATE ) ;
job_to_labor_table [ df : : job_type : : FireCatapult ] = jlf_const ( df : : unit_labor : : SIEGEOPERATE ) ;
job_to_labor_table [ df : : job_type : : FireCatapult ] = jlf_const ( df : : unit_labor : : SIEGEOPERATE ) ;
job_to_labor_table [ df : : job_type : : FireBallista ] = jlf_const ( df : : unit_labor : : SIEGEOPERATE ) ;
job_to_labor_table [ df : : job_type : : FireBallista ] = jlf_const ( df : : unit_labor : : SIEGEOPERATE ) ;
job_to_labor_table [ df : : job_type : : ConstructMechanisms ] = jlf_const ( df : : unit_labor : : MECHANIC ) ;
job_to_labor_table [ df : : job_type : : ConstructMechanisms ] = jlf_const ( df : : unit_labor : : MECHANIC ) ;
job_to_labor_table [ df : : job_type : : MakeTrapComponent ] = jlf_const ( df : : unit_labor : : MECHANIC ) ;
job_to_labor_table [ df : : job_type : : MakeTrapComponent ] = jlf_const ( df : : unit_labor : : MECHANIC ) ;
job_to_labor_table [ df : : job_type : : LoadCageTrap ] = jlf_const ( df : : unit_labor : : MECHANIC ) ;
job_to_labor_table [ df : : job_type : : LoadCageTrap ] = jlf_const ( df : : unit_labor : : MECHANIC ) ;
job_to_labor_table [ df : : job_type : : LoadStoneTrap ] = jlf_const ( df : : unit_labor : : MECHANIC ) ;
job_to_labor_table [ df : : job_type : : LoadStoneTrap ] = jlf_const ( df : : unit_labor : : MECHANIC ) ;
job_to_labor_table [ df : : job_type : : LoadWeaponTrap ] = jlf_const ( df : : unit_labor : : MECHANIC ) ;
job_to_labor_table [ df : : job_type : : LoadWeaponTrap ] = jlf_const ( df : : unit_labor : : MECHANIC ) ;
job_to_labor_table [ df : : job_type : : CleanTrap ] = jlf_const ( df : : unit_labor : : MECHANIC ) ;
job_to_labor_table [ df : : job_type : : CleanTrap ] = jlf_const ( df : : unit_labor : : MECHANIC ) ;
job_to_labor_table [ df : : job_type : : CastSpell ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : CastSpell ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : LinkBuildingToTrigger ] = jlf_const ( df : : unit_labor : : MECHANIC ) ;
job_to_labor_table [ df : : job_type : : LinkBuildingToTrigger ] = jlf_const ( df : : unit_labor : : MECHANIC ) ;
job_to_labor_table [ df : : job_type : : PullLever ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : PullLever ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : BrewDrink ] = jlf_const ( df : : unit_labor : : BREWER ) ;
job_to_labor_table [ df : : job_type : : BrewDrink ] = jlf_const ( df : : unit_labor : : BREWER ) ;
job_to_labor_table [ df : : job_type : : ExtractFromPlants ] = jlf_const ( df : : unit_labor : : HERBALIST ) ;
job_to_labor_table [ df : : job_type : : ExtractFromPlants ] = jlf_const ( df : : unit_labor : : HERBALIST ) ;
job_to_labor_table [ df : : job_type : : ExtractFromRawFish ] = jlf_const ( df : : unit_labor : : DISSECT_FISH ) ;
job_to_labor_table [ df : : job_type : : ExtractFromRawFish ] = jlf_const ( df : : unit_labor : : DISSECT_FISH ) ;
job_to_labor_table [ df : : job_type : : ExtractFromLandAnimal ] = jlf_const ( df : : unit_labor : : DISSECT_VERMIN ) ;
job_to_labor_table [ df : : job_type : : ExtractFromLandAnimal ] = jlf_const ( df : : unit_labor : : DISSECT_VERMIN ) ;
job_to_labor_table [ df : : job_type : : TameVermin ] = jlf_const ( df : : unit_labor : : ANIMALTRAIN ) ;
job_to_labor_table [ df : : job_type : : TameVermin ] = jlf_const ( df : : unit_labor : : ANIMALTRAIN ) ;
job_to_labor_table [ df : : job_type : : TameAnimal ] = jlf_const ( df : : unit_labor : : ANIMALTRAIN ) ;
job_to_labor_table [ df : : job_type : : TameAnimal ] = jlf_const ( df : : unit_labor : : ANIMALTRAIN ) ;
job_to_labor_table [ df : : job_type : : ChainAnimal ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : ChainAnimal ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : UnchainAnimal ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : UnchainAnimal ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : UnchainPet ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : UnchainPet ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : ReleaseLargeCreature ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : ReleaseLargeCreature ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : ReleasePet ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : ReleasePet ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : ReleaseSmallCreature ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : ReleaseSmallCreature ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : HandleSmallCreature ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : HandleSmallCreature ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : HandleLargeCreature ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : HandleLargeCreature ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : CageLargeCreature ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : CageLargeCreature ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : CageSmallCreature ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : CageSmallCreature ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : RecoverWounded ] = jlf_const ( df : : unit_labor : : RECOVER_WOUNDED ) ;
job_to_labor_table [ df : : job_type : : RecoverWounded ] = jlf_const ( df : : unit_labor : : RECOVER_WOUNDED ) ;
job_to_labor_table [ df : : job_type : : DiagnosePatient ] = jlf_const ( df : : unit_labor : : DIAGNOSE ) ;
job_to_labor_table [ df : : job_type : : DiagnosePatient ] = jlf_const ( df : : unit_labor : : DIAGNOSE ) ;
job_to_labor_table [ df : : job_type : : ImmobilizeBreak ] = jlf_const ( df : : unit_labor : : BONE_SETTING ) ;
job_to_labor_table [ df : : job_type : : ImmobilizeBreak ] = jlf_const ( df : : unit_labor : : BONE_SETTING ) ;
job_to_labor_table [ df : : job_type : : DressWound ] = jlf_const ( df : : unit_labor : : DRESSING_WOUNDS ) ;
job_to_labor_table [ df : : job_type : : DressWound ] = jlf_const ( df : : unit_labor : : DRESSING_WOUNDS ) ;
job_to_labor_table [ df : : job_type : : CleanPatient ] = jlf_const ( df : : unit_labor : : DRESSING_WOUNDS ) ;
job_to_labor_table [ df : : job_type : : CleanPatient ] = jlf_const ( df : : unit_labor : : DRESSING_WOUNDS ) ;
job_to_labor_table [ df : : job_type : : Surgery ] = jlf_const ( df : : unit_labor : : SURGERY ) ;
job_to_labor_table [ df : : job_type : : Surgery ] = jlf_const ( df : : unit_labor : : SURGERY ) ;
job_to_labor_table [ df : : job_type : : Suture ] = jlf_const ( df : : unit_labor : : SUTURING ) ;
job_to_labor_table [ df : : job_type : : Suture ] = jlf_const ( df : : unit_labor : : SUTURING ) ;
job_to_labor_table [ df : : job_type : : SetBone ] = jlf_const ( df : : unit_labor : : BONE_SETTING ) ;
job_to_labor_table [ df : : job_type : : SetBone ] = jlf_const ( df : : unit_labor : : BONE_SETTING ) ;
job_to_labor_table [ df : : job_type : : PlaceInTraction ] = jlf_const ( df : : unit_labor : : BONE_SETTING ) ;
job_to_labor_table [ df : : job_type : : PlaceInTraction ] = jlf_const ( df : : unit_labor : : BONE_SETTING ) ;
job_to_labor_table [ df : : job_type : : DrainAquarium ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : DrainAquarium ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : FillAquarium ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : FillAquarium ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : FillPond ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : FillPond ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : GiveWater ] = jlf_const ( df : : unit_labor : : FEED_WATER_CIVILIANS ) ;
job_to_labor_table [ df : : job_type : : GiveWater ] = jlf_const ( df : : unit_labor : : FEED_WATER_CIVILIANS ) ;
job_to_labor_table [ df : : job_type : : GiveFood ] = jlf_const ( df : : unit_labor : : FEED_WATER_CIVILIANS ) ;
job_to_labor_table [ df : : job_type : : GiveFood ] = jlf_const ( df : : unit_labor : : FEED_WATER_CIVILIANS ) ;
job_to_labor_table [ df : : job_type : : GiveWater2 ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : GiveWater2 ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : GiveFood2 ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : GiveFood2 ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : RecoverPet ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : RecoverPet ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : PitLargeAnimal ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : PitLargeAnimal ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : PitSmallAnimal ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : PitSmallAnimal ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : SlaughterAnimal ] = jlf_const ( df : : unit_labor : : BUTCHER ) ;
job_to_labor_table [ df : : job_type : : SlaughterAnimal ] = jlf_const ( df : : unit_labor : : BUTCHER ) ;
job_to_labor_table [ df : : job_type : : MakeCharcoal ] = jlf_const ( df : : unit_labor : : BURN_WOOD ) ;
job_to_labor_table [ df : : job_type : : MakeCharcoal ] = jlf_const ( df : : unit_labor : : BURN_WOOD ) ;
job_to_labor_table [ df : : job_type : : MakeAsh ] = jlf_const ( df : : unit_labor : : BURN_WOOD ) ;
job_to_labor_table [ df : : job_type : : MakeAsh ] = jlf_const ( df : : unit_labor : : BURN_WOOD ) ;
job_to_labor_table [ df : : job_type : : MakeLye ] = jlf_const ( df : : unit_labor : : LYE_MAKING ) ;
job_to_labor_table [ df : : job_type : : MakeLye ] = jlf_const ( df : : unit_labor : : LYE_MAKING ) ;
job_to_labor_table [ df : : job_type : : MakePotashFromLye ] = jlf_const ( df : : unit_labor : : POTASH_MAKING ) ;
job_to_labor_table [ df : : job_type : : MakePotashFromLye ] = jlf_const ( df : : unit_labor : : POTASH_MAKING ) ;
job_to_labor_table [ df : : job_type : : FertilizeField ] = jlf_const ( df : : unit_labor : : PLANT ) ;
job_to_labor_table [ df : : job_type : : FertilizeField ] = jlf_const ( df : : unit_labor : : PLANT ) ;
job_to_labor_table [ df : : job_type : : MakePotashFromAsh ] = jlf_const ( df : : unit_labor : : POTASH_MAKING ) ;
job_to_labor_table [ df : : job_type : : MakePotashFromAsh ] = jlf_const ( df : : unit_labor : : POTASH_MAKING ) ;
job_to_labor_table [ df : : job_type : : DyeThread ] = jlf_const ( df : : unit_labor : : DYER ) ;
job_to_labor_table [ df : : job_type : : DyeThread ] = jlf_const ( df : : unit_labor : : DYER ) ;
job_to_labor_table [ df : : job_type : : DyeCloth ] = jlf_const ( df : : unit_labor : : DYER ) ;
job_to_labor_table [ df : : job_type : : DyeCloth ] = jlf_const ( df : : unit_labor : : DYER ) ;
job_to_labor_table [ df : : job_type : : SewImage ] = jlf_make_object ;
job_to_labor_table [ df : : job_type : : SewImage ] = jlf_make_object ;
job_to_labor_table [ df : : job_type : : MakePipeSection ] = jlf_make_furniture ;
job_to_labor_table [ df : : job_type : : MakePipeSection ] = jlf_make_furniture ;
job_to_labor_table [ df : : job_type : : OperatePump ] = jlf_const ( df : : unit_labor : : OPERATE_PUMP ) ;
job_to_labor_table [ df : : job_type : : OperatePump ] = jlf_const ( df : : unit_labor : : OPERATE_PUMP ) ;
job_to_labor_table [ df : : job_type : : ManageWorkOrders ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : ManageWorkOrders ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : UpdateStockpileRecords ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : UpdateStockpileRecords ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : TradeAtDepot ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : TradeAtDepot ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : ConstructHatchCover ] = jlf_make_furniture ;
job_to_labor_table [ df : : job_type : : ConstructHatchCover ] = jlf_make_furniture ;
job_to_labor_table [ df : : job_type : : ConstructGrate ] = jlf_make_furniture ;
job_to_labor_table [ df : : job_type : : ConstructGrate ] = jlf_make_furniture ;
job_to_labor_table [ df : : job_type : : RemoveStairs ] = jlf_const ( df : : unit_labor : : MINE ) ;
job_to_labor_table [ df : : job_type : : RemoveStairs ] = jlf_const ( df : : unit_labor : : MINE ) ;
job_to_labor_table [ df : : job_type : : ConstructQuern ] = jlf_make_furniture ;
job_to_labor_table [ df : : job_type : : ConstructQuern ] = jlf_make_furniture ;
job_to_labor_table [ df : : job_type : : ConstructMillstone ] = jlf_make_furniture ;
job_to_labor_table [ df : : job_type : : ConstructMillstone ] = jlf_make_furniture ;
job_to_labor_table [ df : : job_type : : ConstructSplint ] = jlf_make_furniture ;
job_to_labor_table [ df : : job_type : : ConstructSplint ] = jlf_make_furniture ;
job_to_labor_table [ df : : job_type : : ConstructCrutch ] = jlf_make_furniture ;
job_to_labor_table [ df : : job_type : : ConstructCrutch ] = jlf_make_furniture ;
job_to_labor_table [ df : : job_type : : ConstructTractionBench ] = jlf_const ( df : : unit_labor : : MECHANIC ) ;
job_to_labor_table [ df : : job_type : : ConstructTractionBench ] = jlf_const ( df : : unit_labor : : MECHANIC ) ;
job_to_labor_table [ df : : job_type : : CleanSelf ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : CleanSelf ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : BringCrutch ] = jlf_const ( df : : unit_labor : : BONE_SETTING ) ;
job_to_labor_table [ df : : job_type : : BringCrutch ] = jlf_const ( df : : unit_labor : : BONE_SETTING ) ;
job_to_labor_table [ df : : job_type : : ApplyCast ] = jlf_const ( df : : unit_labor : : BONE_SETTING ) ;
job_to_labor_table [ df : : job_type : : ApplyCast ] = jlf_const ( df : : unit_labor : : BONE_SETTING ) ;
job_to_labor_table [ df : : job_type : : CustomReaction ] = new jlfunc_custom ( ) ;
job_to_labor_table [ df : : job_type : : CustomReaction ] = new jlfunc_custom ( ) ;
job_to_labor_table [ df : : job_type : : ConstructSlab ] = jlf_make_furniture ;
job_to_labor_table [ df : : job_type : : ConstructSlab ] = jlf_make_furniture ;
job_to_labor_table [ df : : job_type : : EngraveSlab ] = jlf_const ( df : : unit_labor : : DETAIL ) ;
job_to_labor_table [ df : : job_type : : EngraveSlab ] = jlf_const ( df : : unit_labor : : DETAIL ) ;
job_to_labor_table [ df : : job_type : : ShearCreature ] = jlf_const ( df : : unit_labor : : SHEARER ) ;
job_to_labor_table [ df : : job_type : : ShearCreature ] = jlf_const ( df : : unit_labor : : SHEARER ) ;
job_to_labor_table [ df : : job_type : : SpinThread ] = jlf_const ( df : : unit_labor : : SPINNER ) ;
job_to_labor_table [ df : : job_type : : SpinThread ] = jlf_const ( df : : unit_labor : : SPINNER ) ;
job_to_labor_table [ df : : job_type : : PenLargeAnimal ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : PenLargeAnimal ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : PenSmallAnimal ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : PenSmallAnimal ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : MakeTool ] = jlf_make_furniture ;
job_to_labor_table [ df : : job_type : : MakeTool ] = jlf_make_furniture ;
job_to_labor_table [ df : : job_type : : CollectClay ] = jlf_const ( df : : unit_labor : : POTTERY ) ;
job_to_labor_table [ df : : job_type : : CollectClay ] = jlf_const ( df : : unit_labor : : POTTERY ) ;
job_to_labor_table [ df : : job_type : : InstallColonyInHive ] = jlf_const ( df : : unit_labor : : BEEKEEPING ) ;
job_to_labor_table [ df : : job_type : : InstallColonyInHive ] = jlf_const ( df : : unit_labor : : BEEKEEPING ) ;
job_to_labor_table [ df : : job_type : : CollectHiveProducts ] = jlf_const ( df : : unit_labor : : BEEKEEPING ) ;
job_to_labor_table [ df : : job_type : : CollectHiveProducts ] = jlf_const ( df : : unit_labor : : BEEKEEPING ) ;
job_to_labor_table [ df : : job_type : : CauseTrouble ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : CauseTrouble ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : DrinkBlood ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : DrinkBlood ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : ReportCrime ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : ReportCrime ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : ExecuteCriminal ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : ExecuteCriminal ] = jlf_no_labor ;
job_to_labor_table [ df : : job_type : : TrainAnimal ] = jlf_const ( df : : unit_labor : : ANIMALTRAIN ) ;
job_to_labor_table [ df : : job_type : : TrainAnimal ] = jlf_const ( df : : unit_labor : : ANIMALTRAIN ) ;
job_to_labor_table [ df : : job_type : : CarveTrack ] = jlf_const ( df : : unit_labor : : DETAIL ) ;
job_to_labor_table [ df : : job_type : : CarveTrack ] = jlf_const ( df : : unit_labor : : DETAIL ) ;
job_to_labor_table [ df : : job_type : : PushTrackVehicle ] = jlf_const ( df : : unit_labor : : PUSH_HAUL_VEHICLE ) ;
job_to_labor_table [ df : : job_type : : PushTrackVehicle ] = jlf_const ( df : : unit_labor : : PUSH_HAUL_VEHICLE ) ;
job_to_labor_table [ df : : job_type : : PlaceTrackVehicle ] = jlf_const ( df : : unit_labor : : PUSH_HAUL_VEHICLE ) ;
job_to_labor_table [ df : : job_type : : PlaceTrackVehicle ] = jlf_const ( df : : unit_labor : : PUSH_HAUL_VEHICLE ) ;
job_to_labor_table [ df : : job_type : : StoreItemInVehicle ] = jlf_const ( df : : unit_labor : : PUSH_HAUL_VEHICLE ) ;
job_to_labor_table [ df : : job_type : : StoreItemInVehicle ] = jlf_const ( df : : unit_labor : : PUSH_HAUL_VEHICLE ) ;
} ;
} ;
@ -1505,7 +1505,7 @@ DFhackCExport command_result plugin_init ( color_ostream &out, std::vector <Plug
" disables labors. Generally, each dwarf will be assigned exactly one labor. \n "
" disables labors. Generally, each dwarf will be assigned exactly one labor. \n "
" Warning: autolabor will override any manual changes you make to labors \n "
" Warning: autolabor will override any manual changes you make to labors \n "
" while it is enabled. Do not try to run both autolabor and autolabor2 at \n "
" while it is enabled. Do not try to run both autolabor and autolabor2 at \n "
" the same time. "
" the same time. "
) ) ;
) ) ;
generate_labor_to_skill_map ( ) ;
generate_labor_to_skill_map ( ) ;
@ -1956,7 +1956,7 @@ private:
df : : job_skill skill = labor_to_skill [ labor ] ;
df : : job_skill skill = labor_to_skill [ labor ] ;
if ( skill ! = df : : job_skill : : NONE )
if ( skill ! = df : : job_skill : : NONE )
{
{
int skill_level = Units : : getNominalSkill ( dwarf - > dwarf , skill , false ) ;
int skill_level = Units : : getNominalSkill ( dwarf - > dwarf , skill , false ) ;
high_skill = std : : max ( high_skill , skill_level ) ;
high_skill = std : : max ( high_skill , skill_level ) ;
}
}
}
}
@ -2067,7 +2067,7 @@ public:
// add job entries for health care
// add job entries for health care
labor_needed [ df : : unit_labor : : RECOVER_WOUNDED ] + = cnt_recover_wounded ;
labor_needed [ df : : unit_labor : : RECOVER_WOUNDED ] + = cnt_recover_wounded ;
labor_needed [ df : : unit_labor : : DIAGNOSE ] + = cnt_diagnosis ;
labor_needed [ df : : unit_labor : : DIAGNOSE ] + = cnt_diagnosis ;
labor_needed [ df : : unit_labor : : BONE_SETTING ] + = cnt_immobilize ;
labor_needed [ df : : unit_labor : : BONE_SETTING ] + = cnt_immobilize ;
labor_needed [ df : : unit_labor : : DRESSING_WOUNDS ] + = cnt_dressing ;
labor_needed [ df : : unit_labor : : DRESSING_WOUNDS ] + = cnt_dressing ;
labor_needed [ df : : unit_labor : : DRESSING_WOUNDS ] + = cnt_cleaning ;
labor_needed [ df : : unit_labor : : DRESSING_WOUNDS ] + = cnt_cleaning ;