forest-ruined-building2, variations upon a tree.
Added a vault item and mobs to the empty rooms.
May also spawn with a gloomy or flooded theme, providing gvault item instead and giving the mobs a thematic name and talent
Code: Select all
startx = 9
starty = 1
setStatusAll{no_teleport=true, room_map = {can_open=true}}
roomCheck(function(room, zone, level, map)
return zone.npc_list.__loaded_files["/data/general/npcs/bear.lua"] and zone.npc_list.__loaded_files["/data/general/npcs/plant.lua"] and zone.npc_list.__loaded_files["/data/general/npcs/swarm.lua"] --make sure the honey tree can summon
end)
specialList("actor", {"/data/general/npcs/aquatic_demon.lua"}, true)
specialList("terrain", {
"/data/general/grids/underground_gloomy.lua",
"/data/general/grids/water.lua",
"/data/general/grids/forest.lua",
}, true)
border = 0
rotates = {"default", "90", "180", "270", "flipx", "flipy"}
local vaultvariations = rng.range(1,3)
defineTile('.', "FLOOR")
defineTile(',', "GRASS")
defineTile('#', "WALL")
defineTile('X', "TREE")
defineTile('+', "DOOR", nil, nil, nil, {room_map = {can_open=true}})
if vaultvariations == 1 then -- Gloomy theme
defineTile('i', "FLOOR", {random_filter={add_levels=4, tome_mod="gvault"}})
local Talents = require("engine.interface.ActorTalents")
defineTile('T', "FLOOR", nil,
{entity_mod=function(e)
e.make_escort = nil
e.name = rng.table{"gloomy ", "deformed ", "sick "}..e.name
e[#e+1] = resolvers.talents{ [Talents.T_GLOOM]=1, [Talents.T_HATEFUL_WHISPER]=1 }
e:resolve()
return e
end,
random_filter={name="honey tree", add_levels=4}}
)
defineTile('P', "FLOOR", nil,
{entity_mod=function(e)
e.make_escort = nil
e.name = rng.table{"gloomy ", "deformed ", "sick "}..e.name
e[#e+1] = resolvers.talents{ [Talents.T_AGONY]=1, [Talents.T_GLOOM]=1 }
e:resolve()
return e
end,
random_filter={name="giant venus flytrap", add_levels=4}}
)
defineTile('B', "FLOOR", nil,
{entity_mod=function(e)
e.make_escort = nil
e.name = rng.table{"gloomy ", "deformed ", "sick "}..e.name
e[#e+1] = resolvers.talents{ [Talents.T_REPROACH]=1, [Talents.T_GLOOM]=1 }
e:resolve()
return e
end,
random_filter={name="brown bear", add_levels=4}}
)
return {
[[,,,,,,,,,,,,,,,,,,,,,]],
[[,#################X,,]],
[[,#....#.....,,#,X,,X,]],
[[,#P...+......,+,...#,]],
[[,######...T...######,]],
[[,#.,,,,.......+..i.#,]],
[[,#..,,#,,.....#B...#,]],
[[,########+#+########,]],
[[,,,,,,,,,,,,,,,,,,,,,]],
}
elseif vaultvariations == 2 then -- FLooded theme
local Talents = require("engine.interface.ActorTalents")
defineTile('~', "DEEP_WATER")
defineTile('i', "GRASS", {random_filter={add_levels=4, tome_mod="gvault"}})
defineTile('T', "DEEP_WATER", nil,
{entity_mod=function(e)
e.make_escort = nil
e.can_breath={water=1}
e.name = rng.table{"wet ", "soaked ", "drenched "}..e.name
e[#e+1] = resolvers.talents{ [Talents.T_TIDAL_WAVE]=2 }
e:resolve()
return e
end,
random_filter={name="honey tree", add_levels=4}}
)
defineTile('B', "DEEP_WATER", nil,
{entity_mod=function(e)
e.make_escort = nil
e.can_breath={water=1}
e.name = rng.table{"wet ", "soaked ", "drenched "}..e.name
e[#e+1] = resolvers.talents{ [Talents.T_WATER_BOLT]=1 }
e:resolve()
return e
end,
random_filter={name="giant venus flytrap", add_levels=4}}
)
defineTile('P', "DEEP_WATER", nil, {random_filter={name="water imp", add_levels=4}})
return {
[[,,,,,,,,,,,,,,,,,,~~~]],
[[,#################X~~]],
[[,#~P~~#~~~~~~~#~~~~X~]],
[[,#~~~,+,~~~~~~X~~~~#,]],
[[,######,~~T~~~######,]],
[[,#~~i,+,~~~~~,+,~~~#,]],
[[,#~~~,#,,,,,,,#~~~B#,]],
[[,########+#+########,]],
[[,,,,,,,,,,,,,,,,,,,,,]],
}
else -- Normal theme
defineTile('T', "GRASS", nil, {random_filter={name="honey tree", add_levels=4}})
defineTile('P', "FLORR", nil, {random_filter={name="giant venus flytrap", add_levels=4}})
defineTile('B', "FLOOR", nil, {random_filter={name="brown bear", add_levels=4}})
defineTile('i', "FLOOR", {random_filter={add_levels=4, tome_mod="vault"}})
return {
[[,,,,,,,,,,,,,,,,,,,,,]],
[[,#################X,,]],
[[,#....#.,..,..#.X.,X,]],
[[,#.i..+..,,,..+..,.#,]],
[[,######..,T,,.######,]],
[[,#....+.,,,,..+....#,]],
[[,#P...#....,,.#B...#,]],
[[,########+#+########,]],
[[,,,,,,,,,,,,,,,,,,,,,]],
}
end