Skip to content
Snippets Groups Projects
Commit bf2fcb05 authored by dg's avatar dg
Browse files

Most vaults are now rotatable/flipable

git-svn-id: http://svn.net-core.org/repos/t-engine4@1196 51575b47-30f0-44d4-a5cc-537603b46e54
parent c7eaeed1
No related branches found
No related tags found
No related merge requests found
Showing with 44 additions and 2 deletions
......@@ -721,6 +721,7 @@ function _M:import(map, dx, dy, sx, sy, sw, sh)
for i = sx, sx + sw - 1 do for j = sy, sy + sh - 1 do
local x, y = dx + i, dy + j
self.attrs[x + y * self.w] = map.attrs[i + j * map.w]
self.map[x + y * self.w] = map.map[i + j * map.w]
for z, e in pairs(self.map[x + y * self.w]) do
if e.move then
......@@ -736,6 +737,7 @@ function _M:import(map, dx, dy, sx, sy, sw, sh)
self.seens(x, y, map.seens(i, j))
self.lites(x, y, map.lites(i, j))
self:updateMap(x, y)
end end
self.changed = true
......
......@@ -64,6 +64,7 @@ function _M:loadMap(file)
local list = require(class):loadList(file)
self.level:setEntitiesList(type, list)
end,
setStatusAll = function(s) self.status_all = s end,
addData = function(t)
table.merge(self.level.data, t, true)
end,
......@@ -162,6 +163,15 @@ function _M:generate(lev, old_lev)
g:resolve(nil, true)
self.map(i-1, j-1, Map.TERRAIN, g)
end
if self.status_all then
local s = table.clone(self.status_all)
if s.lite then self.level.map.lites(i-1, j-1, true) s.lite = nil end
if s.remember then self.level.map.remembers(i-1, j-1, true) s.remember = nil end
if s.special then self.map.room_map[i-1][j-1].special = s.special s.special = nil end
if s.room_map then for k, v in pairs(s.room_map) do self.map.room_map[i-1][j-1][k] = v end s.room_map = nil end
if pairs(s) then for k, v in pairs(s) do self.level.map.attrs(i-1, j-1, k, v) end end
end
end end
-- generate the rest after because they might need full map data to be correctly made
......
......@@ -17,6 +17,8 @@
-- Nicolas Casalini "DarkGod"
-- darkgod@te4.org
setStatusAll{no_teleport=true}
defineTile(' ', "FLOOR")
defineTile('!', "DOOR_VAULT", nil, nil, nil, {room_map={special=false, room=false, can_open=true}})
defineTile('+', "DOOR")
......@@ -32,6 +34,8 @@ defineTile('W', "FLOOR", {random_filter={add_levels=15}}, {random_filter={add_le
startx = 0
starty = 6
rotates = {"default", "90", "180", "270", "flipx", "flipy"}
return {
[[XXXXXXXXXXXXXXXXXXXXXXXXXXXXX]],
[[XX^^^X^^^X^^^X^^^XXXXXXXXXXXX]],
......
......@@ -17,6 +17,8 @@
-- Nicolas Casalini "DarkGod"
-- darkgod@te4.org
setStatusAll{no_teleport=true}
defineTile(';', "FLOOR", nil, nil, nil, {room_map={special=false, room=false, can_open=true}})
defineTile('.', "FLOOR")
defineTile('^', "FLOOR", nil, nil, {random_filter={}})
......@@ -31,6 +33,8 @@ defineTile('3', "FLOOR", {random_filter={add_levels=5}}, {random_filter={add_lev
defineTile('2', "FLOOR", {random_filter={add_levels=20}}, {random_filter={add_levels=30}})
defineTile('1', "FLOOR", nil, {random_filter={add_levels=30}})
rotates = {"default", "90", "180", "270", "flipx", "flipy"}
return {
[[;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;]],
[[;.........##########.........;]],
......
......@@ -17,6 +17,8 @@
-- Nicolas Casalini "DarkGod"
-- darkgod@te4.org
setStatusAll{no_teleport=true}
defineTile(' ', "FLOOR")
defineTile('!', "DOOR_VAULT", nil, nil, nil, {room_map={special=false, room=false, can_open=true}})
defineTile('+', "DOOR")
......@@ -29,6 +31,8 @@ defineTile('o', "FLOOR", nil, "HILL_ORC_ARCHER")
startx = 22
starty = 7
rotates = {"default", "90", "180", "270", "flipx", "flipy"}
return {
[[XXXXXXXXXXXXXXXXXXXXXX]],
[[XoommmmmmmmommmmmmmmmX]],
......
......@@ -17,6 +17,8 @@
-- Nicolas Casalini "DarkGod"
-- darkgod@te4.org
setStatusAll{no_teleport=true}
startx = 25
starty = 6
......
......@@ -17,11 +17,15 @@
-- Nicolas Casalini "DarkGod"
-- darkgod@te4.org
setStatusAll{no_teleport=true}
defineTile('.', "FLOOR")
defineTile('#', "WALL")
defineTile('X', "HARDWALL")
defineTile('8', "FLOOR", {random_filter={add_levels=15}}, {random_filter={add_levels=20}})
rotates = {"default", "90", "180", "270", "flipx", "flipy"}
return {
[[.......................................]],
[[.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.]],
......
......@@ -17,6 +17,8 @@
-- Nicolas Casalini "DarkGod"
-- darkgod@te4.org
setStatusAll{no_teleport=true}
defineTile('!', "ROCK_VAULT", nil, nil, nil, {room_map={special=false, room=false, can_open=true}})
defineTile(' ', "GRASS")
defineTile('+', "DOOR")
......@@ -29,6 +31,8 @@ defineTile('Q', "GRASS", {random_filter={add_levels=20}}, {random_filter={name="
startx = 2
starty = 10
rotates = {"default", "90", "180", "270", "flipx", "flipy"}
return {
[[XXXXXXXXXX]],
[[XXX XXXX]],
......
......@@ -17,6 +17,8 @@
-- Nicolas Casalini "DarkGod"
-- darkgod@te4.org
setStatusAll{no_teleport=true}
defineTile('!', "ROCK_VAULT_DARK", nil, nil, nil, {room_map={special=false, room=false, can_open=true}})
defineTile(' ', "GRASS_DARK1")
defineTile('+', "DOOR")
......@@ -29,6 +31,8 @@ defineTile('Q', "GRASS_DARK1", {random_filter={add_levels=20}}, {random_filter={
startx = 2
starty = 10
rotates = {"default", "90", "180", "270", "flipx", "flipy"}
return {
[[XXXXXXXXXX]],
[[XXX XXXX]],
......
......@@ -17,6 +17,8 @@
-- Nicolas Casalini "DarkGod"
-- darkgod@te4.org
setStatusAll{no_teleport=true}
defineTile(';', "FLOOR", nil, nil, nil, {room_map={special=false, room=false, can_open=true}})
defineTile('.', "FLOOR")
defineTile('#', "HARDWALL")
......@@ -25,6 +27,8 @@ defineTile('+', "DOOR")
defineTile('X', "FLOOR", nil, {random_filter={add_levels=15}})
defineTile('$', "FLOOR", {random_filter={add_levels=10}})
rotates = {"default", "90", "180", "270", "flipx", "flipy"}
return {
[[;;;;;;;;;;;;;;;;;;;;]],
[[;########!!########;]],
......
......@@ -25,7 +25,7 @@ return {
decay = {300, 800},
actor_adjust_level = function(zone, level, e) return zone.base_level + e:getRankLevelAdjust() + level.level-1 + rng.range(-1,2) end,
width = 50, height = 50,
-- all_remembered = true,
all_remembered = true,
all_lited = true,
persistant = "zone",
ambiant_music = "Rainy Day.ogg",
......@@ -46,7 +46,7 @@ return {
pond = {{0.6, "DEEP_WATER"}, {0.8, "SHALLOW_WATER"}},
},
nb_rooms = {0,0,0,0,1},
nb_rooms = {1},
rooms = {"lesser_vault"},
greater_vaults_list = {"honey_tree"},
lite_room_chance = 100,
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment