summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/scripts
diff options
context:
space:
mode:
authorDarshan Shaligram <dshaligram@users.sourceforge.net>2010-01-22 01:48:11 +0530
committerDarshan Shaligram <dshaligram@users.sourceforge.net>2010-01-22 03:06:59 +0530
commit141c1e7bbfe7f37ec291d1a14616f3e3c2efaff6 (patch)
treec57be2ff3950ff087f4c40486aee4f0892ce3d5c /crawl-ref/source/scripts
parent18a740f01d1160c5afa76bb8afd1c1f413f0c425 (diff)
downloadcrawl-ref-141c1e7bbfe7f37ec291d1a14616f3e3c2efaff6.tar.gz
crawl-ref-141c1e7bbfe7f37ec291d1a14616f3e3c2efaff6.zip
Monster respawn rate reduces after 3k turns on level, respawning ends after 15k turns on level, monster level fuzz and super OOD rates increase with time spent beyond 3k turns on level.
The four hells, Zot, and all non-LEVEL_DUNGEON areas (Pan, Abyss and friends) are not affected by these changes. Monster level fuzz can now be up to +7 levels (was +4); this also applies to monsters placed during level-generation (14% chance per monster as before). Super OODs can now be up to +26 (random2avg(27, 2); was +11). Super OOD gen only begins after over 1k turns spent on level and is still quite rare initially (1 in 500, was 1 in 5000 in 0.5). Monster fuzz chances (chance of +0-7 to monster level) increase after 3k turns from 14% to 100% after 7.8k turns. Super OOD chances increase after 3k turns from 1 in 500 (0.2%) to 100% after 12k turns.
Diffstat (limited to 'crawl-ref/source/scripts')
-rw-r--r--crawl-ref/source/scripts/place-population.lua20
1 files changed, 14 insertions, 6 deletions
diff --git a/crawl-ref/source/scripts/place-population.lua b/crawl-ref/source/scripts/place-population.lua
index 76b77559e6..25b7cb6f72 100644
--- a/crawl-ref/source/scripts/place-population.lua
+++ b/crawl-ref/source/scripts/place-population.lua
@@ -3,10 +3,11 @@ local niters = 150
local output_file = "monster-report.out"
local excluded_things = util.set({}) -- "plant", "fungus", "bush" })
+local use_random_maps = true
local function count_monsters_at(place, set)
debug.goto_place(place)
- test.regenerate_level()
+ test.regenerate_level(nil, use_random_maps)
local monsters_here = set or { }
for mons in test.level_monster_iterator() do
@@ -24,7 +25,9 @@ end
local function report_monster_counts_at(place, mcount_map)
local text = ''
text = text .. "\n-------------------------------------------\n"
- text = text .. place .. " monsters per-level\n"
+ text = text .. place .. " monsters per-level ("
+ text = text .. (use_random_maps and "using random maps"
+ or "NO random maps") .. ")\n"
text = text .. "-------------------------------------------\n"
local monster_counts = util.pairs(mcount_map)
@@ -156,9 +159,8 @@ local function count_monsters_from(start_place, end_place)
local iter_mpops = { }
for i = 1, niters do
- crawl.mesclr()
- crawl.mpr("Counting monsters at " .. place .. " (" ..
- i .. "/" .. niters .. ")")
+ crawl.message("Counting monsters at " .. place .. " (" ..
+ i .. "/" .. niters .. ")")
local res = count_monsters_at(place)
table.insert(iter_mpops, res)
end
@@ -193,6 +195,9 @@ local function branch_resets()
if rawresets then
util.append(resets, parse_resets(rawresets))
end
+ if arg == '-nomaps' then
+ use_random_maps = false
+ end
end
return resets
end
@@ -217,11 +222,14 @@ with:
With the general form:
- -reset=<place>=<depth>[,<place>=<depth>,...]
+ -reset=<place>=<depth>[,<place>=<depth>,...]
where <place> is a valid place name as used in .des files, and <depth> is the
depth of the branch's entrance in its parent branch. Thus -reset=Snake:1=3
implies that the entrance of the Snake Pit is assumed to be on Lair:3.
+
+You can also disable the use of random maps during level generation with:
+ -nomaps
]])
end
return args[1], args[2] or args[1]