X-Git-Url: http://s-z.org/neil/git/?p=crawl.git;a=blobdiff_plain;f=crawl-ref%2Fsource%2Fdat%2Fdlua%2Fziggurat.lua;h=64b20ce713716b718d57548bb1e7d430000fb797;hp=5365977789acf2771d45e8c606f827806da980be;hb=275c35f9b851c934cd2011018f18a5cafe310ee9;hpb=8b08fbb35648570bee6ea60099e973e05b2ec4b2 diff --git a/crawl-ref/source/dat/dlua/ziggurat.lua b/crawl-ref/source/dat/dlua/ziggurat.lua index 5365977..64b20ce 100644 --- a/crawl-ref/source/dat/dlua/ziggurat.lua +++ b/crawl-ref/source/dat/dlua/ziggurat.lua @@ -385,7 +385,9 @@ end local dgn_passable = dgn.passable_excluding("closed_door") local function ziggurat_create_monsters(p, mfn) - local hd_pool = you.depth() * (you.depth() + 8) + 10 + local depth = you.depth() + local completed = you.zigs_completed() + 1 + local hd_pool = math.floor(10 + completed * completed + (depth * (depth + 8 * completed )) * math.max(1, completed * 0.75)) local nth = 1 @@ -419,10 +421,14 @@ local function ziggurat_create_monsters(p, mfn) end local function ziggurat_create_loot_at(c) - -- Basically, loot grows linearly with depth. + -- Basically, loot grows linearly with depth finished zigs. local depth = you.depth() - local nloot = depth - local nloot = depth + crawl.random2(math.floor(nloot * 0.5)) + local completed = you.zigs_completed() + local nloot = depth + crawl.random2(math.floor(depth * 0.5)) + + if completed > 0 then + nloot = math.min(nloot + crawl.random2(math.floor(completed * depth / 4)), map_area() / 9) + end local function find_free_space(nspaces) local spaces = { }