From 3f99f1f82b88899852215c54dc2e111956094bd5 Mon Sep 17 00:00:00 2001 From: j-p-e-g Date: Sun, 30 Mar 2008 15:31:14 +0000 Subject: 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 --- crawl-ref/docs/monster_speech.txt | 3 ++ crawl-ref/docs/options_guide.txt | 12 +++++ crawl-ref/docs/quickstart.txt | 2 +- crawl-ref/docs/tiles_help.txt | 102 ++++++++++++++++++++++++++++++++++++++ crawl-ref/init.txt | 6 +-- crawl-ref/readme.txt | 34 ++++++------- crawl-ref/source/command.cc | 14 ++++-- crawl-ref/source/describe.cc | 21 +++++++- crawl-ref/source/tutorial.cc | 69 ++++++++++++++++++++++++-- crawl-ref/source/tutorial.h | 1 + 10 files changed, 234 insertions(+), 30 deletions(-) create mode 100644 crawl-ref/docs/tiles_help.txt (limited to 'crawl-ref') 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 &lines, "aspect of Dungeon Crawl.\n" "?: List of keys\n" + "!: Read Me!\n" "^: Quickstart Guide\n" ":: Browse character notes\n" "~: Macros help\n" - "!: Options help\n" + "&: Options help\n" "%: Table of aptitudes\n" "/: Lookup description\n" +#ifdef USE_TILE + "T: Tiles key help\n" +#endif "V: Version information\n" "Home: 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 ) "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( + "So, do you wish to inscribe this item? " + "('a' to autoinscribe) ").display(); + } + else + { + formatted_string::parse_string( + "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 chopping this " "corpse up under prayer 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 " + "left mouse button"; +#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 left mouse click while pressing the Shift key. " - "Whenever you right-click on an item in your inventory" + "Whenever you right-click on an item " #else "d. Any time you look at an item in your inventory" #endif @@ -1305,7 +1311,14 @@ void learned_something_new(tutorial_event_type seen_what, int x, int y) "chop it up with a sharp implement. Once hungry you " "can then eat 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 " + "left mouse click while pressing Shift, and " + "then eat the resulting chunks with Shift + right mouse " + "click."; + +#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 praying)"; } - ostr << ". "; + if (food_is_rotten(item)) { ostr << "Rotten corpses won't be of any use to you, though, so " - "you might just as well drop this."; + "you might just as well drop 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 left mouse button while " + "Shift 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 Shift + right mouse " + "button 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 " + "drop menu. On a related note, offering several " + "corpses on a floor square is facilitated by using the " + "chop prompt where c is a valid synonym " + "for yes."; } +#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 left mouse click will autoinscribe " EOL + "this item." EOL; + } + text << "(In the main screen, press ?6 for more information.)" EOL; + text << ""; + + 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); -- cgit v1.2.3-54-g00ecf