Peradventure/lua_scripts/map.lua

82 lines
1.9 KiB
Lua
Raw Normal View History

2024-03-18 15:31:53 -05:00
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", "-"}
},
2024-03-18 19:38:28 -05:00
mapCrypt = function(self, tile)
if tile == "-" then
return "floor_stone"
elseif tile == "w" then
return "wall_stone"
end
end,
mapDecrypt = function(self, tile)
2024-03-19 12:22:05 -05:00
-- 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
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-18 15:31:53 -05:00
populate = function(self, map)
2024-03-18 19:38:28 -05:00
for h=1,10 do
2024-03-18 15:31:53 -05:00
for i=1,10 do
local tile = map:create({
x = h,
y = i,
2024-03-18 19:38:28 -05:00
occupied_by_type = self:mapCrypt(self.map_tiles[h][i]),
2024-03-18 15:31:53 -05:00
occupied_by_id = ""
})
end
end
2024-03-18 19:06:37 -05:00
end,
mapExists = function(self, map)
local f = map:select("limit 1")
if not f[1] then
return false
else
return true
end
2024-03-19 11:45:08 -05:00
end,
2024-03-18 15:31:53 -05:00
}
local tiles = {}
return map
2024-03-18 19:38:28 -05:00