Merge branch 'develop' into myk_dreamfort

develop
Myk 2023-05-17 10:28:03 -07:00 committed by GitHub
commit fb6c871966
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
17 changed files with 382 additions and 5284 deletions

@ -0,0 +1,30 @@
name: Clean up PR caches
on:
pull_request:
types:
- closed
jobs:
cleanup:
runs-on: ubuntu-latest
steps:
- name: Check out code
uses: actions/checkout@v3
- name: Cleanup
run: |
gh extension install actions/gh-actions-cache
REPO=${{ github.repository }}
BRANCH="refs/pull/${{ github.event.pull_request.number }}/merge"
echo "Fetching list of cache keys"
cacheKeysForPR=$(gh actions-cache list -R $REPO -B $BRANCH | cut -f 1)
set +e
echo "Deleting caches..."
for cacheKey in $cacheKeysForPR; do
gh actions-cache delete $cacheKey -R $REPO -B $BRANCH --confirm
done
echo "Done"
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}

@ -1,31 +1,9 @@
[
{
"amount_left" : 150,
"amount_total" : 150,
"frequency" : "Monthly",
"id" : 0,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
[
{
"condition" : "LessThan",
"flags" :
[
"unrotten"
],
"item_type" : "FOOD",
"value" : 400
}
],
"job" : "PrepareMeal",
"meal_ingredients" : 2
},
{
"amount_left" : 10,
"amount_total" : 10,
"frequency" : "Daily",
"id" : 1,
"id" : 0,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -47,7 +25,7 @@
"unrotten",
"cookable"
],
"value" : 500
"value" : 80
},
{
"condition" : "AtMost",
@ -57,15 +35,6 @@
],
"item_type" : "FOOD",
"value" : 3500
},
{
"condition" : "AtLeast",
"flags" :
[
"unrotten"
],
"item_type" : "FOOD",
"value" : 400
}
],
"job" : "PrepareMeal",
@ -75,7 +44,7 @@
"amount_left" : 2,
"amount_total" : 2,
"frequency" : "Daily",
"id" : 2,
"id" : 1,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -112,7 +81,7 @@
"amount_left" : 2,
"amount_total" : 2,
"frequency" : "Daily",
"id" : 3,
"id" : 2,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -149,7 +118,7 @@
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 4,
"id" : 3,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -170,7 +139,7 @@
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 5,
"id" : 4,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -205,7 +174,7 @@
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 6,
"id" : 5,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -237,7 +206,7 @@
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 7,
"id" : 6,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -268,7 +237,7 @@
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 8,
"id" : 7,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -290,7 +259,7 @@
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 9,
"id" : 8,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -322,7 +291,7 @@
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 10,
"id" : 9,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -353,7 +322,7 @@
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 11,
"id" : 10,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -386,7 +355,7 @@
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 12,
"id" : 11,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -426,7 +395,7 @@
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 13,
"id" : 12,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -452,7 +421,7 @@
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 14,
"id" : 13,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -487,7 +456,7 @@
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 15,
"id" : 14,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -522,7 +491,7 @@
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 16,
"id" : 15,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -557,7 +526,7 @@
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 17,
"id" : 16,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -587,7 +556,7 @@
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 18,
"id" : 17,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -618,6 +587,36 @@
"job" : "MakeTool",
"material" : "INORGANIC"
},
{
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 18,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
[
{
"condition" : "AtLeast",
"item_type" : "WOOD",
"value" : 50
},
{
"condition" : "AtMost",
"flags" :
[
"empty"
],
"item_type" : "BIN",
"value" : 5
}
],
"job" : "ConstructBin",
"material_category" :
[
"wood"
]
},
{
"amount_left" : 1,
"amount_total" : 1,

@ -92,15 +92,16 @@
[
{
"condition" : "AtLeast",
"item_type" : "SKIN_TANNED",
"flags" :
[
"silk"
],
"item_type" : "CLOTH",
"min_dimension" : 10000,
"value" : 10
},
{
"condition" : "AtMost",
"flags" :
[
"leather"
],
"item_subtype" : "ITEM_ARMOR_CLOAK",
"item_type" : "ARMOR",
"value" : 10
@ -110,7 +111,7 @@
"job" : "MakeArmor",
"material_category" :
[
"leather"
"silk"
]
},
{
@ -152,25 +153,21 @@
[
{
"condition" : "AtLeast",
"item_type" : "SKIN_TANNED",
"value" : 25
"item_type" : "WOOD",
"value" : 50
},
{
"condition" : "AtMost",
"flags" :
[
"leather"
],
"item_subtype" : "ITEM_SHIELD_SHIELD",
"item_type" : "SHIELD",
"value" : 1
"value" : 10
}
],
"item_subtype" : "ITEM_SHIELD_SHIELD",
"job" : "MakeShield",
"material_category" :
[
"leather"
"wood"
]
},
{
@ -191,7 +188,7 @@
"condition" : "AtMost",
"item_subtype" : "ITEM_ARMOR_LEATHER",
"item_type" : "ARMOR",
"value" : 1
"value" : 10
}
],
"item_subtype" : "ITEM_ARMOR_LEATHER",
@ -223,7 +220,7 @@
],
"item_subtype" : "ITEM_HELM_HELM",
"item_type" : "HELM",
"value" : 1
"value" : 10
}
],
"item_subtype" : "ITEM_HELM_HELM",
@ -255,7 +252,7 @@
],
"item_subtype" : "ITEM_SHOES_BOOTS",
"item_type" : "SHOES",
"value" : 2
"value" : 20
}
],
"item_subtype" : "ITEM_SHOES_BOOTS",
@ -287,7 +284,7 @@
],
"item_subtype" : "ITEM_PANTS_LEGGINGS",
"item_type" : "PANTS",
"value" : 1
"value" : 10
}
],
"item_subtype" : "ITEM_PANTS_LEGGINGS",
@ -319,7 +316,7 @@
],
"item_subtype" : "ITEM_GLOVES_GLOVES",
"item_type" : "GLOVES",
"value" : 2
"value" : 20
}
],
"item_subtype" : "ITEM_GLOVES_GLOVES",
@ -571,37 +568,6 @@
"is_active" : false,
"is_validated" : false,
"item_conditions" :
[
{
"condition" : "AtLeast",
"item_type" : "BOULDER",
"material" : "INORGANIC:NATIVE_PLATINUM",
"value" : 5
},
{
"condition" : "AtLeast",
"item_type" : "BAR",
"material" : "COAL",
"value" : 100
},
{
"condition" : "AtMost",
"item_type" : "BAR",
"material" : "INORGANIC:PLATINUM",
"value" : 10
}
],
"job" : "SmeltOre",
"material" : "INORGANIC:NATIVE_PLATINUM"
},
{
"amount_left" : 4,
"amount_total" : 4,
"frequency" : "Daily",
"id" : 19,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
[
{
"condition" : "AtLeast",
@ -629,7 +595,7 @@
"amount_left" : 4,
"amount_total" : 4,
"frequency" : "Daily",
"id" : 20,
"id" : 19,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -660,7 +626,7 @@
"amount_left" : 4,
"amount_total" : 4,
"frequency" : "Daily",
"id" : 21,
"id" : 20,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -691,7 +657,7 @@
"amount_left" : 4,
"amount_total" : 4,
"frequency" : "Daily",
"id" : 22,
"id" : 21,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -722,7 +688,7 @@
"amount_left" : 4,
"amount_total" : 4,
"frequency" : "Daily",
"id" : 23,
"id" : 22,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -759,7 +725,7 @@
"amount_left" : 4,
"amount_total" : 4,
"frequency" : "Daily",
"id" : 24,
"id" : 23,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -808,7 +774,7 @@
"amount_left" : 4,
"amount_total" : 4,
"frequency" : "Daily",
"id" : 25,
"id" : 24,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -845,7 +811,7 @@
"amount_left" : 4,
"amount_total" : 4,
"frequency" : "Daily",
"id" : 26,
"id" : 25,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -888,7 +854,7 @@
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 27,
"id" : 26,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -924,7 +890,7 @@
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 28,
"id" : 27,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -967,7 +933,7 @@
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 29,
"id" : 28,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -1015,7 +981,7 @@
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 30,
"id" : 29,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -1070,79 +1036,7 @@
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 35,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
[
{
"condition" : "AtLeast",
"item_type" : "BAR",
"material" : "INORGANIC:SILVER",
"value" : 5
},
{
"condition" : "AtLeast",
"item_type" : "BAR",
"material" : "COAL",
"value" : 100
},
{
"condition" : "AtMost",
"flags" :
[
"metal"
],
"item_subtype" : "ITEM_WEAPON_MACE",
"item_type" : "WEAPON",
"value" : 10
}
],
"item_subtype" : "ITEM_WEAPON_MACE",
"job" : "MakeWeapon",
"material" : "INORGANIC:SILVER"
},
{
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 35,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
[
{
"condition" : "AtLeast",
"item_type" : "BAR",
"material" : "INORGANIC:SILVER",
"value" : 5
},
{
"condition" : "AtLeast",
"item_type" : "BAR",
"material" : "COAL",
"value" : 100
},
{
"condition" : "AtMost",
"flags" :
[
"metal"
],
"item_subtype" : "ITEM_WEAPON_HAMMER_WAR",
"item_type" : "WEAPON",
"value" : 10
}
],
"item_subtype" : "ITEM_WEAPON_HAMMER_WAR",
"job" : "MakeWeapon",
"material" : "INORGANIC:SILVER"
},
{
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 37,
"id" : 30,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -1175,7 +1069,7 @@
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 38,
"id" : 31,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -1208,7 +1102,7 @@
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 39,
"id" : 32,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -1241,7 +1135,7 @@
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 40,
"id" : 33,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -1274,7 +1168,7 @@
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 41,
"id" : 34,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -1307,7 +1201,7 @@
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 42,
"id" : 35,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -1347,7 +1241,7 @@
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 43,
"id" : 36,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -1387,7 +1281,7 @@
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 44,
"id" : 37,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -1404,12 +1298,6 @@
"material" : "COAL",
"value" : 100
},
{
"condition" : "LessThan",
"item_type" : "BAR",
"material" : "INORGANIC:SILVER",
"value" : 5
},
{
"condition" : "AtMost",
"item_subtype" : "ITEM_WEAPON_MACE",
@ -1426,7 +1314,7 @@
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 45,
"id" : 38,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -1443,12 +1331,6 @@
"material" : "COAL",
"value" : 100
},
{
"condition" : "LessThan",
"item_type" : "BAR",
"material" : "INORGANIC:SILVER",
"value" : 5
},
{
"condition" : "AtMost",
"item_subtype" : "ITEM_WEAPON_HAMMER_WAR",
@ -1465,7 +1347,7 @@
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 46,
"id" : 39,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -1498,7 +1380,7 @@
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 47,
"id" : 40,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -1531,7 +1413,7 @@
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 48,
"id" : 41,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -1564,7 +1446,7 @@
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 49,
"id" : 42,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -1597,7 +1479,7 @@
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 50,
"id" : 43,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -1630,7 +1512,103 @@
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 51,
"id" : 44,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
[
{
"condition" : "AtLeast",
"item_type" : "BAR",
"material" : "INORGANIC:SILVER",
"value" : 5
},
{
"condition" : "AtLeast",
"item_type" : "BAR",
"material" : "COAL",
"value" : 100
},
{
"condition" : "LessThan",
"item_type" : "BOULDER",
"reaction_class" : "FLUX",
"value" : 5
},
{
"condition" : "AtMost",
"flags" :
[
"metal"
],
"item_subtype" : "ITEM_WEAPON_MACE",
"item_type" : "WEAPON",
"value" : 10
},
{
"condition" : "LessThan",
"item_type" : "BAR",
"material" : "INORGANIC:STEEL",
"value" : 10
}
],
"item_subtype" : "ITEM_WEAPON_MACE",
"job" : "MakeWeapon",
"material" : "INORGANIC:SILVER"
},
{
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 45,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
[
{
"condition" : "AtLeast",
"item_type" : "BAR",
"material" : "INORGANIC:SILVER",
"value" : 5
},
{
"condition" : "AtLeast",
"item_type" : "BAR",
"material" : "COAL",
"value" : 100
},
{
"condition" : "LessThan",
"item_type" : "BOULDER",
"reaction_class" : "FLUX",
"value" : 5
},
{
"condition" : "AtMost",
"flags" :
[
"metal"
],
"item_subtype" : "ITEM_WEAPON_HAMMER_WAR",
"item_type" : "WEAPON",
"value" : 10
},
{
"condition" : "LessThan",
"item_type" : "BAR",
"material" : "INORGANIC:STEEL",
"value" : 10
}
],
"item_subtype" : "ITEM_WEAPON_HAMMER_WAR",
"job" : "MakeWeapon",
"material" : "INORGANIC:SILVER"
},
{
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 46,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -1678,7 +1656,7 @@
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 52,
"id" : 47,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -1726,7 +1704,7 @@
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 53,
"id" : 48,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -1774,7 +1752,7 @@
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 54,
"id" : 49,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -1822,7 +1800,7 @@
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 55,
"id" : 50,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -1870,7 +1848,7 @@
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 56,
"id" : 51,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -1928,7 +1906,7 @@
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 57,
"id" : 52,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -1986,7 +1964,7 @@
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 58,
"id" : 53,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -2040,7 +2018,7 @@
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 59,
"id" : 54,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -2094,7 +2072,7 @@
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 60,
"id" : 55,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -2142,7 +2120,7 @@
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 61,
"id" : 56,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -2190,7 +2168,7 @@
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 62,
"id" : 57,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -2238,7 +2216,7 @@
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 63,
"id" : 58,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -2286,7 +2264,7 @@
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 64,
"id" : 59,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -2334,7 +2312,7 @@
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 79,
"id" : 74,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -2382,7 +2360,7 @@
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 80,
"id" : 75,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -2430,7 +2408,7 @@
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 81,
"id" : 76,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -2478,7 +2456,7 @@
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 82,
"id" : 77,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -2526,7 +2504,7 @@
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 83,
"id" : 78,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -2574,7 +2552,7 @@
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 84,
"id" : 79,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -2632,7 +2610,7 @@
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 85,
"id" : 80,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -2690,7 +2668,7 @@
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 72,
"id" : 67,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -2735,7 +2713,7 @@
"item_type" : "BAR",
"material" : "INORGANIC:SILVER",
"value" : 5
},
}
],
"item_subtype" : "ITEM_WEAPON_MACE",
"job" : "MakeWeapon",
@ -2745,7 +2723,7 @@
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 87,
"id" : 82,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -2799,7 +2777,7 @@
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 88,
"id" : 83,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -2847,7 +2825,7 @@
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 89,
"id" : 84,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -2895,7 +2873,7 @@
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 90,
"id" : 85,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -2943,7 +2921,7 @@
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 91,
"id" : 86,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -2991,7 +2969,7 @@
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 92,
"id" : 87,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -3039,7 +3017,7 @@
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 79,
"id" : 74,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -3093,7 +3071,7 @@
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 80,
"id" : 75,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -3147,7 +3125,7 @@
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 81,
"id" : 76,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -3201,7 +3179,7 @@
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 82,
"id" : 77,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -3255,7 +3233,7 @@
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 83,
"id" : 78,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -3309,7 +3287,7 @@
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 84,
"id" : 79,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -3373,7 +3351,7 @@
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 85,
"id" : 80,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -3437,7 +3415,7 @@
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 86,
"id" : 81,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -3497,7 +3475,7 @@
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 87,
"id" : 82,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -3557,7 +3535,7 @@
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 88,
"id" : 83,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -3611,7 +3589,7 @@
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 89,
"id" : 84,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -3665,7 +3643,7 @@
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 90,
"id" : 85,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -3719,7 +3697,7 @@
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 91,
"id" : 86,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -3773,7 +3751,7 @@
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 92,
"id" : 87,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -3827,7 +3805,7 @@
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 93,
"id" : 88,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -3887,7 +3865,7 @@
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 94,
"id" : 89,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -3947,7 +3925,7 @@
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 95,
"id" : 90,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -4007,7 +3985,7 @@
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 96,
"id" : 91,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -4067,7 +4045,7 @@
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 97,
"id" : 92,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -4127,7 +4105,7 @@
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 98,
"id" : 93,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -4197,7 +4175,7 @@
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 99,
"id" : 94,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -4267,7 +4245,7 @@
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 100,
"id" : 95,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -4333,7 +4311,7 @@
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 101,
"id" : 96,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -4399,7 +4377,7 @@
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 102,
"id" : 97,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -4459,7 +4437,7 @@
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 103,
"id" : 98,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -4519,7 +4497,7 @@
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 104,
"id" : 99,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -4579,7 +4557,7 @@
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 105,
"id" : 100,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -4639,7 +4617,7 @@
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 106,
"id" : 101,
"is_active" : false,
"is_validated" : false,
"item_conditions" :

File diff suppressed because it is too large Load Diff

@ -53,7 +53,7 @@ double quotes. To include a double quote character, use ``\"``.
If the first non-whitespace character is ``:``, the command is parsed in
an alternative mode. The non-whitespace characters following the ``:`` are
the command name, and the remaining part of the line is used verbatim as
the first argument. This is very useful for the `lua` and `rb` commands.
the first argument. This is very useful for the `lua` command.
As an example, the following two command lines are exactly equivalent::
:foo a b "c d" e f
@ -306,6 +306,23 @@ the root DF folder.
Note that ``script-paths.txt`` is only read at startup, but the paths can also be
modified programmatically at any time through the `Lua API <lua-api-internal>`.
Commandline options
===================
In addition to `Using an OS terminal`_ to execute commands on startup, DFHack
also recognizes a single commandline option that can be specified on the
commandline:
- ``--disable-dfhack``: If this option is passed on the Dwarf Fortress
commandline, then DFHack will be disabled for the session. You will have to
restart Dwarf Fortress without specifying this option in order to use DFHack.
If you are launching Dwarf Fortress from Steam, you can enter the option in
the "Launch Options" text box in the properties for the Dwarf Fortress app.
Note that if you do this, DFHack will be disabled regardless of whether you
run Dwarf Fortress from its own app or DFHack's. You will have to clear the
DF Launch Options in order to use DFHack again. Note that even if DFHack is
disabled, :file:`stdout.txt` and :file:`stderr.txt` will still be redirected
to :file:`stdout.log` and :file:`stderr.log`, respectively.
.. _env-vars:
@ -319,6 +336,11 @@ on UNIX-like systems:
DFHACK_SOME_VAR=1 ./dfhack
- ``DFHACK_DISABLE``: if set, DFHack will not initialize, not even to redirect
standard output or standard error. This is provided as an alternative
to the ``--disable-dfhack`` commandline parameter above for when environment
variables are more convenient.
- ``DFHACK_PORT``: the port to use for the RPC server (used by ``dfhack-run``
and `remotefortressreader` among others) instead of the default ``5000``. As
with the default, if this port cannot be used, the server is not started.

@ -44,19 +44,25 @@ changelog.txt uses a syntax similar to RST, with a few special sequences:
- `work-now`: reinstated, renamed from ``workNow``: reduce the time that dwarves are left without a task after completing a job
## Fixes
- RemoteServer: fix crash on malformed json in ``dfhack-config/remote-server.json``
- `autolabor`: work detail override warning now only appears on the work details screen
## Misc Improvements
- `orders`: update orders in orders library for prepared meals, bins, archer uniforms, and weapons
- Terminal console no longer appears in front of the game window on startup
- `gui/design`: Improved performance for drawing shapes
- Dreamfort: improve traffic patterns throughout the fortress (stockpiles and zones are still not working, pending updates in `quickfort`)
- Core: For debugging purposes, you can now pass ``--disable-dfhack`` on the Dwarf Fortress commandline or specify ``DFHACK_DISABLE=1`` in the environment to disable DFHack for the current session.
## Documentation
## API
## Lua
- ``overlay.reload()``: has been renamed to ``overlay.rescan()`` so as not to conflict with the global ``reload()`` function. If you are developing an overlay, please take note of the new function name for reloading your overlay during development.
## Removed
- `orders`: ``library/military_include_artifact_materials`` library file removed since recent research indicates that platinum blunt weapons and silver crossbows are not more effective than standard steel. the alternate military orders file was also causing unneeded confusion.
# 50.08-r1

@ -183,7 +183,7 @@ Scripts
#. If the script is not in your `script-paths`, install your script (see the
`modding-guide` for help setting up a dev environment so that you don't need
to reinstall your scripts after every edit).
#. Call ``:lua require('plugins.overlay').reload()`` to reload your overlay
#. Call ``:lua require('plugins.overlay').rescan()`` to reload your overlay
widget
Plugins
@ -194,7 +194,7 @@ Plugins
:file:`hack/lua/plugins/`
#. If you have changed the compiled plugin, `reload` it
#. If you have changed the lua code, run ``:lua reload('plugins.mypluginname')``
#. Call ``:lua require('plugins.overlay').reload()`` to reload your overlay
#. Call ``:lua require('plugins.overlay').rescan()`` to reload your overlay
widget
Troubleshooting

@ -67,7 +67,7 @@ This collection of orders handles basic fort necessities:
- prepared meals and food products (and by-products like oil)
- booze/mead
- thread/cloth/dye
- pots/jugs/buckets/mugs
- pots/bins/jugs/buckets/mugs
- bags of leather, cloth, silk, and yarn
- crafts, totems, and shleggings from otherwise unusable by-products
- mechanisms/cages
@ -80,7 +80,10 @@ This collection of orders handles basic fort necessities:
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.
Armok's note: shleggings? Yes, `shleggings <https://youtu.be/bLN8cOcTjdo>`__.
Note that the jugs are specifically made out of wood. This is so, as long as you don't may any other "Tools" out of wood, you can have a stockpile just for jugs by restricting a finished goods stockpile to only take wooden tools.
Armok's additional note: "shleggings? Yes,
`shleggings <https://youtu.be/bLN8cOcTjdo>`__."
:source:`library/furnace <data/orders/furnace.json>`
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@ -104,13 +107,15 @@ Orders are missing for plaster powder until DF :bug:`11803` is fixed.
This collection adds high-volume smelting jobs for military-grade metal ores and
produces weapons and armor:
- leather backpacks/waterskins/cloaks/quivers/armor
- leather backpacks/waterskins/quivers/armor
- silk cloaks
- bone/wooden bolts
- smelting for platinum, silver, steel, bronze, bismuth bronze, and copper (and
their dependencies)
- bronze/bismuth bronze/copper bolts
- silver/steel/iron/bismuth bronze/bronze/copper weapons and armor,
- steel/silver/iron/bismuth bronze/bronze/copper weapons and armor,
with checks to ensure only the best available materials are being used
- wooden shields (if metal isn't available)
If you set a stockpile to take weapons and armor of less than masterwork quality
and turn on `automelt` (like what `dreamfort` provides on its industry level),
@ -120,16 +125,6 @@ Make sure you have a lot of fuel (or magma forges and furnaces) before you turn
This file should only be imported, of course, if you need to equip a military.
:source:`library/military_include_artifact_materials <data/orders/military_include_artifact_materials.json>`
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
As above, but this collection will also allow creation of platinum blunt weapons.
Normally these are only created by artifact moods, work orders can't be created
manually for them.
- platinum/silver/steel/iron/bismuth bronze/bronze/copper weapons and armor,
with checks to ensure only the best available materials are being used
:source:`library/smelting <data/orders/smelting.json>`
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

@ -1471,16 +1471,8 @@ std::string Core::getHackPath()
#endif
}
bool Core::Init()
{
if(started)
return true;
if(errorstate)
return false;
// Lock the CoreSuspendMutex until the thread exits or call Core::Shutdown
// Core::Update will temporary unlock when there is any commands queued
MainThread::suspend().lock();
bool Core::InitMainThread() {
Filesystem::init();
// Re-route stdout and stderr again - DF seems to set up stdout and
// stderr.txt on Windows as of 0.43.05. Also, log before switching files to
@ -1496,8 +1488,6 @@ bool Core::Init()
if (!freopen("stderr.log", "w", stderr))
std::cerr << "Could not redirect stderr to stderr.log" << std::endl;
Filesystem::init();
std::cerr << "DFHack build: " << Version::git_description() << "\n"
<< "Starting with working directory: " << Filesystem::getcwd() << std::endl;
@ -1566,6 +1556,20 @@ bool Core::Init()
// Init global object pointers
df::global::InitGlobals();
return true;
}
bool Core::InitSimulationThread()
{
if(started)
return true;
if(errorstate)
return false;
// Lock the CoreSuspendMutex until the thread exits or call Core::Shutdown
// Core::Update will temporary unlock when there is any commands queued
MainThread::suspend().lock();
std::cerr << "Initializing Console.\n";
// init the console.
bool is_text_mode = (init && init->display.flag.is_set(init_display_flags::TEXT));
@ -1965,7 +1969,7 @@ int Core::Update()
if(!started)
{
// Initialize the core
Init();
InitSimulationThread();
if(errorstate)
return -1;
}

@ -1,31 +1,56 @@
#include "Core.h"
#include "Export.h"
#include "df/gamest.h"
static bool disabled = false;
// called from the main thread before the simulation thread is started
// and the main event loop is initiated
DFhackCExport void dfhooks_init() {
// TODO: initialize things we need to do while still in the main thread
if (getenv("DFHACK_DISABLE")) {
fprintf(stdout, "dfhack: DFHACK_DISABLE detected in environment; disabling\n");
disabled = true;
return;
}
// we need to init DF globals before we can check the commandline
if (!DFHack::Core::getInstance().InitMainThread() || !df::global::game)
return;
const std::string & cmdline = df::global::game->command_line.original;
if (cmdline.find("--disable-dfhack") != std::string::npos) {
fprintf(stdout, "dfhack: --disable-dfhack specified on commandline; disabling\n");
disabled = true;
}
}
// called from the main thread after the main event loops exits
DFhackCExport void dfhooks_shutdown() {
if (disabled)
return;
DFHack::Core::getInstance().Shutdown();
}
// called from the simulation thread in the main event loop
DFhackCExport void dfhooks_update() {
if (disabled)
return;
DFHack::Core::getInstance().Update();
}
// called from the simulation thread just before adding the macro
// recording/playback overlay
DFhackCExport void dfhooks_prerender() {
if (disabled)
return;
// TODO: render overlay widgets that are not attached to a viewscreen
}
// called from the main thread for each SDL event. if true is returned, then
// the event has been consumed and further processing shouldn't happen
DFhackCExport bool dfhooks_sdl_event(SDL::Event* event) {
if (disabled)
return false;
return DFHack::Core::getInstance().DFH_SDL_Event(event);
}
@ -34,5 +59,7 @@ DFhackCExport bool dfhooks_sdl_event(SDL::Event* event) {
// if true is returned, then the event has been consumed and further processing
// shouldn't happen
DFhackCExport bool dfhooks_ncurses_key(int key) {
if (disabled)
return false;
return DFHack::Core::getInstance().DFH_ncurses_key(key);
}

@ -150,7 +150,11 @@ int RemoteClient::GetDefaultPort()
if (in_file)
{
Json::Value config;
in_file >> config;
try {
in_file >> config;
} catch (const std::exception & e) {
std::cerr << "Error reading remote server config file: " << filename << ": " << e.what() << std::endl;
}
in_file.close();
if (config.isMember("port")) {
port = config["port"].asInt();

@ -420,17 +420,20 @@ ServerMainImpl::ServerMainImpl(std::promise<bool> promise, int port) :
Json::Value configJson;
std::ifstream inFile(filename, std::ios_base::in);
bool allow_remote = false;
if (inFile.is_open())
{
inFile >> configJson;
inFile.close();
allow_remote = configJson.get("allow_remote", "false").asBool();
std::ifstream inFile(filename, std::ios_base::in);
try {
if (inFile.is_open())
{
inFile >> configJson;
allow_remote = configJson.get("allow_remote", "false").asBool();
}
} catch (const std::exception & e) {
std::cerr << "Error reading remote server config file: " << filename << ": " << e.what() << std::endl;
std::cerr << "Reverting to remote server config to defaults" << std::endl;
}
inFile.close();
// rewrite/normalize config file
configJson["allow_remote"] = allow_remote;

@ -191,7 +191,8 @@ namespace DFHack
struct Private;
std::unique_ptr<Private> d;
bool Init();
bool InitMainThread();
bool InitSimulationThread();
int Update (void);
int Shutdown (void);
bool DFH_SDL_Event(SDL::Event* event);

@ -8,9 +8,9 @@ AutolaborOverlay = defclass(AutolaborOverlay, overlay.OverlayWidget)
AutolaborOverlay.ATTRS{
default_pos={x=7,y=-13},
default_enabled=true,
viewscreens='dwarfmode/Info/LABOR',
viewscreens='dwarfmode/Info/LABOR/WORK_DETAILS',
frame={w=29, h=5},
frame_style=gui.THIN_FRAME,
frame_style=gui.MEDIUM_FRAME,
frame_background=gui.CLEAR_PEN,
}

@ -292,7 +292,7 @@ local function load_widgets(env_name, env)
end
-- called directly from cpp on plugin enable
function reload()
function rescan()
reset()
for _,plugin in ipairs(dfhack.internal.listPlugins()) do
@ -317,7 +317,7 @@ dfhack.onStateChange[GLOBAL_KEY] = function(sc)
return
end
-- pick up widgets from active mods
reload()
rescan()
end
local function dump_widget_config(name, widget)

@ -128,7 +128,7 @@ DFhackCExport command_result plugin_enable(color_ostream &out, bool enable) {
if (enable) {
screenSize = Screen::getWindowSize();
call_overlay_lua(&out, "reload");
call_overlay_lua(&out, "rescan");
}
DEBUG(control).print("%sing interpose hooks\n", enable ? "enabl" : "disabl");

@ -1 +1 @@
Subproject commit 54bd83727df5f7048f5a7251b99ada1930e18ad9
Subproject commit 2554b931bfc23564de5bc7cb28eed673e82d06d3