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

Many zones can now scale a bit more in levels to prevent player overgrowing them too much

git-svn-id: http://svn.net-core.org/repos/t-engine4@1727 51575b47-30f0-44d4-a5cc-537603b46e54
parent 6a947ae8
No related branches found
No related tags found
No related merge requests found
Showing
with 39 additions and 24 deletions
......@@ -136,6 +136,10 @@ function _M:newGame()
self.always_target = true
local birth_done = function()
for i = 1, 25 do self.state:generateRandart() end
end
self.creating_player = true
local birth; birth = Birther.new(self.player, {"base", "difficulty", "world", "race", "subrace", "sex", "class", "subclass" }, function()
-- Save for quick birth
......@@ -164,6 +168,7 @@ function _M:newGame()
savefile_pipe:push("", "entity", self.player)
self.creating_player = false
birth_done()
self.player:check("on_birth_done")
end, true))
end
......@@ -196,6 +201,7 @@ function _M:newGame()
self.player:grantQuest(self.player.starting_quest)
self.creating_player = false
birth_done()
self.player:check("on_birth_done")
else
-- Continue as normal
......@@ -641,7 +647,7 @@ function _M:setupCommands()
for i, e in ipairs(self.zone.object_list) do
if e.unique and e.define_as ~= "VOICE_SARUMAN" and e.define_as ~= "ORB_MANY_WAYS_DEMON" then
local a = self.zone:finishEntity(self.level, "object", e)
-- a.no_unique_lore = true -- to not spam
a.no_unique_lore = true -- to not spam
a:identify(true)
self.zone:addEntity(self.level, a, "object", self.player.x, self.player.y)
end
......
......@@ -87,11 +87,8 @@ function _M:zoneCheckBackupGuardian()
end
--- A boss refused to drop his artifact! Bastard! Add it to the world pool
function _M:addWorldArtifact(define, config)
local o = game.zone.object_list[define]
o.level_range = config.level_range
o.rarity = config.rarity
self.world_artifacts_pool[define] = o
function _M:addWorldArtifact(o)
self.world_artifacts_pool[#self.world_artifacts_pool+1] = o
end
--- Load all refused boss artifacts
......@@ -100,6 +97,18 @@ function _M:getWorldArtifacts()
return self.world_artifacts_pool
end
--- Generate randarts for this state
function _M:generateRandart()
local base = game.zone:makeEntity(game.level, "object", {ego_chance=-1000, special=function(e) return (not e.unique and e.slot and e.slot ~= "INBELT") and true or false end}, nil, true)
if not base then return end
local o = base:cloneFull()
print("Creating randart using base "..o.name) FIX ME
o.randart = true
o.rarity = rng.range(200, 290)
self:addWorldArtifact(o)
end
local wda_cache = {}
--- Runs the worldmap directory AI
......
......@@ -19,7 +19,7 @@
return {
name = "Elven Ruins",
level_range = {33, 38},
level_range = {33,42},
level_scheme = "player",
max_level = 3,
decay = {300, 800},
......
......@@ -19,7 +19,7 @@
return {
name = "Ardhungol",
level_range = {25, 30},
level_range = {25, 32},
level_scheme = "player",
max_level = 5,
decay = {300, 800},
......
......@@ -19,7 +19,7 @@
return {
name = "Charred Scar",
level_range = {30, 35},
level_range = {30, 40},
level_scheme = "player",
max_level = 1,
decay = {300, 800},
......
......@@ -19,7 +19,7 @@
return {
name = "Daikara",
level_range = {7, 12},
level_range = {7, 16},
level_scheme = "player",
max_level = 7,
decay = {300, 800},
......
......@@ -19,7 +19,7 @@
return {
name = "Demon Plane",
level_range = {35, 40},
level_range = {35, 45},
level_scheme = "player",
max_level = 1,
decay = {300, 800},
......
......@@ -19,7 +19,7 @@
return {
name = "Gorbat Pride",
level_range = {35, 40},
level_range = {35, 45},
level_scheme = "player",
max_level = 5,
decay = {300, 800},
......
......@@ -19,7 +19,7 @@
return {
name = "Grushnak Pride",
level_range = {35, 40},
level_range = {35, 45},
level_scheme = "player",
max_level = 5,
decay = {300, 800},
......
......@@ -19,7 +19,7 @@
return {
name = "The Maze",
level_range = {7, 12},
level_range = {7, 16},
level_scheme = "player",
max_level = 7,
decay = {300, 800},
......
......@@ -19,7 +19,7 @@
return {
name = "Old Forest",
level_range = {7, 12},
level_range = {7, 16},
level_scheme = "player",
max_level = 7,
decay = {300, 800},
......
......@@ -19,7 +19,7 @@
return {
name = "Rak'shor Pride",
level_range = {30, 35},
level_range = {30, 40},
level_scheme = "player",
max_level = 5,
decay = {300, 800},
......
......@@ -19,7 +19,7 @@
return {
name = "Lost Dwarven Kingdom of Reknor",
level_range = {18, 23},
level_range = {18, 27},
level_scheme = "player",
max_level = 4,
decay = {300, 800},
......
......@@ -19,7 +19,7 @@
return {
name = "Sandworm lair",
level_range = {7, 12},
level_range = {7, 16},
level_scheme = "player",
max_level = 7,
decay = {300, 800},
......
......@@ -19,7 +19,7 @@
return {
name = "Slime Tunnels",
level_range = {45, 50},
level_range = {45, 55},
level_scheme = "player",
max_level = 1,
decay = {300, 800},
......
......@@ -19,7 +19,7 @@
return {
name = "Tannen's Tower",
level_range = {35, 40},
level_range = {35, 45},
level_scheme = "player",
max_level = 4, reverse_level_display=true,
decay = {300, 800},
......
......@@ -19,7 +19,7 @@
return {
name = "Ruins of Telmur",
level_range = {35, 40},
level_range = {35, 45},
level_scheme = "player",
max_level = 5,
decay = {300, 800},
......
......@@ -19,7 +19,7 @@
return {
name = "Tol Falas",
level_range = {15, 20},
level_range = {15, 26},
level_scheme = "player",
max_level = 9,
decay = {300, 800},
......
......@@ -19,7 +19,7 @@
return {
name = "Small lumberjack village",
level_range = {8, 12},
level_range = {8, 14},
max_level = 1,
width = 25, height = 25,
persistant = "zone",
......
......@@ -19,7 +19,7 @@
return {
name = "Vor Pride",
level_range = {35, 40},
level_range = {35, 45},
level_scheme = "player",
max_level = 5,
decay = {300, 800},
......
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