summaryrefslogtreecommitdiffstats
path: root/crawl-ref
diff options
context:
space:
mode:
authorj-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573>2009-07-18 20:29:53 +0000
committerj-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573>2009-07-18 20:29:53 +0000
commitb4338a00f5d85699e599307f09d502e3cbd621dc (patch)
tree4d6a92ff46a4554fa68dc3086408678f133deca6 /crawl-ref
parentef5094188d7c6837338f773c33e6cd5c05d17cd9 (diff)
downloadcrawl-ref-b4338a00f5d85699e599307f09d502e3cbd621dc.tar.gz
crawl-ref-b4338a00f5d85699e599307f09d502e3cbd621dc.zip
Change part of the z/Z handling:
* added option darken_beyond_range (defaults to true) * Z doesn't show the spell list anymore git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@10278 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref')
-rw-r--r--crawl-ref/docs/options_guide.txt6
-rw-r--r--crawl-ref/settings/init.txt1
-rw-r--r--crawl-ref/source/directn.cc15
-rw-r--r--crawl-ref/source/initfile.cc6
-rw-r--r--crawl-ref/source/religion.cc3
-rw-r--r--crawl-ref/source/spl-cast.cc16
6 files changed, 29 insertions, 18 deletions
diff --git a/crawl-ref/docs/options_guide.txt b/crawl-ref/docs/options_guide.txt
index 2a48a26872..2cc76e3926 100644
--- a/crawl-ref/docs/options_guide.txt
+++ b/crawl-ref/docs/options_guide.txt
@@ -582,6 +582,12 @@ target_unshifted_dirs = false
If you use target_unshifted_dirs, default_target will be
automatically disabled.
+darken_beyond_range = true
+ If set to true, everything beyond range when targeting will be
+ coloured grey. Setting this to false will also suppress the brief
+ flash if there are no visible monsters within range, both for
+ ASCII and the Tiles version.
+
4-c Passive Sightings (detected or remembered entities).
-----------------------------------------------------------
diff --git a/crawl-ref/settings/init.txt b/crawl-ref/settings/init.txt
index 034816f925..4d5d853b7d 100644
--- a/crawl-ref/settings/init.txt
+++ b/crawl-ref/settings/init.txt
@@ -117,6 +117,7 @@ drop_filter = useless_item
# target_los_first = false
# default_target = false
# target_unshifted_dirs = true
+# darken_beyond_range = false
##### 4-c Passive Sightings #####################
#
diff --git a/crawl-ref/source/directn.cc b/crawl-ref/source/directn.cc
index 642f92eb5d..db4cbb7848 100644
--- a/crawl-ref/source/directn.cc
+++ b/crawl-ref/source/directn.cc
@@ -875,13 +875,12 @@ crawl_exit_hook::~crawl_exit_hook()
range_view_annotator::range_view_annotator(int range)
{
- do_anything = (range >= 0);
-
- if (do_anything)
+ if (range >= 0)
{
- Options.target_range = range;
- // Repaint.
-// viewwindow(true, false);
+#ifndef USE_TILE
+ if (Options.target_range != -1)
+#endif
+ Options.target_range = range;
}
}
@@ -893,11 +892,7 @@ range_view_annotator::~range_view_annotator()
void range_view_annotator::restore_state()
{
- if (!do_anything)
- return;
-
Options.target_range = 0;
- do_anything = false;
}
bool _dist_ok(const dist& moves, int range, targ_mode_type mode,
diff --git a/crawl-ref/source/initfile.cc b/crawl-ref/source/initfile.cc
index 0a61a61c38..eeb349a65b 100644
--- a/crawl-ref/source/initfile.cc
+++ b/crawl-ref/source/initfile.cc
@@ -840,6 +840,7 @@ void game_options::reset_options()
target_oos = true;
target_los_first = true;
target_unshifted_dirs = false;
+ target_range = 0; // -1 -> grey out targets out of range
dump_kill_places = KDO_ONE_PLACE;
dump_message_count = 7;
@@ -3004,6 +3005,11 @@ void game_options::read_option_line(const std::string &str, bool runscript)
if (target_unshifted_dirs)
default_target = false;
}
+ else if (key == "darken_beyond_range")
+ {
+ if (!_read_bool(field, target_range != -1))
+ target_range = -1;
+ }
else if (key == "drop_mode")
{
if (field.find("multi") != std::string::npos)
diff --git a/crawl-ref/source/religion.cc b/crawl-ref/source/religion.cc
index 49d6a06466..72d50c404e 100644
--- a/crawl-ref/source/religion.cc
+++ b/crawl-ref/source/religion.cc
@@ -5155,8 +5155,7 @@ static bool _jiyva_retribution()
{
const god_type god = GOD_JIYVA;
- if (you.is_undead || one_chance_in(4)
- || player_mutation_level(MUT_MUTATION_RESISTANCE) == 3)
+ if (you.is_undead || one_chance_in(4))
{
const monster_type slimes[] = {
MONS_GIANT_EYEBALL, MONS_EYE_OF_DRAINING,
diff --git a/crawl-ref/source/spl-cast.cc b/crawl-ref/source/spl-cast.cc
index 645b3d4edf..e17370cdeb 100644
--- a/crawl-ref/source/spl-cast.cc
+++ b/crawl-ref/source/spl-cast.cc
@@ -671,7 +671,7 @@ bool cast_a_spell(bool check_range)
const int minRange = _get_dist_to_nearest_monster();
- int keyin = (check_range ? 0 : '?');
+ int keyin = 0;
while (true)
{
@@ -734,13 +734,17 @@ bool cast_a_spell(bool check_range)
{
// Abort if there are no hostiles within range, but flash the range
// markers for about half a second.
- Options.target_range = _calc_spell_range(spell);
- viewwindow(true, false);
mpr("There are no visible monsters within range! (Use <w>Z</w> to "
"cast anyway.)");
- delay(500);
- Options.target_range = 0;
- viewwindow(true, false);
+
+ if (Options.target_range != -1)
+ {
+ Options.target_range = _calc_spell_range(spell);
+ viewwindow(true, false);
+ delay(500);
+ Options.target_range = 0;
+ viewwindow(true, false);
+ }
return (false);
}