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