summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--crawl-ref/docs/monster_speech.txt3
-rw-r--r--crawl-ref/docs/options_guide.txt12
-rw-r--r--crawl-ref/docs/quickstart.txt2
-rw-r--r--crawl-ref/docs/tiles_help.txt102
-rw-r--r--crawl-ref/init.txt6
-rw-r--r--crawl-ref/readme.txt34
-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
10 files changed, 234 insertions, 30 deletions
diff --git a/crawl-ref/docs/monster_speech.txt b/crawl-ref/docs/monster_speech.txt
index e5cc8a3095..ea9c31bd13 100644
--- a/crawl-ref/docs/monster_speech.txt
+++ b/crawl-ref/docs/monster_speech.txt
@@ -267,6 +267,9 @@ monsters you can find out their glyph in-game by searching the
database ('?/') and entering a vague enough monster name. For example,
entering "drac" will tell you that all draconians use the symbol 'd'.
+Note that changing monster glyphs using the mon_glyph option may also
+affect speech of this kind.
+
For the last round (shape comparison, e.g. winged humanoid)
occasionally an additional intelligence estimate ("stupid", "smart")
is prefixed to the search string, depending on the monster type, e.g.
diff --git a/crawl-ref/docs/options_guide.txt b/crawl-ref/docs/options_guide.txt
index 700033f4d6..3f2b03239a 100644
--- a/crawl-ref/docs/options_guide.txt
+++ b/crawl-ref/docs/options_guide.txt
@@ -149,6 +149,18 @@ For instance, you can use:
and thereafter use "ae" instead of "autopickup_exceptions":
ae = >uselessness, >inaccuracy
+Note that, in the tutorial, some of your options settings may get
+overwritten to facilitate the explanations. This concerns the
+following options, and their enforced setting for tutorial games
+are as follows:
+ delay_message_clear = false
+ auto_list = true
+ weapon = hand axe, for Berserkers
+ book = random, for Conjurers
+and, for Tiles,
+ tile_show_items = !?/%=([)x}+\_.
+
+
If you get stuck or some things just won't seem to work properly,
please ask for help on the newsgroup rec.games.roguelike.misc. Please
flag queries with '-crawl-', as other roguelikes are also discussed
diff --git a/crawl-ref/docs/quickstart.txt b/crawl-ref/docs/quickstart.txt
index 824a2c7851..b6f9ef9c3c 100644
--- a/crawl-ref/docs/quickstart.txt
+++ b/crawl-ref/docs/quickstart.txt
@@ -3,7 +3,7 @@
So, you want to start playing Crawl straight away without bothering with the
manual? Read this, the guide to starting Crawl with a minimum of preparation.
-When you get some more time, you can read crawl_manual.txt in the Docs
+When you get some more time, you can read crawl_manual.txt in the /docs
directory for more detailed information.
I suggest printing it out and following its instructions while playing your
diff --git a/crawl-ref/docs/tiles_help.txt b/crawl-ref/docs/tiles_help.txt
new file mode 100644
index 0000000000..7aebe63730
--- /dev/null
+++ b/crawl-ref/docs/tiles_help.txt
@@ -0,0 +1,102 @@
+ Tiles mouseclick item interaction
+
+If you're playing with Tiles compiled, you'll find several shortcuts to
+regular commands using mouseclicks.
+
+
+PLAYER AVATAR
+
+left mouseclick Pick up items on ground ('g' command).
+ A second click will take you to the pickup menu.
+
+right mouseclick Character overview ('%' command).
+
+Shift + left mouseclick Take stairs ('<' and '>' commands).
+
+Shift + right mouseclick View religion information ('^' command).
+
+
+INVENTORY MANAGEMENT
+
+left mouseclick Execute the most common action for this item type.
+
+ weapons: wield ('w')
+ misc. items: wield ('w')
+ armour: Wear ('W')
+ food: eat ('e')
+ scroll, manual: read ('r')
+ potion: quaff ('q')
+ jewellery: Put on ('P')
+ spellbook: Memorise ('M')
+ missiles: fire ('f')
+ corpse: eat ('e'), for Vampires
+
+wielded items:
+ rod: evoke ('v')
+ misc. item: evoke ('v')
+ weapon, staff: unwield ('w-')
+ armour: Take off ('T')
+ jewellery: Remove ('R')
+ others, as non-wielded
+
+Sometimes alternative denominators are used such as "draw a card"
+instead of evoke for decks of cards, or "drink blood" instead of eat.
+
+right mouseclick Display item information ('i' + item slot).
+
+Shift + left mouseclick Drop item ('d').
+
+Shift + right mouseclick Execute secondary action for some item types.
+
+ weapons: fire ('f')
+
+wielded items:
+ rod: unwield ('w-')
+ misc. item: unwield ('w-')
+ others, as non-wielded, or nothing
+
+
+FLOOR ITEM INTERACTION
+
+left mouseclick Pick up this item ('g').
+
+right mouseclick Display item information.
+
+Shift + left mouseclick 'c'hop up this corpse.
+
+Shift + right mouseclick 'e'at this food item.
+
+
+MAP INTERACTION
+
+left mouseclick Move there, if empty, or swap places with an ally.
+ Attack, if adjacent non-friendly monster.
+
+right mouseclick Display grid information (view).
+
+Ctrl + left mouseclick Disarm adjacent trap ('Ctrl + Dir.')
+ Open ('O')/Close ('C') adjacent door.
+
+
+MINIMAP INTERACTION
+
+left mouseclick Autotravel to any reachable position.
+
+holding right mouseclick Zoom into distant area.
+
+
+MESSAGE AREA
+
+any mouseclick Display message history ('Ctrl-P').
+
+
+STAT AREA
+
+any mouseclick Search / Rest for a while ('5')
+
+
+MENU INTERACTION
+
+left mouseclick Scroll to next page.
+right mouseclick Escape (quit menu).
+
diff --git a/crawl-ref/init.txt b/crawl-ref/init.txt
index 46a6843120..9e67e95c61 100644
--- a/crawl-ref/init.txt
+++ b/crawl-ref/init.txt
@@ -38,8 +38,8 @@
# trimmed. All other whitespace is left intact.
#
# For descriptions concerning an option consult the file
-# crawl_options.txt
-# in your docs directory. Also note that the ordering of the options
+# options_guide.txt
+# in your /docs directory. Also note that the ordering of the options
# is taken from that file; this is for presentational reasons only.
#
# Note that all boolean options (i.e. values of 'true' or 'false') have
@@ -341,7 +341,7 @@ tile_show_items = !?/%=([)X}+\_.
# Set the monster glyphs back to the way they were in 0.3.4
# : crawl.read_options('docs/monster_glyphs.txt')
-# See crawl_options.txt for the options
+# See options_guide.txt for the options
# cset_ascii, cset_ibm, cset_dec, cset_unicode, cset_any,
# feature, mon_glyph
diff --git a/crawl-ref/readme.txt b/crawl-ref/readme.txt
index f81d24e189..82e75cbf23 100644
--- a/crawl-ref/readme.txt
+++ b/crawl-ref/readme.txt
@@ -8,7 +8,7 @@ prevail against overwhelming odds.
Players of versions 0.3.4 and older beware: please read the file
034_changes.txt
-in the docs/ directory for a list of the interface changes, and how
+in the /docs directory for a list of the interface changes, and how
you could possibly retrieve the 0.3.4 standards.
Contents:
@@ -22,10 +22,10 @@ Contents:
------------------
If you'd like to dive in immediately, your best bets are to
* start up a game and choose a tutorial (press T when asked for race), or
-* read quickstart.txt (it is in docs/), or
+* read quickstart.txt (in the /docs directory), or
* for studious readers, browse the manual (see below for all doc files).
-Additionally, you may want to print out the file keys.pdf from the docs/
+Additionally, you may want to print out the file keys.pdf from the /docs
folder. Besides a full list of command keys (don't bother with it), it contains
two pages of help for new players.
Note that you can read quickstart.txt and the manual when playing; pressing ?
@@ -49,20 +49,20 @@ The following files in the Crawl's main folder are essential:
The docs/ folder contains the following helpful texts (all of which can be
read in-game by bringing up the help menu with '?'):
-* the_manual.txt The complete manual; describing all aspects in the
- detail. Contains appendices on species, classes, etc.
-* options.txt Describes all options in detail. The structure of
- init.txt follows this text.
-* macros.txt A how-to on using macros and keymappings, with examples.
-* aptitudes.txt Some numbers defining certain aspects of the races.
- Helpful, but not needed for winning.
-* quickstart.txt A short introduction for new players.
-* ssh_guide.txt An elaborate introduction on how to get internet play
- to work. For Windows only.
-* irc_guide.txt An elaborate introduction on how to access the IRC
- channel ##crawl.
-* keys.pdf A printable document, listing all commands and it also
- contains a very short guide for new players.
+* crawl_manual.txt The complete manual; describing all aspects in the
+ detail. Contains appendices on species, classes, etc.
+* options_guide.txt Describes all options in detail. The structure of
+ init.txt follows this text.
+* macros_guide.txt A how-to on using macros and keymappings, with examples.
+* aptitudes.txt Some numbers defining certain aspects of the races.
+ Helpful, but not needed for winning.
+* quickstart.txt A short introduction for new players.
+* ssh_guide.txt An elaborate introduction on how to get internet play
+ to work. For Windows only.
+* irc_guide.txt An elaborate introduction on how to access the IRC
+ channel ##crawl.
+* keys.pdf A printable document, listing all commands and it also
+ contains a very short guide for new players.
3. Contact and reporting bugs
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);