summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source
diff options
context:
space:
mode:
authorj-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573>2008-03-30 15:31:14 +0000
committerj-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573>2008-03-30 15:31:14 +0000
commit3f99f1f82b88899852215c54dc2e111956094bd5 (patch)
tree30518807e3dad373bd7228118091245a2690efca /crawl-ref/source
parent545034c7339efbe30c3ca89731979448345774a6 (diff)
downloadcrawl-ref-3f99f1f82b88899852215c54dc2e111956094bd5.tar.gz
crawl-ref-3f99f1f82b88899852215c54dc2e111956094bd5.zip
Update the rest of the files to the new documentation name.
Also add a preliminary tiles documentation with 'T' as a hotkey, re-add the readme on '!' after moving options_guide.txt to '&'. And now that the tutorial also allows inscriptions from viewing items, add an explanatory text for inscriptions. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@3952 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source')
-rw-r--r--crawl-ref/source/command.cc14
-rw-r--r--crawl-ref/source/describe.cc21
-rw-r--r--crawl-ref/source/tutorial.cc69
-rw-r--r--crawl-ref/source/tutorial.h1
4 files changed, 96 insertions, 9 deletions
diff --git a/crawl-ref/source/command.cc b/crawl-ref/source/command.cc
index fdadcd010d..922ac5b504 100644
--- a/crawl-ref/source/command.cc
+++ b/crawl-ref/source/command.cc
@@ -637,10 +637,14 @@ struct help_file
help_file help_files[] = {
{ "crawl_manual.txt", '*', true },
+ { "../readme.txt", '!', false },
{ "aptitudes.txt", '%', false },
- { "readme.txt", '^', false },
+ { "quickstart.txt", '^', false },
{ "macros_guide.txt", '~', false },
- { "options_guide.txt", '!', false },
+ { "options_guide.txt", '&', false },
+#ifdef USE_TILE
+ { "tiles_help.txt", 'T', false },
+#endif
{ NULL, 0, false }
};
@@ -1335,12 +1339,16 @@ static void show_keyhelp_menu(const std::vector<formatted_string> &lines,
"aspect of Dungeon Crawl.\n"
"<w>?</w>: List of keys\n"
+ "<w>!</w>: Read Me!\n"
"<w>^</w>: Quickstart Guide\n"
"<w>:</w>: Browse character notes\n"
"<w>~</w>: Macros help\n"
- "<w>!</w>: Options help\n"
+ "<w>&</w>: Options help\n"
"<w>%</w>: Table of aptitudes\n"
"<w>/</w>: Lookup description\n"
+#ifdef USE_TILE
+ "<w>T</w>: Tiles key help\n"
+#endif
"<w>V</w>: Version information\n"
"<w>Home</w>: This screen\n",
true, true, cmdhelp_textfilter);
diff --git a/crawl-ref/source/describe.cc b/crawl-ref/source/describe.cc
index 7248cc12ec..2c418bde43 100644
--- a/crawl-ref/source/describe.cc
+++ b/crawl-ref/source/describe.cc
@@ -1792,9 +1792,25 @@ void describe_item( item_def &item, bool allow_inscribe )
"<cyan>Do you wish to inscribe this item? ").display();
}
+ if (Options.tutorial_left && wherey() <= get_number_of_lines() - 2)
+ {
+ tutorial_inscription_info(allow_autoinscribe);
+
+ if ( allow_autoinscribe )
+ {
+ formatted_string::parse_string(
+ "<cyan>So, do you wish to inscribe this item? "
+ "('a' to autoinscribe) ").display();
+ }
+ else
+ {
+ formatted_string::parse_string(
+ "<cyan>So, do you wish to inscribe this item? ").display();
+ }
+ }
#ifdef USE_TILE
const int keyin = getch_ck();
- if (toupper(keyin) == 'Y' || keyin == CK_MOUSE_B1)
+ if (toupper(keyin) == 'Y')
#else
const int keyin = getch();
if (toupper(keyin) == 'Y')
@@ -1808,7 +1824,8 @@ void describe_item( item_def &item, bool allow_inscribe )
you.quiver_change = true; // might have added/removed !F
}
}
- else if (toupper(keyin) == 'A' && allow_autoinscribe)
+ else if (allow_autoinscribe
+ && (toupper(keyin) == 'A' || keyin == CK_MOUSE_B1))
{
// Remove previous randart inscription
_trim_randart_inscrip(item);
diff --git a/crawl-ref/source/tutorial.cc b/crawl-ref/source/tutorial.cc
index b5869fa12c..40e9382be7 100644
--- a/crawl-ref/source/tutorial.cc
+++ b/crawl-ref/source/tutorial.cc
@@ -814,6 +814,12 @@ void tutorial_dissection_reminder(bool healthy)
text += "If you don't want to eat it, consider <w>c</w>hopping this "
"corpse up under <w>p</w>rayer as a sacrifice to ";
text += god_name(you.religion);
+#ifdef USE_TILE
+ text += ". You can also chop up any corpse that shows in the floor "
+ "part of your inventory tiles by clicking on it with your "
+ "<w>left mouse button</w>";
+#endif
+
text += ". Whenever you view a corpse while in tutorial mode you can "
"reread this information.";
@@ -1086,7 +1092,7 @@ void tutorial_first_item(const item_def &item)
"Once it is in your inventory, you can drop it again with "
#ifdef USE_TILE
"a <w>left mouse click</w> while pressing the <w>Shift key</w>. "
- "Whenever you <w>right-click</w> on an item in your inventory"
+ "Whenever you <w>right-click</w> on an item "
#else
"<w>d</w>. Any time you look at an item in your <w>i</w>nventory"
#endif
@@ -1305,7 +1311,14 @@ void learned_something_new(tutorial_event_type seen_what, int x, int y)
"<w>c</w>hop it up with a sharp implement. Once hungry you "
"can then <w>e</w>at the resulting chunks (though they may "
"not be healthy).";
-
+#ifdef USE_TILE
+ text << " With tiles, you can also chop up any corpse that shows in "
+ "the floor part of your inventory region, simply by doing a "
+ "<w>left mouse click</w> while pressing <w>Shift</w>, and "
+ "then eat the resulting chunks with <w>Shift + right mouse "
+ "click</w>.";
+
+#endif
if (god_likes_butchery(you.religion))
{
text << " During prayer you can offer corpses to "
@@ -2344,13 +2357,34 @@ void tutorial_describe_item(const item_def &item)
<< god_name(you.religion)
<< " (while <w>p</w>raying)";
}
-
ostr << ". ";
+
if (food_is_rotten(item))
{
ostr << "Rotten corpses won't be of any use to you, though, so "
- "you might just as well <w>d</w>rop this.";
+ "you might just as well <w>d</w>rop this. No god will "
+ "accept such rotten sacrifice, either.";
+ }
+#ifdef USE_TILE
+ else
+ {
+ ostr << " For an individual corpse in your inventory, the most "
+ "practical way to chop it up is to drop it by clicking "
+ "on it with your <w>left mouse button</w> while "
+ "<w>Shift</w> is pressed, and then repeat that command "
+ "for the corpse tile now lying on the floor. If the "
+ "intent is to eat the chunks (rather than offer the "
+ "corpse), you can then press <w>Shift + right mouse "
+ "button</w> to do that.\n"
+ EOL
+ "If there are several items in your inventory you'd "
+ "like to drop, the more convenient way is to use the "
+ "<w>d</w>rop menu. On a related note, offering several "
+ "corpses on a floor square is facilitated by using the "
+ "<w>c</w>hop prompt where <w>c</w> is a valid synonym "
+ "for <w>y</w>es.";
}
+#endif
Options.tutorial_events[TUT_SEEN_CARRION] = 0;
break;
@@ -2439,6 +2473,33 @@ void tutorial_describe_item(const item_def &item)
formatted_string::parse_block(broken, false).display();
} // tutorial_describe_item
+void tutorial_inscription_info(bool autoinscribe)
+{
+ std::ostringstream text;
+ text << "<" << colour_to_str(channel_to_colour(MSGCH_TUTORIAL)) << ">";
+
+ if (!autoinscribe || wherey() <= get_number_of_lines() - 10)
+ {
+ text << EOL
+ "Inscriptions are a powerful concept of Dungeon Crawl." EOL
+ "You can inscribe items to differentiate them, or to comment on them, " EOL
+ "but also to set rules for item interaction. If you are new to Crawl, " EOL
+ "you can safely ignore this feature, though." EOL;
+ }
+
+ if (autoinscribe && wherey() <= get_number_of_lines() - 6)
+ {
+ text << EOL EOL
+ "Artefacts can be autoinscribed to give a brief overview of their " EOL
+ "known properties. Here, doing a <w>left mouse click</w> will autoinscribe " EOL
+ "this item." EOL;
+ }
+ text << "(In the main screen, press <w>?6</w> for more information.)" EOL;
+ text << "</" << colour_to_str(channel_to_colour(MSGCH_TUTORIAL)) << ">";
+
+ formatted_string::parse_string(text.str()).display();
+}
+
bool tutorial_feat_interesting(dungeon_feature_type feat)
{
if (feat >= DNGN_ALTAR_FIRST_GOD && feat <= DNGN_ALTAR_LAST_GOD)
diff --git a/crawl-ref/source/tutorial.h b/crawl-ref/source/tutorial.h
index ef3f8bbb32..0c3d13694b 100644
--- a/crawl-ref/source/tutorial.h
+++ b/crawl-ref/source/tutorial.h
@@ -46,6 +46,7 @@ formatted_string tut_abilities_info();
// additional information for tutorial players
void tutorial_describe_item(const item_def &item);
+void tutorial_inscription_info(bool autoinscribe);
bool tutorial_feat_interesting(dungeon_feature_type feat);
void tutorial_describe_feature(dungeon_feature_type feat);
bool tutorial_monster_interesting(const monsters *mons);