summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/acr.cc
diff options
context:
space:
mode:
authorj-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573>2009-07-23 11:05:37 +0000
committerj-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573>2009-07-23 11:05:37 +0000
commit2aa047a8a3a6ce4ff16d8d309d91eb36b05b6048 (patch)
treee9affa239169895594e165c565c019af6796645b /crawl-ref/source/acr.cc
parentd40b5c49a223cb2bdad1e9a0df10631140b700a3 (diff)
downloadcrawl-ref-2aa047a8a3a6ce4ff16d8d309d91eb36b05b6048.tar.gz
crawl-ref-2aa047a8a3a6ce4ff16d8d309d91eb36b05b6048.zip
* Prompt before moving while confused and next to lava/deep water.
* Change Portal Projectile range to LOS. * Fix crash with Summon Horrible Things if there's not enough space. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@10380 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/acr.cc')
-rw-r--r--crawl-ref/source/acr.cc24
1 files changed, 24 insertions, 0 deletions
diff --git a/crawl-ref/source/acr.cc b/crawl-ref/source/acr.cc
index 62c7127b33..d325db5194 100644
--- a/crawl-ref/source/acr.cc
+++ b/crawl-ref/source/acr.cc
@@ -3656,6 +3656,30 @@ static void _move_player(coord_def move)
// When confused, sometimes make a random move
if (you.confused())
{
+ dungeon_feature_type dangerous = DNGN_FLOOR;
+ for (adjacent_iterator ai(you.pos(), false); ai; ++ai)
+ {
+ if (is_grid_dangerous(grd(*ai))
+ && (dangerous == DNGN_FLOOR || grd(*ai) == DNGN_LAVA))
+ {
+ dangerous = grd(*ai);
+ }
+ }
+ if (dangerous != DNGN_FLOOR)
+ {
+ std::string prompt = "Are you sure you want to move while confused "
+ "and next to ";
+ prompt += (dangerous == DNGN_LAVA ? "lava"
+ : "deep water");
+ prompt += "? ";
+
+ if (!yesno(prompt.c_str(), false, 'n'))
+ {
+ canned_msg(MSG_OK);
+ return;
+ }
+ }
+
if (!one_chance_in(3))
{
move.x = random2(3) - 1;