local map = { map_tiles = { {"-", "-", "w", "w", "-", "-", "-", "-", "-", "-"}, {"-", "-", "w", "w", "-", "-", "-", "-", "-", "-"}, {"-", "-", "w", "w", "-", "w", "-", "-", "-", "-"}, {"w", "-", "-", "-", "w", "w", "-", "-", "-", "-"}, {"w", "-", "w", "-", "-", "w", "w", "w", "-", "-"}, {"w", "-", "w", "-", "-", "w", "-", "-", "-", "-"}, {"-", "-", "w", "-", "-", "w", "-", "w", "-", "-"}, {"-", "-", "-", "-", "-", "-", "-", "w", "-", "-"}, {"-", "-", "w", "-", "-", "-", "-", "w", "w", "-"}, {"-", "-", "w", "-", "-", "-", "-", "-", "w", "-"} }, mapCrypt = function(self, tile) if tile == "-" then return "floor_stone" elseif tile == "w" then return "wall_stone" end end, mapDecrypt = function(self, tile) -- TODO: Rework function so it returns both char and mat type -- This introduces breaking changes local tileset = {} if string.find(tile, "wall") then tileset[1] = "w" elseif string.find(tile, "floor") then tileset[1] = "-" end if string.find(tile, "stone") then tileset[2] = "stone" elseif string.find(tile, "wood") then tileset[2] = "wood" end return tileset -- if tile == "floor_stone" then -- return "-" -- elseif tile == "wall_stone" then -- return "w" -- end end, -- Map Populate / check if map exists populate = function(self, map) for h=1,10 do for i=1,10 do local tile = map:create({ x = h, y = i, occupied_by_type = self:mapCrypt(self.map_tiles[h][i]), occupied_by_id = "" }) end end end, mapExists = function(self, map) local f = map:select("limit 1") if not f[1] then return false else return true end end, } local tiles = {} return map