gmtk-2024/leveldata.lua

870 lines
41 KiB
Lua

LevelData = {}
LevelData.__index = LevelData
function LevelData.new()
local self = {
{ --floor 1
walls = {
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
{2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
{0,1,0,0,1,1,1,0,1,1,1,0,0,1,0},
{1,1,1,0,2,0,2,0,2,0,2,0,1,1,1},
{2,2,1,0,0,0,0,0,0,0,0,0,1,2,2},
{0,0,0,0,1,0,2,1,2,0,1,0,0,0,0},
{2,2,1,0,0,0,0,0,0,0,0,0,1,2,2},
{1,1,1,0,2,0,2,0,2,0,2,0,1,1,1},
{0,1,0,0,1,1,1,0,1,1,1,0,0,1,0},
{2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
},
entities = {
{type = "enemy", x = 3, y = 8, value_str="2"},
{type = "enemy", x = 3, y = 5, value_str="2"},
{type = "enemy", x = 3, y = 11, value_str="2"},
{type = "enemy", x = 6, y = 6, value_str="5"},
{type = "enemy", x = 6, y = 10, value_str="5"},
{type = "enemy", x = 10, y = 6, value_str="5"},
{type = "enemy", x = 10, y = 10, value_str="5"},
{type = "enemy", x = 8, y = 5, value_str="10"},
{type = "enemy", x = 8, y = 11, value_str="10"},
{type = "enemy", x = 8, y = 7, value_str="25"},
{type = "enemy", x = 8, y = 9, value_str="25"},
{type = "enemy", x = 5, y = 7, value_str="10"},
{type = "enemy", x = 5, y = 9, value_str="10"},
{type = "enemy", x = 11, y = 7, value_str="60"},
{type = "enemy", x = 11, y = 9, value_str="60"},
{type = "enemy", x = 13, y = 5, value_str="2"},
{type = "enemy", x = 13, y = 11, value_str="2"},
{type = "enemy", x = 13, y = 8, value_str="100"},
{type = "enemy", x = 14, y = 8, value_str="250"},
-- TODO: decide on the value of these bonus enemies
{type = "enemy", x = 1, y = 5, value_str="25k"},
{type = "enemy", x = 1, y = 11, value_str="25k"},
{type = "enemy", x = 15, y = 5, value_str="25k"},
{type = "enemy", x = 15, y = 11, value_str="25k"},
{type = "stairs_up", x = 15, y = 8},
},
textboxes = {
{
x = 8, y = 8,
w = 232, h = 40,
str = "Welcome to the Tower of Scale! Use arrow keys to move. WASD, vikeys and numpad will also work.",
},
{
x = 8, y = 200,
w = 232, h = 40,
str = "You can defeat enemies with lower power by moving into them. If you do this, you absorb their power and add it to yours.",
},
}
},
{ --floor 2
walls = {
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
{2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
{0,0,0,0,0,0,2,0,0,1,0,0,0,0,0},
{0,0,2,0,0,0,2,2,2,2,0,1,1,1,0},
{2,2,2,0,1,1,0,2,0,0,0,0,0,2,0},
{0,2,0,0,2,1,0,0,0,1,2,0,0,2,0},
{0,2,0,0,0,0,0,2,0,1,1,0,2,2,2},
{0,1,1,1,0,2,2,2,2,0,0,0,2,0,0},
{0,0,0,0,0,1,0,0,2,0,0,0,0,0,0},
{2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
},
entities = {
{type = "enemy", x = 10, y = 7, value_str="250"},
{type = "enemy", x = 6, y = 9, value_str="250"},
{type = "enemy", x = 1, y = 5, value_str="30"},
{type = "enemy", x = 2, y = 5, value_str="25"},
{type = "enemy", x = 1, y = 6, value_str="25"},
{type = "enemy", x = 2, y = 6, value_str="25"},
{type = "enemy", x = 5, y = 5, value_str="15"},
{type = "enemy", x = 6, y = 5, value_str="15"},
{type = "enemy", x = 5, y = 6, value_str="15"},
{type = "enemy", x = 6, y = 6, value_str="15"},
{type = "enemy", x = 14, y = 11, value_str="25"},
{type = "enemy", x = 15, y = 11, value_str="30"},
{type = "enemy", x = 14, y = 10, value_str="25"},
{type = "enemy", x = 15, y = 10, value_str="25"},
{type = "enemy", x = 10, y = 11, value_str="15"},
{type = "enemy", x = 11, y = 11, value_str="15"},
{type = "enemy", x = 10, y = 10, value_str="15"},
{type = "enemy", x = 11, y = 10, value_str="15"},
{type = "enemy", x = 3, y = 8, value_str="7"},
{type = "enemy", x = 3, y = 9, value_str="7"},
{type = "enemy", x = 13, y = 8, value_str="7"},
{type = "enemy", x = 13, y = 7, value_str="7"},
{type = "enemy", x = 8, y = 11, value_str="50k"},
{type = "enemy", x = 8, y = 5, value_str="50k"},
{type = "gate", x = 15, y = 7},
{type = "gate", x = 1, y = 9},
{type = "gate", x = 8, y = 8},
{type = "gate", x = 9, y = 5},
{type = "gate", x = 7, y = 11},
{type = "gate", x = 3, y = 5},
{type = "gate", x = 13, y = 11},
{type = "stairs_down", x = 15, y = 8},
{type = "stairs_up", x = 1, y = 8},
},
textboxes = {
{
x = 8, y = 8,
w = 232, h = 40,
str = "Division Gates will divide your power by two. Try to open them while your power is low, to reduce your losses.",
},
{
x = 8, y = 205,
w = 232, h = 30,
str = "Whenever you feel like you've made a mistake, don't be afraid to undo by pressing the Z key.",
},
}
},
{ --floor 3
walls = {
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
{1,1,2,2,2,1,1,1,1,1,2,2,2,1,1},
{2,2,2,0,2,2,2,1,2,2,2,0,2,2,2},
{0,0,0,0,0,0,2,2,2,0,0,0,1,2,0},
{0,1,0,2,2,0,0,1,0,0,0,2,1,2,0},
{1,1,0,0,0,0,0,0,0,1,0,0,0,1,1},
{0,0,0,2,2,0,0,1,0,0,0,2,1,2,2},
{0,0,0,0,0,0,2,2,2,0,0,0,1,0,0},
{2,2,2,2,2,2,2,1,2,2,2,2,2,2,2},
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
},
entities = {
{type = "enemy", x = 15, y = 8, value_str="25G"},
{type = "enemy", x = 8, y = 9, value_str="3k"},
{type = "enemy", x = 1, y = 10, value_str="100"},
{type = "enemy", x = 2, y = 10, value_str="100"},
{type = "enemy", x = 2, y = 11, value_str="250"},
{type = "enemy", x = 4, y = 9, value_str="10"},
{type = "enemy", x = 5, y = 9, value_str="10"},
{type = "enemy", x = 4, y = 11, value_str="10"},
{type = "enemy", x = 5, y = 11, value_str="10"},
{type = "enemy", x = 10, y = 8, value_str="500"},
{type = "enemy", x = 10, y = 10, value_str="500"},
{type = "pickaxe", x = 4, y = 6},
{type = "pickaxe", x = 14, y = 11},
{type = "pickaxe", x = 15, y = 11},
{type = "pickaxe", x = 13, y = 9},
{type = "pickaxe", x = 1, y = 11},
{type = "vorpal", x = 12, y = 6},
{type = "stairs_down", x = 1, y = 8},
{type = "stairs_up", x = 15, y = 7},
},
textboxes = {
{
x = 9, y = 7,
w = 111, h = 58,
str = "You can use a pickaxe to destroy a single non-reinforced wall.",
},
{
x = 128, y = 7,
w = 111, h = 58,
str = "You can use a vorpal blade to kill any enemy once, but you won't absorb their power.",
},
{
x = 8, y = 205,
w = 232, h = 30,
str = "Be aware that you can only hold a single pickaxe or a single vorpal blade.",
},
}
},
{ --floor 4
walls = {
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
{2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{2,0,2,2,1,1,1,1,1,1,1,2,2,0,2},
{0,0,2,2,0,0,0,0,0,0,0,2,2,0,0},
{0,0,0,0,0,2,0,2,0,2,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{1,1,0,0,2,2,2,0,2,2,2,0,0,1,1},
{0,0,0,0,2,0,0,0,0,0,2,0,0,0,0},
{1,1,0,0,0,0,1,1,1,0,0,0,0,1,1},
{0,0,0,0,2,0,1,0,1,0,2,0,0,0,0},
},
entities = {
{type = "enemy_neg", x = 13, y = 7, value_str = "5k"},
{type = "enemy_neg", x = 3, y = 7, value_str = "5k"},
{type = "enemy_neg", x = 2, y = 8, value_str = "1k"},
{type = "enemy_neg", x = 14, y = 8, value_str = "1k"},
{type = "enemy_neg", x = 5, y = 9, value_str = "666"},
{type = "enemy", x = 6, y = 9, value_str = "333"},
{type = "enemy_neg", x = 7, y = 9, value_str = "666"},
{type = "enemy", x = 8, y = 9, value_str = "333"},
{type = "enemy_neg", x = 9, y = 9, value_str = "666"},
{type = "enemy", x = 10, y = 9, value_str = "333"},
{type = "enemy_neg", x = 11, y = 9, value_str = "666"},
{type = "enemy", x = 1, y = 15, value_str = "500"},
{type = "enemy_neg", x = 2, y = 15, value_str = "500"},
{type = "enemy", x = 15, y = 15, value_str = "500"},
{type = "enemy_neg", x = 14, y = 15, value_str = "500"},
{type = "enemy", x = 1, y = 13, value_str = "250"},
{type = "enemy_neg", x = 2, y = 13, value_str = "250"},
{type = "enemy", x = 15, y = 13, value_str = "250"},
{type = "enemy_neg", x = 14, y = 13, value_str = "250"},
{type = "enemy", x = 6, y = 15, value_str = "50"},
{type = "enemy", x = 6, y = 14, value_str = "50"},
{type = "enemy", x = 6, y = 13, value_str = "50"},
{type = "enemy", x = 7, y = 13, value_str = "50"},
{type = "enemy", x = 8, y = 13, value_str = "50"},
{type = "enemy", x = 9, y = 13, value_str = "50"},
{type = "enemy", x = 10, y = 13, value_str = "50"},
{type = "enemy", x = 10, y = 14, value_str = "50"},
{type = "enemy", x = 10, y = 15, value_str = "50"},
{type = "enemy_neg", x = 8, y = 11, value_str = "1k"},
{type = "gate", x = 5, y = 14},
{type = "gate", x = 11, y = 14},
{type = "gate", x = 8, y = 12},
{type = "enemy", x = 8, y = 15, value_str = "3k"},
{type = "pickaxe", x = 6, y = 7},
{type = "pickaxe", x = 7, y = 7},
{type = "vorpal", x = 8, y = 7},
{type = "pickaxe", x = 9, y = 7},
{type = "pickaxe", x = 10, y = 7},
{type = "stairs_up", x = 1, y = 7},
{type = "stairs_down", x = 15, y = 7},
},
textboxes = {
{
x = 8, y = 15,
w = 232, h = 57,
str = "Negative enemies work the same as normal enemies, with one difference - when you absorb their power, you substract their power from yours instead of adding it.",
},
}
},
{ --floor 5
walls = {
{0,0,0,1,0,2,0,0,0,2,0,2,1,0,1},
{0,0,0,0,0,1,0,0,0,1,0,2,0,0,0},
{0,0,0,1,0,1,0,0,0,1,0,2,1,0,1},
{2,2,2,2,0,1,0,0,0,1,0,2,0,0,0},
{0,0,0,0,0,1,0,0,0,1,0,2,1,0,1},
{2,2,2,0,0,2,1,0,1,2,0,2,0,0,0},
{0,1,0,0,0,0,0,0,0,0,0,2,1,0,1},
{0,1,0,2,0,0,2,0,0,2,0,2,2,2,2},
{0,1,0,0,0,0,0,0,0,0,0,0,1,2,0},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{1,1,1,2,2,2,2,2,2,2,2,2,2,2,2},
{1,1,1,2,1,1,1,1,1,1,1,1,1,1,1},
{1,0,1,2,1,1,1,1,1,1,1,1,1,1,1},
{1,1,1,2,1,1,1,1,1,1,1,1,1,1,1},
{1,1,1,2,1,1,1,1,1,1,1,1,1,1,1},
},
entities = {
{type = "enemy", x = 1, y = 1, value_str = "100"},
{type = "enemy", x = 1, y = 2, value_str = "100"},
{type = "enemy", x = 1, y = 3, value_str = "100"},
{type = "enemy", x = 2, y = 1, value_str = "100"},
{type = "vorpal", x = 2, y = 2},
{type = "enemy", x = 2, y = 3, value_str = "100"},
{type = "enemy", x = 3, y = 1, value_str = "100"},
{type = "enemy", x = 3, y = 2, value_str = "100"},
{type = "enemy", x = 3, y = 3, value_str = "100"},
{type = "enemy_neg", x = 3, y = 5, value_str = "1k"},
{type = "enemy_neg", x = 7, y = 1, value_str = "1k"},
{type = "enemy", x = 8, y = 1, value_str = "1k"},
{type = "enemy_neg", x = 9, y = 1, value_str = "1k"},
{type = "enemy", x = 7, y = 2, value_str = "300"},
{type = "enemy_neg", x = 8, y = 2, value_str = "1k"},
{type = "enemy", x = 9, y = 2, value_str = "300"},
{type = "enemy_neg", x = 7, y = 3, value_str = "500"},
{type = "enemy", x = 8, y = 3, value_str = "300"},
{type = "enemy_neg", x = 9, y = 3, value_str = "500"},
{type = "enemy", x = 7, y = 4, value_str = "300"},
{type = "enemy_neg", x = 8, y = 4, value_str = "1k"},
{type = "enemy", x = 9, y = 4, value_str = "300"},
{type = "enemy_neg", x = 7, y = 5, value_str = "500"},
{type = "enemy", x = 8, y = 5, value_str = "300"},
{type = "enemy_neg", x = 9, y = 5, value_str = "500"},
{type = "enemy_neg", x = 8, y = 6, value_str = "1k"},
{type = "enemy_neg", x = 2, y = 10, value_str = "500"},
{type = "gate", x = 4, y = 2},
{type = "enemy_neg", x = 12, y = 9, value_str = "256"},
{type = "gate", x = 12, y = 10},
{type = "gate", x = 13, y = 10},
{type = "elixir", x = 2, y = 13},
{type = "elixir", x = 2, y = 5},
{type = "enemy", x = 6, y = 9, value_str = "50"},
{type = "enemy", x = 5, y = 10, value_str = "50"},
{type = "enemy", x = 5, y = 9, value_str = "50"},
{type = "enemy", x = 8, y = 9, value_str = "50"},
{type = "enemy", x = 9, y = 10, value_str = "50"},
{type = "enemy", x = 9, y = 9, value_str = "50"},
{type = "enemy_neg", x = 7, y = 9, value_str = "500"},
{type = "enemy_neg", x = 8, y = 10, value_str = "500"},
{type = "enemy_neg", x = 6, y = 10, value_str = "500"},
{type = "pickaxe", x = 7, y = 10},
{type = "pickaxe", x = 15, y = 9},
{type = "pickaxe", x = 14, y = 10},
{type = "vorpal", x = 15, y = 10},
{type = "enemy", x = 13, y = 2, value_str = "500"},
{type = "enemy", x = 15, y = 2, value_str = "500"},
{type = "enemy", x = 13, y = 4, value_str = "500"},
{type = "enemy", x = 15, y = 4, value_str = "500"},
{type = "enemy_neg", x = 14, y = 3, value_str = "500"},
{type = "enemy_neg", x = 14, y = 4, value_str = "500"},
{type = "enemy_neg", x = 14, y = 5, value_str = "1k"},
{type = "enemy_neg", x = 14, y = 6, value_str = "2k"},
{type = "vorpal", x = 13, y = 6},
{type = "vorpal", x = 15, y = 6},
{type = "elixir", x = 14, y = 7},
{type = "stairs_down", x = 1, y = 7},
{type = "stairs_up", x = 1, y = 5},
{type = "stairs_up", x = 14, y = 1},
},
textboxes = {
{
x = 72, y = 188,
w = 168, h = 49,
str = "Elixirs will double your power. Try to save them until your power is high to maximize the gains.",
},
}
},
{ --floor 6
walls = {
{0,0,1,0,0,0,2,1,2,0,0,0,2,0,2},
{0,2,2,0,0,0,0,0,0,0,0,0,0,0,1},
{1,2,0,0,0,0,2,0,2,0,0,0,0,0,2},
{0,0,0,2,2,0,1,0,1,0,2,2,0,0,0},
{0,0,0,2,2,2,2,2,2,2,2,2,0,0,0},
{0,0,0,0,2,1,1,1,1,1,2,0,0,0,0},
{2,0,2,1,2,1,1,1,1,1,2,1,2,0,2},
{1,0,0,0,2,1,1,1,1,1,2,0,0,0,1},
{2,0,2,1,2,1,1,1,1,1,2,1,2,0,2},
{0,0,0,0,2,1,1,1,1,1,2,0,0,0,0},
{0,0,0,2,2,2,2,2,2,2,2,2,0,0,0},
{0,0,0,2,2,0,1,0,1,0,2,2,0,0,0},
{0,2,0,0,0,0,2,0,2,0,0,0,0,0,2},
{0,2,2,0,0,0,0,0,0,0,0,0,0,0,1},
{0,0,0,0,0,0,2,1,2,0,0,0,2,0,0},
},
entities = {
{type = "enemy_neg", x = 6, y = 3, value_str = "1k"},
{type = "enemy", x = 6, y = 4, value_str = "1k"},
{type = "enemy_neg", x = 10, y = 3, value_str = "1k"},
{type = "enemy", x = 10, y = 4, value_str = "1k"},
{type = "enemy_neg", x = 6, y = 13, value_str = "1k"},
{type = "enemy", x = 6, y = 12, value_str = "1k"},
{type = "enemy_neg", x = 10, y = 13, value_str = "1k"},
{type = "enemy", x = 10, y = 12, value_str = "1k"},
{type = "enemy_neg", x = 3, y = 6, value_str = "1k"},
{type = "enemy", x = 4, y = 6, value_str = "1k"},
{type = "enemy_neg", x = 3, y = 10, value_str = "1k"},
{type = "enemy", x = 4, y = 10, value_str = "1k"},
{type = "enemy_neg", x = 13, y = 6, value_str = "1k"},
{type = "enemy", x = 12, y = 6, value_str = "1k"},
{type = "enemy_neg", x = 13, y = 10, value_str = "1k"},
{type = "enemy", x = 12, y = 10, value_str = "1k"},
{type = "enemy", x = 8, y = 12, value_str = "2k"},
{type = "enemy", x = 8, y = 4, value_str = "2k"},
{type = "enemy", x = 12, y = 8, value_str = "2k"},
{type = "enemy", x = 4, y = 8, value_str = "2k"},
{type = "enemy_neg", x = 14, y = 2, value_str = "10k"},
{type = "enemy_neg", x = 14, y = 14, value_str = "10k"},
{type = "gate", x = 8, y = 13},
{type = "gate", x = 8, y = 3},
{type = "gate", x = 13, y = 8},
{type = "gate", x = 3, y = 8},
{type = "gate", x = 1, y = 13},
{type = "gate", x = 3, y = 15},
{type = "pickaxe", x = 2, y = 15},
{type = "pickaxe", x = 1, y = 15},
{type = "pickaxe", x = 1, y = 14},
{type = "vorpal", x = 1, y = 1},
{type = "enemy_neg", x = 1, y = 2, value_str = "300"},
{type = "enemy_neg", x = 2, y = 1, value_str = "300"},
{type = "enemy", x = 5, y = 1, value_str = "250"},
{type = "enemy", x = 11, y = 1, value_str = "250"},
{type = "enemy", x = 5, y = 15, value_str = "250"},
{type = "enemy", x = 11, y = 15, value_str = "250"},
{type = "enemy", x = 15, y = 5, value_str = "500"},
{type = "enemy", x = 15, y = 11, value_str = "500"},
{type = "stairs_down", x = 1, y = 5},
{type = "stairs_down", x = 14, y = 1},
{type = "stairs_up", x = 1, y = 11},
{type = "stairs_up", x = 15, y = 15},
},
textboxes = {
{
x = 87, y = 91,
w = 74, h = 66,
str = "Reach the top of the tower, and scale your power up as much as you can!",
},
}
},
{ --floor 7
walls = {
{2,2,2,0,0,0,2,0,2,0,0,0,2,2,2},
{2,0,2,2,0,2,2,0,2,2,0,2,2,0,2},
{2,0,2,0,0,0,0,0,0,0,0,0,2,0,2},
{0,0,0,0,2,0,2,1,2,0,2,0,0,0,0},
{2,2,0,0,0,0,0,0,0,0,0,0,0,2,2},
{0,0,0,0,0,2,0,0,0,2,0,0,0,0,0},
{2,2,0,0,0,0,0,0,0,0,0,0,0,2,2},
{0,0,0,2,1,0,2,2,0,2,2,0,0,0,0},
{0,0,0,1,1,1,2,0,0,0,2,0,2,1,1},
{1,2,0,1,1,0,2,0,0,0,1,0,0,0,0},
{0,0,0,2,2,2,2,0,0,0,2,2,2,0,0},
{0,0,2,2,2,2,2,2,2,2,2,2,2,2,2},
{0,2,2,1,1,1,1,1,2,0,2,0,2,0,2},
{0,2,0,0,0,0,0,0,2,0,2,0,2,0,2},
{0,0,0,1,1,0,0,0,2,0,0,0,0,0,0},
},
entities = {
{type = "vorpal", x = 6, y = 15},
{type = "vorpal", x = 7, y = 15},
{type = "vorpal", x = 8, y = 15},
{type = "vorpal", x = 7, y = 14},
{type = "vorpal", x = 8, y = 14},
{type = "pickaxe", x = 4, y = 1},
{type = "enemy_neg", x = 5, y = 2, value_str = "25k"},
{type = "elixir", x = 6, y = 1},
{type = "elixir", x = 10, y = 1},
{type = "enemy_neg", x = 11, y = 2, value_str = "25k"},
{type = "pickaxe", x = 12, y = 1},
{type = "pickaxe", x = 1, y = 6},
{type = "enemy_neg", x = 2, y = 6, value_str = "10k"},
{type = "enemy_neg", x = 14, y = 6, value_str = "10k"},
{type = "pickaxe", x = 15, y = 6},
{type = "enemy_neg", x = 2, y = 4, value_str = "5k"},
{type = "enemy_neg", x = 14, y = 4, value_str = "5k"},
{type = "enemy", x = 1, y = 9, value_str = "2k"},
{type = "enemy", x = 1, y = 8, value_str = "2k"},
{type = "enemy", x = 2, y = 9, value_str = "2k"},
{type = "enemy", x = 2, y = 8, value_str = "2k"},
{type = "enemy_neg", x = 13, y = 10, value_str = "5k"},
{type = "enemy", x = 14, y = 10, value_str = "2k"},
{type = "enemy", x = 14, y = 11, value_str = "2k"},
{type = "enemy", x = 15, y = 10, value_str = "2k"},
{type = "enemy", x = 15, y = 11, value_str = "2k"},
{type = "enemy", x = 8, y = 5, value_str = "15k"},
{type = "enemy_neg", x = 7, y = 5, value_str = "10k"},
{type = "enemy_neg", x = 8, y = 6, value_str = "10k"},
{type = "enemy_neg", x = 9, y = 5, value_str = "10k"},
{type = "enemy", x = 8, y = 9, value_str = "1k"},
{type = "enemy", x = 8, y = 10, value_str = "1k"},
{type = "enemy", x = 8, y = 11, value_str = "1k"},
{type = "enemy", x = 9, y = 9, value_str = "1k"},
{type = "enemy", x = 9, y = 10, value_str = "2k"},
{type = "enemy", x = 9, y = 11, value_str = "1k"},
{type = "enemy", x = 10, y = 9, value_str = "1k"},
{type = "enemy", x = 10, y = 10, value_str = "1k"},
{type = "enemy", x = 10, y = 11, value_str = "1k"},
{type = "elixir", x = 6, y = 10},
{type = "enemy_neg", x = 1, y = 13, value_str = "500"},
{type = "enemy_neg", x = 1, y = 14, value_str = "500"},
{type = "enemy_neg", x = 1, y = 15, value_str = "1k"},
{type = "enemy_neg", x = 2, y = 15, value_str = "2k"},
{type = "enemy_neg", x = 3, y = 15, value_str = "4k"},
{type = "enemy_neg", x = 3, y = 14, value_str = "6k"},
{type = "enemy_neg", x = 4, y = 14, value_str = "6k"},
{type = "enemy_neg", x = 5, y = 14, value_str = "6k"},
{type = "enemy_neg", x = 6, y = 14, value_str = "6k"},
{type = "elixir", x = 10, y = 13},
{type = "elixir", x = 12, y = 13},
{type = "elixir", x = 14, y = 13},
{type = "gate", x = 10, y = 14},
{type = "gate", x = 12, y = 14},
{type = "gate", x = 14, y = 14},
{type = "gate", x = 6, y = 8},
{type = "gate", x = 9, y = 8},
{type = "gate", x = 12, y = 9},
{type = "stairs_down", x = 1, y = 11},
{type = "stairs_down", x = 15, y = 15},
{type = "stairs_up", x = 2, y = 2},
{type = "stairs_up", x = 8, y = 1},
{type = "stairs_up", x = 14, y = 2},
},
textboxes = {
{
x = 172, y = 174,
w = 32, h = 11,
str = "BANK",
},
{
x = 60, y = 174,
w = 48, h = 11,
str = "ARMORY",
},
}
},
{ --floor 8
walls = {
{2,2,0,1,1,1,2,0,2,1,1,1,0,2,2},
{2,0,0,0,0,0,1,0,1,0,0,0,0,0,2},
{0,0,0,0,0,2,1,0,1,2,0,0,0,0,0},
{0,0,0,2,0,2,1,0,1,2,0,2,0,0,0},
{0,0,0,0,0,2,1,0,1,2,0,0,0,0,0},
{2,0,2,2,2,2,0,0,0,2,2,2,2,0,2},
{0,0,0,0,1,0,0,0,0,0,1,0,0,0,0},
{0,0,0,0,1,0,0,0,0,0,1,0,0,0,0},
{0,0,0,0,1,0,0,0,0,0,1,0,0,0,0},
{2,0,2,2,2,2,0,0,0,2,2,2,2,0,2},
{0,0,0,0,0,2,1,1,1,2,0,0,0,0,0},
{0,0,2,0,0,2,0,0,0,2,0,0,2,0,0},
{0,2,2,2,0,2,0,0,0,2,0,2,2,2,0},
{0,0,2,0,0,2,1,0,1,2,0,0,2,0,0},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
},
entities = {
{type = "enemy_neg", x = 8, y = 5, value_str = "100k"},
{type = "enemy", x = 7, y = 6, value_str = "5k"},
{type = "enemy", x = 9, y = 6, value_str = "5k"},
{type = "enemy", x = 7, y = 10, value_str = "5k"},
{type = "enemy", x = 9, y = 10, value_str = "5k"},
{type = "enemy", x = 6, y = 7, value_str = "5k"},
{type = "enemy", x = 6, y = 9, value_str = "5k"},
{type = "enemy", x = 10, y = 7, value_str = "5k"},
{type = "enemy", x = 10, y = 9, value_str = "5k"},
{type = "enemy", x = 7, y = 13, value_str = "2k"},
{type = "enemy", x = 8, y = 13, value_str = "2k"},
{type = "enemy", x = 9, y = 13, value_str = "2k"},
{type = "enemy", x = 7, y = 12, value_str = "8k"},
{type = "enemy", x = 8, y = 12, value_str = "8k"},
{type = "enemy", x = 9, y = 12, value_str = "8k"},
{type = "enemy_neg", x = 4, y = 7, value_str = "4k"},
{type = "enemy_neg", x = 4, y = 8, value_str = "4k"},
{type = "enemy_neg", x = 4, y = 9, value_str = "4k"},
{type = "enemy_neg", x = 3, y = 7, value_str = "4k"},
{type = "enemy_neg", x = 3, y = 8, value_str = "4k"},
{type = "enemy_neg", x = 3, y = 9, value_str = "4k"},
{type = "enemy_neg", x = 12, y = 7, value_str = "4k"},
{type = "enemy_neg", x = 12, y = 8, value_str = "4k"},
{type = "enemy_neg", x = 12, y = 9, value_str = "4k"},
{type = "enemy_neg", x = 13, y = 7, value_str = "4k"},
{type = "enemy_neg", x = 13, y = 8, value_str = "4k"},
{type = "enemy_neg", x = 13, y = 9, value_str = "4k"},
{type = "enemy_neg", x = 3, y = 15, value_str = "30k"},
{type = "enemy_neg", x = 13, y = 15, value_str = "30k"},
{type = "enemy", x = 14, y = 15, value_str = "5k"},
{type = "enemy", x = 14, y = 14, value_str = "10k"},
{type = "enemy", x = 15, y = 14, value_str = "5k"},
{type = "enemy", x = 2, y = 15, value_str = "5k"},
{type = "enemy", x = 2, y = 14, value_str = "10k"},
{type = "enemy", x = 1, y = 14, value_str = "5k"},
{type = "enemy", x = 11, y = 11, value_str = "5k"},
{type = "enemy", x = 5, y = 11, value_str = "5k"},
{type = "stairs_down", x = 2, y = 2},
{type = "stairs_down", x = 8, y = 1},
{type = "stairs_down", x = 14, y = 2},
{type = "stairs_up", x = 8, y = 8},
{type = "vorpal", x = 5, y = 5},
{type = "vorpal", x = 11, y = 5},
{type = "gate", x = 1, y = 13},
{type = "gate", x = 8, y = 14},
{type = "gate", x = 15, y = 13},
{type = "pickaxe", x = 1, y = 15},
{type = "pickaxe", x = 15, y = 15},
},
textboxes = {
}
},
{ --floor 9
walls = {
{2,2,2,2,2,2,2,2,2,2,2,2,2,2,2},
{2,0,1,1,1,1,1,1,1,1,1,1,1,0,2},
{2,1,1,0,0,0,0,0,0,0,0,0,1,1,2},
{2,1,0,0,1,1,1,1,1,1,1,0,0,1,2},
{2,1,0,1,1,0,0,0,0,0,1,1,0,1,2},
{2,1,0,1,0,0,1,1,1,0,0,1,0,1,2},
{2,1,0,1,0,1,1,0,1,1,0,1,0,1,2},
{2,1,0,1,0,1,0,0,0,1,0,1,0,1,2},
{2,1,0,1,0,1,1,0,1,1,0,1,0,1,2},
{2,1,0,1,0,0,1,0,0,1,0,1,0,1,2},
{2,1,0,1,1,0,0,0,1,1,0,1,0,1,2},
{2,1,0,0,1,1,1,1,1,0,0,1,0,1,2},
{2,1,1,0,0,0,0,0,0,0,1,1,0,1,2},
{2,0,1,1,1,1,1,1,1,1,1,0,0,1,2},
{2,2,2,2,2,2,1,0,0,0,0,0,1,1,2},
},
entities = {
{type = "enemy_neg", x = 8, y = 9, value_str = "100k"},
{type = "enemy_neg", x = 8, y = 11, value_str = "100k"},
{type = "enemy_neg", x = 7, y = 11, value_str = "100k"},
{type = "enemy_neg", x = 6, y = 11, value_str = "100k"},
{type = "enemy_neg", x = 6, y = 10, value_str = "100k"},
{type = "enemy_neg", x = 5, y = 10, value_str = "100k"},
{type = "enemy_neg", x = 5, y = 9, value_str = "100k"},
{type = "enemy_neg", x = 5, y = 8, value_str = "100k"},
{type = "enemy_neg", x = 5, y = 7, value_str = "100k"},
{type = "enemy_neg", x = 5, y = 6, value_str = "100k"},
{type = "enemy_neg", x = 6, y = 6, value_str = "100k"},
{type = "enemy_neg", x = 6, y = 5, value_str = "100k"},
{type = "enemy_neg", x = 7, y = 5, value_str = "100k"},
{type = "enemy_neg", x = 8, y = 5, value_str = "100k"},
{type = "enemy_neg", x = 9, y = 5, value_str = "100k"},
{type = "enemy_neg", x = 10, y = 5, value_str = "100k"},
{type = "enemy_neg", x = 10, y = 6, value_str = "100k"},
{type = "enemy_neg", x = 11, y = 6, value_str = "100k"},
{type = "enemy_neg", x = 11, y = 7, value_str = "100k"},
{type = "enemy_neg", x = 11, y = 8, value_str = "100k"},
{type = "enemy_neg", x = 11, y = 9, value_str = "100k"},
{type = "enemy_neg", x = 11, y = 10, value_str = "100k"},
{type = "enemy_neg", x = 11, y = 11, value_str = "100k"},
{type = "enemy_neg", x = 11, y = 12, value_str = "100k"},
{type = "enemy_neg", x = 10, y = 12, value_str = "100k"},
{type = "enemy_neg", x = 10, y = 13, value_str = "100k"},
{type = "enemy_neg", x = 9, y = 13, value_str = "100k"},
{type = "enemy_neg", x = 8, y = 13, value_str = "100k"},
{type = "enemy_neg", x = 7, y = 13, value_str = "100k"},
{type = "enemy_neg", x = 6, y = 13, value_str = "100k"},
{type = "enemy_neg", x = 5, y = 13, value_str = "100k"},
{type = "enemy_neg", x = 4, y = 13, value_str = "100k"},
{type = "enemy_neg", x = 4, y = 12, value_str = "100k"},
{type = "enemy_neg", x = 3, y = 12, value_str = "100k"},
{type = "enemy_neg", x = 3, y = 11, value_str = "100k"},
{type = "enemy_neg", x = 3, y = 10, value_str = "100k"},
{type = "enemy_neg", x = 3, y = 9, value_str = "100k"},
{type = "enemy_neg", x = 3, y = 8, value_str = "100k"},
{type = "enemy_neg", x = 3, y = 7, value_str = "100k"},
{type = "enemy_neg", x = 3, y = 6, value_str = "100k"},
{type = "enemy_neg", x = 3, y = 5, value_str = "100k"},
{type = "enemy_neg", x = 3, y = 4, value_str = "100k"},
{type = "enemy_neg", x = 4, y = 4, value_str = "100k"},
{type = "enemy_neg", x = 4, y = 3, value_str = "100k"},
{type = "enemy_neg", x = 5, y = 3, value_str = "100k"},
{type = "enemy_neg", x = 6, y = 3, value_str = "100k"},
{type = "enemy_neg", x = 7, y = 3, value_str = "100k"},
{type = "enemy_neg", x = 8, y = 3, value_str = "100k"},
{type = "enemy_neg", x = 9, y = 3, value_str = "100k"},
{type = "enemy_neg", x = 10, y = 3, value_str = "100k"},
{type = "enemy_neg", x = 11, y = 3, value_str = "100k"},
{type = "enemy_neg", x = 12, y = 3, value_str = "100k"},
{type = "enemy_neg", x = 12, y = 4, value_str = "100k"},
{type = "enemy_neg", x = 13, y = 4, value_str = "100k"},
{type = "enemy_neg", x = 13, y = 5, value_str = "100k"},
{type = "enemy_neg", x = 13, y = 6, value_str = "100k"},
{type = "enemy_neg", x = 13, y = 7, value_str = "100k"},
{type = "enemy_neg", x = 13, y = 8, value_str = "100k"},
{type = "enemy_neg", x = 13, y = 9, value_str = "100k"},
{type = "enemy_neg", x = 13, y = 10, value_str = "100k"},
{type = "enemy_neg", x = 13, y = 11, value_str = "100k"},
{type = "enemy_neg", x = 13, y = 12, value_str = "100k"},
{type = "enemy_neg", x = 13, y = 13, value_str = "100k"},
{type = "enemy_neg", x = 13, y = 14, value_str = "100k"},
{type = "enemy_neg", x = 12, y = 14, value_str = "100k"},
{type = "enemy_neg", x = 12, y = 15, value_str = "100k"},
{type = "enemy_neg", x = 11, y = 15, value_str = "100k"},
{type = "enemy_neg", x = 10, y = 15, value_str = "100k"},
{type = "enemy_neg", x = 9, y = 15, value_str = "100k"},
{type = "vorpal", x = 9, y = 10},
{type = "elixir", x = 2, y = 2},
{type = "elixir", x = 14, y = 2},
{type = "elixir", x = 2, y = 14},
{type = "stairs_down", x = 8, y = 8},
{type = "stairs_up", x = 8, y = 15},
},
textboxes = {
}
},
{ --floor 10
walls = {
{1,1,1,1,1,2,2,2,2,2,1,1,1,1,1},
{1,1,1,1,2,2,0,0,0,2,2,1,1,1,1},
{1,1,1,1,2,0,0,0,0,0,2,1,1,1,1},
{1,1,1,1,2,0,0,0,0,0,2,1,1,1,1},
{1,1,1,1,2,0,0,0,0,0,2,1,1,1,1},
{1,1,1,1,2,2,0,0,0,2,2,1,1,1,1},
{1,1,1,1,1,2,2,0,2,2,1,1,1,1,1},
{2,2,2,2,2,2,1,0,1,2,2,2,2,2,2},
{2,0,0,0,2,2,1,0,1,2,2,0,0,0,2},
{2,2,0,2,2,2,1,0,1,2,2,2,0,2,2},
{0,0,0,0,0,2,1,0,1,2,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,2,2,0,2,2,0,0,0,0,0},
{0,0,0,0,0,2,2,0,2,2,0,0,0,0,0},
{0,0,0,0,0,2,2,0,2,2,0,0,0,0,0},
},
entities = {
{type = "pickaxe", x = 2, y = 9},
{type = "pickaxe", x = 3, y = 9},
{type = "pickaxe", x = 4, y = 9},
{type = "enemy_neg", x = 3, y = 10, value_str = "250k"},
{type = "pickaxe", x = 12, y = 9},
{type = "pickaxe", x = 13, y = 9},
{type = "pickaxe", x = 14, y = 9},
{type = "enemy_neg", x = 13, y = 10, value_str = "250k"},
{type = "enemy_neg", x = 8, y = 7, value_str = "10M"},
{type = "enemy_neg", x = 8, y = 8, value_str = "2M"},
{type = "enemy_neg", x = 8, y = 9, value_str = "1M"},
{type = "enemy_neg", x = 8, y = 10, value_str = "500k"},
{type = "enemy_neg", x = 8, y = 11, value_str = "500k"},
{type = "enemy", x = 2, y = 12, value_str = "10k"},
{type = "enemy", x = 3, y = 12, value_str = "10k"},
{type = "enemy", x = 4, y = 12, value_str = "10k"},
{type = "enemy", x = 2, y = 13, value_str = "10k"},
{type = "enemy", x = 3, y = 13, value_str = "20k"},
{type = "enemy", x = 4, y = 13, value_str = "10k"},
{type = "enemy", x = 2, y = 14, value_str = "10k"},
{type = "enemy", x = 3, y = 14, value_str = "10k"},
{type = "enemy", x = 4, y = 14, value_str = "10k"},
{type = "enemy", x = 12, y = 12, value_str = "10k"},
{type = "enemy", x = 13, y = 12, value_str = "10k"},
{type = "enemy", x = 14, y = 12, value_str = "10k"},
{type = "enemy", x = 12, y = 13, value_str = "10k"},
{type = "enemy", x = 13, y = 13, value_str = "20k"},
{type = "enemy", x = 14, y = 13, value_str = "10k"},
{type = "enemy", x = 12, y = 14, value_str = "10k"},
{type = "enemy", x = 13, y = 14, value_str = "10k"},
{type = "enemy", x = 14, y = 14, value_str = "10k"},
{type = "elixir", x = 8, y = 3},
{type = "elixir", x = 8, y = 5},
{type = "crown", x = 8, y = 4},
{type = "elixir", x = 7, y = 4},
{type = "elixir", x = 9, y = 4},
{type = "gate", x = 8, y = 13},
{type = "gate", x = 6, y = 12},
{type = "gate", x = 10, y = 12},
{type = "stairs_down", x = 8, y = 15},
},
textboxes = {
{
x = 4, y = 4,
w = 60, h = 112,
str = "\nThis is the top of the Tower of Scale.\n\nGrab the Crown to win the game!",
},
{
x = 184, y = 4,
w = 60, h = 112,
str = "Your end score is equal to your power when you grab the Crown.\n\nHow far can you scale?",
},
}
},
}
--convert value_str into value
for f=1,#self do
local entities = self[f].entities
for e=1,#entities do
if entities[e].value_str then
arr = {}
num = 0
for i=1,#entities[e].value_str do
arr[i] = entities[e].value_str:sub(i,i)
end
for i=1,#arr do
if arr[i]=="G" then
num = num * 1000 * 1000 * 1000
elseif arr[i]=="M" then
num = num * 1000 * 1000
elseif arr[i]=="k" then
num = num * 1000
else
num = num*10+arr[i]
end
end
-- print("converted value_str "..entities[e].value_str.." into value "..num)
entities[e].value = num
end
end
end
setmetatable(self, LevelData)
return self
end
return LevelData