2024-03-18 15:31:53 -05:00
|
|
|
local map = {
|
|
|
|
map_tiles = {
|
2024-03-19 12:38:15 -05:00
|
|
|
{ "-", "-", "w", "w", "-", "-", "-", "-", "-", "-" },
|
2024-03-19 12:50:59 -05:00
|
|
|
{ "-", "_", "w", "w", "-", "-", "-", "-", "-", "-" },
|
2024-03-19 12:38:15 -05:00
|
|
|
{ "-", "-", "w", "w", "-", "w", "-", "-", "-", "-" },
|
|
|
|
{ "w", "-", "-", "-", "w", "w", "-", "-", "-", "-" },
|
2024-03-20 15:29:00 -05:00
|
|
|
{ "w", "-", "ww", "-", "-", "w", "w", "w", "-", "-" },
|
|
|
|
{ "w", "-", "ww", "-", "-", "w", "-", "-", "-", "-" },
|
|
|
|
{ "-", "-", "ww", "-", "-", "w", "-", "w", "-", "-" },
|
2024-03-19 12:38:15 -05:00
|
|
|
{ "-", "-", "-", "-", "-", "-", "-", "w", "-", "-" },
|
2024-03-20 15:29:00 -05:00
|
|
|
{ "-", "-", "ww", "-", "-", "-", "-", "w", "w", "-" },
|
|
|
|
{ "-", "-", "ww", "-", "-", "-", "-", "-", "w", "-" }
|
|
|
|
},
|
|
|
|
tileset = {
|
|
|
|
display = { "-", "_", "w", "ww" },
|
|
|
|
db = { "floor_stone,", "floor_wood", "wall_stone", "wall_wood" }
|
2024-03-18 15:31:53 -05:00
|
|
|
},
|
2024-03-18 19:38:28 -05:00
|
|
|
mapCrypt = function(self, tile)
|
2024-03-21 15:16:19 -05:00
|
|
|
-- stores tiles as detailed names within the DB
|
2024-03-20 15:29:00 -05:00
|
|
|
for i=1, #self.tileset.display do
|
|
|
|
if self.tileset.display[i] == tile then
|
|
|
|
return self.tileset.db[i]
|
|
|
|
end
|
2024-03-18 19:38:28 -05:00
|
|
|
end
|
|
|
|
end,
|
|
|
|
mapDecrypt = function(self, tile)
|
2024-03-21 15:16:19 -05:00
|
|
|
-- Decodes tiles into their type (represented by char) and their material
|
2024-03-19 12:38:15 -05:00
|
|
|
local tileset = {}
|
|
|
|
if string.find(tile, "wall") then
|
|
|
|
tileset.char = "w"
|
|
|
|
elseif string.find(tile, "floor") then
|
|
|
|
tileset.char = "-"
|
|
|
|
end
|
|
|
|
if string.find(tile, "stone") then
|
|
|
|
tileset.material = "stone"
|
|
|
|
elseif string.find(tile, "wood") then
|
|
|
|
tileset.material = "wood"
|
|
|
|
end
|
|
|
|
return tileset
|
2024-03-18 19:38:28 -05:00
|
|
|
end,
|
2024-03-19 11:45:08 -05:00
|
|
|
-- Map Populate / check if map exists
|
2024-03-20 15:36:08 -05:00
|
|
|
populate = function(self, map, game)
|
2024-03-19 12:38:15 -05:00
|
|
|
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]),
|
2024-03-20 15:36:08 -05:00
|
|
|
occupied_by_id = "",
|
|
|
|
game_ref = game
|
2024-03-19 12:38:15 -05:00
|
|
|
})
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end,
|
2024-03-21 17:48:24 -05:00
|
|
|
mapExists = function(self, map, game)
|
|
|
|
local f = map:find({game_ref = game})
|
|
|
|
if not f then
|
2024-03-19 12:38:15 -05:00
|
|
|
return false
|
|
|
|
else
|
|
|
|
return true
|
|
|
|
end
|
|
|
|
end,
|
2024-03-18 15:31:53 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
return map
|