summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/tutorial.cc
diff options
context:
space:
mode:
Diffstat (limited to 'crawl-ref/source/tutorial.cc')
-rw-r--r--crawl-ref/source/tutorial.cc41
1 files changed, 41 insertions, 0 deletions
diff --git a/crawl-ref/source/tutorial.cc b/crawl-ref/source/tutorial.cc
index c46540b440..b11e93a761 100644
--- a/crawl-ref/source/tutorial.cc
+++ b/crawl-ref/source/tutorial.cc
@@ -430,6 +430,8 @@ static std::string _tut_debug_list(int event)
return "learned about auto-explore";
case TUT_DONE_EXPLORE:
return "explored a level";
+ case TUT_AUTO_EXCLUSION:
+ return "learned about exclusions";
case TUT_YOU_MUTATED:
return "caught a mutation";
case TUT_NEW_ABILITY_GOD:
@@ -2631,6 +2633,32 @@ void learned_something_new(tutorial_event_type seen_what, coord_def gc)
}
break;
+ case TUT_AUTO_EXCLUSION:
+ // In the highly unlikely case the player encounters a
+ // hostile statue or oklob plant during the tutorial...
+ viewwindow(true, false);
+ if (Options.tut_explored)
+ {
+ // Hack: Reset tut_just_triggered, to force recursive calling of
+ // learned_something_new().
+ Options.tut_just_triggered = false;
+ learned_something_new(TUT_AUTO_EXPLORE);
+ Options.tut_just_triggered = true;
+ }
+ text << "\nTo prevent autotravel or autoexplore taking you into "
+ "dangerous territory, you can set travel exclusions by "
+ "entering the map view (<w>X</w>) and then toggling the "
+ "exclusion radius on the monster position with <w>e</w>. "
+ "To make this easier some immobile monsters listed in the "
+ "<w>auto_exclude</w> option (such as this one) are considered "
+ "dangerous enough to warrant an automatic setting of an "
+ "exclusion. It will be automatically cleared if you manage to "
+ "kill the monster. You could also manually remove the "
+ "exclusion with <w>Xee</w> but unless you remove this monster "
+ "from the auto_exclude list, the exclusion will be reset the "
+ "next turn.";
+ break;
+
case TUT_NEED_HEALING:
text << "If you're low on hitpoints or magic and there's no urgent "
"need to move, you can rest for a bit. Ideally, you should "
@@ -4106,6 +4134,19 @@ static void _tutorial_describe_feature(int x, int y)
Options.tutorial_events[TUT_SEEN_PORTAL] = false;
break;
+ case DNGN_CLOSED_DOOR:
+ if (!Options.tut_explored)
+ {
+ ostr << "\nTo avoid accidentally opening a door you'd rather "
+ "remain closed during travel or autoexplore, you can "
+ "mark it with an exclusion from the map view "
+ "(<w>X</w>) with <w>ee</w> while your cursor is on the "
+ "grid in question. Such an exclusion will prevent "
+ "autotravel from ever entering that grid until you "
+ "remove the exclusion with another press of <w>Xe</w>.";
+ }
+ break;
+
default:
if (feat >= DNGN_ALTAR_FIRST_GOD && feat <= DNGN_ALTAR_LAST_GOD)
{