diff --git a/add-thought.lua b/add-thought.lua
index 40228356c1..b68916d30b 100644
--- a/add-thought.lua
+++ b/add-thought.lua
@@ -14,7 +14,7 @@ function addEmotionToUnit(unit,thought,emotion,severity,strength,subthought)
local properThought = tonumber(thought) or df.unit_thought_type[thought]
local properSubthought = tonumber(subthought)
if not properThought or not df.unit_thought_type[properThought] then
- for _,syn in ipairs(df.global.world.raws.syndromes.all) do
+ for _,syn in ipairs(df.global.world.raws.mat_table.syndromes.all) do
if syn.syn_name == thought then
properThought = df.unit_thought_type.Syndrome
properSubthought = syn.id
diff --git a/assign-preferences.lua b/assign-preferences.lua
index 86cc3fbf2f..9a8c1bdc6a 100644
--- a/assign-preferences.lua
+++ b/assign-preferences.lua
@@ -89,7 +89,7 @@ local preference_functions = {
mattype = mat_info.type,
matindex = mat_info.index,
mat_state = 0,
- active = true,
+ flags = {visible = true},
prefstring_seed = rng:random()
}
else
@@ -122,7 +122,7 @@ local preference_functions = {
mattype = -1,
matindex = -1,
mat_state = 0,
- active = true,
+ flags = {visible = true},
prefstring_seed = rng:random()
}
else
@@ -199,7 +199,7 @@ local preference_functions = {
mattype = mat_info.type,
matindex = mat_info.index,
mat_state = 1,
- active = true,
+ flags = {visible = true},
prefstring_seed = rng:random()
}
end
@@ -234,7 +234,7 @@ local preference_functions = {
mattype = -1,
matindex = -1,
mat_state = 0,
- active = true,
+ flags = {visible = true},
prefstring_seed = rng:random()
}
else
@@ -275,7 +275,7 @@ local preference_functions = {
mattype = -1,
matindex = -1,
mat_state = 0,
- active = true,
+ flags = {visible = true},
prefstring_seed = rng:random()
}
end
@@ -310,7 +310,7 @@ local preference_functions = {
mattype = -1,
matindex = -1,
mat_state = 0,
- active = true,
+ flags = {visible = true},
prefstring_seed = rng:random()
}
else
@@ -343,7 +343,7 @@ local preference_functions = {
mattype = -1,
matindex = -1,
mat_state = 0,
- active = true,
+ flags = {visible = true},
prefstring_seed = rng:random()
}
else
@@ -377,7 +377,7 @@ local preference_functions = {
mattype = -1,
matindex = -1,
mat_state = 0,
- active = true,
+ flags = {visible = true},
prefstring_seed = rng:random()
}
else
@@ -410,7 +410,7 @@ local preference_functions = {
mattype = -1,
matindex = -1,
mat_state = 0,
- active = true,
+ flags = {visible = true},
prefstring_seed = rng:random()
}
else
diff --git a/devel/export-dt-ini.lua b/devel/export-dt-ini.lua
index e1ea4439b7..cc58277e54 100644
--- a/devel/export-dt-ini.lua
+++ b/devel/export-dt-ini.lua
@@ -92,7 +92,7 @@ address('musical_forms_vector',globals,'world','musical_forms','all')
address('dance_forms_vector',globals,'world','dance_forms','all')
address('occupations_vector',globals,'world','occupations','all')
address('world_data',globals,'world','world_data')
-address('material_templates_vector',globals,'world','raws','material_templates')
+address('material_templates_vector',globals,'world','raws','material_templates','all')
address('inorganics_vector',globals,'world','raws','inorganics')
address('plants_vector',globals,'world','raws','plants','all')
address('races_vector',globals,'world','raws','creatures','all')
@@ -255,14 +255,14 @@ address('pants_armor_properties',df.itemdef_pantsst,'props')
address('other_armor_properties',df.itemdef_helmst,'props')
header('material_offsets')
-address('solid_name',df.material_common,'state_name','Solid')
-address('liquid_name',df.material_common,'state_name','Liquid')
-address('gas_name',df.material_common,'state_name','Gas')
-address('powder_name',df.material_common,'state_name','Powder')
-address('paste_name',df.material_common,'state_name','Paste')
-address('pressed_name',df.material_common,'state_name','Pressed')
-address('flags',df.material_common,'flags')
-address('reaction_class',df.material_common,'reaction_class')
+address('solid_name',df.material,'state_name','Solid')
+address('liquid_name',df.material,'state_name','Liquid')
+address('gas_name',df.material,'state_name','Gas')
+address('powder_name',df.material,'state_name','Powder')
+address('paste_name',df.material,'state_name','Paste')
+address('pressed_name',df.material,'state_name','Pressed')
+address('flags',df.material,'flags')
+address('reaction_class',df.material,'reaction_class')
address('prefix',df.material,'prefix')
address('inorganic_materials_vector',df.inorganic_raw,'material')
address('inorganic_flags',df.inorganic_raw,'flags')
@@ -320,7 +320,7 @@ address('size_info',df.unit,'body','size_info','size_cur')
address('size_base',df.unit,'body','size_info','size_base')
address('curse',df.unit,'curse','name')
address('curse_add_flags1',df.unit,'curse','add_tags1')
-address('turn_count',df.unit,'curse','time_on_site')
+address('turn_count',df.unit,'curse','interaction','time_on_site')
address('souls',df.unit,'status','souls')
address('states',df.unit,'status','misc_traits')
address('labors',df.unit,'status','labors')
diff --git a/devel/export-map.lua b/devel/export-map.lua
index 2fc9efd523..d01844a54b 100644
--- a/devel/export-map.lua
+++ b/devel/export-map.lua
@@ -158,7 +158,7 @@ local function setup_keys(options)
KEYS.MATERIAL.STONE = {}
KEYS.MATERIAL.GEM = {}
- for id, rock in ipairs(df.global.world.raws.inorganics) do
+ for id, rock in ipairs(df.global.world.raws.inorganics.all) do
local material = rock.material
local name = material.state_adj.Solid
KEYS.MATERIAL.SOLID[id] = name
diff --git a/devel/tree-info.lua b/devel/tree-info.lua
index 4bd9811ed5..7bf4b42e41 100644
--- a/devel/tree-info.lua
+++ b/devel/tree-info.lua
@@ -1,29 +1,57 @@
--Print a tree_info visualization of the tree at the cursor.
--@module = true
-local branch_dir =
-{
- [0] = ' ',
- [1] = string.char(26), --W
- [2] = string.char(25), --N
- [3] = string.char(217), --WN
- [4] = string.char(27), --E
- [5] = string.char(196), --WE
- [6] = string.char(192), --NE
- [7] = string.char(193), --WNE
- [8] = string.char(24), --S
- [9] = string.char(191), --WS
- [10] = string.char(179), --NS
- [11] = string.char(180), --WNS
- [12] = string.char(218), --ES
- [13] = string.char(194), --WES
- [14] = string.char(195), --NES
- [15] = string.char(197), --WNES
+-- [w][n][e][s]
+local branch_chars = {
+ [true]={
+ [true]={
+ [true]={
+ [true]=string.char(197), --WNES
+ [false]=string.char(193), --WNE
+ },
+ [false]={
+ [true]=string.char(180), --WNS
+ [false]=string.char(217), --WN
+ },
+ },
+ [false]={
+ [true]={
+ [true]=string.char(194), --WES
+ [false]=string.char(196), --WE
+ },
+ [false]={
+ [true]=string.char(191), --WS
+ [false]=string.char(26), --W
+ },
+ },
+ },
+ [false]={
+ [true]={
+ [true]={
+ [true]=string.char(195), --NES
+ [false]=string.char(192), --NE
+ },
+ [false]={
+ [true]=string.char(179), --NS
+ [false]=string.char(25), --N
+ },
+ },
+ [false]={
+ [true]={
+ [true]=string.char(218), --ES
+ [false]=string.char(27), --E
+ },
+ [false]={
+ [true]=string.char(24), --S
+ [false]=' ',
+ },
+ },
+ },
}
local function print_color(s, color)
dfhack.color(color)
- dfhack.print(s)
+ dfhack.print(dfhack.df2console(s))
dfhack.color(COLOR_RESET)
end
@@ -68,7 +96,7 @@ function printTreeTile(bits)
end
chars = chars-2
- print_color(' '..(branch_dir[bits.branches_dir] or '?'), COLOR_GREY)
+ print_color(' '..(branch_chars[bits.branch_w][bits.branch_n][bits.branch_e][bits.branch_s] or '?'), COLOR_GREY)
local dir = bits.parent_dir
if dir > 0 then
diff --git a/docs/fix/population-cap.rst b/docs/fix/population-cap.rst
index c1ebb9ae04..a2eed10bdd 100644
--- a/docs/fix/population-cap.rst
+++ b/docs/fix/population-cap.rst
@@ -5,7 +5,7 @@ fix/population-cap
:summary: Ensure the population cap is respected.
:tags: fort bugfix
-Run this if you continue to get migrant wave even after you have exceeded your
+Run this if you continue to get migrant waves even after you have exceeded your
set population cap.
The reason this tool is needed is that the game only updates the records of your
diff --git a/dwarf-op.lua b/dwarf-op.lua
index 207a481b84..3581e3004c 100644
--- a/dwarf-op.lua
+++ b/dwarf-op.lua
@@ -733,7 +733,7 @@ local seasons = {
'winter',
}
function GetWave(dwf)
- arrival_time = current_tick - dwf.curse.time_on_site;
+ arrival_time = current_tick - dwf.curse.interaction.time_on_site;
--print(string.format("Current year %s, arrival_time = %s, ticks_per_year = %s", df.global.cur_year, arrival_time, ticks_per_year))
arrival_year = df.global.cur_year + (arrival_time // ticks_per_year);
arrival_season = 1 + (arrival_time % ticks_per_year) // ticks_per_season;
diff --git a/exportlegends.lua b/exportlegends.lua
index 3e65abd68b..5ac72a0511 100644
--- a/exportlegends.lua
+++ b/exportlegends.lua
@@ -784,16 +784,16 @@ local function export_more_legends_xml()
file:write("\t\t"..(world.raws.creatures.all[event.race].caste[v].caste_id):lower().."\n")
end
elseif k == "interaction" and df.history_event_hf_does_interactionst:is_instance(event) then
- if #world.raws.interactions[v].sources > 0 then
- local str_1 = world.raws.interactions[v].sources[0].hist_string_1
+ if #world.raws.interactions.all[v].sources > 0 then
+ local str_1 = world.raws.interactions.all[v].sources[0].hist_string_1
if string.sub (str_1, 1, 1) == " " and string.sub (str_1, string.len (str_1), string.len (str_1)) == " " then
str_1 = string.sub (str_1, 2, string.len (str_1) - 1)
end
- file:write("\t\t"..str_1..world.raws.interactions[v].sources[0].hist_string_2.."\n")
+ file:write("\t\t"..str_1..world.raws.interactions.all[v].sources[0].hist_string_2.."\n")
end
elseif k == "interaction" and df.history_event_hf_learns_secretst:is_instance(event) then
- if #world.raws.interactions[v].sources > 0 then
- file:write("\t\t"..world.raws.interactions[v].sources[0].name.."\n")
+ if #world.raws.interactions.all[v].sources > 0 then
+ file:write("\t\t"..world.raws.interactions.all[v].sources[0].name.."\n")
end
elseif df.history_event_hist_figure_diedst:is_instance(event) and k == "weapon" then
for detailK,detailV in pairs(v) do
diff --git a/fix/population-cap.lua b/fix/population-cap.lua
index a68743b906..afa5ead765 100644
--- a/fix/population-cap.lua
+++ b/fix/population-cap.lua
@@ -1,27 +1,30 @@
-local ui = df.global.plotinfo
-local ui_stats = ui.tasks
-local civ = df.historical_entity.find(ui.civ_id)
+local plotinfo = df.global.plotinfo
+local tasks = plotinfo.tasks
+local knowledge = tasks.knowledge
-if not civ then
+local civ = df.historical_entity.find(plotinfo.civ_id)
+
+if not dfhack.isMapLoaded() or not dfhack.world.isFortressMode() or not civ then
qerror('No active fortress.')
end
local civ_stats = civ.activity_stats
-if not civ_stats then
- civ.activity_stats = {
- new = true,
- created_weapons = { resize = #ui_stats.created_weapons },
- discovered_creature_foods = { resize = #ui_stats.discovered_creature_foods },
- discovered_creatures = { resize = #ui_stats.discovered_creatures },
- discovered_plant_foods = { resize = #ui_stats.discovered_plant_foods },
- discovered_plants = { resize = #ui_stats.discovered_plants },
- }
- civ_stats = civ.activity_stats
+local function upsize(civ_vec, tasks_vec)
+ local tasks_vec_size = #tasks_vec
+ if #civ_vec < tasks_vec_size then
+ civ_vec:resize(tasks_vec_size)
+ end
end
+upsize(civ_stats.created_weapons, tasks.created_weapons)
+upsize(civ_stats.knowledge.discovered_creature_foods, knowledge.discovered_creature_foods)
+upsize(civ_stats.knowledge.discovered_creatures, knowledge.discovered_creatures)
+upsize(civ_stats.knowledge.discovered_plant_foods, knowledge.discovered_plant_foods)
+upsize(civ_stats.knowledge.discovered_plants, knowledge.discovered_plants)
+
-- Use max to keep at least some of the original caravan communication idea
-local new_pop = math.max(civ_stats.population, ui_stats.population)
+local new_pop = math.max(civ_stats.population, tasks.population)
if civ_stats.population ~= new_pop then
civ_stats.population = new_pop
diff --git a/fix/wildlife.lua b/fix/wildlife.lua
index c0d199259a..d5fc492815 100644
--- a/fix/wildlife.lua
+++ b/fix/wildlife.lua
@@ -46,7 +46,7 @@ end
local function refund_population(entry)
local epop = entry.pop
- for _,population in ipairs(df.global.world.populations) do
+ for _,population in ipairs(df.global.world.populations.all) do
local wpop = population.population
if population.quantity < 10000001 and
wpop.region_x == epop.region_x and
diff --git a/gui/autogems.lua b/gui/autogems.lua
index b0665c994c..3d84c6545d 100644
--- a/gui/autogems.lua
+++ b/gui/autogems.lua
@@ -39,7 +39,7 @@ CONFIG_KEY = "autogems/config"
blacklist = {}
gems = {}
-for id, raw in pairs(df.global.world.raws.inorganics) do
+for id, raw in pairs(df.global.world.raws.inorganics.all) do
if raw.material.flags.IS_GEM then
if blacklist[id] == nil then
blacklist[id] = false
@@ -97,7 +97,7 @@ end
function save()
local save_blacklist = {}
- for id in ipairs(df.global.world.raws.inorganics) do
+ for id in ipairs(df.global.world.raws.inorganics.all) do
if blacklist[id] then
table.insert(save_blacklist, id)
end
diff --git a/gui/dfstatus.lua b/gui/dfstatus.lua
index 0349c0e06c..25c073a51f 100644
--- a/gui/dfstatus.lua
+++ b/gui/dfstatus.lua
@@ -31,7 +31,7 @@ config = {
function parse_config()
local metal_map = {}
- for id, raw in pairs(df.global.world.raws.inorganics) do
+ for id, raw in pairs(df.global.world.raws.inorganics.all) do
if raw.material.flags.IS_METAL then
metal_map[raw.id:upper()] = id
metal_map[id] = raw.id:upper()
diff --git a/gui/sandbox.lua b/gui/sandbox.lua
index 8418c79377..29e93b51ce 100644
--- a/gui/sandbox.lua
+++ b/gui/sandbox.lua
@@ -238,7 +238,7 @@ end
function Sandbox:find_zombie_syndrome()
if self.zombie_syndrome then return self.zombie_syndrome end
- for _,syn in ipairs(df.global.world.raws.syndromes.all) do
+ for _,syn in ipairs(df.global.world.raws.mat_table.syndromes.all) do
local has_flags, has_flash = false, false
for _,effect in ipairs(syn.ce) do
if df.creature_interaction_effect_display_namest:is_instance(effect) then
diff --git a/gui/tiletypes.lua b/gui/tiletypes.lua
index c568ad8fa3..193f1ca0bb 100644
--- a/gui/tiletypes.lua
+++ b/gui/tiletypes.lua
@@ -1739,7 +1739,7 @@ function TiletypeScreen:generateDataLists()
data_lists.stone_list = { { text = "none", value = -1 } }
data_lists.stone_dict = { [-1] = { label= "NONE", value= -1, pen= itemColor("NONE") } }
- for i,mat in ipairs(df.global.world.raws.inorganics) do
+ for i,mat in ipairs(df.global.world.raws.inorganics.all) do
if mat and mat.material
and not mat.flags[df.inorganic_flags.SOIL_ANY]
and not mat.material.flags[df.material_flags.IS_METAL]
diff --git a/gui/unit-syndromes.lua b/gui/unit-syndromes.lua
index b789bfd97d..52830f0383 100644
--- a/gui/unit-syndromes.lua
+++ b/gui/unit-syndromes.lua
@@ -256,7 +256,7 @@ local function getSyndromeName(syndrome_raw)
end
local function getSyndromeEffects(syndrome_type)
- local syndrome_raw = df.global.world.raws.syndromes.all[syndrome_type]
+ local syndrome_raw = df.global.world.raws.mat_table.syndromes.all[syndrome_type]
local syndrome_effects = {}
for _, effect in ipairs(syndrome_raw.ce) do
@@ -442,7 +442,7 @@ function UnitSyndromes:showUnits(_, choice)
local choices = {}
if choice.text == "All syndromes" then
- for _, syndrome in pairs(df.global.world.raws.syndromes.all) do
+ for _, syndrome in pairs(df.global.world.raws.mat_table.syndromes.all) do
if #syndrome.ce == 0 then
goto skipsyndrome
end
@@ -491,7 +491,7 @@ function UnitSyndromes:showUnitSyndromes(index, choice)
end
for _, syndrome in pairs(unit_syndromes) do
- local syndrome_raw = df.global.world.raws.syndromes.all[syndrome.type]
+ local syndrome_raw = df.global.world.raws.mat_table.syndromes.all[syndrome.type]
if #syndrome_raw.ce == 0 then
goto skipsyndrome
diff --git a/internal/caravan/common.lua b/internal/caravan/common.lua
index ec53bd585e..d0974c91f5 100644
--- a/internal/caravan/common.lua
+++ b/internal/caravan/common.lua
@@ -334,7 +334,7 @@ end
function get_banned_items()
local banned_items = {}
- for _, mandate in ipairs(df.global.world.mandates) do
+ for _, mandate in ipairs(df.global.world.mandates.all) do
if mandate.mode == df.mandate_type.Export then
register_item_type(banned_items, mandate)
end
diff --git a/internal/caravan/predicates.lua b/internal/caravan/predicates.lua
index 6780e46e55..695a9db06c 100644
--- a/internal/caravan/predicates.lua
+++ b/internal/caravan/predicates.lua
@@ -11,7 +11,7 @@ end
local PREDICATE_LIBRARY = {
{name='weapons-grade metal', match=function(item)
if item:getMaterial() ~= 0 then return false end
- local flags = df.global.world.raws.inorganics[item:getMaterialIndex()].material.flags
+ local flags = df.global.world.raws.inorganics.all[item:getMaterialIndex()].material.flags
return flags.IS_METAL and
(flags.ITEMS_METAL or flags.ITEMS_WEAPON or flags.ITEMS_WEAPON_RANGED or flags.ITEMS_AMMO or flags.ITEMS_ARMOR)
end},
diff --git a/internal/notify/notifications.lua b/internal/notify/notifications.lua
index 7990149712..d51d930100 100644
--- a/internal/notify/notifications.lua
+++ b/internal/notify/notifications.lua
@@ -383,7 +383,7 @@ NOTIFICATIONS_BY_IDX = {
default=true,
dwarf_fn=function()
local count = 0
- for _, mandate in ipairs(df.global.world.mandates) do
+ for _, mandate in ipairs(df.global.world.mandates.all) do
if mandate.mode == df.mandate_type.Make and
mandate.timeout_limit - mandate.timeout_counter < 2500
then
diff --git a/internal/quickfort/stockflow.lua b/internal/quickfort/stockflow.lua
index 42b54e148b..098297a951 100644
--- a/internal/quickfort/stockflow.lua
+++ b/internal/quickfort/stockflow.lua
@@ -116,7 +116,7 @@ function collect_reactions()
reaction_entry(result, job_types.CatchLiveFish)
-- Cutting, encrusting, and metal extraction.
- local rock_types = df.global.world.raws.inorganics
+ local rock_types = df.global.world.raws.inorganics.all
for rock_id = #rock_types-1, 0, -1 do
local material = rock_types[rock_id].material
local rock_name = material.state_adj.Solid
diff --git a/launch.lua b/launch.lua
index 763eace9ad..57cf1ef40d 100644
--- a/launch.lua
+++ b/launch.lua
@@ -20,7 +20,7 @@ function launch(unitSource,unitRider)
local count=0
- local l = df.global.world.proj_list
+ local l = df.global.world.projectiles.all
local lastlist=l
l=l.next
while l do
diff --git a/locate-ore.lua b/locate-ore.lua
index a9e027fbbf..4bad5386ef 100644
--- a/locate-ore.lua
+++ b/locate-ore.lua
@@ -49,7 +49,7 @@ end
local function matchesMetalOreById(mat_indices, target_ore)
for _, mat_index in ipairs(mat_indices) do
- local metal_raw = df.global.world.raws.inorganics[mat_index]
+ local metal_raw = df.global.world.raws.inorganics.all[mat_index]
if metal_raw ~= nil and string.lower(metal_raw.id) == target_ore then
return true
end
@@ -77,7 +77,7 @@ local function findOres(opts, check_designation, target_ore)
goto skipevent
end
- local ino_raw = df.global.world.raws.inorganics[bevent.inorganic_mat]
+ local ino_raw = df.global.world.raws.inorganics.all[bevent.inorganic_mat]
if not ino_raw.flags.METAL_ORE then
goto skipevent
end
@@ -131,7 +131,7 @@ local function getOreDescription(opts, vein)
local visible = opts.all and '' or 'visible '
local str = ('%5d %stile(s) of %s ('):format(#vein.positions, visible, tostring(vein.inorganic_id):lower())
for _, mat_index in ipairs(vein.metal_ore.mat_index) do
- local metal_raw = df.global.world.raws.inorganics[mat_index]
+ local metal_raw = df.global.world.raws.inorganics.all[mat_index]
str = ('%s%s, '):format(str, string.lower(metal_raw.id))
end
diff --git a/makeown.lua b/makeown.lua
index a0cbae4a71..244c83a93c 100644
--- a/makeown.lua
+++ b/makeown.lua
@@ -69,11 +69,11 @@ function clear_enemy_status(unit)
status_cache.slot_used[status_slot] = false
for index in ipairs(status_cache.rel_map[status_slot]) do
- status_cache.rel_map[status_slot][index] = -1
+ status_cache.rel_map[status_slot][index].ur = -1
end
for index in ipairs(status_cache.rel_map) do
- status_cache.rel_map[index][status_slot] = -1
+ status_cache.rel_map[index][status_slot].ur = -1
end
-- TODO: what if there were status slots taken above status_slot?
diff --git a/modtools/add-syndrome.lua b/modtools/add-syndrome.lua
index 198193ae3c..5cbd330467 100644
--- a/modtools/add-syndrome.lua
+++ b/modtools/add-syndrome.lua
@@ -88,7 +88,7 @@ local syndrome
if tonumber(args.syndrome) then
syndrome = df.syndrome.find(tonumber(args.syndrome))
else
- for _,syn in ipairs(df.global.world.raws.syndromes.all) do
+ for _,syn in ipairs(df.global.world.raws.mat_table.syndromes.all) do
if syn.syn_name == args.syndrome then
syndrome = syn
break
diff --git a/modtools/create-unit.lua b/modtools/create-unit.lua
index e612d3d894..4fce4e4f4b 100644
--- a/modtools/create-unit.lua
+++ b/modtools/create-unit.lua
@@ -903,7 +903,7 @@ function domesticateUnit(unit)
unit.animal.population.region_y = -1
unit.animal.population.unk_28 = -1
unit.animal.population.population_idx = -1
- unit.animal.population.depth = -1
+ unit.animal.population.layer_depth = -1
-- And make them tame (from Dirst)
unit.flags1.tame = true
@@ -924,7 +924,7 @@ function wildUnit(unit)
end
unit.animal.population.unk_28 = -1
unit.animal.population.population_idx = -1 -- Eventually want to make a real population
- unit.animal.population.depth = -1 -- Eventually this should be a parameter
+ unit.animal.population.layer_depth = -1 -- Eventually this should be a parameter
unit.animal.leave_countdown = 99999 -- Eventually this should be a parameter
unit.flags2.roaming_wilderness_population_source = true
unit.flags2.roaming_wilderness_population_source_not_a_map_feature = true
diff --git a/modtools/reaction-trigger-transition.lua b/modtools/reaction-trigger-transition.lua
index 139c4f85cd..0f139e5eb9 100644
--- a/modtools/reaction-trigger-transition.lua
+++ b/modtools/reaction-trigger-transition.lua
@@ -34,7 +34,7 @@ for _,reaction in ipairs(df.global.world.raws.reactions.reactions) do
if product.mat_index < 0 then
return
end
- local inorganic = df.global.world.raws.inorganics[product.mat_index]
+ local inorganic = df.global.world.raws.inorganics.all[product.mat_index]
local didInorganicName
for _,syndrome in ipairs(inorganic.material.syndrome.syndrome) do
local workerOnly = true
diff --git a/modtools/reaction-trigger.lua b/modtools/reaction-trigger.lua
index 5514a01513..813fd3aa7a 100644
--- a/modtools/reaction-trigger.lua
+++ b/modtools/reaction-trigger.lua
@@ -15,7 +15,7 @@ eventful.onUnload.reactionTrigger = function()
end
local function findSyndrome(name)
- for _,syndrome in ipairs(df.global.world.raws.syndromes.all) do
+ for _,syndrome in ipairs(df.global.world.raws.mat_table.syndromes.all) do
if syndrome.syn_name == name then
return syndrome
end
diff --git a/modtools/syndrome-trigger.lua b/modtools/syndrome-trigger.lua
index 861848ac77..1718668337 100644
--- a/modtools/syndrome-trigger.lua
+++ b/modtools/syndrome-trigger.lua
@@ -133,7 +133,7 @@ function processSyndrome(syndrome)
end
local synFound = false
-for _,syn in ipairs(df.global.world.raws.syndromes.all) do
+for _,syn in ipairs(df.global.world.raws.mat_table.syndromes.all) do
local matchedSyn = false
if args.syndrome then
if syn.syn_name == args.syndrome then
diff --git a/pref-adjust.lua b/pref-adjust.lua
index 22b3b3b70d..5881028ffb 100644
--- a/pref-adjust.lua
+++ b/pref-adjust.lua
@@ -158,7 +158,7 @@ end
function build_all_lists(printflag)
list_of_inorganics={} -- Type 0 "Likes iron.."
list_of_inorganics_string=""
- vec=df.global.world.raws.inorganics -- also df.global.world.raws.inorganics_subset[0].id available
+ vec=df.global.world.raws.inorganics.all -- also df.global.world.raws.inorganics.cheap[0].id available
for k=0,#vec-1 do
name=vec[k].id
list_of_inorganics[name]=k
diff --git a/region-pops.lua b/region-pops.lua
index 80f73ceaab..15d249604c 100644
--- a/region-pops.lua
+++ b/region-pops.lua
@@ -70,7 +70,7 @@ function enum_populations()
end
end
- for i,v in ipairs(df.global.world.populations) do
+ for i,v in ipairs(df.global.world.populations.all) do
local typeid = df.world_population_type[v.type]
local is_plant = is_plant_map[typeid]
diff --git a/starvingdead.lua b/starvingdead.lua
index f1519c8c0f..42742d5a28 100644
--- a/starvingdead.lua
+++ b/starvingdead.lua
@@ -65,7 +65,7 @@ function StarvingDead:checkDecay()
attribute.value = math.floor(attribute.value - (attribute.value * self.attribute_decay))
end
- if unit.curse.time_on_site > (self.death_threshold * 33600) then
+ if unit.curse.interaction.time_on_site > (self.death_threshold * 33600) then
unit.animal.vanish_countdown = 1
end
end
diff --git a/workorder.lua b/workorder.lua
index 32837e7560..21a3d7bde2 100644
--- a/workorder.lua
+++ b/workorder.lua
@@ -342,7 +342,7 @@ function create_orders(orders, quiet)
if it2["bearing"] then
local bearing = it2["bearing"]
local idx
- for i, raw in ipairs(world.raws.inorganics) do
+ for i, raw in ipairs(world.raws.inorganics.all) do
if raw.id == bearing then
idx = i
break