summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/directn.cc
diff options
context:
space:
mode:
authorj-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573>2009-07-14 20:26:05 +0000
committerj-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573>2009-07-14 20:26:05 +0000
commit26f8d2de7b69e5cc901b293f76dd0ded073ad1b7 (patch)
tree87209d39e974b90f25cc2da991c7156cf91c8720 /crawl-ref/source/directn.cc
parent258300c2d7b30f3ccdcd43b804b4ff9055dae917 (diff)
downloadcrawl-ref-26f8d2de7b69e5cc901b293f76dd0ded073ad1b7.tar.gz
crawl-ref-26f8d2de7b69e5cc901b293f76dd0ded073ad1b7.zip
Tweak Shoals algorithm to place the islands a bit more central and away from
the border (so they're not cut off anymore). Also add a new feature type DNGN_OPEN_SEA that is an impassible feature only intended for the Shoals border. Will need special handling for confusion, I guess. I've also tweaked the level generation, so Shoals vaults don't need to be connected anymore (the algorithm just adds superfluous floor corridors), but I still get loads of corridors on the bottom level - frustratingly enough only inside the map border, and they (usually) don't even contain any stairs or other features. It's maddening! git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@10213 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/directn.cc')
-rw-r--r--crawl-ref/source/directn.cc12
1 files changed, 12 insertions, 0 deletions
diff --git a/crawl-ref/source/directn.cc b/crawl-ref/source/directn.cc
index 666b59ae96..53652e78a5 100644
--- a/crawl-ref/source/directn.cc
+++ b/crawl-ref/source/directn.cc
@@ -2596,6 +2596,8 @@ static std::string _base_feature_desc(dungeon_feature_type grid,
return ("rock wall");
case DNGN_PERMAROCK_WALL:
return ("unnaturally hard rock wall");
+ case DNGN_OPEN_SEA:
+ return ("open sea");
case DNGN_CLOSED_DOOR:
return ("closed door");
case DNGN_DETECTED_SECRET_DOOR:
@@ -2902,6 +2904,16 @@ std::string feature_description(const coord_def& where, bool bloody,
return thing_do_grammar(dtype, add_stop, false, desc);
}
+ if (grid == DNGN_OPEN_SEA)
+ {
+ switch (dtype)
+ {
+ case DESC_CAP_A: dtype = DESC_CAP_THE; break;
+ case DESC_NOCAP_A: dtype = DESC_NOCAP_THE; break;
+ default: break;
+ }
+ }
+
switch (grid)
{
case DNGN_TRAP_MECHANICAL: