diff --git a/game/engines/default/engine/generator/map/Static.lua b/game/engines/default/engine/generator/map/Static.lua index 929d1153b77948de88587d4fe25fdb36b96a4ba6..1726b35ca5302bceebc02c65d7e4cc8726145ed4 100644 --- a/game/engines/default/engine/generator/map/Static.lua +++ b/game/engines/default/engine/generator/map/Static.lua @@ -196,23 +196,22 @@ function _M:tmxLoad(file) end for _, tileset in ipairs(map:findAll("tileset")) do if tileset:findOne("properties") then for name, value in pairs(tileset:findOne("properties"):findAllAttrs("property", "name", "value")) do - -- setting .add_zone_lists = true in the file table causes the specified entity lists to be merged into a clone of the zone list local elist if name == "load_terrains" then local list = self:loadLuaInEnv(g, nil, "return "..value) or {} - if list.add_zone_lists then elist = table.clone(self.zone.grid_list) end + elist = table.clone(self.zone.grid_list, false) self.grid_list = self.zone.grid_class:loadList(list, nil, elist, nil, elist and elist.__loaded_files) elseif name == "load_traps" then local list = self:loadLuaInEnv(g, nil, "return "..value) or {} - if list.add_zone_lists then elist = table.clone(self.zone.trap_list) end + elist = table.clone(self.zone.trap_list, false) self.trap_list = self.zone.trap_class:loadList(list, nil, elist, nil, elist and elist.__loaded_files) elseif name == "load_objects" then local list = self:loadLuaInEnv(g, nil, "return "..value) or {} - if list.add_zone_lists then elist = table.clone(self.zone.object_list) end + elist = table.clone(self.zone.object_list, false) self.object_list = self.zone.object_class:loadList(list, nil, elist, nil, elist and elist.__loaded_files) elseif name == "load_actors" then local list = self:loadLuaInEnv(g, nil, "return "..value) or {} - if list.add_zone_lists then elist = table.clone(self.zone.npc_list) end + elist = table.clone(self.zone.npc_list, false) self.npc_list = self.zone.npc_class:loadList(list, nil, elist, nil, elist and elist.__loaded_files) end end end diff --git a/game/engines/default/engine/utils.lua b/game/engines/default/engine/utils.lua index 441842ac455440657faf51bc46cf076fe7f91115..1ff80c6541d381f8b391dd98f5136f881071d3de 100644 --- a/game/engines/default/engine/utils.lua +++ b/game/engines/default/engine/utils.lua @@ -2268,7 +2268,7 @@ function rng.rarityTable(t, rarity_field) local nb = math.floor(max / e[rarity_field]) for i = 1, nb do rt[#rt+1] = e end end - return rng.table(t) + return rng.table(rt) end function util.show_function_calls()