From 0a3fbe9ecbcb0197310ab6877e4579b6e49ae8e3 Mon Sep 17 00:00:00 2001
From: DarkGod <darkgod@net-core.org>
Date: Thu, 4 Aug 2016 16:09:02 +0200
Subject: [PATCH] why hachem ? why ?? I dont see the point of this parameter
 and this *uterly* breaks any comlpex tmx file

---
 game/engines/default/engine/generator/map/Static.lua | 9 ++++-----
 game/engines/default/engine/utils.lua                | 2 +-
 2 files changed, 5 insertions(+), 6 deletions(-)

diff --git a/game/engines/default/engine/generator/map/Static.lua b/game/engines/default/engine/generator/map/Static.lua
index 929d1153b7..1726b35ca5 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 441842ac45..1ff80c6541 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()
-- 
GitLab