summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/mon-pick.h
diff options
context:
space:
mode:
authorAdam Borowski <kilobyte@angband.pl>2013-03-17 03:40:05 +0100
committerAdam Borowski <kilobyte@angband.pl>2013-03-18 08:34:31 +0100
commit67c5791b6a4c811c635a761c869e678cc62fee50 (patch)
treebe92837f1ad7baa2e6581dff53fc75d422a5eae1 /crawl-ref/source/mon-pick.h
parent238fe701383a03c756432e68894ed9181bdf8b09 (diff)
downloadcrawl-ref-67c5791b6a4c811c635a761c869e678cc62fee50.tar.gz
crawl-ref-67c5791b6a4c811c635a761c869e678cc62fee50.zip
Cap OODs at the branch end.
This changes behaviour: before, except for a short range after the end of data, monster picking code would loop failing until it decides to stop caring about depth altogether, and pick a monster eligible for the current branch using nothing but its rarity. Now, it will simply pick one from Branch:$. With four exceptions: * D/Vaults: these rely heavily on the cap being at D:31; this is pretty much the entire monster set for Vaults:$. * Elf, Tomb: they had OODs defined past the branch's end. They'd pop up for "mild" OODs but not for "super" OODs which would degenerate into fully random search (and thus be usually weaker). A bunch of other branches had data for a single level or so past the end, but it doesn't appear to be meaningful. Hells and Zot had OODs broken due to the old cap being shallower than around half of the branch. This rewrite preserves monsters totally ineligible to spawn but doesn't try to make the distribution identical. All real threat comes from hell effects / Zot:5 vault anyway.
Diffstat (limited to 'crawl-ref/source/mon-pick.h')
-rw-r--r--crawl-ref/source/mon-pick.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/crawl-ref/source/mon-pick.h b/crawl-ref/source/mon-pick.h
index 9995ae9010..d7998a89fd 100644
--- a/crawl-ref/source/mon-pick.h
+++ b/crawl-ref/source/mon-pick.h
@@ -17,6 +17,7 @@ int mons_depth(monster_type mcls, branch_type branch);
monster_type pick_monster_no_rarity(branch_type branch);
monster_type pick_monster_by_hash(branch_type branch, uint32_t hash);
bool branch_has_monsters(branch_type branch);
+int branch_ood_cap(branch_type branch);
void debug_monpick();
#endif