diff options
author | j-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573> | 2009-07-23 11:05:37 +0000 |
---|---|---|
committer | j-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573> | 2009-07-23 11:05:37 +0000 |
commit | 2aa047a8a3a6ce4ff16d8d309d91eb36b05b6048 (patch) | |
tree | e9affa239169895594e165c565c019af6796645b /crawl-ref/source/acr.cc | |
parent | d40b5c49a223cb2bdad1e9a0df10631140b700a3 (diff) | |
download | crawl-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.cc | 24 |
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; |