- Created room1.tmx and room1.lua for the first room in the game, including tiles, collision objects, and NPCs. - Added room2.tmx and room2.lua for the second room, featuring tiles, collision objects, and an enemy. - Introduced a world template to manage map transitions and layout. - Implemented a new tileset (castle.tsx and castle.lua) for the castle theme, including tile properties and image references.
551 lines
14 KiB
Lua
551 lines
14 KiB
Lua
return {
|
|
version = "1.5",
|
|
luaversion = "5.1",
|
|
tiledversion = "1.8.4",
|
|
orientation = "orthogonal",
|
|
renderorder = "right-down",
|
|
width = 20,
|
|
height = 24,
|
|
tilewidth = 40,
|
|
tileheight = 40,
|
|
nextlayerid = 6,
|
|
nextobjectid = 37,
|
|
properties = {
|
|
["name"] = "Test Map - Room 1"
|
|
},
|
|
tilesets = {
|
|
{
|
|
name = "castle",
|
|
firstgid = 1,
|
|
filename = "../tilesets/castle.tsx"
|
|
}
|
|
},
|
|
layers = {
|
|
{
|
|
type = "tilelayer",
|
|
x = 0,
|
|
y = 0,
|
|
width = 20,
|
|
height = 24,
|
|
id = 1,
|
|
name = "tiles",
|
|
visible = true,
|
|
opacity = 1,
|
|
offsetx = 0,
|
|
offsety = 0,
|
|
parallaxx = 1,
|
|
parallaxy = 1,
|
|
properties = {},
|
|
encoding = "lua",
|
|
data = {
|
|
0, 22, 13, 23, 23, 13, 23, 23, 23, 13, 23, 23, 13, 24, 0, 0, 0, 0, 0, 0,
|
|
0, 22, 23, 23, 23, 23, 23, 21, 23, 23, 23, 23, 23, 24, 0, 0, 0, 0, 0, 0,
|
|
0, 26, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 28, 0, 0, 0, 0, 0, 0,
|
|
0, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 0, 0, 0, 0, 0, 0,
|
|
0, 10, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 12, 0, 0, 0, 0, 0, 0,
|
|
0, 10, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 7, 7, 7, 7, 7, 7,
|
|
0, 10, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 15, 15, 15, 15, 15, 15,
|
|
0, 10, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 12, 0, 0, 0, 0, 0, 0,
|
|
0, 14, 15, 15, 11, 11, 11, 11, 11, 11, 11, 15, 15, 16, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 14, 15, 11, 11, 11, 15, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 2, 3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 2, 3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 2, 3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 2, 3, 4, 0, 0, 0, 0, 0, 0, 0, 18, 19, 20, 0,
|
|
0, 0, 0, 0, 0, 0, 2, 3, 4, 0, 0, 0, 0, 0, 0, 0, 22, 23, 24, 0,
|
|
0, 0, 0, 0, 0, 0, 2, 3, 4, 0, 0, 0, 0, 0, 0, 0, 22, 9, 24, 0,
|
|
0, 0, 0, 0, 0, 0, 2, 3, 4, 0, 0, 0, 0, 0, 0, 0, 10, 11, 12, 0,
|
|
0, 0, 0, 0, 0, 0, 2, 3, 4, 0, 0, 0, 0, 0, 0, 0, 10, 11, 12, 0,
|
|
0, 6, 7, 7, 7, 7, 11, 11, 11, 7, 7, 7, 7, 7, 7, 7, 11, 11, 12, 0,
|
|
0, 10, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 15, 15, 15, 15, 16, 0,
|
|
0, 10, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 12, 0, 0, 0, 0, 0, 0,
|
|
0, 10, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 12, 0, 0, 0, 0, 0, 0,
|
|
0, 14, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 16, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
|
|
}
|
|
},
|
|
{
|
|
type = "tilelayer",
|
|
x = 0,
|
|
y = 0,
|
|
width = 20,
|
|
height = 24,
|
|
id = 2,
|
|
name = "decal",
|
|
visible = true,
|
|
opacity = 1,
|
|
offsetx = 0,
|
|
offsety = 0,
|
|
parallaxx = 1,
|
|
parallaxy = 1,
|
|
properties = {},
|
|
encoding = "lua",
|
|
data = {
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 30, 31, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 34, 35, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 38, 39, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
|
|
}
|
|
},
|
|
{
|
|
type = "objectgroup",
|
|
draworder = "topdown",
|
|
id = 3,
|
|
name = "collision",
|
|
visible = true,
|
|
opacity = 0.5,
|
|
offsetx = 0,
|
|
offsety = 0,
|
|
parallaxx = 1,
|
|
parallaxy = 1,
|
|
properties = {},
|
|
objects = {
|
|
{
|
|
id = 1,
|
|
name = "",
|
|
type = "",
|
|
shape = "rectangle",
|
|
x = 40,
|
|
y = 80,
|
|
width = 520,
|
|
height = 40,
|
|
rotation = 0,
|
|
visible = true,
|
|
properties = {}
|
|
},
|
|
{
|
|
id = 2,
|
|
name = "",
|
|
type = "",
|
|
shape = "rectangle",
|
|
x = 560,
|
|
y = 120,
|
|
width = 40,
|
|
height = 80,
|
|
rotation = 0,
|
|
visible = true,
|
|
properties = {}
|
|
},
|
|
{
|
|
id = 3,
|
|
name = "",
|
|
type = "",
|
|
shape = "rectangle",
|
|
x = 600,
|
|
y = 160,
|
|
width = 200,
|
|
height = 40,
|
|
rotation = 0,
|
|
visible = true,
|
|
properties = {}
|
|
},
|
|
{
|
|
id = 4,
|
|
name = "",
|
|
type = "",
|
|
shape = "rectangle",
|
|
x = 560,
|
|
y = 280,
|
|
width = 40,
|
|
height = 80,
|
|
rotation = 0,
|
|
visible = true,
|
|
properties = {}
|
|
},
|
|
{
|
|
id = 5,
|
|
name = "",
|
|
type = "",
|
|
shape = "rectangle",
|
|
x = 600,
|
|
y = 280,
|
|
width = 200,
|
|
height = 40,
|
|
rotation = 0,
|
|
visible = true,
|
|
properties = {}
|
|
},
|
|
{
|
|
id = 6,
|
|
name = "",
|
|
type = "",
|
|
shape = "rectangle",
|
|
x = 440,
|
|
y = 360,
|
|
width = 120,
|
|
height = 40,
|
|
rotation = 0,
|
|
visible = true,
|
|
properties = {}
|
|
},
|
|
{
|
|
id = 7,
|
|
name = "",
|
|
type = "",
|
|
shape = "rectangle",
|
|
x = 360,
|
|
y = 400,
|
|
width = 80,
|
|
height = 40,
|
|
rotation = 0,
|
|
visible = true,
|
|
properties = {}
|
|
},
|
|
{
|
|
id = 8,
|
|
name = "",
|
|
type = "",
|
|
shape = "rectangle",
|
|
x = 360,
|
|
y = 680,
|
|
width = 280,
|
|
height = 40,
|
|
rotation = 0,
|
|
visible = true,
|
|
properties = {}
|
|
},
|
|
{
|
|
id = 9,
|
|
name = "",
|
|
type = "",
|
|
shape = "rectangle",
|
|
x = 560,
|
|
y = 800,
|
|
width = 40,
|
|
height = 120,
|
|
rotation = 0,
|
|
visible = true,
|
|
properties = {}
|
|
},
|
|
{
|
|
id = 10,
|
|
name = "",
|
|
type = "",
|
|
shape = "rectangle",
|
|
x = 40,
|
|
y = 920,
|
|
width = 520,
|
|
height = 40,
|
|
rotation = 0,
|
|
visible = true,
|
|
properties = {}
|
|
},
|
|
{
|
|
id = 11,
|
|
name = "",
|
|
type = "",
|
|
shape = "rectangle",
|
|
x = 0,
|
|
y = 720,
|
|
width = 40,
|
|
height = 200,
|
|
rotation = 0,
|
|
visible = true,
|
|
properties = {}
|
|
},
|
|
{
|
|
id = 12,
|
|
name = "",
|
|
type = "",
|
|
shape = "rectangle",
|
|
x = 40,
|
|
y = 680,
|
|
width = 200,
|
|
height = 40,
|
|
rotation = 0,
|
|
visible = true,
|
|
properties = {}
|
|
},
|
|
{
|
|
id = 14,
|
|
name = "",
|
|
type = "",
|
|
shape = "rectangle",
|
|
x = 160,
|
|
y = 400,
|
|
width = 80,
|
|
height = 40,
|
|
rotation = 0,
|
|
visible = true,
|
|
properties = {}
|
|
},
|
|
{
|
|
id = 15,
|
|
name = "",
|
|
type = "",
|
|
shape = "rectangle",
|
|
x = 40,
|
|
y = 360,
|
|
width = 120,
|
|
height = 40,
|
|
rotation = 0,
|
|
visible = true,
|
|
properties = {}
|
|
},
|
|
{
|
|
id = 16,
|
|
name = "",
|
|
type = "",
|
|
shape = "rectangle",
|
|
x = 0,
|
|
y = 120,
|
|
width = 40,
|
|
height = 240,
|
|
rotation = 0,
|
|
visible = true,
|
|
properties = {}
|
|
},
|
|
{
|
|
id = 17,
|
|
name = "",
|
|
type = "",
|
|
shape = "rectangle",
|
|
x = 200,
|
|
y = 440,
|
|
width = 40,
|
|
height = 240,
|
|
rotation = 0,
|
|
visible = true,
|
|
properties = {}
|
|
},
|
|
{
|
|
id = 18,
|
|
name = "",
|
|
type = "",
|
|
shape = "rectangle",
|
|
x = 360,
|
|
y = 440,
|
|
width = 40,
|
|
height = 240,
|
|
rotation = 0,
|
|
visible = true,
|
|
properties = {}
|
|
},
|
|
{
|
|
id = 23,
|
|
name = "",
|
|
type = "",
|
|
shape = "rectangle",
|
|
x = 600,
|
|
y = 640,
|
|
width = 40,
|
|
height = 40,
|
|
rotation = 0,
|
|
visible = true,
|
|
properties = {}
|
|
},
|
|
{
|
|
id = 24,
|
|
name = "",
|
|
type = "",
|
|
shape = "rectangle",
|
|
x = 640,
|
|
y = 600,
|
|
width = 120,
|
|
height = 40,
|
|
rotation = 0,
|
|
visible = true,
|
|
properties = {}
|
|
},
|
|
{
|
|
id = 25,
|
|
name = "",
|
|
type = "",
|
|
shape = "rectangle",
|
|
x = 760,
|
|
y = 640,
|
|
width = 40,
|
|
height = 160,
|
|
rotation = 0,
|
|
visible = true,
|
|
properties = {}
|
|
},
|
|
{
|
|
id = 26,
|
|
name = "",
|
|
type = "",
|
|
shape = "rectangle",
|
|
x = 600,
|
|
y = 800,
|
|
width = 160,
|
|
height = 40,
|
|
rotation = 0,
|
|
visible = true,
|
|
properties = {}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
type = "objectgroup",
|
|
draworder = "topdown",
|
|
id = 4,
|
|
name = "objects",
|
|
visible = true,
|
|
opacity = 1,
|
|
offsetx = 0,
|
|
offsety = 0,
|
|
parallaxx = 1,
|
|
parallaxy = 1,
|
|
properties = {},
|
|
objects = {
|
|
{
|
|
id = 19,
|
|
name = "npc",
|
|
type = "",
|
|
shape = "rectangle",
|
|
x = 480,
|
|
y = 840,
|
|
width = 40,
|
|
height = 40,
|
|
rotation = 0,
|
|
visible = true,
|
|
properties = {
|
|
["actor"] = "starwalker",
|
|
["text1"] = "* These [color:yellow]stairs[color:reset] are [color:yellow]Pissing[color:reset] me\noff...",
|
|
["text2"] = "* I'm the original [color:yellow]Starwalker[color:reset]"
|
|
}
|
|
},
|
|
{
|
|
id = 27,
|
|
name = "savepoint",
|
|
type = "",
|
|
shape = "rectangle",
|
|
x = 80,
|
|
y = 210,
|
|
width = 40,
|
|
height = 40,
|
|
rotation = 0,
|
|
visible = true,
|
|
properties = {
|
|
["text1"] = "* Silence echoes in the darkness\nof this familiar-yet-different\nscenery.",
|
|
["text2"] = "* The power of avoiding copying\nofficial music shines within\nyou."
|
|
}
|
|
},
|
|
{
|
|
id = 28,
|
|
name = "squeak",
|
|
type = "",
|
|
shape = "rectangle",
|
|
x = 680,
|
|
y = 600,
|
|
width = 40,
|
|
height = 40,
|
|
rotation = 0,
|
|
visible = true,
|
|
properties = {}
|
|
},
|
|
{
|
|
id = 29,
|
|
name = "transition",
|
|
type = "",
|
|
shape = "rectangle",
|
|
x = 800,
|
|
y = 200,
|
|
width = 40,
|
|
height = 80,
|
|
rotation = 0,
|
|
visible = true,
|
|
properties = {
|
|
["map"] = "room2",
|
|
["marker"] = "entry"
|
|
}
|
|
},
|
|
{
|
|
id = 33,
|
|
name = "interactable",
|
|
type = "",
|
|
shape = "rectangle",
|
|
x = 280,
|
|
y = 80,
|
|
width = 40,
|
|
height = 40,
|
|
rotation = 0,
|
|
visible = true,
|
|
properties = {
|
|
["cutscene"] = "room1.wall",
|
|
["once"] = true
|
|
}
|
|
},
|
|
{
|
|
id = 35,
|
|
name = "npc",
|
|
type = "",
|
|
shape = "point",
|
|
x = 300,
|
|
y = 160,
|
|
width = 0,
|
|
height = 0,
|
|
rotation = 0,
|
|
visible = true,
|
|
properties = {
|
|
["actor"] = "wall",
|
|
["flagcheck"] = "wall_hit",
|
|
["text1"] = "* I Am the Wall Guardian.[wait:5]\n* This Wall is Off Limits for you\nno-good wall slammers."
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
type = "objectgroup",
|
|
draworder = "topdown",
|
|
id = 5,
|
|
name = "markers",
|
|
visible = true,
|
|
opacity = 1,
|
|
offsetx = 0,
|
|
offsety = 0,
|
|
parallaxx = 1,
|
|
parallaxy = 1,
|
|
properties = {},
|
|
objects = {
|
|
{
|
|
id = 20,
|
|
name = "spawn",
|
|
type = "",
|
|
shape = "point",
|
|
x = 300,
|
|
y = 250,
|
|
width = 0,
|
|
height = 0,
|
|
rotation = 0,
|
|
visible = true,
|
|
properties = {}
|
|
},
|
|
{
|
|
id = 30,
|
|
name = "entry",
|
|
type = "",
|
|
shape = "point",
|
|
x = 760,
|
|
y = 240,
|
|
width = 0,
|
|
height = 0,
|
|
rotation = 0,
|
|
visible = true,
|
|
properties = {}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|