summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/it_use3.cc
diff options
context:
space:
mode:
Diffstat (limited to 'crawl-ref/source/it_use3.cc')
-rw-r--r--crawl-ref/source/it_use3.cc18
1 files changed, 16 insertions, 2 deletions
diff --git a/crawl-ref/source/it_use3.cc b/crawl-ref/source/it_use3.cc
index 6405cf33a3..b5e79d0872 100644
--- a/crawl-ref/source/it_use3.cc
+++ b/crawl-ref/source/it_use3.cc
@@ -364,8 +364,22 @@ static bool evoke_horn_of_geryon()
{
map_feature_marker *featm =
dynamic_cast<map_feature_marker*>(marker);
- grd[count_x][count_y] = featm->feat;
- env.markers.remove(marker);
+ // [ds] Ensure we're activating the correct feature
+ // markers. Feature markers are also used for other
+ // things, notably to indicate the return point from
+ // a labyrinth or portal vault.
+ switch (featm->feat)
+ {
+ case DNGN_ENTER_COCYTUS:
+ case DNGN_ENTER_DIS:
+ case DNGN_ENTER_GEHENNA:
+ case DNGN_ENTER_TARTARUS:
+ grd[count_x][count_y] = featm->feat;
+ env.markers.remove(marker);
+ break;
+ default:
+ break;
+ }
}
}
}