diff options
-rw-r--r-- | crawl-ref/docs/changes.stone_soup | 1 | ||||
-rw-r--r-- | crawl-ref/settings/init.txt | 2 | ||||
-rw-r--r-- | crawl-ref/source/acr.cc | 26 | ||||
-rw-r--r-- | crawl-ref/source/externs.h | 1 | ||||
-rw-r--r-- | crawl-ref/source/initfile.cc | 2 | ||||
-rw-r--r-- | crawl-ref/source/it_use3.cc | 1 | ||||
-rw-r--r-- | crawl-ref/source/monstuff.cc | 13 |
7 files changed, 42 insertions, 4 deletions
diff --git a/crawl-ref/docs/changes.stone_soup b/crawl-ref/docs/changes.stone_soup index 07c6b5e5e5..678acc8e14 100644 --- a/crawl-ref/docs/changes.stone_soup +++ b/crawl-ref/docs/changes.stone_soup @@ -170,6 +170,7 @@ Tiles * Support for full screen mode and for small resolutions (800x480). * Graphical menu improvements: some menus are clickable and show icons. * Mouse clicks on the map when unsafe travel one square in that direction. +* Mouse-over item/monster descriptions. * Added new and improved tiles: Pandemonium lords, draconians, randart books. * Monster tiles include health bars. * Added type-specific icons for jewellery, shops, and weapon brands. diff --git a/crawl-ref/settings/init.txt b/crawl-ref/settings/init.txt index e130ff0925..aece9eed8a 100644 --- a/crawl-ref/settings/init.txt +++ b/crawl-ref/settings/init.txt @@ -17,6 +17,8 @@ # always_confirm_butcher = true # target_unshifted_dirs = true +# Set the following to false to get rid of the "evoke wands" reminder. +# zap_evoke_reminder = false # Crawl Init file # diff --git a/crawl-ref/source/acr.cc b/crawl-ref/source/acr.cc index d7b74d716b..a70ac3a84c 100644 --- a/crawl-ref/source/acr.cc +++ b/crawl-ref/source/acr.cc @@ -1668,6 +1668,32 @@ void process_command( command_type cmd ) break; } + if (cmd == CMD_FORCE_CAST_SPELL && Options.zap_evoke_reminder) + { + bool has_wands = false; + for (int i = 0; i < ENDOFPACK; i++) + { + item_def &obj(you.inv[i]); + + if (!is_valid_item( obj )) + continue; + + if (obj.base_type == OBJ_WANDS) + { + has_wands = true; + break; + } + } + + if (has_wands) + { + mpr("If you want to use a wand, you need to press <w>V</w> to " + "evoke it."); + more(); + Options.zap_evoke_reminder = false; + } + } + // Randart weapons. if (scan_randarts(RAP_PREVENT_SPELLCASTING)) { diff --git a/crawl-ref/source/externs.h b/crawl-ref/source/externs.h index e24e96cc73..d2d3280581 100644 --- a/crawl-ref/source/externs.h +++ b/crawl-ref/source/externs.h @@ -2180,6 +2180,7 @@ public: bool rest_wait_both; // Stop resting only when both HP and MP are // fully restored. + bool zap_evoke_reminder; // reminder that wands need to be e(V)oked #ifdef WIZARD // Parameters for fight simulations. diff --git a/crawl-ref/source/initfile.cc b/crawl-ref/source/initfile.cc index 30e77385b6..d11c2e974c 100644 --- a/crawl-ref/source/initfile.cc +++ b/crawl-ref/source/initfile.cc @@ -993,6 +993,7 @@ void game_options::reset_options() mon_glyph_overrides.clear(); rest_wait_both = false; + zap_evoke_reminder = true; // Map each category to itself. The user can override in init.txt kill_map[KC_YOU] = KC_YOU; @@ -2938,6 +2939,7 @@ void game_options::read_option_line(const std::string &str, bool runscript) } } else BOOL_OPTION(rest_wait_both); + else BOOL_OPTION(zap_evoke_reminder); else if (key == "dump_message_count") { // Capping is implicit diff --git a/crawl-ref/source/it_use3.cc b/crawl-ref/source/it_use3.cc index b1723620c9..8d77442321 100644 --- a/crawl-ref/source/it_use3.cc +++ b/crawl-ref/source/it_use3.cc @@ -830,6 +830,7 @@ bool evoke_item(int slot) { case OBJ_WANDS: zap_wand(slot); + Options.zap_evoke_reminder = false; return (true); case OBJ_WEAPONS: diff --git a/crawl-ref/source/monstuff.cc b/crawl-ref/source/monstuff.cc index 3ac56ae4e0..577c88f392 100644 --- a/crawl-ref/source/monstuff.cc +++ b/crawl-ref/source/monstuff.cc @@ -3125,8 +3125,13 @@ static void _mons_indicate_level_exit(const monsters *mon) dir == CMD_GO_DOWNSTAIRS ? "goes down" : "takes").c_str()); } - else if (is_shaft && mons_flies(mon)) - simple_monster_message(mon, " goes down the shaft."); + else if (is_shaft) + { + if (mons_flies(mon)) + simple_monster_message(mon, " goes down the shaft."); + else + simple_monster_message(mon, " jumps into the shaft."); + } } void make_mons_leave_level(monsters *mon) @@ -7940,8 +7945,8 @@ static bool _is_trap_safe(const monsters *monster, const coord_def& where, if (trap.type == TRAP_SHAFT && monster->will_trigger_shaft()) { - if ((mons_is_fleeing(monster) || mons_is_pacified(monster)) - && intel >= I_NORMAL) + if (mons_is_fleeing(monster) && intel >= I_NORMAL + || mons_is_pacified(monster)) { return (true); } |