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

Vor, Gorbat and Rak'Shor prides have been upgraded, they now feature entrance...

Vor, Gorbat and Rak'Shor prides have been upgraded, they now feature entrance doors, guards, random elites & bosses


git-svn-id: http://svn.net-core.org/repos/t-engine4@3336 51575b47-30f0-44d4-a5cc-537603b46e54
parent 1b65a3b8
No related branches found
No related tags found
No related merge requests found
Showing
with 444 additions and 54 deletions
......@@ -23,7 +23,7 @@ local Dialog = require "engine.ui.Dialog"
local Map = require "engine.Map"
local Astar = require "engine.Astar"
local forceprint = print
local print = function() end
--local print = function() end
--- Defines a zone: a set of levels, with depth, npcs, objects, level generator, ...
module(..., package.seeall, class.make)
......@@ -167,7 +167,7 @@ function _M:checkFilter(e, filter, type)
if not filter then return true end
if filter.ignore and self:checkFilter(e, filter.ignore, type) then return false end
print("Checking filter", filter.type, filter.subtype)
-- print("Checking filter", filter.type, filter.subtype)
if filter.type and filter.type ~= e.type then return false end
if filter.subtype and filter.subtype ~= e.subtype then return false end
if filter.name and filter.name ~= e.name then return false end
......
......@@ -45,6 +45,9 @@ function _M:loadMap(file)
local f, err = loadfile("/data/maps/"..file..".lua")
if not f and err then error(err) end
local g = {
level = self.level,
zone = self.zone,
data = self.data,
Map = require("engine.Map"),
subGenerator = function(g)
self.subgen[#self.subgen+1] = g
......@@ -211,31 +214,31 @@ function _M:generate(lev, old_lev)
local define_spot = self.tiles[c] and self.tiles[c].define_spot
if object then
local o
local o, mod
if type(object) == "string" then o = self.zone:makeEntityByName(self.level, "object", object)
elseif type(object) == "table" and object.random_filter then o = self.zone:makeEntity(self.level, "object", object.random_filter, nil, true)
elseif type(object) == "table" and object.random_filter then mod = object.entity_mod o = self.zone:makeEntity(self.level, "object", object.random_filter, nil, true)
else o = self.zone:finishEntity(self.level, "object", object)
end
if o then self:roomMapAddEntity(i-1, j-1, "object", o) end
if o then if mod then o = mod(o) end self:roomMapAddEntity(i-1, j-1, "object", o) end
end
if trap then
local t
local t, mod
if type(trap) == "string" then t = self.zone:makeEntityByName(self.level, "trap", trap)
elseif type(trap) == "table" and trap.random_filter then t = self.zone:makeEntity(self.level, "trap", trap.random_filter, nil, true)
elseif type(trap) == "table" and trap.random_filter then mod = trap.entity_mod t = self.zone:makeEntity(self.level, "trap", trap.random_filter, nil, true)
else t = self.zone:finishEntity(self.level, "trap", trap)
end
if t then self:roomMapAddEntity(i-1, j-1, "trap", t) end
if t then if mod then t = mod(t) end self:roomMapAddEntity(i-1, j-1, "trap", t) end
end
if actor then
local m
local m, mod
if type(actor) == "string" then m = self.zone:makeEntityByName(self.level, "actor", actor)
elseif type(actor) == "table" and actor.random_filter then m = self.zone:makeEntity(self.level, "actor", actor.random_filter, nil, true)
elseif type(actor) == "table" and actor.random_filter then mod = actor.entity_mod m = self.zone:makeEntity(self.level, "actor", actor.random_filter, nil, true)
else m = self.zone:finishEntity(self.level, "actor", actor)
end
if m then self:roomMapAddEntity(i-1, j-1, "actor", m) end
if m then if mod then m = mod(m) end self:roomMapAddEntity(i-1, j-1, "actor", m) end
end
if status then
......
......@@ -66,6 +66,7 @@ function table.merge(dst, src, deep, k_filter)
end
end
end
return dst
end
function table.mergeAdd(dst, src, deep)
......@@ -80,6 +81,7 @@ function table.mergeAdd(dst, src, deep)
dst[k] = e
end
end
return dst
end
--- Merges additively the named fields and append the array part
......
......@@ -43,6 +43,10 @@ function _M:block_move(x, y, e, act, couldpass)
if ret then game.level.map(x, y, engine.Map.TERRAIN, game.zone.grid_list[self.door_opened]) end
end, "Open", "Leave")
end
elseif self.door_player_stop then
if e.player then
Dialog:simplePopup(self.name, self.door_player_stop)
end
else
game.level.map(x, y, engine.Map.TERRAIN, game.zone.grid_list[self.door_opened])
end
......
......@@ -86,6 +86,10 @@ Autolevel:registerScheme{ name = "wildcaster", levelup = function(self)
self:learnStats{ self.STAT_WIL, self.STAT_WIL, self.STAT_CUN }
end}
Autolevel:registerScheme{ name = "summoner", levelup = function(self)
self:learnStats{ self.STAT_WIL, self.STAT_CUN }
end}
Autolevel:registerScheme{ name = "wyrmic", levelup = function(self)
self:learnStats{ self.STAT_STR, self.STAT_WIL, self.STAT_DEX, self.STAT_CUN }
end}
......
......@@ -23,7 +23,7 @@ newEntity{
define_as = "BASE_NPC_ORC_GORBAT",
type = "humanoid", subtype = "orc",
display = "o", color=colors.GREEN,
faction = "orc-pride",
faction = "orc-pride", pride = "gorbat",
combat = { dam=resolvers.rngavg(5,12), atk=2, apr=6, physspeed=2 },
......@@ -54,3 +54,91 @@ newEntity{
end
end,
}
newEntity{ base = "BASE_NPC_ORC_GORBAT",
name = "orc summoner", color=colors.YELLOW,
desc = [[A fierce orc attuned to the wilds.]],
level_range = {30, nil}, exp_worth = 1,
rarity = 1,
rank = 2,
max_life = resolvers.rngavg(80,110),
life_rating = 12,
resolvers.equip{
{type="weapon", subtype="sling", autoreq=true},
},
combat_armor = 2, combat_def = 0,
resolvers.inscriptions(1, "infusion"),
autolevel = "summoner",
resolvers.talents{
[Talents.T_SLING_MASTERY]={base=3, every=5, max=10},
[Talents.T_MINOTAUR]={base=4, every=6, max=7},
[Talents.T_RITCH_FLAMESPITTER]={base=4, every=5, max=7},
[Talents.T_SPIDER]={base=3, every=5, max=6},
},
resolvers.racial(),
}
newEntity{ base = "BASE_NPC_ORC_GORBAT",
name = "orc grand summoner", color=colors.SALMON,
desc = [[A fierce orc attuned to the wilds.]],
level_range = {30, nil}, exp_worth = 1,
rarity = 4,
rank = 3,
max_life = resolvers.rngavg(100,110),
life_rating = 13,
resolvers.equip{
{type="weapon", subtype="sling", autoreq=true},
},
combat_armor = 2, combat_def = 0,
autolevel = "summoner",
ai = "tactical",
resolvers.inscriptions(2, "infusion"),
resolvers.talents{
[Talents.T_SLING_MASTERY]={base=5, every=5, max=10},
[Talents.T_MINOTAUR]={base=5, every=6, max=9},
[Talents.T_STONE_GOLEM]={base=5, every=6, max=9},
[Talents.T_RITCH_FLAMESPITTER]={base=4, every=5, max=9},
[Talents.T_SPIDER]={base=5, every=5, max=8},
[Talents.T_RESOLVE]={base=4, every=5, max=6},
[Talents.T_NATURE_TOUCH]={base=3, every=5, max=8},
[Talents.T_NATURE_S_BALANCE]=5,
},
resolvers.racial(),
}
newEntity{ base = "BASE_NPC_ORC",
name = "orc master wyrmic", color=colors.LIGHT_STEEL_BLUE,
desc = [[A fierce soldier-orc highly trained in the discipline of dragons.]],
level_range = {30, nil}, exp_worth = 1,
rarity = 4,
rank = 3,
max_life = resolvers.rngavg(120,150),
life_rating = 15,
resolvers.equip{
{type="weapon", subtype="battleaxe", autoreq=true},
{type="armor", subtype="light", autoreq=true},
},
combat_armor = 2, combat_def = 3,
autolevel = "warriorwill",
ai = "tactical",
ai_tactic = resolvers.tactic"melee",
resolvers.inscriptions(1, "infusion"),
resolvers.talents{
[Talents.T_WEAPONS_MASTERY]={base=5, every=5, max=14},
[Talents.T_ICE_CLAW]={base=4, every=6, max=8},
[Talents.T_ICY_SKIN]={base=4, every=5, max=8},
[Talents.T_ICE_BREATH]={base=4, every=5, max=9},
[Talents.T_FIRE_BREATH]={base=4, every=5, max=9},
[Talents.T_SAND_BREATH]={base=4, every=5, max=9},
[Talents.T_TORNADO]={base=4, every=5, max=9},
[Talents.T_LIGHTNING_SPEED]={base=4, every=5, max=9},
[Talents.T_BELLOWING_ROAR]={base=4, every=5, max=9},
},
resolvers.racial(),
}
......@@ -23,7 +23,7 @@ newEntity{
define_as = "BASE_NPC_ORC_GRUSHNAK",
type = "humanoid", subtype = "orc",
display = "o", color=colors.UMBER,
faction = "orc-pride",
faction = "orc-pride", pride = "grushnak",
combat = { dam=resolvers.rngavg(5,12), atk=2, apr=6, physspeed=2 },
......
......@@ -23,7 +23,7 @@ newEntity{
define_as = "BASE_NPC_ORC_RAK_SHOR",
type = "humanoid", subtype = "orc",
display = "o", color=colors.DARK_GREY,
faction = "orc-pride",
faction = "orc-pride", pride = "rak-shor",
combat = { dam=resolvers.rngavg(5,12), atk=2, apr=6, physspeed=2 },
......
......@@ -23,7 +23,7 @@ newEntity{
define_as = "BASE_NPC_ORC_VOR",
type = "humanoid", subtype = "orc",
display = "o", color=colors.RED,
faction = "orc-pride",
faction = "orc-pride", pride = "vor",
combat = { dam=resolvers.rngavg(5,12), atk=2, apr=6, physspeed=2 },
......
-- ToME - Tales of Maj'Eyal
-- Copyright (C) 2009, 2010, 2011 Nicolas Casalini
--
-- This program is free software: you can redistribute it and/or modify
-- it under the terms of the GNU General Public License as published by
-- the Free Software Foundation, either version 3 of the License, or
-- (at your option) any later version.
--
-- This program is distributed in the hope that it will be useful,
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-- GNU General Public License for more details.
--
-- You should have received a copy of the GNU General Public License
-- along with this program. If not, see <http://www.gnu.org/licenses/>.
--
-- Nicolas Casalini "DarkGod"
-- darkgod@te4.org
startx = 63
starty = 32
endx = 0
endy = 32
subGenerator{
x = 8, y = 8, w = 48, h = 48,
generator = data.sublevel.class,
data = table.clone(data.sublevel),
}
local floor = data.floor or data.sublevel.floor
-- defineTile section
defineTile("#", "HARDWALL")
defineTile("o", floor, nil, {entity_mod=function(e) e.make_escort = nil return e end, random_filter={type='humanoid', subtype='orc', special=function(e) return e.pride == data.sublevel.pride end}})
quickEntity("g", 'o')
defineTile("+", data.sublevel.door)
defineTile("<", data.up)
defineTile(">", data.down, nil, nil, nil, {no_teleport=true})
if level.level == 1 then defineTile("O", floor, nil, {random_filter={type='humanoid', subtype='orc', special=function(e) return e.pride == data.sublevel.pride end, random_boss={nb_classes=1, loot_quality="store", loot_quantity=3, rank=3.5,}}})
else quickEntity('O', 'o') end
defineTile(".", floor)
defineTile(";", floor, nil, nil, nil, {no_teleport=true})
defineTile("*", "LEVER_DOOR", nil, nil, nil, nil, {type="lever", subtype="door"})
defineTile("&", "LEVER", nil, nil, nil, nil, {type="lever", subtype="lever"})
defineTile(" ", floor, nil, {entity_mod=function(e) e.make_escort = nil return e end, random_filter={type='humanoid', subtype='orc', special=function(e) return e.pride == data.sublevel.pride end, random_boss={nb_classes=1, loot_quality="store", loot_quantity=1, no_loot_randart=true, rank=3}}}, nil, {no_teleport=true})
-- addSpot section
-- addZone section
-- ASCII map section
return [[
################################################################
################################################################
########################..g...##################################
########################&#g......###############################
########################..g...##.###############################
################################.###############################
################################.###############################
#######..................................................#######
#######..................................................#######
#######..................................................#######
#######..................................................#######
#######..................................................#######
#######..................................................#######
#######..................................................#######
#######..................................................#######
#######..................................................#######
#######..................................................#######
#######..................................................#######
#######..................................................#######
#######..................................................#######
#######..................................................#######
#######..................................................#######
#######..................................................#######
#######..................................................#######
#######..................................................#######
#######..................................................#######
###;;;#..................................................#ooo###
##;;;##..................................................##...##
##;;;##..................................................##...##
;;;;;##..................................................##.....
;;;;;#....................................................#.....
; ;;;#....................................................#.....
> ;;;*....................................................+O...<
; ;;;#....................................................#.....
;;;;;#....................................................#.....
;;;;;##..................................................##.....
##;;;##..................................................##...##
##;;;##..................................................##...##
###;;;#..................................................#ooo###
#######..................................................#######
#######..................................................#######
#######..................................................#######
#######..................................................#######
#######..................................................#######
#######..................................................#######
#######..................................................#######
#######..................................................#######
#######..................................................#######
#######..................................................#######
#######..................................................#######
#######..................................................#######
#######..................................................#######
#######..................................................#######
#######..................................................#######
#######..................................................#######
#######..................................................#######
#######..................................................#######
################################.###############################
################################.###############################
########################..g...##.###############################
########################&#g......###############################
########################..g...##################################
################################################################
################################################################]]
\ No newline at end of file
......@@ -22,3 +22,49 @@ load("/data/general/grids/forest.lua")
load("/data/general/grids/sand.lua")
load("/data/general/grids/water.lua")
load("/data/general/grids/mountain.lua")
newEntity{
define_as = "LEVER_DOOR",
type = "wall", subtype = "floor",
name = "sealed door", image = "terrain/granite_door1.png",
display = '+', color_r=238, color_g=154, color_b=77, back_color=colors.DARK_UMBER,
nice_tiler = { method="door3d", north_south="LEVER_DOOR_VERT", west_east="LEVER_DOOR_HORIZ" },
notice = true,
always_remember = true,
block_sight = true,
block_sense = true,
block_esp = true,
levers = 0,
force_clone = true,
door_player_stop = "This door seems to have been sealed off, you need to find a way to open it.",
door_opened = "DOOR_OPEN",
}
newEntity{ base = "LEVER_DOOR", define_as = "LEVER_DOOR_HORIZ", image = "terrain/granite_door1.png", add_displays = {class.new{image="terrain/granite_wall3.png", z=18, display_y=-1}}, door_opened = "DOOR_HORIZ_OPEN"}
newEntity{ base = "LEVER_DOOR", define_as = "LEVER_DOOR_VERT", image = "terrain/marble_floor.png", add_displays = {class.new{image="terrain/granite_door1_vert.png", z=17}, class.new{image="terrain/granite_door1_vert_north.png", z=18, display_y=-1}}, door_opened = "DOOR_OPEN_VERT"}
newEntity{
define_as = "LEVER",
type = "lever", subtype = "floor",
name = "huge lever",
display = '&', color=colors.UMBER, back_color=colors.DARK_UMBER,
notice = true,
always_remember = true,
lever = true,
force_clone = true,
block_move = function(self, x, y, e, act)
if act and e.player and self.lever then
self.lever = false
local spot = game.level:pickSpot{type="lever", subtype="door"}
if not spot then return true end
local g = game.level.map(spot.x, spot.y, engine.Map.TERRAIN)
g.levers = (g.levers or 0) + 1
if g.levers >= 2 then
game.level.map(spot.x, spot.y, engine.Map.TERRAIN, game.zone.grid_list[g.door_opened])
game.log("#VIOLET#You hear a door openning.")
else
game.log("#VIOLET#You hear a mechanism clicking.")
end
end
return true
end,
}
......@@ -24,7 +24,7 @@ return {
max_level = 5,
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,
width = 64, height = 64,
persistent = "zone",
-- all_remembered = true,
all_lited = true,
......@@ -34,21 +34,29 @@ return {
max_material_level = 5,
generator = {
map = {
class = "engine.generator.map.Town",
building_chance = 70,
max_building_w = 8, max_building_h = 8,
edge_entrances = {6,4},
floor = "FLOOR",
external_floor = "SAND",
wall = "WALL",
class = "engine.generator.map.Static",
map = "zones/prides",
up = "SAND_UP6",
down = "SAND_DOWN4",
door = "DOOR",
floor = "SAND",
sublevel = {
class = "engine.generator.map.Town",
pride = "gorbat",
building_chance = 70,
max_building_w = 8, max_building_h = 8,
edge_entrances = {6,4},
floor = "FLOOR",
external_floor = "SAND",
wall = "WALL",
up = "SAND",
down = "SAND",
door = "DOOR",
nb_rooms = {0,0,0,1},
rooms = {"lesser_vault"},
lesser_vaults_list = {"orc-armoury", "double-t", "dragon_lair", "hostel"},
lite_room_chance = 100,
nb_rooms = {0,0,0,1},
rooms = {"lesser_vault"},
lesser_vaults_list = {"orc-armoury", "double-t", "dragon_lair", "hostel"},
lite_room_chance = 100,
},
},
actor = {
class = "engine.generator.actor.Random",
......
......@@ -20,3 +20,49 @@
load("/data/general/grids/basic.lua")
load("/data/general/grids/sand.lua")
load("/data/general/grids/water.lua")
newEntity{
define_as = "LEVER_DOOR",
type = "wall", subtype = "floor",
name = "sealed door", image = "terrain/granite_door1.png",
display = '+', color_r=238, color_g=154, color_b=77, back_color=colors.DARK_UMBER,
nice_tiler = { method="door3d", north_south="LEVER_DOOR_VERT", west_east="LEVER_DOOR_HORIZ" },
notice = true,
always_remember = true,
block_sight = true,
block_sense = true,
block_esp = true,
levers = 0,
force_clone = true,
door_player_stop = "This door seems to have been sealed off, you need to find a way to open it.",
door_opened = "DOOR_OPEN",
}
newEntity{ base = "LEVER_DOOR", define_as = "LEVER_DOOR_HORIZ", image = "terrain/granite_door1.png", add_displays = {class.new{image="terrain/granite_wall3.png", z=18, display_y=-1}}, door_opened = "DOOR_HORIZ_OPEN"}
newEntity{ base = "LEVER_DOOR", define_as = "LEVER_DOOR_VERT", image = "terrain/marble_floor.png", add_displays = {class.new{image="terrain/granite_door1_vert.png", z=17}, class.new{image="terrain/granite_door1_vert_north.png", z=18, display_y=-1}}, door_opened = "DOOR_OPEN_VERT"}
newEntity{
define_as = "LEVER",
type = "lever", subtype = "floor",
name = "huge lever",
display = '&', color=colors.UMBER, back_color=colors.DARK_UMBER,
notice = true,
always_remember = true,
lever = true,
force_clone = true,
block_move = function(self, x, y, e, act)
if act and e.player and self.lever then
self.lever = false
local spot = game.level:pickSpot{type="lever", subtype="door"}
if not spot then return true end
local g = game.level.map(spot.x, spot.y, engine.Map.TERRAIN)
g.levers = (g.levers or 0) + 1
if g.levers >= 2 then
game.level.map(spot.x, spot.y, engine.Map.TERRAIN, game.zone.grid_list[g.door_opened])
game.log("#VIOLET#You hear a door openning.")
else
game.log("#VIOLET#You hear a mechanism clicking.")
end
end
return true
end,
}
......@@ -24,7 +24,7 @@ return {
max_level = 5,
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,
width = 64, height = 64,
persistent = "zone",
-- all_remembered = true,
all_lited = true,
......@@ -34,21 +34,29 @@ return {
max_material_level = 5,
generator = {
map = {
class = "engine.generator.map.Town",
building_chance = 70,
max_building_w = 8, max_building_h = 8,
edge_entrances = {6,4},
floor = "FLOOR",
external_floor = "SAND",
wall = "WALL",
class = "engine.generator.map.Static",
map = "zones/prides",
up = "SAND_UP6",
down = "SAND_DOWN4",
door = "DOOR",
floor = "SAND",
sublevel = {
class = "engine.generator.map.Town",
pride = "rak-shor",
building_chance = 70,
max_building_w = 8, max_building_h = 8,
edge_entrances = {6,4},
floor = "FLOOR",
external_floor = "SAND",
wall = "WALL",
up = "SAND",
down = "SAND",
door = "DOOR",
nb_rooms = {0,0,0,1},
rooms = {"lesser_vault"},
lesser_vaults_list = {"orc-armoury", "double-t", "crypt", "hostel"},
lite_room_chance = 100,
nb_rooms = {0,0,0,1},
rooms = {"lesser_vault"},
lesser_vaults_list = {"orc-armoury", "double-t", "crypt", "hostel"},
lite_room_chance = 100,
},
},
actor = {
class = "engine.generator.actor.Random",
......@@ -70,5 +78,10 @@ return {
up = "SAND_UP_WILDERNESS",
}, },
},
[5] = {
generator = { map = {
down = "SAND_UP_WILDERNESS",
}, },
},
},
}
......@@ -20,3 +20,49 @@
load("/data/general/grids/basic.lua")
load("/data/general/grids/forest.lua")
load("/data/general/grids/water.lua")
newEntity{
define_as = "LEVER_DOOR",
type = "wall", subtype = "floor",
name = "sealed door", image = "terrain/granite_door1.png",
display = '+', color_r=238, color_g=154, color_b=77, back_color=colors.DARK_UMBER,
nice_tiler = { method="door3d", north_south="LEVER_DOOR_VERT", west_east="LEVER_DOOR_HORIZ" },
notice = true,
always_remember = true,
block_sight = true,
block_sense = true,
block_esp = true,
levers = 0,
force_clone = true,
door_player_stop = "This door seems to have been sealed off, you need to find a way to open it.",
door_opened = "DOOR_OPEN",
}
newEntity{ base = "LEVER_DOOR", define_as = "LEVER_DOOR_HORIZ", image = "terrain/granite_door1.png", add_displays = {class.new{image="terrain/granite_wall3.png", z=18, display_y=-1}}, door_opened = "DOOR_HORIZ_OPEN"}
newEntity{ base = "LEVER_DOOR", define_as = "LEVER_DOOR_VERT", image = "terrain/marble_floor.png", add_displays = {class.new{image="terrain/granite_door1_vert.png", z=17}, class.new{image="terrain/granite_door1_vert_north.png", z=18, display_y=-1}}, door_opened = "DOOR_OPEN_VERT"}
newEntity{
define_as = "LEVER",
type = "lever", subtype = "floor",
name = "huge lever",
display = '&', color=colors.UMBER, back_color=colors.DARK_UMBER,
notice = true,
always_remember = true,
lever = true,
force_clone = true,
block_move = function(self, x, y, e, act)
if act and e.player and self.lever then
self.lever = false
local spot = game.level:pickSpot{type="lever", subtype="door"}
if not spot then return true end
local g = game.level.map(spot.x, spot.y, engine.Map.TERRAIN)
g.levers = (g.levers or 0) + 1
if g.levers >= 2 then
game.level.map(spot.x, spot.y, engine.Map.TERRAIN, game.zone.grid_list[g.door_opened])
game.log("#VIOLET#You hear a door openning.")
else
game.log("#VIOLET#You hear a mechanism clicking.")
end
end
return true
end,
}
......@@ -24,7 +24,7 @@ return {
max_level = 5,
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,
width = 64, height = 64,
persistent = "zone",
-- all_remembered = true,
all_lited = true,
......@@ -32,23 +32,31 @@ return {
ambient_music = "Breaking the siege.ogg",
min_material_level = 4,
max_material_level = 5,
no_level_connectivity = true,
generator = {
map = {
class = "engine.generator.map.Town",
building_chance = 70,
max_building_w = 8, max_building_h = 8,
edge_entrances = {6,4},
floor = "FLOOR",
external_floor = "FLOOR",
wall = "WALL",
class = "engine.generator.map.Static",
map = "zones/prides",
up = "FLAT_UP6",
down = "FLAT_DOWN4",
door = "DOOR",
sublevel = {
class = "engine.generator.map.Town",
pride = "vor",
building_chance = 70,
max_building_w = 8, max_building_h = 8,
edge_entrances = {6,4},
floor = "FLOOR",
external_floor = "FLOOR",
wall = "WALL",
door = "DOOR",
up = "FLOOR",
down = "FLOOR",
nb_rooms = {0,0,0,1},
rooms = {"lesser_vault"},
lesser_vaults_list = {"orc-armoury", "double-t", "circle", "hostel", "orc-necromancer"},
lite_room_chance = 100,
nb_rooms = {0,0,0,1},
rooms = {"lesser_vault"},
lesser_vaults_list = {"orc-armoury", "double-t", "circle", "hostel", "orc-necromancer"},
lite_room_chance = 100,
},
},
actor = {
class = "engine.generator.actor.Random",
......@@ -73,5 +81,10 @@ return {
up = "FLAT_UP_WILDERNESS",
}, },
},
[5] = {
generator = { map = {
down = "FLAT_UP_WILDERNESS",
}, },
},
},
}
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